·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
[WindowsCE 6.0 ƯÁý ¨ê] USB CDC Driver¸¦ ÀÌ¿ëÇÑ Virtual Serial DriverÀÇ ±¸Á¶ ºÐ¼®

±èÇö¼ö(SiRF Technology Senior Engineer)   2007/10/22
WindowsCE 6.0
embeddedce
Microsoft
DST
[Áöµð³ÝÄÚ¸®¾Æ]ÇÊÀÚ´Â SiRF TechnologyÀÇ FAE·Î¼­ Ȱµ¿Çϰí ÀÖÀ¸¸ç, À©µµ¿ìÀÓº£µðµåÄ¿¹Â´ÏƼÀÎ WECOMÀÇ MVPÀ̱⵵ ÇÏ´Ù. ºí·Î±× http://blog.naver.com/mclapd¸¦ ¿î¿µ ÁßÀÌ´Ù.

ÇöÀç ÀÓº£µðµå Á¦Ç°µéÀº PC¿Í °°Àº ¿ÜºÎ ´Ü¸»±âµé¿¡ ´Ù¾çÇÑ ÇüÅÂÀÇ Åë½Å ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϰí ÀÖ´Ù. ƯÈ÷ ÃÖ±Ù¿¡´Â ÀÓº£µðµå Á¦Ç°¿¡ ºí·çÅõ½º, ¹«¼±¸ðµ©(wireless modem), WiFi µîÀÇ ¹«¼± ÀÎÅÍÆäÀ̽º Áö¿ø¿¡ ´ëÇÑ ¿ä±¸°¡ ¸¹¾ÆÁ³´Ù.

ÀϹÝÀûÀÎ °æ¿ì CPU ³»ºÎ¿¡ ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽º¸¦ Áö¿øÇÏ´Â ÄÁÆ®·Ñ·¯¸¦ ³»ÀåÇϰí ÀÖÁö ¾Ê±â ¶§¹®¿¡ ÁÖº¯ µð¹ÙÀ̽º(¶Ç´Â ¸ðµâ)¿¡ ÀÇÁ¸ÇÏ°Ô µÈ´Ù.

ÀÌ·± ÁÖº¯ µð¹ÙÀ̽º´Â ¿ÜºÎ ´Ü¸»±â¿¡ Á¦°øÇÏ´Â ÀÎÅÍÆäÀ̽º ¿Ü¿¡ CPU¿ÍÀÇ µ¥ÀÌÅÍ µîÀÇ Ã³¸®¸¦ ½Ã¸®¾ó(serial), USB, USP µîÀ» ÅëÇØ ÇÏ°Ô µÈ´Ù. ¸¸¾à OS ±â¹ÝÀÇ Á¦Ç°À̶ó¸é ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÎÅÍÆäÀ̽ºÀÇ ÇÁ·ÎÅäÄÝÀ» Çڵ鸵 ÇÒ ¼ö ÀÖ´Â µð¹ÙÀ̽º µå¶óÀ̹ö°¡ ÇÊ¿äÇÏ°Ô µÈ´Ù.

¿©±â¼­ ÇÑ °¡Áö »óȲÀ» °¡Á¤ÇØ º¸ÀÚ. ¾î¶² ȸ»çÀÇ ¿£Áö´Ï¾îµéÀÌ ¸¹Àº ³ë·Â°ú ½Ã°£À» ÇÒ¾ÖÇØ¼­ serial ÀÎÅÍÆäÀ̽º¸¦ °®°í ÀÖ´Â ºí·çÅõ½º ¸ðµâÀÇ µå¶óÀ̹ö¿Í ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾úÁö¸¸ °í°´µéÀº ´õ ºü¸¥ Åë½Å ¼Óµµ¸¦ ¿ä±¸ÇÏ¿´°í ȸ»ç¿¡¼­´Â ÀÌ¿¡ ´ëÀÀÇϱâ·Î °áÁ¤Çß´Ù.

´ÙÇàÈ÷ ½Ã¸®¾ó ÀÎÅÍÆäÀ̽º¸¦ USB·Î ´ëÄ¡ÇÑ µð¹ÙÀ̽º°¡ ³ª¿Í¼­ ÀÌ µð¹ÙÀ̽º·Î ´Ù½Ã °³¹ßÇϱâ·Î Çß´Ù°í Ä¡ÀÚ. ¾ÖÇø®ÄÉÀÌ¼Ç ¿£Áö´Ï¾î, ¶Ç´Â µð¹ÙÀ̽º µå¶óÀ̹ö ¿£Áö´Ï¾î´Â ÀÌ¹Ì ¸¸µé¾î ³õÀº, °Ô´Ù°¡ Åë½Å ¼Óµµ À̿ܿ¡´Â µ¿ÀÛ¿¡ ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Â ÀÀ¿ë ÇÁ·Î±×·¥°ú µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ¼öÁ¤ÇØ¾ß ÇÏ´Â »óȲ¿¡ óÇÏ°Ô µÉ °ÍÀ̸ç ÀÌ´Â ¸¹Àº ½Ã°£°ú ³ë·ÂÀÌ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù.

ÀÌ·± »óȲ¿¡¼­ ¾ÖÇø®ÄÉÀ̼ÇÀ̵çÁö µð¹ÙÀ̽º µå¶óÀ̹öµçÁö ¾î´À ÇÑ Âʸ¸ÀÇ ¼öÁ¤À¸·Î ¹®Á¦°¡ ÇØ°áµÈ´Ù¸é ÃÖ¾ÇÀÇ »óȲ¿¡ ³õÀÌ´Â °ÍÀº ÇÇÇÒ ¼ö ÀÖ°ÚÁö¸¸ À§¿Í °°Àº °æ¿ì¶ó¸é µÎ ºÎºÐ¿¡ ¸ðµÎ ¼öÁ¤À» ÇÒ ¼ö ¹Û¿¡ ¾ø°Ô µÈ´Ù. ±×·¡¼­ ÀÌ·± ¹®Á¦¸¦ ÇÇÇϰíÀÚ ÇÑ °¡Áö ¹æ¹ýÀ» ÀÌ ±â°í¸¦ ÅëÇØ Á¦½ÃÇϰíÀÚ ÇÑ´Ù.

