电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

第6章_TMS320F2812串行通信接口(SCI)VIP免费

第6章_TMS320F2812串行通信接口(SCI)_第1页
1/32
第6章_TMS320F2812串行通信接口(SCI)_第2页
2/32
第6章_TMS320F2812串行通信接口(SCI)_第3页
3/32
第6章TMS320F2812串行通信接口(SCI)学习重点F2812串口通信SCI特点及结构。SCI模块寄存器各位的含义及配置。基于C语言的SCI程序设计实例。学习内容1.SCI概述2.SCI模块发送和接收数据的工作原理3.SCI数据格式4.SCI通信波特率5.SCI发送和接收数据的机制6.多处理器通信7.SCI的例程1、SCI概述SCI(SerialCommunicationInterface),即串行通信接口,是一个双线的异步串口,即具有接收和发送两根信号线的异步串口,一般可以看作是UART(通用异步接收/发送装置)。F2812的SCI模块支持DSP与采用NRZ(non-return-to-zero不归零)标准格式的异步外围设备之间进行数字通信。2812内部具有两个相同的SCI模块,SCIA和SCIB,每一个SCI模块都各有一个接收器和发送器。SCI的接收器和发送器各具有一个16级深度的FIFO(Firstinfistout先入先出)队列,它们还都有自己独立的使能位和中断位,可以在半双工通信中进行独立的操作,或者在全双工通信中同时进行操作。串行通信的三种方式根据信息的传送方向,串行通信可以分为单工、半双工和全双工三种,其各自的定义如下图所示。SCI的CPU接口SCI模块具有两个引脚,SCITXDA和SCIRXDA,分别实现发送数据和接收数据的功能,分别对应于GPIOF模块的第4和第5位,在编程初始化的时候,需要将GPIOFMUX寄存器的第4和第5位置为1,才能使得这两个引脚具有发送和接收的功能,否则就是普通的I/O引脚。CPU的系统时钟SYSCLKOUT经过低速预定标器之后输出低速时钟LSPCLK供给SCI。要保证SCI的正常运行,系统控制模块下必须使能SCI的时钟,也就是在系统初始化函数中需要将外设时钟控制寄存器PCLKCR的SCIAENCLK位置1。SCI可以产生两个中断,SCIRXINTA和SCITXINTA,即发送中断和接收中断。SCI模块的其他特点2、SCI模块发送和接收数据的工作原理SCI发送数据的过程:在FIFO功能使能的情况下,首先发送数据缓冲寄存器SCITXBUF从TXFIFO中获取由CPU加载的需要发送的数据,然后SCITXBUF将数据传输给发送移位寄存器TXSHF,如果SCI的发送功能使能,TXSHF则将接收到的数据逐位的移到SCITXD引脚上。SCI接收数据的过程:首先接收移位寄存器RXSHF逐位接收来自SCIRXD引脚的数据,如果SCI的接收功能使能,RXSHF将这些数据传输给接收缓冲寄存器SCIRXBUF,CPU就能从SCIRXBUF读取外部发送来的数据。如果FIFO功能使能的话,SCIRXBUF会将数据加载到RXFIFO的队列中,CPU再从FIFO的队列读取数据。3、SCI数据格式在SCI中传输的数据格式可以通过SCI的通信控制寄存器SCICCR来进行设置,规定通信过程中所使用的数据格式。SCI使用的是NRZ的数据格式,如下表所示:数据是1—8位,1个字符的长度。将带有格式信息的每一个数据字符叫做一帧。SCI有空闲线模式和地址位模式,若是在两个处理器之间的通信,例如2812和PC机或者2812和2812之间通信,更适合使用空闲线模式,而地址位模式一般用于多处理器之间的通信。在空闲线模式下,SCI发送或者接收一帧的数据格式如下图4所示,其中LSB是数据的最低位,MSB是数据的最高位。具体的定义上图所示数据格式的寄存器是通信控制寄存器SCICCR,其内容下图所示。使用SCICCR进行数据格式编程如下表所示:使用SCICCR进行数据格式编程SciaRegs.SCICCR.bit.SCICHAR=7;//选择数据长度,为8个数据位SciaRegs.SCICCR.bit.PARITYENA=1;//开启极性功能,值为0的时候取消极性功能SciaRegs.SCICCR.bit.PARITY=0;//在开启极性功能的前提下,该位值为0时选择偶极性,值为1时选择奇极性SciaRegs.SCICCR.bit.STOPBITS=0;//选择停止位,该位为0时有1个停止位,该位为1时有2个停止位。上述这几个语句,我们也可以合并成如下的语句:SciaRegs.SCICCR.all=0x23;4、SCI通信波特率SCI通信波特率就是指每秒所能发送的位数。2812的每个SCI都具有两个8位的波特率寄存器,SCIHBAUD和SCILBAUD,通过编程,可以实现达到64K不同的速率。波特率的计算公式如下所示:其中BRR=波特率选择寄存器中的值,从十进制转换成十六进制后,高8位赋值给SCIHBAUD,低8位赋值给SCILBAUD。注意:式1所示的波特率公式仅适用于1≤BRR≤65535,当BRR=0是,波特率如下:波特率计算方...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

第6章_TMS320F2812串行通信接口(SCI)

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部