大家好,今天小编关注到一个比较有意思的话题,就是关于can总线通信模块有哪些的问题,于是小编就整理了3个相关介绍can总线通信模块有哪些的解答,让我们一起看看吧。
CAN总线通信通常包括数据发送和接收两个方面。数据发送方将数据打包成CAN消息发送到总线上,接收方则通过CAN控制器接收消息并解析出数据。在CAN总线通信中,还需要考虑消息的传输速率、帧格式、ID分配等问题。此外,为了确保通信的可靠性和稳定性,还需要进行错误检测和纠错,例如CRC校验和重发机制。CAN总线通信广泛应用于汽车、工业控制、航空等领域。
有两条通信线路
can总线有两根线。CAN是控制器局域 *** 的简称,是国际上应用最广泛的现场总线之一。结构简单,只有2根线与外部相连,并且内部集成了错误探测和管理模块。CAN是ISO国际标准化的串行通信协议。
基础
1.帧类型: 数据帧、遥控帧、错误帧、过载帧、帧间空隙
2.数据帧: 数据帧有7个域组成
帧开始:
仲裁域:优先级
控制域:保留位和数据字节数
数据域:0-8个字节
CRC域:检查传输错误
ACK域:是对帧已经被正常接收的证实
帧结束:
3.遥控帧: 接收单元请求发送单元发送一个信息
没有数据域外其它与数据帧的结构是一样的
4.错误类型:
填充错误
位错误
CRC错误
格式错误
ack错误
Time Quantum(称为Tq) 最小时间单位
CAN总线控制器的整体设计
控制器SJA1000的功能结构 包括:
接口管理逻辑、发送缓冲器、接收缓冲器、接收滤波器、位数据流处理器、位时序逻辑、错误管理逻
1)CAN_IML设计:
是CAN总线控制器接口逻辑,主要功能是解释来自微处理器的命令,控制CAN寄存器的寻址,向微处理器提供中断信息和状态信息。
Port_0_io_7到Port_0_io_0为地址/数据复合总线。
Cs_can_i 为片选输入信号。当Cs_can_i为0时允许访问CAN总线控制器。
Ale_i为1时,允许对寄存器进行赋值。
Rd_i和Wr_i为微处理器的读使能信号和写使能信号。
Irq_on为中断输出信号,用于中断微处理器。
Rst_i为复位输入,用于复位CAN接口。
Clkout_o为FPGA CAN控制器提供给微处理器的时钟输出信号,时钟分频寄存器可禁止该引脚输出。
Bus_off_on控制总线关闭和总线开放接口,Tx_o和Rx_i与收发器相连,向总线发送和接收数据。
2)CAN_Registers设计:
设计的CAN总线控制器的寄存器模块包括以下寄存器:
模式寄存器、
命令寄存器
状态寄存器、
中断寄存器、
中断使能寄存器、
总线定时寄存器0~1、
仲裁丢失捕获寄存器、
错误代码捕获寄存器、
错误报警限制寄存器、
接收错误计数器、
发送错误计数器、
验收代码寄存器0~3、
验收屏蔽寄存器0~3、
接收信息计数器和接收/发送缓冲器。
3)CAN_Core设计:
CAN_Core为CAN协议控制器的核心部分,完成CAN协议中的数据链路层的全部功能以及物理层的部分功能,包括LLC子层的接收滤波、超载通知和恢复管理、MAC子层的数据封装/拆装、帧编码、媒体访问管理、错误检测、错误标定、应答和串行
到此,以上就是小编对于can总线通信模块有哪些的问题就介绍到这了,希望介绍关于can总线通信模块有哪些的3点解答对大家有用。