MAX194在ARM單片機(jī)系統(tǒng)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第1頁(yè)
MAX194在ARM單片機(jī)系統(tǒng)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第2頁(yè)
MAX194在ARM單片機(jī)系統(tǒng)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第3頁(yè)
MAX194在ARM單片機(jī)系統(tǒng)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第4頁(yè)
MAX194在ARM單片機(jī)系統(tǒng)中的應(yīng)用-設(shè)計(jì)應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯MAX194在ARM單片機(jī)系統(tǒng)中的應(yīng)用-設(shè)計(jì)應(yīng)用

ARM(AdvancedRISCMachines)處理器是Acorn計(jì)算機(jī)有限公司面向低預(yù)算市場(chǎng)設(shè)計(jì)的款RISC微處理器。更早稱作AcornRISCMachine)。ARM處理器本身是32位設(shè)計(jì),但也配備16位指令集。一般來(lái)講比等價(jià)32位代碼節(jié)省達(dá)35%,卻能保留32位系統(tǒng)的所有優(yōu)勢(shì)。ARM的Jazelle技術(shù)使Java加速得到比基于軟件的Java虛擬機(jī)(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%.CPU功能上增加DSP指令集提供增強(qiáng)的16位和32位算術(shù)運(yùn)算能力,提高了性能和靈活性。ARM還提供兩個(gè)前沿特性來(lái)輔助帶深嵌入處理器的高集成SoC器件的調(diào)試,它們是嵌入式ICE-RT邏輯和嵌入式跟蹤宏核(ETMS)系列。本文介紹了一種筆者使用后取得良好效果的新型A/D轉(zhuǎn)換芯片-MAX194.另外,由于32位處理器的價(jià)格不斷下降,用戶已可以大量使用,而32位RISC處理器則更是受到青睞,并將在某些領(lǐng)域替代原來(lái)的8位單片機(jī)。其中,ARM嵌入式微處理器系列處于地位。筆者所介紹的數(shù)據(jù)采集系統(tǒng)中采用的是PHILIPS公司生產(chǎn)的以ARM7處理器作為內(nèi)核的LPC2104單片機(jī)。

1MAX194簡(jiǎn)介

MAX194是MAXIM公司推出的一種逐次逼近型模數(shù)轉(zhuǎn)換器(ADC),具有高速、高精度、低功耗等特點(diǎn)。MAX194內(nèi)部設(shè)有校準(zhǔn)電路,用于保證全溫度范圍內(nèi)的線性度,從而維持全量程內(nèi)的高性能,且不需要外部的調(diào)整電路。分開的模擬和數(shù)字供電地減少了數(shù)字噪聲耦合。MAX194的內(nèi)部結(jié)構(gòu)如圖1所示,其主要特性如下:

14位分辨率,1/2LSB非線性度,82分貝的信噪比;

A/D轉(zhuǎn)換時(shí)間為9.4μs;

低功耗,節(jié)電模式下僅為10μA;

內(nèi)置采樣/保持器(T/H);

單極性(0~VREF)或雙極性(-VREF~VREF)輸入;

3態(tài)串行接口輸出;

與16位的A/D轉(zhuǎn)換器MAX195引腳兼容、輸出數(shù)據(jù)格式相同,便于升級(jí)。

1.1MAX194的主要引腳功能

BP/UP/SHDN:三態(tài)輸入選擇端。0V為關(guān)斷,+5V為單極性,浮空為雙極性;

CLK:轉(zhuǎn)換時(shí)鐘輸入端;

SCLK:串行時(shí)鐘輸入端。用于移出數(shù)據(jù),可以與CLK異步;

DOUT:串行數(shù)據(jù)輸出端。高位先出;

EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出端。轉(zhuǎn)換開始時(shí)上升,結(jié)束時(shí)下降;

CS:片選輸入端。當(dāng)為低電平時(shí)允許三態(tài)數(shù)據(jù)輸出;

CONV:轉(zhuǎn)換開始輸入端。在波形的下降沿開始轉(zhuǎn)換;

RESET:復(fù)位輸入端;

REF:參考電壓輸入端;

AIN:模擬量輸入端。

1.2工作模式

MAX194有兩種接口模式。

同步模式:MAX194在轉(zhuǎn)換過(guò)程中,每轉(zhuǎn)換完成一個(gè),數(shù)據(jù)位就輸出一位。此時(shí),SCLK應(yīng)該接地,CLK既作為ADC的轉(zhuǎn)換時(shí)鐘又作為串行接口的移位輸出時(shí)鐘。

異步模式:?jiǎn)纹瑱C(jī)只能在MAX194完成轉(zhuǎn)換之后才能將轉(zhuǎn)換結(jié)果讀出,然后再啟動(dòng)下轉(zhuǎn)換。這種模式降低了MAX194連續(xù)轉(zhuǎn)換的速度。

