0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機(jī)C8051F021和時(shí)鐘芯片實(shí)現(xiàn)定時(shí)采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:劉軍亮 ? 2021-03-19 13:39 ? 次閱讀

隨著科技的高速發(fā)展,現(xiàn)代工業(yè)測(cè)控領(lǐng)域的很多應(yīng)用中都需要實(shí)現(xiàn)大量數(shù)據(jù)的定時(shí)采集存儲(chǔ)。以為海流計(jì)設(shè)計(jì)的海流數(shù)據(jù)采集存儲(chǔ)接口電路為例,介紹一種定時(shí)采集存儲(chǔ)系統(tǒng)的工作原理及其實(shí)現(xiàn)方法。

1 總體結(jié)構(gòu)

在很多情況下,尤其是惡劣的工作環(huán)境下,高性能的單片機(jī)和大容量的Flash存儲(chǔ)器是數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的最佳選擇,本文介紹的系統(tǒng)也是基于這樣的考慮。系統(tǒng)硬件結(jié)構(gòu)并不復(fù)雜,包括高性能單片機(jī)C8051F021、實(shí)時(shí)時(shí)鐘芯片SD2300、大容量Flash存儲(chǔ)器K9G8G08及其外圍電路,如圖1所示。工作原理也較為簡(jiǎn)單,通過(guò)串口將單片機(jī)C8051F021與海流計(jì)相連,通過(guò)對(duì)單片機(jī)的編程實(shí)現(xiàn)對(duì)海流計(jì)的控制和使用。同時(shí),為了實(shí)現(xiàn)定時(shí)采集和數(shù)據(jù)存儲(chǔ)的功能,還需將實(shí)時(shí)時(shí)鐘芯片SD2300和大容量Flash存儲(chǔ)器K9G8G08的相應(yīng)引腳與C8051F021的GPIO相連。SD2300通過(guò)發(fā)送定時(shí)中斷使得C8051F021在預(yù)定時(shí)刻通過(guò)串口采集若干組流速和流向數(shù)據(jù),然后將其存儲(chǔ)在K9G8G08中。

基于單片機(jī)C8051F021和時(shí)鐘芯片實(shí)現(xiàn)定時(shí)采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)

2 硬件設(shè)計(jì)

2.1 高性能單片機(jī)C8051F021

C8051F021單片機(jī)是集成在一塊芯片上的混合信號(hào)系統(tǒng)級(jí)單片機(jī)。芯片上有64位數(shù)字I/O。C8051F021單片機(jī)具有片內(nèi)看門(mén)狗定時(shí)器、VDD 監(jiān)視器和時(shí)鐘發(fā)生器,可以說(shuō)是真正的、可獨(dú)立工作的、完整的SoC(片上系統(tǒng))。片上所有的模擬和數(shù)字設(shè)備都可以使能或關(guān)閉,也可以由用戶(hù)設(shè)置。片內(nèi)的 Flash存儲(chǔ)器可以在電路(即由用戶(hù)程序在運(yùn)行時(shí))編程(讀寫(xiě)),為用戶(hù)提供了非揮發(fā)性存儲(chǔ)器,并允許現(xiàn)場(chǎng)更新8051程序。

2.2 SD2300與C8051F021的硬件接口設(shè)計(jì)

SD2300是深圳市興威帆電子技術(shù)有限公司開(kāi)發(fā)的一種具有內(nèi)置晶振、兩線(xiàn)式串行接口的高精度實(shí)時(shí)時(shí)鐘芯片。較SD2000而言,SD2300具有更寬的定時(shí)范圍、更多的周期性中斷選擇,并增加了數(shù)字精度調(diào)整寄存器、30s時(shí)間調(diào)整和晶振停振檢測(cè)等功能。最顯著的改動(dòng)是對(duì)時(shí)鐘數(shù)據(jù)/寄存器的訪(fǎng)問(wèn)由通過(guò)不同命令字改為地址直接尋址,使得芯片的使用更加靈活,并提高了程序編寫(xiě)的可讀性。

