• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于TLl6C550C的DSP异步串行通信的实现

基于TLl6C550C的DSP异步串行通信的实现

录入:edatop.com     点击:

3 TLl6C550C和PC通信的软件编程

该套系统的软件设计部分主要包括PC机程序、DSP初始化、TLl6C550C初始化和数据发送/接收以及双方的通信协议等。本文着重介绍TLl6C550C的初始化程序。主要由以下几部分组成:

◇波特率的设定;波特率除数寄存器由高8位(DLM)和低8位(DLL)组成。除数的值可由UART的工作时钟和波特率共同确定,其计算公式为:

除数=时钟频率/(期望的波特率×16)

例如本系统中时钟频率12 MHz,波特率设置为9600,则除数的值为12,应在初始化程序中设置DLM=OOH,DLL=4eH;

◇增强功能的使能及设置EFR的相关位;

◇完成有关收/发FIF0的设定,主要是MCR/TCR/TLR三个寄存器的设置;

◇传输数据格式设定,包括8位数据位、1位停止位以及无校验;

◇设置FIFO控制以及中断控制寄存器。

此外,在完成设置前,还应注意:设定DLL和DLH前,LCR的第7位应为1;地址相重叠的寄存器不能同时使能;读写RHR和THR时,DSP的读写速度很快,故最好不要连续读写,而是在每读、写一次后延时一段时间。然后再进行下一次读写。

由于TLl6C550C映射在DSP的CEO区间,所以在DSP访问其寄存器时只需将基地址加上偏移量即可。其初始化源程序如下:

4 结束语

本文介绍了通过TLl6C550C扩展串口完成TMS320C6416与PC机串行通信的设计方案,给出了硬件设计框图及软件实现代码。该电路及软件经实验证明能够可靠地实现TMS320C416与PC机之间的通信,并且此方法已在实际的项目中得到应用。

TLl6C550C采用3.3 V供电.将TLl6C550C的数据线DO~D7与TM320C6416T直连,从而实现数据的传输。同时应将TL16C550C的片内寄存器选择线与TM320C6416T的BEAl,BEA2,BEA3引脚相连,当TLl6C550C的片选信号CSO,CSl为高电平,为低电平时,TLl6C550B即被选中。CS0,CSl直接与高电平相连。则与CPLD的I/0相连,如此便实现了以CPLD来实现TLl6C550C的选通。

来源:维库开发网

上一篇:从RTOS移植到实时Linux
下一篇:DSP芯片TMS320C6712的外部内存自引导功能的实现

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图