1.3硬件接口

串行接口標(biāo)準(zhǔn)與SPITM、QSPITM兼容。MAX194在進(jìn)行A/D轉(zhuǎn)換時(shí)需要由外部提供時(shí)鐘信號(hào)。圖2是MAX194與單片機(jī)采用異步模式的硬件連接圖。該圖中,MAX194進(jìn)行A/D轉(zhuǎn)換所需的時(shí)鐘信號(hào)由外部晶振分頻得到。使用者也可根據(jù)需要由單片機(jī)提供該時(shí)鐘信號(hào)。時(shí)鐘信號(hào)的頻率是1.7MHz,參考電壓的范圍是0~VDDA+0.3V.為了防止從AIN端輸入的信號(hào)損壞ADC,應(yīng)在信號(hào)輸入端加電壓限幅電路以保護(hù)MAX194.圖3是其時(shí)序圖。P3.0產(chǎn)生的START信號(hào)與CLK信號(hào)相"或"后作為啟動(dòng)轉(zhuǎn)換的CONV信號(hào)。CONV的下降沿可以啟動(dòng)轉(zhuǎn)換,開始轉(zhuǎn)換后監(jiān)測(cè)EOC,當(dāng)它由高電平變低時(shí)說(shuō)明轉(zhuǎn)換已經(jīng)結(jié)束,適當(dāng)延時(shí)后就可以從串口讀出轉(zhuǎn)換結(jié)果,讀數(shù)據(jù)的速率是4.19Mbps.

2LPC2104芯片簡(jiǎn)介

LPC2104基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的ARM7TDMI-SCPU,并帶有128k字節(jié)(kB)嵌入的高速Flash存儲(chǔ)器。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在時(shí)鐘速率下運(yùn)行。對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過(guò)30%,而性能的損失卻很小。由于LPC2104非常小的尺寸和極低的功耗,它們非常適合于那些將小型化作為主要要求的應(yīng)用,例如訪問(wèn)控制和電子收款機(jī)(POS)。帶有寬范圍的串行通信接口片內(nèi)多達(dá)64k字節(jié)的SRAM,由于具有大的緩沖區(qū)規(guī)模和強(qiáng)大的處理能力,它們非常適合于通信網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器、軟件調(diào)制解調(diào)器、聲音識(shí)別以及低端的圖像處理。而多個(gè)32位定時(shí)器、PWM輸出和32個(gè)GPIO使它們特別適用于工業(yè)控制和醫(yī)療系統(tǒng)。

3MAX194與LPC2104接口設(shè)計(jì)

3.1硬件接口

MAX194和LPC2104都帶有標(biāo)準(zhǔn)的SPI接口,可以非常方便地實(shí)現(xiàn)它們的硬件和軟件接口。其硬件接口如圖2所示。SPI是一個(gè)全雙工的串行接口,它被設(shè)計(jì)成用于處理在一個(gè)給定總線上多個(gè)互連的主機(jī)和從機(jī)。在一定數(shù)據(jù)傳輸過(guò)程中,接口上只能有一個(gè)主機(jī)和一個(gè)從機(jī)通信。在數(shù)據(jù)傳輸中,主機(jī)總是向從機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù),而從機(jī)也總是向主機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù)。

在該系統(tǒng)中,LPC2104設(shè)置為主機(jī),MAX194設(shè)置為從機(jī)主機(jī)操作。

3.1軟件實(shí)現(xiàn)

軟件的流程圖如圖4所示。主要分為三大部分。

1、SPI配置部分:首先,配置LPC2104的SPI引腳模塊;隨后,設(shè)置SPI_SPCCR和SPI_SPCR,并將LPC2104的SPI模塊設(shè)置為主模式,MSB(位)先傳輸,禁止SPI中斷,SPI接口速率為1MHz,CPOL=0、CPHA=0在SCLK下降沿觸發(fā)。

