當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于MAX194在ARM單片機系統(tǒng)中的設(shè)計

摘 要: 通過對MAXI94進行簡要介紹, 給出了MAX194與32位單片機LPC2104的接口電路,

描述了MAX194的工作過程,給出了一段A,D轉(zhuǎn)換的具體程序。

 引言
    為了實現(xiàn)計算機的自動測量與控制,越來越多的領(lǐng)域采用了A/D轉(zhuǎn)換技術(shù)。隨著大規(guī)模集成電路芯片技術(shù)的發(fā)展,速度更快、精度更高、使用更方便的集成電路芯片層出不窮。本文介紹了一種筆者使用后取得良好效果的新型A/D轉(zhuǎn)換芯片—MAX194。另外,由于32位處理器的價格不斷下降,用戶已可以大量使用,而32位RISC處理器則更是受到青睞,并將在某些領(lǐng)域替代原來的8位單片機。其中,ARM嵌入式微處理器系列處于領(lǐng)先地位。筆者所介紹的數(shù)據(jù)采集系統(tǒng)中采用的是PHILIPS公司生產(chǎn)的以ARM7處理器作為內(nèi)核的LPC2104單片機。
1    MAX194簡介
    MAX194是MAXIM公司推出的一種逐次逼近型模數(shù)轉(zhuǎn)換器(ADC),具有高速、高精度、低功耗等特點。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)換時間為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ù)格式相同,便于升級。
1.1    MAX194的主要引腳功能
◇ BP/UP/SHDN:三態(tài)輸入選擇端。0 V為關(guān)斷,+5 V為單極性,浮空為雙極性;
◇ CLK:轉(zhuǎn)換時鐘輸入端;
◇ SCLK:串行時鐘輸入端。用于移出數(shù)據(jù),可以與CLK異步;
◇ DOUT:串行數(shù)據(jù)輸出端。高位先出;
◇ EOC:轉(zhuǎn)換結(jié)束信號輸出端。轉(zhuǎn)換開始時上升,結(jié)束時下降;
◇ CS:片選輸入端。當(dāng)為低電平時允許三態(tài)數(shù)據(jù)輸出;
◇ CONV:轉(zhuǎn)換開始輸入端。在波形的下降沿開始轉(zhuǎn)換;
◇ RESET:復(fù)位輸入端;
◇ REF:參考電壓輸入端;
◇ AIN:模擬量輸入端。
1.2    工作模式
  MAX194有兩種接口模式。
◇ 同步模式:MAX194在轉(zhuǎn)換過程中,每轉(zhuǎn)換完成一個,數(shù)據(jù)位就輸出一位。此時,SCLK應(yīng)該接地,CLK既作為ADC的轉(zhuǎn)換時鐘又作為串行接口的移位輸出時鐘。
◇ 異步模式:單片機只能在MAX194完成一次轉(zhuǎn)換之后才能將轉(zhuǎn)換結(jié)果讀出,然后再啟動下一次轉(zhuǎn)換。這種模式降低了MAX194連續(xù)轉(zhuǎn)換的速度。
1.3    硬件接口
    串行接口標(biāo)準(zhǔn)與SPITM、QSPITM兼容。MAX194在進行A/D轉(zhuǎn)換時需要由外部提供時鐘信號。圖2是MAX194與單片機采用異步模式的硬件連接圖。該圖中,MAX194進行A/D轉(zhuǎn)換所需的時鐘信號由外部晶振分頻得到。使用者也可根據(jù)需要由單片機提供該時鐘信號。時鐘信號的最大頻率是1.7 MHz,參考電壓的范圍是0~VDDA+0.3 V。為了防止從AIN端輸入的信號損壞ADC,應(yīng)在信號輸入端加電壓限幅電路以保護MAX194。圖3是其時序圖。P3.0產(chǎn)生的START信號與CLK信號相“或”后作為啟動轉(zhuǎn)換的CONV信號。CONV的下降沿可以啟動轉(zhuǎn)換,開始轉(zhuǎn)換后監(jiān)測EOC,當(dāng)它由高電平變低時說明轉(zhuǎn)換已經(jīng)結(jié)束,適當(dāng)延時后就可以從串口讀出轉(zhuǎn)換結(jié)果,讀數(shù)據(jù)的最高速率是4.19 Mbps。

[!--empirenews.page--]


2    LPC2104芯片簡介
    LPC2104 包含一個支持仿真的ARM7TDMI-S CPU、與片內(nèi)存儲器控制器進行接口的ARM7局部總線、與中斷控制器接口的AMBA高性能總線(AHB)以及用于連接片內(nèi)外設(shè)的VLSI外設(shè)總線VPB與ARM7 高級外設(shè)總線相兼容的超集。主要特點有:128 K 片內(nèi)Flash 程序存儲器帶ISP 和IAP 功能;Flash 編程時間1 ms;可編程512字節(jié);扇區(qū)擦除和整片擦除只需400 ms;16 K 靜態(tài)RAM;向量中斷控制器;仿真跟蹤模塊支持實時跟蹤;標(biāo)準(zhǔn)ARM 測試/調(diào)試接口兼容現(xiàn)有工具;雙UART的其中一個帶有完全的調(diào)制解調(diào)器接口;高速I2C 串行接口400 kB/s;SPI 串行接口;兩個定時器分別具有4 路捕獲/比較通道;多達6 路輸出的PWM 單元;實時時鐘;看門狗定時器;通用I/O 口;CPU 操作頻率可達60 MHz。
