車載溫控系統的嵌入式設計
1、硬件平臺設計
如圖1所示,各分系統介紹如下。

1.1 LPC2214
LPC2214是Philips公司的一款嵌入式微控制器(MCU) ,它采用了ARM7TDM I內核,片上資源十分豐富,帶有16K字節片內靜態RAM和256KB 嵌入的高速Flash存儲器。128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘速率下運行。
對代碼規模有嚴格控制的應用可使用16位Thumb模式將代碼規模降低30%,而性能的損失卻很小。由于LPC2214較小的144腳封裝、極低的功耗、多個32位定時器, 8路10位ADC ( 64腳和144腳封裝)以及多達9個外部中斷使它們特別適用于工業控制、醫療系統、訪問控制和POS機。由于內置了寬范圍的串行通信接口,它們也非常適合于通信網關、協議轉換器、嵌入式軟modern以及其他各種類型的應用。
1.2 CPLD擴展電路及鍵盤LCD
該電路的主要功能是對CPU芯片的外圍功能進行擴充,使系統具有良好的人機接口。對于功能要求比較復雜的電路,一般都采用CPU + CPLD的模式,采用該模式的原因主要有兩個方面: (1) CPU 作為系統的核心,無法、也沒有必要滿足所有用戶的具體功能要求,只需給用戶以標準的外部總線接口EB I (externalbus interface)即可,讓用戶根據自己的需要進行必要的功能擴展。(2) CPLD 用在電路設計中有以下幾點優勢:可方便地實現地址譯碼;編程方式簡便,可方便地通過軟件編程實現各種邏輯器件的功能;時鐘延遲可達納秒級,特別適合在線監測領域的應用,具有高可靠性。鍵盤主要作用是手動控制方式情況下,各位置的傳感器信號的檢測及控制,各處檢測到的溫度以數字量的方式顯示在LCD 上。實現了手動方式的溫度檢測及控制集中統一的管理。
1.3 系統存儲器及調試接口
LPC2214支持8位、16位和32位尋址方式,具有較強的尋址能力,可方便的構建較大的存儲空間。由于芯片自身帶有256KB 的高速Flash,對于采用μC /OS-Ⅱ設計嵌入式通信控制器已經足夠, 無需在外部掛接FLASH存儲器。系統選用IS61LV25616AL作為SRAM存儲器,滿足了嵌入式操作系統及通信控制器中的內存塊拷貝運行要求。
LPC2214支持JTAG協議, JTAG( Joint Test Action Group聯合測試行動小組)是一種國際標準測試協議。主要用于芯片內部測試及對系統進行仿真、調試,通過JTAG接口,可對芯片內部的所有部件進行訪問,因而是開發調試嵌入式系統的一種簡潔高效的手段。目前JTAG接口的連接有兩種標準,即14針接口和20針接口,筆者選用14針接口。
1.4 系統通信
LPC2214 內部集成了兩個UART 通道, 利用MAX489實現RS-422通信接口,以便同上位機之間的通信;另外一個UART接口用于同同級系統之間的通信。利用RTL8019AS芯片RJ-45網絡接口,在溫控設備出現無法處理的故障時,用五級以上的雙絞線接入基于神經網絡的故障診斷服務器,實現了遠程以太網故障診斷功能。
1.5 數字及模擬接口
LPC2214提供了多達76個可編程的I/O端口,溫度控制器主要的模擬量信號有:前倉溫度模擬量信號,后室溫度模擬量信號,發動機溫度模擬量信號及系統設備的模擬量信號8路。模擬信號經隔離放大后由8路10位ADC進入溫度控制器。溫度控制器內的數字信號由I/O口,經過隔離放大后,達到相應的控制終端,控制通風扇開關,系統設備溫度及前倉、后室的空調啟停等。而其他數據總線和地址總線及部分GP IO在系統板上引出,以供擴展之用。
2 接口抗干擾設計
在該大型車載系統中,后室某處溫度信號變化,將會直接影響到整個車載系統的性能及狀態。所以有必要提高輸入輸出接口的可靠性。需要對數字量信號及模擬量信號采用有效的抗干擾措施。
數字量接口通道總體思想就是全光電隔離方案,數字量(開關量)輸入通道接入光電藕合器后,由于光電藕合器的抗干擾作用,使夾在輸入開關量中的各種干擾脈沖都被擋在輸入回路的一邊。另外,光電藕合器還起到了很好的安全保障作用,因為光電藕合器的輸入回路和輸出回路之間可耐壓1000V,甚至更高??刂菩盘栞敵鲆彩遣捎霉怆姼綦x方法,考慮到開關量的輸出直接驅動設備的起停,需外加一些保護電路,也可以采用繼電器,Photo MOS繼電器,光電藕合器方法。
雖然模擬量I/O電路與外部電源的隔離可用安全柵來實現,但是,一些強電干擾還會經此和一些其他通道,從模擬量輸入輸出電路串入系統,因此為了保證智能設備能在任何時候都能工作在平穩,安全環境里,還要加隔離措施。因為模擬量信號是連續的,任何疊加在模擬信號的干擾都會因為有實際意義而起到作用。這表明抗干擾屏蔽的位置越往外推越好,最好在模擬量輸入輸出口處,因此,要求這里采用的光電藕合器必須具有線性變換和傳輸的特性。
3 系統軟件設計
μC /OS-Ⅱ是一個免費的、源代碼公開的實時嵌入式內核,提供了實時系統所需的基本功能。μC /OS-Ⅱ中包含全部功能的核心部分,代碼只占用8.3KB,而且由于μC /OS-Ⅱ是可裁剪的,所以用戶系統中實際的代碼最少可達2.7KB,可謂短小精悍。μC /OS-Ⅱ適合小型控制系統,具有執行效率高,占用空間小,確定性、實時性優良和可擴展性強等特點。μC /OS-Ⅱ采用的是占先式的實時多任務內核。
占先式的實時內核在任何時候都運行就緒任務中優先級最高的任務。這樣μC /OS-Ⅱ就不支持通用的時間片輪轉調度。μC /OS-Ⅱ中最多可以支持64個任務,分別對應優先級0~63,其中0為最高優先級,版本Ⅱ保留8個給系統,用戶可以使用的有54個。
溫度控制器的控制要求是:大型車載系統設有溫度傳感器來檢測車載系統多處的溫度,溫度控制器接收到當前的車載系統各處溫度,把它與車載各處原先設定溫度標準作比較以決定系統各處的工況。根據溫度的高低,發出相應的控制信號,完成控制以達到監控的目的。如車上的保溫室內設定溫度為20℃,當溫度控制器接收到溫度傳感器的值為21℃,則溫度控制器發出降溫數字控制信號,通風扇打開,當溫度傳感器的值達到規定的范圍(19.8~20.2℃)溫度控制器發出停止信號,通風扇關閉。溫度控制器有本機自動、本機手動二種工作方式,溫度控制器通過檢測鍵盤信號或上位機發出的控制信號以決定工作于哪一種控制方式下。此外,溫度控制器能夠及時檢測出電機過載、傳感器失靈等故障,然后迅速做出簡單的故障處理。如果故障很復雜,無法診斷出來,則用雙絞線連接神經網絡故障診斷服務器,開啟控制信號,實施遠程故障診斷。
根據溫度控制器的控制要求,本程序分為6個任務來實現,分別是:任務OSTask Input ( )周期性的采集車載系統溫度傳感器的模擬量輸入;任務OSTaskControl( )根據溫度控制器接收到當前的車載系統各處溫度,把它們分別與車載各處原先設定溫度作比較和發出相應的控制命令,使被控制端工作于制冷或者制暖工況,甚至停機(如車載系統的發動機處溫度過高) ;任務OSTaskcontrol choice ( )周期性輪詢UART串口,檢測是否有上位機控制命令,以使控制器能及時的響應; OSTaskmode choose ( )通過檢測鍵盤信號或上位機發出的控制信號以決定溫度控制器工作于哪一種控制方式下,默認方式為自動;任務OSTaskRemote Diagnosis ( )的功能是在接收到控制信號的情況下, 周期性地輪詢網卡,以實現與遠程故障診斷服務器進行通訊;任務OSTaskEasy _Recover ( )的功能是執行一些簡單的故障處理程序。任務之間采用共享變量交互。
該軟件的初始化工作如下所示:

