當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]介紹采用C8051F320 SOC與AM45DB321構(gòu)成數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)方案。

摘要: 介紹采用C8051F320 SOC與AM45DB321構(gòu)成數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)方案。
關(guān)鍵詞:  數(shù)據(jù)采集;USB接口;存儲(chǔ)電路;SOC

    在一些特殊的工業(yè)場(chǎng)合,有時(shí)需要將傳感器的信號(hào)不斷的實(shí)時(shí)采集和存儲(chǔ)起來,并且到一定時(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倍。該芯片內(nèi)部528字節(jié)隨機(jī)RAM和2048字節(jié)XRAM為數(shù)據(jù)緩沖和程序運(yùn)行提供了充足的空間。更受歡迎的是它的串行擴(kuò)展功能為當(dāng)前的各種串行芯片和外部設(shè)備接口的擴(kuò)展提供了極大的方便。高速的SPI硬件接口與串行FLASH RAM的無縫連接大大簡(jiǎn)化了電路板布線,而片內(nèi)自帶的USB接口功能使數(shù)據(jù)的存儲(chǔ)和回放變得十分簡(jiǎn)單和快捷。在USB接口協(xié)議的支持下,使這個(gè)采集存儲(chǔ)電路的數(shù)據(jù)回放過程簡(jiǎn)單到了極點(diǎn)。

    本文給出的是用于大型光伏系統(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中可見,在采集過程中,傳感器的輸入模擬信號(hào)經(jīng)可變?cè)鲆娣糯笃鞣糯蠛笏椭罜8051F320,經(jīng)過ADC轉(zhuǎn)換為數(shù)字信號(hào)。單片機(jī)片外有8個(gè)45DB321C芯片組成了一個(gè)32MB的Data flash存儲(chǔ)器,采集到的數(shù)據(jù)不斷地通過SPI接口傳送到45DB321C芯片中存儲(chǔ)。

    與其他型號(hào)芯片相比,C8051F320帶有USB接口,片內(nèi)的USB功能控制模塊符合USB2.0規(guī)范,可在全速或低速下運(yùn)行,并具有1KB USB緩存、集成收發(fā)器,無需外部電阻??梢耘cPC機(jī)即插即用。當(dāng)需要數(shù)據(jù)時(shí),可將采集存儲(chǔ)電路從現(xiàn)場(chǎng)取回,通過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,通過片選CS1~CS8分別連到各45DB321C的CS端。時(shí)鐘SCK只對(duì)被選中的45DB321有效。本系統(tǒng)使用多片F(xiàn)lash芯片的設(shè)計(jì)除了提供充足的存儲(chǔ)空間之外,還解決了一個(gè)關(guān)鍵問題,就是借鑒硬盤領(lǐng)域RAID技術(shù)的思路,通過對(duì)4片一組的Flash順序操作實(shí)現(xiàn)一個(gè)基本的并行加速,解決了Flash寫入速度過慢的問題,大大提高了存儲(chǔ)性能。

    具體電路如圖2所示,其中8片存儲(chǔ)器的SPI采用級(jí)聯(lián)只畫出一片,各自的CS片選信號(hào)由74HC138譯碼給出。

圖2 單片機(jī)與FLASH存儲(chǔ)器的接口電路
          
采集電路的程序軟件

    采集電路的程序是指固化在C8051F320 中的程序,采用c語言編寫,由主程序模塊、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ū)碜詡鞲衅鞯哪M信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的。本系統(tǒng)中,ADC的轉(zhuǎn)換是通過Timer2的自動(dòng)溢出來觸發(fā)的,而采集的速率可以事先通過上位機(jī)設(shè)置。

Flash數(shù)據(jù)存儲(chǔ)程序

    C8051F320芯片與Flash存儲(chǔ)器的通信采用SPI接口方式,數(shù)據(jù)傳輸率為12MHz(位/秒)。本設(shè)計(jì)中,C8051F320工作在SPI主機(jī)模式,SPI總線的數(shù)據(jù)傳輸都將由C8051F320發(fā)起。 首先對(duì)SPI相關(guān)SFR SPI0CFG寄存器和SPI0CN寄存器進(jìn)行配置,使其工作在3線主模式12MHz。通信時(shí)首先用GPIO引腳來選擇相應(yīng)的Flash從器件,隨后通過讀取SPIDAT來進(jìn)行讀寫操作。在使用Flash芯片進(jìn)行讀寫操作時(shí),首先要確定Flash存儲(chǔ)器的狀態(tài)??赏ㄟ^寫入D7H命令,讀取狀態(tài)寄存器判斷設(shè)備是否Ready或處于Busy狀態(tài)。確定狀態(tài)后,可根據(jù)數(shù)據(jù)手冊(cè)中的命令格式進(jìn)行相關(guān)的讀寫以及擦除操作。

