|
Home > ±â¼úÀÚ·á½Ç
Á¦ ¸ñ |
41. USB Á¢¼ÓÀÇ 8ÀÚ¸®¼ö ÁÖÆļö Ä«¿îÅÍ(¼ÒÇÁÆ®¿þ¾îÆí) [¿ª½Ã PICROS¸¦ »ç¿ëÇÑ ÀÛÇ°À¸·Î, 8ÀÚ¸®¼ö 100 MHzÀÇ ÁÖÆļö Ä«¿îÅÍÀÔ´Ï´Ù. |
÷ºÎÆÄÀÏ |
|
¿ª½Ã PICROS¸¦ »ç¿ëÇÑ ÀÛÇ°À¸·Î, 8ÀÚ¸®¼ö 100 MHzÀÇ ÁÖÆļö Ä«¿îÅÍÀÔ´Ï´Ù. PC¿Í USB·Î Á¢¼ÓÇØ Àå±â°£ÀÇ ÁÖÆļö º¯È¸¦ ±×·¡ÇÁ¿¡ ÇÒ ¼ö ÀÖ½À´Ï´Ù
¡¡USB Á¢¼ÓÀÇ 8ÀÚ¸®¼ö ÁÖÆļö Ä«¿îÅÍ(¼ÒÇÁÆ®¿þ¾îÆí)
¡¡CPLDÀÇ ÁÖÆļö Ä«¿îÅÍ ºí·Ï°ú PIC¸¦ Á¶ÇÕÇß´Ù ¡¡8ÀÚ¸®¼öÀÇ ÁÖÆļö Ä«¿îÅÍÀÔ´Ï´Ù. USB·Î PC¿Í Á¢¼ÓÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¡PICÀÇ ÇÁ·Î±×·¥Àº PICROS·Î ¸ÖƼŽºÅ·ÈÇß½À´Ï´Ù.
¡¼°³¿ä¡½
CPLD·Î Ä«¿îÆ® ÇÑ ÁÖÆļö¸¦ 8ÀÚ¸®¼öÄ¡·Î ¾×Á¤ Ç¥½Ã±â¿¡ Ç¥½ÃÇÔ°ú ÇÔ²², USB ÄÜÆ®·Ñ·¯·Î PC¿Í Ç® ½ºÇǵåÀÇ USB Á¢¼ÓÀ» ÇÒ ¼ö Àֱ⠶§¹®¿¡, µ¥ÀÌÅÍ ¼öÁýÀ̳ª ±×·¡ÇÁ ÀÛ¼º¿¡´Â Æí¸®ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¡PICÀÇ ÇÁ·Î±×·¥¿¡´Â ¡¸PIC¿ë ¸®¾óŸÀÓ OSÀÇ PICROS¡¹(À»)¸¦ »ç¿ëÇØ ¸ÖƼŽºÅ·È ÇßÀ¸¹Ç·Î, ÀÇ¿Ü·Î °£´ÜÇÏ°Ô ÇÁ·Î±×·¥À» ÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.
Ç¥½Ã´Â 8ÀÚ¸®¼öÄ¡·Î 3ÀÚ¸®¼ö ¸¶´Ù ĸ¶¸¦ Ãß°¡
¡¼±â´É »ç¾ç¡½
¡¡º»ÁÖÆļö Ä«¿îÅÍÀÇ ±â´É »ç¾çÀº ¾Æ·¡¿Í °°ÀÌ µÇ¾î ÀÖ½À´Ï´Ù.
¡¡¡¡¡¤ÃøÁ¤ ÁÖÆļö¡¡£º¡¡ÃÖ´ë ¾à 80 MHz ¡¡¡¡¡¤ÃøÁ¤ Áֱ⡡¡¡ £º¡¡1ÃÊ ÀÚµ¿ °»½Å ¡¡¡¡¡¤Ç¥½Ã¡¡¡¡¡¡¡¡¡¡ £º¡¡16 ¹®ÀÚ 2ÇàÀÇ ¾×Á¤ Ç¥½Ã±â¿¡ ÀÇÇÑ´Ù¡¡8ÀÚ¸®¼ö Ç¥½Ã ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾×Á¤ Ç¥½Ã±â´Â ¹é ¶óÀÌÆ® ÷ºÎ ¡¡¡¤USB Á¢¼Ó¡¡ £º¡¡Ç® ½ºÇǵ忡 ÀÇÇÑ Á¢¼Ó ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÀÎÅÍÆäÀ̽º´Â ¾Æ·¡ Ç¥·Î ÇÏ´Â ¡¡¡¤Àü¿ø¡¡¡¡¡¡£º¡¡DC9V¡¡ÃÖ´ë ¾à 250 mA
ÆÄÀÌÇÁ |
¼Û¼ö½Å |
µ¥ÀÌÅÍ·® |
µ¥ÀÌÅÍ ³»¿ë |
ºñ°í |
0 |
¼ö½Å |
8¹ÙÀÌÆ® |
Ä¿¸àµå ¼ö½Å |
1 ¹®ÀÚ Ä¿¸àµå |
1 |
¼Û½Å |
16¹ÙÀÌÆ® |
°èÃøÄ¡ ¹Ý¼Û |
»óÅ 1byte µ¥ÀÌÅÍ BCD8byte |
2 |
¼ö½Å |
8¹ÙÀÌÆ® |
¹Ì»ç¿ë |
|
3 |
¼Û½Å |
8¹ÙÀÌÆ® |
¹Ì»ç¿ë |
|
4 |
¼ö½Å |
8¹ÙÀÌÆ® |
¹Ì»ç¿ë |
|
5 |
¼Û½Å |
16¹ÙÀÌÆ® |
¹Ì»ç¿ë |
|
¡¼PICÃø ÇÁ·Î±×·¥¡½
¡¡º»ÁÖÆļö Ä«¿îÅÍÀÇ Àüü Á¦¾î¿ëÀ¸·Î´Â PIC16F876¸¦ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ°ÍÀ¸·Î CPLDÀÇ Ä«¿îƮġ¸¦ Àо, ¾×Á¤ Ç¥½Ã±â¿¡ Ç¥½ÃÇÔ°ú ÇÔ²², USB Á¦¾î (À»)¸¦ ½Ç½ÃÇØ PC¿ÍÀÇ USB Åë½ÅÀ» Á¦¾îÇÕ´Ï´Ù. PICÃø ÇÁ·Î±×·¥Àº, ÀÚÀÛ ¸®¾óŸÀÓ OSÀÎ ¡¸PICROS¡¹¸¦ »ç¿ëÇØ ¸ÖƼ ŽºÅ©ÈÇß½À´Ï´Ù. ÀüüÀÇ ¼ÒÇÁÆ®¿þ¾î ±¸¼ºÀº ¹Ø±×¸²°ú °°ÀÌ µÇ¾î ÀÖ¾î, ½Å±Ô¿¡ ÀÛ¼ºÇÑ ºÎºÐÀº, ±×¸²ÁßÀ¸·Î »öÀÌ ºÙ¾î Àִ ŽºÅ©±º°ú Á¤ÀǺθ¸µÇ°í ÀÖ½À´Ï´Ù. ¸ðµÎ CCS»çÀÇ C¾ð¾î·Î ¸¸µé°í ÀÖ½À´Ï´Ù.
¡¡»ó±âÀÇ ±¸¼ºÀ¸·Î Á¦ÀÛÇÑ ÇÁ·Î±×·¥ÀÇ ÀüüÀÇ È帧Àº ¹Ø±×¸²°ú °°ÀÌ µÇ¾î ÀÖ½À´Ï´Ù. Àüü°¡ Å©°í ·ÎÄà µ¿ÀÛÀÇ ÁÂÃø ¹Ý°ú ¸®¸ðÆ® µ¿ÀÛÀÇ ¿ìÃø ¹Ý°ú·Î ³ª´©¾îÁý´Ï´Ù. ¿ì¼± ·ÎÄðè´Â, Ãʱ⠱⵿À¸·Î kicktsk°¡ ±âµ¿µÇ¸é(ÀÚ), CPLD µ¿ÀÛÀ» °³½Ã½ÃÄÑ, EndCheck ŽºÅ©¸¦ ±âµ¿ÇØ, 1ÃÊ ÈÄÀÇ CPLDÀÇ Ä«¿îÆ® Á¾·á¸¦ EndCheck ŽºÅ©·Î ¾à¼Ó . ¡¡EndCheck ŽºÅ©¿¡¼´Â, CPLDÀÇ Ä«¿îÆ® Á¾·áÀÇ »õÄ¡±â ȸ·Î°¡ ¾ø±â ¶§¹®¿¡, CPLDÀÇ Busy¸¦ 50 msec °£°ÝÀ¸·Î üũÇϱâ À§ÇØ(¶§¹®¿¡), Busy°¡ °è¼ÓµÇ°í ÀÖÀ¸¸é(ÀÚ), Wait_Timer ÇÔ¼ö·Î 50 msecÀÇ Å¸ÀÌ¸Ó ´ë±â·Î¼ PICROS·Î µ¹¾Æ¿É´Ï´Ù. Busy°¡ ÇØÁ¦µÇ¾úÀ» ¶§¿¡´Â, Request_Task ÇÔ¼ö·Î mesure ŽºÅ©¸¦ ±âµ¿ÇÕ´Ï´Ù.
¡¡mesure ŽºÅ©¿¡¼´Â, CPLD·ÎºÎÅÍ 8ÀÚ¸®¼öÀÇ Ä«¿îƮġ¸¦ ÀÔ·ÂÇØ, µ¥ÀÌÅÍ¿¡ º¸Á¸ÇÏ°í ³ª¼ ¾×Á¤ Ç¥½Ã±â¿¡ ´ÜÀ§¿Í ÇÔ²² Ç¥½ÃÇÕ´Ï´Ù. Ç¥½Ã Á¾·áÈÄ, À̹ø Ä«¿îÆ®Áß¿¡ USB·ÎºÎÅÍ µ¥ÀÌÅÍ ¿ä±¸°¡ ÀÖ¾úÀ» ¶§¸¦ À§Çؼ(¶§¹®¿¡), usbrcvÀÇ mesure ŽºÅ©·ÎºÎÅÍÀÇ À̺¥Æ® ´ë±â¸¦, Resume_Task ÇÔ¼ö·Î ÇØÁ¦ÇÕ´Ï´Ù.
¡¡»ó±âÀÇ ·ÎÄà µ¿ÀÛÁß¿¡´Â USBÀÇ »õÄ¡±â°¡ °¡´ÉÇØ, ¸¸¾à PC·ÎºÎÅÍ USB °æÀ¯·Î µ¥ÀÌÅÍ ¿ä±¸ÀÇ Ä¿¸àµåÀÇ ¼ö½ÅÀ» Çß´Ù¸é, usbrcv ŽºÅ©¸¦ Trigger_Task ÇÔ¼ö·Î ±âµ¿ÇÕ´Ï´Ù. usbrcv ŽºÅ©´Â, CPLDÀÇ Ä«¿îÅÍÀÇ Á¾·á¸¦ ¾à¼Ó ´ÙÅõ±â (À§ÇØ)¶§¹®¿¡, Suspend_Task ÇÔ¼ö¿¡ ÀÇÇØ messure ŽºÅ©ÀÇ À̺¥Æ® ´ë±â·Î ÇÕ´Ï´Ù. ±×¸®°í mesure ŽºÅ©·ÎºÎÅÍÀÇ À̺¥Æ® ´ë±â ÇØÁ¦¿¡ ÀÇÇØ, µ¥ÀÌÅͷμ º¸Á¸µÇ°í ÀÖ´Ù Ä«¿îÅÍÀÇ °ªÀ» USB·Î ¼Û½ÅÇÕ´Ï´Ù.
¾Æ·¡¿Í °°ÀÌ´Â PICÃøÀÇ ÇÁ·Î±×·¥ ÀϽÄÀÔ´Ï´Ù. ´Ù¿î·ÎµåÇØ MPLAB¿Í PCMÀÇ ÅëÇÕ È¯°æ¿¡¼ »ç¿ëÇØ ÁÖ¼¼¿ä. PCM´Â CCS»çÀÇ CÄÄÆÄÀÏ·¯ÀÔ´Ï´Ù.
¡¡¡Ú USB Á¢¼Ó ÁÖÆļö Ä«¿îÅÍ ÇÁ·Î±×·¥ ÆÄÀÏ ÀϽÄ
¡¼PCÃø ÇÁ·Î±×·¥¡½
À̹ø ÁÖÆļö Ä«¿îÅÍ¿ëÀÇ PCÃøÀÇ ÇÁ·Î±×·¥Àº, Àå±â°£ÀÇ Ä«¿îƮġ¿¡ Á᫐ ÁÖÆļö·ÎºÎÅÍÀÇ Â÷À̸¦ °èÃøÇϱâ À§ÇÑÀÇ °ÍÀ¸·Î Çß½À´Ï´Ù. ±âº» ÆûÀÇ µðÀÚÀÎÀº ¹Ø±×¸²°ú °°ÀÌ µÇ¾î ÀÖ½À´Ï´Ù. ±×¸² ¿ì»óÀÇ Timer¿Í Common Dialog Control°¡ ¼û°Ü ÄÄÆÛ³ÍÆ®°¡ µÇ°í ÀÖ½À´Ï´Ù. ¿ì¼± USBÀÇ Á¢¼ÓÀ» Á¦¾îÇϱâ À§ÇØ(¶§¹®¿¡) VebderID¿Í ProductID°¡ º¯°æ ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) ÅؽºÆ® ¹Ú½º·Î Çß½À´Ï´Ù. ±âº»ÀÇ °ªÀ» µðÆúƮġ·Î¼ ±×´ë·Î ±âº»ÀÇ °ªÀ¸·Î Á¢¼ÓÇϵµ·Ï(µíÀÌ) ÇÏ°í ÀÖ½À´Ï´Ù. Á¤»óÀûÀ¸·Î Á¢¼ÓÇÒ ¼ö ÀÖÀ¸¸é(ÀÚ) ¹è°æ»öÀÌ °¥»öÀ¸·Î ¹Ù²ï´Ù °°°Ô Çß½À´Ï´Ù. ´ÙÀ½ÀÌ °èÃø ÁÖ±âÀÇ ÁöÁ¤À¸·Î, Ä«¿îÅÍ º»Ã¼ÃøÀÌ 1ÃÊ°£°ÝÀ¸·Î ¹Û¿¡ ÃøÁ¤ÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ÃÖÀú°¡ 1ÃÊ°£°ÝÀÌ µÇ¾î, ÃÖ´ë 60ÃÊ·Î ÇÕ´Ï´Ù. ±× ¾Æ·¡°¡ ½ÇÁ¦ÀÇ ÁÖÆļö¸¦ Ç¥½ÃÇÏ´Â ÅؽºÆ® ¹Ú½ºÀÔ´Ï´Ù. ÃÖ´ë 8ÀÚ¸®¼öÀÔ´Ï´Ù.
°æ°è¼±ÀÇ ¾Æ·¡ ÂÊÀº ±×·¡ÇÁ¸¦ ÀÛ¼ºÇϱâ À§ÇÑ ¼³Á¤ÀÌ µË´Ï´Ù. °èÃøÁß¿¡ ±×·¡ÇÁ ÀÛ¼º ¹öÆ°À» ´©¸£¸é(ÀÚ), Áö±Ý±îÁöÀÇ °èÃøÄ¡¸¦ ±×·¡ÇÁ·Î ÇØ, ±×´ë·Î ¸®¾óŸÀÓ¿¡ °èÃøÄ¡¸¦ °»½Å Ç¥½ÃÇÕ´Ï´Ù. Á᫐ ÁÖÆļö¿Í º¯µ¿ÆøÀÇ ¶õ¿¡´Â, ±×·¡ÇÁ¸¦ Ç¥½ÃÇÒ ¶§ÀÇ YÃàÀ» °áÁ¤ÇÕ´Ï´Ù. Á᫐ ÁÖÆļöÀÇ °ªÀÌ YÃàÀÇ ÇÑ°¡¿îµ¥°¡ µÇ¾î, º¯µ¿ÆøÀÇ 2¹èÀÇ °ªÀÌ °¢°¢ Ç÷¯½º¸¶À̳ʽºÀÇ Ç¥½Ã ¹üÀ§°¡ µË´Ï´Ù. ±×·¡ÇÁ´Â ±âº»»öÀº ÆĶûÀÔ´Ï´Ù¸¸, º¯µ¿ÆøÀ» ³ÑÀº ºÎºÐÀº Àû»öÀ¸·Î Ç¥½ÃÇÕ´Ï´Ù. Ç¥½Ã ½Ã°£Àº XÃàÀ¸·Î, ºÐÀǽÿ¡´Â, À§ÀÇ ½Ã°£ °£°ÝÀ¸·Î ¼³Á¤ÇÑ °ªÀ¸·Î ÀÚµ¿ÀûÀ¸·Î XÃàÀÇ ½Ã°£À» º¯°æÇÕ´Ï´Ù¸¸, ½Ã°£À» ÁöÁ¤ÇßÀ» ¶§¿¡´Â °íÁ¤Ä¡ÀÇ ½Ã°£ÃàÀÌ µË´Ï´Ù. ±×·¡ÇÁ¸í°ú ½ÅÈ£¸íÀº ±×·¡ÇÁÀÇ ¹ü·Ê·Î¼ Ç¥½ÃÇÏ´Â ³»¿ëÀÔ´Ï´Ù.
±×·¡ÇÁ º¸Á¸ ¹öÆ°À¸·Î, ÇöÀç Ç¥½ÃµÇ°í ÀÖ´Â ±×·¡ÇÁ¸¦ ÆÄÀϷμ º¸Á¸ÇÕ´Ï´Ù. ±×·¡ÇÁ ÀÐ¾î ¹öÆ°À¸·Î, º¸Á¸ÇØ µÐ ±×·¡ÇÁ¸¦ Àо Ç¥½ÃÇÕ´Ï´Ù. ÀÌ Ç¥½Ã¶§¿¡´Â ±âÁ¸ Ç¥½ÃÀÇ ±×·¡ÇÁ¸¦ ¼Ò°ÅÇÏÁö ¾Ê±â ¶§¹®¿¡, º¹¼ö µ¥ÀÌÅ͸¦ °ÅµìÇØ ¸ÂÃß¾î Ç¥½ÃÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.¡¡´Ü, ÀÌ °æ¿ìÀÇ Á᫐ ÁÖÆļö·Î º¯µ¿ÆøÀº °°´Ù ÀÏÀÌ ÀüÁ¦ÀÔ´Ï´Ù.
¡¡¹Ø±×¸²ÀÌ ½ÇÁ¦ÀÇ ±×·¡ÇÁ ÀÛ¼º °á°ú·Î Å©¸®½ºÅ» ¹ßÁø±âÀÇ Àü¿ø ÅõÀÔ½ÃÀÇ ÁÖÆļö º¯È¸¦ ±×·¡ÇÁ·Î ÇÑ °ÍÀÔ´Ï´Ù. 2°³ÀÇ µ¥ÀÌÅ͸¦ °ÅµìÇØ Ç¥½ÃÇÑ °á°úÀÔ´Ï´Ù. µµÁß¿¡ Àû»öÀÇ ¼±ÀÌ µÇ¾î ÀÖ´Â °ÍÀº ±× ¶§ÀÇ °èÃøÄ¡°¡ ±×·¡ÇÁ·Î ÁöÁ¤ÇÑ º¯µ¿ÆøÀ» ³Ñ¾ú±â ¶§¹®ÀÔ´Ï´Ù.
ÀÌ°ÍÀ¸·Î ¾à 67 MHzÀÇ Å©¸®½ºÅ» ¹ßÁø±â¸¦ ¾ÈÁ¤¿¡ °èÃø ÇÏ´Â °ÍÀÌ È®ÀÎÇÒ ¼ö ÀÖ¾ú½À´Ï´Ù.
¾Æ·¡¿Í °°ÀÌ´Â »ó±â PCÃøÀÇ ÇÁ·Î±×·¥ ÆÄÀÏ 1½ÄÀÔ´Ï´Ù.¡¡Visual Basic·Î »ç¿ëÇØ ÁÖ¼¼¿ä.
¡¡¡¡¡Ú USB Á¢¼Ó ÁÖÆļö Ä«¿îÅÍ Á¦¾î ÇÁ·Î±×·¥¡¡1½Ä
|
|