液壓挖掘機在工業與民用建筑、交通運輸、水利電力工程、礦山采掘以及軍事工程等施工中起著極為重要的作剛。對于某些不適合人類進入的工作場所,如高溫、含有輻射物或裝卸危險物品的場所下的挖掘任務,以人手動操作為主的傳統液壓挖掘機已不能勝任,液壓挖掘機的遠程監控、自動化和智能化成為該類場所挖掘難題的最好解決方案。在液壓挖掘機的無線遠程監控系統設計中,各種傳感器數據和控制數據的無線傳輸系統的設計對于遠程監控功能的實現具有關鍵作用。
1 系統設計方案
液壓挖掘機的無線監控數據傳輸系統采用上下位機雙層控制結構,上下位機之間采用了點對點通訊模式。上位機采用PC機,主要完成遠程監控、數據存儲處理和運動軌跡規劃運算等工作。下位機安裝于挖掘機上,采用Inter Control公司的機載電腦。MTC通過CAN總線傳輸各傳感器數據和油缸電磁閥開口大小信號,進行挖掘機狀態數據的采集和電磁閥等執行機構的驅動等。各傳感器、油缸電磁閥和機載電腦之間通過CAN總線通信。編程工具是工控領域常用的CoDeSvs。采用通訊頻段為433MHz、通訊最大距離為500m的無線數傳輸模塊nRF905進行無線數據傳輸。nRF905有4種工作模式:掉電模式、待機模式、發射模式、接收模式。無線監控數據傳輸系統采用FPGA作為通信控制模塊,使用SOPC技術搭建片上硬件系統。通信控制程序使用C語言編寫。FPGA通過GPIO口控制nRF905的三組引腳:TX_EN、TRX_CE和PWR來設置nRF905不同的工作模式;載波儉測輸出CD、地址匹配輸出AM和數據就緒輸出DR用于通知FPGAnRF905的收發狀態;SPI接口用于配置、發送和接收數據。系統硬件結構框圖如圖1所示。
2 SOPC片上系統設計
該單元主要功能是通過建立通信協議和對無線數據傳輸模塊的控制,準確實時地接收、存儲來自各個節點的數據,并傳送給上位機和MTC。
2.1 SOPC片上系統硬件構成
加入的SOPC組件和模塊主要有:NiosⅡ處理器,Avalon三態總線橋;外部SDRAM存儲器的控制器核;Flash類型的存儲器,用于存放程序和數據;時間計數器核Interval timer;SPI核,用于實現SPI協議并提供Avalon接口;PIO接口用于連接nRF905的SPT接口和發出控制信號,其管腳連接至FPGA的GPIO口。將所組成的系統進行編譯后,可以下載到FPGA芯片上構成片上控制系統。系統框圖如圖2所示。
2.2 SPI核配置
nRF905射頻模塊和FGPA通過SPI接口進行數據傳輸,該接口以主從方式工作,由以下四線組成:SCK (時鐘信號,由主設備產生)、CSN(片選信號,由主設備控制)、MOSI(主設備數據輸出,從設備數據輸入)、MISO(主設備數據輸入,從設備數據輸出) 通過FPGA實現SPI接口與總線接口轉換,需要考慮的因素有:
(1)接口時序 主要包括/SS與SCK的時序關系:/TREQ與/SS的時序關系;SCK與MOSI和MISO的時序關系,比如MOSI數據存SCK下降沿被從機采集接收,而MISO數據必須在SCK上升沿由從機輸出,在相鄰的下降沿被主機接收。
(2)接口速率 nRF905無線收發芯片的最高工作速率為50kb/s。上位機端的控制軟件可以設置串口的工作速率,本設計中波特率設置為9600b/s。串口的波特率的每個字節加上起始位、停止位和奇偶校驗位,經計算,串口工作速率小于無線芯片的工作速率,因此可以采用nRF905轉發串口數據進行通信。
SOPC Builder內部集成的NIOS II的SPI核可以實現SPI協議并提供與Avalon總線相連的接口。SPI核作為連接微處理器和控制設備的通信接口,可以實現主協議,也可以實現從協議。本系統將SPI核配置為主模式。SPI發送數據的順序根據nRF905的SPI數據傳輸要求,數據字的高位先發送。
2.3 片上系統通訊控制程序設計
(1) FPGA半雙工雙向通信程序設計
nRF905采用了Nordic公司的VLSI Shock Burst技術,射頻數據包的高速信號處理都在芯片內部進行,并且自動產生前導碼和CRC校驗碼。由于nRF905為半雙工芯片,為了實現雙向通信,在程序設計時需要考慮發送與接收的時間。為了提高運行效率,可以采用Shock Burst RX直接到ShockBurst TX模式轉換或Shock Burst TX直接到ShockBurst RX的模式轉換,由于不需要再重新配置寄存器,保持了相同的頻道,因此轉換所消耗的時間最少,轉換時間為550μs。發送端數據采用單字節逐次移位的方式進行傳輸。在發送完畢即直接從Shock Burst TX模式轉換為Shock Burst RX模式。為了確保收到信息,系統采用中斷的方式,通過數據就緒輸出DR置高米產生中斷,如果沒有收到則接收端仍然保持Shock Burst RX模式,發送端若一定時間收不到對方的信號則將上次發送的內容再次發送,從而保證了接收端信息的可靠接收,實現了雙向通信。FPGA片上系統通信流程罔如圖3所示。
(2) SOPC片上串口通信程序設計
NIOSII的UART核可以設置所需的通信模式,比如波特率、偶校驗、停止位、數據位和其他控制信號。系統選用的串口波特率為9600bps。采用1位起始位,8位數據位和1位停止位。串口通信可以使用查詢的方式也可以使用中斷的方式。但是由于查詢的方式較為占用資源,所以本系統采用中斷的方式直接讀取寄存器。UART核能夠輸出一個單獨的中斷請求(IRQ)信號給Avalon總線,從而連接到Nios II處理器,通知FPGA將數據轉發至SPI接口。串口程序流程圖如圖4所示。
3 上下位機與FPGA間的串口程序設計
3.1 MTC方的串口通信設計
Codesyrs進行RS232通信編程,要用到以下四個函數:SysComOpen,SysComSetSettings,SysComRead,SvsComWrite。編寫程序方法類似C語言。
SvsComOpen:打開RS232通訊端口,MTC僅可選COM2,其余皆不可用。
Buffm Address:當讀取到數據后拷貝到變量BUFFER_DATA指向的地址內;
Bvtes To Read:讀取多少個bytes。
Buffer Address:發送數據所在地址。
3.2 PC方的串口通信設計
PC的串口通信程序使用VC6.0編寫,使用Microsoft公司ActiveX控件MSComm。采用事件驅動的辦法,每當有數據由串口收到時,就會觸發消息的響應函數OnComm。即可由PC收取串口的數據。發送時可直接調用該控件發送。
4 結束語
本系統能夠低成本地設計出挖掘機無線傳輸系統,較好地完成半雙工的挖掘機無線數據傳輸工作。采用SOPC設計挖掘機無線傳輸模塊的控制器能夠在軟硬件設計上實現模塊化,能夠大量地減輕研發工作量、提高研發速度。
-
傳感器
+關注
關注
2548文章
50740瀏覽量
752143 -
監控
+關注
關注
6文章
2178瀏覽量
55103 -
無線
+關注
關注
31文章
5437瀏覽量
173103
發布評論請先 登錄
相關推薦
評論