CAN總線網(wǎng)絡(luò)的實(shí)時(shí)性研究和改進(jìn)
可見,在競(jìng)爭(zhēng)失敗提升優(yōu)先級(jí)的情況下,不會(huì)出現(xiàn)優(yōu)先級(jí)相同的情況,因此不會(huì)產(chǎn)生相應(yīng)的錯(cuò)誤。該算法的實(shí)現(xiàn)流程圖如圖4所示。本文引用地址:http://www.ex-cimer.com/article/155170.htm
CAN網(wǎng)絡(luò)已經(jīng)有很多控制芯片。控制芯片可以完成CAN協(xié)議轉(zhuǎn)換。要想通過動(dòng)態(tài)優(yōu)先級(jí)來改進(jìn)CAN實(shí)時(shí)性,就要針對(duì)不同芯片的應(yīng)用特性來實(shí)現(xiàn)。本文的仿真是利用Philips公司的SJA1000來實(shí)現(xiàn)的。
3 TTCAN協(xié)議
TTCAN(時(shí)間觸發(fā)CAN)是CAN協(xié)議的另外一種擴(kuò)展,它依賴一個(gè)靜態(tài)的TDMA時(shí)間表來保證確定的響應(yīng)時(shí)間。將系統(tǒng)中所有發(fā)送周期型數(shù)據(jù)的節(jié)點(diǎn)至少發(fā)送1次的時(shí)間稱為系統(tǒng)周期,系統(tǒng)周期又由n個(gè)基本周期組成。TTCAN中一個(gè)特殊的節(jié)點(diǎn)即時(shí)間主控節(jié)點(diǎn)周期性地發(fā)送使各個(gè)節(jié)點(diǎn)同步的消息,并且將CAN的通信分割在基本周期內(nèi)。每個(gè)基本周期開始于一個(gè)參考消息,并且由下一個(gè)參考消息的開始作為結(jié)束。在每個(gè)基本周期內(nèi),主定時(shí)器又將每個(gè)基本周期的信道使用時(shí)間分為一個(gè)個(gè)的時(shí)間窗口,分給不同的信號(hào),特定的信號(hào)只能在特定的時(shí)間窗口內(nèi)進(jìn)行傳輸,避免了信號(hào)之間的干擾,其結(jié)構(gòu)如圖5所示。參考信息是由主定時(shí)器發(fā)送的,控制基本周期的時(shí)態(tài),它的發(fā)送表明一個(gè)基本周期的開始;獨(dú)占窗口是為特定信號(hào)預(yù)留的特定時(shí)問窗口,只有特定的信號(hào)才能在該時(shí)間窗口內(nèi)傳輸,為了使系統(tǒng)具有一定的靈活性,獨(dú)占窗口在一個(gè)基本周期內(nèi)可以重復(fù)出現(xiàn),但是為了保證數(shù)據(jù)傳輸?shù)拇_定性,CAN幀的自動(dòng)重發(fā)功能在獨(dú)占窗口內(nèi)被禁止。分配給隨機(jī)發(fā)送信息的時(shí)間窗口叫競(jìng)爭(zhēng)窗口,一個(gè)競(jìng)爭(zhēng)時(shí)窗可以分配給多個(gè)信息幀,競(jìng)爭(zhēng)時(shí)窗的數(shù)據(jù)碰撞采用CAN的位仲裁機(jī)制,在這里發(fā)送的每個(gè)信息幀都具有固定的優(yōu)先級(jí),位仲裁機(jī)制決定網(wǎng)絡(luò)中哪個(gè)信息幀取得總線的訪問權(quán)。基于和獨(dú)占窗口相同的原因,CAN的自動(dòng)重發(fā)機(jī)制也被禁止。自由窗口是為網(wǎng)絡(luò)的進(jìn)一步擴(kuò)展預(yù)留的窗口。
評(píng)論