單片機與USB接口實現(xiàn)電力補償裝置控制系統(tǒng)
在一些特殊的工業(yè)場合,有時需要將傳感器的信號不斷的實時采集和存儲起來,并且到一定時間再把數(shù)據(jù)回放到PC機中進行分析和處理。在工作環(huán)境惡劣的情況下采用高性能的單片機和工業(yè)級大容量的FLASH存儲器的方案恐怕就是最適當?shù)倪x擇了。CYGNAL公司的C8051F320 SOC是一種具有8051內(nèi)核的高性能單片機,運行速度為普通8051的12倍。
本文引用地址:http://www.ex-cimer.com/article/172475.htm 本文給出的是用于大型光伏系統(tǒng)運行狀態(tài)監(jiān)測的數(shù)據(jù)采集存儲電路,由于采用表面貼片工藝制作,整個電路板的寬度僅為18毫米,就像使用U盤一樣方便。
采集電路硬件部分
電路的硬件結(jié)構(gòu)
本系統(tǒng)采用了CYGNAL公司的C8051F320芯片和ATMEL公司的AT45DB321C存儲芯片作為控制和存儲的主要芯片。圖1是信號采集系統(tǒng)的采集及存儲系統(tǒng)框圖。
圖1 基于USB數(shù)據(jù)采集及存儲系統(tǒng)框圖
從圖1中可見,在采集過程中,傳感器的輸入模擬信號經(jīng)可變增益放大器放大后送至C8051F320,經(jīng)過ADC轉(zhuǎn)換為數(shù)字信號。單片機片外有8個45DB321C芯片組成了一個32MB的Data flash存儲器,采集到的數(shù)據(jù)不斷地通過SPI接口傳送到45DB321C芯片中存儲。
與其他型號芯片相比,C8051F320帶有USB接口,片內(nèi)的USB功能控制模塊符合USB2.0規(guī)范,可在全速或低速下運行,并具有1KB USB緩存、集成收發(fā)器,無需外部電阻??梢耘cPC機即插即用。當需要數(shù)據(jù)時,可將采集存儲電路從現(xiàn)場取回,通過USB接口回放到PC機中,在LabVEIW平臺上進行波形顯示和數(shù)據(jù)分析處理。
8051F320與45DB321C的硬件接口
系統(tǒng)中C8051F320與45DB321CI采用SPI單主多從機的方式通信。引腳NSS作為從機選擇線,選擇存儲芯片,低電平有效;SCK作為串行外設接口發(fā)送和接收數(shù)據(jù)的同步時鐘信號;RDY/BUZ作為判斷設備不忙或準備接收新的指令操作的信號線;SO、SI作為數(shù)據(jù)傳輸線。
本系統(tǒng)設計上考慮使用8片45DB321C芯片,最大容量達32MB,通過片選CS1~CS8分別連到各45DB321C的CS端。時鐘SCK只對被選中的45DB321有效。本系統(tǒng)使用多片F(xiàn)lash芯片的設計除了提供充足的存儲空間之外,還解決了一個關鍵問題,就是借鑒硬盤領域RAID技術(shù)的思路,通過對4片一組的Flash順序操作實現(xiàn)一個基本的并行加速,解決了Flash寫入速度過慢的問題,大大提高了存儲性能。
具體電路如圖2所示,其中8片存儲器的SPI采用級聯(lián)只畫出一片,各自的CS片選信號由74HC138譯碼給出。
圖2 單片機與FLASH存儲器的接口電路
采集電路的程序軟件
采集電路的程序是指固化在C8051F320 中的程序,采用c語言編寫,由主程序模塊、ADC數(shù)據(jù)采集、Flash數(shù)據(jù)存儲和USB通信四部分組成。
主程序和ADC數(shù)據(jù)采集
主程序主要完成系統(tǒng)初始化狀態(tài)指示操作控制和參數(shù)設置啟動A/D轉(zhuǎn)換等。
ADC數(shù)據(jù)采集程序?qū)碜詡鞲衅鞯哪M信號轉(zhuǎn)換成數(shù)字信號的。本系統(tǒng)中,ADC的轉(zhuǎn)換是通過Timer2的自動溢出來觸發(fā)的,而采集的速率可以事先通過上位機設置。
評論