基于Atmega128嵌入式控制器的設(shè)計(jì)
采用Atmega128單片機(jī)設(shè)計(jì)的嵌入式控制器,模擬量輸入通道用Atmega128片內(nèi)A/D轉(zhuǎn)換器,輸出用AD421D/A轉(zhuǎn)換器,數(shù)字量I/O通道配置高速先耦器件.用lccavr編譯器修改OSTaskStklnit()函數(shù)及其相關(guān)文件,定義數(shù)據(jù)類型等以實(shí)現(xiàn)MicroC/OS-Ⅱ的移植.
1引言嵌入式控制器是機(jī)電設(shè)備實(shí)現(xiàn)自動(dòng)化的核心部件。故以大型機(jī)電設(shè)備為控制對(duì)象,利用高性能Atmega128微處理器,設(shè)計(jì)了具有現(xiàn)場(chǎng)總線(CANBUS)網(wǎng)絡(luò)通信和一定通用性的多功能嵌入式智能控制器。
2硬件設(shè)計(jì)
系統(tǒng)的硬件結(jié)構(gòu)如圖1。
本控制器的核心采用64管腳TQFP封裝的Atmega128芯片,具有53個(gè)可編程的I/O引腳,片內(nèi)集成有128KB閃存、4KBEEPROM和4KBSRAM,適合I/O通道和存儲(chǔ)空間的需求。
(1)模擬量輸入通道
模擬量輸入通道采用Atmega128片內(nèi)的8通道1O位A/D轉(zhuǎn)換器。其信號(hào)輸入部分可以根據(jù)具體的信號(hào)情況選擇使用圖2所示的多功能輸入信號(hào)調(diào)理電路。在電壓信號(hào)輸入時(shí)可以由R1和C構(gòu)成低通濾器(R2開路);R1和R2可以構(gòu)成輸入信號(hào)分壓電路(電容c開路);對(duì)于4-20mA電流輸入信號(hào),R2使用250Q的精密電阻即可變換為1~5V的信號(hào)(R1短路、C開路)。在電路版上設(shè)計(jì)有對(duì)應(yīng)多功能信號(hào)調(diào)理電路焊位元件的位置,可根據(jù)需要白行選擇使用。8路模擬量輸入部分占用的是ATMEGA128的PF0~PF7。
(2)模擬量輸出通道
模擬量輸出通道單元電路設(shè)計(jì)方案如圖3。D/A轉(zhuǎn)換器采用AD公司的AD421,它是一種單片低功耗、高精度的電流輸出型DAC芯片,4~20mA的輸出可以驅(qū)動(dòng)標(biāo)準(zhǔn)的執(zhí)行元件。該芯片的數(shù)字接口為標(biāo)準(zhǔn)HART(三線)或其它FSK協(xié)議,DAC為16位分辨率,單調(diào)性輸出。采用回路供電方式,內(nèi)含電源調(diào)整器為本身和外圍器件供電。在工業(yè)控制中,通常輸入量要多于輸出量,所以只設(shè)計(jì)Atmega128的PAO~PA7,PE2、PE3、PE6、PG4引腳通過4個(gè)光電隔離器(6N137)與4個(gè)AD421相連,構(gòu)成4路模擬量輸出。
(3)數(shù)字量輸入/輸出通道
數(shù)字量I/O通道各配置8路高速光耦隔離通道。光耦器件選6N137,其開關(guān)延遲tpd僅75ns,而普通光耦器件開關(guān)延遲有3~6μs。I/O通道接口安排在Atmega128的PB0~PB7、PD0~PD7。
(4)CAN總線接口
選擇獨(dú)立的CAN通信控制器SJA1000、CAN總線驅(qū)動(dòng)器82C250和高速光電耦合器6N137與微控制器Atmega128進(jìn)行設(shè)計(jì)。微處理器Atmega128負(fù)責(zé)SJA1000的初始化,通過控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。
評(píng)論