引言
é‹çˆæ˜¯é€šéŽç‡ƒç‡’åŠ ç†±å·¥è³ªä¾†æä¾›ç†±èƒ½å‹•力的é‡è¦è¨å‚™ï¼ŒåŒæ™‚åˆæ˜¯æ‰¿å£“ã€å—ç«ã€æœ‰çˆ†ç‚¸å±éšªè€Œåˆè¢«å„è¡Œå„æ¥æ™®é使用的特殊è¨å‚™ã€‚所以實時監控é‹çˆçš„é‹è¡Œç‹€æ…‹ï¼ŒåŠæ™‚ã€æº–確地發ç¾é‹çˆé‹è¡Œä¸çš„事故至關é‡è¦ã€‚傳統的é‹çˆç›£æŽ§ç³»çµ±åœ¨æ¸¬é‡æ‰‹æ®µå’Œä½¿ç”¨çš„傳感器方é¢éƒ½å˜åœ¨å¾ˆå¤§çš„缺陷。以溫度檢測為例,早期采用的熱電å¶é›»æ©‹æ³•,測試éŽç¨‹å¾©é›œï¼›è€Œé‡‡ç”¨é›†æˆçš„åŠå°Žé«”模擬溫度傳感器需è¦å¤§é‡çš„å‚³è¼¸é›»çºœï¼Œæˆæœ¬é«˜ä¸”䏿˜“ç¶è·ã€‚
CAN總線是一種多主機控制標準,具有物ç†å±¤å’Œæ•¸æ“šéˆè·¯å±¤çš„å”è°ã€å¤šä¸»ç¯€é»žã€ç„¡æä»²è£ã€é«˜å¯é æ€§åŠæ“´å……性能好ç‰ç‰¹é»žï¼›èƒ½æœ‰æ•ˆæ”¯æŒåˆ†å¸ƒå¼æŽ§åˆ¶ç³»çµ±çš„串行通信網絡。一方é¢ï¼Œå…¶é€šä¿¡æ–¹å¼éˆæ´»ï¼Œå¯å¯¦ç¾å¤šä¸»æ–¹å¼å·¥ä½œï¼Œé‚„å¯å¯¦ç¾é»žå°é»žã€é»žå°å¤šé»žç‰å¤šç¨®æ•¸æ“šçš„æ”¶ç™¼ï¼›å¦ä¸€æ–¹é¢ï¼Œèƒ½åœ¨ç›¸å°è¼ƒå¤§çš„è·é›¢é–“進行較高ä½é€ŸçŽ‡çš„æ•¸æ“šé€šä¿¡ã€‚æœ¬ç³»çµ±æ˜¯ç”±ä¸Šä½æ©Ÿå°å¤šå€‹å¹¶åˆ—的承壓é‹çˆç›£æŽ§å–®å…ƒé€²è¡ŒæŽ§åˆ¶ç®¡ç†ï¼Œå„監控單元之間è¦é€²è¡Œå¿«é€Ÿçš„æ•¸æ“šå‚³è¼¸ã€‚CANç¸½ç·šèƒ½å¾ˆå¥½åœ°æ»¿è¶³è©²ç³»çµ±çš„è¦æ±‚。
1ã€ç³»çµ±ç¸½é«”çµæ§‹
如圖1所示,系統由上ä½ç›£æŽ§æ©Ÿã€CAN節點0與其他CAN節點組æˆã€‚å…¶ä¸ï¼Œä¸Šä½ç›£æŽ§æ©Ÿç‚ºPC機,å„CAN節點的微控制器為STC89LE54RD+。STC89LE54RD+外接CAN控制器SJA1000,外部è¨å‚™ä¸»è¦ç‚ºä¸€ç·šå¼æ•¸å—溫度計DS1822與壓力傳感器。

