关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于AT91RM9200的CAN智能节点设计

基于AT91RM9200的CAN智能节点设计

作者: 时间:2010-08-13 来源:网络 收藏

2.2发送数据
当完成的初始化后,即可使用3个发送缓冲器发送报文数据。由图2(b)可知:在发送数据前,首先通过发送缓冲器N(N=O,1,2)控制寄存器TXBNCTRL终止报文发送,并设定发送缓冲器N报文发送的优先级;接着通过发送缓冲器N标准标识符高低位寄存器TXBNSIDH,TXBNSIDL设定标准标识符,如果报文采用扩展标识符,还需通过发送缓冲器N扩展标识符高低位寄存器TXBNEID8,TXBNEID0设定扩展标识符。当发送缓冲器N相关寄存器初始化后,发送任务处于休眠等待状态。一旦有数据需要发送,即可将需要发送的数据(每次最多8 B)存放在发送缓冲器N的数据寄存器TXBND7~TXlBND0,并且通过送缓冲器N的数据长度寄存器TXBNDLC设定每次发送的字节数,最后通过发送缓冲器N控制寄存器TXB-NCTRL启动数据发送。当数据发送完毕,发送任务又处于休眠等待状态。
2.3接收数据
当完成CAN的初始化后,即可使用两个接收缓冲器接收报文数据。由图2(c)可知:在接收数据前,首先通过接收缓冲器N(N=0,1)控制寄存器RXBNCTRL,设定接收缓冲器的工作模式为接收符合滤波条件的所有带扩展标识符或标准标识符的有效报文;如果允许MCP2510接收中断,还需通过中断使能寄存器CANINTE允许接收缓冲器N装入报文时产生中断。
当接收缓冲器N相关寄存器初始化后,接收任务处于休眠等待状态。当接收任务通过轮询或中断方法发现需要接收数据时,它通过接收缓冲器N标准标识符高低位寄存器RXBNSIDH,RXBNSIDL获取标准标识符;如果收到的报文是扩展帧,可通过RXBNSIDL及接收缓冲器N扩展标识符中间、低位寄存器RXBNEID8,RXBNEIDO获取扩展标识符;通过接收缓冲器N数据长度码寄存器RXBNDLC获取接收到的数据字节个数,进而通过接收缓冲器N数据寄存器RBNDm7~RBNDm0获取接收报文中的数据信息。当数据接收完毕,接收任务又处于休眠等待状态。

3 软硬件调试
当CAN的硬件和软件完毕,需要对其进行软、硬件的调试以验证其的正确性。CAN软、硬件调试按以下步骤依次进行:
(1)CAN自发、自收功能调试。只要在CAN初始化过程完成MCP2510相关寄存器的配置,将MCP2510设置为环回模式,即可使MCP2510器件内部发送缓冲器和接收缓冲器之间进行报文自发、自收,而无需通过CAN总线。

本文引用地址://m.amcfsurvey.com/article/162936.htm


(2)CAN通信功能调试。按照图3所示方案进行CAN通信功能的调试。其中USB_CAN适配器采用武汉吉阳光电科技有限公司一款带有USB接口和1路CAN接口的GY8507 USB_CAN总线适配器。通过该适配器,PC可以通过USB接口连接一个标准CAN网络,从而与CAN通信。使用厂家提供的CANTools工具软件可以方便进行CAN智能节点数据的发送和接收调试。
(3)CAN功能模块调试。由于CAN智能节点具体实现的功能各异,不详细介绍CAN功能模块的调试。

4 结语
目前已完成CAN智能节点通信电路的软、硬件及调试,并成功将软件移植到VxWorks 5.5操作系统上运行。功能强大的AT91RM-9200处理器以及高可靠和强实时的VxWorks 5.5操作系统,容易构建出满足应用需求的CAN智能节点。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