<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 由ADuC812與K9S6408V0A構(gòu)成的便攜式數(shù)據(jù)采集系統(tǒng)

          由ADuC812與K9S6408V0A構(gòu)成的便攜式數(shù)據(jù)采集系統(tǒng)

          作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:是三星公司生產(chǎn)的快閃存儲(chǔ)器,它具有容量大,接口簡(jiǎn)單等特點(diǎn)。而是內(nèi)嵌的多通道12位AD轉(zhuǎn)換器。文中介紹了一種以為主,配以快閃存儲(chǔ)器所構(gòu)成的便攜式系統(tǒng),并給出了AduC812與的硬件接口及軟件編程。

          是AD公司生產(chǎn)的內(nèi)嵌的多通道12位AD轉(zhuǎn)換器,K9S6408V0A是三星公司的新型FLASH存儲(chǔ)器,其容量可達(dá)64M,只需3V供電便可進(jìn)行讀、編程、擦除等操作,而且與CPU的接口簡(jiǎn)單。用K9S6408V0A和ADuC812構(gòu)成的系統(tǒng),具有體積小、功耗低等特點(diǎn)。

          ADuC812是全集成的12位系統(tǒng),它在單個(gè)芯片內(nèi)包含了高性能的自校準(zhǔn)多通道ADC和兩個(gè)12位DAC及8位與8051兼容的。ADuC812本身帶有8k字節(jié)的Flash程序存儲(chǔ)器、640字節(jié)的Flash數(shù)據(jù)存儲(chǔ)器以及256字節(jié)數(shù)據(jù)SRAM。另外,MCU還支持看門狗定時(shí)器、電源監(jiān)視器以及ADC等DMA功能。同時(shí)它還為多處理器接口和I/O擴(kuò)展提供32條可編程的I/O線、I2C兼容的SPI和標(biāo)準(zhǔn)UART串行端口I/O。它的MCU內(nèi)核和模擬轉(zhuǎn)換器均有正常、空閑以及掉電工作模式,可提供適合于低功耗應(yīng)用的靈活的電源管理方案。

          ADuC812的AD轉(zhuǎn)換模塊內(nèi)的所有部分均能方便的通過(guò)3個(gè)SFR來(lái)設(shè)置。

          因此可見,ADuC812本身就是一個(gè)內(nèi)嵌MCU的高性能多通道數(shù)據(jù)采集系統(tǒng),只是內(nèi)部的數(shù)據(jù)存儲(chǔ)器容量有限。如果需要存儲(chǔ)大量數(shù)據(jù)的數(shù)據(jù)采集系統(tǒng),則可外接數(shù)據(jù)存儲(chǔ)器。本文介紹的即屬這類系統(tǒng),則可外接數(shù)據(jù)存儲(chǔ)器。本文介紹的即屬這類系統(tǒng),它是利用一片外接 K9s6408V0A來(lái)設(shè)計(jì)的,其數(shù)據(jù)容量可達(dá)8M字節(jié)。

          1 K9S6408V0A簡(jiǎn)介

          K9S6408V0A為22腳表面封裝器件,內(nèi)部有(8M+256k)bit×8位存儲(chǔ)空間,可組織成16384行,528列,其中后備的16列的列地址編碼為513至527??蛇M(jìn)行528字節(jié)為一頁(yè)的讀、寫和以8k字節(jié)為一塊的擦除操作。一個(gè)528位的數(shù)據(jù)寄存器可以用于在頁(yè)讀或頁(yè)編程操作時(shí)存儲(chǔ)單元的數(shù)據(jù)轉(zhuǎn)換。

          K9S6408V0A的突出優(yōu)點(diǎn)在于其命令、地址和數(shù)據(jù)信息均通過(guò)8條I/O線傳輸,尋址內(nèi)存單元的地址線不作為芯片的引腳。23位地址分三次寫入地址寄存器,譯碼后找到相應(yīng)的單元。對(duì)單片機(jī)而言,當(dāng)需存儲(chǔ)空間超過(guò)64k時(shí),尋址存在一定的困難,而且系統(tǒng)的連線比較復(fù)雜,可靠性低。采用這種快閃存儲(chǔ)器既可克服以上困難,又便于升級(jí)至更大容量而無(wú)須更改外部連接。圖1為其功能框圖。其中的信號(hào)線功能如下:

          CLE:命令鎖存使能。當(dāng)其為高時(shí),命令通過(guò)I/O口在WE信號(hào)的上升沿被鎖入命令寄存器。

          ALE:地址鎖存使能。當(dāng)其為高時(shí),地址在WE信號(hào)的上升沿被鎖入地址寄存器;為低時(shí),鎖定輸入數(shù)據(jù)。

          CE:片選。在讀操作期間,CE變高,器件轉(zhuǎn)入standby模式;在編程或擦除期間,器件處于忙狀態(tài),CE高將被忽略。

          WE:寫使能。命令、地址和數(shù)據(jù)在WE信號(hào)的上升沿被鎖定。

          RE:讀使能。下降沿有效。

          WP:寫保護(hù)。在電源電壓過(guò)渡期間,當(dāng)WP為低電平時(shí),將產(chǎn)生寫/擦保護(hù)。

          R/B:操作狀態(tài)指示。為低時(shí),指示正在編程、擦除或讀操作,操作結(jié)束后變成高,為開路輸出。

          I/O口:(I/O0~I(xiàn)/O7)三態(tài)。輸出命令、地址和數(shù)據(jù)以及讀操作時(shí)輸出數(shù)據(jù)。

          2 ADuC812與K9S6408V0A的接口

          K9S6408V0A與ADuC812的連接非常簡(jiǎn)單,并可為以后的升級(jí)提供良好的條件?;布涌陔娐啡鐖D2所示。連接時(shí)用ADuC812的P3口的P3.0~P3.3分別與K9S6408V0A的CE、CLE、ALE和R/B相連接,K9S6408V0A的I/O0~I(xiàn)/O7分別連至ADuC812的P0.0~P0.7,K9S6408V0A的RE、WE分別與ADuC812的RD(P3.7)、WE(P3.6)相連,而ADuC812的P1口(模擬輸入口)接至數(shù)據(jù)采集傳感器。這樣就構(gòu)成了一個(gè)數(shù)據(jù)采集系統(tǒng)。ADuC812負(fù)責(zé)采集,而K9S6408V0A負(fù)責(zé)存儲(chǔ)數(shù)據(jù)。K9S6408V0A的各種操作具有共同特點(diǎn),即在I/O口上首先發(fā)送操作命令字到命令寄存器,其后的連續(xù)三個(gè)周期發(fā)送要操作單元的地址(順序?yàn)锳0~A7,A9~A16,A17~A22,其中A8由命令字確定)。表1為其命令集。

          表1 命令集

          功能第一周期第二周期忙時(shí)接受命令
          連續(xù)數(shù)據(jù)輸入80H- 
          讀一00H/01H- 
          讀二50H- 
          讀ID90H- 
          復(fù)位FFH-O
          頁(yè)編程10H- 
          塊擦除60HD0H 
          讀狀態(tài)70H-O

          下面以頁(yè)編程操作為例,給出K9S6408V0A的標(biāo)準(zhǔn)匯編編程方法。而頁(yè)讀以及塊擦除等方法則與頁(yè)編程類似,只是讀時(shí)是由RE來(lái)鎖存數(shù)據(jù),而擦除時(shí)只送兩個(gè)周期的地址即可。頁(yè)編程操作可向一個(gè)或若干個(gè)單元寫入數(shù)據(jù),以下是頁(yè)編程操作的程序:

          入口地址:

          R1,R2,R3-欲寫入數(shù)據(jù)所在單元的列地址和頁(yè)地址;

          R7-寫入數(shù)據(jù)的個(gè)數(shù)

          R0-源數(shù)據(jù)指針

          R6-失敗標(biāo)志

          START:MOV DPTR,#XXXXH ;地址

          CLR P3.0 ;片選

          CLR P3.2 ;清ALE

          SETB P3.1 ;置CLE

          MOV A,#80H

          MOVK@DPTR,A ;命令80H

          CLR P3.1 ;清CLE

          SETB P3.2 ;置ALE

          MOV A,R1

          MOVX@DPTR,A

          MOV A,R2

          MOVX@DPTR,A

          MOV A,R3

          MOVX@DPTR,A ;輸出地址A0-A22

          CLR P3.2 ;清ALE

          PR1:MOVX A,@R0

          MOVX@DPTR,A

          DJNZ R7,PR1 ;循環(huán)寫入

          SETB P3.1 ;置CLE

          MOV A,#10H

          MOVX@DPTR,A ;命令10H

          PRAM2:MOV C,P3.3

          JNC PRAM2 ;忙,循環(huán)

          SETB P3.1 ;置CLE

          MOV A,#70H

          MOVX@DPTR,A ;命令70H,

          CLR P3.1 ;清CLE

          MOVX A,@DPTR ;讀狀態(tài)

          JNB ACC.0,SUC ;SR.0=0,成功

          ERR:MOV R6,#0FH

          SUC:SETB P3.0

          END

          3 系統(tǒng)軟件

          本數(shù)據(jù)采集系統(tǒng)為8通道順序采集,ADuC812的時(shí)鐘頻率為11.0592MHz,CPU用斷方式管理A/D轉(zhuǎn)換器。當(dāng)A/D轉(zhuǎn)換完成時(shí),向CPU發(fā)請(qǐng)求信號(hào),CPU響應(yīng)中斷,中斷處理子程序負(fù)責(zé)對(duì)轉(zhuǎn)換的數(shù)據(jù)進(jìn)行讀出并將其存儲(chǔ)至K9S6408V0A,然后通道號(hào)加1,相應(yīng)的Flash存儲(chǔ)器地址也加1。圖3圖4分別為系統(tǒng)主程序和中斷處理子程序的流程圖。

          下面以標(biāo)準(zhǔn)匯編語(yǔ)言給出本系統(tǒng)的主程序及A/D中斷處理子程序。

          ORG 0000H

          FLAG EQU 60H ;外部存儲(chǔ)器滿標(biāo)志

          CHAN EQU 61H ;通道號(hào)

          JMP MAIN

          ;;以下為中斷處理子程序

          ORG 0033H ;A/D中斷處理程序入口地址

          CLR EA ;關(guān)中斷

          MOV R0,ADCDATAH ;轉(zhuǎn)換結(jié)果高8位送R0

          LCALL WRITEONE ;寫一個(gè)數(shù)據(jù)到外部Flash RAM程序,可參考前面給出的頁(yè)編程程序段;

          INC R1 ;低位地址加1

          CJNE R1,#0FFH,NEXT;未超出范圍則處理下一個(gè)

          MOV R1,#00H ;超出范圍則低位地址清零

          INC R2 ;中間地址加1

          CJNE R2,#0FFH,NEXT;未超出范圍則處理下一個(gè)

          MOV R2,#00H ;超出范圍則中間地址清零

          INC R3 ;高位地址加1

          CJNE R3,#03FH,NEXT;未超出范圍則處理下一個(gè)

          MOV FLAG,#01H ;否則,標(biāo)準(zhǔn)位置1

          SJMP RET1 ;返回

          NEXT:MOV R0,#ADCDATAL;轉(zhuǎn)換結(jié)果低8位送R0

          LCALL WRITEONE ;寫入一個(gè)數(shù)據(jù)

          LCALL WRITEONE ;寫入一個(gè)數(shù)據(jù)

          INC CHAN ;通道號(hào)加1

          CJNE CHAN,#08H,CHANG ;通道號(hào)不等于8,則開始下一通道轉(zhuǎn)換

          MOV CHAN,#00H ;否則通道號(hào)清零

          CHANG:MOV ADCCON1,#07Ch ;啟動(dòng)A/D轉(zhuǎn)換

          MOV ADCCON2,#CHAN ;選擇轉(zhuǎn)換通道

          SETB EA ;中斷使能

          ETB EADC ;使能A/D轉(zhuǎn)換中斷

          SETB ADC1

          RET1;RETI ;中斷返回

          ORG 1000H

          ;;以下為主程序

          MAIN:

          MOV AFLAG,#00H ;標(biāo)志清零

          MOV CHAN,#00H ;通道號(hào)清零

          MOV ADCCON1,#07CH ;啟動(dòng)A/D轉(zhuǎn)換,一次轉(zhuǎn)換時(shí)間14.5μs

          MOV ADCCON2,#CHAN ;選擇轉(zhuǎn)換通道

          MOV R1,#00H

          MOV R2,#00H

          MOV R3,#00H ;外部存儲(chǔ)器地址初始化

          SETB EA ;中斷使能

          SETB EADC ;使能A/D轉(zhuǎn)換中斷

          SETB ADC1 ;啟動(dòng)單個(gè)轉(zhuǎn)換周期

          HERE:SETB PCON.0 ;CPU進(jìn)入空閑模式,功耗降;低可中斷喚醒

          MOV A,F(xiàn)LAG

          JNZ HERE ;存儲(chǔ)器未滿則等待

          END

          4 結(jié)束語(yǔ)

          綜上所述,本文所描述的數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計(jì)具有采集速度快,存儲(chǔ)容量大、系統(tǒng)體積小以及功耗低等特點(diǎn),適用于隨身攜帶的低功耗應(yīng)用場(chǎng)合。只要將程序稍加修改,即可用于多種場(chǎng)合,還可對(duì)采集到的數(shù)據(jù)進(jìn)行實(shí)時(shí)分析處理,從而使該系統(tǒng)成為智能型的數(shù)據(jù)采集與分析系統(tǒng)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();