ÕªÒª£º»ùÓÚFreescale¹«Ë¾MC9SDG128΢¿ØÖÆÆ÷ºÍMicrosoft¹«Ë¾µÄVisual C++Èí¼þ£¬¹¹½¨ÁË·¢¶¯»úECU²âÊÔ·ÖÎöϵͳ¡£ÏµÍ³¿ÉÒÔÄ£Äâ³öʵ³µµÄ¸÷ÖÖ´«¸ÐÆ÷ÐźÅÀ´Çý¶¯·¢¶¯»úECU¹¤×÷£¬²¢²É¼¯ECUÊä³öµÄÅçÓͺ͵ã»ðÐźżÓÒÔ·ÖÎö£¬ÊµÏÖÔÚÍÑ»ú״̬϶Է¢¶¯»úECUµÄ²âÊÔ¡£Í¨¹ý¶ÔÉ£ËþÄÉ2000Ðͽγµ·¢¶¯»úECUʵ¼Ê²âÊÔ±íÃ÷£¬Ê¹ÓøÃϵͳÀ´Ä£Äâ·¢¶¯»úECUµÄʵ¼Ê¹¤×÷״̬£¬¿ÉÒÔÉîÈëÁ˽âECUµÄ¿ØÖÆÌØÐԺ͹¤×÷²ÎÊý£¬ÎªÑо¿ºÍÆÀ¼ÛECUÌṩ´óÁ¿ÓмÛÖµµÄÊý¾Ý¡£Óë¾Í³µ²âÊÔÏà±È£¬Ëü¾ßÓе÷¿ØÈÝÒ×£¬Öظ´ÐԺã¬ÒÇÆ÷µÄ²âÊÔ·¶Î§¿ÉÒÔÎÞÏÞÀ©Õ¹µÈÓŵ㡣
µç×Ó¿ØÖƵ¥ÔªECU(Electronic Control Unit)£¬ÓֳƓÐгµµçÄÔ”¡¢“³µÔصçÄÔ”µÈ¡£´ÓÓÃ;ÉϽ²ÔòÊÇÆû³µ×¨ÓÃ΢»ú¿ØÖÆÆ÷£¬Ò²½ÐÆû³µ×¨Óõ¥Æ¬»ú¡£ËüºÍÆÕͨµÄµ¥Æ¬»úÒ»Ñù£¬ÓÉ΢´¦ÀíÆ÷(CPU)¡¢´æ´¢Æ÷(ROM¡¢RAM)¡¢ÊäÈ룬Êä³ö½Ó¿Ú(I/O)¡¢Ä£Êýת»»Æ÷(A/D)ÒÔ¼°ÕûÐΡ¢Çý¶¯µÈ´ó¹æÄ£¼¯³Éµç·×é³É¡£
µç×Ó¿ØÖƵ¥ÔªµÄ¹¦ÓÃÊǸù¾ÝÆäÄÚ´æµÄ³ÌÐòºÍÊý¾Ý¶Ô¿ÕÆøÁ÷Á¿¼Æ¼°¸÷ÖÖ´«¸ÐÆ÷ÊäÈëµÄÐÅÏ¢½øÐÐÔËËã¡¢´¦Àí¡¢Åжϣ¬È»ºóÊä³öÖ¸ÁÏòÅçÓÍÆ÷Ìṩһ¶¨¿í¶ÈµÄµçÂö³åÐźÅÒÔ¿ØÖÆÅçÓÍÁ¿¡£µç¿Øµ¥ÔªÓÉ΢ÐͼÆËã»ú¡¢ÊäÈë¡¢Êä³ö¼°¿ØÖƵç·µÈ×é³É¡£
ÔÚµç×Ó¿ØÖƵ¥ÔªÖÐCPUÊǺËÐIJ¿·Ö£¬Ëü¾ßÓÐÔËËãÓë¿ØÖƵŦÄÜ£¬·¢¶¯»úÔÚÔËÐÐʱ£¬Ëü²É¼¯¸÷´«¸ÐÆ÷µÄÐźţ¬½øÐÐÔËË㣬²¢½«ÔËËãµÄ½á¹ûת±äΪ¿ØÖÆÐźţ¬¿ØÖƱ»¿Ø¶ÔÏóµÄ¹¤×÷¡£Ëü»¹ÊµÐжԴ洢Æ÷(ROM¡¢RAM)¡¢ÊäÈë/Êä³ö½Ó¿Ú(I/O)ºÍÆäËüÍⲿµç·µÄ¿ØÖÆ£»´æ´¢Æ÷ROMÖдæ·ÅµÄ³ÌÐòÊǾ¹ý¾«È·¼ÆËãºÍ´óÁ¿ÊµÑéÈ¡µÄÊý¾ÝΪ»ù´¡£¬Õâ¸ö¹ÌÓгÌÐòÔÚ·¢¶¯»ú¹¤×÷ʱ£¬²»¶ÏµØÓë²É¼¯À´µÄ¸÷´«¸ÐÆ÷µÄÐźŽøÐбȽϺͼÆËã¡£°Ñ±È½ÏºÍ¼ÆËãµÄ½á¹û¿ØÖÆ·¢¶¯»úµÄµã»ð¡¢¿Õȼ±È¡¢µ¡ËÙ¡¢·ÏÆøÔÙÑ»·µÈ¶àÏî²ÎÊýµÄ¿ØÖÆ¡£
µç×Ó¿ØÖƵ¥ÔªÊÇÆû³µ·¢¶¯»úµÄºËÐIJ¿¼þ£¬ÆäÈíÓ²¼þµÄ¿É¿¿ÐÔ½«Ö±½ÓÓ°Ïì·¢¶¯»úÔËÐеÄÎȶ¨ÐÔ¡¢ÅÅ·ÅÐԺͳµÁ¾ÐÐÊ»µÄ°²È«ÐÔ£¬Òò´Ë£¬ECUµÄÐÔÄܼì²âÖÁ¹ØÖØÒª¡£ECUµÄ¼ì²âϵͳÊǽ«¼ÆËã»ú·ÂÕæ¼¼ÊõÓëÆû³µ¼ì²â¼¼ÊõÏà½áºÏ£¬ÊµÏÖ·¢¶¯»úECU¹¤×÷»·¾³µÄ·ÂÕæÄ£ÄâÒÔ¼°¸÷Êä³öÐźŵIJɼ¯Óë·ÖÎö¡£
ÆäÐźÅÄ£Äⲿ·Ö¿ÉÓÃÓÚÆû³µµÄ¹ÊÕϼì²â£¬ÔÚ»³ÒÉij¸ö´«¸ÐÆ÷³öÏÖ¹ÊÕÏʱ£¬¿ÉÓÃECUÄ£ÄâϵͳÏà¹ØÐźŴúÌæÔ´«¸ÐÆ÷Ðźţ¬¼ì²â¹ÊÕÏÊÇ·ñÏûʧ£¬²¢ÅжϹÊÕÏËùÔÚ¡£´ËÍ⣬»¹¿É½øÐÐECU¹¤×÷×´¿öµÄ¼ì²éÒÔ¼°Ñ§Ï°ECUÔÚ·¢¶¯»ú²»Í¬¹¤¿ö϶ÔÅçÓͺ͵ã»ðµÄ¿ØÖÆ·½Ê½¡£
1 ϵͳӲ¼þÉè¼Æ
·¢¶¯»úECU²âÊÔϵͳ¿ÉÒÔ¸ù¾ÝÐèҪģÄⲻͬתËÙϵÄÇúÖáλÖÃÐźţ¬ÀäȴҺζÈÐźš¢½øÆøζÈÐźš¢¿ÕÆøÁ÷Á¿Ðźš¢½ÚÆøÃÅλÖÃÐźš¢Ñõ´«¸ÐÆ÷Ðźŵȣ¬²¢½«ÕâЩÐźÅÊäÈëÕæ³µ·¢¶¯»úECU£¬Ôٲɼ¯ECUÊä³ö¸øÖ´ÐÐÆ÷µÄÐźŲ¢¼ÓÒÔ·ÖÎö¡£Ó²¼þ½á¹¹Èçͼ1Ëùʾ¡£
¿ØÖÆÆ÷ÓÉ·É˼¿¨¶û(Freescale)¹«Ë¾µÄMC9SDG128΢¿ØÖÆÆ÷µ£ÈΣ¬¸Ã16λ¿ØÖÆÆ÷ÓµÓзḻµÄI/O½Ó¿ÚÒÔ¼°SCI/SPI/IICµÈ×ÜÏß¿ØÖÆÆ÷£¬²Ù×÷ÐźÅͨ¹ý´®Ðнӿڷ¢ËͺͽÓÊÕ¡£MC9S12ϵÁе¥Æ¬»úÊÇMC68HC12ϵÁе¥Æ¬»úµÄ¸üÐÂÌæ´ú²úÆ·¡£ÕâÖÖµ¥Æ¬»úµÄÖÐÑë´¦ÀíÆ÷CPU12ÓÉÒÔÏÂÈý²¿·Ö×é³É£ºËãÊõÂß¼µ¥ÔªALU¡¢¿ØÖƵ¥ÔªºÍ¼Ä´æÆ÷×é¡£CPUÍⲿ×ÜÏßƵÂÊΪ8MHz£¬ÄÚ²¿ÔËËãËٶȿɴï25MHz¡£Ñ°Ö··½Ê½ÓÐ16ÖÖ¡£ÄÚ²¿¼Ä´æÆ÷×éÖеļĴæÆ÷¡¢¶ÑÕ»Ö¸ÕëºÍ±äÖ·¼Ä´æÆ÷¾ùΪ16λ¡£Ëü¾ßÓкÜÇ¿µÄ¸ß¼¶ÓïÑÔÖ§³Ö¹¦ÄÜ¡£
µçÔ´¹ÜÀíµç·Ðè²úÉú+5VÒÔ¼°±12VÎȶ¨µçѹ£¬Îª½µµÍ³É±¾µçÔ´²¿·Ö²ÉÓÃÏßÐÔ¹¤Æµ±äѹÆ÷£¬Êä³ö¶Ë·Ö±ð¾LM7812¡¢LM7805ºÍLM7912·Ö±ð½«µçѹÎÈѹÖÁ+12V¡¢+5VºÍ-12V¡£
Êý¿ØµçλÆ÷²ÉÓõÄÊÇX95840£¬ËüÊÇInterSil¹«Ë¾³ö²úµÄµÍÔëÉù¡¢µÍ¹¦ºÄ¡¢Á½ÏßÖÆ8λÊý¿ØµçλÆ÷¡£DAC±ä»»Æ÷²ÉÓõÄÊÇAD5624£¬ËüÊÇAnal-og Device¹«Ë¾12λЧģת»»Æ÷£¬×î¸ßƵÂÊ¿É´ï5MHz¡£ÔËËã·Å´óÆ÷²ÉÓõÄÊÇAD824£¬ËüÊǽ«DACÊä³öµÄËÄ·0¡«5Vµçѹ·Å´óÖÁ-12¡«+12V¡£
ϵͳ²úÉúµÄÐźÅÐèÒª¾¹ýµçƽ±ä»»£¬×ª»»³ÉRS-232µçƽ£¬Óë¼ÆËã»úͨÐÅ¡£ÕâÀï²ÉÓÃMAX3232ΪºËÐĵçƽ±ä»»µç·¡£ÆäÔÀíͼÈçͼ2Ëùʾ¡£
2 ϵͳÈí¼þÉè¼Æ
±¾ÏµÍ³µÄ±àдºÍµ÷ÊÔ²ÉÓõÄÊÇMicrosoft¹«Ë¾µÄVisualC++Èí¼þ¡£Visual C++ÒòÆäÓµÓз½±ãÒ×ÓõÄAppWizard¡¢ClassWizardºÍ·á¸»µÄ¿ÉÊÓ»¯×ÊÔ´±à¼¹¤¾ß£¬³ÉΪÈË»ú¶Ô»°½çÃæÉè¼ÆÖÐʹÓÃ×î¹ã·ºµÄƽ̨֮һ¡£Visual C++ÓµÓÐÇ¿´óµÄ¼¯³É¿ª·¢»·¾³£¬ÔÚ´Ë»·¾³ÖÐÓû§¿ÉÒÔ·½±ãµÄ½øÐÐÏîÄ¿¹ÜÀí¡¢±àдC++Ô´³ÌÐò¡¢±àÒë¡¢¸Ä´í£¬¸üÖØÒªµÄÊÇ£¬Visual C++»¹ÌṩÁËÒ»Ì×MFC(Microsoft Foundation Classes)µÄ³ÌÐòÀà¿â¡£
Æä¿ØÖÆÁ÷³ÌÈçͼ3Ëùʾ¡£
2.1 ÐźÅÄ£Äâ
ÐźÅÄ£ÄâÊÇΪ·¢¶¯»úECU²úÉú¸÷ÖÖ±ØÒªµÄÄ£ÄâÐźţ¬ÕâЩÐźŵÈЧÓÚÆû³µ´«¸ÐÆ÷ÔÚ²»Í¬¹¤¿öϵÄÊä³öÐźš£ÏµÍ³ÌṩÁ½ÖÖÉú³ÉÕâЩÐźÅËùÐèÒªÊý¾ÝµÄ·½·¨¿É¹©Ñ¡Ôñ¡£Ò»ÖÖÊÇÓÉÊÖ¶¯ÉèÖøø³ö£¬Ò»ÖÖÊÇÑ¡Ôñ¹ØÁªÉèÖ᣹ØÁªÊ±£¬Ãë±í¿ªÊ¼¼Æʱ£¬¸÷ÐźŲÎÊý¸ù¾ÝÆû³µ¶¯Á¦Ñ§ÔÚºǫ́¼ÆËã¡£
2.2 ÐźŲɼ¯ºÍ·ÖÎö
ϵͳ²É¼¯·¢¶¯»úECUµÄÊä³öÐźţ¬µÃµ½Ò»×éÏà¹ØµÄ²âÊÔÊý¾Ý£¬¸ù¾Ý²É¼¯µÄÊý¾Ý»æÖÆ·¢¶¯»úECUÅçÓÍÂö³åÐźź͵ã»ð¿ØÖÆÐźš£»¹¿ÉÒÔ¸ù¾Ý·¢¶¯»úECUµÄÊä³öÐźżÆËã³öƵÂÊ¡¢·å-·åÖµ¡¢Âö³å¿í¶È¡¢Õ¼¿Õ±ÈµÈÎïÀí²ÎÊý£¬¸ø³ö·¢¶¯»úECUµÄÅçÓÍʱ¼ä¡¢ÅçÓÍÁ¿Ïà¶Ô±ä»¯ÂÊ¡¢µã»ðÌáÇ°½ÇµÈ¹¤×÷²ÎÊý¡£
2.3 Êý¾Ý½»»»ÊµÏÖ·½·¨
¼ÆËã»úͨ¹ý´®ÐпÚÏò·¢¶¯»úECU·¢ËÍÊý¾Ý£¬²É¼¯µ½ECUÅçÓͺ͵ã»ðÊä³öÐźţ¬Í¨¹ý´®Ðпڽ«ÕâЩÊý¾Ý´«¸ø¼ÆËã»ú¡£¼ÆËã»ú½ÓÊÕÊý¾Ý²¢»æÖÆͼÐΡ£
¼ÆËã»ú¸ù¾ÝÓ¦²É¼¯Êý¾Ý¸öÊýÊÕ¼¯Êý¾Ý£¬±àÖƳɹ̶¨¸ñʽÔÙ·¢ËÍ¡£²É¼¯µÄÊý¾Ý´æ·ÅÔÚÒ»¸öÕûÐÍÊý×éÀÔÙת»»³ÉVARIANTÊý¾ÝÀàÐÍ£¬¼ÆËã»úͨ¹ý´®¿Ú½«ÕâЩÊý¾Ý·¢Ë͵½·¢¶¯»úECUÖС£
Êý¾Ý¸ñʽ£º±êʶ²ÎÊýÃû+Êý¾Ý+±êʶ²ÎÊýÃû+Êý¾Ý……±êʶ²ÎÊýÃû+Êý¾Ý¡£
ÿÁ½Î»±íʾһ¸öÁ¿£¬Ç°Ò»Î»Ö¸Ã÷²ÎÊý£¬ºóһλ¸ø³öÊýÖµ¡£
2.4 ²âÊÔÈí¼þµÄÖ÷¹¤×÷½çÃæ
¼¸ºõËùÓеÄWindowsÓ¦ÓóÌÐò¶¼Òª½èÖúÓÚ¶Ô»°¿òÀ´ºÍÓû§½»Á÷£¬±¾²âÊÔϵͳҲÊÇÈç´Ë¡£¶Ô»°¿òÊÇWindowsÓ¦ÓóÌÐòÖг£¼ûµÄÔªËØÖ®Ò»£¬ÊÇÓû§ÓëÓ¦ÓóÌÐò½øÐн»»¥µÄ×î¼òµ¥ÇÒ×î³£Óõķ½Ê½Ö®Ò»¡£Ò»¸öÍêÕûµÄ¶Ô»°¿òÖ÷ÒªÊÇÓɶԻ°¿ò×ÊÔ´ºÍ¶Ô»°¿òÀ๹³É£¬ËùÒÔ´´½¨Ò»¸ö¶Ô»°¿ò¾ÍÊÇ´´½¨¶Ô»°¿ò×ÊÔ´ºÍ¶Ô»°¿òÀàµÄ¹ý³Ì¡£´´½¨¶Ô»°¿ò×ÊÔ´°üÀ¨Ìí¼Ó¶Ô»°¿òÄ£°å¡¢Ð޸ĶԻ°¿òÊôÐÔ£¬²¢ÔÚ¶Ô»°¿òÖÐÌí¼Ó¸÷Öֿؼþ£»´´½¨¶Ô»°¿òÀà°üÀ¨Ìí¼Ó¿Ø¼þ±äÁ¿ºÍÌí¼Ó¿Ø¼þÏûÏ¢´¦Àíº¯Êý¡£
½çÃæÉè¼ÆÒª×ñѼòµ¥Ö±¹ÛµÄÔÔò£¬ÕâÑù²Ù×÷ÈËÔ±ÓÃÆðÀ´²Å»áµÃÊÖ£¬¼õÉÙÇóÖú£¬Ìá¸ß¹¤×÷ЧÂÊ¡£±¾³ÌÐòµÄ±àдºÍµ÷ÊÔ²ÉÓõÄÊÇMicrosoft¹«Ë¾µÄVisualC++Èí¼þ¡£
²âÊÔϵͳµÄÖ÷½çÃæÈçͼ4Ëùʾ£¬¸÷ÖÖ¿ØÖƲÎÊý¶¼ºÜÖ±¹ÛµÄÏÔʾ³öÀ´£¬Óû§¿ÉÒÔÖ±½Ó¶ÔһЩÖ÷Òª¿ØÖƲÎÊý×öÁ¬Ðøµ÷Õû£¬²Ù×÷·½±ã¡£
2.5 ´®¿ÚͨÐŲÎÊýÉèÖÃ
ҪʵÏÖ¼ÆËã»ú´®ÐÐͨÐŵŦÄÜ£¬Ò»ÖÖ½ÏΪ¼ò±ãµÄ·½·¨ÊÇʹÓÃMSComm(Microsoft Communication Control)ͨÐſؼþ£¬ËüÌṩÁ˱ê×¼µÄʼþ´¦Àíº¯Êý¹ý³Ì£¬ÊÇ΢Èí¹«Ë¾¿ª·¢µÄרÃÅÓÃÓÚ´®ÐÐͨÐŵĿؼþ¡£ËüÊǸ߼¶ÓïÑÔ±àдµÄ´®ÐÐͨÐųÌÐòºÍPC´®¿ÚÖ®¼äµÄÇÅÁ»¡£±¾ÏµÍ³²ÉÓõþÍÊÇÕâÖÖ·½·¨¡£ÉèÖÿؼþµÄÊôÐÔ¡£Ìí¼Ó¿Ø¼þµÄÏìÓ¦´úÂë¡£¾Í¿ÉÒÔʹ´®¿Ú°´ÕÕÒªÇó½øÐй¤×÷¡£ÔÚÕâ¸ö½çÃ棬¿ÉÒÔ½øÐд®¿ÚºÅºÍ²¨ÌØÂʵÄÉèÖá£Í¨ÐŲÎЧÉèÖýçÃæÈçͼ5Ëùʾ¡£
3 ½á¹ûÏÔʾ
·¢¶¯»úÓÍ·ÖÐÆûÓÍѹÁ¦ÊÇÒ»¶¨µÄ¡£Òò´ËÅçÓÍÆ÷ͨµçʱ£¬µ¥Î»Ê±¼äµÄÅçÓÍÁ¿ÊÇÒ»¶¨µÄ¡£·¢¶¯»úÒ»¸ö¹¤×÷Ñ»·ÅçÓÍÁ¿£¬¿Éͨ¹ýÅçÓͳÖÐøʱ¼äÀ´¿ØÖÆ¡£ÓÉÓÚµçÅç·¢¶¯»úÅçÓÍ×ìÊÇͨ¹ýµç´Å·§À´¿ØÖƹرգ¬¶ø·¢¶¯»úתËٽϸߣ¬ÅçÓÍʱ¼äºÜ¶Ì£¬ÅçÓÍÆ÷ÏìÓ¦¿ì£¬Òò´ËECUÊä³öµÄÅçÓÍÐźÅÊÇÒ»¸öºÜ¶ÌÔݵÄÂö³åÐźţ¬Õâ¸öÐźŵÄʱ¼ä¿í¶È¾ÍÊÇÅçÓÍÂö¿í¡£
µã»ð¿ØÖÆÐźÅʵ¼ÊÉϾÍÊǵã»ðÆ÷Öй¦Âʽᾧ¹ÜµÄͨ¶Ï¿ØÖÆÐźš£ËüÊÇECUÊä³öµ½µã»ð×é¼þµÄµã»ðÃüÁîÐźţ¬Ò²Êǵã»ð×é¼þ¼ÆËã±ÕºÏ½ÇµÄ»ù×¼Ðźš£µã»ð¿ØÖÆÐźÅÊä³öºó£¬ÔÚ»îÈûλÖôﵽ´æ´¢Æ÷Ëù¼ÇÒäµÄ×î¼Ñµã»ðʱ¼äʱ£¬µã»ð¿ØÖÆÐźÅÏûʧ£¬Ò²¾ÍÊÇ·¢³öÁ˵ã»ðÖ¸ÁÈçͼ6Ëùʾ¡£
4 ½áÊøÓï
ͨ¹ý¶ÔÉ£ËþÄÉ2000Ðͽγµ·¢¶¯»úECUʵ¼Ê²âÊÔ±íÃ÷£¬Í¨¹ý¸Ãϵͳ¿ÉÒÔ·½±ãµÄ½«¸÷ÖÖÐźŴ«µÝµ½·¢¶¯»úECUÖУ¬²É¼¯·¢¶¯»úECUµÄÊä³öÐźţ¬»¹¿ÉÒÔ²âÊÔ·¢¶¯»úECUÊÇ·ñÕý³£¹¤×÷¡£Æä²úÉúµÄ¸÷ÖÖ´«¸ÐÆ÷ÐźſÉÓÃÓÚʵ¼Ê³µÁ¾¼ì²â¡£´ËÍ⻹¿ÉÒÔÓÃÓÚѧϰºÍÑÝʾ²»Í¬»·¾³²»Í¬¹¤¿öÏ£¬ECUÈçºÎ¿ØÖÆ·¢¶¯»ú¹¤×÷¡£