3    MAX194與LPC2104接口設(shè)計
3.1    硬件接口
     MAX194和LPC2104都帶有標(biāo)準(zhǔn)的SPI接口,可以非常方便地實現(xiàn)它們的硬件和軟件接口。其硬件接口如圖2所示。SPI 是一個全雙工的串行接口,它被設(shè)計成用于處理在一個給定總線上多個互連的主機和從機。在一定數(shù)據(jù)傳輸過程中,接口上只能有一個主機和一個從機通信。在一次數(shù)據(jù)傳輸中,主機總是向從機發(fā)送一個字節(jié)數(shù)據(jù),而從機也總是向主機發(fā)送一個字節(jié)數(shù)據(jù)。
在該系統(tǒng)中,LPC2104設(shè)置為主機,MAX194設(shè)置為從機主機操作。
3.1    軟件實現(xiàn)
軟件的流程圖如圖4所示。主要分為三大部分。


1、SPI配置部分:首先,配置LPC2104的SPI引腳模塊;隨后,設(shè)置SPI_SPCCR和SPI_SPCR,并將LPC2104的SPI模塊設(shè)置為主模式,MSB(最高位)先傳輸,禁止SPI中斷,SPI接口速率為1 MHz,CPOL=0、CPHA=0在SCLK下降沿觸發(fā)。
2、MAX194轉(zhuǎn)換部分:通過向MAX194的CONV引腳發(fā)低脈沖啟動A/D轉(zhuǎn)換,轉(zhuǎn)換開始后MAX194的EOC引腳變?yōu)楦唠娖?,可通過檢測EOC引腳是否變?yōu)榈碗娖絹砼袛郃/D轉(zhuǎn)換的完成。
3、MAX194數(shù)據(jù)讀取部分:首先置低MAX194的CS片選引腳,將無效數(shù)據(jù)0XFF送至SPI_SPDR以啟動SPI總線,通過判SPIF位的置位來判斷SPI總線傳輸是否完成,讀取SPI_SPDR后,獲得A/D轉(zhuǎn)換結(jié)果的第一個字節(jié)(BIT13-BIT6)并調(diào)整數(shù)據(jù);將無效數(shù)據(jù)0XFF再送至SPI_SPDR,然后再啟動SPI總線,仍通過判SPIF位的置位來判斷SPI總線傳輸?shù)耐瓿汕闆r,讀取SPI_SPDR后,獲得A/D轉(zhuǎn)換結(jié)果的第二個字節(jié)(BIT13-BIT6)并調(diào)整數(shù)據(jù),最后將MAX194 的14位A/D轉(zhuǎn)換數(shù)據(jù)存儲在16位無符號變量rcv_data中。
#include “LPC2104.H”// 調(diào)用LPC2104寄存器頭文件
#define   MAX194_CS      0x00000100       // P0.8口為MAX194的片選和信號
#define   MAX194_EOC  0x00000100       // P0.9口為MAX194的轉(zhuǎn)換結(jié)束信號
#define    MAX194_UP     0x00000400        //P0.10口為MAX194的三態(tài)選擇信號
#define MAX194_CONV 0x00000800       //P0.10口為MAX194的轉(zhuǎn)換啟動信號 
int  main(void)
{ uint16  rcv_data;            //存儲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);      // 進行A/D轉(zhuǎn)換病讀取數(shù)據(jù)
 ……  
}[!--empirenews.page--]
void  MSpiIni(void)
{ SPI_SPCCR = 0x0B;   // 設(shè)置SPI時鐘分頻, SPI時鐘為1 MHz
SPI_SPCR = 0x20;   // 設(shè)置SPI接口模式,MSTR=1,CPOL=0,CPHA=0,LSBF=0
IOCLR = MAX194_UP;  //關(guān)斷輸入
}
uint8  MSendData(uint8 s_data,uint16 r_data)
{ uint32 temp;
         IOSET=Max194_UP;        // 打開輸入
         IOCLR = MAX194_CONV;   // 啟動轉(zhuǎn)換
         Delay(10);                // 延時 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;     //讀取第一個字節(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);  //讀取第二個字節(jié)數(shù)據(jù)并調(diào)整
         IOSET = MAX194_CS;  
         IOCLR = MAX194_UP;        //關(guān)斷輸入
}
4    結(jié)束語
    在使用MAX194中應(yīng)盡可能把數(shù)字地和模擬地分開。如果模擬電源和數(shù)字電源來自同一個電源,那么用一低值電阻(10 Ω)將數(shù)字電源和模擬電源隔離。MAX194內(nèi)部的高速比較器對VDDA和VSSA的高頻噪聲很敏感,應(yīng)該用0.1 μF與1 μF或10 μF的并聯(lián)電容將電源旁路接到模擬地。
    用于數(shù)據(jù)采集系統(tǒng)的A/D轉(zhuǎn)換芯片有很多,新品更是層出不窮,數(shù)據(jù)采集的速度和精度等性能也在不斷提高,在應(yīng)用中不但應(yīng)根據(jù)實際情況采用性價比較高的A/D轉(zhuǎn)換芯片,而且應(yīng)選用高性價比的處理器(如本文所選LPC2104),這樣才能提高整個系統(tǒng)的性能。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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