基于C8051F060的采集存儲系統的設計
在寫(xiě)狀態(tài)時(shí),A/D轉換數據的拾取通過(guò)中斷函數完成,系統主程序能夠輪流從兩塊RAM中讀取數據并順序寫(xiě)入Flash中。為了便于上位機軟件分析,在存儲前需要對A/D轉換器轉換后的數據,加入幀標志和時(shí)間信息。具體實(shí)現方法是:先將A/D轉換器轉換后的數據保存到內部RAM中,為滿(mǎn)足Flash頁(yè)編程的時(shí)間,利用雙RAM實(shí)現乒乓緩存,將內部4 KB的XRAM分為2塊,每塊容量為2 048個(gè)字節,每塊寫(xiě)滿(mǎn)后分別置滿(mǎn)標志,當CPU讀取該RAM中所有數據并寫(xiě)入Flash后清除該RAM滿(mǎn)標志,2塊RAM交替進(jìn)行,保證數據的讀寫(xiě)操作。在采集狀態(tài)下寫(xiě)Flash的流程圖如圖5所示。
3.2 編幀
為了快速提取數據,需在數據存儲前對其編幀,3路信號總采樣速率為15 KS/s,具體編幀格式如表1所列。
這樣編幀后方便了上位機軟件分析,可以方便提取所關(guān)心的信息,在軟件繪出振動(dòng)數據波形圖后通過(guò)時(shí)間軸信息可快速定位到需要查找的區域。
3.3 內部XRAM操作
通過(guò)定義數組實(shí)現內部XRAM操作,數組定義方法為:unsigned char xdata s[4096],xdata標識符指定s的存儲區為外部數據存儲區,由于該數組只需4KB空間且系統中未使用外擴XRAM,所以必須設置存儲器模式為只使用內部XRAM,即設置EMIOCF[3:2]為00。
3.4 定時(shí)器應用
單片機內部5個(gè)定時(shí)/計數器在該系統分別用于:TO產(chǎn)生1 s的循環(huán)定時(shí);T1產(chǎn)生UARTl的波特率(7.372 8 Mb/s);T2產(chǎn)生UARTO的波特率(921.6 Kb/s);T3產(chǎn)生A/D轉換器2的轉換時(shí)鐘。T4產(chǎn)生時(shí)間基準,用于數據編幀。
評論