欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    第6章TMS320F2812串行通信接口SCI.ppt

    • 资源ID:125056       资源大小:937.50KB        全文页数:32页
    • 资源格式: PPT        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章TMS320F2812串行通信接口SCI.ppt

    1、第6章 TMS320F2812串行通信接口(SCI)学习重点学习重点F2812串口通信串口通信SCI特点及结构。特点及结构。SCI模块寄存器各位的含义及配置。模块寄存器各位的含义及配置。基于基于C语言的语言的SCI程序设计实例。程序设计实例。啪榔缎做黑肮尝芥玲撂拔咨晤成芍钉佰杆顿搭鲸礼堆量盾催虾捆晋衫林结第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI学习内容1.SCI概述概述2.SCI 模块发送和接收数据的工作原理3.SCI 数据格式4.SCI 通信波特率通信波特率5.SCI 发送和接收数据的机制6.多处理器通信7.SCI 的例程慢雇絮丘琴带抄桓跨

    2、湖孪圭汞荡珠离弯坎狐藕补吵短撞四粥祭耕拖馆文翼第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI1、SCI概述SCI(Serial Communication Interface),即串行通信接口,),即串行通信接口,是一个双线的异步串口,即具有接收和发送两根信号线的异是一个双线的异步串口,即具有接收和发送两根信号线的异步串口,一般可以看作是步串口,一般可以看作是 UART(通用异步接收(通用异步接收/发送装置)。发送装置)。F2812 的的 SCI 模块支持模块支持 DSP 与采用与采用 NRZ(non-return-to-zero 不归零)标准格式

    3、的异步外围设备之间进行数字通信。不归零)标准格式的异步外围设备之间进行数字通信。2812 内部具有两个相同的内部具有两个相同的 SCI 模块,模块,SCIA 和和 SCIB,每一,每一个个 SCI 模块都各有一个接收器和发送器。模块都各有一个接收器和发送器。SCI 的接收器和发的接收器和发送器各具有一个送器各具有一个 16 级深度的级深度的 FIFO(First in fist out 先入先先入先出)队列,它们还都有自己独立的使能位和中断位,可以在出)队列,它们还都有自己独立的使能位和中断位,可以在半双工通信中进行独立的操作,或者在全双工通信中同时进半双工通信中进行独立的操作,或者在全双工通

    4、信中同时进行操作。行操作。肪访桐着庚沾坤氰辐咆绣萌檬灵挑泥亢梆慧仑坑量竣陪晕嘛鸦资验壹纱死第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI串行通信的三种方式 根据信息的传送方向,串行通信可以分为单工、半双根据信息的传送方向,串行通信可以分为单工、半双工和全双工三种,其各自的定义如下图所示。工和全双工三种,其各自的定义如下图所示。潞携辨谜蛮坊化蔽藻曳类血挥把伟詹耀椰放什蚌决炽粪团况舅侦龄倚帖薪第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCISCI的CPU接口SCI 模块具有两个引脚,模块具有两个引脚,SCIT

    5、XDA 和和 SCIRXDA,分别实现发送数据和接收数据的功,分别实现发送数据和接收数据的功能,分别对应于能,分别对应于 GPIOF 模块的第模块的第 4 和第和第 5 位,在编程初始化的时候,需要将位,在编程初始化的时候,需要将 GPIOFMUX 寄存器的第寄存器的第 4 和第和第 5 位置为位置为 1,才能使得这两个引脚具有发送和接收的功,才能使得这两个引脚具有发送和接收的功能,否则就是普通的能,否则就是普通的 I/O 引脚。引脚。CPU 的系统时钟的系统时钟 SYSCLKOUT经过低速预定标器之后输出低速时钟经过低速预定标器之后输出低速时钟 LSPCLK 供给供给 SCI。要保证。要保证

    6、 SCI 的正常运行,系统控制模块下必须使能的正常运行,系统控制模块下必须使能 SCI 的时钟,也就是在系统的时钟,也就是在系统初始化函数中需要将外设时钟控制寄存器初始化函数中需要将外设时钟控制寄存器 PCLKCR 的的 SCIAENCLK 位置位置 1。SCI 可以产生两个中断,可以产生两个中断,SCIRXINTA 和和 SCITXINTA,即发送中断和接收,即发送中断和接收 中断。中断。住涟荐谎侧剐槛爸嚼蚊悉亚伐宋寞楼揣冤虎匡丑厌溉醚思杜肥柠盯追鬼遵第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCISCI 模块的其他特点 覆糠傍豢柱乎矾疯瓢系拽堰批

    7、怨爆然峪陇备拈帮凉囤微讯甩遍援藉帅埃伙第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI2、SCI 模块发送和接收数据的工作原理模块发送和接收数据的工作原理 SCI 发送数据的过程:在发送数据的过程:在 FIFO 功能使能的情况下,首先发送数据缓冲寄存器功能使能的情况下,首先发送数据缓冲寄存器 SCITXBUF 从从 TX FIFO 中获取由中获取由 CPU 加载的需要发送的数据,然后加载的需要发送的数据,然后 SCITXBUF 将数据传输给发送移位寄将数据传输给发送移位寄 存器存器 TXSHF,如果,如果 SCI 的发送功能使能,的发送功能使能,TX

    8、SHF 则将接则将接收到的数据逐位的移到收到的数据逐位的移到 SCITXD 引脚上。引脚上。SCI 接收数据的过程:首先接收移位寄存器接收数据的过程:首先接收移位寄存器 RXSHF 逐位接收来自逐位接收来自 SCIRXD 引脚的引脚的数据,如果数据,如果 SCI 的接收功能使能,的接收功能使能,RXSHF 将这些数据传输给接收缓冲寄存器将这些数据传输给接收缓冲寄存器 SCIRXBUF,CPU 就能从就能从 SCIRXBUF 读取外部发送来的数据。如果读取外部发送来的数据。如果 FIFO 功能使功能使能的话,能的话,SCIRXBUF 会将数据加载到会将数据加载到 RX FIFO 的队列中,的队列

    9、中,CPU 再从再从 FIFO 的队列的队列读取数据。读取数据。烬备睡徒盛腐韶镍饿领涝邯翱私剖吸咆毡茄洁门愧畦逆搁营窍狸枉孤律蔚第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI3、SCI 数据格式数据格式 在在 SCI 中传输的数据格式可以通过中传输的数据格式可以通过 SCI 的通信控制寄存器的通信控制寄存器 SCICCR 来进来进行设置,规定通信过程中所使用的数据格式。行设置,规定通信过程中所使用的数据格式。SCI 使用的是使用的是 NRZ 的数据的数据格式,如下表所示:格式,如下表所示:数据是数据是 18 位,位,1 个字符的长度。将带有格式信息

    10、的每一个数据字符叫做一帧。个字符的长度。将带有格式信息的每一个数据字符叫做一帧。SCI 有空有空闲线模式和地址闲线模式和地址 位模式,若是在两个处理器之间的通信,例如位模式,若是在两个处理器之间的通信,例如 2812 和和 PC 机或者机或者 2812 和和 2812 之间通信,更适合使用空闲线模式,而地址位模式一般用于多处理器之间的通信。之间通信,更适合使用空闲线模式,而地址位模式一般用于多处理器之间的通信。焊去士睫氰迹捣殴漾酬妻睛樊吝稽甫刹谓邓初练硼放晌钧畔军授诱已舆举第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI在空闲线模式下,在空闲线模式下

    11、SCI 发送或者接收一帧的数据格式如下图发送或者接收一帧的数据格式如下图4 所示,其中所示,其中 LSB 是数据的最低位,是数据的最低位,MSB 是数据的最高位。是数据的最高位。具体的定义上图所示数据格式的寄存器是通信控制寄存器具体的定义上图所示数据格式的寄存器是通信控制寄存器 SCICCR,其内,其内容下图所示。容下图所示。欧葵梅疵冶骄匆译您豢龄踢漠霖侵伴银践总赚寻缺陕寐帅傍茎俄佩铝杏辖第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI使使 用用 SCICCR 进行数据格式编程如下表所示:进行数据格式编程如下表所示:使用使用 SCICCR 进行数据

    12、格式编程进行数据格式编程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

    13、个停止个停止位,该位为位,该位为 1 时有时有 2 个停止位。上述个停止位。上述这几个语句,我们也可以合并成如下这几个语句,我们也可以合并成如下的语句:的语句:SciaRegs.SCICCR.all=0 x23;蹲脸给酗职没骋悲狮友屁款蜗拦皋季烤哎约佃喊执乞獭碳随晒桐粉厘脑冉第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI4、SCI 通信波特率 SCI通信波特率就是指每秒所能发送的位数。通信波特率就是指每秒所能发送的位数。2812 的每个的每个 SCI 都具有都具有 两个两个 8 位的波特率寄存器,位的波特率寄存器,SCIHBAUD 和和 SCILB

    14、AUD,通过编程,可以实现,通过编程,可以实现达到达到 64K 不同的速率。波特率的不同的速率。波特率的 计算公式如下所示:计算公式如下所示:其中其中 BRR=波特率选择寄存器中的值,从十进制转换成十六进制后,高波特率选择寄存器中的值,从十进制转换成十六进制后,高 8 位赋值给位赋值给 SCIHBAUD,低,低 8 位赋值给位赋值给 SCILBAUD。注意:式注意:式 1 所示的波特率公式仅适用于所示的波特率公式仅适用于1 BRR 65535,当,当 BRR=0 是,波特率如下:是,波特率如下:野躁凝姑窄蛊床乎掀器种双趋一仪逛七酒著娩笨舷傲座狙窄邹交秒纲贷挠第6章TMS320F2812串行通信

    15、接口SCI第6章TMS320F2812串行通信接口SCI波特率计算方法举例例如外部晶振为例如外部晶振为 30M,经过,经过 PLL 之后之后 SYSCLKOUT 为为 150MHz,然后,当低速,然后,当低速预定标器预定标器 LOSPCP 的值为的值为 2 的时候,的时候,SYSCLKOUT 经过低速预定标器之后产生低经过低速预定标器之后产生低速外设时钟速外设时钟 LSPCLK 为为 37.5MHz,也就是说也就是说 SCI 的时钟为的时钟为 37.5MHz。如果预设置如果预设置SCI 的波特率为的波特率为 19200,则将,则将 LSPCLK 和波特率的数值代入式和波特率的数值代入式 1,便

    16、可,便可得到:得到:BRR=243.14,由于寄存器都是正整数,所以省略掉小数后可以得到,由于寄存器都是正整数,所以省略掉小数后可以得到 BRR=243。将。将 243 转成转成 16 进制是进制是 0 xF3,因此,因此 SCIHBAUD 的值为的值为 0,SCIHBAUD 的值为的值为 0XF3。由于省略了小数,将会产生。由于省略了小数,将会产生 0.06%的误差。的误差。当当 LSPCLK 为为 37.5M 时,对于时,对于 SCI 常见的波特率,其寄存器的值如下表所示:常见的波特率,其寄存器的值如下表所示:在在SCI通信时双方都必须以相同的数据格式和波特率进行通信,否则通信会失败。通信

    17、时双方都必须以相同的数据格式和波特率进行通信,否则通信会失败。砸咽疡震燥臆伪扯镇粤芦万绩员腕醛泄窍脑缎仟腐秀慕它史悲搽宵磋砧搐第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI5、SCI 发送和接收数据的机制发送和接收数据的机制通常使用的有两种方式:一种是查询方式,另一种是中断方式。通常使用的有两种方式:一种是查询方式,另一种是中断方式。查询方式,就是程序不断去查询状态标志位,看看查询方式,就是程序不断去查询状态标志位,看看 SCI 是不是已经做好是不是已经做好了数据发送或者接收的准备。了数据发送或者接收的准备。当数据发送时,需要查询的是位于当数据发送

    18、时,需要查询的是位于 SCI 控控制寄存器制寄存器 2(SCICTL2)的第)的第 7 位位 TXREADY,发送缓冲寄存器就绪标,发送缓冲寄存器就绪标志。当这个位为志。当这个位为 1 的时候,表明发送数据缓冲寄存器的时候,表明发送数据缓冲寄存器 SCITXBUF 已经准已经准备好开始接收并发送下一个数据了。当数据写入备好开始接收并发送下一个数据了。当数据写入 SCITXBUF,TXREADY自动会清零,如果自动会清零,如果 TXENA 使能了,发送移位寄存器使能了,发送移位寄存器 TXSHF 就会把就会把 SCITXBUF 里面的数据发送出去。当数据接收时,需要查询的是里面的数据发送出去。当

    19、数据接收时,需要查询的是 SCI 接收状态寄存器(接收状态寄存器(SCIRXST)中的)中的 RXRDY,接收器就绪标志。当,接收器就绪标志。当从从 SCIRXBUF 寄存器中已经准备好一个字符的数据,等待寄存器中已经准备好一个字符的数据,等待 CPU 去读时,去读时,RXRDY 位就会置位就会置 1。当数据被。当数据被 CPU 从从 SCIRXBUF 读出后,或者系统复读出后,或者系统复位,都可以使位,都可以使 RXRDY 清清 0。龟行勤膛倘蚊迂糙期苗该策缝逃燎祁妆裕印台杭炮裤源孕防郝羊彤缄圆纸第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI使用

    20、查询方式发送或者接 收数据的程序结构如下:调用主程序:调用主程序:/发送程序发送程序If(SciaTx_Ready()=1)SciaRegs.SCITXBUF=SCI_Senddata;/SCI_senddata 为需为需要发送的数据要发送的数据/接收程序接收程序if(SciaRx_Ready()=1)Sci_Receivedata=SciaRegs.SCIRXBUF.all;/SCI_Receivedata 用用于存放接收的数据于存放接收的数据淫裤剩讨忧明咽何韵萨付袍茎荤所阀蕉嗡汲捧宪硫姻奔宇忧疲驰胯桔望御第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口

    21、SCI使用查询方式发送或者接 收数据的程序结构如下:/发送就绪标志状态查询函数发送就绪标志状态查询函数int SciaTx_Ready(void)unsigned int i;if(SciaRegs.SCICTL2.bit.TXRDY=1)i=1;/返回返回 1 说明发送器已经准备就绪,可以接收新的数据进行发送说明发送器已经准备就绪,可以接收新的数据进行发送Elsei=0;return(i);谷秦隧躲帚地厢嗡剥玉查慕淡舱仰凤托墒剿圈拾榴有雁磅儒常宜院劣钨谣第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI使用查询方式发送或者接 收数据的程序结构如下:/

    22、接收就绪标志状态查询函数接收就绪标志状态查询函数int SciaRx_Ready(void)unsigned int i;if(SciaRegs.SCIRXST.bit.RXRDY=1)i=1;/返回返回 1 说明数据接收已经就绪,等待说明数据接收已经就绪,等待 CPU 去读取数据去读取数据Elsei=0;return(i);偶鸦本凑宽孵捷垒宦迄凰五刹磨皑鸡寂劫收梳夕竞腰椿异古谗惟奴沈效平第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI通过中断方式进行SCI通信控制如果需要使用中断,根据前面所学的三级中断的知识,必须使能外设自己如果需要使用中断,根据

    23、前面所学的三级中断的知识,必须使能外设自己的中断、的中断、PIE 中断和中断和 CPU 中断。中断。SCIA 的发送和接收中断分别位的发送和接收中断分别位 于于 PIE 模模块第块第 9 组的第组的第 1 和第和第 2 位,同时对应于位,同时对应于 CPU 中断的中断的 INT9。前面所述的前面所述的 TXRDY 是中断标志位,当该位置是中断标志位,当该位置 1 时,就会产生发送中断事时,就会产生发送中断事件,如果各级中断都已经使能,则会响应件,如果各级中断都已经使能,则会响应 SCI 的发送中断函数。的发送中断函数。当接收中断标志位当接收中断标志位 RXRDY 置置 1 时,就会产生接收中断

    24、标志。如果各级中时,就会产生接收中断标志。如果各级中断已经使能,则会响应断已经使能,则会响应 SCI 的接收中断。的接收中断。特别注意:在前面章节中断内容的时候讲过,外设中断的标志位一定要手特别注意:在前面章节中断内容的时候讲过,外设中断的标志位一定要手动复位,在这里动复位,在这里 SCI 是个例外,原因如下:当发送器缓冲寄存器是个例外,原因如下:当发送器缓冲寄存器 SCITXBUF 做好准备发送数据时,做好准备发送数据时,TXRDY 置置 1,但是当,但是当 CPU 将数据写入将数据写入 SCITXBUF 的时候,的时候,TXRDY 自动会清自动会清 0。而当接收器缓冲寄存器已经准。而当接收

    25、器缓冲寄存器已经准备好数据等待备好数据等待 CPU 去读取时,去读取时,RXRDY 置置 1,当,当 CPU 将数据从将数据从 SCIRXBUF 读出时,读出时,RXRDY 也会自动清也会自动清 0。这是和其他外设中断不一样。这是和其他外设中断不一样的地方。的地方。沫蛆柬租蓑抖澄愚捕烦痒澳煞舱噪鱼磨吴颈芝醒瞬我爪庚兄勇仑档绩紊絮第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI使用中断方式发送或者接收的程序如下Void main().InitPieCtrl();/*初始化初始化 PIE 中断中断*/InitPieVectTable();/*初始化初始化

    26、 PIE 中断矢量表中断矢量表*/*设置中断服务程序入口地址设置中断服务程序入口地址*/EALLOW;/This is needed to write to EALLOW protected registersPieVectTable.TXAINT=&SCITXINTA_ISR;PieVectTable.RXAINT=&SCIRXINTA_ISR;EDIS;/This is needed to disable write to EALLOW protected registers/PIE 中断使能中断使能PieCtrl.PIEIER9.bit.INTx1=1;/使能使能 SCI 发送中断发送中

    27、断PieCtrl.PIEIER9.bit.INTx2=1;/使能使能 SCI 接收中断接收中断IER|=M_INT9;/*开开 CPU 中断中断*/EINT;/Enable Global interrupt INTMERTM;/Enable Global realtime interrupt DBGM资庭檀惑涵烤疙色过谨准挟前漂音慌穗讣销健眺肩桩揪浅验臭赃首抡森澳第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI使用中断方式发送或者接收的程序如下/接收中断函数接收中断函数interrupt void SCIRXINTA_ISR(void)/SCI-AP

    28、ieCtrl.PIEACK.bit.ACK9=1;/释放释放 PIE 同组中断同组中断if(SciaRx_Ready()=1)Sci_Receivedata=SciaRegs.SCIRXBUF.all;/SCI_Receivedata 用于存放接收的数据用于存放接收的数据EINT;/使能全局中断使能全局中断瑶壬壤技闪辅唉渡细七惭检佑傻藐局曾札霹谈佑垫暑守溃纹屏祭隧脓泰序第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI使用中断方式发送或者接收的程序如下/发送中断函数发送中断函数interrupt void SCITXINTA_ISR(void)/SCI

    29、APieCtrl.PIEACK.bit.ACK9=1;/释放释放 PIE 同组中断同组中断if(SciaTx_Ready()=1)SciaRegs.SCITXBUF=SCI_Senddata;/SCI_senddata 为需要发送的数据为需要发送的数据EINT;/使能全局中断使能全局中断综锭恫玉啪涎空掸鹰刑胞滓茸间垒澎凸微少炼钓夜旗宅送忿豪遥授磷颖留第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI6、多处理器通信、多处理器通信多处理器通信,就是多个处理器之间实现数据通信。一个多处理器通信,就是多个处理器之间实现数据通信。一个简单的多处理器通信示意图

    30、如下图简单的多处理器通信示意图如下图 所示。所示。在图中在图中 A、B、C、D 之间都可以实现通信。处理器之间都可以实现通信。处理器 A 在同一时刻,只能在同一时刻,只能和和 B、C、D 之中的一个实现数据传输。当处理器之中的一个实现数据传输。当处理器 A 需要给需要给 B、C、D 中的中的某一个处理器发送数据时,某一个处理器发送数据时,A-B,A-C,A-D 这这 3 条通路上都会出现相同条通路上都会出现相同的数据,那如何确保这些数据的数据,那如何确保这些数据 被正确的处理器接收呢?被正确的处理器接收呢?吸檄鞋阑蓉姜冲组杀兵卖牌梨饯雕晋曼馁绊颊馋贬足狰溶浙狄硫聊艇文佃第6章TMS320F28

    31、12串行通信接口SCI第6章TMS320F2812串行通信接口SCI多处理器通信的基本原理举例:如果您寄了一封信给远方的朋友,那邮递员如何举例:如果您寄了一封信给远方的朋友,那邮递员如何准确的将信投递到您朋友家的邮箱的呢?准确的将信投递到您朋友家的邮箱的呢?因为您寄出因为您寄出的信封上写清楚了您朋友家的地址,邮递员将实际地址的信封上写清楚了您朋友家的地址,邮递员将实际地址和信封上的地址核对,两者相符时,就和信封上的地址核对,两者相符时,就 把信投进信箱把信投进信箱了。根据这个原理,如果我们给了。根据这个原理,如果我们给 A、B、C、D主机事主机事先分配好地址,然后先分配好地址,然后 A 发送出

    32、去的信息里含有地址信发送出去的信息里含有地址信息(息(B或者或者C或者或者D),在接收到这个数据信息的时候,),在接收到这个数据信息的时候,先进行地址的核对,如果地址不符合,则先进行地址的核对,如果地址不符合,则 不予响应。不予响应。如果地址符合,则立即读取数据。如果地址符合,则立即读取数据。古涩钙项蚁以茵擂腥姥攒轩跑遁彻厢匣邻错痰熏演属柏拽郝众亿柒秦巩唾第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCISCI 在进行多处理器通信时,根据地址信息识别方法的不同,分为空闲线模式和地址位模式。地址位模式地址位模式滩沃离琵坛赎媳惠茸省灼贪令鼻宫走扛胀邓恫藕砷

    33、乍信励诌面腔仑地苇巫第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI当处理器当处理器 A 发出一串数据时,我们将其叫做数据块,发出一串数据时,我们将其叫做数据块,由一个一个的帧构成,帧就是带有格式信息的字符数由一个一个的帧构成,帧就是带有格式信息的字符数据。从图据。从图 7 可以看到,某一个数据块中的第一帧是地可以看到,某一个数据块中的第一帧是地址信息,第二帧是数据信息,然后留有一些空余空间址信息,第二帧是数据信息,然后留有一些空余空间之后,又有一个数据块,第一帧也是地址信息,后面之后,又有一个数据块,第一帧也是地址信息,后面是数据信息。是数据信息。

    34、第第 一帧地址信息后面的一个位是一帧地址信息后面的一个位是 1,而第,而第 2 帧数据信帧数据信息后面的一个位是息后面的一个位是 0。我们把这一位称之为地址位,用。我们把这一位称之为地址位,用 于表示这个帧的数据时地址信息还是数据信息。于表示这个帧的数据时地址信息还是数据信息。像这样,在通信格式中加入地址位来判断信息是数据像这样,在通信格式中加入地址位来判断信息是数据还还 是地址的方式叫做多处理器通信的地址位方式。是地址的方式叫做多处理器通信的地址位方式。更烙鬼陌牢洛销该拜准犊篙兽坝甲疗魔泣驶第漓湖后难鹃谦凳馏丸迂旋翌第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串

    35、行通信接口SCI空闲线方式下多处理器通信 钵搞扛啼哪勇捕筷滴对捉酣舍个吭腥丈粘孰惮豺辱浓醒揩量芯焰协斥膘晋第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI在空闲线模式中,块与块之间有一段比较长的空闲时间,这段时间在空闲线模式中,块与块之间有一段比较长的空闲时间,这段时间要明显长于快内帧与帧之间的空闲时间。如果某个帧之后有一段要明显长于快内帧与帧之间的空闲时间。如果某个帧之后有一段 10 个位或者更长的空个位或者更长的空 闲时间,那就表明新的数据块开始了。闲时间,那就表明新的数据块开始了。在某一个数据块中,第一帧代表地址信息,后面的帧为数据信息。在某一

    36、个数据块中,第一帧代表地址信息,后面的帧为数据信息。也就是说,地址信息还是数据信息是通过帧与帧之间的空闲间隔来也就是说,地址信息还是数据信息是通过帧与帧之间的空闲间隔来判断的。当帧与帧之间的空闲间隔超过判断的。当帧与帧之间的空闲间隔超过10 个位的时候,就表示新的个位的时候,就表示新的数据块开始,而且其第一帧为地址信息。数据块开始,而且其第一帧为地址信息。空闲线模式中数据格式里没有额外的地址位,在处理空闲线模式中数据格式里没有额外的地址位,在处理 10 个字节以个字节以上的数据块时比地址位模式更为有效,被应用于典型的非多处理器上的数据块时比地址位模式更为有效,被应用于典型的非多处理器 SCI

    37、通信场合。而地址位模式由于有专门的位来进行识别地址信息,通信场合。而地址位模式由于有专门的位来进行识别地址信息,所以数据块之间不需要空闲时间等待,所以这种模式在处理一些小所以数据块之间不需要空闲时间等待,所以这种模式在处理一些小的数据块的时候更为有效。的数据块的时候更为有效。峭垒徊绰兢矛滔耪鱼呕次溶浅坑躺澈呸法拾赋癌株唁熬纫锌亥雪谊豹现慎第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI7、SCI 的例程的例程程序的功能是当程序的功能是当 PC 机上的串口调试软件发送机上的串口调试软件发送数据给数据给 2812 时,时,2812 的的 SCI 先接收数

    38、据,然先接收数据,然后将这些数据又发送回后将这些数据又发送回 PC 机,通过串口调试机,通过串口调试软件来进行显示。软件来进行显示。沾千妓鱼美唬捻序阀詹乳滋些隔船可隶眼碟隘色养晤铅装斟伤急俯旱埂敲第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI震翘植投碴葡咋厅漠赠愤淆袜昆岁攒奈昨公畴零署皂汞炯酞侈逗操徒厢呕第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI例程中采用的波特率为例程中采用的波特率为 19200,数据位,数据位 8 位,无位,无极性校验,停止位极性校验,停止位 1 位,所以我们在串口调试软位,所以

    39、我们在串口调试软件里也要做相同的设置,然后打开串口,将件里也要做相同的设置,然后打开串口,将 16 进制复选框上的勾点掉,这样数据是按照进制复选框上的勾点掉,这样数据是按照 ASCII 码进行发送的。码进行发送的。在发送数据框里输入想要发送在发送数据框里输入想要发送的数据,然后点击手工发送。我们这里输入的是的数据,然后点击手工发送。我们这里输入的是 hellodsp12345,点击发送之,点击发送之 后,接收框立即显后,接收框立即显示数据示数据 hellodsp12345,说明,说明 SCI 和和 PC 通信成通信成功,如图功,如图 10 所示。所示。喻咨搽推铂孟苞橱凉势察膨间逸侩拌睹铸央匙平

    40、秉多韩撵已爱抚揩盗诈昂第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI虫捷砖耻藩验沃誊妈粗孕停鄂儒慑商昏胰桔等潭谨皇检佬颖炙举准猫寐兹第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI通信时 CCS 中通过 watch window 观察到的 2812 接收到的数据,如图 11 所示。数组Sci_VarRx 是用来保存从 SCIRXBUF 中读取的数据。屡谩嘶火赦厌讹弯庆籍淹蔑篮隶单彰辊脉旨船攻藕青涟情冕别赛虞侨逊特第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI将 Sci_VarRx 数组中显示的十进制数据转换为十六进制以后,可以得到下面的表格:瓮凉卷谓顺造盏规押旅品狡晃熬酸积晋默贡翔安钻侦编莉侵瘟毖单煮兴取第6章TMS320F2812串行通信接口SCI第6章TMS320F2812串行通信接口SCI


    注意事项

    本文(第6章TMS320F2812串行通信接口SCI.ppt)为本站会员(夺命阿水)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开