¹°·Ð ÀÌ ¹æ¹ýÀº ÀÍÈ÷ ³Î¸® ¾Ë·ÁÁ® ÀÖ°í ¾²À̰í ÀÖ´Â ¹æ¹ýÀ̱⠶§¹®¿¡ Ưº°È÷ »õ·Ó´Ù°Å³ª ¾î·ÆÁö´Â ¾Ê´Ù.

¹öÃß¾ó ½Ã¸®¾ó µå¶óÀ̹ö
¾Õ¼­ ¾ð±ÞÇÑ ¹®Á¦¿¡ ´ëÇØ¼­ ÇÊÀÚ°¡ Á¦½ÃÇÏ´Â ¹æ¹ýÀº ¹öÃß¾ó ½Ã¸®¾ó µå¶óÀ̹ö(virtual serial driver)ÀÇ »ç¿ëÀÌ´Ù. ±×¸®°í ¾Æ·¡´Â ¹öÃß¾ó ½Ã¸®¾ó µå¶óÀ̹ö ÀÛ¼º °³³ä¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸íÀÌ´Ù.

ù°, ¾ÖÇø®ÄÉÀ̼ÇÀº ÁÖº¯ µð¹ÙÀ̽º¸¦ »ç¿ëÇÒ ¶§ ÀÌ µð¹ÙÀ̽º¸¦ Ç×»ó ½Ã¸®¾ó µð¹ÙÀ̽º·Î °¡Á¤ÇÏ°í »ç¿ëÇϵµ·Ï ÀÛ¼ºÇÑ´Ù.

Áï, ÁÖº¯ µð¹ÙÀ̽º°¡ CPU¿Í USB·Î ¿¬°áµÇ¾î ÀÖµçÁö, SPI·Î ¿¬°áµÇ¾î ÀÖµçÁö °£¿¡ ¸ðµÎ ½Ã¸®¾ó ÀåÄ¡·Î º¸¸é µÇ´Â °ÍÀÌ´Ù. À̷νá ÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀº Çϵå¿þ¾î°¡ ¹«¾ùÀ̵çÁö, ¶Ç´Â ¾î¶»°Ô ¹Ù²îµçÁö¿¡ °ü°è¾øÀÌ ¼öÁ¤ ¾øÀÌ(¶Ç´Â ¾ÆÁÖ ¾à°£ÀÇ ¼öÁ¤À» ÅëÇØ) Àç»ç¿ëÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

µÑ°, µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ MDD¿Í PDD ÇüÅ·Π³ª´©°í MDD´Â ½Ã¸®¾ó µð¹ÙÀ̽º µå¶óÀ̹ö·Î ÀÛ¼ºÇÏ°í ³ª¸ÓÁö PDD´Â ÁÖº¯ µð¹ÙÀ̽ºÀÇ ÀÎÅÍÆäÀ̽º¿¡ ¾Ë¸ÂÀº µð¹ÙÀ̽º µå¶óÀ̹öÀÇ ÇüÅ·Π¸¸µéÀÚ. ¹°·Ð ÀÌ MDD¿Í PDDÀÇ ³»ºÎ´Â »óȲ¿¡ ¸Â°Ô ´õ ´Ù¾çÇÑ °èÃþ±¸Á¶·Î ¼¼ºÐÈ­ µÉ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù.

USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö
º» ±â°í¿¡¼­´Â USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö¸¦ ¹öÃß¾ó ½Ã¸®¾ó µå¶óÀ̹öÀÇ ÇÑ ¿¹·Î µé °ÍÀ̸ç À¯°¨½º·´°Ôµµ Áö¸éÀÇ Á¦¾à»ó À§¿¡¼­ Á¦½ÃÇÑ ³»¿ë Áß ½Ã¸®¾ó µð¹ÙÀ̽º µå¶óÀ̹ö¿Í USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö°¡ ¾î¶»°Ô ¿¬°áµÇ´Â°¡¿¡ ´ëÇÑ ¿¬°á ±¸Á¶¿Í operation¿¡ ´ëÇÑ procedure¸¸À» ´Ù·ç·Á°í ÇÑ´Ù.

¾ÕÀ¸·Î ¾ð±ÞÇÒ CDC´Â Ä¿¹Â´ÏÄÉÀÌ¼Ç µð¹ÙÀ̽º¸¦ À§ÇÑ USB ¼­ºê Ŭ·¡½º·Î, º» ±â°í¿¡¼­ ´Ù·ê USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö´Â ½º¸¶Æ® Æù µî¿¡ »ç¿ëµÇ´Â Ä÷ÄÄ µîÀÇ ¹«¼± ¸ðµ© µð¹ÙÀ̽º¸¦ À§ÇÑ µå¶óÀ̹öÀÌ´Ù. ¿©±â¼­ CDC specification¿¡ ÁØÇϱâ À§ÇÑ Á¶°Ç Áß ÇϳªÀÎ flow control µîÀÇ ±â´É µîÀº ³í¿Ü·Î ÇϰڴÙ. Âü°í·Î ÇÊÀÚ´Â USB Host controller°¡ CPU ³»ºÎ¿¡ Æ÷ÇԵǾîÀÖÁö ¾Ê¾Æ ¿ÜÀå USB Host µð¹ÙÀ̽º¸¦ »ç¿ëÇÏ¿´´Ù.

ÇÑ °¡Áö µå¶óÀ̹ö¿¡ ´ëÇÑ ³»¿ëÀÌ¶óµµ »ó´çÈ÷ ¸¹Àº ºÎºÐÀ» ´Ù·ç¾î¾ß Çϱ⠶§¹®¿¡ ´ÙÀ½°ú °°ÀÌ ¸î °¡Áö ÀüÁ¦Á¶°ÇÀÌ ÇÊ¿äÇÒ °ÍÀ¸·Î º»´Ù.