USB通信程序

    固件編程是USB設(shè)備開發(fā)過程里的主要工作。固件的主要任務(wù)是初始化單片機(jī)和外設(shè),發(fā)送USB請(qǐng)求,響應(yīng)主機(jī)的標(biāo)準(zhǔn)設(shè)備請(qǐng)求。根據(jù)設(shè)備的功能分類完成各種數(shù)據(jù)交換請(qǐng)求。初始化編程主要完成USB控制器的初始化、端點(diǎn)初始化,交叉開關(guān)和I/O口初始化、系統(tǒng)時(shí)鐘設(shè)置,控制器使能。初始化后,USB設(shè)備可隨時(shí)插入主機(jī)中,主機(jī)將遵循USB協(xié)議對(duì)設(shè)備進(jìn)行識(shí)別和初始化。主機(jī)識(shí)別到設(shè)備之后對(duì)設(shè)備進(jìn)行配置,調(diào)用相應(yīng)的驅(qū)動(dòng)程序,配上上位機(jī)軟件進(jìn)行相關(guān)通信操作。

    Silicon lab公司提供了USBXpress的開發(fā)套件。通過使用USBXpress庫,大大簡(jiǎn)化了USB固件程序和PC端驅(qū)動(dòng)程序的開發(fā)。 USBXpress通過一系列函數(shù)實(shí)現(xiàn)單片機(jī)端的應(yīng)用程序接口(API)。這些函數(shù)封裝了USB協(xié)議的細(xì)節(jié),使得程序開發(fā)人員不需要了解USB的過多細(xì)節(jié)即可使用USB進(jìn)行數(shù)據(jù)通信(見圖3)。

圖3 單片機(jī)與PC機(jī)的USB通信

    本系統(tǒng)中主要用到了初始化、讀、寫、中斷這四個(gè)函數(shù):
初始化USB_Init(0,0xEA61, NULL, NULL, Serial, 250,0x80,0x100)函數(shù);塊寫函數(shù)Block_Write();塊讀函數(shù)Block_Read();USB中斷使能函數(shù)。

    USB的所有處理程序都是通過USB的中斷服務(wù)程序完成的。進(jìn)入U(xiǎn)SB中斷后,程序調(diào)用Get_Interrupt_Source()函數(shù)獲得USB中斷的進(jìn)入原因。然后根據(jù)不同的入口情況,來進(jìn)行相應(yīng)的處理。比如收到數(shù)據(jù)之后,讀取相應(yīng)的緩沖區(qū)內(nèi)容到內(nèi)存中;收到初始化命令時(shí),復(fù)位單片機(jī)內(nèi)的各個(gè)狀態(tài)參數(shù)。USB通信流程圖示于圖4。

圖4  USB通信流程圖

PC機(jī)端軟件程序

    計(jì)算機(jī)端軟件程序包括兩部分:USB驅(qū)動(dòng)程序和用戶應(yīng)用程序。

USB驅(qū)動(dòng)程序

    USB驅(qū)動(dòng)程序是一個(gè)軟件組件,封裝了應(yīng)用程序存取硬件設(shè)備的功能函數(shù)。有些設(shè)備具有相同的屬性,把它們歸為一組標(biāo)準(zhǔn)類別,可以定義設(shè)備類規(guī)范作為該類設(shè)備的主機(jī)驅(qū)動(dòng)框架。設(shè)備類驅(qū)動(dòng)程序使用相似的函數(shù),處理不同設(shè)備間的通信,這樣使設(shè)備類驅(qū)動(dòng)程序的開發(fā)可以脫離設(shè)備制造商。

    USB驅(qū)動(dòng)程序模型一般分為五層(見圖5)。

圖5  USB驅(qū)動(dòng)程序模型

    用戶端若要從設(shè)備讀取數(shù)據(jù),將調(diào)用一個(gè)應(yīng)用程序接口API,如OpenFile,SiUSBXp.dll實(shí)現(xiàn)這個(gè)API。總線驅(qū)動(dòng)程序控制對(duì)總線上所有設(shè)備的訪問。

    本系統(tǒng)中,開發(fā)USB設(shè)備驅(qū)動(dòng)程序的工具使用了USBXpress Development Kit。主要函數(shù)如下:
SI_Open()函數(shù);SI_Close()函數(shù);SI_Read函數(shù);SI_Write()函數(shù);SI_GetNumDevices()函數(shù);SI_CheckRXQueue()函數(shù)。

用戶應(yīng)用程序

    本系統(tǒng)中,應(yīng)用程序采用NI公司的LabVIEW軟件進(jìn)行編寫,運(yùn)用圖形化的C語言進(jìn)行軟件開發(fā),實(shí)現(xiàn)數(shù)據(jù)的顯示、滿足不同需要的分析功能以及對(duì)數(shù)據(jù)采集硬件的參數(shù)設(shè)定(見圖6)。

圖6 回放數(shù)據(jù)波形顯示界面

結(jié)語

    基于C8051F320 USB接口的采集存儲(chǔ)電路把計(jì)算機(jī)技術(shù)與傳統(tǒng)信號(hào)采集技術(shù)緊密結(jié)合起來,充分發(fā)揮PC機(jī)和單片機(jī)各自的優(yōu)點(diǎn),實(shí)現(xiàn)傳感器信號(hào)的采集、存儲(chǔ)、顯示和處理。而借助USB接口的通信功能,減小了數(shù)據(jù)傳輸系統(tǒng)的復(fù)雜性。
  
參考文獻(xiàn)
1.王鐵流, ‘采用ADUC812實(shí)現(xiàn)超大容量油井數(shù)據(jù)采集與存儲(chǔ)’,電子產(chǎn)品世界,  2002.8A
2.潘琢金,’C8051F高速SOC單片機(jī)原理及應(yīng)用’,北京航空航天大學(xué)出版社,2002年.
3.馬喜順,’高速SOC單片機(jī)C8051F’,電子產(chǎn)品世界, 2002.5A

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