java怎么拦截某个对象
283
2022-10-27
基于DSP的CAN总线接口设计
1. CAN总线简介
CAN总线具有如下特点:
2) 通信方式灵活。可以多主从方式工作,可以点对点、点对多点及全局广播方式发送和接收数据;
3) 采用短帧通讯格式,保证了实时性和可靠性,可满足一般工业应用;
4) 非破坏总线仲裁技术,具有多优先级;
5) 集成了CAN协议的物理层和数据链路层功能,可完成对通讯数据的成帧处理工作。
CAN总线具有良好功能特性和极高的可靠性,现场抗干扰能力强。广泛应用于工业测控领域。
2. CAN总线接口的硬件设计
图1 CAN总线接口电路
F2407的内部集成有CAN控制器。该控制器是一个16位的外设模块,支持CAN2.0B协议,具有6个8字节邮箱;具有可编程的中断配置、总线唤醒功能,以及自动回复、自动重发、错误诊断等功能。CAN模块的结构框图如图2所示。
图2 CAN控制器结构框图
3. CAN总线接口的程序设计
CAN的通讯采用短帧格式。每个数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束组成。F2407支持标准帧格式和扩展帧格式,如图3所示。标识符是作为报文的名称,在接收器的验收判断和仲裁过程确定访问优先权中使用;远程发送请求位(RTR)确定发送远程帧还是数据帧;数据长度码(DLC)确定每帧发送几个字节数据。
图3 CAN信息帧
在使用CAN控制器前必须对它的一些内部寄存器进行设置。如流程图4和流程图5所示,需配置位定时器和初始化邮箱。位定时器的BCR1和BCR2寄存器决定了CAN控制器的通信波特率、同步跳转宽度、采样次数和重同步方式。邮箱初始化需设置邮箱的标识符,发送的是远程帧还是数据帧及对发送的数据区赋初值。这样,邮箱就能进行正常的发送和接收工作了。
图4 配置位定时器流程图
图5初始化邮箱流程图
CAN控制器的发送邮箱有邮箱4、5及被配置为发送方式的邮箱2、3。如流程图6所示,在写数据到发送邮箱后,如果相应的发送请求位使能,则信息帧被发送到CAN总线上。邮箱权限高的先发送,发送失败将再次发送。
图6 信息发送流程图
邮箱0、1和被配置为接收方式的邮箱2、3为接收邮箱,CAN控制器只接收邮箱标识符相同的信息,或被局部屏蔽寄存器(LAM)忽略的信息,此时接收屏蔽使能位(AME)为1。接收信息的过程如流程图7所示。
图7信息接收流程图
4. 结论
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~