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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 由AT91M55800A構(gòu)成的簡(jiǎn)易數(shù)據(jù)采集方案

          由AT91M55800A構(gòu)成的簡(jiǎn)易數(shù)據(jù)采集方案

          作者: 時(shí)間:2012-04-17 來源:網(wǎng)絡(luò) 收藏

          該芯片中含有兩個(gè)完全相同的4通道10位A/D轉(zhuǎn)換器,可組成一個(gè)8通道10位A/D轉(zhuǎn)換器。每個(gè)A/D轉(zhuǎn)換器具有 4個(gè)模擬輸入引腳和數(shù)字觸發(fā)輸入引腳,并提供一個(gè)AIC的中斷信號(hào)。兩個(gè)A/D轉(zhuǎn)換器共享模擬電源引腳和參考電壓輸入引腳。每一個(gè)通道可被單獨(dú)地使能或禁止,并具有自己的數(shù)據(jù)寄存器。A/D轉(zhuǎn)換器可以配置為在轉(zhuǎn)換序列后自動(dòng)進(jìn)入睡眠 模式,并可由軟件、T/D或外部信號(hào)來觸發(fā)。

          由于內(nèi)部不帶片內(nèi)程序存儲(chǔ)器,需要對(duì)外擴(kuò)[1] Flash存儲(chǔ)器作為程序存儲(chǔ)器用于存放程序代碼、常量表及掉電后需要保存的數(shù)據(jù)。的總線讀寫周期最長(zhǎng)可以有8個(gè)周期的延時(shí),要求 Flash存儲(chǔ)器的最低讀速度不低于該速度??紤]到的執(zhí)行速度和程序大小,選用訪問速度為70 ns的HY29LV160(芯片容量是1 M×16 bit共2 MB),基本上能夠滿足要求。

          該系統(tǒng)中接入AD590[2]作為溫度傳感器,該器件以電流作為輸出量來指示溫度,并且將得到的信號(hào)經(jīng)過放大器的緩沖隔離得到一個(gè)與溫度成正比的電壓,從而實(shí)現(xiàn)對(duì)溫度的測(cè)量。

          3 A/D轉(zhuǎn)換編程

          中,兩個(gè)A/D轉(zhuǎn)換器獨(dú)立工作,每個(gè)A/D轉(zhuǎn)換器只能讀取一個(gè)通道的A/D轉(zhuǎn)換器值。此程序讓用戶指定哪一個(gè)通道工作,然后讀取指定通道的值,并顯示出來。由于A/D轉(zhuǎn)換器的精度有10位和8位,這里設(shè)置為10位,因此獲得的數(shù)據(jù)范圍在0~3FF之間。

          A/D轉(zhuǎn)換器的工作過程不同于一般的外圍設(shè)備。初始化后,必須有一個(gè)觸發(fā)命令高速A/D轉(zhuǎn)換器進(jìn)行采集,此時(shí)A/D轉(zhuǎn)換器對(duì)其激活的某一個(gè)通道上的模擬信號(hào)進(jìn)行采樣、保持,然后轉(zhuǎn)換成數(shù)據(jù),存儲(chǔ)在數(shù)據(jù)寄存器中。用戶可以從狀態(tài)寄存器中了解到A/D轉(zhuǎn)換器是否已經(jīng)轉(zhuǎn)換完成,然后通過讀取數(shù)據(jù)寄存器得到A/D 轉(zhuǎn)換后的數(shù)值。

          A/D轉(zhuǎn)換程序流程圖見圖3。

          42.jpg

          對(duì)A/D轉(zhuǎn)換器進(jìn)行編程,使用AT91庫(在/pe-riph/adc目錄下),與A/D轉(zhuǎn)換器相關(guān)的代碼部分[3]如下:

          a)adc.h:A/D轉(zhuǎn)換器用戶接口結(jié)構(gòu)定義StructADC、控制寄存器ADC-CR、模式寄存器ADC-MR和其他一些重要寄存器的各個(gè)重要位的定義、A/D轉(zhuǎn)換器中斷服務(wù)程序函數(shù)定義。

          b)Lid_adc.h:A/D轉(zhuǎn)換器描述符定義、庫函數(shù)的定義。

          e)Lid_adc.c:庫函數(shù)的詳細(xì)代碼。包括:初始化ADC at91_adc_open、關(guān)閉ADC at91_adc_close、獲得狀態(tài)寄存器的值at91_adc_get_status、設(shè)置控制寄存器的值at91_adc_trig_cmd、讀取A/D轉(zhuǎn)換的值at91_adc_read、打開指定的A/D轉(zhuǎn)換通道at91_adc_channel_open、關(guān)閉指定的A/D轉(zhuǎn)換通道 at91_adc_channel_close、獲取通道開和關(guān)的狀態(tài)at91_adc_channel_geI_status等。

          4 結(jié)束語

          本文介紹了一個(gè)基于ARM7的方案。該方案通過硬件的具體設(shè)計(jì)和軟件編程實(shí)現(xiàn)了預(yù)期的目標(biāo)。利用ARM進(jìn)行可以使方案更穩(wěn)定,而且可以達(dá)到功耗小、性能高的效果,適合在多種工業(yè)場(chǎng)合中應(yīng)用。


          上一頁 1 2 下一頁

          評(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); })();