关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于MCP2502X/05X的CAN总线节点设计

基于MCP2502X/05X的CAN总线节点设计

作者:时间:2009-12-11来源:网络收藏
3.1.2 预编程相关寄存器
预编程相关寄存器就是实现不同协议,并通过CAN报文配置和操作其他寄存器。系列器件在实现对器件本身控制的前提下,用户通过配置CAN模块相关寄存器,并根据实际情况协议的具体内容。扩展的CAN协议必须与主的CAN协议相匹配。该采用协议标准配置CAN模块寄存器,由于CAN扩展与主节点之间要求点对点通信,所以采用PDU1格式,其29位标识符各位的含义如图3所示。

本文引用地址:http://www.eepw.com.cn/article/163422.htm

图3中,源地址的高5位可编程,低3位与扩展器硬件相关联,用于实现特定的CAN命令,比如将报文源地址低3位写“000”,读取A/D转换器的寄存器。PS(PDU格式)要小于240,其他各位由应用层确定。按照协议标识符格式写配置寄存器。/5X器件包含3个独立的发送报文ID:TX-ID0、TXID1和TXID2。
配置相应的寄存器预定义各种输出报文中每一个报文的数据长度码以及直接从器件外设寄存器输入待发送数据。器件按照预定义格式发送报文。配置接收屏蔽寄存器来定义CAN ID与可编程过滤器相比较的位。在29位标识符格式中,RXMEID0寄存器的EID2:EID0位设置为无关位。/5X定义2个独立的接收过滤器:RXF0和RXF1。其中,RXF0用于信息请求报文,而RXF1用于输入报文。按照预定标识符格式对过滤器进行预编程配置,过滤器的每一位与CAN ID的位相对应。为了接收报文,CAN ID中的每一位(相应屏蔽位设置为1时)必须和对应的过滤器位相匹配。忽略未满足屏蔽/过滤条件的报文。同时配置为自动发送模式,即当采集输入信号变化或经一定时间间隔将自动发送信息。
3.2 用CAN报文配置扩展器
由于配置寄存器通过CAN访问,因此除了采用预编程配置扩展器外,通信建立后,主节点通过命令报文配置器件,也可在线修改已配置的寄存器。命令报文种类由源地址的低3位确定。


4 硬件结构及系统网络结构
图4为的硬件结构,MCP2502X/器件通过CAN驱动器与CAN相连。图5为系统网络结构。

CAN本身是一种多主总线,理论上每个节点都可作为主节点,但MCP25132X/5X器件的CAN网络中必须有一个具有CAN接口的CPU作为主节点,来执行控制算法,并做出相应控制决策。而扩展节点只能作为从节点。其他节点则通过主节点与对应的从节点通信。


5 主节点软件
在主节点软件设计过程中,将主节点和其对应的扩展节点看成同一个ECU(电控单元)的不同CA(控制器应用程序),并且地址可仲裁,主节点与扩展节点之间点对点通信,总线上所有ECU都遵循协议进行通信,其他ECU通过主节点访问扩展节点。
主节点软件由主处理、接收处理和发送处理3部分构成。其中,接收处理负责接收与本ECU地址相匹配的消息,并处理地址声明消息和地址请求消息,将应用消息填充到接收缓冲区;发送消息负责将发送缓冲区的数据发送到。图6为主处理软件流程。

6 结论
MCP2502X/器件设计CAN扩展节点无需大量编程,只需配置相关寄存器,连接简单电路就能实现与主节点的通信。在无需微控制器下扩展一个CAN节点,用户自行设置协议内容,非常灵活,其丰富的外设满足一般测控需要。将MCP2502X/05X器件与协议相结合,可方便设计汽车的前端测控模块,并与整个车载CAN网络相连。这种设计方案系统结构简单、成本降低、提高信号传输的可靠性,在车载CAN网络,尤其是前端测控模块中具有广泛的应用前景。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