微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > DSP芯片基于SC16C750B的RS232接口设计

DSP芯片基于SC16C750B的RS232接口设计

时间:11-14 来源:单片机与嵌入式系统应用 点击:

对于查询方式可以提高tms3320c32的工作效率。tms320c32的int0中断引脚接uart的rxrdy信号,int1接txrdy信号。这样,由int0、int1对应的中断服务例程完成数据的接收和发送。

(3)数据传输帧格式:数据字长8位、2位停止位、偶校验。

(4)设置波特率。

在rs232电平逻辑中,串行数据速率(serial data rate)就在等于波特率(baud rate)。如果外部时钟频率(xtal1 clock frequency)为1.8432mhz、波特率19 200bps时,对应的波特率除数(divisor)为6。

用c语言开发[8]tms320c32的串口通信程序。初始化程序如下:

#include<stdlib.h>

#include<ioports.h>

//声明sc16c750b寄存器的结构

typedef struct{

unsigned rhr;//接收保持寄存器

unsigned thr;//发送保持寄存器

unsigned ier;//中断使能寄存器

unsigned fcr;//fifo控制寄存器

unsigned isr;//中断服务状态寄存器

unsigned lcr;//线路控制寄存器

unsigned mcr;//modem控制寄存器

unsigned lsr;//线路状态寄存器

unsigned msr;//modem状态寄存器

unsigned spr;//便笺寄存器

unsigned dll;//波特率除数低字节锁存器

unsigned dlm;//波特率除数高字节锁存器

}serialport;

//sc16c750b的寄存器基地址为0x810100h

serialport sp={

0x810100h,0x810100h,0x810101h,

0x810102h,0x810102h,0x810103h,

0x810104h,0x810105h,0x810106h,

0x810107h,0x810100h,0x810101h,

};

void main(void){ …

//波特率设置

outport(sp.lcr,0x80); //lcr[7]=0

outport(sp.dll,0x06); //波特率19 200bps

outport(sp.dlm,0x00);

outport(sp.lcr,0x1f); //数据帧格式

outport(sp.fcr,0xa1); //dma mode 0 outport(sp.ier,0x07); //中断使能


}

//int0中断服务例程——数据接收

unsigned char recvdata;

void c_int01(void){

recvdata=inport(sp,rhr);


}

//int1中断服务例程——数据发送

void c_int02(void){

outport(sp.thr,transdata);


}

3 结论

tms320c32是一种高性价比的32位浮点dsp芯片,但其通信功能相对较弱。采用sc16c750b uart芯片扩展tms320c32的rs232串行口,用于实际温度和压力测控装置中,经验证,数据通信可靠。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top