基于無線通信技術的數據記錄系統設計
引 言
“黑匣子”是比較流行的電子記錄設備之一,廣泛應用于實時記錄飛機、船舶、汽車等行進過程中的重要數據,包括速度、方向、高度、偏轉角、發動機的轉速和溫度等。通過這些數據可以了解其運行過程中的情況,同時也是故障檢測、分析事故原因的重要依據。在工業領域,常見的記錄儀有壓力記錄儀、溫度記錄儀、濕度記錄儀等,用于對生產環境進行實時監測,從而保證了有效生產和安全生產。
記錄儀的數據下載方式通常有兩種:通過傳輸線纜下載和通過插拔存儲卡下載。前者需要連接線纜,后者需要插拔存儲卡,兩者均需要結構方面的拆卸。但在某些應用環境中,記錄儀不便于拆卸,特別是在一些輻射性強的工業現場,更不適于長時間的近距離接觸。另外,這兩種方式在一定程度上均可能降低系統的可靠性。
本文依據某工業現場電子設備數據記錄的需求,提出了一種基于近距離無線通信的數據記錄設備。該設備以紅外或藍牙方式下載數據,與傳統的數據下載方式相比,下載數據時既不需要拆卸設備連接線纜或插拔存儲卡,又減少了連線和插拔存儲卡可能導致的接觸故障。
1 設計需求
在某工業現場電子設備工作過程中,要求記錄系統能夠實時記錄設備的各種電氣信號及其工作時序,用于事后設備運行狀況的分析以及故障排查、定位。需要實時采集記錄的信號包括2路ARINC429信號、10路TTL數字信號以及16路模擬信號。采樣頻率應大于或等于1 kHz,記錄時間為1 h左右。根據信號通道數量、數據采集速率和數據記錄時間,可估算出記錄系統的存儲容量應大于500 MB。通常,微處理器內部的存儲空間有限,故需要將采集到的數據存儲到存儲容量大、具有非易失性的外部存儲器中。本系統使用Sandisk公司的1 GB工業級CF卡作為存儲設備。
2 系統總體設計方案
系統采用DSP和FPGA協同控制的方案,總體設計方案如圖1所示。DSP主要完成數據的實時采集和控制,FPGA的數據傳輸,以及與無線通信模塊的數據傳輸;FPGA則實現數據緩存和讀寫CF卡的邏輯時序控制。
DSP是主控制器。選用TI公司的16位定點DSP芯片TMS320F240。它的指令周期為50 ns,內部具有544字的RAM、224K字的可尋址存儲空間、雙10位模/數轉換器、28個獨立可編程的多路復用I/O引腳、1個異步串行通信口(SCI),以及1個同步串行通信口(SPI)。其內部資源可以滿足系統對TTL信號和模擬信號的采集需求,通過外接ARINC429、紅外和藍牙專用接口芯片,實現ARINC429數據信號的采集和兩種無線方式的通信。
FPGA是輔助控制器,其核心為FIFO和邏輯控制電路,用于完成DSP和CF卡間數據傳輸。選用Altera公司CyclonelI系列的FPGA芯片EP2C20Q240C8。它具有142個用戶可使用I/O引腳、52個M4K嵌入式陣列塊和18752個邏輯單元。DSP和FPGA豐富的內部資源很好地滿足了系統設計的需要。
系統主要包括數據存儲和數據下載兩大功能:
①數據存儲。DSP實現對2路ARINC429信號、16路模擬信號和10路數字信號的實時采集,并將數據實時存入FPGA的FIFO中。當FIFO存儲了一定量數據時,FPGA控制邏輯電路自動將FIFO中的數據寫入CF卡中。
②數據下載。首先,DSP將系統的藍牙和紅外模塊設置為從設備。當接收到工作人員所持的帶有藍牙或紅外接口的地面設備發出的連接請求后,先進行鑒權,鑒權通過后與其建立連接。然后,FPGA控制邏輯電路讀出CF卡中數據并存入FIFO,DSP通過查詢或中斷方式將FIFO中的數據通過無線通信模塊發送給地面設備。
3 各功能模塊設計
3.1 FPGA功能模塊設計
使用FPGA實現異步FIFO模塊和CF卡讀寫模塊,是本設計的重點,也是難點。
3.1.1 異步FIFO模塊
數據記錄設備的實時性強、數據量大。為了提高數據傳輸速度、避免數據堵塞,利用FPGA硬件設計上的靈活性,在其內部構建了一個寬度為16位、深度為512的異步FIFO模塊,作為DSP與CF卡之間數據傳輸的中繼站。
異步FIFO的結構圖如圖2所示。它包括4個模塊:數據存儲模塊、寫地址產生模塊、讀地址產生模塊和標志位產生模塊。FIFO的讀寫采用讀時鐘和寫時鐘兩個時鐘。寫時鐘同步的信號有寫地址產生模塊生成的寫請求和寫地址;讀時鐘同步的信號有讀地址產生模塊生成的讀請求和讀地址。寫使能和讀使能分別由DSP與FPGA數據傳輸控制邏輯和cF卡讀寫控制邏輯生成。標志位產生模塊由讀寫地址關系生成FIFO存儲狀態標志,并反饋給主機DSP。DSP通過查詢該標志來控制與FPGA的數據傳輸。
3.1.2 CF卡讀寫模塊
CF卡讀寫模塊分為CF卡讀控制模塊和CF卡寫控制模塊。CF卡讀或寫模塊的設計具有相似性。這里僅介紹寫CF卡的工作過程。
首先,設置CF卡的屬性寄存器。CF卡有4個屬性寄存器,通常只需設置“配置選擇寄存器”以選擇CF卡的讀寫模式。CF卡的讀寫模式有3種:I/O模式、Memory模式和True IDE模式。本設計使用16位的Memory模式讀寫CF卡。Memory模式是CF卡默認的讀寫模式,所以在CF卡初始化過程中不需要設置“配置屬性寄存器”。
其次,設置CF卡的任務文件寄存器。本設計中使用的任務文件寄存器有:數據寄存器、扇區數寄存器、扇區號寄存器、低柱面號寄存器、高柱面號寄存器、驅動器選擇/磁頭寄存器和狀態/命令寄存器。對它們進行設置,可選擇扇區尋址方式,設定每次讀寫的扇區數和邏輯尋址地址,并獲取CF卡狀態以及輸入讀寫命令。
CF卡的尋址方式與計算機的硬盤操作方式類似。扇區的尋址方式有兩種:物理尋址方式(CHS)和邏輯尋址方式(LBA)。本設計使用LBA尋址,對應28位LBA地址。磁頭寄存器存放LBA地址的27~24位;柱面號寄存器存放LBA地址的23~8位;扇區號寄存器存放LBA地址的7~0位。
寫CF卡一個扇區的流程如圖3所示。每次向CF卡存儲數據時,應該先獲取上次存儲到的扇區的LBA地址,從而獲得此次存儲的起始扇區地址。為了記錄每次存儲到的扇區的地址,將LBA地址為0的扇區保留,專用于記錄扇區地址。在開始一次寫操作之前,應該先讀取LBA地址為0的扇區,獲得上次存儲的LBA地址;然后加1獲得此次寫操作的LBA地址,并向指定的扇區寫數據。
利用QuartuslI作為FPGA開發平臺,使用VHDL硬件描述語言實現了FPGA與DSP的接口、異步FIFO的存儲以及CF卡的讀寫邏輯。在QuartuslI自帶仿真工具下得到的寫CF卡時序仿真結果如圖4所示。
3.2 無線通信模塊設計
3.2.1 藍牙模塊設計
藍牙模塊采用BTM0604C2P。它內嵌藍牙芯片BlueCore4-Ext,兼容藍牙2.0+EDR規范,最高支持3 Mbps的數據速率,外置天線,有效距離為10 m,具有標準的UART接口。
DSP與藍牙模塊之間通過HCI協議層建立連接。HCI(Host Controller Interface,主機控制器接口)協議,為DSP提供了一個訪問藍牙模塊內部基帶控制器和鏈路管理器的命令接口,可以獲取藍牙芯片的配置參數。
本設計中,DSP和藍牙模塊之間采用UART方式進行通信。DSP使用的控制信號除了異步串行通信收發信號SCIRXD和SCITXD外,還有4個控制信號,分別與藍牙模塊的LNK、CLR、RTS和CTS引腳相連。其中,LNK腳用于指示藍牙主機和從機連接是否建立,地面設備PC機為藍牙主機,DSP作為藍牙從機;CLR腳用于切換藍牙模塊的工作模式,包括參數設置模式和數據傳輸模式;RTS和CTS腳為“請求發送”和“清除發送”引腳,用于實現DSP和藍牙模塊之間的對話,使數據正常傳輸。
藍牙模塊的SLEEP引腳,既可以使藍牙模塊在休眠和喚醒狀態間切換,也可以用于清除藍牙模塊內嵌芯片記憶的配對主機地址。這些功能的實現由按鍵控制,通過區別按鍵的時長加以區分所需實現的功能。藍牙模塊的復位信號RESET輸入低電平脈沖時有效,而且要求脈沖寬度大于5 mS。
3.2.2 紅外模塊設計
紅外模塊采用HP公司的紅外收發器芯片HSDL_1001和紅外編解碼器芯片HSDL_7001,二者均遵循IrDA 1.0協議。紅外信號的收發使用PWM方案,采用RZI編碼調制解調,調制脈沖寬度為3/16位,調制頻率為38 kHz。由于硬件接口的限制,嵌入式系統中紅外通信的速率為9 600~115 200 bps。紅外數據的傳輸以幀為基本單位,傳輸過程中采用16位的CRC碼進行數據校驗。
系統采用Maxim公司的芯片MAX3110作為DSP的SPI接口和HSDL_7001的UART接口之間的轉換芯片。MAX3110和HSDL_7001均使用外部無緣晶體振蕩電路供電,所用的晶振大小分別為1.8432 MHz和3.686 4 MHz。需要下載的數據,首先經過紅外編解碼器編碼,再通過紅外收發器上集成的發光二極管以紅外光信號的形式向PC機發送。
4 系統軟件設計
系統的功能時序流程如圖5所示。DSP部分程序用C語言編寫,結合硬件電路對數據采集、數據傳輸進行處理和控制。主要的中斷應用有ARINC429信號采集中斷和紅外通信請求中斷。系統的工作流程以時序控制流程為主線。系統初始化之后,進行任務選擇與執行。若特定的I/O口置1,則進入數據存儲程序,采集數據并存至CF卡;若I/O口置0,則進入數據下載程序,等待主設備的連接請求,鑒權并建立相應的連接,讀取CF卡數據,并通過無線通信模塊向主設備發送。
結 語
本文根據某工業現場電子設備的特殊應用需求,提出了一種基于無線通信技術的數據記錄系統。該系統利用DSP與FPGA協同控制方式實現數據的采集和存儲,利用紅外和藍牙模塊實現數據的無線下載;用紅外和藍牙代替有線線纜和插拔存儲卡等傳統數據下載方式,操作方便,避免了傳統方式可能造成的機械故障。此記錄系統滿足了該工業現場電子設備的數據記錄需求,能夠實時記錄設備的電氣信號和控制時序,采樣速率大于1 kHz,并且能夠連續記錄約1 GB的數據。本設計是將無線通信技術應用于該工業現場電子設備中的一次嘗試,相關抗干擾和安全性等問題有待于更深入的研究。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [移動通信] 5G 3GPP全球頻譜介紹 2023-10-24
- [電子說] fpga的開發流程有哪些步驟?fpga和嵌入式系統的區別在哪里? 2023-10-24
- [電子說] 如何創建FPGA控制的機器人手臂? 2023-10-24
- [電子說] 如何創建FPGA控制的機器人手臂 2023-10-24
- [電子說] 用VHDL語言創建一個8位算術邏輯單元(ALU) 2023-10-24
- [電子說] 您的存儲器堆疊了嗎?—賽靈思推出16GB HBM FPGA 2023-10-24
- [電子說] 淺析FPGA設計的安全性 2023-10-24
- [PCB設計] PCB板第一次上電會發生什么事情? 2023-10-24
( 發表人:何亞瓊 )