基于C8051F060的采集存儲系統的設計
在寫狀態時,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產生時間基準,用于數據編幀。
評論