ãŸããã
ãã®è©±ã¯ãTSOP56ããã±ãŒãžã®SPANSION S29GL512ã®ãããªãã©ãã·ã¥ã¡ã¢ãªããããäœããã®æ¹æ³ã§èªã¿æžãããå¿ èŠããããšãã«å§ãŸããŸããã ãããŸã§ãXELTEK SuperPro 500Pããã°ã©ããŒã®æäœã«æåããŸããã ããããæ®å¿µãªããšã«ã48åã®ã³ã³ã¿ã¯ããåãä»ãããããœã±ããã§ã¯ãã¢ããã¿ãŒã䜿çšããŠããããè¡ãããšãã§ããŸããã§ããã ãã¡ããããã®ããã°ã©ããŒã®PCããã°ã©ã ã®ããã«ããã®ãããªè¶ å°ååè·¯ã¯ãµããŒããããŠããŸããã
ããŸããŸãªãœã±ããã®äº€æå¯èœãªã¢ããã¿ãŒã䜿çšããSuperPro 6100ã¢ãã«ã®åãã¡ãŒã«ãŒã®ããã°ã©ããŒãæŽæ°ãã決å®ããè³Œå ¥ããŸããïŒåºåã®å¯Ÿè±¡å€ïŒã ãŸããTSOP56ãœã±ãããåããCX1011ã¢ãã«ïŒZIF48ãœã±ãããåããã¢ããã¿ãŒã¯ããã°ã©ããŒã«å«ãŸããŠããïŒã®ããã«æããã®ã§ãå¿ èŠãªã¢ããã¿ãŒãå¥éè³Œå ¥ããŸããã

ãããã°ã©ããŒããã°ã©ã ãã¯èŠãç®ãããŸãçŸãããªããããããã°ã©ããŒããã°ã©ã ãåã«ãœãããŠã§ã¢ãšåŒã¶ããšã«åæããŸãã
ããããã¹ãŠãåãåã£ãåŸãã¢ããã¿ãŒã䜿çšããŠããã°ã©ããŒãããã¶ã€ããŒãçµã¿ç«ãŠãããã§äœæ¥ãéå§ããããšããŸããã

