当cpu从sja1000接收完一个报文后,再要接收下一个报文时,要注意些什么

如题所述

第1个回答  2017-07-18
通过对标识位的分配实现CAN协议的设计,那么对不同的CAN报文的分别是通过验收滤波功能实现,还是需要读取标识位 再进行判断 。
答:为了与其它CAN设备的兼容,简易不要采用对标识位的分配实现CAN协议的方法,建议利用数据部分进行协议的封包和解包,也就是说把协议控制放到数据部分。
这样有利于与其他CAN设备兼容,而且可以直接利用SJA1000的验收滤波来进行节点的判断,减轻单片机的运算负担。
这也是CAN控制器的设计初衷。本回答被提问者采纳

SJA1000发送数据的波形总是只有一个低起始,后面就是高电平,FPGA配置...
采用基于ARM微处理器的单板机系统建立...S3C44B0x 的数据、地址和控制信号线...总线上的设备节点之间直接通过SJA1000...这些缓冲页的一部分作为接收缓冲区,...

can的CAN 总线控制器和驱动器
接收缓冲器(RXB、长度为13个字节)是验收滤波器和 CPU 之间的接口,用来存储从 CAN 总线上接收并被确认的信息。作为接收FIFO(RXFIFO,长度为64字节)的一个窗口,接收缓冲器可被CPU访问。CPU在接收FIFO的支持下,可以在处理一条报文的同时接收其他报文。验收滤波器(ACF)将一条接收到的报文标识码与...

CAN报文中的PGN是什么意思
CAN技术的报文传输为多主方式工作,网络上任意节点均可在任意时刻主动地向网络上其它节点 发送信息,而不分主从。CAN节点只需通过对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式发送、接收数据。CAN总线的数据传输(报文传输)采用帧格式。按帧格式的不同,分为含有11位标识符的标准帧...

相似回答