Global Sources
電子工程專輯
 
電子工程專輯 > 放大/轉換
 
 
放大/轉換  

將高速CAN傳輸與數據採集測量同步化的方法

上網時間: 2004年01月31日     打印版  Bookmark and Share  字型大小:  

關鍵字:CAN  PXI  同步  數據採集  定時配置 

對於需要為基於CAN匯流排的電子模組和系統製作設計驗證、生產製造和性能測試系統的工程師而言,PXI平台是測試和測量解決方案的理想選擇,因為它可以將在多種匯流排介面之間傳輸的CAN資訊與模擬及數位定時測量同步化執行,本文介紹如何利用PXI設計一個用於CAN通訊和數據採集的一體化解決方案。

CAN是雙線、多點串列匯流排,它使連網的設備可以互相通訊。隨著CAN設備應用的發展,有關將測試系統組件(如電壓和感測器測量設備、傳動裝置、離散輸入和輸出)整合於一體的需求日益成長。要想系統可以獲得重覆的測量結果,將CAN傳輸與這些組件同步的功能顯得尤為重要。

本文描述了如何配置一個可以透過CAN訊框API,將多條CAN匯流排上的資訊傳輸與同時進行著的測量工作同步起來的方法。你可使用類似的方法使CAN與其它類型的系統輸入╱輸出同步。

即時系統整合匯流排

PXI機箱中納入了即時系統整合(RTSI)定時匯流排,還包括七根觸發線,用於製作NI的測量、影像採集和運動控制設備以及CAN介面板卡之間的靈活的同步關係。觸發匯流排可以將系統中的一個或多個設備將定時訊號置於底板上,因為系統中的每塊板卡都可以在底板上獲取這些定時訊號,以便進行輸入╱輸出同步。由於定時是在硬體中進行,因此在系統初始化之後就無需使用應用軟體對輸入╱輸出同步進行干涉。

系統定時配置

定時基準為一塊產生1kHz脈衝串的6030E數據採集板,如圖1所示。該定時訊號經由PXI觸發匯流排到達兩塊8461雙埠CAN板卡上。此訊號使得四個CAN埠上的資訊傳輸分別在1kHz、500Hz、250Hz和100Hz的訊框速率下同步。

一塊5102雙通道數位化儀板卡測量並顯示CAN傳輸之間的定時關係以及定時脈衝串波形。如圖1所示為數據採集系統框圖。6030E產生1kHz的脈衝串。脈衝路由至CAN板,CAN介面將訊框發送至一個示波器或一個同步採樣板卡(如611x)。在此例中,CAN介面被配製成如同連接到了高速CAN網路。要進行高速傳輸,ISO11898要求在傳輸線每一端的CAN+和CAN訊號之間使用120歐終端電阻。表1:CAN每隔一個定時周期傳輸一訊框。

labview例程

圖2所示的CAN配置程式碼是利用訊框API對LabVIEW中的CAN對象進行初始化的關鍵步驟。本文對我們的應用案例中的配置設定進行了說明。如要獲取其它資訊或了解用API通道進行同步的案例,請參閱NI-CAN 2.0程式員參考手冊。

在圖2中先配置CAN網路介面,然後再正確配置每個CAN對象。CAN埠被添加到網路介面群集中,以簡化用戶介面。第一訊框將網路的配置屬性初始化。現在來看CAN配置的要素,如圖3所示。

圖3所示為網路介面群集器。Standard Comparator為0,這樣網路介面就能夠接收標準訊框。此處不涉及Standard Mask。採用Extended comparator會產生相同情況,它允許網路接收擴展訊框。

=====================


Start On Open:用於確定傳輸是自動開始(True)還是透過ncAction.vi調用(False)開始。


Baud Rate:用於確定數據傳輸速率。此例中波特率設置為1Mbit/s。


Read Queue Length和Write Queue Length:傳送到介面的訊框的數量。


Standard Comparator和Standard Mask:被一起用來確定CAN網路是傳輸數據還是從網路接收數據。由於CAN介面只能發送數據,Standard
Comparator應設為0x0。在例子中Standard Mask不起作用。


======================

CAN配置的訊框定時要素在CAN RTSI Config群集器(位於圖4中所示的CAN對象的底部)中指定。圖4所示為CAN對象數組。除了針對CAN0::STD5的配置之外,數組還有三個用於CAN0::STD8、CAN0::STD7和CAN0::STD6的類似元素。


============================


RTSI Mode:規定RTSI提供CAN傳輸定時訊號。


RTSI Signa:規定由哪根RTSI線提供定時訊號。


RTSI Behavior:在此例中不相關。


RTSI Skip:確定相對於定時訊號頻率的訊框傳輸速率。跳躍值為1表示CAN每隔一個定時訊號周期傳輸一訊框。


===========================

在例子中,四個CAN對象按以下方式在網路上傳輸數據。注意:此例中的CAN傳輸基於外觸發,因此讀隊列長度可以為零。所有元素的通訊形式都應為周期性傳輸數據。示例程式碼的下一訊框利用Generate Pulse Train.VI對DAQ板進行配置,使其以所期望的頻率產生脈衝串。該訊號透過Route Signal.VI發送至一根PXI觸發線。如圖5所示,從MIO板產生1kHz脈衝並發送至RTSI線。

下一訊框從示波器模擬輸入讀取數據並將訊框從每一隊列傳送至CAN對象。每一CAN對象的執行和示波器測量同時進行,直到用戶按下停止按鈕或出錯。圖6所示為四個平行迴路從每一隊列讀取數據並寫入特定的CAN對象。該程式還獲取脈衝,以在PXI觸發匯流排中產生觸發訊號。

從以下的框圖中可以看出,Write CAN Frames VI從串隊列讀取數據並將其轉換為數據訊框,然後將其寫入CAN對象中。您可以使用Delay(毫秒)終端迫使與最慢隊列相關的進程進入休眠狀態,如圖7所示。最後兩訊框結束每一CAN對象的句柄並將每個介面復位,如圖8所示。

在此例中,LabVIEW隊列VI用於在介面準備好進行傳輸之前對CAN數據進行緩衝。數據由磁碟文件提供。為此例開發的脈衝串產生器-RTSI VI讀取文件數據並將其轉換為queue VI可以接受的字符串。與CAN數據輸出程式碼一樣,數據排隊程式碼也包括四個同時執行的程式迴路,如圖9所示。所產生的示波器顯示如圖10所示。紅色跡線代表的訊號是6030E產生的定時脈衝串。藍色跡線為CAN數據傳輸波形。

如圖11所示,較長的時基可每四個脈衝顯示三個數據訊框,每二十個脈衝顯示四個數據訊框。注意:觸發脈衝和每一訊框到達之間的延遲是由於與低級CAN驅動相關的中斷等待時間所引起。實際結果是每一CAN對象的數據以基本?定的延遲或相對於產生定時訊號的插槽位置的時間延遲進行傳輸。

結論

本文顯示可以用觸發脈衝在不同頻率下傳輸CAN數據,原因是具有靈活性的PXI觸發匯流排和RTSI匯流排可分別用於PXI和PCI。雖然在此例中對所有對象使用了相同的觸發訊號,也可對每一對象使用不同的觸發訊號。

供稿:NI公司


Email:china.info@ni.com





投票數:   加入我的最愛
我來評論 - 將高速CAN傳輸與數據採集測量同步化的...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首