关于如何让初学者形象理解CAN总线技术关键点的思考
总线阻抗匹配:在CAN总线通信的物理链路层,我们需要更好的总线阻抗匹配,才可以更好的传输数据;总线匹配不好,可能会造成信号的衰减和末端信号反射,造成对正常信号的干扰;就如人与人在说话时候,由于声音的传输介质(如空气稀薄等)不适合或周围的障碍物造成的回音与正在说的话的叠加,对听众造成接收障碍一样。所以我们需要对总线进行阻抗匹配,避免造成信号衰减和反射震荡,总线匹配需要选择合适的线材及在适当的位置设置好终端电阻。同时配合示波器/PFautoCAN汽车CAN总线仿真开发工具/不同长度和材料的线缆/终端电阻加入位置和阻值现场向初学者进行讲解。
高层协议:不同协议导致信号的表达不同,如一个是英语,一个是汉语,大多数情况下他们之间发出的信息是不一样的,偶尔语调一样(报文),但是可能表达了不同意思。所以我们在使用时一定要先理解好高层协议或者对协议进行定义,才可以进行顺畅的沟通。定义好协议就可以在PFautoCAN软件中进行数据库的建立,这样方便于网络调试/监听/模拟/录制回放等。所以采用CANopen高层协议的网络不可能兼容DeviceNET高层协议的网络,虽然他们都采用了CAN作为底层通信协议,通信速率也可能一样。
优先级和无损仲裁:总线优先级和无损仲裁类似于“让领导先走”+“和谐社会”。虽然CAN总线在表面上是多主网络,所有节点都可以主动往总线发数据,看起来是同时在收发信息,所有节点平等的享有总线的使用权。但是实际上CAN总线仅允许同时传输一个报文(就像一条仅允许通过一辆车的道路,所有节点共用这个道路)。在使用这个总线的时候,他们是有等级区分的,等级的区分来源于各个节点的报文ID,报文ID越小,优先级越高。总线上已经有数据在传输时,其他节点不会去干涉这个数据的传输;但是当总线出现空闲,而又有2个或者以上节点等待发数据时,这些节点的CAN控制器将同时会发出待发送数据的ID(由高位到低位),并对总线现在的电平逐位比较,当发现自己的ID大于其他总线发出的ID时,将会自动退出总线,让ID小的数据先发送(就如在这条道路上已经有车辆通行,其他车辆不管优先级高低,自动等待;但是当道路出现空闲,而又有两辆车准备进入这条路时,大家先比对一下自己所处低位,然后让低位高的先走)。这些测试情况可以用我公司的2个PFautoCAN汽车CAN总线仿真开发工具在将通信速率降低后从数据的发送接收中看出(通信速率降低后,造成总线允许的最大数据量降低,这样更容易实现总线的完全占用)。
初学者形象理解CAN总线技术关键 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)