資源描述:
《基于can總線數(shù)據(jù)采集系統(tǒng)設(shè)計實(shí)現(xiàn)分析》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、-基于CAN總線數(shù)據(jù)采集系統(tǒng)的設(shè)計與實(shí)現(xiàn)——CAN總線通信實(shí)驗(yàn)內(nèi)容提要:以CAN(ControllerAreaNetwork)總線控制器SJA1000為核心,設(shè)計了一種通用的基于CAN總線的數(shù)據(jù)采集系統(tǒng),給出了數(shù)據(jù)采集系統(tǒng)的原理、單個節(jié)點(diǎn)的軟硬件設(shè)計;重點(diǎn)闡述了CAN總線智能節(jié)點(diǎn)的設(shè)計、實(shí)現(xiàn)與注意事項(xiàng)。試驗(yàn)表明,CAN總線的多主結(jié)構(gòu)使系統(tǒng)改型靈活,數(shù)據(jù)傳輸穩(wěn)定,可靠性好,數(shù)據(jù)傳輸速率可達(dá)1Mbit/s,能滿足現(xiàn)場的實(shí)時性要求。CAN總線的使用大大節(jié)約了連接導(dǎo)線、維護(hù)和安裝費(fèi)用,提高了系統(tǒng)的性價比,具有廣泛的應(yīng)用前景。關(guān)鍵詞:數(shù)據(jù)采集CAN總線現(xiàn)場總線芯片SJA1000.---
2、目錄一、引言1二、CAN總線1(一)CAN總線介紹1(二)CAN協(xié)議1三、結(jié)構(gòu)設(shè)計4四、硬件設(shè)計5五、軟件設(shè)計6(一)初始化子程序7(二)發(fā)送子程序8(三)查詢方式接收子程序10六、測試報告12附錄15參考文獻(xiàn)36.---一、引言信息技術(shù)的飛速發(fā)展,引起了自動化系統(tǒng)結(jié)構(gòu)的變革,形成以網(wǎng)絡(luò)集成自動化為基礎(chǔ)的控制系統(tǒng)?,F(xiàn)場總線順應(yīng)這一形式發(fā)展,已成為當(dāng)前工業(yè)數(shù)據(jù)總線領(lǐng)域中一個新熱點(diǎn),被廣泛應(yīng)用于工業(yè)現(xiàn)場控制、智能家居、交通工具、環(huán)境監(jiān)測等眾多領(lǐng)域。用數(shù)據(jù)采集系統(tǒng)能實(shí)現(xiàn)數(shù)據(jù)采集與處理,加入高級算法即可實(shí)現(xiàn)智能控制,因而減輕了上位機(jī)的負(fù)擔(dān)。本設(shè)計設(shè)計了一個通用的基于CAN總線的數(shù)據(jù)采
3、集卡,著重闡述了它的設(shè)計及其實(shí)現(xiàn)。.---.---二、CAN總線(一)CAN總線介紹CAN總線(ControllerAreaNetwork控制器局域網(wǎng))是現(xiàn)場總線的一種。它是德國Bosch公司在1986年為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通訊總線。CAN總線與其它通信網(wǎng)的不同之處有二:一是報文傳送中不包含目標(biāo)地址,它是以全網(wǎng)廣播為基礎(chǔ),各接收站根據(jù)報文中反映數(shù)據(jù)性質(zhì)的標(biāo)識符過濾報文,該收的收下,不該收的棄而不用。其好處是可在線上網(wǎng)下網(wǎng)、即插即用和多站接收;二是特別強(qiáng)化了對數(shù)據(jù)安全性的關(guān)注,滿足控制系統(tǒng)及其它較高數(shù)據(jù)要求的系統(tǒng)需求。CAN總線
4、具有下列主要特性:l多主站依據(jù)優(yōu)先權(quán)進(jìn)行總線訪問;l非破壞性的基于優(yōu)先權(quán)的總線仲裁;l借助接收濾波的多地址幀傳送;l遠(yuǎn)程數(shù)據(jù)請求;l配置靈活;l全系統(tǒng)的數(shù)據(jù)相容性;l錯誤檢測和出錯信令;l發(fā)送期間若丟失仲裁或由于出錯而遭破壞的幀可自動重發(fā)送;l暫時錯誤和永久性故障節(jié)點(diǎn)的判別以及故障節(jié)點(diǎn)的自動脫離CAN總線。(二)CAN協(xié)議數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議是指對數(shù)據(jù)傳輸?shù)募s定,包括定時、控制、格式化和數(shù)據(jù)表示方法等等。1.CAN分層結(jié)構(gòu)的協(xié)議CAN是一串行通訊協(xié)議CAN總線規(guī)范規(guī)定了任意兩個節(jié)點(diǎn)之間的兼容性,包括電氣特性及數(shù)據(jù)解釋協(xié)議,為保證設(shè)計使用的透明性及使用的靈活性,CAN協(xié)議分為如下
5、幾層:目標(biāo)層、傳送層、物理層。目標(biāo)層的功能范圍包括:信息識別、信息狀態(tài)及處理。傳送層的功能范圍包括:幀組織、總線仲裁、檢錯、錯誤報告、錯誤處理。物理層的功能范圍包括:實(shí)際位傳送過程上的電氣特性。2.CAN網(wǎng)絡(luò)通訊協(xié)議.---總線控制器支持4種不同結(jié)構(gòu)的CAN協(xié)議幀類型:數(shù)據(jù)幀用于節(jié)點(diǎn)之間的數(shù)據(jù)傳輸遠(yuǎn)程幀:用于請求發(fā)送具有相同標(biāo)識符的數(shù)據(jù)幀出錯幀:用于指示檢測到的錯誤狀態(tài)過載幀:用于提供先前和后續(xù)數(shù)據(jù)幀或遠(yuǎn)程幀之間的附加延時數(shù)據(jù)幀、遠(yuǎn)程幀、出錯幀、過載幀都按一定的格式進(jìn)行編碼數(shù)據(jù)幀:由7個不同的位場構(gòu)成,如圖1所示。它們是:幀起始、仲裁場、控制場、CRC場、ACK場和幀結(jié)束;遠(yuǎn)
6、程幀:由6個不同的位場構(gòu)成:幀起始、仲裁場、控制場、CRC場、ACK場、幀結(jié)束出錯幀:由兩個不同的場構(gòu)成。第一個場由來自不同節(jié)點(diǎn)的錯誤標(biāo)志疊加給出,后隨的第二個場為錯誤定界符超載幀:包括兩個位場、超載標(biāo)志和超載界定符。數(shù)據(jù)幀和遠(yuǎn)程幀以幀間空間同先前幀隔開,幀編碼和發(fā)送/接收。圖1數(shù)據(jù)幀的構(gòu)成幀起始、仲裁場、控制場、數(shù)據(jù)場、序列幀段均以位填充方法進(jìn)行編碼,即在以送位流中檢測到5個數(shù)值相同的時候,自動插人一個補(bǔ)碼位。數(shù)據(jù)幀或遠(yuǎn)程幀的其余位場、錯誤幀、超載幀為固定格式,不使用位填充方法編碼,幀中的位流按照非歸零方法編碼。發(fā)送時從其SOF場開始逐個位場發(fā)送。對于發(fā)送器和接收器,一幀的
7、有效點(diǎn)是不同的。對于發(fā)送器,若在幀結(jié)束完成前不存在錯誤,則該幀有效。對于接收器,若在幀結(jié)束最后一位前不存在錯誤,則該幀有效??偩€訪問和仲裁:當(dāng)檢測到間歇場未被“顯性”位中斷后,認(rèn)為總線被所有節(jié)點(diǎn)釋放。總線被釋放后,“錯誤一激活”節(jié)點(diǎn)可以訪問總線。當(dāng)許多節(jié)點(diǎn)一起開始發(fā)送時,只有發(fā)送具有最高優(yōu)先權(quán)的幀節(jié)點(diǎn)變?yōu)榭偩€主機(jī).---,享有對總線的控制權(quán)。這種解決總線訪問沖突的機(jī)理是基于競爭的促裁,依據(jù)標(biāo)識符和緊隨其后的RTR位來完成。錯誤檢測:在CAN中存在5類不同的錯誤位錯誤、填充錯誤、CRC錯誤、形式錯誤、應(yīng)答