基于ARM和CPLD的溫度控制器的設(shè)計(jì)
1 引言
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,在日常生活和生產(chǎn)中,人們要求更精確測(cè)量和控制溫度等模擬物理量,不僅滿足工業(yè)現(xiàn)場(chǎng)實(shí)時(shí)監(jiān)控,上位PC機(jī)遙觀、遙測(cè)和遙控等,而且要求連-接互聯(lián)網(wǎng),以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和訪問數(shù)字化、智能化的傳感器功能。
這里提出一種以ARM微控制器為核心,結(jié)合CPLD技術(shù)的溫度控制系統(tǒng)。該系統(tǒng)將溫度傳感器采集的信息A/D轉(zhuǎn)換后傳輸至微處理器處理,其處理數(shù)據(jù)再經(jīng)網(wǎng)絡(luò)接121遠(yuǎn)程傳輸?;蛲ㄟ^RS232串行接口與上位機(jī)PC機(jī)通信實(shí)現(xiàn)分布式溫度監(jiān)控系統(tǒng)。
2 系統(tǒng)硬件設(shè)計(jì)
該系統(tǒng)設(shè)計(jì)主要是針對(duì)工業(yè)控制領(lǐng)域現(xiàn)場(chǎng)儀器儀表開發(fā)的,其硬件設(shè)計(jì)框圖如圖1所示,該框圖包括ARM微處理器、電源、監(jiān)控復(fù)位、存儲(chǔ)器擴(kuò)展(RAM、Flash和EEPROM)、人機(jī)交換接口(LED)、網(wǎng)絡(luò)通信、溫度檢測(cè)電路、A/D轉(zhuǎn)換、 D/A轉(zhuǎn)換輸出、RS232通信和CPLD控制電路(外圍設(shè)備的譯碼、配置,實(shí)現(xiàn)系統(tǒng)的硬件軟件化)等模塊。
溫度傳感器測(cè)量外部溫度信息,在CPLD的控制下,把A/D轉(zhuǎn)換后的數(shù)字信號(hào)送入ARM微處理器中進(jìn)行處理,同時(shí)通過LCD顯示處理信息,由網(wǎng)絡(luò)接121 遠(yuǎn)程監(jiān)控。當(dāng)然,現(xiàn)場(chǎng)也可由鍵盤實(shí)時(shí)人工干預(yù)。經(jīng)ARM微處理器處理的數(shù)據(jù)通過RS232串口傳送到上位機(jī)進(jìn)行顯示存儲(chǔ)。當(dāng)然,工作過程中若出現(xiàn)錯(cuò)誤,會(huì)產(chǎn)生聲光報(bào)警等。同時(shí),鍵盤還可現(xiàn)場(chǎng)干預(yù)設(shè)置,處理故障等。
這里ARM微處理器選用ATMEL公司32位的AT91M40800。AT91M40800除具有ARM7TDMI內(nèi)核外,其內(nèi)部還集成有許多外圍設(shè)備,大量?jī)?nèi)部寄存器可快速完成中斷處理。由于AT91M40800微處理器通過可編程的EBI與片外存儲(chǔ)器相連,使其具有較快的訪問速度;同時(shí)它還具有8個(gè)優(yōu)先級(jí)向量中斷控制器與外部數(shù)據(jù)控制器連接,進(jìn)而提高中斷響應(yīng)速度。因此,AT91M40800微處理器非常適用于工業(yè)實(shí)時(shí)控制領(lǐng)域,是嵌入式工業(yè)控制器中處理器的最佳選擇。
2.1 網(wǎng)絡(luò)通信接口電路設(shè)計(jì)
AT91M40800本身無ETHERNET接口,需通過外接以太網(wǎng)控制器實(shí)現(xiàn)網(wǎng)絡(luò)功能??紤]到性價(jià)比,系統(tǒng)選用ReaItek公司生產(chǎn)的RTL8019AS型以太網(wǎng)控制器,外擴(kuò)一個(gè)ETHER,NET接口。RTL8019AS連接電路如圖2所示。
RTL8019AS的JP引腳接VCC使其工作在jumper(配置模式)模式下,以I/O方式進(jìn)行讀寫操作。NETCS為AT91M40800對(duì) RTL8019AS的片選信號(hào),地址為0x03000300~0x0300031FLED0、LED1各接一只發(fā)光二極管以指示通訊狀態(tài)。
采用10BASE-T布線標(biāo)準(zhǔn)通過雙絞線實(shí)現(xiàn)以太網(wǎng)通訊,由于RTL8019AS內(nèi)置10BASE-T收發(fā)器,所以網(wǎng)絡(luò)接口電路較簡(jiǎn)單。只需外接一個(gè)隔離低通濾波器(LPF)20F-01與外部網(wǎng)絡(luò)相連。TPIN±為接收線,TPOUT±為發(fā)送線,經(jīng)隔離后分別與RJ-45接口的RX±、TX±端相連。
RTL8019AS工作在中斷方式下,當(dāng)接收到數(shù)據(jù)包時(shí).NETINT(中斷信號(hào))輸出低電平,并通知處理器讀取數(shù)據(jù)。CPU啟動(dòng)遠(yuǎn)端DMA,NETCS (片選信號(hào))和NETRD(讀信號(hào))有效,進(jìn)而從RTL8019AS內(nèi)部RAM讀取數(shù)據(jù)。NETRST(復(fù)位信號(hào))由控制電路CPLD產(chǎn)生,高電平有效,保證RTL8019AS可靠復(fù)位。
2.2 CPLD控制電路
CPLD主要對(duì)RTL8019AS以太網(wǎng)控制器、LCD液晶顯示和MAX197的控制電路譯碼,選用Altera公司的CPLDEPM7032A。該器件具有600個(gè)可用門,32個(gè)宏單元,38個(gè)用戶I/O引腳,采用3.3 V CMOS工藝,具有5 V容限輸入。應(yīng)用MAX+PLUSII開發(fā)平臺(tái),在圖形編輯器中完成所需設(shè)計(jì)。EPM7032A的內(nèi)部設(shè)計(jì)實(shí)現(xiàn)如圖3所示。
網(wǎng)絡(luò)接口模塊也是該設(shè)計(jì)重點(diǎn),其主程序負(fù)責(zé)完成系統(tǒng)參數(shù)的初始化和實(shí)時(shí)調(diào)用任務(wù)。主程序采用輪詢方式不斷檢測(cè)狀態(tài)字和功能函數(shù)返回值,判斷某事件是否發(fā)生,如果發(fā)生就處理該事件,處理完畢后返回主程序,繼續(xù)執(zhí)行后面的程序。網(wǎng)絡(luò)接口模塊主程序流程如圖5所示。
程序首先進(jìn)行系統(tǒng)初始化,分配內(nèi)存緩沖池用于處理TCP/IP協(xié)議;接著網(wǎng)絡(luò)參數(shù)初始化;然后依次完成串口、定時(shí)器、ARP緩沖和RTL8019AS等的初始化工作;最后由一個(gè)while死循環(huán)檢測(cè)狀態(tài)字,由各子程序進(jìn)行相關(guān)處理。
4 系統(tǒng)調(diào)試
系統(tǒng)調(diào)試主要包括硬件調(diào)試、軟件調(diào)試和系統(tǒng)仿真綜合調(diào)試三部分。首先,實(shí)驗(yàn)板接通電源,通過其相應(yīng)的ARM和CPLD的JTAG接口與計(jì)算機(jī)并口相連,然后把相應(yīng)的已編譯、仿真的程序分別下載燒寫到ARM和CPLD中,依次調(diào)試各個(gè)模塊,基本滿足溫度信號(hào)采集、處理等功能,調(diào)試后的參數(shù)結(jié)果符合要求,運(yùn)行狀態(tài)良好。
5 結(jié)束語
以嵌入式系統(tǒng)為研究方向,面向工業(yè)控制領(lǐng)域,以儀器儀表為應(yīng)用對(duì)象,構(gòu)建并開發(fā)基于ARM和CPLD的嵌入式工業(yè)控制器通用平臺(tái),完成基于ARM處理器的嵌入式工業(yè)控制器的具體設(shè)計(jì)。系統(tǒng)測(cè)試效果良好,性能穩(wěn)定,達(dá)到預(yù)期的設(shè)計(jì)目標(biāo)?;贏RM和CPLD的嵌入式工業(yè)控制器通用平臺(tái)具有廣闊的應(yīng)用前景,可廣泛用于工農(nóng)業(yè)檢測(cè)、智能控制等控制領(lǐng)域,為以后系統(tǒng)升級(jí)提供有益參考。