2.2 CAN节点软件设计
CAN总线的3层结构模型为: 物理层、数据链路层和应用层。系统的开发主要在应用层软件的设计上,CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。初始化程序设计对于CAN总线节点的正常工作相当重要。它主工字电感器要包括工作方式的设置、接收屏蔽寄存器和接收代码寄存器的设置、总线定时器的设置和中断允许寄存器的设置。MICROCHIP公司提为开发者提供了丰富的开发工具和应用程序库,使得开发代码效率大大提高。由于CAN 协议没有规定信息标识符的分配,因此可以根据不同应用使用不同的方法,所以在设计一个基于CAN 的通讯系统时确定CAN 标识符的分配非常重要。标识符的分配和定位也是较高层解决手段的其中一个主要的项目。当前较流行的CAN应用层协议有 CANOpen协议DeviceNet协议。DeviceNet协议适合于工厂自动化控制,CANOpen协议适合于所有机械的嵌入式网络。对于小型网络(图2所示)Modbus 协议是一个不错的解决发案。Modbus 协议是应用于电子控制器上的一种通用语言,通过此协议,控制器相互之间、控制器经由网络(例如以太功率电感器网)和其它设备之间可以通信。它已经成为一个通用工业标准。有了它不同厂商生产的控制设备可以连成工业网络进行集中监控。 Modbus 协议支持主/从通讯方式同时也支持使用对等技术通讯。因此Modbus协议不仅能够支持RS232、RS485 网络也能够充分发挥CAN-bus 网络的性能与通讯效率。
3 系统应用中应注意的问题
在实际运行中, 经常会遇到CAN总线不通和数据传输过程中丢帧现象,纠其原因主要有以下几方面:
(1)为了进一步提高抗干扰措施, 在CAN控制器和收发器之间应使用由高速隔离器件如6N电感器生产137 构成的隔离电路,同时采用DC-DC模块将电源隔离,增强抗电磁干扰能力,保护系统电路不受网络影响。
(2) 总线两端的2个120欧姆的电阻, 对于匹配总线阻抗, 起着相当重要的作用。若忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低, 甚至无法通讯。
(3) 在软件设计时, CAN 总线定时器的设置非常关键, CAN 总线上的所有控制器必须有相同的波特率和位长度。然而,不同的控制器并不要求使用相同的主振荡器时钟。如果各个控制器的时钟频率不同,必须通过调节各个段的时间份额数调节波特率。下面是时间段编程的一些要求:
• 传播段+ 相位缓冲段1> = 相位缓冲段2
• 相位缓冲段2 > 同步跳转宽度
通常,位的采样应当发生在位时间的60-70% 左右,取决于系统参数。
结语
本文的创新观点在于:详细介绍了dsPIC30F6014数字信号控制器CAN节点实现方案。研究和试验结果表明利用dsPIC30F6014数字信号控制器构成的CAN节点具有许多优良的性能,并能充分发挥节点的功能,为嵌入式系统CAN节点设计提供了一种新型实用方案。
有可以通断24V电压的模拟开关吗?求推荐型号最好是单刀双掷的,谢谢了负载电流大小?lyjian发表于2016-4-1412:34
负载电流大小?
不超过50mAADG1401,就是比较贵哈yanwen217发表于2016-4-1522:18
ADG1401,就是比较贵哈
貌似是
[开关电源]请教老师:不要见笑菜鸟关于示波器的问请教老师:不要见笑菜鸟问题哈,用示波器测开关电源的输入端,一夹负极就跳闸是怎么回事啊?已解决!用不带电源线的示波器去测吧。
。
。
。
隔离变压器供电。
呵呵短路了。
。
。
基于三相BLDC电机控制系统的设计探讨0 引言如今,工程师将电机控制系统用于数字与模拟技术来应对过去面临的挑战,包括电机速度控制、旋转方向、漂移及电机疲劳等。微控制器 (MCU) 的应用为当代工程师提供了动态控制电机动作的机会,从而使其能