2、MAX194轉(zhuǎn)換部分:通過(guò)向MAX194的CONV引腳發(fā)低脈沖啟動(dòng)A/D轉(zhuǎn)換,轉(zhuǎn)換開始后MAX194的EOC引腳變?yōu)楦唠娖?,可通過(guò)檢測(cè)EOC引腳是否變?yōu)榈碗娖絹?lái)判斷A/D轉(zhuǎn)換的完成。

3、MAX194數(shù)據(jù)讀取部分:首先置低MAX194的CS片選引腳,將無(wú)效數(shù)據(jù)0XFF送至SPI_SPDR以啟動(dòng)SPI總線,通過(guò)判SPIF位的置位來(lái)判斷SPI總線傳輸是否完成,讀取SPI_SPDR后,獲得A/D轉(zhuǎn)換結(jié)果的個(gè)字節(jié)(BIT13-BIT6)并調(diào)整數(shù)據(jù);將無(wú)效數(shù)據(jù)0XFF再送至SPI_SPDR,然后再啟動(dòng)SPI總線,仍通過(guò)判SPIF位的置位來(lái)判斷SPI總線傳輸?shù)耐瓿汕闆r,讀取SPI_SPDR后,獲得A/D轉(zhuǎn)換結(jié)果的第二個(gè)字節(jié)(BIT13-BIT6)并調(diào)整數(shù)據(jù),將MAX194的14位A/D轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)在16位無(wú)符號(hào)變量rcv_data中。

#include"LPC2104.H"http://調(diào)用LPC2104寄存器頭文件

#defineMAX194_CS0x00000100//P0.8口為MAX194的片選和信號(hào)

#defineMAX194_EOC0x00000100//P0.9口為MAX194的轉(zhuǎn)換結(jié)束信號(hào)

#defineMAX194_UP0x00000400//P0.10口為MAX194的三態(tài)選擇信號(hào)

#defineMAX194_CONV0x00000800//P0.10口為MAX194的轉(zhuǎn)換啟動(dòng)信號(hào)

intmain(void)

{uint16rcv_data;//存儲(chǔ)A/D轉(zhuǎn)換后的14位數(shù)據(jù)的變量

PINSEL0=0x00005500;//設(shè)置SPI管腳連接

PINSEL1=0x00000000;

IODIR=MAX194_CS|MAX194_UP|MAX194_CONV;//設(shè)置P0.8,P0.10,P0.11為輸出

……

MSpiIni();//初始化SPI接口

MSendData(0xFF,rcv_data);//進(jìn)行A/D轉(zhuǎn)換病讀取數(shù)據(jù)

……

}

voidMSpiIni(void)

{SPI_SPCCR=0x0B;//設(shè)置SPI時(shí)鐘分頻,SPI時(shí)鐘為1MHz

SPI_SPCR=0x20;//設(shè)置SPI接口模式,MSTR=1,CPOL=0,CPHA=0,LSBF=0

IOCLR=MAX194_UP;//關(guān)斷輸入

}

uint8MSendData(uint8s_data,uint16r_data)

{uint32temp;

IOSET=Max194_UP;//打開輸入

IOCLR=MAX194_CONV;//啟動(dòng)轉(zhuǎn)換

Delay(10);//延時(shí)10us

IOSET=MAX194_CONV;

do

{temp=IOPIN;}

while(temp&MAX194_EOC);//轉(zhuǎn)換結(jié)束

IOCLR=MAX194_CS;//片選

SPI_SPDR=s_data;//發(fā)送數(shù)據(jù)0xFF

while(0==(SPI_SPSR&0x80));//等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢

r_data=(uint16)SPI_SPDR;//讀取個(gè)字節(jié)數(shù)據(jù)

r_data《=6;//調(diào)整數(shù)據(jù)

SPI_SPDR=s_data;//發(fā)送數(shù)據(jù)0xFF

while(0==(SPI_SPSR&0x80));//等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢

r_data=r_data|(SPI_SPDR》2);//讀取第二個(gè)字節(jié)數(shù)據(jù)并調(diào)整

IOSET=MAX194_CS;

IOCLR=MAX194_UP;//關(guān)斷輸入

}

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

在使用MAX194中應(yīng)盡可能把數(shù)字地和模擬地分開。如果模擬電源和數(shù)字電源來(lái)自同一個(gè)電源,那么用一低值電

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論