ù°, µ¶ÀÚ´Â WinCEÀÇ Ä¿³Î(Kernel), µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ ´ëÇÑ Áö½ÄÀ» °¡Áö°í ÀÖ´Ù.
µÑ°, ƯÈ÷ ½Ã¸®¾ó µå¶óÀ̹öÀÇ ÀüüÀûÀÎ ¸ÞÄ¿´ÏÁòÀ» ÀÌÇØÇϰí ÀÖ´Ù.
¼Â°, USB SpecificationÀ» ÀÐ¾î º» ÀûÀÌ ÀÖ°í ¾î´À Á¤µµÀÇ USB ÇÁ·ÎÅäÄÝ, Çϵå¿þ¾îÀûÀÎ Áö½Ä, ±×¸®°í USB µå¶óÀ̹ö¿¡ ´ëÇÑ Áö½ÄÀ» °¡Áö°í ÀÖ´Ù.

Â÷ÈÄ ±âȸ°¡ ÁÖ¾îÁø´Ù¸é Çϵå¿þ¾î¿¡¼­ºÎÅÍ ¾ÖÇø®ÄÉÀ̼DZîÁö ÀüüÀûÀÎ È帧°ú ±¸Çö ¹æ¹ý¿¡ ´ëÇØ ´Ù½Ã ±â°íÇϱâ·Î ÇϰڴÙ.

USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹öÀÇ ±¸Á¶
±×¸² 1 Àº ¾ÖÇø®ÄÉÀ̼Ç, USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö, USBD, HCDÀÇ °èÃþ°£ÀÇ ¿¬°á ±¸Á¶¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.

CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¸ñÀûÀº ¸ðµ© µð¹ÙÀ̽º¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ ¼Û½ÅÇϰųª ¼ö½ÅÇÏ´Â °ÍÀÏ °ÍÀÌ´Ù.

ÀÌ·¯ÇÑ µ¿ÀÛÀ» ´Ü¼øÈ­½ÃÄÑ º»´Ù¸é Read, Write, CDC Specification¿¡ ÁØÇϱâ À§ÇÑ ±âŸ GPIO Á¦¾î Á¤µµ°¡ µÉ °Í °°´Ù. ÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀº ½Ã¸®¾ó µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ »ç¿ëÇÒ ¶§¿Í ¸¶Âù°¡Áö·Î USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö¸¦ CreateFile()µîÀÇ API ÇÔ¼ö¸¦ ÅëÇØ serial port¸¦ openÇÏ¿© À§¿¡¼­ ¸»ÇÑ read, write °°Àº µ¿ÀÛÀ» »ç¿ëÇÏ¸é µÈ´Ù.

¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÏÀ§ °èÃþÀÎ USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹öÀÇ ½Ã¸®¾ó MDD °èÃþÀº ÀÏ¹Ý ½Ã¸®¾ó µå¶óÀ̹öÀÇ MDD2¿Í °ÅÀÇ °°Àº ÇüÅ·Π±¸¼º µÇ¾îÀֱ⠶§¹®¿¡ ¾ÖÇø®ÄÉÀ̼ǿ¡°Ô ´ëºÎºÐÀÇ ½Ã¸®¾ó µå¶óÀ̹ö ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù.

µû¶ó¼­, ½Ã¸®¾ó µå¶óÀ̹ö¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ̶ó¸é ½ÇÁ¦·Î ½Ã¸®¾ó ÀÎÅÍÆäÀ̽º°¡ ¾Æ´Ï´õ¶óµµ ¾Æ¹«·± ¹®Á¦°¡ ¾ø°Ô µÈ´Ù.

¿¹·Î ÇöÀç ´ëºÎºÐ GPS ¸ðµâÀÌ ½Ã¸®¾ó ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ À§Ä¡ µ¥ÀÌÅ͸¦ ³Ñ°ÜÁÖ°í Àִµ¥ ÇâÈÄ USB ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÏ´Â ¸ðµâÀ» »ç¿ëÇÏ°Ô µÈ´Ù°í °¡Á¤ÇßÀ» ¶§ ¸Ê(map) SW¸¦ ¸¸µå´Â ¾÷üµéÀº ÀÌ¿¡ ´ëÇÑ ¾Æ¹«·± ¼öÁ¤À» ÇÏÁö ¾Ê¾Æµµ µÈ´Ù´Â °ÍÀÌ´Ù.

´ÙÀ½ °èÃþÀÎ ½Ã¸®¾ó PDD °èÃþÀº »óÀ§ °èÃþÀÇ ½Ã¸®¾ó µå¶óÀ̹ö(MDD)¿Í ÇÏÀ§ °èÃþÀÎ USB Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö °£ÀÇ ÀÎÅÍÆäÀ̽º ¿ªÇÒÀ» ÇØÁÖ°í ÀÖ´Ù. ½Ã¸®¾ó MDD °èÃþ¿¡¼­ ¿ä±¸µÈ operationµéÀ» ½Ã¸®¾ó µå¶óÀ̹öÀÇ ÇüÅ¿¡¼­ USB ÀÎÅÍÆäÀ̽º ÇÔ¼ö(ÁÖ·Î API)·Î ±¸ÇöÇØ ÁÖ°Ô µÈ´Ù.

¸¸¾à ¿£Áö´Ï¾î°¡ ¿øÇÑ´Ù¸é ÀÌ °°Àº µ¿ÀÛÀ» USB Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö ÂÊÀ¸·Î ¿Å°Üµµ ¹®Á¦´Â ¾ø´Ù. ÀÌ´Â ¿£Áö´Ï¾îÀÇ ¼±ÅûçÇ×À¸·Î ±¸ÇöÀ» USB Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö¿¡¼­ ÇÏ´Â °Íµµ ³ª»ÚÁö´Â ¾ÊÁö¸¸, »óÀ§ °èÃþ°ú ÇÏÀ§ °èÃþÀ» ¼­·Î ¿¬°áÇØÁÖ´Â ¿ªÇÒÀ» Çϱ⠶§¹®¿¡ ÀÌ °èÃþ¿¡¼­ ÇÏ´Â °ÍÀÌ ´õ ÁÁÁö ¾ÊÀ»±î »ý°¢ÇÑ´Ù.

