1 引言 C805lF系列單片機是Cygnal公司完全集成的混合信號系統級器件(SOC),其CIP一51內核運行速度高達25 MI/s,除具有標準805l的數字外設外,其內部還集成有數據采集和控制系統中常用的模數和數模轉換器等元件,豐富的外設資源及高速指令運算能力大大簡化系統設計。為此,給出了基于C8051F060單片機的數據采集存儲系統設計方案,可實現外場試驗中彈載振動傳感器輸出的3路振動信號的采集和存儲,并將存儲的數據通過串行接口上傳至地面測試臺,最終上傳到上位機,從而實現現場數據的回放和分析。 2 系統硬件設計 圖1給出系統整體框圖,整個系統是由記錄器,地面測試臺,上位機及配套軟件組成。其中,記錄器包括電源模塊,信號調理模塊及采編存儲模塊,而電源模塊可向記錄器的各模塊提供所需電源,信號調理模塊用于濾波、調幅3路振動信號,采編存儲模塊用于采集、編幀和存儲3路信號。系統存儲選用SAMSUNG的NAND Flash K9K8G08UOM器件,而主控器件選用C8051F060。該主控器件除指令執行速度快,I/0端口配置靈活和在線調試功能外,還具有以下特點:①內部集成10位逐次逼近型A/D轉換器,最高采樣率可達200 KS/s,無需外接專用A/D轉換器,降低成本,簡化電路設計;②UARTI為增強型波特率發生器,最高波特率達系統時鐘頻率的1/2,可實現系統數據上傳。該系統采用14.745 6MHz的晶體振蕩器,最高通信波特率為7.372 8 Mb/s。③豐富的定時器資源,C805lF060內部具有5個定時/計數器,滿足系統要求。④C805lF060內部4 K字節的XRAM可作為數據緩存。圖2給出采編存儲模塊的結構框圖,具體電路連接圖如圖3所示。 地面測試臺主要完成外場試驗環境各項參數的模擬生成以及在記錄器回收后數據上傳,與記錄器的通信采用串口通信方式。上位機通過USB接口控制地面測試臺完成對記錄器的測試及記錄器回收讀數后的數據分析。從而該系統設計可滿足:振動傳感器輸出幅值為0~5 V的3路電壓信號;A/D轉換器分辨率為10 bit;采集速率每路為5 KS/s,分時采集,存儲容量為1 G字節;實現循環記錄方式,系統上電后,當接收到一組特定串行數據后便開始記錄,掉電后停止記錄,其串行數據的波特率為921.6 Kb/s。 3 系統軟件設計 3.1 開啟采集方式 記錄器上電初始化后,在1 s內循環判斷串口0是否接收到一組數據,如果接收到數據,就進入寫狀態,否則轉去判斷讀信號是否有效。如果有效則進入讀狀態,將數據從Flash中讀出并通過串口l發送,否則返回再判斷串口0是否接收到數據,如此循環。其總體流程如圖4所示。 在寫狀態時,A/D轉換數據的拾取通過中斷函數完成,系統主程序能夠輪流從兩塊RAM中讀取數據并順序寫入Flash中。為了便于上位機軟件分析,在存儲前需要對A/D轉換器轉換后的數據,加入幀標志和時間信息。具體實現方法是:先將A/D轉換器轉換后的數據保存到內部RAM中,為滿足Flash頁編程的時間,利用雙RAM實現乒乓緩存,將內部4 KB的XRAM分為2塊,每塊容量為2 048個字節,每塊寫滿后分別置滿標志,當CPU讀取該RAM中所有數據并寫入Flash后清除該RAM滿標志,2塊RAM交替進行,保證數據的讀寫操作。在采集狀態下寫Flash的流程圖如圖5所示。 3.2 編幀 為了快速提取數據,需在數據存儲前對其編幀,3路信號總采樣速率為15 KS/s,具體編幀格式如表1所列。 這樣編幀后方便了上位機軟件分析,可以方便提取所關心的信息,在軟件繪出振動數據波形圖后通過時間軸信息可快速定位到需要查找的區域。 3.3 內部XRAM操作 通過定義數組實現內部XRAM操作,數組定義方法為:unsigned char xdata s[4096],xdata標識符指定s的存儲區為外部數據存儲區,由于該數組只需4KB空間且系統中未使用外擴XRAM,所以必須設置存儲器模式為只使用內部XRAM,即設置EMIOCF[3:2]為00。 3.4 定時器應用 單片機內部5個定時/計數器在該系統分別用于:TO產生1 s的循環定時;T1產生UARTl的波特率(7.372 8 Mb/s);T2產生UARTO的波特率(921.6 Kb/s);T3產生A/D轉換器2的轉換時鐘。T4產生時間基準,用于數據編幀。 以下為A/D轉換器2的初始化程序代碼: 值得注意的是:由于C8051F060采用分頁機制,對每個寄存器操作前必須先將SFRPAGE指向相應的特殊功能寄存器頁,否則操作無效,而在中斷發生時SFR頁會自動切換到中斷標志位所在頁,使得軟件無需對SFR頁進行保護操作,降低程序消耗。 4 測試試驗 該記錄器在正式上彈前已經過兩次炮擊試驗.炮擊試驗情況如表2所示。 兩次炮擊試驗均是考核整個記錄器的外部結構以及內部電路板的抗過載能力,試驗后電路板正常無損壞。而外部晶體振蕩器損壞,因此,該系統采用C8051F系列單片機,由于其內部集成可編程內部晶體振蕩器,在記錄器回收后讀取數據時,系統可自動將時鐘切換至內部晶體振蕩器模式,這樣避免回收后重新更換晶體振蕩器。 C8051F系列單片機可靈活配置系統各功能模塊時鐘,例如:系統使用內部晶體振蕩器,定時器和PCA等外部晶體振蕩器,可改變內部晶體的頻率,也可禁止,只使用外部晶體振蕩器,只要內部晶體振蕩器和外部晶體振蕩器配置正確,系統可在任何時刻在兩者之間迅速切換。值得注意的是:晶體振蕩電路對PCB布局和外部噪聲非常敏感,應將晶體振蕩器盡可能地靠近XTAL引腳放置,布線應盡可能地短并用地平面屏蔽,以防止其他引線引入噪聲或干擾;每個電源引腳處放置0.1μF和1μF的去耦電容,且盡可能地靠近該單片機放置,而未使用的模擬輸入應接地(模擬地)。 5 結語 該設計的采編存儲系統具有體積小、成本低、數據傳輸速度快等優點,經實驗證明:該系統工作穩定,可以滿足現場采集分析的要求。 |