相关服务

  • 《现代电子技术》2006年第21期摘录:2006年第21期总第236e

如发现有乱码,请点击下面链接浏览原文
正文摘录:

2006年第21期总第236eCAN模块进行发送信息时须将某个邮箱配置为发送邮箱,写邮箱标识符寄存器和报文控制寄存器以及数据。使能该邮箱后,将发送寄存器(CANTRS)相应的位置“1”,eCAN就将该邮箱中的数据发送到总线上。报文控制寄存器中的TPL用来设定消息发送的优先级,数字越大,优先级越高。当多个邮箱需要向总线发送消息时,虽然同时将CANTRS相应的位置“1”,但优先级高的邮箱先将消息发送;如果邮箱的优先级相同,则邮箱号数大的先发送。如果邮箱中的信息被成功发送,则该邮箱的发送响应位TA被置位并产生发送中断,执行完中断子程序后通过给TA置1来清除发送中断。eCAN在接收总线上来的信息时采用中断方式,相应的邮箱需要配置成接收邮箱并使能,还需要设定信息标识符寄存器(MID),只有邮箱ID匹配时才会接收外来的信息。覆盖保护寄存器(cANOPC)相应位,当其为1时,保护相应邮箱里的数据不被新的数据覆盖,此时还需要另一个邮箱来接收新的后续信息,否则会引起数据丢失;有数据丢失时(CANRMI。)相应的位会置1。当eCAN邮箱接收到信息时,相应的接收消息未决寄存器(RMP)置位,产生相应的中断,继而CPu判断是哪个邮箱接收到信息,再读取邮箱里的数据。外部信息lfcAN初始化ll存储器信息载入邮箱l接收外部信息k—_JLf(用匹配的邮箱)k—一品鬲]型坐兰!厂赢苛订J接收中断l三二芒清除RMP一标志l二二]二型读走邮箱中数据l中断返刚发送邮箱信息磊『-口匦厂蕊丽清除1lA标志中断返回图2CAN控制器软件流程图3采用SCI串行通信接口与外部计算机通信串行口是计算机的一种标准接口,现在的Pc机一般至少有2个串行口COMl和C()M2,串行口不同于并行口之处在于他的数据和控制信息是一位接一位串行地传送下去。RS232作为一种串口标准目前已在微机通信接口广泛采用,被内置于从微控制器到主机的多种类型的计算机及其相连接的设备。SCI波特率在其初始化过程中设定,内部产生的串行时钟是通过低速的外部时钟LSP(:LK和波特率选择寄存器决定的。接收过程标志位RxENA从0变为l,以启动接收器;数据到达SCI。RXI]引脚,检测起始位;数据从移位寄存器移人接收器缓冲寄存器(SCIRXBtJF),请求中断,标志位RXRDY从O变为1,表明一个新的字符已经接收;程序读取SCIRXBUF,标志RXRDY自动清O;数据的下一个字节到达SCIRXD引脚,检测起始位,然后清O。发送过程位TxENA从O变为1,启动发送器发送数据;数据写入SCITXBUF,由此,发送器内容非空,TXRDY由1变为O;SCI。把数据发送到移位寄存器TX—SHF,发送器为下一个字符做好准备(TXRDY由O变为1),并请求一个中断;TXRI)Y从O变为1后,程序将下一个字符写入SCITXBuF;第一个字符的发送结束后,第二个字符开始移入移位寄存器(TXSFIF)。SCI为发送器和接收器提供独立的外部中断向量,当RX和TX中断请求的优先权相同时,接收器的优先权比发送器的优先权要高,从而减少了接收器溢出的可能。图3SCI控制器软件流程图4结语整个程序采用TMS320F2812自带的汇编指令编写,在C(2S(CodeCompose~‘Studio)编译环境下调试已经通过。与C语言相比,汇编语言更适合对时序要求严格的场合,效率更高。参考文献[1]邬宽明.cAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.[2]TexasInstrumentsIncorporated.TMS320(:28X系列DsP的cPu与外设[M].北京:清华大学出版社,2004.[3]TexasInstrumentsIncorporated.T:MS320(:28X系列DsP指令和编程指南[M].北京:清华大学出版社,2004.[4]尹勇,欧光军,关荣锋.I)SP集成开发环境ccs开发指南[M].北京:北京航空航天大学出版社,2003.[5]李现勇.Visualc’’串口通信技术与工程实践[M].北京:人民邮电出版社,2002.作者简介赵守疆男,1979年出生,福建沙县人,硕士研究生。研究方向为军用无线电导航。

阅读此文(图):   点击此处在线翻阅