ãããããœãããŠã§ã¢ã§ç®çã®ãã€ã¯ãåè·¯ãéžæãããåŸãããã°ã©ããŒã¯æ°åããã¿ããERROR CODEïŒ1Dããšããè¬ã®ç¢æããã£ã¹ãã¬ã€ã«è¡šç€ºãããŸããã ãœãããŠã§ã¢ã¯ãŸãããã®ã¢ããã¿ãŒããã®ãããã®ããã°ã©ãã³ã°ã«é©ããŠããªããšããã¡ãã»ãŒãžãåªããŸããã ã©ã®ããã«ïŒïŒ ããã°ã©ããŒãšã¢ããã¿ãŒããœã±ãããšããããæ£åžžã«çµå©ããŸããããéªæªãªã¡ãŒã«ãŒã¯ããã§ã¯ååã§ã¯ãªããšå€æãããŠãŒã¶ãŒã¯æ°ããããã°ã©ããŒã«å ããŠãæ°ãããDX1011ã¢ããã¿ãŒã絶察ã«è³Œå ¥ããå¿ èŠããããŸãã ã¡ãªã¿ã«ãã¡ãŒã«ãŒã®ãŠã§ããµã€ãã«ã¯çŽ300ã®åžžç·æš¹ãå¿ èŠã§ãã ãŸãã倧äžå€«ãç§ãã¡ã®å Žåããæ°ããããã®ãååŸããããšããåžæã¯ãããŸããã§ãããã誀ã£ãŠãããè³Œå ¥ããŸããã ããããçµå±ã®ãšããã誰ããå€ãããã°ã©ããŒãããããä¿åããããšãã§ããŸãããã誰ããèªåã§ãããäœããããããããŸããã ãããã£ãŠããã®èšäºã¯ãã®èªè ã察象ãšããŠããŸãã
ãã®è³æãæºåããã«ãããããã®ãã¹ã§äœ¿çšããå¿ èŠã®ããããŸããŸãªããã°ã©ã ãšããŒããŠã§ã¢ããã€ã¹ã䜿çšããããã«èªè ã«æãããšããç®æšãèšå®ããŸããã§ããã ãã®ããããã®ããŒã«ãããã䜿çšããè€éãªäœæ¥ã®èª¬æã§èšäºãè©°ãŸãããããšã¯ãããèå°è£ã«æ®ããŸãã ãããã誰ãã詳现ã«èå³ãæã£ãŠãããªããç§ãã¡ã¯ãããã«ã€ããŠã³ã¡ã³ããããŠããã ããŸãã
ããã§ãå 責äºé ã®ããã¹ããåŒçšããã®ã¯æ£ããããšã§ãããã®æå³ã¯ãèè ããã®èšäºã®è³æã®äœ¿çšã«é¢ããŠäžåã®è²¬ä»»ãè² ããªãããšã§ãã èšãæããã°ãããªãã ããããªãã®è¡åã«è²¬ä»»ãè² ããŸããããªãã¯ãã®è³æã«ç²Ÿéãããã奚å±ããããããããŸããã
äºå審æ»
ã¢ããã¿ã®ã¬ãã¥ãŒã«ãããç¢æAE801ãä»ããã¿ã³ããããæ€åºããããšãå¯èœã«ãªããŸããããã¡ãããã€ã³ã¿ãŒãããäžã®ããã¥ã¡ã³ãã¯ãããŸããã§ããã ãã®ãããã¯ãäžã®CX1011ã¢ããã¿ãŒã®åçã®å³é ã«ã¯ã£ãããšèŠããŸãã
ãã®ãããã«é¢ããæ å ±ã¯ãŸã èŠã€ãã£ãŠããŸããã FAQã»ã¯ã·ã§ã³ã®XELTEK Webãµã€ãã§ããSuperPro 6000ãš6100ããã°ã©ããŒã®éãã¯äœã§ããïŒããšãã質åã«çããŠããCXã·ãªãŒãºã¢ããã¿ãŒïŒ6000ããã°ã©ããŒçšïŒãšDXïŒ6100ããã°ã©ããŒçšïŒã¯ãããIDãé€ããŠãŸã£ããåãã§ãã DXã·ãªãŒãºã¢ããã¿ãŒã¯ãé«åºŠãªä¿è·ã䜿çšããŸããããã®ãããã¯ãããã°ã©ããŒãã€ã³ã¹ããŒã«ãããŠããã¢ããã¿ãŒãèå¥ããããã«äœ¿çšããIDãããã®äžçš®ã§ããããšãæããã«ãªããŸããã ããã¯ãç§ãã¡ã話ããŠããä¿è·ã®çš®é¡ã«ã€ããŠã§ãïŒã¢ããã¿ãä¿è·ããããã«èª°ããããŸãã¯äœããå¿ èŠãïŒ ãã¡ããããªããšç§ããïŒ
ãã®ä¿è·ã¯ãããªã³ã¿ãŒã«ãŒããªããžã§çŸåšåºã䜿çšãããŠããä¿è·ã«äŒŒãŠãããããè£å ã¯ããããæ°ããã«ãŒããªããžãè³Œå ¥ãããŸãã ããããããã§ã¯ç¶æ³ã¯å€å°ç°ãªããŸãã ããªãã¯ãéã§é«äŸ¡ãªã¢ããã¿ãŒãæã«å ¥ãããããæ°žé ã«äœ¿ãããšãæã¿ãŸãã ãã£ãïŒ è£œé æ¥è ã¯æ éã«ãããåŠçããäœæè èªèº«ãäŸã«ãšã£ãŠãã¢ããã¿ã人ã®åœã«å¶éããããšã«ããŸããã ããã確èªãããšããœãããŠã§ã¢ã§æ¬¡ã®éèŠãªã¡ãã»ãŒãžãèŠã€ãããŸãã
-ããœã±ããã¢ããã¿ãŒã®å¯¿åœãè¿ã¥ããŠããŸãã æ°ãããã®ãšäº€æããæºåãããŠãã ãããã
-ããµã€ã¯ã«å¯¿åœãè¶ ããã¢ããã¿ã®äœ¿çšæ¹æ³ã¯å€æŽããŠãã ãããã
ãã®çç ãã©ã®ããã«æ°ã«å ¥ã£ãŠããŸããïŒãã¢ããã¿ãŒã®å¯¿åœã¯çµããã«è¿ã¥ããŠããŸããïŒ ç¹ã«ãæ°ãããã®ãšäº€æããããšãããã¬ãŒãºã¯ãå¶æ¥éšã®ãã¢ãªã³ã°ãæcareããŠããŸãã
ãªãããã®çç±ã§ãXELTEKã®Webãµã€ãã§ãè匱æ§ã«ã€ããŠã®ã¢ããã¿ãŒãèšèŒãããããŒãž-èšèã§ã¯ãããŸããïŒ ã€ã®ãšãã¿ã³ã®ã¢ã³ãŒãã£ãªã³ã«ã€ããŠããç¥ãããŠããèšèãèšãæãããšããã¢ããã¿ãŒã¯äœã®ããã«ä¿è·ãããŠããã®ã§ããããšèšãããã§ãã
ããããããã§ãããã©ãã·ã¥ã¡ã¢ãªãããã®èªã¿åã/æžã蟌ã¿ã®å¿ èŠæ§ïŒããã¯ãä»ã®ãã¹ãŠã®ãã®ã«å¿ãå»ããããã§ã«å¿ããããŠãããšèšããããåŸãªãïŒãšããæ£è ãã®å¿ ç¶çãªæ»ã®éåœã軜æžããããã®æµæã§ããªã欲æ±ãã¢ããã¿ãŒã¯ç§ãã¡ãåé²ãããŸããã
æ²»çã®æºå
å°æ¥ãããã°ã©ããŒçšã®ãœãããŠã§ã¢ãåäœããPCããã¹ããšåŒã¶ããšã«åæããŸãã
USBã€ã³ã¿ãŒãã§ã€ã¹ã¯ããã¹ããšããã°ã©ãã®éã§ããŒã¿ã亀æããããã«äœ¿çšãããè€æ°ã®USBãã£ãã«ïŒãã€ãïŒãåããŠããŸãã USBãã£ãã«ã®1ã€ã§ããã¹ãã¯ããã°ã©ãã«ã³ãã³ããéä¿¡ãããã1ã€ã§ã¯ããŒã¿ããã¹ãã«éä¿¡ãã次ã®ãã¹ãã§ã¯ããã°ã©ãããããŒã¿ãåä¿¡ããŸãã
AE801ãšããã°ã©ãèªèº«ã®éã®ããŒã¿äº€æçšã®ã€ã³ã¿ãŒãã§ã€ã¹ãèå¥ããå¿ èŠããããŸããã ãã®åŸã補é æ¥è ã¯ãçŽ10,500ããŒã®é床ã§å€ãè¯ãUARTã䜿çšããŠãå²åŠãããŸããã§ããã æ¬è³ªçã«8èã®ãã€ã¯ãã³ã³ãããŒã©ãŒã§ãããããAE801ã¯ãã¬ãã°1ãš4ãã°ã©ã³ãã«æ¥ç¶ãããã¬ãã°8ã«+ 5Vã®é»åãäŸçµŠãããã¬ãã°3ã¯UARTãä»ããåæ¹åããŒã¿äŒéã«äœ¿çšãããã¬ãã°7ã¯æ£ã®CSãšããŠãã¬ãã°ã«äœ¿çšãããŸãå³ïŒã«ç€ºãããã«ãèïŒã®ãŠãããã®åºçŸãšåæã«ãïŒïŒïŒšïœã®ã¯ããã¯åšæ³¢æ°ãäŸçµŠãããã ç§ãã¡ã«ç¥ãããŠãã8ãã£ãŒãã®ãã€ã¯ãã³ã³ãããŒã©ã®ãã¡ãATMEL ATtiny25ã45ã85ã·ãªãŒãºã¯ããã®ãã³é 眮ã«æé©ã§ããå®éããããã«äœ¿çšãããSOIC8ããã±ãŒãžã¯å¿ èŠä»¥äžã«åºãã§ãã
ã¢ããã¿ãŒäžã®AE801ãšããã°ã©ããŒéã®ããŒã¿äº€æã調ã¹ããšãèå³æ·±ãããšã1ã€èŠã€ãããŸããããœãããŠã§ã¢ã§ããããéžæãããšãã¢ããã¿ãŒã§AE801ããããéžæãããåã§ãããäžéšã®ããŒã¿ãã±ãããã¬ãã°3ã«çŸããŸããã ã¢ããã¿ãŒãããã€ã¯ããµãŒããããšã®éä¿¡ãéå§ããåã«ãããã°ã©ããŒãä»ã®èª°ããšéä¿¡ããããšãå€æããŸããã ãã®åŸãåãAE801ããããããã°ã©ããŒã«ã€ã³ã¹ããŒã«ãããã¢ããã¿ãŒããã®AE801ãšåãåæ¹åããŒã¿ãã¹äžã«ããããšãå€æããŸããã ãããŠãããã¯åãç®çãæãããŸã-ã¯ããŒã³ã«å¯Ÿããä¿è·ã§ãããä»ã§ã¯ããã°ã©ããŒèªèº«ã§ãã
ããã«ããã¹ãäžã®ãœãããŠã§ã¢ã¯ããã¹ããšããã°ã©ããŒéã®ããŒã¿äº€ææé ããã°ãã¡ã€ã«ã«ä¿åããããã«å€æŽãããŸããã åä¿¡ãããã°ãããäœãæ確ã§ã¯ãªãããšãå®å šã«æããã«ãªããŸããã ããŒã¿äº€æã¯ãªãããã®æ¹æ³ã§æå·åããããŽãã§éšãããã£ãã ã©ãããããã¯ãŸãã«ãé²åŸ¡ã®æ¹åãã§ããã ãããã1ã€ã®ããšãæããã«ãªããŸãããXELTEKã«ããã°ãã¢ããã¿ãŒã¯ããã°ã©ããŒã«ã¢ãã«ã®ååãããã¹ã圢åŒã§çŽæ¥äŒãã幎霢ãé©åã«éä¿¡ã§ããããã«ããŸãã ãã以å€ã¯ãã¹ãŠãŽãã§ãã
ãããªãç 究ãéããŠãä¿è·ã¢ã«ãŽãªãºã ã¯ãã®ãããã¯ããéåžžã«é ã人ã«ãã£ãŠæžãããããšãå€æããŸããã ãããããé«åºŠãªä¿è·ãã¯æ°Žãä¿æããŸããã
ãã ããé¡ã®ãã°ãææ¡ããããšã¯äžå¯èœã§ãããããã°ã©ããŒèªèº«ã®å éšã«ç§»åããå¿ èŠãããããšãæããã«ãªããŸããã ãã®é»åçãªè©°ãç©ã¯ãã©ãã¯ãšã³ãã¯ã¿ã§æ¥ç¶ãããå€ãã®åå¥ã®ããŒãã®åœ¢ãããã¬ã€ã€ãŒã±ãŒãã®ããã«èŠããŸãã