À§ÀÇ ±×¸²1¿¡¼­ º¸¶ó»ö ºÎºÐÀÌ USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö ºÎºÐÀÌ¸ç ³ë¶õ»ö ºÎºÐÀº Çϵå¿þ¾î°¡ ¹Ù²ð °æ¿ì ¶Ç´Â ÀÎÅÍÆäÀ̽º°¡ º¯°æµÇ¾î »õ·Î¿î µå¶óÀ̹ö°¡ ÇÊ¿äÇÒ °æ¿ì ±³Ã¼µÉ ºÎºÐÀ» ³ªÅ¸³»°í ÀÖ´Ù. ÁÖº¯ µð¹ÙÀ̽º¿¡ ´ëÇÑ µå¶óÀ̹ö´Â µð¹ÙÀ̽º Á¦Á¶»ç¿¡¼­ Á¦°øÇÏ´Â °æ¿ì°¡ ¸¹±â ¶§¹®¿¡ ¿£Áö´Ï¾î´Â ½ÇÁ¦·Î ½Ã¸®¾ó PDD ºÎºÐÀ» ÁÖ·Î ¼öÁ¤ÇÏ°Ô µÉ °ÍÀÌ´Ù.

USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹öÀÇ µ¿ÀÛ °úÁ¤
USB Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹öÀÇ ÀüüÀûÀÎ µ¿ÀÛ °úÁ¤À» º¸¿©ÁÖ¸é ±×¸² 2¿Í °°´Ù.

¸ÕÀú USB Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö¸¦ ºôÆ®ÀÎ µå¶óÀ̹ö·Î ¸¸µé¾ú±â ¶§¹®¿¡ ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§ Deivce.exe¿¡ ÀÇÇØ µå¶óÀ̹ö´Â ÃʱâÈ­ µÇ°í ¾ÖÇø®ÄÉÀÌ¼Ç µîÀÇ »ç¿ë¿¡ ´ë±âÇÏ°Ô µÈ´Ù.

¹«¼± ¸ðµ©À» »ç¿ë ÇϰíÀÚ ÇÏ´Â ÀüÈ­±â ¶Ç´Â À¥ ºê¶ó¿ìÀú °°Àº ¾ÖÇø®ÄÉÀ̼ÇÀÌ µå¶óÀ̹ö¸¦ ¿ÀÇÂÇÏ´Â °úÁ¤¿¡¼­ CPUÀÇ GPIO¿¡ ÀÇÇØ ¹°¸®ÀûÀ¸·Î ²÷¾îÁ® ÀÖ´ø USB ÀÎÅÍÆäÀ̽º ¶óÀÎ(D+, D-)ÀÌ ¿¬°áµÇ¾î USB È£½ºÆ® µð¹ÙÀ̽º¿Í ¸ðµ© µð¹ÙÀ̽º°¡ ¹°¸®ÀûÀ¸·Î ¿¬°áµÇ°Ô µÇ°í, ÀÌ ¿¬°á·Î ÀÎÇÏ¿© ¸ðµ© µð¹ÙÀ̽º¸¦ ÀνÄÇÑ È£½ºÆ® µð¹ÙÀ̽º´Â »óÀ§ °èÃþÀ¸·Î ¸ðµ© µð¹ÙÀ̽ºÀÇ ÀνÄÀ» ¾Ë¸®°Ô µÈ´Ù.

À̶§ USBDeviceAttach() ÇÔ¼ö°¡ È£ÃâµÇ¾î ÀÎÅÍÆäÀ̽º¿¡ °ü·ÃµÈ USB pipe, event, descriptor µîÀÌ Ã³¸®µÇ°Ô µÈ´Ù.

ÀÌ·¯ÇÑ COM_Open() ÇÔ¼öÀÇ ¼öÇàÀ¸·Î ÀÎÅÍÆäÀ̽º°¡ »ç¿ë °¡´ÉÇÏ°Ô µÇ¸ç À̶§ºÎÅÍ ¾ÖÇø®ÄÉÀ̼ÇÀº ±Ã±ØÀûÀ¸·Î ÇϰíÀÚ ÇÏ´Â µ¿ÀÛÀÎ read, write, ±âŸ Æ÷Æ® Á¦¾î µîÀ» ¼öÇàÇÒ ¼ö ÀÖ°Ô µÈ´Ù.

¸¶Áö¸·À¸·Î ¸ðµç ÀÛ¾÷À» ¸¶Ä£ ¾ÖÇø®ÄÉÀ̼ÇÀº COM_Close() ÇÔ¼ö¸¦ È£ÃâÇÏ°í ½Ã¸®¾ó µå¶óÀ̹ö ºÎºÐ°ú USB µå¶óÀ̹ö ºÎºÐ¿¡ ´ëÇÑ Á¤¸® ÀÛ¾÷À» ¼öÇàÇÏ°Ô µÈ´Ù. ±×¸®°í COM_Deinit()Àº ÀϹÝÀûÀÎ ºôÆ®ÀÎ µå¶óÀ̹öÀÇ °æ¿ì¿Í ¸¶Âù°¡Áö·Î È£ÃâµÇÁö ¾Ê´Â´Ù. Áö±Ý±îÁö USB CDC client µå¶óÀ̹öÀÇ ÃʱâÈ­ºÎÅÍ close µÇ´Â °úÁ¤À» ÀüüÀûÀ¸·Î »ìÆìº¸¾Ò´Ù.

±×·³ °¢ ´Ü°è¸¦ ¼¼ºÐÈ­ÇÏ¿© ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.

