完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1.CAN是控制器局域网络(Controller Area Network)
2.CAN物理层: a.只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯; b.闭环总线网络形式:最大传输距离40米,最高通讯速率1MBPS,总线两端各要求有一个120Ω电阻(有助于电平稳定),适合用于高速通讯; c.开环总线网络:最大传输距离1km,最高通讯速率125kbps,总线是独立的不形成闭环,要求每根总线上串联一个2.2kΩ的电阻,适合于远距离通讯; d.节点:由CAN控制器(CPU的信号到由CAN控制线器转换为逻辑电平)和CAN收发器(将逻辑电平转成CAN总线需要的差分电平输出到CAN总线)组成; e.半双工通讯:CAN总线只有一对差分线,同一个时刻只能表示一个信号,收发需要分时进行,同一个时刻只能有一个通讯节点发送信号,其余的节点在该时刻只能接收。 f.回环实验:将单片机的CAN控制器的RX接TX,方便调试CAN协议相关代码; g.显性电平0(差分信号差2.5V) 隐性电平1(差分信号差为0V左右) 3.CAN通讯的特点: a.多主工作方式:无主机从机之分; b.在同一条CAN线上,所有节点的通信速度(位速率)必须相同,如果两条不同通信速度总线上的节点想要实现信息交互,必须通过网关 4.CAN数据的位结构:SS段、PTS段、PBS1段、采样点、PBS2段;Tq是位的最小单位,位是帧的最小单位。 这里的CAN数据位就是指一个高电平或一个低电平的位。 采样点是在PBS1和PBS2段之间,通过控制各段的长度,可以对采样点的位置进行偏移,以便准确的采样 5.CAN报文:使用CAN协议进行通讯时,需要对数据、操作命令(读写)、以及同步信号进行打包,打包后的内容为报文。 6.CAN规定了5种类型的帧:数据帧、遥控帧、错误帧、过载帧、帧间隔。 7.标准数据帧结构:帧起始(一个逻辑0位)、仲裁段、控制段、数据段、CRC、ACK段、帧结束(7个连续1)。其他帧类似 8.仲裁段包含: a.ID: 标准格式是11位、扩展格式是29位的,ID决定数据帧发送的优先级,也决定其他数据帧是否接受这个数据帧; b.RTR:远程传输请求位,值为0是表示数据帧、值为1表示遥控帧; c.IDE: 标志符扩展位,值为0是标准格式、值为1是扩展格式,扩展格式ID会多出18位,并且会用SRR代替RTR,原RTR挪到扩展多出的18位ID后面。并且SRR为1,所以扩展数据帧的优先级比标准数据帧的优先级低。 9.控制段包含: a.r0、r1保留位,默认0; b.DLC段:数据长度码,4位,表示数据段含有多少个字节,DLC表示的数据是0-8; 10.数据段:0-8个字节byte数据,几个byte,DLC对应的数据就是几,这个是MSB先行。 11.15位CRC校验码+1位CRC界定符+ACK槽位+ACK界定符。发送节点的ACK槽位是1,接收节点的ACK槽发送0应答。 12.帧结束,由发送节点发送7个1表示结束。 --------------------------------------------------------------------------------------------------------------------------------- CAN协议: 1.CAN基本协议:只定义了物理层和数据链路层,没有规定应用层,本身并不完整。 2.CAN 2.0A标准标识符的总位数11位; CAN 2.0B支持扩展的ID, 扩展标识符的总位数29位,此时标识符寄存器CAN_TIxR中的STDID[10:0]等效于EXTID[18:28],它与EXTID[17:0]共同组成29位扩展标识符; 3.CAN OPEN协议,是在CAN基本协议基础上,增加了更详细的协议,在实际使用中,大多数是使用CAN OPEN协议的。 --------------------------------------------------------------------------------------------------------------------------------- STM32的CAN外设相关 13.STM32支持2.0A和2.0B标准,CAN不能通过配置DMA进行数据的收发。 14.STM32有两组CAN控制器,CAN1和CAN2: 1)CAN1是主设备,控制存储访问控制器,CAN2无法直接访问存储区域; 2)CAN1,CAN2共用筛选器; 因此使用CAN2时必须先使能CAN1外设时钟。 15.CAN控制器内核:主控制寄存器CAN_MCR,位时序寄存器CAN_BTR 16.CAN_BTR可以配置工作模式:正常模式,静默模式,回环模式,静默回环模式。回环模式是自己发给自己,调试用非常方便 17.STM32位时序包含3段:SYNC_SEG段,BS1段,BS2段 18.CAN的发送邮箱有3个, 可以缓存3个待发送的报文。接收FIFO,有6组。 |
|
|
|
只有小组成员才能发言,加入小组>>
3274 浏览 9 评论
2950 浏览 16 评论
3453 浏览 1 评论
8982 浏览 16 评论
4043 浏览 18 评论
1092浏览 3评论
564浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
561浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2297浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 09:26 , Processed in 1.269572 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号