在μC /OS-Ⅱ中創建用戶任務時要注意到3點,首先,μC /OS-Ⅱ中每個任務被賦予不同的優先級。任務的優先級號就是任務編號,保留給系統的不能用。其次,μC /OS-Ⅱ中,每個任務都有自己的堆棧空間。堆棧必須聲明為OS STK,并且由連續的內存空間組成。
用戶可以靜態分配堆棧空間也可以動態地分配堆??臻g。靜態堆棧應放在函數的外面。最后,在調用OSTaskCreate時必須知道堆棧是遞增還是遞減,因為用戶必須把堆棧的棧頂傳給上面的函數。在OS_CPU.H文件中,當OS_STK_GROWTH為0時,棧頂為內存最低地址,當OS_STK_GROWTH為1時,棧頂為內存最高地址。在80x86中處理器的堆棧是由高地址向低地址方向增長的。
4 結束語
本溫控系統硬件上采用先進的32位ARM處理器作為溫控設備的主控單元,控制的實時性、靈活性、準確性和安全性都好于傳統的溫度控制箱,軟件設計上主要采用ANSI C語言編程,可讀性強而且容易移植,采用源代碼公開的μC /OS-Ⅱ操作系統進行任務管理提高了軟件的執行效率和系統的實時性。因此這在大型車載系統中具有廣闊的市場潛力和商業價值。由于ARM微處理器的優越性能和軟件的可移植性,該控制器可以很容易的嵌入到其他系統中,能夠應用于樓宇自動化和信息家電等諸多領域。
文章版權歸西部工控xbgk所有,未經許可不得轉載。
上一篇:高效加工中等強度鋼的苞米齒銑刀