COM_Init
±×¸² 3Àº CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö°¡ ÃʱâÈ­µÇ´Â °úÁ¤ÀÌ´Ù. ½Ã¸®¾ó MDD °èÃþÀ¸·ÎºÎÅÍ ÇÏÀ§ °èÃþÀÇ ÃʱâÈ­ ÇÔ¼ö¸¦ ÅëÇØ ´Ü°èÀûÀ¸·Î ÃʱâÈ­ ÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

ÀÌ ÃʱâÈ­ °úÁ¤¿¡¼­ ½Ã¸®¾ó MDD °èÃþ¿¡¼­´Â USB ÀÎÅÍÆäÀ̽º¿¡ °ü·ÃµÈ ÄÚµå´Â ÇÊ¿äÄ¡ ¾Ê´Ù. ÀÌ MDD °èÃþ¿¡¼­ È£ÃâÇÑ ½Ã¸®¾ó PDD °èÃþÀÇ ÃʱâÈ­ ÇÔ¼ö PDD_SerInit()´Â ÀϹÝÀûÀÎ ½Ã¸®¾ó µå¶óÀ̹öÀÇ ÃʱâÈ­ °úÁ¤°ú USB ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ÃʱâÈ­ ÀÛ¾÷À» ¼öÇàÇÏ°Ô µÈ´Ù. ÀÌ USB ÀÎÅÍÆäÀ̽º ÃʱâÈ­ ÀÛ¾÷À» ¼³¸íÇÏÀÚ¸é ´ÙÀ½°ú °°´Ù.

USB È£½ºÆ® µð¹ÙÀ̽º¿Í ¸ðµ© µð¹ÙÀ̽º°£ÀÇ USB ÀÎÅÍÆäÀ̽ºÀÎ D+/D- ¶óÀÎÀº Æò»ó½Ã ²÷¾îÁ® ÀÖ´Â »óÅ·ΠÀ¯ÁöµÇ¸ç ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹ö°¡ ¸ðµ© µð¹ÙÀ̽º¸¦ »ç¿ëÇÏ·Á°í ÇÒ ¶§ ¿¬°áµÈ´Ù.

ÀÌ´Â CPUÀÇ GPIO¿¡ ÀÇÇØ Á¦¾îµÈ´Ù. µû¶ó¼­, ÀÌ Initialize °úÁ¤¿¡¼­´Â Á¦¾î¸¦ ´ã´çÇÏ´Â GPIO¿¡ ´ëÇÑ ÇöÀç »óŸ¦ üũÇÏ¿© ¸¸¾à ¿¬°áµÇ¾î ÀÖ´Ù¸é ¿¬°áÀÌ ²÷¾îÁø »óÅ·ΠÀ¯Áö½ÃŰ´Â ¿ªÇÒ¸¸ ÇÑ´Ù.

±×¸®°í, USB È£½ºÆ® µð¹ÙÀ̽º¸¦ suspend »óÅ·ΠÁøÀÔ½ÃÄÑ Àü¿ø¿¡ ´ëÇÑ ¼Òºñ¸¦ ÃÖ¼ÒÈ­ ÇÑ´Ù. ¾ÆÁ÷ USB ÀåÄ¡°¡ µ¿À۵ǰí ÀÖ´Â »óŰ¡ ¾Æ´Ï±â ¶§¹®¿¡ USB µ¿ÀÛ¿¡ °ü·ÃµÈ pipe³ª descriptor ±×¸®°í °¢Á¾ event¿¡ ´ëÇÑ »ý¼º ¹× ÃʱâÈ­´Â ÇÏÁö ¾Ê°í ´Ü¼øÈ÷ USB ÀÎÅÍÆäÀ̽º ¶óÀΰú ±âŸ °ü·Ã µð¹ÙÀ̽ºµé¿¡ ´ëÇÑ ÃʱâÈ­¸¸ ó¸®ÇÑ´Ù.

COM_Open
±×¸² 4´Â ¾ÖÇø®ÄÉÀ̼ÇÀÌ µå¶óÀ̹ö¸¦ ¿ÀÇÂÇßÀ» ¶§ÀÇ °úÁ¤À» ³ªÅ¸³»°í ÀÖ´Ù.

½Ã¸®¾ó MDD °èÃþÀÇ COM_Open() ÇÔ¼ö¿¡¼­ ÀÏ¹Ý ½Ã¸®¾ó µå¶óÀ̹ö¿Í ¸¶Âù°¡Áö·Î µå¶óÀ̹öÀÇ open operationÀ» ¼öÇàÇϱâ À§ÇØ ½Ã¸®¾ó PDDÀÇ PDD_SerOpen() ÇÔ¼ö¸¦ È£Ãâ ÇÑ´Ù.

ÀÌ PDD_SerOpen() ÇÔ¼ö¿¡¼­ ´Ù½Ã USB_SetPortControl()¸¦ È£ÃâÇÏ¿© USB È£½ºÆ® µð¹ÙÀ̽º¿¡ Àü¿øÀ» Àΰ¡Çϰųª USB ÀÎÅÍÆäÀ̽º D+/D- ¶óÀÎÀ» Á¦¾îÇÏ¿© USB È£½ºÆ® µð¹ÙÀ̽º¿Í ¸ðµ© µð¹ÙÀ̽º¸¦ ¿¬°á½ÃÄÑÁÖ´Â µîÀÇ µ¿ÀÛÀ» ¼öÇàÇϰí ÀÌ µ¿ÀÛ¿¡ ´ëÇÑ °á°ú¸¦ USBDeviceAttach() ÇÔ¼ö·ÎºÎÅÍ ±â´Ù¸®°Ô µÈ´Ù.

