車(chē)載溫控系統(tǒng)的嵌入式設(shè)計(jì)
時(shí)間:2006-12-12 15:50:00來(lái)源:wangsl
導(dǎo)語(yǔ):?LPC2214是Philips公司的一款嵌入式微控制器(MCU) ,它采用了ARM7TDM I內(nèi)核,
1、硬件平臺(tái)設(shè)計(jì)
1.1 LPC2214
LPC2214是Philips公司的一款嵌入式微控制器(MCU) ,它采用了ARM7TDM I內(nèi)核,片上資源十分豐富,帶有16K字節(jié)片內(nèi)靜態(tài)RAM和256KB 嵌入的高速Flash存儲(chǔ)器。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。
對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低30%,而性能的損失卻很小。由于LPC2214較小的144腳封裝、極低的功耗、多個(gè)32位定時(shí)器, 8路10位ADC ( 64腳和144腳封裝)以及多達(dá)9個(gè)外部中斷使它們特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問(wèn)控制和POS機(jī)。由于內(nèi)置了寬范圍的串行通信接口,它們也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌入式軟modern以及其他各種類型的應(yīng)用。
1.2 CPLD擴(kuò)展電路及鍵盤(pán)LCD
該電路的主要功能是對(duì)CPU芯片的外圍功能進(jìn)行擴(kuò)充,使系統(tǒng)具有良好的人機(jī)接口。對(duì)于功能要求比較復(fù)雜的電路,一般都采用CPU + CPLD的模式,采用該模式的原因主要有兩個(gè)方面: (1) CPU 作為系統(tǒng)的核心,無(wú)法、也沒(méi)有必要滿足所有用戶的具體功能要求,只需給用戶以標(biāo)準(zhǔn)的外部總線接口EB I (externalbus interface)即可,讓用戶根據(jù)自己的需要進(jìn)行必要的功能擴(kuò)展。(2) CPLD 用在電路設(shè)計(jì)中有以下幾點(diǎn)優(yōu)勢(shì):可方便地實(shí)現(xiàn)地址譯碼;編程方式簡(jiǎn)便,可方便地通過(guò)軟件編程實(shí)現(xiàn)各種邏輯器件的功能;時(shí)鐘延遲可達(dá)納秒級(jí),特別適合在線監(jiān)測(cè)領(lǐng)域的應(yīng)用,具有高可靠性。鍵盤(pán)主要作用是手動(dòng)控制方式情況下,各位置的傳感器信號(hào)的檢測(cè)及控制,各處檢測(cè)到的溫度以數(shù)字量的方式顯示在LCD 上。實(shí)現(xiàn)了手動(dòng)方式的溫度檢測(cè)及控制集中統(tǒng)一的管理。
1.3 系統(tǒng)存儲(chǔ)器及調(diào)試接口
LPC2214支持8位、16位和32位尋址方式,具有較強(qiáng)的尋址能力,可方便的構(gòu)建較大的存儲(chǔ)空間。由于芯片自身帶有256KB 的高速Flash,對(duì)于采用μC /OS-Ⅱ設(shè)計(jì)嵌入式通信控制器已經(jīng)足夠, 無(wú)需在外部掛接FLASH存儲(chǔ)器。系統(tǒng)選用IS61LV25616AL作為SRAM存儲(chǔ)器,滿足了嵌入式操作系統(tǒng)及通信控制器中的內(nèi)存塊拷貝運(yùn)行要求。
LPC2214支持JTAG協(xié)議, JTAG( Joint Test Action Group聯(lián)合測(cè)試行動(dòng)小組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議。主要用于芯片內(nèi)部測(cè)試及對(duì)系統(tǒng)進(jìn)行仿真、調(diào)試,通過(guò)JTAG接口,可對(duì)芯片內(nèi)部的所有部件進(jìn)行訪問(wèn),因而是開(kāi)發(fā)調(diào)試嵌入式系統(tǒng)的一種簡(jiǎn)潔高效的手段。目前JTAG接口的連接有兩種標(biāo)準(zhǔn),即14針接口和20針接口,筆者選用14針接口。
1.4 系統(tǒng)通信
LPC2214 內(nèi)部集成了兩個(gè)UART 通道, 利用MAX489實(shí)現(xiàn)RS-422通信接口,以便同上位機(jī)之間的通信;另外一個(gè)UART接口用于同同級(jí)系統(tǒng)之間的通信。利用RTL8019AS芯片RJ-45網(wǎng)絡(luò)接口,在溫控設(shè)備出現(xiàn)無(wú)法處理的故障時(shí),用五級(jí)以上的雙絞線接入基于神經(jīng)網(wǎng)絡(luò)的故障診斷服務(wù)器,實(shí)現(xiàn)了遠(yuǎn)程以太網(wǎng)故障診斷功能。
1.5 數(shù)字及模擬接口
LPC2214提供了多達(dá)76個(gè)可編程的I/O端口,溫度控制器主要的模擬量信號(hào)有:前倉(cāng)溫度模擬量信號(hào),后室溫度模擬量信號(hào),發(fā)動(dòng)機(jī)溫度模擬量信號(hào)及系統(tǒng)設(shè)備的模擬量信號(hào)8路。模擬信號(hào)經(jīng)隔離放大后由8路10位ADC進(jìn)入溫度控制器。溫度控制器內(nèi)的數(shù)字信號(hào)由I/O口,經(jīng)過(guò)隔離放大后,達(dá)到相應(yīng)的控制終端,控制通風(fēng)扇開(kāi)關(guān),系統(tǒng)設(shè)備溫度及前倉(cāng)、后室的空調(diào)啟停等。而其他數(shù)據(jù)總線和地址總線及部分GP IO在系統(tǒng)板上引出,以供擴(kuò)展之用。
2 接口抗干擾設(shè)計(jì)
在該大型車(chē)載系統(tǒng)中,后室某處溫度信號(hào)變化,將會(huì)直接影響到整個(gè)車(chē)載系統(tǒng)的性能及狀態(tài)。所以有必要提高輸入輸出接口的可靠性。需要對(duì)數(shù)字量信號(hào)及模擬量信號(hào)采用有效的抗干擾措施。
數(shù)字量接口通道總體思想就是全光電隔離方案,數(shù)字量(開(kāi)關(guān)量)輸入通道接入光電藕合器后,由于光電藕合器的抗干擾作用,使夾在輸入開(kāi)關(guān)量中的各種干擾脈沖都被擋在輸入回路的一邊。另外,光電藕合器還起到了很好的安全保障作用,因?yàn)楣怆娕汉掀鞯妮斎牖芈泛洼敵龌芈分g可耐壓1000V,甚至更高。控制信號(hào)輸出也是采用光電隔離方法,考慮到開(kāi)關(guān)量的輸出直接驅(qū)動(dòng)設(shè)備的起停,需外加一些保護(hù)電路,也可以采用繼電器,Photo MOS繼電器,光電藕合器方法。
雖然模擬量I/O電路與外部電源的隔離可用安全柵來(lái)實(shí)現(xiàn),但是,一些強(qiáng)電干擾還會(huì)經(jīng)此和一些其他通道,從模擬量輸入輸出電路串入系統(tǒng),因此為了保證智能設(shè)備能在任何時(shí)候都能工作在平穩(wěn),安全環(huán)境里,還要加隔離措施。因?yàn)槟M量信號(hào)是連續(xù)的,任何疊加在模擬信號(hào)的干擾都會(huì)因?yàn)橛袑?shí)際意義而起到作用。這表明抗干擾屏蔽的位置越往外推越好,最好在模擬量輸入輸出口處,因此,要求這里采用的光電藕合器必須具有線性變換和傳輸?shù)奶匦浴?
3 系統(tǒng)軟件設(shè)計(jì)
μC /OS-Ⅱ是一個(gè)免費(fèi)的、源代碼公開(kāi)的實(shí)時(shí)嵌入式內(nèi)核,提供了實(shí)時(shí)系統(tǒng)所需的基本功能。μC /OS-Ⅱ中包含全部功能的核心部分,代碼只占用8.3KB,而且由于μC /OS-Ⅱ是可裁剪的,所以用戶系統(tǒng)中實(shí)際的代碼最少可達(dá)2.7KB,可謂短小精悍。μC /OS-Ⅱ適合小型控制系統(tǒng),具有執(zhí)行效率高,占用空間小,確定性、實(shí)時(shí)性優(yōu)良和可擴(kuò)展性強(qiáng)等特點(diǎn)。μC /OS-Ⅱ采用的是占先式的實(shí)時(shí)多任務(wù)內(nèi)核。
占先式的實(shí)時(shí)內(nèi)核在任何時(shí)候都運(yùn)行就緒任務(wù)中優(yōu)先級(jí)最高的任務(wù)。這樣μC /OS-Ⅱ就不支持通用的時(shí)間片輪轉(zhuǎn)調(diào)度。μC /OS-Ⅱ中最多可以支持64個(gè)任務(wù),分別對(duì)應(yīng)優(yōu)先級(jí)0~63,其中0為最高優(yōu)先級(jí),版本Ⅱ保留8個(gè)給系統(tǒng),用戶可以使用的有54個(gè)。
溫度控制器的控制要求是:大型車(chē)載系統(tǒng)設(shè)有溫度傳感器來(lái)檢測(cè)車(chē)載系統(tǒng)多處的溫度,溫度控制器接收到當(dāng)前的車(chē)載系統(tǒng)各處溫度,把它與車(chē)載各處原先設(shè)定溫度標(biāo)準(zhǔn)作比較以決定系統(tǒng)各處的工況。根據(jù)溫度的高低,發(fā)出相應(yīng)的控制信號(hào),完成控制以達(dá)到監(jiān)控的目的。如車(chē)上的保溫室內(nèi)設(shè)定溫度為20℃,當(dāng)溫度控制器接收到溫度傳感器的值為21℃,則溫度控制器發(fā)出降溫?cái)?shù)字控制信號(hào),通風(fēng)扇打開(kāi),當(dāng)溫度傳感器的值達(dá)到規(guī)定的范圍(19.8~20.2℃)溫度控制器發(fā)出停止信號(hào),通風(fēng)扇關(guān)閉。溫度控制器有本機(jī)自動(dòng)、本機(jī)手動(dòng)二種工作方式,溫度控制器通過(guò)檢測(cè)鍵盤(pán)信號(hào)或上位機(jī)發(fā)出的控制信號(hào)以決定工作于哪一種控制方式下。此外,溫度控制器能夠及時(shí)檢測(cè)出電機(jī)過(guò)載、傳感器失靈等故障,然后迅速做出簡(jiǎn)單的故障處理。如果故障很復(fù)雜,無(wú)法診斷出來(lái),則用雙絞線連接神經(jīng)網(wǎng)絡(luò)故障診斷服務(wù)器,開(kāi)啟控制信號(hào),實(shí)施遠(yuǎn)程故障診斷。
根據(jù)溫度控制器的控制要求,本程序分為6個(gè)任務(wù)來(lái)實(shí)現(xiàn),分別是:任務(wù)OSTask Input ( )周期性的采集車(chē)載系統(tǒng)溫度傳感器的模擬量輸入;任務(wù)OSTaskControl( )根據(jù)溫度控制器接收到當(dāng)前的車(chē)載系統(tǒng)各處溫度,把它們分別與車(chē)載各處原先設(shè)定溫度作比較和發(fā)出相應(yīng)的控制命令,使被控制端工作于制冷或者制暖工況,甚至停機(jī)(如車(chē)載系統(tǒng)的發(fā)動(dòng)機(jī)處溫度過(guò)高) ;任務(wù)OSTaskcontrol choice ( )周期性輪詢UART串口,檢測(cè)是否有上位機(jī)控制命令,以使控制器能及時(shí)的響應(yīng); OSTaskmode choose ( )通過(guò)檢測(cè)鍵盤(pán)信號(hào)或上位機(jī)發(fā)出的控制信號(hào)以決定溫度控制器工作于哪一種控制方式下,默認(rèn)方式為自動(dòng);任務(wù)OSTaskRemote Diagnosis ( )的功能是在接收到控制信號(hào)的情況下, 周期性地輪詢網(wǎng)卡,以實(shí)現(xiàn)與遠(yuǎn)程故障診斷服務(wù)器進(jìn)行通訊;任務(wù)OSTaskEasy _Recover ( )的功能是執(zhí)行一些簡(jiǎn)單的故障處理程序。任務(wù)之間采用共享變量交互。
該軟件的初始化工作如下所示:
在μC /OS-Ⅱ中創(chuàng)建用戶任務(wù)時(shí)要注意到3點(diǎn),首先,μC /OS-Ⅱ中每個(gè)任務(wù)被賦予不同的優(yōu)先級(jí)。任務(wù)的優(yōu)先級(jí)號(hào)就是任務(wù)編號(hào),保留給系統(tǒng)的不能用。其次,μC /OS-Ⅱ中,每個(gè)任務(wù)都有自己的堆棧空間。堆棧必須聲明為OS STK,并且由連續(xù)的內(nèi)存空間組成。
用戶可以靜態(tài)分配堆??臻g也可以動(dòng)態(tài)地分配堆??臻g。靜態(tài)堆棧應(yīng)放在函數(shù)的外面。最后,在調(diào)用OSTaskCreate時(shí)必須知道堆棧是遞增還是遞減,因?yàn)橛脩舯仨毎讯褩5臈m攤鹘o上面的函數(shù)。在OS_CPU.H文件中,當(dāng)OS_STK_GROWTH為0時(shí),棧頂為內(nèi)存最低地址,當(dāng)OS_STK_GROWTH為1時(shí),棧頂為內(nèi)存最高地址。在80x86中處理器的堆棧是由高地址向低地址方向增長(zhǎng)的。
4 結(jié)束語(yǔ)
本溫控系統(tǒng)硬件上采用先進(jìn)的32位ARM處理器作為溫控設(shè)備的主控單元,控制的實(shí)時(shí)性、靈活性、準(zhǔn)確性和安全性都好于傳統(tǒng)的溫度控制箱,軟件設(shè)計(jì)上主要采用ANSI C語(yǔ)言編程,可讀性強(qiáng)而且容易移植,采用源代碼公開(kāi)的μC /OS-Ⅱ操作系統(tǒng)進(jìn)行任務(wù)管理提高了軟件的執(zhí)行效率和系統(tǒng)的實(shí)時(shí)性。因此這在大型車(chē)載系統(tǒng)中具有廣闊的市場(chǎng)潛力和商業(yè)價(jià)值。由于ARM微處理器的優(yōu)越性能和軟件的可移植性,該控制器可以很容易的嵌入到其他系統(tǒng)中,能夠應(yīng)用于樓宇自動(dòng)化和信息家電等諸多領(lǐng)域。
標(biāo)簽: