車載溫控系統的嵌入å¼è¨è¨ˆ
時間:2006-12-12 15:50:00來æºï¼šwangsl
導語:?LPC2214是Philipså…¬å¸çš„一款嵌入å¼å¾®æŽ§åˆ¶å™¨ï¼ˆMCU) ,它采用了ARM7TDM Iå…§æ ¸,
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,甚至更高。控制信號輸出也是采用光電隔離方法,考慮到開關é‡çš„輸出直接驅動è¨å‚™çš„èµ·åœ,éœ€å¤–åŠ ä¸€äº›ä¿è·é›»è·¯,也å¯ä»¥é‡‡ç”¨ç¹¼é›»å™¨,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,并且由連續的內å˜ç©ºé–“組æˆã€‚
用戶å¯ä»¥éœæ…‹åˆ†é…å †æ£§ç©ºé–“ä¹Ÿå¯ä»¥å‹•態地分é…å †æ£§ç©ºé–“ã€‚éœæ…‹å †æ£§æ‡‰æ”¾åœ¨å‡½æ•¸çš„外é¢ã€‚最åŽ,在調用OSTaskCreateæ™‚å¿…é ˆçŸ¥é“å †æ£§æ˜¯éžå¢žé‚„æ˜¯éžæ¸›,å› ç‚ºç”¨æˆ¶å¿…é ˆæŠŠå †æ£§çš„æ£§é ‚å‚³çµ¦ä¸Šé¢çš„函數。在OS_CPU.H文件ä¸,ç•¶OS_STK_GROWTH為0時,æ£§é ‚ç‚ºå…§å˜æœ€ä½Žåœ°å€,ç•¶OS_STK_GROWTH為1時,æ£§é ‚ç‚ºå…§å˜æœ€é«˜åœ°å€ã€‚在80x86ä¸è™•ç†å™¨çš„å †æ£§æ˜¯ç”±é«˜åœ°å€å‘ä½Žåœ°å€æ–¹å‘增長的。
4 çµæŸèªž
本溫控系統硬件上采用先進的32ä½ARM處ç†å™¨ä½œç‚ºæº«æŽ§è¨å‚™çš„主控單元,控制的實時性ã€éˆæ´»æ€§ã€æº–確性和安全性都好于傳統的溫度控制箱,軟件è¨è¨ˆä¸Šä¸»è¦é‡‡ç”¨ANSI C語言編程,å¯è®€æ€§å¼·è€Œä¸”容易移æ¤,采用æºä»£ç¢¼å…¬é–‹çš„μC /OS-â…¡æ“ä½œç³»çµ±é€²è¡Œä»»å‹™ç®¡ç†æé«˜äº†è»Ÿä»¶çš„åŸ·è¡Œæ•ˆçŽ‡å’Œç³»çµ±çš„å¯¦æ™‚æ€§ã€‚å› æ¤é€™åœ¨å¤§åž‹è»Šè¼‰ç³»çµ±ä¸å…·æœ‰å»£é—Šçš„å¸‚å ´æ½›åŠ›å’Œå•†æ¥åƒ¹å€¼ã€‚由于ARM微處ç†å™¨çš„優越性能和軟件的å¯ç§»æ¤æ€§,該控制器å¯ä»¥å¾ˆå®¹æ˜“的嵌入到其他系統ä¸,èƒ½å¤ æ‡‰ç”¨äºŽæ¨“å®‡è‡ªå‹•åŒ–å’Œä¿¡æ¯å®¶é›»ç‰è«¸å¤šé ˜åŸŸã€‚
標簽: