82c250为CAN总线收发器,是CAN控制器和物理总线间的接口,提供对总线的差动发送能力和对CAN控制器的差动接收能力。
82C250的功能描述
1、发送数据输入
2、接地
3、提供电压
4、接收数据输出
5、参考电压输出
6、低电平CNA电压输出/输入
7、高电平CNA电压输出/输入
8、Slope电阻输入
82C250的功能框图
图1为CAN控制器与物理总线之间的接口电路82C250的功能框图。82C250能够提供对总线的差动接收和发送功能,以实现总线上各节点之间的电气隔离,最高通信速率可达1Mb/s。
在上面的硬件实现方案中,CAN只采用OSI参考模型的两层协议――物理层和数据链路层,它仅实现了节点之间无差错的数据传输。因此,其他层的协议需要自己定义。
以下是针对开关电源并联系统的数字均流控制制定的部分高层协议:
(1)允许参加并机的模块总线不超过8个,每个模块拥有一个三位的地址编码,模块的地址编码不允许重复。
(2)每个模块都以自身的地址码作为发送数据的优先级。
(3)模块向外发送数据帧时,应包含自身的地址码信息。
(4)所有的数据都以广播形式向总线发送,同时回收自己发送的数据,如发现发送和回收的数据不符,则立即重发。
(5)对每个模块而言,上电后1S内若未接收到任何通信信息,则在1S计时结束后延时发送自身的地址码及电流采样值(可能为零)。这个延时发送时间(tdelay)的计算式为
tdelay=T1×MADDR
式中T1――单位延时时间常数,该值可以根据通信速率合理定义;
MADDR――模块自身的地址编码。
(6)从模块上电后第一次接收到通信信息(可能为自身发送的信息)起,每隔40ms向外发送自身地址码和电流采样值。如果发生冲突,CAN会根据每个模块信息的优先级自动调整发送顺序。由于每个模块发送信息的优先级都不相同,因此它们会自动按照一定的次序发送出去。
(7)每个模块在自身发送信息10ms之后,计算出并联工作的模块总数,并求出所有采样电流的平均值,通知模块的控制环节。由于CAN高速的通信能力和极低的出错率,10ms之内所有的模块都能将电流采样值发送出去,让每个模块接收到。
(8)模块检测到自身出现故障时,应及时切断输出,并退出通信。