基于網(wǎng)絡(luò)化技術(shù)的控制系統(tǒng)設(shè)計(jì)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
將先進(jìn)的計(jì)算技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用以及與Intemet技術(shù)相結(jié)合己經(jīng)成為未來嵌入式系統(tǒng)的發(fā)展趨勢(shì)。這里以A19lRM9200微處理器為CPU,ATmegal28系列單片機(jī),8 MB的Flash和32 MB的SDRAM存儲(chǔ)器,擴(kuò)展了以太網(wǎng)接口、串行接口等外圍通信設(shè)備以及輸入輸出接口,根據(jù)處理器和其他接口芯片的要求設(shè)計(jì)了外圍硬件電路及軟件。實(shí)現(xiàn)了用電機(jī)控制系統(tǒng)實(shí)時(shí)監(jiān)控多路電機(jī)的狀態(tài),并且可以控制任一路電機(jī)的轉(zhuǎn)速與相位,解決了單片機(jī)與ARM系列處理器之間的通信。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 主機(jī)硬件系統(tǒng)結(jié)構(gòu)
1)電源電路 AT9lRM9200需要1.8 V和3.3 V電源,另外,大部分外圍器件需要3.3 V電源,小部分外圍器件還需要5 V電源。此處選用了Sipex公司生產(chǎn)的SPXlll7M3-3.3型低壓差(LDO)穩(wěn)壓器和SPXlll7M3-1.8型低壓差(LDO)穩(wěn)壓器進(jìn)行DC-DC變換后為各個(gè)器件提供工作電壓。
2)晶振電路 如圖2所示,晶體振蕩電路用于向AT91RM9200和其他需要時(shí)鐘的外設(shè)電路提供工作時(shí)鐘。本系統(tǒng)使用無源晶體振蕩器X1(18. 432 MHz)和X2(32.768 kHz)作為系統(tǒng)的主振蕩器和慢時(shí)鐘振蕩器,其中32.768 kHz晶振為系統(tǒng)提供慢時(shí)鐘,18 MHz晶振通過倍頻為系統(tǒng)提供180 MHz的主機(jī)時(shí)鐘
3)AT91RM9200處理器 ATglRM9200是Atmel公司基于ARM920T核的高性能、低功耗16/32位RISC微處理器,其最高主頻為180 MHz,其雙向、32位外部數(shù)據(jù)總線支持8、16、32位數(shù)據(jù)寬度,26位地址總線可以對(duì)最大64 MB空間尋址。是系統(tǒng)的工作和控制中心。
4)存儲(chǔ)器 存儲(chǔ)器模塊包括Flash存儲(chǔ)器和SRAM存儲(chǔ)器2部分。Flash存儲(chǔ)器用于存放引導(dǎo)程序、嵌入式操作系統(tǒng)、用戶應(yīng)用程序及重要的數(shù)據(jù)等,即使掉電程序和數(shù)據(jù)都不會(huì)丟失。設(shè)計(jì)中采用Intel公司生產(chǎn)的28F640J3A,其存儲(chǔ)容量為64 Mb(8 MB),工作電壓為2.7~3.6 V,采用48引腳TSOP封裝,16位數(shù)據(jù)寬度。
SDRAM存儲(chǔ)器是系統(tǒng)代碼的運(yùn)行場(chǎng)所,存放系統(tǒng)運(yùn)行時(shí)的程序和數(shù)據(jù),但掉電后該部分程序和數(shù)據(jù)會(huì)丟失。設(shè)計(jì)中使用2片數(shù)據(jù)寬度為16位的SDRAM并行運(yùn)行作為1個(gè)32位數(shù)據(jù)寬度的SDRAM模塊,如圖3所示。
使用的SDRAM電路為Hynix公司的HY57V651620BTC,其工作電壓為3.3 V,單片存儲(chǔ)容量為4組x16 Mb,54引腳TSOP封裝,兼容LVTTL電平接口,支持自動(dòng)刷新和自刷新。
5)網(wǎng)絡(luò)端口 采用DAVICOM公司的DM9161作為以太網(wǎng)的物理層接口。通過這個(gè)接口可以控制和配置很多物理層設(shè)備,得到狀態(tài)和錯(cuò)誤信息,并且確定PHY設(shè)備的工作方式和功能。將DM9161的REF_CLK端接至50 MHz晶振的輸出端;DM9161的TXD1,TXD2,TXEN,RXD1,BXD2端接至AT9lRM9200的ETXO,ETXI,ETXEN,ERXO,ERXI;DM9161的EXESEN,COL,PWRDWN端分別通過10 kΩ電阻接高電平,BGRESG,BGRES之間接6.8 kΩ電阻;將DM9161的RXEXDV,RXER,RESET,MDC,MDIO端接至AT9lRM9200的ECRS,ERXER,NRST,EMDIO均連接發(fā)光二極管,DM9161的TX+,TX-,RX+,EMDC,F(xiàn)DX,SPEED,LINKRX連接網(wǎng)絡(luò)隔離變壓器。
6)串行接口 用于AT9lRM9200系統(tǒng)短距離雙向串行通信。使用的電平轉(zhuǎn)換電路為Sipex公司雙產(chǎn)的SP3232E。本系統(tǒng)包含1個(gè)UART接口,它是兩線調(diào)試串口,用來連接到超級(jí)終端觀察AT91RM9200的啟動(dòng),完成與PC的通信調(diào)試。其原理圖如圖4所示。
1.2 從機(jī)硬件設(shè)計(jì)
1)ATmega128單片機(jī) ATMEL公司的AVR單片機(jī)是增強(qiáng)型RISC內(nèi)載Flash的單片機(jī),128 K字節(jié)的系統(tǒng)內(nèi)可編程Flash(在寫入過程中還具有讀取能力,即RWW)、4 K字節(jié)的EEPROM、4 K字節(jié)的SRAM、53個(gè)通用I/O口線、32個(gè)通用工作寄存器、實(shí)時(shí)時(shí)鐘RTC、4個(gè)靈活的具有比較模式和PWM功能的定時(shí)器/計(jì)數(shù)器(T/C)、2個(gè)USART、面向字節(jié)的兩線接口TWI、8通道10位ADC(具有可選的可編程增益)、具有片內(nèi)振蕩器的可編程看門狗定時(shí)器、SPI串行端口、與IEEEll49.1規(guī)范兼容的JTAG測(cè)試接口,以及6種可以通過軟件選擇的省電模式。
2)系統(tǒng)控制和復(fù)位 復(fù)位時(shí)所有的I/O寄存器都被設(shè)置為初始值,程序從復(fù)位向量處開始執(zhí)行。復(fù)位向量處的指令必須是絕對(duì)跳轉(zhuǎn)JMP指令,以使程序跳轉(zhuǎn)到復(fù)位處理例程。如果程序永遠(yuǎn)不會(huì)使能中斷,則中斷向量可以由一般的程序代碼所覆蓋。
圖5為復(fù)位邏輯的電路圖。復(fù)位源生效時(shí)I/O端口立即復(fù)位為初始值,不需要任何時(shí)鐘的輔助。當(dāng)所有的復(fù)位信號(hào)消失之后,延遲計(jì)數(shù)器被激活,從而延長(zhǎng)了內(nèi)部復(fù)位,并使得在MCU正常工作之前電源達(dá)到穩(wěn)定的電平。延遲計(jì)數(shù)器的溢出時(shí)間通過熔絲位CKSEL由用戶設(shè)定。
3)I/O端口 作為通用數(shù)字I/O使用時(shí),所有AVRI/O端口都具有真正的讀-修改-寫功能。輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)能力,可以輸出或吸收大電流,直接驅(qū)動(dòng)LED。
4)SPI串行外設(shè)接口 串行外設(shè)接口SPI允許ATmegal28和外設(shè)之間進(jìn)行高速的同步數(shù)據(jù)傳輸。主機(jī)和從機(jī)之間的SPI連接如圖6所示。