SD2300的接口為I2C總線(xiàn)。對(duì)于具有I2C總線(xiàn)接口的單片機(jī),只需將SD2300的SCL、SDA腳與單片機(jī)的SCL、SDA腳相連;對(duì)于沒(méi)有 I2C總線(xiàn)接口的單片機(jī),可以用通用I/O口來(lái)模擬I2C總線(xiàn)。如圖2所示,單片機(jī)C8051F021的PO.6模擬SCL,產(chǎn)生I2C總線(xiàn)的時(shí)序同步信號(hào);PO.7模擬SDA,實(shí)現(xiàn)I2C總線(xiàn)的串行數(shù)據(jù)輸入/輸出。圖2中的INTRA、INTRB為定時(shí)中斷輸出,SDA和SCL為時(shí)鐘電路的串行時(shí)鐘腳, SDAE和SCLE為E2PROM的串行時(shí)鐘腳。

2.3 K9G8G08與C8051F021的硬件接口設(shè)計(jì)

K9G8G08容量為8 Gb(8 858 370 048位),包含524 288行(頁(yè))和2 112×8列。在列地址2 048~2 111處有備用的64列存儲(chǔ)單元。2 112字節(jié)的數(shù)據(jù)寄存器與存儲(chǔ)器陣列相連,用來(lái)為在頁(yè)讀或頁(yè)編程操作時(shí)I/O端口和存儲(chǔ)陣列間的數(shù)據(jù)傳輸服務(wù)。存儲(chǔ)器陣列由32個(gè)存儲(chǔ)單元串行連接在一起,構(gòu)成了一個(gè)NAND結(jié)構(gòu)。每32個(gè)存儲(chǔ)單元處于不同的頁(yè)中。一個(gè)存儲(chǔ)單元包括2位數(shù)據(jù)。一個(gè)塊由2個(gè)NAND結(jié)構(gòu)串組成,總共包含1 081 344個(gè)NAND結(jié)構(gòu)。編程和讀操作均以頁(yè)為單位,而擦除操作以塊為單位。存儲(chǔ)器陣列包含4 096個(gè)256 KB的可擦除塊。K9G8G08采用8個(gè)I/O引腳的多次復(fù)用方案。這就使得其外部引腳數(shù)顯著減少,并且可以不改變現(xiàn)有系統(tǒng)的板級(jí)設(shè)計(jì)而進(jìn)行系統(tǒng)升級(jí)。指令、地址和數(shù)據(jù)通過(guò)在CE為低電平時(shí)把WE引腳拉低而寫(xiě)入I/O引腳,在麗的上升沿被鎖存。CLE和ALE通過(guò)I/O引腳分別被用在指令和地址的多路傳輸中。一些指令需要1個(gè)總線(xiàn)周期,例如重啟指令、讀狀態(tài)指令等;另一些指令則需要2個(gè)周期,例如頁(yè)讀、塊擦除和頁(yè)編程操作,一個(gè)周期用來(lái)設(shè)置,另一個(gè)周期用來(lái)執(zhí)行。1 Gb的物理地址空問(wèn)需要30位的地址,5個(gè)周期來(lái)尋址(2個(gè)列地址,3個(gè)行地址)。頁(yè)讀和頁(yè)編程操作在相應(yīng)的指令后需要同樣的5個(gè)地址周期。而在一個(gè)塊擦除操作中,只需要3個(gè)行地址。因此,可將C8051F021的P2口直接與這8根I/O連接,其他控制引腳接C8051F021、的相應(yīng)引腳,如圖3所示。K9G8G08通過(guò)CLE和ALE信號(hào)線(xiàn)實(shí)現(xiàn)I/O口上指令和地址的復(fù)用。指令、地址和數(shù)據(jù)都通過(guò)拉低WE和CE從I/O口寫(xiě)入。

3 軟件設(shè)計(jì)

