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)模塊檢測到自身出現故障時,應及時切斷輸出,并退出通信。