基于A(yíng)Tmega162的智能儀器設計
ATmega 162是ATMEL公司推出的一款基于A(yíng)VRRISC的低功耗CMOS的8位單片機。ATmega 162通過(guò)在一個(gè)時(shí)鐘周期內執行一條指令,可以達到接近1 MIPS/MHz的性能,從而使得設汁人員可以在功耗和執行速度之間取得平衡。AVR核將32個(gè)通用工作寄存器和豐富的指令集連接在一起。所有的工作寄存器都與ALU算術(shù)邏輯單元直接相連,允許在一個(gè)時(shí)鐘周期內執行的單條指令,同時(shí)訪(fǎng)問(wèn)兩個(gè)獨立的寄存器。這種結構提高了代碼效率,使AVR得到了比普通CISC單片機高將近10倍的性能。本文采用ATmega 162開(kāi)發(fā)了鍵盤(pán)一液晶顯示器、無(wú)位置傳感器兩相直流無(wú)刷電機和異步串行通訊口實(shí)現數據的采集和發(fā)送3個(gè)系統。實(shí)驗證明,采用ATmega 162開(kāi)發(fā)的這些系統性能可靠、成本較低、軟件設計靈活、硬件接口功能豐富,為今后系統升級創(chuàng )造了良好條件。
2 ATmega162的結構及特點(diǎn)
ATmega162具有35個(gè)可編程的I/O口線(xiàn),有40腳PDIP,44腳TQFP及44腳MLF等多種封裝。4個(gè)8位雙向I/O口A(yíng),B,C,D,一個(gè)帶內部上拉電阻的3位雙向I/O口。每個(gè)端 口都有對應的3個(gè)I/O端口寄存器,分別是數據寄存器PORTx、方向寄存器器DDRx和輸入引腳寄存器PINx。當DDxn寫(xiě)入0時(shí),對應的Pxn配置為輸入引腳,置PORTxn為1時(shí),配置該引腳的內部上拉電阻有效。當DDxn為1時(shí),對應的Pxn配置為輸出引腳,PORTxn中的數據為外部引腳的輸出電平,即為1,端口引腳被強制驅動(dòng)為高,輸出高電平(輸出電流);清零PORTxn,端口引腳被強制拉低,輸出低電平(吸入電流)。在復位過(guò)程中,即使是在系統時(shí)鐘還未啟振的情況下,端口為三態(tài)口。還可以作為地址/數據復用口,提供ATmega162的許多特殊接口功能。C口提供JTAG接口的功能。在允許JTAG接口狀態(tài)下,引腳PC7(TDD,PC5(TMS)和PC4(TCK)的內部上拉電阻總是處于有效方式(包括復位時(shí))。
ATmega162具有以下特點(diǎn):16 kB的同時(shí)具有讀寫(xiě)能力的在線(xiàn)編程FLASH;512 B E2PROM;1 kB SRAM存儲器;35個(gè)通用I/O口;1個(gè)外部存儲器接口;32個(gè)通用工作寄存器;1個(gè)具有邊界掃描功能的JTAG接口;支持在線(xiàn)編譯、編程以及仿真調試;支持對FLASH,E2PROM、芯片熔絲位和保密鎖定位的編程;4個(gè)具有比較模式的靈活的定時(shí)器/計數器,2個(gè)具有比較模式的帶預分頻器的8位定時(shí)器/計數器,2個(gè)帶預分頻器,具有比較和捕獲模式的16位定時(shí)器/計數器,具有獨立振蕩器的實(shí)時(shí)計數器;6個(gè)PWM通道;內外中斷源;上電復位和可編程的電壓檢測電路;內部可校準的RC振蕩器;2個(gè)可編程的UART接口;具有內部時(shí)鐘的可編程的看門(mén)狗定時(shí)器;SPI串行接口;BOOT區具有獨立的加密位,可通過(guò)片內的引導程序實(shí)現在系統編程,寫(xiě)操作時(shí)真正可讀;全靜態(tài)操作;片內帶有執行時(shí)間為2個(gè)時(shí)鐘周期的硬件乘法器;以及5種可通過(guò)軟件選擇的節電模式。
ATmega 162采用了ATMEL的高密度非易失性?xún)却婕夹g(shù)生產(chǎn),片內FLASH可以通過(guò)SPI接口+通編程器,或通過(guò)JTAG接口,或使用自引導BOOT程序進(jìn)行編程和自編程。利用自引導BOOT程序,可以使芯片在工作過(guò)程中通過(guò)任一硬件串行通訊接口下載應用程序,并寫(xiě)入到FLASH的應用程序區中(IAP)。在更新FLASH的應用程序區代碼時(shí),處在FLASH的BOOT區中的自引導程序將繼續執行,實(shí)現了同時(shí)讀寫(xiě)的功能。由于將增強的RISC8位CPU與在系統編程和在應用編程的FLASH存儲器集成在一個(gè)芯片內,ATmega 162成為功能強大的單片機,為多嵌入式控制應用提供了靈活而低成本的解決方案。
2.1 ATmega162與其他同類(lèi)器件的比較
在控制領(lǐng)域使用最平凡的CPU無(wú)非就3種:51系列、AVR系列、PIC系列。而ATMEL公司新推出的90系列單片機內含高速閃存FLASH,是基于增強精簡(jiǎn)指令RISC(Reduced Instruction Set CPU)結構的單片機,簡(jiǎn)稱(chēng)AVR單片機,該系列單片機在吸收PIC及8051單片機的優(yōu)點(diǎn)的基礎上,做出了重大的改進(jìn)。
由于本設計中的主CPU需要對溫度數據進(jìn)行運算及轉換,因此一般的51系列CPU是很難勝任的,而且在圖形顯示中加入了星星閃動(dòng)的動(dòng)畫(huà)和LOADING的讀取數據的動(dòng)畫(huà),所以更是要求主CPU有極快的運算速度和程序的可復制性的優(yōu)點(diǎn)。故經(jīng)過(guò)多種方案的比較后,最后決定選用AVR系列中的ATmega162作為主CPU,同時(shí)ATmega162擁有2個(gè)串行通信口,完全可以滿(mǎn)足與計算機的通信。
2.2 溫度檢測器件的比較
做溫度的檢測可以有很多種方法,比較常用的就是用一個(gè)A/D轉換器再接一個(gè)溫度傳感器,而我們慣用的A/D傳感器是0809(8路A/D轉換器),傳感器就可以根據自己的實(shí)際情況來(lái)選擇了,一般選擇的原則是要滿(mǎn)足測量溫度的范圍,精度和靈敏度。就本設計來(lái)說(shuō),需要測量的溫度范圍是室溫(0~100℃),精度可以是1℃,靈敏度1 s左右就可以了。所以并沒(méi)選用0809來(lái)做,而是在市面上選擇了一個(gè)常用來(lái)做環(huán)境溫度檢測用的集成芯片——DS18B20,封裝是TOP92的,使用單總線(xiàn)來(lái)傳輸數據。從成本的角度來(lái)看18B20一片是15元左右,比AD0809的價(jià)格便宜近一半,而且還可以省去購買(mǎi)傳感器的錢(qián),當然是在可以滿(mǎn)足測量要求的前提下。
3 ATmega162的設計應用
根據設計任務(wù)要求,本設計使用AVR單片機中的ATmega162作為主控制CPU,使用89C2051作為輔助CPU來(lái)采集數字溫度傳感器DS18B20傳送出來(lái)的溫度值,并通過(guò)8位端口的連接,傳送溫度值給ATmega162,從而實(shí)現多路溫度值的采集。再通過(guò)ATmega162運算處理,實(shí)現多路溫度的數字顯示,同時(shí)還可以顯示其相應的溫度柱狀圖。
ATmega162可以在線(xiàn)仿真和在線(xiàn)固化,當需 要在線(xiàn)仿真時(shí)應把仿真器的TCK,TDO,TMS,TDI腳分別上拉4.7 kΩ的電阻后和ATmega162對應的引腳連接起來(lái)。再把仿真器的NSRST與ATmega162的RST連接,仿真器的VTRES和ATmega162的VCC連接,并把仿真器和ATmega162共地。當程序在線(xiàn)仿真時(shí),其程序已經(jīng)自動(dòng)固化到CPU中了,這樣就避免了像89C51那樣出現固化失敗的問(wèn)題,系統框圖如圖1所示。
3.1 ATmega162與鍵盤(pán)及液晶顯示器的設計
本設計中ATmega162采用的是3.686 4 MHz外接晶振。復位方式選用的是上電復位,AVR有3種復位方式(上電復位、外部復位、看門(mén)狗復位),因為考慮到工作電壓不穩定的因素,采用上電復位其復位電路可以確保只有當VCC達到一個(gè)安全電平時(shí),器件才能開(kāi)始工作。
鍵盤(pán)是各種CPU不可缺少的輸入工具,通過(guò)他可以輸入程序和數據,從而實(shí)現人機對話(huà)。鍵盤(pán)的按鍵排成3
評論