摘è¦ï¼šé€šéŽUML語言å°åµŒå…¥å¼ç³»çµ±å»ºæ¨¡ï¼Œæ€¥æº–確地完æˆäº†åˆ†æžäººå“¡èˆ‡ç”¨æˆ¶éœ€å½¢å¼åŒ–層次上的一致性,也為程åºé–‹ç™¼äººå“¡å»ºç«‹äº†æ¸…晰的程åºçµæ§‹å’Œè¡Œç‚ºæº–則,大大縮çŸäº†ç³»çµ±é–‹ç™¼å‘¨æœŸï¼Œå¹¶ä½¿ç³»çµ±çš„å‡ç´šå’Œé‡ç”¨æˆç‚ºå¯èƒ½ã€‚本文通éŽä¸€å€‹ç”¨Atmel 89C52單片機實ç¾ç°¡å–®è®Šé »èª¿é€Ÿå™¨ç³»çµ±ï¼Œèªªæ˜ŽUML應用與嵌入å¼ç³»çµ±çš„分æžè¨è¨ˆæ–¹æ³•。
1ã€æ¦‚è¿°
隨著我國è£å‚™åˆ¶é€ æ¥çš„發展,嵌入å¼ç³»çµ±å·²ç¶“æˆç‚ºåˆ¶é€ æ¥çš„æ ¸å¿ƒæŠ€è¡“ã€‚å®ƒè¢«å»£æ³›åœ°æ‡‰ç”¨åˆ°å·¥æ¥æŽ§åˆ¶ã€ä»¿çœŸç³»çµ±ã€é†«ç™‚儀器ã€ä¿¡æ¯å®¶é›»ã€é€šä¿¡è¨å‚™ç‰çœ¾å¤šé ˜åŸŸã€‚ç›®å‰ï¼Œåœç¹žåµŒå…¥å¼ç³»çµ±å±•é–‹ç ”ç©¶å’Œé–‹ç™¼ï¼Œå·²ç¶“æˆç‚ºè¨ˆç®—機軟硬件技術發展最活èºçš„æ–¹å‘之一。
嵌入å¼ç³»çµ±ä¸åŒäºŽé€šå¸¸ç´”粹的軟件系統或硬件系統,而是軟件與硬件通éŽåœ¨ä¸€èµ·çš„,有些功能既å¯ä»¥ç”¨è»Ÿä»¶å¯¦ç¾ï¼Œä¹Ÿå¯ä»¥é€šéŽç¡¬ä»¶å¯¦ç¾ã€‚å¦å¤–,嵌入å¼ç³»çµ±è¨è¨ˆæ‰€é¢è‡¨çš„æŒ‘戰ä¸åƒ…涉åŠåˆ°è¨ˆç®—機軟件和硬件,也會涉åŠåˆ°è¨±å¤šéžè¨ˆç®—機工程ä¸çš„å•題,諸如機械尺寸å•題ã€åŠŸè€—å•é¡Œå’Œåˆ¶é€ æˆæœ¬å•題ç‰ã€‚å³ä½¿æ˜¯è¨ˆç®—機工程方é¢çš„å•題,大部分系統在實時性ã€å¯é 性和多速率ç‰å•題方é¢ä¹Ÿéƒ½æœ‰ç‰¹åˆ¥è¦æ±‚。
ç›®å‰ï¼Œå¯¦ç¾åµŒå…¥å¼ç³»çµ±çš„ç¡¬ä»¶æ–¹æ³•ä¸»è¦æœ‰ï¼šå®šåˆ¶é‚輯(ASIC)ã€ç¾å ´å¯ç·¨ç¨‹é–€é™£åˆ—(FPGA)和嵌入å¼å¾®è™•ç†å™¨ä¸‰ç¨®ã€‚在實際系統實施ä¸ï¼Œçµ•大多數系統是采用嵌入å¼å¾®è™•ç†å™¨æ–¹å¼ï¼Œå¦‚單片機ã€å–®æ¿æ©Ÿæˆ–嵌入å¼å¾®è™•ç†å™¨èŠ¯ç‰‡ç‰ã€‚é€™æ˜¯å› ç‚ºç”¨å¾®è™•ç†å™¨å¯¦ç¾åµŒå…¥å¼ç³»çµ±æ˜¯ä¸€ç¨®å分有效的方法,它使得在ä¸åŒåƒ¹ä½ä¸Šè¨è¨ˆä¸åŒç‰¹æ€§çš„產å“系列æˆç‚ºå¯èƒ½ï¼Œå¹¶ä¸”èƒ½å¤ æ“´å……æ–°ç‰¹æ€§ä»¥æ»¿è¶³é£›é€Ÿç™¼å±•è®ŠåŒ–çš„å¸‚å ´éœ€æ±‚ã€‚
2ã€åµŒå…¥å¼ç³»çµ±è¨è¨ˆé¢è‡¨çš„å•題和解決辦法
éŽåŽ»åµŒå…¥å¼ç³»çµ±åˆ†æžå’Œè¨è¨ˆæ–¹é¢çš„主è¦å•題為:①分æžè¨è¨ˆæ²’有一個統一的標準;②分æžè¨è¨ˆæ–¹æ³•ä¸çµ±ä¸€ï¼›â‘¢å¾žåˆ†æžè¨è¨ˆåˆ°åˆ¶ä½œå’Œç·¨ç¨‹æ²’有一個始終一貫的工程化方法,使得產å“å½¢æˆçš„æ¯ä¸€å€‹éŽç¨‹äººç‚ºå› ç´ å½±éŸ¿å分嚴é‡ï¼›â‘£åˆ†æžè¨è¨ˆçš„æˆæžœä¸èƒ½è¢«é–‹ç™¼é¡žä¼¼é …目或產å“çš„é‡ç”¨ã€‚以上4個方é¢çš„å•題æˆç‚ºå¤šå¹´ä¾†åˆ¶ç´„嵌入å¼ç³»çµ±ç™¼å±•的主è¦ç“¶é ¸ï¼Œä½¿å¾—大部分從事嵌入å¼ç³»çµ±æ‡‰ç”¨é–‹ç™¼çš„組織和團體,基本上是采用å°çµ„甚至是作åŠå¼çš„動作模å¼ã€‚這使得開發較復雜或大型系統的工作變得ååˆ†å›°é›£ç”šè‡³ç„¡æ³•é€²è¡Œï¼Œæˆ–å› ç‚ºç³»çµ±éœ€æ±‚çš„ä¸æ–·è®ŠåŒ–或å°çµ„æˆå“¡çš„æµå‹•å°Žè‡´é …ç›®å¤±æ•—ã€‚æˆ‘å€‘çŸ¥é“ï¼Œäººé¡žä¹‹é–“è¦æƒ³é”æˆå°ä»»ä½•事件的交æµï¼Œå‰ææ˜¯å¯¦ç¾å°è©²äº‹ç‰©å½¢æ…‹ï¼ˆæˆ–表ç¾å½¢å¼ï¼‰å’Œè¡Œç‚ºçš„æ¨™æº–åŒ–ï¼Œä¹‹åŽæ‰å¯èƒ½å¯¦ç¾å°è©²äº‹ç‰©å½¢æ…‹ï¼ˆæˆ–表ç¾å½¢å¼ï¼‰å’Œè¡Œç‚ºçš„æ¨™æº–åŒ–ï¼Œä¹‹åŽæ‰å¯èƒ½å¯¦ç¾å°å…¶çš„å˜å„²ã€è™•ç†å’Œäº¤æµã€‚嵌入å¼ç³»çµ±åˆ¶ä½œéŽç¨‹ç”¢å“以上4æ–¹é¢å•題的主è¦åŽŸå› æ˜¯æ²’æœ‰ä¸€å€‹å°åµŒå…¥å¼ç³»çµ±éœ€æ±‚ã€åˆ†æžã€è¨è¨ˆã€åˆ¶ä½œã€æ¸¬è©¦å’Œç¶è·éŽç¨‹çš„çµæ§‹ç‰¹å¾å’Œè¡Œæ¥ç‰¹å¾çµ±ä¸€çš„工程化æè¿°æ–¹æ³•。目å‰ï¼Œé¢å‘å°è±¡æŠ€è¡“æ£æ˜¯å»ºç«‹åœ¨å°çœŸå¯¦ä¸–界抽象æ€ç¶çš„基礎上,統一建模語言(UML)為這種æ€ç¶æä¾›äº†å¯è¦–化工具,解決了以上難題。使用UMLå°åµŒå…¥å¼ç³»çµ±å»ºæ¨¡ï¼Œä¸åƒ…å¯ä»¥ä½¿ç³»çµ±åˆ†æžè¨è¨ˆå¯¦ç¾æ¨™æº–化,而且完全å¯ä»¥å¯¦ç¾ç³»çµ±åˆ†æžã€è¨è¨ˆå’Œåˆ¶ä½œã€æ¸¬è©¦åˆ†åˆ¥ç”±ä¸åŒçš„é …ç›®æˆå“¡åœ¨çµ±ä¸€ã€ä¸€è²«çš„æ–¹å¼ä¸‹å®Œæˆï¼Œä¹Ÿä½¿å¾—系統分æžå’Œè¨è¨ˆæ¨¡åž‹åœ¨ç›¸ä¼¼ç³»çµ±ä¸é‡ç”¨æˆç‚ºå¯èƒ½ã€‚
3ã€ç³»çµ±å»ºæ¨¡
é¢å‘å°è±¡çš„嵌入å¼ç³»çµ±å»ºæ¨¡åŒä»»ä½•軟件密集型系統建模一樣,從系統ä¸çš„é¡žå»ºæ¨¡é–‹å§‹ã€‚ç‚ºäº†è§£é¡žçš„çµæ§‹ï¼Œé¦–å…ˆå°ç³»çµ±å·¥ä½œéŽç¨‹ä½œä¸€å€‹ç¸½é«”陳述。無論是采用å•題空間詞匯抽象方法還是采用用例(use case)驅動建模方法,目標都是找到系統以類或å°è±¡ä½œç‚ºæ§‹é€ å¡Šçš„é¡žåœ–ã€‚å¦‚æžœé‡‡ç”¨ç”¨ä¾‹é©…å‹•çš„ç³»çµ±åˆ†æžæ–¹æ³•,該內容也å¯ä»¥ç”¨ç”¨ä¾‹è¦–åœ–åŠ ä»¥æ¨¡åž‹è¦æ ¼èªªæ˜Žï¼Œç„¶åŽä½¿å…¶ä½œç‚ºç³»çµ±ç™½ç›’æ¸¬è©¦ä¾æ“šã€‚由于使用用例視圖åšçš„è¦æ ¼èªªæ˜Žç¯‡å¹…æ¯”è¼ƒå¤§ï¼Œæœ¬æ–‡åƒ…ç”¨æ–‡å—æè¿°èªªæ˜Žé€™éƒ¨åˆ†å…§å®¹ã€‚
本文所例舉的系統為一å°åž‹è®Šé »èª¿é€Ÿå™¨ç³»çµ±ã€‚å°ä»»ä½•一個三相交æµé›»æ©Ÿï¼Œåœ¨è¼¸å…¥å–®ç›¸äº¤æµé›»æºçš„æƒ…æ³ä¸‹ï¼Œå¯¦ç¾6Hz到[9Hz,50Hz]å€é–“å…§ä»»ä¸€é »çŽ‡çš„ç©©æ¥å•Ÿå‹•é‹è½‰ã€‚系統用戶界é¢åŒ…括2使•¸ç¢¼é¡¯ç¤ºå™¨ã€ä¸€å€‹é‹è¡Œ/åœæ¢æŒ‡ç¤ºå™¨ã€é›»æºé–‹/關指示器ã€6個按鈕éµç›¤å’Œé›»æºé–‹é—œã€‚2ä½é¡¯ç¤ºå™¨ç”¨äºŽé¡¯ç¤ºé›»æ©Ÿç•¶å‰æ£åœ¨é‹è½‰çš„é »çŽ‡ï¼Œ6個按éµåˆ†åˆ¥ä»£è¡¨å•Ÿå‹•ã€åœæ©Ÿã€æ£é»žå‹•ã€å點動ã€é »çŽ‡åŠ å’Œé »çŽ‡æ¸›ã€‚å•Ÿå‹•å‘½ä»¤ä½¿é›»æ©Ÿå¾ž6Hzä»¥æ¯æ¥0.2Hzçš„æ¥é•·ç©©æ¥æå‡åˆ°ç•¶å‰è¨ç½®é »çŽ‡ä¸ŠåŽåœ¨è©²é »çŽ‡ä¸Šç©©å®šé‹è½‰ï¼›æ£é»žå‹•命令使電機穩定在6Hz上æ£å‘é‹è½‰ï¼›åé»žå‹•å‘½ä»¤æ™‚ï¼Œé›»æ©Ÿè½‰å‹•é »çŽ‡èˆ‡æ£é»žå‹•上åŒï¼Œä½†æ—‹è½‰æ–¹å‘相åï¼›é »çŽ‡åŠ å‘½ä»¤åœ¨é›»æ©Ÿé‹è½‰æ™‚使電機以1Hz/sçš„é€ŸçŽ‡å¢žåŠ é‹è½‰é »çŽ‡å’Œç•¶å‰é ç½®é »çŽ‡ï¼Œåœ¨é›»æ©Ÿåœæ¢æ™‚僅改變é ç½®é »çŽ‡ï¼›é »çŽ‡æ¸›å‘½ä»¤èˆ‡é »çŽ‡åŠ å‘½ä»¤ç›¸åï¼›åœæ©Ÿå‘½ä»¤å‰‡ç„¡è«–電機é‹è¡Œåœ¨ä»€ä¹ˆç‹€æ…‹ä¸‹ï¼Œéƒ½ä½¿é›»æ©Ÿåœæ¢é‹è½‰ã€‚
如圖1æ‰€ç¤ºã€‚åœ–ä¸æœ‰2個硬件類Button*和Light*,1個主動類Microcontrollorå’Œ3個一般類Convertorã€Watchdogå’ŒDisplay。Button*類代表所有按鈕;Light*類代表2個發光數碼管和1個é‹è¡ŒæŒ‡ç¤ºç‡ˆ;主動類Microcontrolloræ˜¯ç³»çµ±ä¸»æŽ§æ¨¡å¡Šï¼Œå®Œæˆæ‰€æœ‰å°è±¡çš„調度和管ç†ï¼›3個一般類為3個功能ç¨ç«‹çš„ç¨‹åºæ¨¡å¡Šã€‚
[align=center][img=497,127]http://www.e-works.net.cn/images/127904195096718750.GIF[/img]
圖1 è®Šé »èª¿é€Ÿç³»çµ±é¡žåœ–[/align]
圖2為系統實施圖。微處ç†å™¨ç¯€é»žæ˜¯ç³»çµ±çš„主控節點,采用Atmel 89C52。其內部8KB Flash ROMå’Œ128B RAM資æºå·²èƒ½æ»¿è¶³ç³»çµ±éœ€è¦ï¼Œå› æ¤ä¸å†å¢žåŠ å¤–éƒ¨å˜å„²å™¨ã€‚與其它節點的連接完全通éŽå…¶æœ¬èº«çš„串并接å£å°±å¯å®Œæˆã€‚按鈕節點代表所有按鈕,在系統變化時也å¯ä»¥ç”¨éµç›¤å–代,本例為6å€‹å–®ç¨æ©Ÿæ¢°æŒ‰éˆ•。顯示節點代表系統顯示部分,本例為2個數碼管和1個表示電åŒé‹è¡Œç‹€æ…‹çš„發光二極管。é‹è¡Œç›£æŽ§ç¯€é»žå…·æœ‰å…©éƒ¨åˆ†åŠŸèƒ½ï¼Œå…¶ä¸€æ˜¯é€šéŽWatchDog技術監視微處ç†å™¨çš„é‹è¡Œç‹€æ³ï¼Œå¦ä¸€å€‹æ˜¯ç›£è¦–變æ›å™¨è¼¸å‡ºçš„脈沖寬度。變æ›å™¨é‚›æ¨¹ç†Šè¨è¨ˆç‚ºå°ˆç”¨é›»è·¯ï¼Œé€šéŽå¾®è™•ç†å™¨å¹¶è¡Œå£æŽ¥å—三相æ£å¼¦è„ˆæ²–ï¼Œæ ¹æ“šé›»æ©ŸåŠŸçŽ‡è½‰æ›æˆæœ¬ç›¸é›»æ©Ÿç·šåœˆæ‰€éœ€è¦çš„脈沖電壓。三相電機節點ä¸å±¬äºŽåµŒå…¥å¼ç³»çµ±æœ¬èº«ï¼Œä½†ç‚ºäº†èªªæ˜Žæœ¬åµŒå…¥å¼ç³»çµ±èˆ‡æŽ§åˆ¶å°è±¡é—œç³»è€Œå¸ƒç½®åœ¨åŒä¸€å¯¦æ–½åœ–ä¸ã€‚
[align=center][img=500,125]http://www.e-works.net.cn/images/127904195276875000.GIF[/img]
圖2 è®Šé »èª¿é€Ÿç³»çµ±å¯¦æ–½åœ–[/align] 圖3為系統有é™ç‹€æ…‹æ©Ÿè¡Œç‚ºæ¨¡åž‹ã€‚系統開機上電åŽï¼Œç¶“éŽåˆå§‹åŒ–處ç†è‡ªå‹•進入到ç‰å¾…狀態,在ç‰å¾…狀態,Microcontrollorå°è±¡æ ¹æ“šç”¨æˆ¶éµç›¤æŒ‰éˆ•命令,調度相應的æ“作å°è±¡ã€‚ç•¶ç”¨æˆ¶ç™¼å‡ºæ£æˆ–å點動命令時,系統進入點動é‹è¡Œæ…‹ï¼Œæ¤æ™‚Convertorå°è±¡è¼¸å‡º6Hzæ£æˆ–å相åºä¸‰ç›¸è„ˆæ²–。當用戶æ¾é–‹æ£æˆ–å點動按鈕時,系統返回ç‰å¾…狀態。在系統é ç½®é »çŽ‡è¨å®šæ£ç¢ºçš„æƒ…æ³ä¸‹ï¼Œç”¨æˆ¶æŒ‰å•Ÿå‹•按鈕時,系統先進入到啟動é‹è¡Œæ…‹ã€‚在æ¤ç‹€æ…‹æ™‚系統從6Hzé–‹å§‹æŒ‰æ¯æ¥0.2Hzçš„æ¥é•·ç©©æ¥å¢žåŠ é›»æ©Ÿé‹è½‰é »çŽ‡ï¼Œç›´åˆ°é”到é ç½®é »çŽ‡æ™‚é€²å…¥åˆ°ç©©å®šé‹è¡Œæ…‹ã€‚在穩定é‹è¡Œæ…‹ç”¨æˆ¶å¯ä»¥æ”¹è®Šé ç½®é »çŽ‡ï¼Œæ¥é•·ç‚º1Hzã€‚æ¯æ¬¡é ç½®é »çŽ‡çš„æ”¹è®Šäº‹ä»¶ï¼Œéƒ½æœƒç”¢ç”Ÿå¾žç©©å®šé‹è¡Œæ…‹åˆ°å•Ÿå‹•é‹è¡Œæ…‹çš„交替變動。當系統é‹è¡Œå‡ºç¾æ•…障時,進入到故障處ç†ç‹€æ…‹è™•ç†ï¼Œå®ŒæˆåŽè‡ªå‹•返回到ç‰å¾…狀態。
[align=center][img=500,250]http://www.e-works.net.cn/images/127904195474687500.GIF[/img]
圖3 è®Šé »èª¿é€Ÿç³»çµ±ç‹€æ…‹åœ–[/align]
4ã€ç³»çµ±å¯¦ç¾
4.1 數據處ç†
由于本文例舉的系統為一å°åž‹è®Šé »èª¿é€ŸåµŒå…¥å¼ç³»çµ±ï¼Œæ‰€æœ‰ä¸‰ç›¸æ£å¼¦æ³¢å½¢çš„PWM脈沖都由Atmel 89C52çš„P1.0~P1.5端å£è¼¸å‡ºã€‚ç•¶æŠŠä»»ä½•é »çŽ‡æ£å¼¦æ³¢å½¢åˆ†è§£æˆNç‰åˆ†æ™‚(N為6的整數å€ï¼‰ï¼Œå‰‡è¦ç”¨N個ç‰å¹…而ä¸ç‰å¯¬çš„çŸ©å½¢è„ˆæ²–ä¾†ç‰æ•ˆï¼Œæ¯å€‹è„ˆæ²–å€é–“如圖4。æ¯å€‹é »çއæ£å¼¦æ³¢åŠƒåˆ†ç‚º6個相åºï¼Œæ¯å€‹ç›¸åºç‚º60°。æ¯å€‹ç›¸åºåˆ†ç‚ºN/6個å€é–“,æ¯å€é–“分為7個å°å€é–“。æ¯å€‹å€é–“采用ä¸å¿ƒå°ç¨±è„ˆæ²–æ³¢å½¢ï¼Œå› æ¤åœ¨æ¯å€‹å°è„ˆæ²–é‚Šæ²¿åªæœ‰ä¸€ç›¸åŠŸçŽ‡é©…å‹•é–‹é—œæ›ç›¸è€Œä½¿é©…å‹•é›»æºé›»æµå¹³è¡¡è®ŠåŒ–。在任何一相æ›ç›¸æ™‚ï¼Œç”±è»Ÿä»¶è‡ªå‹•åŠ æ»å€ä¿è·ï¼ˆæ»å€æ™‚é–“ä¸€ç›¸ä¸Šä¸‹è‡‚é–‹é—œåŒæ™‚關閉,如圖4ä¸è±Žé›™ç·šé–“部分),以å…功率驅動開關在æ›ç›¸çž¬é–“ä¸Šä¸‹è‡‚åŒæ™‚導通而æå£žå…ƒä»¶ã€‚
[align=center][img=500,267]http://www.e-works.net.cn/images/127904195634218750.GIF[/img]
圖4 三相æ£å¼¦æ³¢è¡Œçš„一個å°å€é–“[/align]
é›–ç„¶å°äºŽä¸åŒé »çއæ¯å€‹ç›¸åºå…§è„ˆæ²–å€é–“數和å 空比有所ä¸åŒï¼Œä½†è¼¸å‡ºçš„æ³¢å½¢å»æ˜¯ç›¸åŒçš„。åˆå› 為æ¯å€‹å€é–“çš„7個å°å€é–“波形是ä¸å¿ƒå°ç¨±çš„ï¼Œå› æ¤åœ¨è¼¸å‡ºæœ€åŽ3個尿³¢å½¢æ™‚,åªè¦æŠŠå‰3個尿³¢å½¢çš„å 空時間和輸出波形數據倒讀并輸出就å¯ä»¥å®Œæˆã€‚å¦å¤–,æ¯å€‹è„ˆæ²–å€é–“僅需è¦4個å 空定時Tå€é–“,t2,t3,t4(見下節說明),并且æ¯å€‹ç›¸åºåƒ…需è¦4個脈沖波形數據就å¯ä»¥äº†ã€‚三相æ£å¼¦æ³¢å€é–“數據關系如表1。
[align=center]表1 三相æ£å¼¦æ³¢å€é–“數據關系
[img=500,184]http://www.e-works.net.cn/images/127904195825156250.gif[/img][/align]
4.2 系統資æºé…ç½®
當系統的分æžèˆ‡è¨è¨ˆé‡‡ç”¨é¢å‘å°è±¡æ–¹æ³•æ™‚ï¼Œå¹¶ä¸æ„味著所使用的編程語言也一定是é¢å‘å°è±¡çš„。事實上,這種分æžè¨è¨ˆæ–¹æ³•的具體實ç¾å¯ä»¥ä½¿ç”¨ä»»ä½•編程語言(如匯編語言或C語言);但是,在程åºè¨è¨ˆä¸Šè¦ç›¡å¯èƒ½åœ°ä½¿ç”¨é¢å‘å°è±¡çš„æ€æƒ³ï¼Œå¦‚é«”ç¾ç¨‹åºçµæ§‹æ–¹é¢çš„å°è£æ€§ã€æ¶ˆæ¯å‚³éžç‰ã€‚é€™ç¨®æ‰æœƒä½¿ç¨‹åºçµæ§‹æ¸…æ™°ï¼Œä¾¿äºŽæ‡‰ä»˜éš¨è‘—éœ€æ±‚è®ŠåŒ–è€Œç”¢ç”Ÿçš„ä¸æ–·æ›´æ–°å’Œç³»çµ±ç¶è·ã€‚
åœ¨å¯¦ç¾æœ¬ç³»çµ±æ™‚,系統最é‡è¦çš„è³‡æºæ˜¯ç¨‹åºå˜å„²å™¨å’Œå®šæ™‚器。由于采用了上å°ç¯€æ‰€è¨Žè«–çš„æ•¸æ“šè™•ç†æŠ€è¡“ï¼Œå¤§å¤§å£“ç¸®äº†æ•¸æ“šç©ºé–“ã€‚åœ¨å¯¦ç¾æ™‚,把6Hz~50Hzé »çŽ‡ç©ºé–“åŠƒåˆ†æˆ7å€‹å¤§çš„å€æ®µï¼Œä½¿æ¯å€‹å€é–“的脈沖周期在900μså·¦å³ï¼Œå€é–“周期定時使用單片機內部的T2定時器的常數自動é‡è£å…¥æ–¹å¼ã€‚由于å€é–“å‘¨æœŸèˆ‡è¼¸å‡ºé »çŽ‡é—œç³»æ˜¯ç¢ºå®šçš„ï¼ˆTå€é–“=1/Nfé »çŽ‡ï¼‰ï¼Œç‰‡å…§T0定時器用于å€é–“å…§å°å€é–“t2ã€t3ã€t4定時,而t1定時由t1=Tå€é–“-2×t2-2×t3-t4計算得到。T1定時器用于監視系統輸出的脈沖寬度,當P1å£ä»»ä½•一端輸出脈沖寬度超éŽ1000μs時,系統通éŽä¸æ–·é€²å…¥æ•…障處ç†ç‹€æ…‹ã€‚å¦å¤–,系統還è¨ä¸€WatchDog電路X5045,監視系統程åºé‹è¡Œæƒ…æ³ã€‚當程åºé‹è¡Œç•°å¸¸æ™‚,系統通éŽå¾©ä½é€²å…¥åˆ°æ•…障處ç†ç‹€æ…‹ã€‚系統的顯示接å£é€šéŽå–®ç‰‡æ©Ÿä¸²è¡ŒæŽ¥å£å¯¦ç¾ã€‚
5ã€è¨Žè«–
由于嵌入å¼ç³»çµ±çš„實ç¾å·¥å…·åŸºæœ¬ä¸Šéƒ½æ˜¯éžé¢å‘å°è±¡çš„ï¼Œå› æ¤å¦‚何使é¢å‘å°è±¡çš„分æžè¨è¨ˆèˆ‡éžé¢å‘å°è±¡çš„實ç¾å·¥å…·ä¹‹é–“的銜接就æˆç‚ºäº†ä¸€å€‹å€¼å¾—探討的å•題。å¦å¤–,嵌入å¼ç³»çµ±ä¸€èˆ¬éƒ½å…·æœ‰ä¸åŒäºŽå¤§åž‹è»Ÿä»¶ç³»çµ±çš„å…·é«”è¦æ±‚,如實時性ã€å¯é æ€§ã€æ©Ÿæ¢°å°ºå¯¸ã€èƒ½è€—ï¼ˆå¦‚é›»æ± ä¾›é›»ï¼‰è¦æ±‚ç‰ï¼Œå› æ¤åœ¨å¯¦ç¾ç³»çµ±æ™‚é‚„æ‡‰æ ¹æ“šé–‹ç™¼è€…çš„ç¶“é©—é€²è¡Œç‰¹åˆ¥è™•ç†ã€‚但是,采用é¢å‘å°è±¡å»ºæ¨¡åŽå†å¯¦ç¾ç³»çµ±å¯¦ç¾çš„æ–¹æ³•,為系統建立了å¯è¦–åŒ–çš„çµ„ç¹”çµæ§‹å’Œè¡Œæ¥çµæ§‹ï¼Œå¯¦ç¾äº†ç”¨æˆ¶éœ€æ±‚çš„å¯è¦–化表示,縮çŸäº†ç³»çµ±çš„é–‹ç™¼å‘¨æœŸï¼Œå¾ˆå¥½åœ°é©æ‡‰äº†ç”¨æˆ¶éœ€æ±‚的變化。