基于DSP/BIOS的數據采集系統(tǒng)研制
3.2.2 網絡任務線程
網絡服務啟動流程通常是先運行NETCTRL任務線程,完成協(xié)議棧的配置、初始化和事件調度,然后開辟新線程執(zhí)行FTP服務或者HTTP服務。本設計中,網絡配置任務線程即NETCTRL任務線程,是DSP/BIOS靜態(tài)創(chuàng)建的主線程mainTSK,并動態(tài)創(chuàng)建網絡傳輸任務線程。網絡傳輸任務是最核心的任務線程,主要完成網絡命令解析、通道查詢和數據上傳的功能,其流程圖如圖3所示。網絡命令分為自檢、監(jiān)測和切斷通信下監(jiān)測3種。自檢時不需要被測28 V信號作為AD采集開關,但需要設備本身提供模擬真實信號的以5 ms為周期發(fā)送的RS 422信號,采用PRD來實現。通信切斷的功能的為了防止設備對原有測試環(huán)境的影響。
4 數據可靠性傳輸機制設計
實時采集上傳的數據量大,為了保證數據傳輸的可靠性,要綜合考慮網絡帶寬、AD采樣率和緩沖數組等因素。底層數據分為AD采集數據和RS 422通信數據2類,AD采集又分成高速采集和低速采集2個通道。高速采集通道的平均數據量為4 MB/s,低速采集通道的平均數據量為50 KB/s,FPGA中為每個通道配置一個FIFO,DSP通過循環(huán)查詢判斷FIFO標志位,有效即從FIFO讀取數據再通過網絡上傳。RS 422通信數據采用中斷方式寫到網絡發(fā)送的緩沖數組中,為了避免由于中斷搶占導致的數據沖突,設計2個緩沖數組通過乒乓操作交替寫入和上傳通信數據。
各環(huán)節(jié)時間估計如下:通過配置寄存器,DSP訪問1次外部存儲器需要40個100 MHz的時鐘周期。DM642運行TI提供的TCP/IP協(xié)議棧,底層通過網絡循環(huán)發(fā)送常數給上位機,經測試,網絡平均帶寬為80 Mb/s。因此,DSP從FIFO中讀取4 KWord(雙字節(jié))數據并上傳需要的時間至少為2.46 ms,這段時間里4.MB/s采樣率下積累的數據量近10 KB。為了防止一個通道數據有效時由于CPU正處理另一個通道的數據而導致第一個通道FIFO溢出的情況,設計每個FIFO的深度為16 KWord,容量達1/4時產生滿標志位。數據傳輸機制如圖4所示。
5 結果分析
上位機軟件采用VC 6.0結合SQL 2005數據庫開發(fā),實現網絡控制、數據接收和存儲、數據處理和故障診斷以及動態(tài)顯示信號波形的功能。每一次監(jiān)測的數據都自動保存到數據庫中以便之后的進一步分析和處理。本文引用地址:http://www.2s4d.com/article/148133.htm
采樣數據波形顯示界面如圖5所示。
6 結語
本設計利用DSP/BIOS的多任務機制,實現網絡控制、數據采集以及網絡通信的有效配合,保證底層高速采集的大數據量快速可靠得上傳給上位機。同時,以DM642的硬件資源為基礎,通過調用NDK提供的APIs,實現了百兆以太網的傳輸。上位機軟件利用數據庫作為數據存儲平臺,可以方便得處理、顯示、對比多次采集結果。實際應用表明,該系統(tǒng)穩(wěn)定可靠、實時性強,在高速實時數據采集領域中有一定的應用價值。
tcp/ip相關文章:tcp/ip是什么
評論