- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
CAN核的四冗余通信板设计与仿真
寄存器组(CAN Register):外部微处理器可以通过地址直接访问这些寄存器。发送数据时,微处理器将要发送的数据写入发送缓冲器,置位命令寄存器的发送请求位来启动发送。接收到数据后,核心控制器将其存在接收缓冲器,并通知位控制器将其取走。同时,CAN寄存器中还有1个64字节的接收FIFO,可以1次存储至少2个数据帧。
位时序逻辑(BTL):用来监视CAN总线并处理与CAN总线相关的位时序。在消息的开始处,当位时序逻辑检测到总线上由隐性位(recessive)到显性位(dominant)的跳变时,就会将其内部逻辑同步到位流,称之为硬同步;随后,在接收消息的过程中,检测到隐性位到显性位的跳变时,便会重同步到位流,称之为软同步。位时序逻辑还要根据总线定时寄存器0和总线定时寄存器1的值来决定每个位周期采样点的位置,以补偿传输延迟和相位漂移所造成的误差;同时,根据总线定时寄存器1的设置采取相应的采样模式(单次采样或3次)对总线上的数据采样。
位流处理器(BSP):根据其实现的功能分为3个模块:数据接收模块、数据发送模块和错误处理模块。数据接收模块将从位时序逻辑送过来的采样数据去除位填充后送到移位寄存器进行串并转换,之后对并行数据进行CRC校验,在消息接收完时发送应答信号,表示接收无误。最后将接收到的消息的特征码与验收屏蔽寄存器的内容进行比较,以决定是否将接收的消息写入接收FIFO。数据接收模块将要发送的数据组成帧并进行CRC计算,之后送入移位寄存器进行并串转换,然后将串行数据编码(位填充)后送到总线上。错误监视模块根据协议规范中描述的错误监视机制检测系统错误,并设置相应的寄存器,通知设备控制器。模块根据协议描述的12种错误监视规则,在适当情况下对计数器进行加、减或清除。控制器根据这两个计数器的值以及错误限制寄存器的值来决定自己的故障状态:错误激活(Error Active),错误认可(Error Passire)或总线关闭(Bus off On)。
2硬件电路设计
根据系统的总体设计方案,因为现有的CAN总线收发器最大的工作频率为1 MHz,在提高CAN的通信速度后,现有的CAN总线收发器就不能满足需要了,因此改用RS485收发器。由于RS485收发器是差分传输,不能完成通信卡的自发自收功能,因此需要外置的CAN Hub。另外,要进行光纤传输,要完成光的逻辑总线结构,也需要外置Hub。因此,本硬件设计分为CAN通信板的设计和CAN Hub的设计两部分。
来源:维库开发网
上一篇:基于DSP与MAX147的多路数据采集系统设计
下一篇:串行数据转换器接口