CAN总线协议深入浅出教程
5星 · 超过95%的资源 需积分: 32 54 浏览量
更新于2024-09-11
2
收藏 201KB PDF 举报
CAN总线呕心沥血教程
CAN总线是一种汽车网络总线协议,广泛应用于汽车工业、工业自动化、医疗器械等领域。下面是对CAN总线协议的知识的精心总结。
一、工作原理
CAN总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中的所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式成为面向内容的编制方案。
二、标识符
同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,当几个站同时竞争总线读取时,这种配置十分重要。
三、“显性“和”隐性“
CAN数据总线有两条导线,一条是黄色的,一条是绿色的。分别是CAN_High线和CAN_Low线。当静止状态时,这两条导线上的电平一样,大约为2.5伏。这是一个静电平状态,也称隐性电平。也就是没有任何干扰的时候的状态称为隐性状态。当有信号修改时,CAN_High线上的电压值变高了,一般来说会升高至少1V,而CAN_Low线上的电压值会降低一个同样值,也是1v,那么这时候。CAN_High就是2.5v+1v=3.5v,它就处于激活状态了。而CAN_Low降为2.5v-1v=1.5v。
四、电压差
在隐性状态下,CAN_High线与CAN_Low没有电压差,这样我们看到没有任何变化也就检测不到信号。但是在显性状态时,改值最低为2V,我们就可以利用这种变化才传输数据了。所以出现了那些帧,那些帧中的场,那些场中的位,云云~~~~~~~~~~~
五、逻辑电平
在总线上通常逻辑1表示隐性。而0表示显性。这些1啊,0啊,就可以利用起来为我们传数据了。
六、收发器
控制单元通过收发器连接到CAN驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。
七、差动信号放大器
这个放大器很自然地就放大了CAN_High和CAN_Low线的电平差,然后传到接收区。如下图由上图可知,当有电压差,差动信号放大器放大传输,将相应的数据位任可为0。
八、报文
报文所谓报文,就是CAN总线上要传输的数据报,为了安全,我们要对报文进行加密和校验,以确保数据的安全性。
2021-06-02 上传
2023-08-14 上传
2020-07-02 上传
2021-11-23 上传
2018-06-21 上传
2021-07-07 上传
yulinlin9
- 粉丝: 0
- 资源: 5
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