82c250為CAN總線收發(fā)器,是CAN控制器和物理總線間的接口,提供對(duì)總線的差動(dòng)發(fā)送能力和對(duì)CAN控制器的差動(dòng)接收能力。
82C250的功能描述
1、發(fā)送數(shù)據(jù)輸入
2、接地
3、提供電壓
4、接收數(shù)據(jù)輸出
5、參考電壓輸出
6、低電平CNA電壓輸出/輸入
7、高電平CNA電壓輸出/輸入
8、Slope電阻輸入
82C250的功能框圖
圖1為CAN控制器與物理總線之間的接口電路82C250的功能框圖。82C250能夠提供對(duì)總線的差動(dòng)接收和發(fā)送功能,以實(shí)現(xiàn)總線上各節(jié)點(diǎn)之間的電氣隔離,最高通信速率可達(dá)1Mb/s。
在上面的硬件實(shí)現(xiàn)方案中,CAN只采用OSI參考模型的兩層協(xié)議――物理層和數(shù)據(jù)鏈路層,它僅實(shí)現(xiàn)了節(jié)點(diǎn)之間無(wú)差錯(cuò)的數(shù)據(jù)傳輸。因此,其他層的協(xié)議需要自己定義。
以下是針對(duì)開(kāi)關(guān)電源并聯(lián)系統(tǒng)的數(shù)字均流控制制定的部分高層協(xié)議:
?。?)允許參加并機(jī)的模塊總線不超過(guò)8個(gè),每個(gè)模塊擁有一個(gè)三位的地址編碼,模塊的地址編碼不允許重復(fù)。
?。?)每個(gè)模塊都以自身的地址碼作為發(fā)送數(shù)據(jù)的優(yōu)先級(jí)。
(3)模塊向外發(fā)送數(shù)據(jù)幀時(shí),應(yīng)包含自身的地址碼信息。
?。?)所有的數(shù)據(jù)都以廣播形式向總線發(fā)送,同時(shí)回收自己發(fā)送的數(shù)據(jù),如發(fā)現(xiàn)發(fā)送和回收的數(shù)據(jù)不符,則立即重發(fā)。
?。?)對(duì)每個(gè)模塊而言,上電后1S內(nèi)若未接收到任何通信信息,則在1S計(jì)時(shí)結(jié)束后延時(shí)發(fā)送自身的地址碼及電流采樣值(可能為零)。這個(gè)延時(shí)發(fā)送時(shí)間(tdelay)的計(jì)算式為
tdelay=T1×MADDR
式中T1――單位延時(shí)時(shí)間常數(shù),該值可以根據(jù)通信速率合理定義;
MADDR――模塊自身的地址編碼。
(6)從模塊上電后第一次接收到通信信息(可能為自身發(fā)送的信息)起,每隔40ms向外發(fā)送自身地址碼和電流采樣值。如果發(fā)生沖突,CAN會(huì)根據(jù)每個(gè)模塊信息的優(yōu)先級(jí)自動(dòng)調(diào)整發(fā)送順序。由于每個(gè)模塊發(fā)送信息的優(yōu)先級(jí)都不相同,因此它們會(huì)自動(dòng)按照一定的次序發(fā)送出去。
?。?)每個(gè)模塊在自身發(fā)送信息10ms之后,計(jì)算出并聯(lián)工作的模塊總數(shù),并求出所有采樣電流的平均值,通知模塊的控制環(huán)節(jié)。由于CAN高速的通信能力和極低的出錯(cuò)率,10ms之內(nèi)所有的模塊都能將電流采樣值發(fā)送出去,讓每個(gè)模塊接收到。
(8)模塊檢測(cè)到自身出現(xiàn)故障時(shí),應(yīng)及時(shí)切斷輸出,并退出通信。