À̶§ USB È£½ºÆ® µð¹ÙÀ̽º´Â ¸ðµ© µð¹ÙÀ̽º°¡ ÀÚ½ÅÀÇ Çãºê Æ÷Æ®¿¡ ²ÈÈù ÇϳªÀÇ µð¹ÙÀ̽º ÀåÄ¡·Î ÀνÄÇÏ°Ô µÇ°í ÀûÇÕÇÑ Å¬¶óÀÌ¾ðÆ® µå¶óÀ̹ö¸¦ ·ÎµùÇÏ´Â °úÁ¤ÀÌ ÀϾ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ÀÏ·ÃÀÇ °úÁ¤¿¡¼­ USBDeviceAttach()°¡ È£ÃâµÇ°Ô µÈ´Ù.

USBDeviceAttach() ÇÔ¼ö´Â USB transfer¿¡¼­ ÇÊ¿äÇÑ Bulk¿Í Interrupt¿¡ ´ëÇÑ pipe, ¿©·¯ dispatch event ´ëÇÑ »ý¼º, descriptor ó¸® µîÀ» ÇÏ¸ç ¸ðµç µ¿ÀÛÀÌ ¿Ï·áµÇ¾úÀ» ¶§ ÀÌ »ç½ÇÀ» event·Î signalÇÏ¿© ÀåÄ¡°¡ Àß ÀνĵǾúÀ½À» ¾Ë¸®°Ô µÈ´Ù.

°á°ú¸¦ ´ë±â ÁßÀÎ SetPortControl() ÇÔ¼ö´Â signalÀ» ¹Þ¾ÒÀ» °æ¿ì µå¶óÀ̹öÀÇ ¿ÀÇ °úÁ¤À» ¿Ï·áÇÏ°Ô µÇ°í timeout µîÀÇ ¿øÀÎÀ¸·Î µ¿ÀÛÀÇ °á°ú°¡ ½ÇÆÐ¶ó¸é ÀÌ¿¡ ´ëÇÑ ¿¡·¯ 󸮸¦ ÇÏ°Ô µÈ´Ù.

¸î °¡Áö ÀÌÀ¯·Î À§¿¡¼­ ¸»ÇÑ event¸¦ ¹ÞÁö ¸øÇØ timeoutÀÌ ¹ß»ý ÇßÀ» ¶§´Â ´Ù½Ã USB È£½ºÆ® µð¹ÙÀ̽º³ª USB ÀÎÅÍÆäÀ̽º ¶óÀÎÀ» ²÷¾ú´Ù°¡ ºÙ¿©ÁÖ´Â µîÀÇ µ¿ÀÛÀ» ¿©·¯ ¹ø ½ÃµµÇØ º¸´Â ·çƾÀ» ³Ö´Â °ÍÀÌ ÁÁ´Ù.

COM_Read
±×¸² 5´Â Read µ¿ÀÛ¿¡ ´ëÇÑ °úÁ¤À» ³ªÅ¸³»°í ÀÖ´Ù.

¸ÕÀú ¼Ò½º 1À» º¸¸é USB_BulkInThread()¿¡¼­ lpIssueBulkTransfer() API ÇÔ¼ö·Î Bulk In pipe·Î read transfer¸¦ ¼öÇàÇϸç À̶§ USB_BulkInTransferComplete()ÇÔ¼ö¸¦ µÎ ¹øÂ° ÀÎÀÚ·Î ³Ñ°ÜÁÖ¾î transfer°¡ ¿Ï·áµÇ¾úÀ» ¶§ ÀÌ »ç½ÇÀ» signal ÇÒ callback ÇÔ¼ö·Î µî·ÏÇÑ´Ù.

½ÇÁ¦·Î Read transfer°¡ ¹®Á¦ ¾øÀÌ ÁøÇàµÇ¾úÀ¸¸é ¾òÀº µ¥ÀÌÅ͸¦ read queue·Î ¿Å±â±â À§ÇÑ ÇÔ¼öÀÎ PutToRxQueue()¸¦ È£ÃâÇÑ´Ù.

PutToRxQueue() ÇÔ¼ö¿¡¼­ ÀÎÀÚ·Î ³Ñ°Ü¹ÞÀº bufferÀÇ ³»¿ë Áß ÀϺΠ¶Ç´Â ÀüºÎ¸¦ read queue¿¡ Ä«ÇÇÇϰí Ä«ÇÇÇÑ byte¸¸Å­ ÀÌ queueÀÇ write index¸¦ Áõ°¡½ÃÄÑ ¾÷µ¥ÀÌÆ®ÇÑ´Ù. ±×¸®°í PDD_SerialDispatchThread()¿¡ µ¥ÀÌÅ͸¦ ¼ö½ÅÇß´Ù´Â event¸¦ signalÇØ receive interrupt handlerÀÎ PDD_SerRxIntr() ÇÔ¼ö°¡ À̸¦ ó¸®Çϵµ·Ï ÇÑ´Ù.

ÀÌ receive interrupt handler¿¡¼­ read queueÀÇ ³»¿ëÀ» buffer·Î ´Ù½Ã ¿Å±â°í Àо byte¸¸Å­ read queueÀÇ read index¸¦ Á¶Á¤ÇÑ´Ù. ¸¶Áö¸·À¸·Î COM_Read() ÇÔ¼ö¿Í ¼ö½ÅÀ» ´ë±âÁßÀÎ ¾ÖÇø®ÄÉÀ̼ǿ¡°Ô µ¥ÀÌÅ͸¦ °¡Á®°¥ °ÍÀ» event·Î ¾Ë·ÁÁØ´Ù. ÀÌ·¯ÇÑ °úÁ¤Àº USB read transfer·Î ¾ò¾î¿Â µ¥ÀÌÅ͸¦ ¸ðµÎ Àü´ÞÇÒ ¶§±îÁö ¹Ýº¹µÈ´Ù.


COM_Write
±×¸² 6Àº Write¿¡ ´ëÇÑ ÀüüÀûÀÎ °úÁ¤À» º¸¿©ÁÖ°í ÀÖ´Ù.