ãããã®ããŒãã®1ã€ïŒPCããé¡æšããŠããã¶ãŒããŒãããšåŒã³ãŸãïŒã«ã¯ãATMEL AT91SAM9G20 ARMãã€ã¯ãã³ã³ãããŒã©ãŒãSDRAMããã¡ãŒã ãŠã§ã¢ãåããSPI FLASHãããã°ã©ããŒã¢ãã«ãšã·ãªã¢ã«çªå·ãåããåãAE801 IDããããUSBã³ã³ãããŒã©ãŒããããããã³ãã®ä»ã®ããããå«ãŸããŠããŸãã

å¥ã®ããŒãã«ã¯XILINXããããæèŒãããŠãããããã¯ãã©ã³ãžã¹ã¿ã¢ã»ã³ããªãåããä»ã®ããŒããšäžç·ã«ãèªã¿åã/æžã蟌ã¿æé äžã«ããã°ã©ãã«æ¥ç¶ãããã¢ããã¿äžã®ãããã®èãå¶åŸ¡ããŸã

ãã¹ãŠã®ARMãã€ã¯ãã³ã³ãããŒã©ãŒãã¡ãŒã ãŠã§ã¢ã¯å€éšSPI FLASHãããã«å«ãŸããŠããããã¡ããä¿è·ã®åŒ·åã«ãå¯äžããŸããã éåžžãããŒãããŒããŒã¯ãã€ã¯ãã³ã³ãããŒã©ãŒã®å éšã¡ã¢ãªã«é ãããŠãããèªã¿åãã®ããã«ã¢ã¯ã»ã¹ã§ãããå€éšã«çœ®ããããã¡ãŒã ãŠã§ã¢ãŸãã¯æŽæ°ã¯æå·åãããŸãã ããããXELTEKã®éçºè ã¯ãç¬èªã®AE801ããããšæ··åããŠãARMãã¡ãŒã ãŠã§ã¢ããã©ãã©ã«ãããŸãŸãå¥ã®æ¹æ³ãæ¡çšããããšã«ããŸããã å®éã次ã«ããããšã
ã¢ã€ãã¢ã¯ãããã°ã©ããŒã¢ã«ãŽãªãºã ã®ãusbããã¡ã€ã«ãéã¢ã»ã³ãã«ããŠãããARM IDEã®1ã€ã§ãããžã§ã¯ããã¢ã»ã³ãã«ããããšã§ããããã®ããããœãŒã¹ãã¢ã»ã³ãã©ãŒã«æã€JTAGãä»ããŠãAE801ããããšã®éä¿¡ã®èŠ³ç¹ããããã°ã©ããŒã®åäœãç 究ããŸããã
ãšããã§ããã¶ãŒããŒãã«ã¯ãJTAGã³ãã¯ã¿çšã®å ŽæãçšæãããŠããŸããã ãããã°ã容æã«ãããããJTAGã³ãã¯ã¿ã¯ããã°ã©ãã®ãã©ã¹ããã¯ããŠãžã³ã°ã®åŽé¢ã«åãä»ãããããã©ããã±ãŒãã«ã§ãã¶ãŒããŒãã«æ¥ç¶ãããŸããã