上ä½ç›£æŽ§æ©Ÿï¼ˆPC機)采用IBM-PC兼容機,主è¦è² 責å°ç³»çµ±å„節點監控數據的接收與管ç†ã€æŽ§åˆ¶å‘½ä»¤çš„發é€ä»¥åŠå„æŽ§åˆ¶å–®å…ƒå‹•æ…‹åƒæ•¸å’Œè¨å‚™ç‹€æ…‹çš„實時顯示。
CAN節點0是一個至關é‡è¦çš„ç¯€é»žï¼Œä¸»è¦æœ‰å…©å€‹åŠŸèƒ½ï¼šä¸€æ˜¯ä½œç‚ºä¸Šä½æ©Ÿï¼ˆPC機)與CAN總線的接å£ï¼Œå®ŒæˆCAN總線數據與RS-232接å£çš„æ•¸æ“šè½‰æ›ï¼Œå°æ™ºèƒ½ç¯€é»žå‚³é€éŽä¾†çš„æ•¸æ“šä¿¡æ¯é€²è¡Œç·©å˜ï¼Œå°å‘Šè¦ä¿¡è™Ÿé€²è¡Œå‘Šè¦ä»¥é€šçŸ¥ç¶è·äººå“¡é€²è¡Œè™•ç†ï¼›äºŒæ˜¯è² 責å”èª¿ä¸Šä½æ©Ÿèˆ‡å„個CAN節點的通信,以確ä¿å„å€‹ç¯€é»žçš„ç›£æŽ§æ•¸æ“šèƒ½å¤ å¿«é€Ÿã€æº–ç¢ºåœ°å‚³çµ¦ä¸Šä½æ©Ÿã€‚
監控CANç¯€é»žç‚ºæ™ºèƒ½åž‹çš„ç›£æŽ§æ¨¡å¡Šï¼Œä»¥å–®ç‰‡æ©Ÿç‚ºæ ¸å¿ƒï¼Œä¸»è¦è² 責å°ç¾å ´çš„ç’°å¢ƒåƒæ•¸å’Œè¨å‚™ç‹€æ…‹é€²è¡Œç›£æ¸¬ï¼Œå°é‡‡é›†ä¾†çš„æ•¸æ“šé€²è¡Œæ‰“包處ç†å¹¶å°‡è™•ç†éŽçš„æ•¸å—信號通éŽCAN通信控制器SJA1000é€å…¥CAN總線;å°ç³»çµ±ä¸å„個承壓é‹çˆçš„壓力與溫度進行測é‡ã€‚一般情æ³ä¸‹ï¼Œæ™ºèƒ½ç›£æŽ§ç¯€é»žæœƒæŠŠç›£æŽ§æ•¸æ“šé€²è¡Œå˜å„²ï¼Œå®šæœŸä¸Šå‚³çµ¦ä¸Šä½æ©Ÿï¼Œå¹¶å¯æŽ¥å—ä¸Šä½æ©Ÿçš„輪詢。若超出æ£å¸¸å·¥ä½œèŒƒåœï¼Œå‰‡å‘Šè¦ï¼ŒåŒæ™‚把數據實時å‘ä¸Šä½æ©Ÿå ±å‘Šã€‚
2ã€ç¡¬ä»¶çµæ§‹çš„è¨è¨ˆ
如圖2所示,監控CAN節點以STC89LE54RDåç‚ºå¾®æŽ§åˆ¶å™¨ï¼Œå¤–åœæ¨¡å¡ŠåŒ…括CANç¸½ç·šæŽ¥å£æ¨¡å¡Šã€æº«åº¦é‡‡é›†æ¨¡å¡Šã€å£“力采集模塊ã€å ±è¦æ¨¡å¡Šç‰ã€‚為充分利用STC89LE54RD+的接å£è³‡æºï¼Œé™¤CANæŽ¥å£æ¨¡å¡Šå¤–,其余模塊å‡é‡‡ç”¨ä¸²è¡ŒæŽ¥å£å™¨ä»¶ã€‚這樣就減å°äº†é›»è·¯é«”ç©ï¼Œé™ä½Žäº†é›»è·¯çš„ç¡¬ä»¶æˆæœ¬ã€‚
STC89LE54RD+是高速ã€ä½ŽåŠŸè€—ä¸”å…¼å®¹Philipså…¬å¸51MXå…§æ ¸çš„æ–°ä¸€ä»£å–®ç‰‡æ©Ÿï¼Œ12時é˜ï¼æ©Ÿå™¨å‘¨æœŸå’Œ6時é˜ï¼æ©Ÿå™¨å‘¨æœŸå¯å復è¨ç½®ï¼Œå…§éƒ¨é›†æˆæœ‰MX810專用復ä½é›»è·¯ï¼›åŸ·è¡ŒæŒ‡ä»¤çš„速度為標準8051çš„12å€ï¼Œæ”¯æŒåœ¨ç³»çµ±ç·¨ç¨‹ISP和在應用編程IAP。

2.1 CANç¸½ç·šæŽ¥å£æ¨¡å¡Š
在圖3所示的模塊ä¸ï¼Œé¸ç”¨SJA1000作為CAN控制器,PCA82C250作為CAN控制器接å£èŠ¯ç‰‡ã€‚SJA1000集æˆäº†CANå”è°çš„物ç†å±¤å’Œæ•¸æ“šéˆè·¯å±¤åŠŸèƒ½ï¼Œå¯é€²è¡Œé€šä¿¡æ•¸æ“šçš„幀處ç†ã€‚PCA82C250是CANå”è°æŽ§åˆ¶å™¨å’Œç‰©ç†ç¸½ç·šä¹‹é–“的接å£ï¼Œå°ç¸½ç·šæä¾›å·®å‹•發é€èƒ½åŠ›ï¼Œå°CAN控制器æä¾›å·®å‹•æŽ¥æ”¶èƒ½åŠ›ï¼›å¢žåŠ é€šä¿¡è·é›¢ï¼Œæé«˜ç³»çµ±çš„瞬間抗干擾能力,ä¿è·ç¸½ç·šï¼Œé™ä½Žå°„é »å¹²æ“¾ï¼Œå¯¦ç¾ç†±é˜²è·ã€‚把STC89LE54RD+çš„ALEã€RDã€WR與SJA1000çš„ALEã€RDã€WR相連就構æˆä¸€å€‹æœ€å°ç³»çµ±ç¯€é»žï¼Œé€šéŽè®€ã€å¯«å¤–部數據å˜å„²å™¨çš„å½¢å¼ä¾†è¨ªå•SJA1000。將SJA1000çš„TX1腳懸空,RX1引腳接地,形æˆCANå”è°æ‰€è¦æ±‚的電平é‚輯。
ç‚ºé€²ä¸€æ¥æé«˜ç³»çµ±çš„æŠ—å¹²æ“¾èƒ½åŠ›ï¼Œåœ¨CAN控制器SJA1000å’ŒCAN控制器接å£PCA82C250ä¹‹é–“åŠ æŽ¥6N137光電隔離芯片,并采用DC-DC變æ›å™¨éš”離電æºã€‚通信信號傳輸到導線的端點時會發生å射,å射信號會干擾æ£å¸¸ä¿¡è™Ÿçš„å‚³è¼¸ï¼Œå› è€Œç¸½ç·š2端兩個124 W的電阻(見圖1)å°åŒ¹é…總線阻抗起著相當é‡è¦çš„作用;忽略掉它們,會使數據通信的抗干擾性和å¯é 性大大é™ä½Žï¼Œç”šè‡³ç„¡æ³•通信。PCA82C250第8腳與地之間的電阻RS稱為“斜率電阻â€ï¼Œå®ƒçš„å–值決定了系統處于高速工作方å¼é‚„是斜率控制方å¼ã€‚把該引腳直接與地相連,系統將處于高速工作方å¼ã€‚在這種方å¼ä¸‹ï¼Œç‚ºé¿å…å°„é »å¹²æ“¾ï¼Œä½¿ç”¨å±è”½é›»çºœä½œç¸½ç·šï¼›è€Œåœ¨æ³¢ç‰¹çŽ‡è¼ƒä½Žã€ç¸½ç·šè¼ƒçŸæ™‚,一般采用斜率控制方å¼ï¼Œä¸Šå‡å’Œä¸‹é™çš„æ–œçއ喿±ºäºŽRS的阻值。通常情æ³ä¸‹ï¼ŒRSè¼ƒç†æƒ³çš„功率å–值范åœç‚º15 kW~200 kw。在這種方å¼ä¸‹ï¼Œä½¿ç”¨å¹³è¡Œç·šæˆ–雙絞線作總線。

2.2 æº«åº¦æ¸¬é‡æ¨¡å¡Š
æº«åº¦æ¸¬é‡æ¨¡å¡Šé‡‡ç”¨ç¾Žåœ‹DalIaså…¬å¸æŽ¨å‡ºçš„åŸºäºŽå–®ç¸½ç·šæŠ€è¡“çš„æ•¸å—æº«åº¦è¨ˆèŠ¯ç‰‡DS1822,其連接電路簡單,無需外接元件,如圖4所示。DS1822采用了一種將溫度直接轉æ›ç‚ºé »çŽ‡çš„æ™‚é˜è¨ˆæ•¸æ³•,計數時é˜ç”±æº«åº¦ç³»æ•¸å¾ˆä½Žçš„æŒ¯è•©å™¨ç”¢ç”Ÿï¼Œå› 而éžå¸¸ç©©å®šï¼›è€Œè¨ˆæ•¸çš„閘門周期則由溫度系數很高(å³å°æº«åº¦éžå¸¸æ•感)的振蕩器決定。

2.3 å£“åŠ›æ¸¬é‡æ¨¡å¡Š
å£“åŠ›æ¸¬é‡æ¨¡å¡Šé‡‡ç”¨ç²¾å¯†æ™ºèƒ½å£“力傳感器PPT-R。PPT-R是éœå°¼å¨çˆ¾å…¬å¸ç”Ÿç”¢çš„高å“質壓力傳感器,帶有ä¸éŠ¹é‹¼éš”è†œï¼Œé©ç”¨äºŽå°é«˜æº«ã€è…è•æ€§ä»‹è³ªçš„æ¸¬é‡ã€‚
PPT-R智能壓力傳感器性能優良ã€çµ„æ…‹éˆæ´»ã€‚PPT-R傳感器å¯å°æ¯æ¬¡æ¸¬é‡çš„壓力信號進行ç©åˆ†ï¼Œç©åˆ†æ™‚é–“å¯åœ¨8 ms~12 s之間鏿“‡ã€‚這樣å¯ä»¥æé«˜æ•¸å—控制系統在ä¸åŒç’°å¢ƒæ¢ä»¶ä¸‹çš„驿‡‰æ€§å’ŒæŠ—干擾能力。PPT傳感器具有優異的é‡å¾©æ€§å’Œç©©å®šæ€§ï¼Œå…¶å£“力信號å¯ç”±å–®ç‰‡æ©Ÿè¨ç½®ç‚ºæ•¸å—輸出模å¼ï¼Œä¹Ÿå¯ä»¥è¨ç½®ç‚ºæ¨¡æ“¬è¼¸å‡ºæ¨¡å¼ã€‚本系統ä¸ï¼Œå°‡å…¶è¨ç½®ç‚ºæ•¸å—輸出模å¼ã€‚
3ã€è»Ÿä»¶çš„è¨è¨ˆ
系統軟件的è¨è¨ˆé‡‡ç”¨æ¨¡å¡ŠåŒ–æ–¹å¼ï¼Œä¸»è¦åˆ†ç‚ºä¸Šä½æ©Ÿç¨‹åºæ¨¡å¡Šã€æ•¸æ“šé‡‡é›†è™•ç†æ¨¡å¡Šå’ŒCAN通信模塊ç‰ã€‚在æ¤ä¸»è¦ä»‹ç´¹ä¸Šä½æ©Ÿè»Ÿä»¶æ¨¡å¡Šèˆ‡CAN通信模塊的è¨è¨ˆã€‚
3.1 ä¸Šä½æ©Ÿè»Ÿä»¶çš„è¨è¨ˆ
ä¸Šä½æ©Ÿè»Ÿä»¶ä»¥Borlandå…¬å¸æŽ¨å‡ºçš„C++Builder6ç‚ºé–‹ç™¼å¹³è‡ºï¼Œå…·æœ‰ç³»çµ±åƒæ•¸è¨ç½®ã€ç›£æŽ§ç‹€æ…‹è¨ç½®ã€æ•¸æ“šç™¼é€å’ŒæŽ¥æ”¶ã€ç¯€é»žç‹€æ…‹æŸ¥è©¢ã€ä¸æ–·æŽ¥æ”¶æ•¸æ“šç®¡ç†ç‰åŠŸèƒ½ã€‚ä¸Šä½æ©Ÿé¦–å…ˆå°CAN總線åŠå…¶è‡ªèº«åˆå§‹åŒ–,然åŽç™¼é€å‘½ä»¤é€šçŸ¥ç‰¹å®šçš„節點å‘CANç¸½ç·šä¸Šç™¼é€æ•¸æ“šï¼Œé€šéŽCANç¸½ç·šä¸Šå‚³åˆ°ä¸Šä½æ©Ÿï¼Œå†ç”±ä¸Šä½æ©Ÿè™•ç†ã€‚ä¸Šä½æ©Ÿé‡‡ç”¨å®šæ™‚輪循方å¼å‘å„å€‹ç¯€é»žç™¼å‘½ä»¤ï¼Œé‡‡ç”¨ä¸æ–·æ–¹å¼æŽ¥æ”¶æ•¸æ“šã€‚
首先用CreateFile( )打開通信串å£ï¼Œå‡½æ•¸å¼•ç”¨æ ¼å¼ç‚ºï¼š
CreateFile(1pFileName,dwDesiredAccess,dwShare-Mode,lpSecurityAttributes,dwCreationDistribution,dw-FlagsAndAttributes,hTemplateFile);
ç„¶åŽç”¨BuildCommDCB()和SetCommState( )函數通éŽé€šä¿¡è¨å‚™æŽ§åˆ¶å¡ŠDCB(Device Control Block)è¨ç½®ä¸²å£é€šä¿¡åƒæ•¸ï¼Œå¦‚波特率ã€åœæ¢ä½ã€æ•¸æ“šä½ã€æ ¡é©—ä½ç‰ï¼›
當有通信事件產生時,就å¯ç”¨å‡½æ•¸ReadFile( )和WriteFile( )直接å°ä¸²å£ç·©æ²–å€é€²è¡Œè®€å¯«æ“ä½œäº†ã€‚å…¶å¼•ç”¨æ ¼å¼åˆ†åˆ¥ç‚ºï¼š
WriteFile(hFile,lpBuffer,nNumberOfBytesToWrite.lpNumberOfBytesWritten,lpOverlapped);
ReadFile(hFile,lpBuffer,nNumberOfBytesToRead,lpNumberOfBytesRead,lpOverlapped).
ä¸Šä½æ©Ÿè»Ÿä»¶å…¶ä»–功能的實ç¾ï¼Œå¯é€šéŽèª¿ç”¨ç›¸æ‡‰çµ„件的屬性進行編程。最åŽç·¨åˆ¶çš„軟件界é¢å¦‚圖5所示。