3.1 系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)軟件的設(shè)計(jì)流程如圖4所示。首先完成系統(tǒng)的初始化工作,包括C8051F021的初始化和SD2300的定時(shí)中斷設(shè)置,然后系統(tǒng)進(jìn)入等待狀態(tài)。待到達(dá)預(yù)定時(shí)刻后,SD2300發(fā)出定時(shí)中斷,使C8051F021進(jìn)入中斷處理程序,進(jìn)行數(shù)據(jù)采集和存儲(chǔ)。存儲(chǔ)完畢,系統(tǒng)再次進(jìn)入等待狀態(tài),等待下一次定時(shí)中斷的到來(lái)。

3.2 SD2300的軟件接口設(shè)計(jì)

SD2300的I2C接口與C8051F021的GPIO相連,通過(guò)GPIO來(lái)模擬I2C,編程簡(jiǎn)單,操作方便。SD2300的訪(fǎng)問(wèn)控制通過(guò)寄存器直接尋址實(shí)現(xiàn),其內(nèi)部的寄存器如表1所列。

SD2300通過(guò)兩線(xiàn)式串行接口方式接收各種命令并讀寫(xiě)數(shù)據(jù)。下面具體介紹兩線(xiàn)式串行接口方式。

①開(kāi)始條件:當(dāng)SCL處于高電平時(shí),SDA由高電平變成低電平構(gòu)成一個(gè)開(kāi)始條件。對(duì)SD2300的所有操作均必須由開(kāi)始條件開(kāi)始。

②停止條件:當(dāng)SCL處于高電平時(shí),SDA由低電平變成高電平構(gòu)成一個(gè)停止條件。此時(shí)SD2300所有的操作均停止,系統(tǒng)進(jìn)入待機(jī)狀態(tài)。

③數(shù)據(jù)傳輸:當(dāng)SCL為低電平,且SDA電平變化時(shí),數(shù)據(jù)由C8051F021傳輸給SD2300;當(dāng)SCL為高電平,且SDA電平不變時(shí), C8051F021讀取SD2300 E2PROM發(fā)送來(lái)的數(shù)據(jù);當(dāng)SCL為高電平,且SDA電平變化時(shí),SD2300收到一個(gè)開(kāi)始或停止條件。

④確認(rèn):數(shù)據(jù)傳輸以8位序列進(jìn)行。SD2300在第9個(gè)時(shí)鐘周期時(shí)將SDA置位為低電平,即送出一個(gè)確認(rèn)信號(hào),標(biāo)明數(shù)據(jù)被其收到。

鑒于篇幅所限,僅以SD2300的設(shè)定開(kāi)始采集時(shí)間程序?yàn)槔?,介紹一下SD2300的軟件接口編寫(xiě)。

3.3 K9G8G08的軟件接口設(shè)計(jì)

相比于三星公司的Flash存儲(chǔ)器KM29U128T,K9G8G08不僅在容量上得到了極大的提高,操作的多樣性和靈活性也有顯著改進(jìn)。例如,支持一頁(yè)內(nèi)的隨機(jī)數(shù)據(jù)讀寫(xiě),并提供了一種特殊的Two-Plane頁(yè)編程操作,可以支持兩頁(yè)的同時(shí)寫(xiě)入,其操作指令如表2所列。

4 總結(jié)