½Ã¸®¾ó MDDÀÇ COM_Write() ÇÔ¼ö¿¡¼­ °°Àº °èÃþ¿¡ ÀÖ´Â DoTxData()¸¦ È£ÃâÇÑ´Ù. À̰ÍÀº ÀϹÝÀûÀÎ ½Ã¸®¾ó µå¶óÀ̹öÀÇ sequence¿Í °°Àº °ÍÀÌ´Ù.

ÀÌ ÇÔ¼ö¿¡¼­´Â ´Ù½Ã ÇÏÀ§ °èÃþÀÎ Serial PDDÀÇ transmit interrupt handlerÀÎ PDD_SerTxIntrEx() ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÀÌ transmit interrupt handler¿¡¼­´Â ¼Ò½º 2¿Í °°ÀÌ lpIssueBulkTransfer() API ÇÔ¼ö¸¦ ÅëÇØ Bulk Out pipe·Î Àü¼ÛÀ» ½ÃµµÇÑ´Ù.


À̶§ ÇÔ¼öÀÇ ÀÎÀÚ Áß µÎ ¹øÂ° ÀÎÀÚÀÎ callback ÇÔ¼ö, USB_BulkOutTransferComplete()¸¦ µî·ÏÇϰí Àü¼Û¿¡ ´ëÇÑ °á°ú¸¦ ±â´Ù¸®°Ô µÈ´Ù. Àü¼ÛÀÌ ÀÌ»ó ¾øÀÌ ³¡³µÀ½À» callback ÇÔ¼ö·ÎºÎÅÍ signal ¹ÞÀ¸¸é PDD_SerialDispatchThread()¿¡¼­ ´Ù½Ã DoTxData() ÇÔ¼ö°¡ È£ÃâµÈ´Ù. ÀÌ °úÁ¤Àº ¸ðµç µ¥ÀÌÅͰ¡ Bulk Out pipe¸¦ ÅëÇØ Àü¼ÛµÉ ¶§±îÁö ¹Ýº¹µÇ°Ô µÈ´Ù.

À§¿¡¼­ read transfer¿¡¼­µµ »ç¿ëÇÑ lpIssueBulkTransfer() ÇÔ¼ö¸¦ ´ë½ÅÇØ¼­ IssueBulkTransfer() ÇÔ¼ö¸¦ »ç¿ëÇØµµ ¹«°üÇÏÁö¸¸,IssueBulkTransfer() ÇÔ¼öµµ °á°úÀûÀ¸·Î´Â lpIssueBulkTransfer()¸¦ È£ÃâÇÏ°Ô µÇ¹Ç·Î Á÷Á¢ »ç¿ëÇÏ¿´´Ù.

COM_Close
±×¸² 7Àº Ŭ·ÎÁî(Close)¿¡ ´ëÇÑ °úÁ¤À» ³ªÅ¸³»°í ÀÖ´Ù. ¿ÀÇÂÇÏ´Â °úÁ¤°ú ¹Ý´ëµÇ´Â µ¿ÀÛÀ̶ó ´ç¿¬ÇÑ °ÍÀÏÁö´Â ¸ð¸£°ÚÁö¸¸ ¿ÀÇÂÀÇ °úÁ¤°ú ¸¹Àº ºÎºÐÀÌ sequenceÀûÀ¸·Î À¯»çÇÏ´Ù.

Serial MDD °èÃþÀÇ COM_Close() ÇÔ¼ö´Â ÇÏÀ§ °èÃþÀÇ PDD_SerClose() ÇÔ¼ö¸¦ È£ÃâÇÏ°Ô µÈ´Ù. ÀÌ ÇÔ¼ö¿¡¼­´Â USB ÀÎÅÍÆäÀ̽º¿¡ »ç¿ëÇÏ´ø thread³ª eventµîÀ» Á¤¸®Çϰí ÇÏÀ§ °èÃþÀÇ DeviceNotify() ÇÔ¼ö¿¡ event¸¦ signalÇØ¼­ »ý¼ºÇØ ³õÀº USB pipe ³ª °ü·Ã transfer¿¡ °ü·ÃµÈ eventµîÀ» »èÁ¦Çϵµ·Ï ÇÑ´Ù.

µ¿½Ã¿¡ °°Àº ÇÏÀ§°èÃþÀÇ USB_SetPortControl()À» È£ÃâÇØ¼­ USB ÀÎÅÍÆäÀ̽º ¶óÀÎÀº ²÷µµ·Ï ÇÑ´Ù.

USB_SetPortControl() ÇÔ¼ö¿¡¼­ USB ÀÎÅÍÆäÀ̽º ¶óÀÎÀ» ²÷Àº ÈÄ, DeviceNotify()·ÎºÎÅÍ ¸ðµç USB µå¶óÀ̹öÀÇ objectµéÀÌ Á¦°ÅµÇ¾ú´ÂÁö¸¦ È®ÀÎÇϱâ À§ÇØ ´ë±âÇÑ´Ù. ÀÌ·± Á¤¸®°úÁ¤¿¡ ¹®Á¦°¡ ¾øÀ» °æ¿ì USB_close() ÇÔ¼ö¸¦ È£ÃâÇØ¼­ USB host µð¹ÙÀ̽º¸¦ ´Ù½Ã suspend »óÅ·ΠÀ¯ÁöµÇµµ·Ï ¸¸µç´Ù.

¸¶Ä¡¸ç
Áö±Ý±îÁö ¹öÃß¾ó ½Ã¸®¾ó µå¶óÀ̹öÀÇ Çʿ伺°ú ÀåÁ¡, ±×¸®°í ¹öÃß¾ó ½Ã¸®¾ó µå¶óÀ̹öÀÇ ¿¹·Î ¼³¸íÇÑ USB CDC Ŭ¶óÀÌ¾ðÆ® µå¶óÀ̹öÀÇ ÀüüÀûÀÎ µ¿ÀÛ°ú ¿¬°á ±¸Á¶¿¡ ´ëÇØ¼­ »ìÆì º¸¾Ò´Ù.

ÀüüÀûÀÎ ºÎºÐÀ» ±¸Ã¼ÀûÀ¸·Î ´Ù·çÁö ¸øÇϰí ÀϺκи¸ ´Ù·ç¾ú±â ¶§¹®¿¡ ±â°í ÀÚü°¡ µ¶ÀÚ ºÐµéÀÇ ÀÌÇØ¿¡ ¿ÀÈ÷·Á È¥¶õÀ» ÁÙ±î ¿°·ÁµÈ´Ù.

ÀÌ·¯ÇÑ ÀÌÀ¯·Î ¿Ïº®ÇÏ°Ô Á¦°øÄ¡ ¸øÇÏ´Â ¼Ò½º ÄÚµåÀÇ ÂüÁ¶¸¦ ÀÚÁ¦ÇßÀ¸¸ç ´ë½Å ºí·Ï ´ÙÀ̾î±×·¥À¸·Î ´ëÄ¡Çß´Ù. °³ÀÎÀûÀÎ ¹Ù¶÷ÀÌÁö¸¸ ºñ½ÁÇÑ Á¾·ùÀÇ µå¶óÀ̹ö¸¦ °³¹ßÇÒ ¶§ ¾à°£À̳ª¸¶ Âü°í°¡ µÇ±æ ¹Ù¶õ´Ù.

¿£Áö´Ï¾î¿¡°Ô´Â ¿ª½Ã ¼Ò½º Äڵ带 ÇϳªÇϳª ºÐ¼®ÇÏ´Â °ÍÀÌ Á¦ÀÏ ¸íÈ®ÇÑ ¹æ¹ýÀ̱⠶§¹®¿¡ ÀÎÅÍ³Ý»ó¿¡ °ø°³µÇ¾îÀÖ´Â ºñ½ÁÇÑ Á¾·ùÀÇ µå¶óÀ̹ö¸¦ ±¸Çؼ­ ±Ã±ÝÇß´ø ºÎºÐÀ» »ìÆìº¸´Â °ÍÀÌ ÁÁÀ» °Í °°´Ù. @

Âü°í ÀÚ·á
Company and Organization
-USB Implementers Forum : http://www.usb.org
-LeCroy : http://www.lecroy.com

Tools
-LeCroy Chief : Protocol analyzer
-USBView : ÇöÀç PC¿¡ Á¢¼ÓµÈ USB ÀåÄ¡ÀÇ Descriptor¸¦ Ãâ·ÂÇÑ´Ù.
-Snoopy : USBViewÀÇ ±â´É¿¡ USB ÀåÄ¡ÀÇ load/unload ±â´ÉÀÌ Ãß°¡µÇ¾î ÀÖ´Ù.

Windows CE Serial driver and CPU vendor¡¯s BSP/CSP

Books
-USB Complete – Axelson(lakeview research)
-USB Guide – ±èÇüÈÆ(Ohm)
°ü·Ã±â»ç
À©µµ¿ì CE ÀÓº£µðµå¿¡ Àû¿ëÇϱâ
Çѱ¹MS ¸ð¹ÙÀÏ ¹× ÀÓº£µðµå ¡¸¼ºÀ常ŭ Áö¿øÇϰڴ١¹
Çѱ¹¸¶ÀÌÅ©·Î¼ÒÇÁÆ®, ¸ð¹ÙÀÏ ¹× ÀÓº£µðµå °³¹ßÀÚ ÄÁÆÛ·±½º 2006 °³ÃÖ
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®, À©µµ¿ì CE 6.0 º£Å¸¹öÀü Ãâ½Ã
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
µ¶ÀÚÀǰß(Talkback)
À̰æÁø[ 2007/10/29 ]  
µåµð¾î À̰÷±îÁö...¹Ú¼ö..
 
 
[Ã¥¼Ò°³]ÇÁ¸®Á¨Å×ÀÌ¼Ç Á¨: »ý°¢À»...
[DDD ¨ç] µµ¸ÞÀÎ ÁÖµµ °³¹ß
°¡»óÈ­¿¡ ½ÇÆÐÇÏ´Â 10°¡Áö ÀÌÀ¯
À©µµ¿ìCE µð¹ö±ë¿¡ °üÇÑ 12°¡Áö...
[±â°í]±×¸° ½ºÅ丮Áö·Î °¡´Â±æ
[Ã¥¼Ò°³] À¥ °³¹ßÀÚ¸¦ À§ÇÑ ½ºÇÁ...
À©µµ¿ìCE °³¹ßÅø¿¡ °üÇÑ 12°¡Áö...
[¿ÀÇÂÀÎÅͺä]Àè Äá HTCºÎ»çÀå "½º¸¶Æ®Æù ½ÃÀå °³Ã´, Áö±ÝÀÌ Àû±â" [00:17:38]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
[»ï¼º ¿½ ½ºÅ丮-¨è]'P2 DMB' °ÑÆ÷Àå, Æò¹üÄ¡ ¾ÊÀº ÀÌÀ¯ ÀÖ¾ú³× [00:10:13]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
º¸¾È°­È­ ±¸±Û ¡°À©µµ ¹ö¸®°í À¥À¸...
¡®À©µµXP¡¯½Ã´ë Æó¸·, »ç¿ëÀÚ¿¡°Ô...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
ÀÎÅÍ³Ý ¹ðÅ· ºê¶ó¿ìÀú´Â µû·Î ÀÖ´Ù...
SKT µ¶Á¡ 800MHz Á֯ļö,...
[ºÎÀ½]±èÈ«¿µ ÆÒÅð迭 CSº»ºÎÀå...
¹æÅëÀ§, ¹æ¼ÛÄÜÅÙÃ÷ ÁøÈï»ç¾÷¿¡ 2...
LG¿£½Ã½º, IT ÀÎÀç ¾ç¼º »êÇÐ...
NHN, ÀÎõ°øÇ׿¡ ¹«·á ÀÎÅÍ³Ý ...
[Àλç]ÇϳªÀºÇà
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.