單片機與USB接口實現電力補償裝置控制系統
在一些特殊的工業場合,有時需要將傳感器的信號不斷的實時采集和存儲起來,并且到一定時間再把數據回放到PC機中進行分析和處理。在工作環境惡劣的情況下采用高性能的單片機和工業級大容量的FLASH存儲器的方案恐怕就是最適當的選擇了。CYGNAL公司的C8051F320 SOC是一種具有8051內核的高性能單片機,運行速度為普通8051的12倍。
本文引用地址:http://www.czjhyjcfj.com/article/172475.htm 本文給出的是用于大型光伏系統運行狀態監測的數據采集存儲電路,由于采用表面貼片工藝制作,整個電路板的寬度僅為18毫米,就像使用U盤一樣方便。
采集電路硬件部分
電路的硬件結構
本系統采用了CYGNAL公司的C8051F320芯片和ATMEL公司的AT45DB321C存儲芯片作為控制和存儲的主要芯片。圖1是信號采集系統的采集及存儲系統框圖。

圖1 基于USB數據采集及存儲系統框圖
從圖1中可見,在采集過程中,傳感器的輸入模擬信號經可變增益放大器放大后送至C8051F320,經過ADC轉換為數字信號。單片機片外有8個45DB321C芯片組成了一個32MB的Data flash存儲器,采集到的數據不斷地通過SPI接口傳送到45DB321C芯片中存儲。
與其他型號芯片相比,C8051F320帶有USB接口,片內的USB功能控制模塊符合USB2.0規范,可在全速或低速下運行,并具有1KB USB緩存、集成收發器,無需外部電阻。可以與PC機即插即用。當需要數據時,可將采集存儲電路從現場取回,通過USB接口回放到PC機中,在LabVEIW平臺上進行波形顯示和數據分析處理。
8051F320與45DB321C的硬件接口
系統中C8051F320與45DB321CI采用SPI單主多從機的方式通信。引腳NSS作為從機選擇線,選擇存儲芯片,低電平有效;SCK作為串行外設接口發送和接收數據的同步時鐘信號;RDY/BUZ作為判斷設備不忙或準備接收新的指令操作的信號線;SO、SI作為數據傳輸線。
本系統設計上考慮使用8片45DB321C芯片,最大容量達32MB,通過片選CS1~CS8分別連到各45DB321C的CS端。時鐘SCK只對被選中的45DB321有效。本系統使用多片Flash芯片的設計除了提供充足的存儲空間之外,還解決了一個關鍵問題,就是借鑒硬盤領域RAID技術的思路,通過對4片一組的Flash順序操作實現一個基本的并行加速,解決了Flash寫入速度過慢的問題,大大提高了存儲性能。
具體電路如圖2所示,其中8片存儲器的SPI采用級聯只畫出一片,各自的CS片選信號由74HC138譯碼給出。

圖2 單片機與FLASH存儲器的接口電路
采集電路的程序軟件
采集電路的程序是指固化在C8051F320 中的程序,采用c語言編寫,由主程序模塊、ADC數據采集、Flash數據存儲和USB通信四部分組成。
主程序和ADC數據采集
主程序主要完成系統初始化狀態指示操作控制和參數設置啟動A/D轉換等。
ADC數據采集程序將來自傳感器的模擬信號轉換成數字信號的。本系統中,ADC的轉換是通過Timer2的自動溢出來觸發的,而采集的速率可以事先通過上位機設置。
評論