打印
[学习笔记]

【AutoChips 7801x MCU评测报告】+ 3 CAN学习

[复制链接]
11863|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 hello、C 于 2020-7-10 10:41 编辑

关于CAN2.0A(PART A) CAN2.0B(PART B)协议的一些基本概念,在此不再叙述,请参考:CAN2.0A及CAN2.0B通信协议。
这几天简略阅读了Autochips MCU AC7801X型的芯片参考手册,并详细阅读了CAN章节及其例程程序(ac7801xmoduleapplicationnotes0616 -> CAN -> SampleCode -> CAN_sample)。

对CAN的学习总结如下:
1.针对CAN通信,主要包含三个组件,MCU、内嵌在MCU的CAN外设、CAN收发器。
    ① MCU:MCU通过APB总线访问CAN外设。
    ② CAN外设:挂载在MCU的APB总线上,实现基本协议CAN2.0A、扩展协议CAN2.0B、接收滤波器、发送优先级及对CAN FD的支持等,并留出外设访问接口给MCU,以便MCU控制。
    ③ CAN收发器:看其收发器框图,因仅包含CANH、CANL总线,所以TXD发出的CANH、CANL与RXD读出的CANH、CANL是连接在一起的,因此CAN收发器TXD发送出来的总线信号会立即被转换从RXD输出给CAN接口(LBME环回模式使用此特性)。关于收发信号的转换特性,请参考:CAN收发器参考手册。
    ④ 三者之间的联系,可以引用AC7801X型的芯片参考手册关于CAN的一张图(CAN总线连接及CAN_CTRL内核主要功能示意图)说明一下。如图所示:
   
    MCU通过APB总线访问CAN外设,通过配置相关寄存器配置CAN的运行环境,通过写BUF及相关配置位发送CAN帧;通过轮询某些状态位或者中断,读取收到的BUF或者CAN外设目前处于的状态,并依据部分状态作出相应的动作;CAN收发器将CAN外设的CAN_TX高低电平信号转换为CANH、CANL总线信号,并将接收到的CANH、CANL总线信号转换为CAN外设的CAN_RX高低电平信号,该信号输送给CAN外设,CAN外设根据CAN接收滤波器的设置判断是否接收该数据帧等等。
2.CAN特性,厂家已经总结的非常好了,如图所示:
   
3.例程说明
    ① CAN使用正常模式,500kHz波特率,CAN收发器拉低,CAN收发器运行在正常模式。如图所示:
   
   
    ②CAN使用扩展模式,数据帧长度为8字节,发送ID为0x430,使用STB模式单次发送数据帧。如图所示:
   
    ③CAN发送时间管理:2s内每隔100ms,发送一次同样内容的数据帧,发送数据帧的同时,以10Hz闪烁LED2.然后停止2s后,再进行重复操作。
   
4.参考与引用
    ① CAN2.0 PartA PartB.
    ② TJA1044.pdf (232.21 KB)
    ③ ATC_AC7801x_ReferenceManual_CH.pdf (4.41 MB)
    ④ AC7801x_LQFP48_COMMON_V10.pdf (217.65 KB)        
    ⑤ CAN_Sample 例程
5.测试效果图
   
   











使用特权

评论回复
评论
zwzzq 2021-7-9 16:28 回复TA
烧录给的CAN_Sample,跟上位机通讯不上呢,波特率是配置的500kbps 

相关帖子

沙发
wf663776| | 2020-10-16 14:27 | 只看该作者

使用特权

评论回复
板凳
JasonLee27| | 2020-10-16 14:38 | 只看该作者
使能STB模式下要注意,如果仲裁失败或者发送失败的情况下,该报文不会进行重发。同时,文档中也有描述,单次发送下,TPIF标志并不能指示帧是否成功发送。还需要结合其他错误标志一起来判断是否发送成功。

使用特权

评论回复
地板
zeshoufx| | 2020-10-16 14:54 | 只看该作者
谢谢分享【一款新的EC系列EtherCAT|CANopen|modbus总线驱动器】

使用特权

评论回复
5
hello、C|  楼主 | 2021-10-15 14:58 | 只看该作者
自己顶一顶,看一看

使用特权

评论回复
6
hello、C|  楼主 | 2022-1-7 14:44 | 只看该作者
又来学习一下CAN的相关知识

使用特权

评论回复
7
chenqianqian| | 2022-1-8 09:14 | 只看该作者
不错,写的很详细。

使用特权

评论回复
8
guanxiangli| | 2022-1-12 12:03 | 只看该作者
hello、C 发表于 2022-1-7 14:44
又来学习一下CAN的相关知识

麻烦问下楼主测试过休眠stop模式下的CAN唤醒吗

使用特权

评论回复
9
hello、C|  楼主 | 2022-1-12 20:21 | 只看该作者
guanxiangli 发表于 2022-1-12 12:03
麻烦问下楼主测试过休眠stop模式下的CAN唤醒吗

没有测试过  你要看 CAN 能否作为休眠唤醒源吧,休眠深度不同可能有所不同

使用特权

评论回复
10
hello、C|  楼主 | 2022-1-12 20:58 | 只看该作者
guanxiangli 发表于 2022-1-12 12:03
麻烦问下楼主测试过休眠stop模式下的CAN唤醒吗

手册上给出的,休眠和停机模式  CAN是可以唤醒的

使用特权

评论回复
11
10299823| | 2022-5-28 15:32 | 只看该作者
CAN的通信稳定吗

使用特权

评论回复
12
dspmana| | 2022-5-28 17:14 | 只看该作者
完整的通信程序有吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

359

帖子

2

粉丝