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