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