新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 電視監(jiān)控系統(tǒng)中CAN總線網(wǎng)絡(luò)應(yīng)用

電視監(jiān)控系統(tǒng)中CAN總線網(wǎng)絡(luò)應(yīng)用

作者: 時(shí)間:2012-06-09 來源:網(wǎng)絡(luò) 收藏

3.軟件設(shè)計(jì)

  本系統(tǒng)的軟件設(shè)計(jì)主要集中在信息的傳遞上,以CAN2.0協(xié)議為基礎(chǔ),自定義通信協(xié)議,采用模塊化設(shè)計(jì)。

  3.1用戶協(xié)議

  在動(dòng)作幀中,000是幀號,用來識別幀的類型。根據(jù)驗(yàn)收濾波器中的內(nèi)容來選擇傳送幀的目的地。這利用了CAN2.0協(xié)議的 特點(diǎn)。動(dòng)作包括了對攝像機(jī)的動(dòng)作控制命令和對圖像切換的控制命令,根據(jù)前面的內(nèi)容而定。

  切換幀中, 001為幀號。工作方式有四種:00為定點(diǎn);01為循環(huán);10為四畫面循環(huán)[4]。

  數(shù)據(jù)部分主要根據(jù)工作方式的不同,來確定所傳輸?shù)耐ǖ捞?、定點(diǎn)路號、循環(huán)路號等等。

  時(shí)間幀中,010為幀號。循環(huán)時(shí)間是指畫面的循環(huán)時(shí)間[4]。

  在CAN系統(tǒng)中,數(shù)據(jù)在節(jié)點(diǎn)間發(fā)送和接收以四種不同類型的幀出現(xiàn)和控制,其中:數(shù)據(jù)幀將數(shù)據(jù)由發(fā)送器傳至接收器;遠(yuǎn)程幀由節(jié)點(diǎn)發(fā)送,以請求發(fā)送具有相同標(biāo)志符的數(shù)據(jù)幀;出錯(cuò)幀可由任何節(jié)點(diǎn)發(fā)送,以檢測總線錯(cuò)誤,而超載幀用于提供先前和后續(xù)數(shù)據(jù)幀或遠(yuǎn)程幀之間的附加延時(shí)。另外,數(shù)據(jù)幀和遠(yuǎn)程幀以幀間空間隔同先前幀隔開。

  有了完整的底層和上層協(xié)議,就可以設(shè)計(jì)本系統(tǒng)的軟件部分。主要集中在信息傳送上,采用模塊化設(shè)計(jì)。以下具體描述信息傳遞的程序設(shè)計(jì),其他的部分讀者可參閱參考文獻(xiàn)中的涉及論文[4]。

  3.2軟件框圖

  1. 主程序模塊

  主程序模塊如圖6所示,對系統(tǒng)進(jìn)行統(tǒng)一的管理和調(diào)度。

  2. 初始化模塊

  在這個(gè)模塊中主要是對系統(tǒng)的初始化,其中包括了CAN控制器、DG884等的初始化。在這里詳細(xì)的介紹的初始化程序流程。由于獨(dú)立的CAN控制器有兩種不同的工作模式BasicCan 模式 和PeliCan模式。上電時(shí)BasicCan模式是默認(rèn)工作模式。PeliCan是新的工作模式,它能夠處理所有的CAN2.0定義的幀了類型。還提供一些增強(qiáng)功能,本系統(tǒng)采用PeliCan模式。在進(jìn)行信息傳遞時(shí),首先必須對SJA1000進(jìn)行初始化,這對SJA1000是一項(xiàng)很重要的工作。分別對其模式寄存器、時(shí)鐘分頻寄存器、接收代碼寄存器、接收屏蔽寄存器、總線定時(shí)寄存器0、1、輸出控制寄存器、發(fā)送錯(cuò)誤計(jì)數(shù)器、錯(cuò)誤代碼捕捉寄存器及中斷使能寄存器按照PeliCan的模式進(jìn)行初始化。接下來才能進(jìn)行信息的接收和發(fā)送。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