3.2 CAN通信模塊è¨è¨ˆ
CAN通信程åºå°‡é‡‡é›†åˆ°çš„æ•¸æ“šç™¼é€åˆ°CAN控制器,å†ç”±CAN控制器將數據發é€åˆ°CAN總線。
å°äºŽæŽ¥æ”¶æ•¸æ“šï¼Œç³»çµ±é‡‡ç”¨ä¸æ–·æ–¹å¼å¯¦ç¾ã€‚ä¸€æ—¦ä¸æ–·ç™¼ç”Ÿï¼Œå³å°‡æŽ¥æ”¶çš„æ•¸æ“šè‡ªå‹•è£è¼‰åˆ°ç›¸æ‡‰çš„å ±æ–‡å¯„å˜å™¨ä¸ï¼Œæ¤æ™‚é‚„å¯é‡‡ç”¨å±è”½æ¿¾æ³¢æ–¹å¼ã€‚利用å±è”½æ¿¾æ³¢å¯„å˜å™¨å°æŽ¥æ”¶å ±æ–‡çš„æ¨™è˜ç¬¦å’Œé 先在接收緩沖器åˆå§‹åŒ–時è¨å®šçš„æ¨™è˜ç¬¦é€²è¡Œæœ‰é¸æ“‡çš„é€ä½æ¯”è¼ƒã€‚åªæœ‰æ¨™è˜ç¬¦åŒ¹é…çš„å ±æ–‡æ‰èƒ½é€²å…¥æŽ¥æ”¶ç·©æ²–器,那些ä¸ç¬¦åˆè¦æ±‚çš„å ±æ–‡å‰‡å°‡è¢«å±è”½äºŽæŽ¥æ”¶ç·©æ²–器之外,從而減輕CPU處ç†å ±æ–‡çš„è² æ“”ã€‚æ¤å¤–,ä¸åŒæ•¸æ“šæ‡‰æ”¾äººä¸åŒçš„å ±æ–‡å¯„å˜å™¨ä¸ï¼Œå…¶ç¨‹åºæµç¨‹å¦‚圖6所示。
çµèªž
本系統采用了lBM-PC兼容機ã€å–®ç‰‡æ©Ÿå’ŒSJA1000組æˆäºŒç´šæŽ§åˆ¶ç³»çµ±ï¼Žå¯¦ç¾äº†ä¸€é«”化的æ“作,解決了長期以來在承壓é‹çˆç›£æŽ§æ–¹é¢çš„é›£é¡Œã€‚ç³»çµ±çµæ§‹ç°¡å–®ï¼Œæ“作方便,安全å¯é ï¼Œé€ åƒ¹ä½Žå»‰ï¼Œé‹è¡Œç©©å®šå¯é 。