![](https://habrastorage.org/storage2/eb8/f2e/997/eb8f2e997659469fa1b22595e854d6a8.jpg)
æ¬è³ª
LinuxãŸãã¯WinCEãã€ã³ã¹ããŒã«ã§ããæé ãªäŸ¡æ Œã®ARMããã³MIPSãœãªã¥ãŒã·ã§ã³ã®åºçŸã«ãããã¢ããã¥ã¢ã®åã蟌ã¿ã¯è³ªçã«æ°ããã¬ãã«ã«éããŸããïŒäžè¬ã«ãé·ãéååšããŠããŸããããä»æ¥ã®ãããªå€§èŠæš¡ã§ã¯ãããŸããïŒã éx86ã¢ãŒããã¯ãã£ãåããéåžžã«äººæ°ã®ããAndroidãªã©ã®å€§èŠæš¡ãªãœãããŠã§ã¢è£œåã®åºçŸã«ãããé«éããŒããŠã§ã¢ã®äœäŸ¡æ Œãšãã圢ã§äžè¬ã®äººã ã«æ°ããªæ©äŒãéããã以åã¯NDAã®çœ²ååŸã«ç¬å çã«åºããããŠããæ å ±ãžã®ã¢ã¯ã»ã¹ãæäŸãããŸããã
ãããŠã.nixåã®éã¯èª°ã«ãšã£ãŠãè¯ãããã§ãïŒã«ãŒã¿ãŒãRaspberry PiãMK802ãªã©ã®ããŸããŸãªããã€ã¹ã å€ãã®å Žåã圌ãã¯çç£ããã³ããŒã ããã»ã¹ããããããã³ãŒããŒã¡ãŒã«ãŒãæäœããŸãã ããããå€éšã®åœ±é¿ã«å¯Ÿããåå¿é床ãé ããããåã蟌ã¿ã§ã®ãã®ãããªã·ã¹ãã ã®äœ¿çšã¯å€å°å¶éãããŸãã ãã®ãããªããã€ã¹ã«å®å šã«ååšããªããã®ãããªæ©èœïŒ 1åãŸãã¯2åã®ç¹æ®ãªãœãªã¥ãŒã·ã§ã³ã§ã¯ãªããæ¶è²»è²¡ãæå³ããŸãïŒã«ã¯ãç·æ¥ã·ã£ããããŠã³ãåããPWMãé«éPIDã³ã³ãããŒã©ãŒãçŽäº€ãšã³ã³ãŒããŒåŠçãªã©ãå«ãŸããŸãã ãããã¯ãã¹ãŠãããçšåºŠã®ãªã¢ã«ã¿ã€ã ãå¿ èŠãšããŸãã
çèãè¿œå ããããã€ãã®æ¹æ³ã®ç°¡åãªèª¬æãå°ãã®çè«ãå人çãªèãããããŠãã¡ãããã«ããã®äžã§ã®ç§ããã®æ±ºå®ã
ããŒã1 çè«ãšåç
ãã¹ããŒãããããè匱ãã®åé¡ã解決ããæ¢åã®éã®æ¹æ³ãèŠãŠã¿ãŸãããã ãã®ãããªéã«ã¯ããã€ãã®ãªãã·ã§ã³ããããŸãïŒ
1. 74xxã40xxããã³ãã®ä»ã®å€è
ããžãã¯ã ãŸãã«ããžãã¯ã
è«çæ©èœãæ¡åŒµããããã®å®çžŸã®ãããªãã·ã§ã³ã
åçŽãªããžãã¯ã䜿çšãããšãè€æ°ã®ä¿¡å·ã1ã€ã«åéãã1ã€ãè€æ°ã«è§£æããŠããŽãããæ¶åå¯èœãªä¿¡å·ã圢æã§ããŸãã ãããŠã圌ã¯ããããã¹ãŠéåžžã«è¿ éã«è¡ããŸãã
ãã®æ¹æ³ã®æ¬ ç¹ã¯ãåè·¯ã®å¯žæ³ã倧ããããšã§ãããè€éããå¢ããšä¿¡ããããªãã»ã©ã®ãµã€ãºã«æé·ããåŸåããããŸãã
ãã€ã³ã2ã¯æåããç¶ããŸãããç§ã¯ãããåºå¥ããŸãã
ãããããžãã¯ã§ãããããžãã¯ã¯ããã°ã©ã å¯èœã§ãã
2. CPLDããã³FPGA
æ©èœã®éæ¡åŒµã®ãã®æ¹æ³ã®æ¬ ç¹ã¯äºå®äžãããŸããã ããã¯å®éã«åºãŸã£ãŠããŸãããããªãé«ããšã³ããªãããå€ãè ºã®ããªãé«ãäŸ¡æ Œãããã³ããã€ãã®ïŒãããŠFPGAã®å Žåã¯éåžžã«å ·äœçã§ãïŒæªç©ã¯ãããªãããããããæ°ããŠæ°åããã³æ°çŸã®è«çã¬ãã«ãæ瞊ããå¿ èŠããªãå Žåããã®ã¢ãããŒãã®äœ¿çšãèš±å¯ããŸããã
ã¹ããŒãããŒããŠã§ã¢ã¯RS-232ãŸãã¯SPIãä»ããŠæ£åžžã«éä¿¡ããããã«ãã¬ãŒãã³ã°ãããŠãããGPIOãä»ããŠã¯ããŸãé²ãã§ããªããããå¿«é©ãªçµè«ãäžãããšã¯ã§ããŸãããæããªé«éããžãã¯ãã¹ããŒãã¹ããŒãã¹ããšéä¿¡ããã«ã¯ãå¥è·¡ã®ããã€ã¹ãå¿ èŠã§ãã
![](https://habrastorage.org/storage2/c32/7f4/938/c327f493894638b64822737a8ff0cf00.png)
çæ¯å°ã®é©ç°
å¥è·¡ã®ããã€ã¹ã¯ããã¹ããç解ã§ãããã¹ãããã³ãã³ããåä¿¡ããããžãã¯ãç解ã§ãã圢åŒã§ã³ãã³ããçºè¡ããããžãã¯ã«äŸ¿å©ãªåœ¢åŒã§ããŒã¿ãåä¿¡ãããã¹ãã«äŸ¿å©ãªåœ¢åŒã§éä¿¡ã§ããå¿ èŠããããŸãã
ãã®æè¡ã¯ããæ··ä¹±ããŸãããæããªéãã¹ããŒãã«äŒããããã»ã¹ãå®å šã«èª¬æããŠããŸãã
å¥è·¡çãªããã€ã¹ãšããŠãã€ã¯ãã³ã³ãããŒã©ãŒã䜿çšããã®ãäžè¬çã§ãïŒFPGAã®å Žåãå€ãã®å Žåããããªãã§å®è¡ã§ããŸãïŒã
3.ãã€ã¯ãã³ã³ãããŒã©ãŒ
ãã¡ããããã€ã¯ãã³ã³ãããŒã©ãŒã§ãïŒ ãã®ãªãœãŒã¹ã¯ãã«ãŒã¿ãŒããæãã¹ããŒããã«ããã€ã¯ãã³ã³ãããŒã©ãŒãå€éªšæ ŒãšããŠæž¡ããå äŸãèŠãŠããŸããã ãŸããAndroidãArduinoãŸãã¯STM32ãšäº€å·®ãããåŸåã¯ãããæ°é±éã§éåžžã«é¡èã«ãªããŸããã å®éããã®åŸåã¯èšäºãæžãããä¿ããŸããã
ãã®åè·¯ã«MKãç»å Žããããšã§ãåŽååãšããŠã®ããžãã¯ã®é©çšãäžæ確ã«ãªããŸãããããã¿ã³ããªã¬ãŒãé»åå€æåšãããã³ãã®ä»ã®å¶åŸ¡ããã³å®è¡ããã€ã¹ãåããã·ã¹ãã ã§çºçããé»æ°ããã»ã¹ã綿å¯ã«èª¿ã¹ãŠããããžãã¯ãå®å šã«æŸæ£ãããããšã¯ãããŸããã
ãã®ãããªã±ãŒã¹ã®1ã€ã¯ãäžå®æ°ã®äžŠåå ¥åãæã€ãªãŒãããã³ã§ãã å ¥åã®æãŸããç¶æ ã決å®è«çã§ãããããã¹ãŠãŒããã®ããã«èŠããã ãã§ãªããäœããã®è€éãªåœ¢åŒãæã£ãŠãããšããŸãã ãã®å Žåããã€ã¯ãã³ã³ãããŒã©ã«ã¯ãäœæ¥ãµã€ã¯ã«ã§ãã®éåžžã«å€ãã®å ¥åãç£èŠãã以å€ã«éžæè¢ããããŸãã...ä»ã«ã¯äœãããŸããã ãŸãããã®ç¹å®ã®å Žåã§ãããã€ã¯ãã³ã³ãããŒã©ã¯åçã®ããã©ãŒãã³ã¹ãæäŸããŸãããããã¯ãããŒãã®ç¶æ ã®åã ã®å€åã«å¿ããŠããã¯ãã³åäœã§åå¥ã«ã¢ãããŒããããããã§ãã 圌ã¯æåã«å²ã蟌ã¿ãåŠçããããŒãïŒãŸãã¯è€æ°ïŒã®å 容ãèªã¿åããã¹ããŒã¿ã¹ãæ¢ããŠãããã®ãšæ¯èŒããå±¥æŽæžãããŒãã«æžã蟌ãå¿ èŠããããŸãã ã·ã³ã°ã«ãµã€ã¯ã«ããã€ã¹ã§ããããã®ããã»ã¹ã«å€ãã®æéãè²»ãããŸãã åçŽãªè«çåè·¯ã¯ããã®åé¡ãç¡å·®å¥ã«è§£æ±ºããŸãã 圌女ã¯åžžã«è¿ éãã€æ確ã«åããŸãã
ããŒã2 ãŸãã¯ã©ã®ããã«ç§ã¯ãã®ãããªäººçã«æ¥ãã®ã
æ¬çªç°å¢ã§ãçç£åŠšå®³ã®ãœã«ããŒããšããŠåããŠããéãäœããã¯ãã ä»ãããããã°ã©ã ãããã©ãã·ã¥ããå¿ èŠæ§ã«ãã°ãã°å¯ŸåŠããªããã°ãªããŸããã§ããã ãªã¶ãŒãã¿ã³ã¯ã«æ°Žãè£å ããããã®ãã«ããå¶åŸ¡ããå Žåã§ããæå®ã®ããã°ã©ã ã«åŸã£ãŠå ç±ãã³ããèªåã§åãæ¿ããå Žåã§ãããããã¯MKäžã«æ§ç¯ãããèªåŸåããã€ã¹ã§ããã ãããŠããããã®å å²æ代ïŒ5ã6幎åïŒã«ã¯ãç£æ¥çšPLCãšMKã®å³èããã€ã¹ä»¥å€ã«å©çšã§ããèªååãªãã·ã§ã³ã¯ã»ãšãã©ãããŸããã§ããã
åæããŸãããã³ããæäŸããããã°ã©ã ïŒæ°Žäœãäœãå Žåã¯ãã³ã-é«ãå Žåã¯ãã³ãããªãïŒã¯ãPLCå šäœã§100ãã«ä»¥äžã®äŸ¡å€ããªãããã§ãã 粟åçãªåè·¯èšèšè ã®ã³ã¡ã³ããæåŸ ããŠãç§ã¯MKããã®ããã°ã©ã ã®åé·ãªåè£ã§ãããšå®£èšããããšãæ¥ãã§ããŸãããã¢ããã°åè·¯ãããåŠå®ã§ããªãå©ç¹ããããŸã-人éãããã°ã©ã å¯èœãªæéãšãããå€ïŒã³ã³ãã³ãµãšæµæã«æ°åŠã®éæ³ãé©çšãã代ããã«ïŒã
ãããŠãæãããªç¯çŽã«å ããŠã裞ã®MKãåé¡ã解決ããããã«éžæãããã®ã§ãã¯ãã ä»ãã®åœ¢ã§æãããªã¹ããããåŸãŸãã ã³ã¹ããšåé¡ã®ãã©ã³ã¹ã¯ããœãªã¥ãŒã·ã§ã³ã®éžæã«ãããŠæ±ºå®çã§ããã ç¹ã«éèŠãªããã»ã¹ãšå£æªãªé»ç£æ¡ä»¶ã§ã®äœæ¥ã¯ãPLCã«ãã£ãŠãèªå®¶è£œã®äœæ¥ã«æ¬æãæãããšãªãä¿¡é ŒãããŸããã
20ãã«ã®æªåé«ãã«ãŒã¿ãŒã®ç»å Žã«ãããéèŠã§ã¯ãªãããã»ã¹ã®èªååãäžæ°ãããŸããã çµéšã¯2ã€ãããŸããã äžæ¹ã§ããããŒã®ããã«ãç§ã¯ã»ãšãã©äººéã®èšèªã§ç§ã«è©±ãã·ã¹ãã ãåŸãŸããã äžæ¹ãåºæ¬çã«ã¯èš±å®¹å¯èœãªã¬ãã«ã®é床ã§ãã£ã¹ã¯ãªãŒãä¿¡å·ãåŠçã§ããªãããã€ã¹ã ããã«ãããæ°ãããã¯ãããžãŒã®é©çšã«å¶éã課ãããŸããã STM32 Discoveryã«é¡äŒŒããarduinoã®ãããªãã¶ãŒããŒãã®ãããªãæ®åã«ããã8ã16ããŸãã¯32ãããMKïŒããã³ããžãã¯ããªãã¢ã³ãããã®ä»ã®ãã¢ã¡ã¿ã«ããŒããŠã§ã¢ïŒã®åœ¢åŒã®äœã¬ãã«ã®å€éªšæ Œãæã€Linuxããã€ã¹ã®æãäºåã«æ±ºå®ãããŸããã
ã·ã³ãã«ãªããã€ã¹ã¯ãæ°æ§ã®ã¹ããŒã ã«åŸã£ãŠäœæãããŸããã
1ïŒArduino Nanoã䜿çšãã
2ïŒã€ã³ãã©ã¹ãã©ã¯ãã£ãšã®ãã€ã³ã
3�??
4ïŒå©çïŒ
ãããŸã§ãšåæ§ã«ãããã¯ãã¹ãŠãªãã£ã¹ã§ã®äœ¿çšãšå€§éã®ç©ºãã¹ããŒã¹ãååšããå Žåã«ã®ã¿é©ããŠããŸããã ãŸãããã¡ãŒã ãŠã§ã¢ãæŽæ°ããå¿ èŠã®ãªãåçŽãªããã€ã¹ããã¢MKã§å®è¡ã§ããå Žåããã¡ãŒã ãŠã§ã¢ããã°ã®ããããã€ã¹ã«ãã¢MKãã€ã³ã¹ããŒã«ããã®ã¯æãã§ããïŒããããæšæ¥ã¯å¿ èŠã§ããïŒã ãŸãããã¡ãŒã ãŠã§ã¢ãã¢ããã°ã¬ãŒãããã«ã¯ãã¡ãŒã ãŠã§ã¢ãå¿ èŠã§ãã 第äºã«...ããããæåã®ãã€ã³ãã§ååã ã£ãã ç§ã¯éåžžãã©ã®ãããªåœ¢ã®ããã°ã©ããŒã奜ãã§ã¯ãããŸããã ç§ã«ãšã£ãŠãæé«ã®ããã°ã©ããŒã¯USBã¯ã€ã€ãŒã§ãã
ãããã®ãã¥ã¢ã³ã¹ã«å¯Ÿãã絶ãéãªãäžæºã¯ãçµ±äžãçµ±äžãçµ±äžãããšããçãããããªæ¬²æ±ãçã¿åºããŠããŸã...
ããŒã3ã 3é±éå
3é±éåãç§ã¯å¥ã®ãããžã§ã¯ãïŒç§ã®äž»ãªæŽ»åã¯é»åæ©åšã®å€§éçç£ïŒãçç£ãã次ã®ãããžã§ã¯ãã¯çŽ2é±éåŸã«çŸããŸããã ã€ã³ã¿ãŒãããã2é±éãã©ãŠãžã³ã°ããŸããïŒ ããŒã...é åç...ããããäœããç§ã®é ãæã¡ããçµ±äžããšããèšèãç§ã®èšæ¶ã«æµ®ãã³ãŸããã ãããŠã圌ãšå ±ã«ãå å²è ã®äººçã«å¯Ÿããå€ãäžæºã ãã®ãããªæ°ã®ããããããªã¡ã¢ã§ãç§ã¯èªåèªèº«ã«èª²é¡ãèšå®ããŸãããå°ãªããšã2é±éã§ãæ°ãããããžã§ã¯ãã®åã§ååãã«ãªãäœããäœæããFWMãæºãããå°ç人ã®ç掻ã®è³ªãæ¹åããããšã§ãã
ãã®ãããªéå¿çãªèšç»ãå®æœããããã«ãããã»ã©éå¿çãªéã¯å¿ èŠãããŸããã§ããã ãããŠãMicrochip瀟ã®çããµãŒã¯ã«ã§åºãç¥ãããŠãã補åã®äžã§çºèŠãããŸããã ããã¯æ¯èŒçæ°ããMK PIC16F1509ã§ãã ããã§ãç§ã¯çè«çãªäœè«ãããŠãçŸä»£äººã32ããã以å€ã®MKã䜿çšããäžå¯æåã®æ§è³ªã«ã€ããŠè©±ããªããã°ãªããŸããã
ã ãããåšèŸºã
æšæºã®åšèŸºæ©åšïŒUSART | SPI | I2Cã4xPWMã10ãããADCã5ãããDACã3ã¿ã€ããŒãæ°Žæ¶æž©åºŠã»ã³ãµãŒããããŠãã¡ããGPIOïŒã«å ããŠããšã³ããªãŒã¬ãã«MCã«ã¯èå³æ·±ãé©æ°ããããŸããã ãããã®ã€ãããŒã·ã§ã³ã¯ããã¡ãã·ã§ããã«ãª32ãããSTMãããã¡ãã·ã§ããã«ã§ãªã8ãããMicrochipãŸã§ã¹ã±ãŒã«ãæ確ã«åŸããŸããã
CLCïŒæ§æå¯èœãªè«çã»ã«ïŒ
MKãããäžã®ããã°ã©ã å¯èœãªããžãã¯ã
4ã€ã®ã¢ãžã¥ãŒã«ã®ããããã®åœ¢åŒã¯æ¬¡ã®ãšããã§ãã
![](https://habrastorage.org/storage2/122/32a/e45/12232ae45ae5658903693f6e85440d0a.png)
å·ŠåŽã«ã¯ãMKã®ç©çççµè«ãã¿ã€ããŒãã³ã³ãã¬ãŒã¿ãPWMããžã§ãã¬ãŒã¿ãŒããã®å²ã蟌ã¿ãããã³äžè¬çã«MKã®å éšãšå€éšã®å€ããæ¥ç¶ã§ãã4ã€ã®å ¥åããããŸãã 1ã€ã®ã¢ãžã¥ãŒã«ã®ãœãŒã¹ã®ã»ããã«ã¯16ã®ä¿¡å·ãå«ãŸããŠããŸããã4ã€ã®ã¢ãžã¥ãŒã«ã®ããããã®ã»ããã«ã¯éãããããŸãã ç¹ã«ãMKã®ããŸããŸãªç©çççµè«ã 次ã®å³ã¯ã¹ã€ããã§ãã ä¿¡å·ã¯ãçŽæ¥ãŸãã¯å転ããŠæ¥ç¶ã§ããŸãã ã¹ã€ããã®åŸã«ç¶ãORãšã¬ã¡ã³ãã®åºåãå¶åŸ¡ãããŸãïŒçŽæ¥/éïŒã å³ç«¯ã«ã¯ã¢ãžã¥ãŒã«åºåãããããããå転ããããMKã®ç©çåºåã«åºåããããCLCã®å ¥åã«å·»ãä»ããããšãã§ããŸãã åºåã¯ããšããžãŸãã¯ç«ã¡äžããïŒèšå®ã©ããïŒã§å²ã蟌ã¿ãçæããŸãã
èµ€ãé·æ¹åœ¢ã¯å€æŽå¯èœãªè«çé¢æ°ã瀺ããæ¢ã«æ瀺ãããŠããAND-ORã«å ããŠãããã«7ã€ã®ãªãã·ã§ã³ããããŸãã
![](https://habrastorage.org/storage2/06f/888/38b/06f88838be42ad538de40f7fe2b45159.png)
![](https://habrastorage.org/storage2/1e6/e7a/a9d/1e6e7aa9d26e6521e4e2c36d4a6a8f69.png)
![](https://habrastorage.org/storage2/a96/ed0/e03/a96ed0e039acafac4820d8765aadbcd2.png)
![](https://habrastorage.org/storage2/7cb/6a2/0ec/7cb6a20ec58b9d1b50e1f2041c193f2b.png)
![](https://habrastorage.org/storage2/aaa/30d/b84/aaa30db84cef3c17eb36a31a6feeb1f0.png)
![](https://habrastorage.org/storage2/224/ac3/382/224ac3382dcf1f85bdf29bbe5fd0e6e0.png)
![](https://habrastorage.org/storage2/5ca/a15/45e/5caa1545e80dce2fbf1c2cec62f7a966.png)
æ®å¿µãªããããã®èšäºã®ç®çã¯ããžã¿ã«åè·¯ã«é¢ããæè²ããã°ã©ã ã§ã¯ãªããããããã§ã³ã¡ã³ãããããšã¯ãããŸãããã€ã©ã¹ãã¯ããèªäœãç©èªã£ãŠããŸãã ãã®ãã¹ãŠã®ãšã³ãããŒã¯ãã¿ã€ããŒãGPIOãªã©ã®æãäžè¬çãªåšèŸºæ©åšãšããŠã¬ãžã¹ã¿ã«å€ãå¹³å¡ã«å²ãåœãŠãããšã«ãããã³ãŒãå ã§çŽæ¥æ§æãããŠããããšã«ã®ã¿æ³šæããŠãã ããã ãã®éåžžã«åçŽã§ã¯ãªãfigovinaã®æ§æã容æã«ããããã«ãGUIããããŸãã
![](https://habrastorage.org/storage2/c92/422/844/c9242284454890227ea928adc702f350.png)
GUIã䜿çšãããšããã¹ãŠãéåžžã«ç°¡åã«ãªããŸãã å³äžé ã«ã¬ãžã¹ã¿ã®å€ã衚瀺ãããŸãããæ¢è£œã®ã¢ã»ã³ãã©ãŒãŸãã¯Cã³ãŒããçæã§ããŸãã ç§ã¯ãã®å¥œå¥å¿ã®åŒ·ãåšèŸºã«æ»ãã次å䜿çšäŸãçŽæããŸãã èå³ã®ããæ¹ã¯ã ãã®ããŒãžãã芧ã«ãªãããšããå§ãããŸã ã
NCO ïŒæ°å€å¶åŸ¡çºæ¯åšïŒ
å®éãæ倧500 kHzïŒå éš16 MHzãžã§ãã¬ãŒã¿ãŒããã¯ããã¯ãããå ŽåïŒãŸã§ã®åšæ³¢æ°ã·ã³ã»ãµã€ã¶ãŒã§ã0.03 HzïŒ31 kHzå éšãžã§ãã¬ãŒã¿ãŒããã¯ããã¯ãããå ŽåïŒãã15 HzïŒ16 MHzã¯ããã¯ïŒãŸã§ã®ãã¥ãŒãã³ã°ã¹ãããããããŸãã
èè¡ãšPWMãçæã§ããŸãã
NCOãšCLCã®1ã€ã®ã¢ããªã±ãŒã·ã§ã³ïŒ Appnote ïŒã¯ã500kHzã®PWMåšæ³¢æ°ã§0ïŒ ã100ïŒ ã®ãã¥ãŒãã£ãµã€ã¯ã«ç¯å²ã§16ãããPWMãæäŸããŸãã
CWG ïŒçžè£æ³¢åœ¢ãžã§ãã¬ãŒã¿ãŒïŒ
ããã°ã©ã å¯èœãªããŒãããªããžãã©ã€ããŒã
ããã€ãã®ä¿¡å·ãœãŒã¹ããéžæïŒCLC1ãNCOãPWMãã³ã³ãã¬ãŒã¿ãŒïŒã
ããã¯éåžžã«äŸ¿å©ãªããšã§ãããå€ãã®å Žåãéçºè ãç«ãç ãããã³æ倱ã®èŠå³ããæãããšãã§ããŸãã ãããã®ãã©ãã«ã®é²æ¢ã«ããããããã¿ã€ã ã®ââããŒããŠã§ã¢å¶åŸ¡ãæŠãããã«åŒã³åºãããŸãã
![](https://habrastorage.org/storage2/539/b73/92c/539b7392cd153fd8fcd0b700d6cf4180.png)
ãã¢ã®åãã©ã³ãžã¹ã¿ã¯ã2çªç®ã®ãã©ã³ãžã¹ã¿ããã§ã«éããããŠããå¯èœæ§ãããå Žåã«å³å¯ã«éããŸãã ããã¯ã貫éé»æµããªããããã«è¡ãããŸããããã«ãããçŸããããæã«ã¯é«äŸ¡ãªç¹æ®å¹æãçºçããŸãã åã®ãã©ã³ãžã¹ã¿ãéããæéïŒãããã¿ã€ã ïŒã¯ãç«ã¡äžãããšããžãšç«ã¡äžãããšããžã§å¥ã ã«èª¿æŽãããŸãã ãŸããç¹å¥ãªåºåGPIOãCLC2ãããã³äž¡æ¹ã®ã³ã³ãã¬ãŒã¿ã®4ã€ã®ç¹æ®å¹æãåŠçããããã«ã匷å¶åæ¢ä¿¡å·ãåŒã³åºãããŸãã CLC2ã®å ¥åã«ãä»ã®äœãããæäŸã§ããããšãèãããšãã«ãŒãã«ã«é¢äžããããšãªããã©ã€ããŒã®é«éç·æ¥åæ¢ã®ãªãã·ã§ã³ã®ããªãåºç¯ãªãªã¹ããååŸããŸãã ã¿ã€ã ã¢ãŠãããã¢ããã°ããã³è«çã¬ãã«ãŸã§ã
ãã®ããŒãã§ã¯ãããããçè«ãšçµã³ã€ããŠçŽæ¥å®è·µããæãæ¥ãã®ã§ãããã
ããŒã4 éçºãšçç£
MKã決å®ããããæ®ãã®æ§æèŠçŽ ã«ã€ããŠèãå§ããŸãã åºé¢ç©ãã§ããã ãå°ãããããã£ãã é ã®äžã§ããã€ãã®éžæè¢ã倱ã£ããããDIP 20ïŒïŒïŒããã±ãŒãžã®ãã€ã¯ãåè·¯ã®é åãå ãã解決çã«æ±ºããŸããã ããã«ããã§ã«å šäœçãªèŠä»¶ããå§ããŠãèŠçŽ ããŒã¹ãéžæããŸããã USB-TTLã³ã³ããŒã¿ãŒãšããŠãããç¥ãããCP2102ãããã䜿çšããïŒQFNã±ãŒã¹ãšã¯ã©ãŒãã¯äžèŠïŒãUSBã³ãã¯ã¿ãŒã¯åçŽã«éžæããããã€ã¯ãã³ã³ãããŒã©ãŒã¯QFNã±ãŒã¹ã«éžæãããŸããã ãããã¯ãã¹ãŠã¢ãŒãŒã«ã§ããã«è³Œå ¥ãããŸããã
åç· åœ¹äŒã§ããåŒå žã«ã¯ç«ã¡ãŸããã§ããã 圌女ã¯ã極端ãªåçŽããèæ ®ããŠãçŽ1æéã§é¢å©ããŸããã é»æºãªãŒãã¯ã74xxããžãã¯ãããäžã®åãå Žæã«éãé 眮ãããŠããŸãã 次ã«ãç§ã¯å·¥å Žã§ããã€ãã®éšåã®è£œé ã泚æããåŸ ã¡å§ããŸããã åŸ ã£ãŠããéãã¢ãžã¥ãŒã«ã®äœæ¥ã¯ãã£ã±ã粟ç¥çãªãã®ã§ãã...倢ã®ããã§ãã
ãã¹ãŠã®éãæå ã«å±ããŸã§ã«ãæåã®2é±éã¯ã»ãŒçµãããŸããã ç§ã¯èªåã®èšèãå§åãã30æ³ã®ç·æ§ã®äœã«éåžžã«æ害ãªãã€ç ã®å€§éšåãç²åŸããå±éºãåããŸããã
ç·æ¥ã®åé¡ãšããŠãããŒãããŒããŒãšããŠããããªãã§ã¯ãã€ã¯ãã³ã³ãããŒã©ãŒããã€ã¹ãå®è¡ã§ããªããã®ãšããŠã解決ããããªãã·ã§ã³-ds30 LoaderãéžæãããŸããã ç¡æçã§ã¯ãã³ã³ãã€ã«ããã16é²æ°ãUARTçµç±ã§MKã«ããŠã³ããŒãããã ãã§ãåæã«äŸ¿å©ãªGUIããããŸãïŒãã¡ãããç®å©ãã®ããã®ã³ã³ãœãŒã«ãŠãŒãã£ãªãã£ããããŸãïŒã
åçã®çµæïŒ
![](https://habrastorage.org/storage2/0ee/4f0/0a9/0ee4f00a9dd16726546ff857c2fcd73b.png)
DIP20ïŒATtiny2313ïŒã®æšªã®ãããã¡ã€ã«
![](https://habrastorage.org/storage2/5aa/317/383/5aa317383caa8a290e961620e0d8d965.png)
ããããã¥ãŒ
![](https://habrastorage.org/storage2/d0f/706/428/d0f706428e681cae72af8c3abfedcf5d.png)
èŠç¹...
MKã¯ã16 MHzã®çµã¿èŸŒã¿ãžã§ãã¬ãŒã¿ãŒã§åäœããŸãã Timer1ã«å®è£ ãããŠãããœãããŠã§ã¢RTCçšã®ãåçã«è¡šç€ºãããŠããã¯ã©ãŒãã MKã®20ãã³ã®ãã¡18ãã³ã¯ãRS-232 TTLã®çŽæ¥æ¥ç¶çšã®RXããã³TXãå«ãã³ãã¯ã¿ã«çŽæ¥æ¥ç¶ãããŠããŸãïŒ2ã€ã¯ã¯ã©ãŒãã§å ããããŠããŸãïŒã ãããšåãRS-232 TTLã®ã¿ã䜿çšããå ŽåãããŒãã¯çž®éãã圢
![](https://habrastorage.org/storage2/025/3e1/550/0253e15502f509bfa40b107523f80e5b.png)
ããã¯æªãæŽæ¿¯æ¿ã®ããã«èŠããŸã
çµè«ã®ä»£ããã«
çµæã¯éåžžã«ããããå°ç©ã§ããããããã§ããªããLinuxãæèŒããããã€ã¹ã®æ®é ·ãªå€ã®äžçãšã®ã³ãã¥ãã±ãŒã·ã§ã³ãéåžžã«ä¿é²ããããšãã§ããŸãã ãã®ãã©ãŒã ãã¡ã¯ã¿ãŒã§ã®arduinoãšã®ç«¶äºã¯éåžžã«å€§ããããã寞æ³ãšç¬èªã®åšèŸºæ©åšã«çŠç¹ãåœãŠãŸããã
çŸæç¹ã§ã¯ããã¡ãŒã ãŠã§ã¢ã«ã¯ãRS-232ã³ãã³ãã䜿çšããè€æ°ã®åšèŸºã¢ãžã¥ãŒã«ã®ãã©ã¡ãŒã¿ãŒã®çµã¿èŸŒã¿ãšèª¿æŽãå«ãŸããŠããŸãã ãããã¯ãPWMãDACãGPIOãããã³éšåçã«CLCã§ãã ãŸããäœæãã調ã¹ãŠADCïŒå€éšå ¥åãšæ°Žæ¶æž©åºŠã»ã³ãµãŒã®äž¡æ¹ïŒãèªã¿åãããšãã§ããŸãã ã€ãŸããäœéOSåãã®é«éå€éªšæ Œã®äžéšã®æ©èœã«ãã§ã«å¯Ÿå¿ããŠããŸãã
ãããã絶察ã«ãã¹ãŠã®åšèŸºæ©åšãRS-232ã®ãã¥ãŒãã³ã°ã«å¯Ÿå¿ããŠããŠãïŒããã«ã¯ç¹å¥ãªçç±ã¯ãããŸããïŒãããã¯å¶éã§ã¯ãããŸããã çŸåšããã®æ©èœãMKã®ã¡ã¢ãªå ã®ãã¹ãŠã®å Žæãã倧ããé¢ããŠããããšã¯ãã§ã«æããã§ãããæ®ãã®æ°ãããã€ããå©çšããæãé©åãªæ¹æ³ã¯ãSFCã°ã©ãã£ã«ã«èšèªã®éå®çãªã€ã³ã¿ãŒããªã¿ãŒã§ããã30-50ã¹ããã以å ã®æãåçŽãªèªååãããã³ãœãããŠã§ã¢ã¢ãžã¥ãŒã«ã PIDãªã©ã I2Cãšãã¹ãã³ããŒãä»ããå ¥åºåæ°ã®æ¡åŒµ ãããã«ããããã£ã¹ãã¬ã€ãšããŒããŒãã®çµ±åæ¥ç¶ãå¯èœã«ãªããŸãã
ã€ã³ã¹ãã¬ãŒã·ã§ã³ã®äž»ãªæ å ±æºã¯habrahabrã50ãã«ã®ã¢ã³ããã€ããã«ãå«ãäžåœã®ãµã€ããããã³www.microchip.comãµã€ãã§ããã
ãã¹ãŠã®äººã«å¹³åãã