新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ATmegal62的特點及其在多種系統中的應用

        ATmegal62的特點及其在多種系統中的應用

        作者: 時間:2008-02-19 來源:網絡 收藏
        摘要:主要介紹了,與其它AVR系列芯片進行了比較,研究了它與ATmegal61的兼容性。開發了基于的鍵盤-液晶顯示器、無位置傳感器兩相直流無刷電機的控制以及基于異步串行通訊的數據采集發送等3個工程
        關鍵詞:;兼容性;液晶顯示器;無刷直流電機;異步串行通訊接口


        1 引言
        ATmegal62是ATMEL公司推出的一款基于AVR RISC的低功耗CMOS的8位單片機。AT-megal62通過在一個時鐘周期內執行一條指令,可以達到接近1 MIPS/MHz的性能,從而使設計人員可以在功耗和執行速度之間取得平衡。AVR核將32個通用工作寄存器和豐富的指令集連接在一起。所有的工作寄存器都與ALU算術邏輯單元直接相連,允許在一個時鐘周期內執行單條指令,同時訪問兩個獨立的寄存器。這種結構提高了代碼效率,使AVR得到了比普通CISC單片機高將近10倍的性能。本文采用ATmegal62開發了鍵盤-液晶顯示器、無位置傳感器兩相直流無刷電機和異步串行通訊口實現的數據采集發送三個。實驗證明,采用ATmegal62開發的這些系統性能可靠,成本較低,軟件設計靈活,硬件接口功能豐富,為今后系統升級創造了良好條件。

        2 ATmegal62的結構及
        ATmegal62具有35個可編程的I/O口線,有40引腳PDIP、44引腳TQFP及44引腳MLF等封裝。4個8位雙向I/O 口 A、B、C、D,一個帶內部上拉電阻的3位雙向I/O E口。
        每個端口都有對應的3個I/O端口寄存器,分別是數據寄存器PORTx、方向寄存器器DDRx和輸入引腳寄存器PINx。當DDxn寫入0時,對應的Pxn配置為輸入引腳,置PORTxn為1時,配置該引腳的內部上拉電阻有效。當DDxn為1時,對應的Pxn配置為輸出引腳,POPTxn中的數據為外部引腳的輸出電平,即為1,端口引腳被強制驅動為高,輸出高電平(輸出電流);清零PORTxn,端口引腳被強制拉低,輸出低電平(吸入電流)。在復位過程中,即使在系統時鐘還未啟振的情況下,端口為三態口。還可以作為地址/數據復用口,提供ATmegal62的許多特殊接口功能。C口提供JTAG接口的功能。在允許JTAG接口狀態下,引腳PC7(TDI)、PC5(TMS)和PC4(TCK)的內部上拉電阻總是處于有效方式(包括復位時)。
        ATmegal62具有以下:16 KB且同時具有讀寫能力的可在線編程Flash;512B EEPROM;1 KBSRAM存儲器;35個通用I/O口;1個外部存儲器接口;32個通用工作寄存器;1個具有邊界掃描功能的JTAG接口;支持在線編譯、編程以及仿真調試;支持對Flash、EEPROM、芯片熔絲位和保密鎖定位的編程;4個具有比較模式的靈活的定時器/計數器,2個具有比較模式的帶預分頻器的8位定時器/計數器,2個帶預分頻器,具有比較、捕捉和捕獲模式的16位定時器/計數器,具有獨立振蕩器的實時計數器;6個PWM通道;內外中斷源;上電復位和可編程的電壓檢測電路;內部可校準的RC振蕩器;2個可編程的UART接口;具有內部時鐘的可編程看門狗定時器;SPI串行接口;BOOT區具有獨立的加密位,可通過片內的引導程序實現在系統編程,寫操作時真正可讀;全靜態操作;片內帶有執行時間為2個時鐘周期的硬件乘法器;5種可通過軟件選擇的節電模式。
        ATmegal62采用了ATMEL公司的高密度非易失性內存技術,片內Flash可以通過SPI接口+通編程器,或通過JTAG接口,或使用自引導BOOT程序進行編程和自編程。利用自引導BOOT程序,可以使器件在工作過程中通過任一硬件串行通訊接口下載程序,并寫入到Flash的程序區中(IAP)。在更新Flash的應用程序區代碼時,處在Flash的BOOT區中的自引導程序將繼續執行,實現了同時讀寫的功能。由于將增強的RISC 8位CPU與在系統編程和在應用編程的Flash存儲器集成在一個芯片內,ATmegal62成為功能強大的單片機,為多嵌入式控制應用提供了靈活而低成本的解決方案。

        ATmegal62是AVR系列產品中配置比較高的單片機,是一種很復雜的微控制器,它的I/O地址取代了保留在AVR指令集中的64個I/O地址。為確保向后兼容ATmegal61,ATmegal62上所有的I/O的位置與ATmegal61相同。很多附加的I/O地址被加到一個$60$FF的擴展外部I/O空間中。這些地址只能用LD/LDS/LDD和ST/STS/STD指令訪問,而不能用IN和OUT指令。對于ATmegal61來說,存在內部RAM空間的重定位的問題。同樣,如果代碼使用絕對地址,那么增加的中斷向量也是問題。要解決這些問題,可以通過編程熔絲M161C來選擇AT-megal61的兼容模式。在這一模式下,ATmegal62和ATmegal61之間則不存在這些差別。
        (1)地址空間Ox0060-0x00FF用來擴展外部I/0,而不是內部SRAM;
        (2)地址空間0x0100―0x04FF用作內部SRAM,因而外部存儲器從地址0x500開始(ATmegal61的外部存儲器從地址0x460開始);
        (3)UART有一個輸入緩沖,允許在數據溢出標志(DOR)置l前接收多一個字節的數據;
        (4)去除擴展中斷向量。
        ATmegal62與ATmegal61的引腳完全兼容,可以替代ATmegal61。但是這兩種器件的地址熔絲位和電特性不同。在ATmegal61的兼容模式下,AT-megal62不具備如下特性:
        (1)USART的FIFO操作;
        (2)定時器/計數器3;
        (3)訪問系統時鐘預分頻器;
        (4)Port A和Port C的引腳中斷;
        (5)通過軟件改變WDT預分頻器設置時要遵循特定時序;
        (6)M161C熔絲對中斷向量重新映射,使之與ATmegal61相同。

        4 ATmegal62的工程應用
        4.1 ATmegal62與鍵盤及液晶顯示器的設計
        鍵盤是各種CPU不可缺少的輸入工具,通過它可以輸入程序和數據,從而實現人機對話。液晶顯示器(LCD)以其功耗低、體積小、顯示內容豐富、超薄輕巧的優點,得到越來越廣泛的應用。DM12864是一種圖形點陣液晶顯示器,它采用動態驅動原理由行驅動控制器和列驅動器兩部分組成了128(列)64(行)的全點陣液晶顯示,可顯示圖形和漢字。它能直接與單片機連接,具有專用指令,可方便地實現畫面卷動等功能。圖1為采用ATmegal62開發的鍵盤-液晶顯示應用系統。鍵盤的接鍵排成3x4的矩陣形式,I/O口線PBl-PB3為輸入(設置為O),作為鍵盤的列掃描線;PB4-PB7為輸出(設置為1),作為鍵盤的行掃描線,并帶有上拉電阻。當判斷有鍵按下時,延時去除鍵抖動,再次判斷閉合鍵的位置,若確實有鍵按下,計算鍵值并返回。液晶顯示器的工作電壓為+5V10%;PC2作為寄存器數據/指令選擇信號D/I,當D/I為1時,顯示數據,D/I為0時,指令代碼;PC3作為讀/寫操作選擇信號R/W,R/W為l時,讀數據或指令,R/W為0時,寫數據或指令;PC0、PCI分別作為液晶的左右半屏片選信號CSl、CS2;復位信號RST與PEl連接,高電平復位DMl2864;PE0作為液晶的使能信號EN;PA作為并行數據總線DB,用于二者之間傳送數據。在讀/寫顯示數據到LCD之前,要對LCD進行忙標志位判別、顯示開關設置、顯示起始行設置、頁面地址設置和列地址設置。

        在ATmegal62開發的鍵盤-液晶顯示系統中:
        (1)由于ATmegal62 C口的PC4-PC7具有JTAG接口功能,因此不能再作為I/O輸出口,除非將熔絲位JTAGEN設置為l才可以作為I/O輸出口用;
        (2)在選擇系統時鐘源時,要正確配置熔絲位,熔絲位決定著系統采用時鐘源的方式,不能通過普通的編程在MCU運行時更改,在調試之前應根據所選時鐘源形式和喚醒方式,在仿真系統中正確配置熔絲位,使時鐘源與熔絲位匹配。
        (3)在調試過程中,要求液晶LCD的驅動負電壓VDD-Vo=13 V,否則將無法正常顯示。
        4.2 ATmegal62控制的兩相直流無刷電機
        兩相直流無刷電機是一種結合了直流電機和交流電機優點的改進型電機,采用無位置傳感器兩相直流無刷電動機控制技術,可充分利用直流無刷電動機調速范圍寬、無位置傳感器和不易損壞的優點,實現電動機的無級變速,噪聲低,運行效率、控制精度和可靠性高。圖2為采用ATmegal62控制兩相直流無刷電機的應用實例。圖中ADCl測量電機的給定速度,在大多數裝置中,電機的速度是根據外部給定值調整的,給定值是一個模擬信號,因此需用ADC通道測量外部速度,PWM輸出要不斷地改變以減小電機的速度和外部給定值的差值。由于用內部的ADC和PWM,不需要霍爾傳感器測量電機的轉速。ATmegal62的ADC(模/數轉換器)通道測量感應電動勢,控制電機的換向,流過無源定子線圈的感應電動勢決定電機的方向。通過改變PWM寄存器的值來控制PWM的占空比,從而形成脈寬隨著調制波變化而變化的PWM信號。用PWM信號控制功率開關的通斷來給電機電樞繞組供電,相電流的大小和傳送到電機電樞繞組的能量由功率開關的通斷時間決定,同時,相電流和傳送到電機的能量又決定著電機的轉矩和轉速,從而實現對轉速的閉環控制。

        在ATmegal62控制無位置傳感器兩相直流無刷電機時:
        (1)PWM控制電機的速度時,PWM的基頻必須大于20 kHz,驅動晶體管的耗散功率要根據PWM的開關頻率決定;
        (2)在控制有源線圈的電壓時,PWM的基頻要接近于20 kHz;
        (3)用ADC測量感應電壓時,ADC的時鐘選擇應確保ATmegal62有足夠的時間處理中斷。
        4.3 異步串行通訊口數據的采集和發送
        ATmegal62帶有兩個全雙工通用同步/異步串口,是區別于AVR系列器件的一個顯著特點,用戶可以以低成本更加靈活地進行設備間的數據通訊。ATmegal62的USARTn收發模塊分為三大部分:時鐘發生器、數據發送器和接收器。有三個完全獨立的中斷:TX發送完成,TX發送寄存器空和RX接收完成。最高波特率可達115 200 b/s,而且有專用的高精度波特率發生器,不占用定時器/計數器。圖3是用ATmegal62的異步串行通訊口實現數據的采集和發送的應用實例,電機驅動器件SMD-401通過ATmegal62 PC口輸出的控制信號來控制步進電機的轉速和方向,步進電機帶動智能傳感器旋轉,經ATmegal62串口O的發送端輸出觸發信號觸發傳感器采集數據,采集到的數據通過MAX232送到ATmegal62串口O的接收端,數據在ATmegal62中經過必要的處理后由串口l經過NAX488轉送到上位機。

        在ATmegal62實現異步串行通訊口數據的采集和發送時,應注意以下問題:
        (1)所選器件不同,ICCAVR產生的源代碼不一定匹配,應根據實際情況檢查初始化程序;
        (2)ATmegal62的波特率寄存器UBRROH和USARTO的控制和狀態寄存器UCSROC共用同一個單元地址,如果不設定URSSEL0位,接收的波特率就會出錯;
        (3)確保發送與接收的波特率相同或在容許的誤差范圍內,發送與接收要有相同的數據格式。

        5 結束語
        本文介紹了ATmegal62的特點在實際工程中的應用實例。ATmegal62具有AVR系列其他器件的大部分其他器件功能,又具有獨特技術,配置全、功能強、可靠性高、速度高、抗干擾性好、功耗低、性價比高、硬件結構簡單、軟件設計靈活、適用面廣、價格低廉,具有一定的實用價值,在實際開發中將會發揮越來越大的作用。

        霍爾傳感器相關文章:霍爾傳感器工作原理


        霍爾傳感器相關文章:霍爾傳感器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永川市| 昔阳县| 武乡县| 滦平县| 合川市| 黄浦区| 香河县| 阿鲁科尔沁旗| 奎屯市| 怀柔区| 迁西县| 突泉县| 安图县| 哈尔滨市| 张家界市| 衡山县| 那曲县| 常德市| 紫阳县| 金沙县| 婺源县| 鞍山市| 高阳县| 六盘水市| 江油市| 隆子县| 嘉荫县| 博客| 平邑县| 泗洪县| 都江堰市| 南京市| 自贡市| 呼图壁县| 淮阳县| 乌恰县| 公主岭市| 广昌县| 乐陵市| 潢川县| 临邑县|