筆者為海流計(jì)設(shè)計(jì)的數(shù)據(jù)定時(shí)采集存儲(chǔ)系統(tǒng),經(jīng)過(guò)反復(fù)實(shí)驗(yàn),能夠按照預(yù)定時(shí)刻準(zhǔn)時(shí)進(jìn)行數(shù)據(jù)采集工作,數(shù)據(jù)存儲(chǔ)完整準(zhǔn)確,整個(gè)系統(tǒng)工作穩(wěn)定可靠。該系統(tǒng)的設(shè)計(jì)為相關(guān)應(yīng)用提供了參考。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    51027

    瀏覽量

    425445
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6040

    文章

    44594

    瀏覽量

    636922
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7519

    瀏覽量

    164085
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于C8051F021單片機(jī)和SD2300芯片實(shí)現(xiàn)海流數(shù)據(jù)采集存儲(chǔ)接口的設(shè)計(jì)

    在很多情況下,尤其是惡劣的工作環(huán)境下,高性能的單片機(jī)和大容量的Flash存儲(chǔ)器是數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的最佳選擇,本文介紹的系統(tǒng)也是基于這樣的考慮
    的頭像 發(fā)表于 10-19 10:40 ?3256次閱讀
    基于<b class='flag-5'>C8051F021</b><b class='flag-5'>單片機(jī)</b>和SD2300<b class='flag-5'>芯片</b><b class='flag-5'>實(shí)現(xiàn)</b>海流數(shù)據(jù)<b class='flag-5'>采集</b><b class='flag-5'>存儲(chǔ)</b>接口的設(shè)計(jì)

    C8051F單片機(jī)的IAP系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    作為新型的SOC片上型混合信號(hào)單片機(jī),C8051F系列產(chǎn)品已經(jīng)被廣泛應(yīng)用到了智能控制儀表,嵌入式設(shè)備,消費(fèi)電子等領(lǐng)域。提出了一種利用C8051F單片機(jī)內(nèi)部可在線(xiàn)編程的FLASH
    發(fā)表于 03-04 11:31

    C8051F021訪(fǎng)問(wèn)外部XRAM

    燒友們誰(shuí)用過(guò)C8051F021訪(fǎng)問(wèn)外部XRAM,怎么配置的???我配置了EMIOCN=0X00;EMIOCF=0X14;//非復(fù)用方式EMIOTC=0XFF;還需要再配置什么嗎?我現(xiàn)在往指針里寫(xiě)數(shù)*p
    發(fā)表于 08-07 20:09

    請(qǐng)問(wèn)C8051F021單片機(jī)復(fù)位端口是高電平怎么解決?

    C8051F021單片機(jī)復(fù)位端口是高電平,一上電蜂鳴器和其他兩個(gè)重要控制端口誤動(dòng)作,相加一個(gè)一上電就三態(tài)輸出的隔離,只要四個(gè)端口,573是8路的嫌多,有4路類(lèi)似的嗎?或者還有其他解決方法? 輸入端接的都是單片機(jī)
    發(fā)表于 10-08 14:28

    c8051f020/c8051f021中文資料

    C8051F020/1/2/3 器件是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU。芯片具有64 個(gè)數(shù)字I/O 引腳。C8051F020/2 或32 個(gè)數(shù)字I/O 引腳。
    發(fā)表于 10-10 14:23 ?761次下載

    C8051F021 pdf datasheet (8K IS

    I/O pins (C8051F020/2) or 32 digital I/O pins (C8051F021/3). Highlighted features are listed below; refer to Table 1.1 for specifi
    發(fā)表于 10-10 14:27 ?75次下載

    基于C8051F021的定位和報(bào)警移動(dòng)終端設(shè)計(jì)

    C8051F021 是美國(guó)Cygnal 公司生產(chǎn)的單片機(jī),具有雙串口、低功耗、高速度等優(yōu)點(diǎn)。本文以C8051F021 為處理器,利用GSM 的數(shù)據(jù)業(yè)務(wù),設(shè)計(jì)一種具有報(bào)警和定位的移動(dòng)終端,并介紹該終端的
    發(fā)表于 04-15 10:42 ?25次下載

    基于C8051F021的焊縫檢測(cè)通道設(shè)計(jì)

    為了解決在焊縫檢測(cè)過(guò)程中,傳感器拾取信號(hào)的處理問(wèn)題。本文提出以SOC(system on chip,片上系統(tǒng))的C8051F021 為基礎(chǔ),采用時(shí)間觸發(fā)器分時(shí)處理焊縫和GMR(Giant Magneto Resistive,巨磁阻)
    發(fā)表于 09-17 10:46 ?19次下載

    C8051F單片機(jī)

    C8051F單片機(jī) C8051F系列單片機(jī)  單片機(jī)自20世紀(jì)70年代末誕生至今,經(jīng)歷了單片
    發(fā)表于 04-06 13:53 ?63次下載

    基于C8051F060的數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)

    介紹一種基于C8051F060單片機(jī)和NAND Flash的數(shù)據(jù)采集存儲(chǔ)系統(tǒng),該系統(tǒng)實(shí)現(xiàn)3路信
    發(fā)表于 12-23 16:21 ?91次下載

    C8051F021在遠(yuǎn)程診斷與急救支援系統(tǒng)中的應(yīng)用

    摘要:介紹了一種基于C8051F021單片機(jī)的多生理參數(shù)采集裝置。該裝置作為遠(yuǎn)程診斷與急救支援系統(tǒng)的一部分,能動(dòng)態(tài)地獲取患者的生理參數(shù),并通過(guò)無(wú)線(xiàn)方式傳送給
    發(fā)表于 03-11 11:47 ?1214次閱讀
    <b class='flag-5'>C8051F021</b>在遠(yuǎn)程診斷與急救支援<b class='flag-5'>系統(tǒng)</b>中的應(yīng)用

    基于C8051F021的定位和報(bào)警移動(dòng)終端設(shè)計(jì)

    摘要:C8051F021是美國(guó)Cygnal公司生產(chǎn)的單片機(jī)。具有雙串口、低功耗、高速度等優(yōu)點(diǎn)。本文以GSM的數(shù)據(jù)業(yè)務(wù),設(shè)計(jì)一種具有報(bào)警和定位的移動(dòng)終端,并介紹該終端的結(jié)構(gòu)框圖、
    發(fā)表于 03-11 11:49 ?2695次閱讀
    基于<b class='flag-5'>C8051F021</b>的定位和報(bào)警移動(dòng)終端設(shè)計(jì)

    基于C8051F單片機(jī)的爐溫控制系統(tǒng)

    介紹了一種利用高速單片機(jī) C8051F021 組成的電阻爐溫度控制系統(tǒng),闡述了系統(tǒng)的工作原理、硬件電路設(shè)計(jì)及實(shí)踐。系統(tǒng)利用鉑電阻作為傳感器的
    發(fā)表于 08-15 16:16 ?177次下載
    基于<b class='flag-5'>C8051F</b><b class='flag-5'>單片機(jī)</b>的爐溫控制<b class='flag-5'>系統(tǒng)</b>

    C8051F021單片機(jī)實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)

    介紹的功角測(cè)量 數(shù)據(jù)采集 卡是采用Cygnal公司C8051F021單片機(jī)實(shí)現(xiàn)的PCI總線(xiàn)接口卡。該卡通過(guò)2片雙口RAM分別實(shí)現(xiàn)與GPS接
    發(fā)表于 09-29 14:31 ?3426次閱讀
    <b class='flag-5'>C8051F021</b>型<b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)現(xiàn)</b>數(shù)據(jù)<b class='flag-5'>采集</b><b class='flag-5'>系統(tǒng)</b>

    通過(guò)C8051F021單片機(jī)和CPLD器件實(shí)現(xiàn)全自動(dòng)對(duì)接焊控制系統(tǒng)的設(shè)計(jì)

    全自動(dòng)對(duì)接焊控制系統(tǒng)是在國(guó)產(chǎn)電子式交流(50Hz)自動(dòng)對(duì)焊機(jī)基礎(chǔ)上進(jìn)行研制的,主要由智能控制箱、小型焊接機(jī)頭和逆變弧焊電源三部分構(gòu)成。本系統(tǒng)將原分立元件電子式控制系統(tǒng)改為由C8051F021
    的頭像 發(fā)表于 06-20 08:22 ?4051次閱讀
    通過(guò)<b class='flag-5'>C8051F021</b><b class='flag-5'>單片機(jī)</b>和CPLD器件<b class='flag-5'>實(shí)現(xiàn)</b>全自動(dòng)對(duì)接焊控制<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)