çµæã¯äžçš®ã®éçºãããã§ããã

å€ããããžã§ã¯ãããä¿åãããJTAG OLIMEX ARM-USB-OCDããããããARM IDEã®éžæã¯GDBãµãŒããŒçµç±ã®ãããã°ããµããŒãããŠãããããIAR Embedded Workbenchã«äŸåããŸããã ãã ãããã®GDBãµãŒããŒã®ã»ããã¢ããã¯éåžžã«é£ããäœæ¥ã§ããããšãå€æããŸããã ãããŠããããžã§ã¯ããã¢ã»ã³ãã©ãŒãœãŒã¹ããã¢ã»ã³ãã«ããŠãããã°ã©ããŒã®SDRAMãžã®ããŒããéå§ãããããã°ããæ©äŒãåŸãã®ã«æéãããããŸããã
ãããã¬ãŒã®äžã§ãã¹ãŠãæçµçã«è§£æ±ºããåŸãã¢ã«ãŽãªãºã ã®æããèå³æ·±ããã¡ãœããã®ããã€ããCã§æžãçŽãããç解ãããããªããŸããã ãããã£ãŠãããã°ã©ããŒã®ã¡ã«ããºã ãç解ã§ããããã«ããæ å ±ãåŸã ã«èç©ããããšãã§ããŸãããããã«ã€ããŠã¯ã以äžã§å€å°ç°¡ç¥åãã圢ã§èª¬æããŸãã
ããã°ã©ããŒã®é»æºããªã³ã«ãªããšããã®çµã¿èŸŒã¿ããŒãããŒããŒïŒæ¡ä»¶ä»ãã§ãŒãïŒãARMãã€ã¯ãã³ã³ãããŒã©ãŒã§åäœãéå§ããŸããããã¯ãSPI FLASHããå¥ã®ããŒãããŒããŒãå éšRAMã«ããŒããïŒæåã«åŒã³åºããŸãããïŒããã®RAMãã¢ãã¬ã¹0ã«åãããã³ã°ããå¶åŸ¡ãæåã®ããŒãããŒããŒã«è»¢éããŸãã éå§ãããšãæåã®ããŒãããŒããŒã¯ARM-e SDRAMã®ã³ã³ãããŒã©ãŒãæ§æããå€éšRAMãã¢ãã¬ã¹0x20000000ã«æ¥ç¶ããåãSPIãã©ãã·ã¥ããå¥ã®ããŒãããŒããŒãäžæžããïŒ2çªç®ã«åŒã³åºããŸãããïŒãå¶åŸ¡ã転éããŸãã 2çªç®ã®ããŒãããŒããŒã¯ããã¹ããšéä¿¡ããããã«å€éšUSBã³ã³ãããŒã©ãŒããããæ§æããããã°ã©ããŒã®ååãšãã¡ãŒã ãŠã§ã¢ããŒãžã§ã³ã䜿çšããŠLCDç»é¢ã«æååã衚瀺ããç¬èªã®AE801 IDããããšéä¿¡ãããã®çµæããã¹ãããã®ã³ãã³ãåŠçã®ãµã€ã¯ã«ã«å ¥ããŸãã
åã¿ã€ãã®ã¡ã¢ãªãããã䜿çšããããã«ãã¢ã«ãŽãªãºã ãšåŒã°ããç¬èªã®ARMãã€ã¯ãã³ã³ãããŒã©ãŒçšã®ãã¡ãŒã ãŠã§ã¢ãäœæãããŠããŸãã ã¢ã«ãŽãªãºã ãã¡ã€ã«ã®æ¡åŒµåã¯ãusbãã§ãããã€ã³ã¹ããŒã«ãããããã°ã©ã ãšãšãã«ãã£ã¬ã¯ããªãalgoXãã®ãã¹ãã«ä¿åãããŸãã ãlibããã£ã¬ã¯ããªã«ã¯ãXILINXãããã®ãã¡ãŒã ãŠã§ã¢ãšãwlsãæ¡åŒµåã®ãã¡ã€ã«ãå«ãŸããŸãããããã®ãã¡ã€ã«ã«ã¯ãããã°ã©ããŒããµããŒãããåããããžã®æãŸããã¢ã«ãŽãªãºã ã®å¯Ÿå¿ããã®ãããã«å¿ èŠãªã¢ããã¿ãŒã®ã¿ã€ããåãããã®è¿œå ãã©ã¡ãŒã¿ãŒã«é¢ããæ å ±ãå«ãŸããŠããŸãã ããšãã°ããã®äŸçµŠé»å§ãããã°ã©ãã³ã°é»å§ãªã©ã
ãœãããŠã§ã¢ã§ããããéžæãããã察å¿ããã¢ããã¿ãŒãããã°ã©ããŒã«ã€ã³ã¹ããŒã«ãããŠããããšã確èªããå¿ èŠããããŸãã ãããè¡ãããã«ããã¹ãã¯ã³ãã³ããããã°ã©ãã«éä¿¡ããŸã-ããã«ã€ã³ã¹ããŒã«ãããŠããã¢ããã¿ãªã©ã®ãªã¯ãšã¹ãã ããã°ã©ããŒã¯ãã¢ããã¿ãŒã«AE801ãããã®ã¿ã€ããèŠæ±ããç¹å¥ã«åœ¢æãããå¿çããã¹ãã«éãè¿ããŸãã ãã¹ãäžã®ãœãããŠã§ã¢ã¯ããwlsããã¡ã€ã«ã®ã¢ããã¿ãŒã®ã¿ã€ããšå¿çããã®ã¢ããã¿ãŒã®ã¿ã€ããæ¯èŒããäžèŽããå Žåã次ã®ããŒãããŒããŒïŒ3çªç®ã«åŒã³åºããŸãããïŒã0x20020000ã®ããã°ã©ããŒïŒbinãã£ã¬ã¯ããªãŒã«ãããloader.binããã¡ã€ã«ïŒã«éä¿¡ããŸãã 3çªç®ã®ããŒãããŒããŒã«å¶åŸ¡ã転éããåŸããã¹ãã¯ãã®å©ããåããŠããã®ã¿ã€ãã®ãã€ã¯ãåè·¯ã«å¯Ÿå¿ããã¢ã«ãŽãªãºã ãã¢ãã¬ã¹0x20000000ïŒãusbããã¡ã€ã«ïŒãXILINXã®ãã¡ãŒã ãŠã§ã¢ã«ããŒããããã®çµæãããŒããããã¢ã«ãŽãªãºã ã«å¶åŸ¡ã転éããŸãã ããã€ãã®ããŒããŠã§ã¢èšå®ã®åŸãã¢ã«ãŽãªãºã ã¯ãã¹ãããã®ã³ãã³ãåŠçã®ãµã€ã¯ã«ã«åã³åé¡ãããŸãã äžéã®3çªç®ã®ããŒãããŒããŒã¯ãåãã¢ãã¬ã¹0x20000000ã§äœæ¥ã¢ã«ãŽãªãºã ãæ¯åããŒããããããã«ããããã«ã®ã¿å¿ èŠã§ãã
ãœãããŠã§ã¢ã§å¥ã®ããããéžæãããšãããã°ã©ããŒã«ã€ã³ã¹ããŒã«ãããã¢ããã¿ãŒãªã©ã®ãã¹ãããã®èŠæ±ããéå§ããŠãäžèšã®æé å šäœãç¹°ãè¿ãããŸãã
ããã°ã©ããŒã«ããŒããããã¢ã«ãŽãªãºã ããã¹ãããã³ãã³ãåŠçãµã€ã¯ã«ã«å ¥ããšããããã®ã³ãã³ãã«ãã£ãŠã®ã¿ããã以éã®ãã¹ãŠã®ã¢ã¯ã·ã§ã³ãã¢ã¯ãã£ãã«ãªããŸãã ã€ãŸãããã¹ãããã¹ã¿ãŒã«ãªããããã°ã©ããŒãã¹ã¬ãŒãã«ãªããŸãã ã¢ããã¿ãŒããã®AE801ãã€ã¯ããµãŒãããã¯ããã°ã©ããŒã«å¯ŸããŠã¹ã¬ãŒãã§ãããã¢ã¯ãã£ãHighã¬ãã«ãã¬ãã°7ïŒCSïŒã«é©çšãããåŸã4 MHzã¯ããã¯ã¬ãã°6ãããã°ã©ããŒããã®ã³ãã³ãåŠçãµã€ã¯ã«ã«å ¥ããŸãã AE801ãããã®ã¬ãã°3ã¯ãæåã¯ããã°ã©ãããã³ãã³ããåä¿¡ããããã«æ§æãããŠããŸãã 次ã®ã³ãã³ããéä¿¡ããåŸãããã°ã©ãã¯åä¿¡çšã®ããŒã¿ã©ã€ã³ãèšå®ããAE801ã¯ããããã¬ãã°3ãéä¿¡ã«è»¢éããããŒã¿ãããã°ã©ãã«éä¿¡ããŸãã ãããã£ãŠãããŒã¿ã¯ã¢ããã¿ãŒã®AE801ãšããã°ã©ããŒã®éã§äº€æãããŸãã ãã¶ãŒããŒãäžã®å éšAE801ãšããã°ã©ãéã®ããŒã¿äº€æã¯ããŸã£ããåãæ¹æ³ã§è¡ãããŸãã
æ²»ç
ãã®ãããDXã·ãªãŒãºã¢ããã¿ãŒã®ä¿è·ã¡ã«ããºã ã®æ€èšã«çŽæ¥åãçµã¿ãŸããã
åã«è¿°ã¹ãããã«ãäžå¿ èŠãªè©³çŽ°ã§èšäºãéè² è·ã«ããªãããã«ãããã§ã¯ç§»åãããã¹ã®çé«ã®ã¿ãæäŸããŸã-ããã°ã©ããšIDãããAE801ã®éã®ããŒã¿äº€æããã»ã¹ã®èª¬æã
ãã®èª¬æã§äœ¿çšãããçšèªïŒ
- ãèããšããçšèªã¯ãAE801ãããã®å¯Ÿå¿ãã端åãæããŸãã
- ãã€ãæ°-1ããå§ãŸããŸãã
- æ¯åãç¹å®ã®ãã€ãæ°ããã€ã¯ãåè·¯ã«éä¿¡ããããã°ã©ããŒã¯ãåä¿¡ããããŒã¿ã©ã€ã³ã転éãããã®ããŒã¿ãåä¿¡ãããã€ã¯ãåè·¯ã¯ãã¬ãã°3ãéä¿¡ãªã©ã«åãæ¿ããŸãã ãããã£ãŠããããã®ã¹ã€ããã®èª¬æãšã¬ãã°3ã®èª¬æã¯è¡ããŸããã
- ãã¬ãŒã·ã§ã³ã¯ããããAE801ã«ä»£ãã£ãŠè¡ãããŸãã
1.ã¬ãã°7ãéã¢ã¯ãã£ããªäœã¬ãã«ã®å Žåãã¬ãã°3ãå ¥ãããã«èšå®ãããŠããããªã»ããç¶æ ãŸãã¯ã¹ãªãŒãç¶æ ã«ãªã£ãŠããŸãã
2.ããã°ã©ããŒãã¢ã¯ãã£ããã€ã¬ãã«ãããã7ã«éä¿¡ãããšãïŒ4 MHzã¯ããã¯åšæ³¢æ°ãããã6ã«é©çšãããïŒãããã°ã©ããŒã«ã©ã³ãã ãª6ãã€ãã転éããå¿ èŠããããŸãã
æšæºã©ã€ãã©ãªCããä¹±æ°ãŸãã¯ãããæ¬äŒŒä¹±æ°ãçæããããã®ã¢ã«ãŽãªãºã ã䜿çšããã«ã¯ãæåã«srandïŒïŒã³ãã³ããåŒã³åºããå ¥ååŒæ°ãšããŠç¹å®ã®çªå·ãæž¡ãå¿ èŠããããŸããããã䜿çšããŠãrandïŒïŒã³ãã³ãã®ååŒã³åºãã次ã®å€ãè¿ããŸããã®æ°ã®æ¬äŒŒã©ã³ãã ã·ãŒã±ã³ã¹ã«ãã£ãŠå®çŸ©ãããŸãã PCã§ã¯éåžžãsrandïŒïŒã®ãšã³ããããŒã®ãœãŒã¹ãšããŠtimeïŒïŒã䜿çšãããŸãããåçŽãªãã€ã¯ãã³ã³ãããŒã©ãŒã§ã¯ãååãšããŠãªã¢ã«ã¿ã€ã ã¯ããã¯ã¯ãªãããã®åé¡ã¯ãããšãã°EEPROMã§ãªã»ããããåŸã«æ¯åsrandïŒïŒã®æ°ããå€ãä¿åããããšã§è§£æ±ºã§ããŸã ã»ãšãã©ã®å Žåãããã¯ãŸãã«AE801ã§å®è£ ããããã®ã§ãã æŠããŠãäžè¬çã«ä¹±æ°ãçæããå¿ èŠã¯ãããŸãããããã®åé¡ã®è§£æ±ºçã¯èå³æ·±ãããã«èŠããŸããã
ãããã¿ã€ãAE801ããã€ã¯ãããããã€ã¯ãã³ã³ãããŒã©ãŒã«å®è£ ãïŒãã®æç¹ã§ã¯æå ã«ãããŸããïŒã8 MHzã®åšæ³¢æ°ã§ç¬èªã®å éšãžã§ãã¬ãŒã¿ãŒã§åäœããããã«å¯ŸããŠãã³6ã«å°éãã4 MHzã®å€éšåšæ³¢æ°ã¯èš±å®¹å¯èœã§ããïŒãããŠãããããå¯äžã®ïŒãšã³ããããŒã®æºã
ããã°ã©ã ã®ã¬ãã°6ã¯ããžã¿ã«å ¥åãšããŠäœ¿çšãããã«ãŒããã16ããããèªã¿åãããŸãããããã¯srandïŒïŒã¡ãœãããžã®éä¿¡ã«å¿ èŠã§ããã
3.ããã°ã©ããã9ãã€ããååŸããåä¿¡ãã6ãã€ãç®ãããã°ã©ãã«éä¿¡ããŠåä¿¡ã確èªããŸãã
4.ããã°ã©ããã5ãã€ããååŸããŸãã åä¿¡ãã5ãã€ãã®æåã¯ãã®ãŸãŸããã°ã©ãã«éä¿¡ãããæ®ãã®4ãã€ãã¯RSAã¢ã«ãŽãªãºã ã䜿çšããŠ4ã€ã®16ãããã¯ãŒãã§æå·åãããåä¿¡ãã8ãã€ããããã°ã©ãã«éä¿¡ããŸãã ããã«ãæå·ååŸã«åä¿¡ããåã¯ãŒãã«å¯ŸããŠãæåã«äžäœãã€ããéä¿¡ããã次ã«äžäœãã€ããéä¿¡ãããŸãã çµè«ãšããŠãåä¿¡ãã5ãã€ãã®æåã®ãã€ããããäžåºŠããã°ã©ãã«éä¿¡ããŸãã åèš10ãã€ãã
æå·åã¢ã«ãŽãªãºã ãšããŠã63ã847ãããã³2773ãšããéåžžã«çãããŒãæã€RSAã䜿çšãããŸããã
ã¢ã«ãŽãªãºã ãã¡ãŒã ãŠã§ã¢ã§ã¯ãRSAã®èšç®ã«2773åã®å埩ãµã€ã¯ã«ã䜿çšãããŸãã ãã ããæå·åã®å ¥åçªå·ã¯1ãã€ãã§ãããåºåã¯2ãã€ãã¯ãŒãã§ãããããRSAã®èšç®ãç°¡çŽ åããããã«ã256ã¯ãŒãã®ããŒãã«ãäœæãããè¿œå ã®512ãã€ãã®ããã°ã©ã ã¡ã¢ãªãå¿ èŠã«ãªããŸããã
RSAããŒãã«
{ 0x0000, 0x0001, 0x03d0, 0x0640, 0x059d, 0x045f, 0x0191, 0x020b, 0x0863, 0x0209, 0x0933, 0x0489, 0x017f, 0x0168, 0x00d8, 0x0717, 0x0741, 0x0315, 0x040d, 0x0368, 0x0984, 0x084f, 0x06d8, 0x0832, 0x08b2, 0x0602, 0x07aa, 0x06a4, 0x0044, 0x086f, 0x08da, 0x07cd, 0x067f, 0x099f, 0x0797, 0x0086, 0x0ab4, 0x0088, 0x09e6, 0x07c5, 0x0433, 0x082a, 0x06d4, 0x00d0, 0x06f8, 0x029d, 0x0496, 0x04f5, 0x0525, 0x06ef, 0x037f, 0x02ad, 0x0606, 0x0133, 0x03b2, 0x0573, 0x0a1d, 0x017d, 0x09ad, 0x0674, 0x05ff, 0x0745, 0x097a, 0x02d9, 0x0373, 0x02f3, 0x09a6, 0x0402, 0x0969, 0x05be, 0x01c5, 0x0ab7, 0x042c, 0x074c, 0x0965, 0x047d, 0x0989, 0x0a81, 0x00a4, 0x00fd, 0x03ee, 0x099c, 0x0695, 0x05ee, 0x028d, 0x0435, 0x0243, 0x07df, 0x09d1, 0x07ee, 0x0509, 0x09b9, 0x023f, 0x02c0, 0x06fa, 0x098d, 0x05d5, 0x0499, 0x0800, 0x016f, 0x0019, 0x0410, 0x010b, 0x01ab, 0x07ea, 0x036f, 0x0094, 0x004e, 0x0a64, 0x06b9, 0x0abe, 0x051a, 0x0295, 0x0078, 0x0112, 0x06a8, 0x08dd, 0x06e9, 0x04d7, 0x08c3, 0x02e4, 0x00f3, 0x0015, 0x09e7, 0x0967, 0x06e2, 0x0650, 0x0508, 0x0882, 0x0028, 0x07f3, 0x00b7, 0x03d7, 0x0504, 0x0143, 0x0016, 0x0995, 0x08b5, 0x0437, 0x0763, 0x04c5, 0x0234, 0x04c7, 0x07da, 0x09bd, 0x027e, 0x051b, 0x01c0, 0x052a, 0x0544, 0x046c, 0x078c, 0x0199, 0x0299, 0x04b6, 0x094a, 0x07d3, 0x053c, 0x0083, 0x017b, 0x00d6, 0x077f, 0x090b, 0x0475, 0x00ab, 0x09cc, 0x0312, 0x0603, 0x0907, 0x07fa, 0x00b9, 0x0909, 0x0889, 0x0360, 0x0247, 0x00cc, 0x054c, 0x0213, 0x054e, 0x0a44, 0x0767, 0x07b0, 0x0074, 0x087b, 0x041e, 0x098a, 0x087d, 0x03ab, 0x069c, 0x06cc, 0x0604, 0x095f, 0x053f, 0x0954, 0x02da, 0x06d1, 0x08f0, 0x09bf, 0x01db, 0x039e, 0x08a8, 0x0ac5, 0x007a, 0x0222, 0x0a8f, 0x042f, 0x0322, 0x01f0, 0x00e3, 0x00f7, 0x0417, 0x09aa, 0x00fc, 0x077a, 0x04e9, 0x0a21, 0x0278, 0x06f7, 0x07ef, 0x08e7, 0x09cd, 0x04aa, 0x0739, 0x09e3, 0x0708, 0x0a72, 0x028e, 0x04a6, 0x04c0, 0x021b, 0x081d, 0x05c5, 0x069a, 0x05bc, 0x06ca, 0x00eb, 0x00ec, 0x0a9b, 0x04f7, 0x07a2, 0x04ec, 0x0338, 0x05b7, 0x0459, 0x043d, 0x02f5, 0x0284, 0x023b, 0x01f5, 0x0979, 0x01c4, 0x027b, 0x0868, 0x043c, 0x0397, 0x048f };
5.ããã°ã©ããã1ãã€ããååŸããããŒã«ãŒãšããŠä¿åããŸãã ãã®åŸãã©ã³ãã ãª4ãã€ããããã°ã©ããŒã«éä¿¡ããŸãã ãããã®4ãã€ããåä¿¡ããããã°ã©ããŒã¯ãã»ã¯ã·ã§ã³4ãšåãæ¹æ³ã§ãåãRSAã¢ã«ãŽãªãºã ã䜿çšããŠããããæå·åããçµæã®8ãã€ããåãé åºã§éä¿¡ããŸãïŒæåã«åãã€ãã®äžäœãã€ãã次ã«äžäœãã€ãïŒã ãããã®8ãã€ããåä¿¡ããããããã°ã©ããŒãã¿ã¹ã¯ã«å¯ŸåŠãããã©ããã確èªããè¯å®çãªå¿çã®å Žåã¯ã以åã«åä¿¡ããããŒã«ãŒãéä¿¡ããå¿ èŠããããŸãã
6.ããã°ã©ããã1ãã€ããååŸããåã³ããŒã«ãŒãšããŠèšæ¶ããŸãã 次ã«ãããšãã°ãbuf11-é åå ã«11ãã€ãã®ã©ã³ãã ãã€ãã圢æããåŸç¶ã®ã¢ã¯ã·ã§ã³ã®ããã«ä¿åããŸãã 次ã«ããããã®11ãã€ããããã°ã©ããŒã«cãªæ¹æ³ã§éä¿¡ããŸãã ç§Theã¯ã88ãã€ããããã°ã©ããŒã«éä¿¡ããå¿ èŠãããããšã§ããããã°ã©ããŒã¯ãäœæãã11ãã€ããããã¯ããããŒã«ãŒã®æäžäœãããã䜿çšããŠãéä¿¡ããã11ãã€ããå転ããŸãã ããã°ã©ãã«88ãã€ããéä¿¡ããåŸãåä¿¡ããããŒã«ãŒãããã°ã©ãã«éä¿¡ããŸãã
Cã®ãã¿ã³ãŒã
byte _mark; // . byte _buf11[11]; // 11- . for( i=0; i<11; i++ ) { byte bt = rand(); _buf11[i] = bt; if( _mark & 1 ) bt = ~bt; // 8. // for( j=0; j<8; j++ ) { byte rnd = rand(); byte msk = ( 1 << j ); if( bt & msk ) rnd |= msk; else rnd &= ~msk; // rnd . // ( rnd ); } } // . // ( _mark );
7.ããã°ã©ããã1ãã€ããååŸãã4ã€ã®éšåã§æ§æããã133ãã€ãã®é åããã®äžã«éããŸãã
æåã®éšå-ã¢ããã¿ã®ã¿ã€ããšãã®ã幎霢ãã«é¢ããæ å ±ãå«ã48ãã€ãã¯ããã€ãã£ãã¢ããã¿ãDX0001ãããååŸãããããã¹ããDX0001ãã¯ãDX1011ãã«çœ®ãæããããŸããã
ã¢ããã¿ãŒID
{ 'D', 'X', '1', '0', '1', '1', 0xff, 0xff, 0xff, 0xff, '1', '6', '0', '6', '2', '4', 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0xff, 0xff, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
2çªç®ã®éšåã¯16ã®ã©ã³ãã ãã€ãã§ãã
3çªç®ã®éšåã¯22ãã€ãã§ãbuf11ã«ä»¥åã«æ ŒçŽããã11ãã€ãããç¹å¥ã«åœ¢æãããŸãã
Cã§22ãã€ããçæããããã®ã³ãŒã
byte _buf22[22]; const byte _hash[] = { 0x58,0x3E,0x09,0x2D,0xFD,0x45,0x68,0x10,0xD5,0x25,0xC7,0xB8,0x28,0x93,0x75,0xDE, 0x57,0x02,0x1E,0x24,0x36,0xB6,0x3A,0x59,0x11,0x6E,0x58,0x91,0xAE,0x53,0x69,0xDF, 0x44,0xA4,0x8B,0xFB,0x76,0x91,0x59,0x3C,0x30,0xB9,0xDA,0x21,0xD8,0x05,0xB4,0x16, 0x4C,0x05,0x78,0x8D,0xB5,0x1C,0x41,0x63,0x4C,0xBE,0xA6,0xCC,0x65,0xB8,0x38,0x1D, 0xE7,0xC6,0xC9,0x19,0xB7,0x73,0xB2,0x7D,0xCD,0x54,0xDC,0xFE,0x67,0x5E,0x79,0x68, 0xB8,0x77,0x73,0x37,0xC8,0x56,0xA2,0x4D,0x9B,0x86,0x56,0x3F,0x26,0x39,0xDE,0xF6, 0xA8,0x13,0xB4,0xBA,0x19,0xDE,0xDF,0x08,0x64,0x2A,0x9F,0xA4,0x3E,0xEE,0x90,0x5B, 0xF0,0xF3,0xC6,0x5F,0x1F,0x84,0x87,0xA3,0x94,0x0D,0x04,0x92,0xDC,0x3C,0xD0,0x6A, 0xD6,0x9B,0xA9,0xED,0x02,0xB0,0xB3,0xBB,0xF3,0x17,0x04,0x93,0x8F,0x18,0x22,0x9B, 0x33,0x0F,0x2A,0x4C,0x72,0x1A,0x0F,0xC2,0x3E,0x4C,0x77,0xAA,0xF2,0x04,0xDC,0x60, 0x68,0x81,0x7B,0x7C,0x60,0xE7,0xD3,0x61,0x3A,0xDA,0x69,0x4A,0x14,0x5A,0xB7,0x31, 0x9F,0xB5,0x60,0x61,0xB4,0x2D,0x80,0x10,0xCF,0x16,0x6B,0xF1,0x08,0x81,0xDA,0x12, 0xA6,0x46,0xF2,0xA2,0x14,0x68,0xAA,0x48,0x94,0x8B,0x9D,0xE3,0xD0,0xFB,0x84,0x74, 0x1C,0x3C,0x94,0x5A,0x3F,0xF0,0x37,0x8C,0xD9,0x7E,0xA7,0x38,0xA4,0xB5,0xA7,0x25, 0x65,0x15,0x7F,0xE5,0x3B,0xD1,0x14,0x1E,0xD3,0xA8,0x47,0x2E,0xD8,0xEB,0xB0,0xAE, 0x4F,0x34,0xF4,0x52,0xC7,0x23,0x9D,0x60,0x98,0x1E,0x2C,0xFC,0xF2,0x96,0xB7,0x83 }; void PrepareBuf22() { byte i, j, bt, bt1, bt2, bt3; for( i=0; i<4; i++ ) _buf22[i] = rand(); bt2 = (_buf22[1] ^ _buf22[2] ) & 0xEF; bt3 = _buf22[1] ^ _buf22[3]; _buf22[4] = (byte)((_buf22[0] + _buf22[1] + _buf22[2]) ^ _buf22[3]); _buf22[1] ^= ( 1 << (_buf22[2] & 7) ); bt = _buf22[2]; bt1 = _buf22[0]; i = 0; while( i < 10 ) { bt += _buf11[i++]; bt1 += _buf11[i++]; } _buf22[5] = bt; _buf22[6] = bt1; // ---------------------------------------------------------------- _buf22[7+11] = 0; _buf22[7+12] = 0; for( i=0; i<10; i++ ) { _buf22[7+11] += _buf11[i]; _buf22[7+12] ^= _buf11[i]; } _buf22[7+11] ^= _buf11[9]; _buf22[7+12] ^= _buf11[10]; _buf22[7+13] = (_buf22[7+11] + _buf11[10]) ^ _buf22[7+12]; _buf22[7+14] = (_buf22[7+13] + _buf11[9]) ^ _buf22[7+12]; for( i=0; i<15; i++ ) { bt = (_buf22[7+i] ^ _hash[bt2+i] ); bt = (bt << 2) | (bt >> 6); bt ^= bt3; _buf22[7+i] = bt; } }
4çªç®ã®éšåã¯ã47ãã€ãã®ã©ã³ãã ãã€ãã§ãã
8. 133ãã€ãã®é åãéä¿¡ããåŸããã€ã¯ãåè·¯ã¯ã¬ãã°7ã«æ¬¡ã®ã¢ã¯ãã£ããªé«ã¬ãã«ãçŸãããŸã§ã¹ãªãŒãç¶æ ã«ãªãããã¬ãã°7ããªã»ããä¿¡å·ã®å Žåã¯èªåçã«ãªã»ããç¶æ ã«ãªããŸãã ãããŠããã©ã°ã©ã2ãããã¹ãŠãç¹°ãè¿ãããŸãã
ååãããæ£è ã®æœåºç©
æçµçã«ãCX1011ã¢ããã¿ãŒã¯å®å šã«èšçœ®ãããæ°ããããã°ã©ããŒã«ç¬¬äºã®äººçããããããŸããã
ãã®èšäºã®å 容ããèªè ãä»ã®ãå€ããã¢ããã¿ãŒãå®å šã«åŸ©æŽ»ãããããããç¬èªã®ã¢ããã¿ãŒãäœæããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã