




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于虛擬儀器的CAN總線通信仿真控制器局部網(CANCONTROLLERAREANETWORK)是BOSCH公司為現代汽車監(jiān)測和控制領先推出的一種多主機局部網,由于其卓越性能現已廣泛應用于工業(yè)自動化、多種控制設備、交通工具、醫(yī)療儀器以及建筑、環(huán)境控制等眾多部門。CAN是一種多主方式的串行通訊總線。一個由CAN總線構成的單一網絡中理論上可以掛接無數個節(jié)點。實際應用中,節(jié)點數目受網絡硬件的電氣特性所限制。CAN可提供高達1Mbit/s的數據傳輸速率這使實時控制變得非常容易。另外。硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。CAN總線有以下特點:1) CAN可以是對等結構,即多主機工作方式,網
2、絡上任意一個節(jié)點可以在任意時刻主動地向網絡上其它節(jié)點發(fā)送信息,不分主從,通訊方式靈活。2) CAN網絡上的節(jié)點可以分為不同的優(yōu)先級,滿足不同的實時需要。3) CAN采用非破壞性仲裁技術,當兩個節(jié)點同時向網絡上傳送信息時,優(yōu)先級低的節(jié)點自動停止發(fā)送,在網絡負載很重的情況下不會出現網絡癱瘓。4) CAN可以點對點、點對多點、點對網絡的方式發(fā)送和接收數據,通訊距離最遠10km(5kb/s),節(jié)點數目可達110個。5) CAN采用的是短幀結構,每一幀的有效字節(jié)數為8個,具有CRC校驗和其它檢測措施,數據出錯幾率極小。CAN節(jié)點在錯誤嚴重的情況下,具有自動關閉功能,不會影響總線上其它節(jié)點操作。6) 通訊
3、介質采用廉價的雙絞線,無特殊要求,用戶接口簡單,容易構成用戶系統(tǒng)。1 CAN總線工作機理1.1 位仲裁要對數據進行實時處理。就必須將數據快速傳送,這就要求數據的物理傳輸通路有較高的速度。在幾個站同時需要發(fā)送數據時要求快速地進行總線分配。實時處理通過網絡交換的緊急數據有較大的不同。一個快速變化的物理量。如汽車引擎負載,將比類似汽車引擎溫度這樣相對變化較慢的物理量更頻繁地傳送數據并要求更短的延時。CAN總線以報文為單位進行數據傳送報文的優(yōu)先級結合在11位標識符中具有最低二進制數的標識符有最高的優(yōu)先級。這種優(yōu)先級一旦在系統(tǒng)設計時被確立后就不能再被更改。總線讀取中的沖突可通過位仲裁解決。1.2 報文格
4、式如圖所示,在總線中傳送的報文,每幀由7部分組成。CAN協(xié)議支持兩種報文格式,其唯一的不同是標識符(ID)長度不同,標準格式為11位擴展格式為29位。在標準格式中,報文的起始位稱為幀起始(SOF)然后是由11位標識符和遠程發(fā)送請求位(RTR)組成的仲裁場。RTR位標明是數據幀還是請求幀,在請求幀中沒有數據字節(jié)??刂茍霭俗R符擴展位(IDE),指出是標準格式還是擴展格式。它還包括一個保留位(ro),為將來擴展使用。它的最后四個字節(jié)用來指明數據場中數據的長度(DLC)。數據場范圍為08個字節(jié)其后有一個檢測數據錯誤的循環(huán)冗余檢查(CRC)。應答場(ACK)包括應答位和應答分隔符發(fā)送站發(fā)送的這兩位均
5、為隱性電平(邏輯l)這時正確接收報文的接收站發(fā)送主控電平(邏輯0)覆蓋它。用這種方法,發(fā)送站可以保證網絡中至少有一個站能正確接收到報文報文的尾部由幀結束標出。在相鄰的兩條報文問有一很短的問隔位如果這時沒有站進行總線存取,總線將處于空閑狀態(tài)。圖1標準數據幀1.3 數據錯誤檢測不同于其它總線,CAN協(xié)議不能使用應答信息。事實上,它可以將發(fā)生的任何錯誤用信號發(fā)出。CAN協(xié)議可使用五種檢查錯誤的方法,其中前三種為基于報文內容檢查。1.3.1 循環(huán)冗余檢查(CRC)在一幀報文中加入冗余檢查位可保證報文正確。接收站通過CRC可判斷報文是否有錯。1.3.2 幀檢查這種方法通過位場檢查幀的格式和大小來確定報文
6、的正確性,用于檢查格式上的錯誤。1.3.3 應答錯誤如前所述,被接收到的幀由接收站通過明確的應答來確認。如果發(fā)送站未收到應答,那么表明接收站發(fā)現幀中有錯誤,也就是說,ACK場已損壞或網絡中的報文無站接收。CAN協(xié)議也可通過位檢查的方法探測錯誤。1.3.4 總線檢測有時,CAN中的一個節(jié)點可監(jiān)測自己發(fā)出的信號。因此,發(fā)送報文的站可以觀測總線電平并探測發(fā)送位和接收位的差異。1.3.5 位填充一幀報文中的每一位都由不歸零碼表示可保證位編碼的最大效率。然而,如果在一幀報文中有太多相同電平的位就有可能失去同步。為保證同步同步沿用位填充產生。在j個生。在五個連續(xù)相等位后發(fā)送站自動插人一個與之互補的補碼位接
7、收時這個填充位被自動丟掉例如,五個連續(xù)的低電平位后,CAN自動插人一個高電平位CAN通過這種編碼規(guī)則檢查錯誤,如果在一幀報文中有6個相同位,CAN就知道發(fā)生了錯誤。2 虛擬儀器技術2.1 虛擬儀器簡介虛擬儀器技術目前已成為測試領域的主流技術,一個虛擬儀器系統(tǒng)主要由儀器硬件、計算機硬件和應用軟件組成,應用軟件又包括開發(fā)環(huán)境、應用程序和儀器驅動程序三部分。Labview(LaboratoryVirtualinstrumentEngineering)是NI公司推出的虛擬儀器開發(fā)平臺,采用圖形化的編程語言,具有強大的人機界面設計和數據分析處理功能,提供了豐富的儀器驅動程序,便于快速創(chuàng)建靈活可靠的應用系
8、統(tǒng),主要用于儀器控制、數據采集、數據分析、數據顯示等領域。虛擬儀器的硬件基礎為個人計算機,它采用虛擬儀器技術來開發(fā)。虛擬儀器充分利用了PC機的資源(處理器、存儲器、顯示器等)及插件卡功能(定時器AD、DA變換器、高速緩存、數字I0電路等),通過支持軟件來完成數據采集、過程通訊、數據分析處理及儀器界面設計等功能。由于虛擬儀器建立在PC機的基礎上,所以它可方便地通過總線來掛接各類插件卡,從而實現了多種儀器功能的集成化。軟件是虛擬儀器的關鍵,軟件設計主要包括儀器面板軟件設計和儀器功能軟件設計。虛擬儀器的面板軟件是利用計算機強大的圖形處理能力,在屏幕上建立圖形逼真、主體感強的儀器面板來替代傳統(tǒng)硬件化儀
9、器面板。虛擬儀器面板上具有與實際儀器面板上相似的旋鈕、開關、指示燈及其它控制部件,用戶通過鼠標或鍵盤操作虛擬儀器。與傳統(tǒng)的編程語言比較,Labview圖形編程方式能夠節(jié)省85以上的程序開發(fā)時間,其運行速度卻幾乎不受影響,體現出了極高的效率。2.2 Labview應用于仿真Labview是一種基于圖形編程語言的開發(fā)環(huán)境G語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖或流程圖。它盡可能利用了技術人員、科學家、工程師所熟悉的術語、圖標和概念,因此,Labview是一個面向最終用戶的工具。它可以增強你構建自己的科學和工程系統(tǒng)的能力,提供了實現儀器編程和數據采集系統(tǒng)的便捷途徑。簡言之,
10、Labview功能強大、靈活方便。它與傳統(tǒng)編程語言有著諸多相似之處,如相似的數據類型、數據流控制結構、程序調試工具等,但二者最大的區(qū)別在于:傳統(tǒng)編程語言是用文本語言編程,而Labview用圖形語言(即各種圖標、圖形符號、連線等)編程。用Labview編程無需太多編程經驗,界面非常直觀形象,都是工程師們熟悉的旋鈕、開關、圖形等,因此LabVlEW對于沒有豐富編程經驗的工程師們來說無疑是個極好的選擇。再者,Labview也提供傳統(tǒng)程序語言(如C語言)的接口,對于其自身不易或不擅長完成的任務(如數據處理)可通過利用其它編程語言來實現,從而最終增強了Labview的整體功能。一個Labview程序分為
11、三部分:前面板、框圖程序、圖標接線端口。前面板是用于模擬真實儀器的前面板;框圖程序則是利用圖形語言對前面板上的控件對象(分為控制量和指示量兩種)進行控制;圖標接線端口用于把Labview程序定義成一個子程序,從而實現模塊化編程。與傳統(tǒng)的編程語言比較,LabVIEW圖形編程方式及其集成的豐富的函數模塊使其在將仿真程序化時效率非常高,可以用它進行仿真、實時控制或者同時執(zhí)行這兩種工作。LabVlEW具有:(1)可以方便地將仿真任務譯為程序語言;(2)出色的數據可視化能力;(3)有適合仿真計算的數據結構范圍;(4)通過簡單的操作即可變量計算和參數設定;(5)精心構建于數學、信號理論上;(6)與現實世界
12、有良好的互聯性。3 Labview仿真CAN通信用Labview模擬CAN通訊,主要是對CAN總線的數據鏈路層的數據傳輸進行仿真,CAN總線的標準為CAN2.0A/B,數據格式為標準數據幀或擴展數據幀。3.1 仿真內容一個典型的CAN結構可以用下圖表示。圖2基于MCP2510的典型系統(tǒng)硬件實現結構由于時間有限,因此本人選擇了用Labview實現CAN總線通信的基本的收發(fā)功能。具體的就是下面兩個模塊,數據發(fā)送模塊和數據接收模塊,發(fā)送模塊包括了數據生成模塊,CAN節(jié)點地址定義模塊,數據分割模塊和轉化幀模塊。本人對仿真信號通信格式做了簡化,對幀傳輸格式重新進行了定義,用Labview中的數組元素表示
13、幀傳輸過程中的位,首位是幀開始位,1為開始,用一個數組元素表示,接著是RTR位,這代表了幀的類型,0表示是數據幀(遠程幀),接著是地址位,實際上地址位和數據為并不止一位,但是為了簡化起見,均將其作為一個元素處理,然后是數據,每幀的數據量最大是8個字節(jié),用最多8個元素來表示,這8個元素每個為一個字節(jié),最后還省略了數據校驗部分,直接用了一個結束符元素來結束幀。3.2 程序結構使用Labview仿真CAN通信主要兩大部分:接收數據模塊和發(fā)送數據模塊。數據生成模塊仿真數據采集卡采集到后的數據,在本次仿真中,需發(fā)送的數據可以做一個數據發(fā)生器來模擬經采集到的的數據進行通信;CAN節(jié)點地址定義模塊主要是為了
14、定義CAN節(jié)點的位置,處理后的數據能夠識別CAN節(jié)點控制器的位置,這樣才能在控制系統(tǒng)中進行控制;數據分割模塊是為了將數據發(fā)生器中的數據進行分割成不超過8字節(jié)的單幀數據;轉化幀模塊主要功能是轉載控制碼和地址碼在幀數據兩端,在數據傳輸過程中,接收模塊才能識別發(fā)送的數據并進行重組解碼;地址識別模塊是根據幀判斷地址優(yōu)先級來決定如何接收數據,接收的數據再經過幀轉化模塊轉化成原來的數據格式。一般地,還應包括數據存儲模塊,數據存儲完成數據的記錄,以便在需要進行數據回放以進一步分析時,可以將程序保存的數據記錄文件讀出。在一個CAN工作周期,其工作流程圖如圖1所示。圖3CAN工作流程圖3.3 程序及面板3.3.1 數據發(fā)生模塊數據發(fā)生器是一個可以根據具體要求任意更改隨機輸入的程序,在本次仿真中,用了隨機數發(fā)生器隨機產生字符串作為輸入數據處理后發(fā)送。圖4數據發(fā)生器3.3.2 數據發(fā)送模塊數據發(fā)送模塊如圖3.2所示。當CAN工作的時候,將輸入字符串數據處理為數組再進行數組分割加載控制碼和地址碼,分割循環(huán)次數及加載控制碼、地址碼位置與數據長度有關。圖5數據發(fā)送模塊3.3.3 接收模塊接收
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國乙基芐基苯胺磺酸市場分析及競爭策略研究報告
- 2025━2030年紅支棉紗行業(yè)深度研究報告
- 2025━2030年平泡行業(yè)深度研究報告
- 2025━2030年中國水泥制構件項目投資可行性研究報告
- 2025-2035年全球及中國逐卷打印行業(yè)市場發(fā)展現狀及發(fā)展前景研究報告
- 2025-2035年全球及中國電圍欄系統(tǒng)行業(yè)市場發(fā)展現狀及發(fā)展前景研究報告
- 2025-2035年全球及中國在線減肥計劃行業(yè)市場發(fā)展現狀及發(fā)展前景研究報告
- 2025-2030年中國塑料毛巾環(huán)數據監(jiān)測研究報告
- 幼兒園獲獎公開課:大班語言《粽子里的故事》教案
- 2025年腳踏自行車及其零件項目發(fā)展計劃
- 小學生春耕教學課件
- 2024年南信語文數學試卷(含答案)
- 2025年個人投資合同電子版模板
- 材料大課堂鈦合金(課堂PPT)
- NRC蛋雞飼養(yǎng)標準
- 項目總工崗位職責
- 最新-路面標線技術交底
- 醫(yī)院卒中質量控制考核方案
- 立風井瓦斯管路安裝施工組織設計
- 附件 流動人員人事檔案轉遞通知單存根
- 計算機信息檢索第三章
評論
0/150
提交評論