ESP32S3ãšV4220Mã§ããžã¿ã«é³å£°åŠçããã€ã¹ãäœã
ãµãšããžã¿ã«ä¿¡å·åŠçã§é»æ°ã»é»å楜åšçšãšãã§ã¯ã¿ãŒãäœãããšæãç«ã¡ãESP32S3ãšãããã€ã³ã³ãšV4220MãšããAD/DA倿ICãçµã¿åãããŠäœã£ãŠã¿ã話ã§ãã
ããžã¿ã«ã§é³å£°ä¿¡å·ãåŠçããæ©åšãäœãããšããå Žåãã¢ããã°ä¿¡å·ãããžã¿ã«ä¿¡å·ã«å€æããåŠçïŒAD倿ïŒãšãããžã¿ã«ä¿¡å·ãã¢ããã°ä¿¡å·ã«å€æããåŠçïŒDA倿ïŒãå¿ èŠã«ãªããŸããADã»DA倿ã¯ãªãŒãã£ãªã«éããããŸããŸãªåéã§äœ¿ãããŠãããããããããå®çŸããããã®ããã€ã¹ã¯æ²¢å±±ãããŸãããã®1ã€ããç§æé»åéåã§è³Œå ¥ã§ããCOOLAUDIOã®ãV4220MããšããICã§ãããã®V4220Mã¯AD倿ãšDA倿ã®äž¡æ¹ã®æ©èœãåããICã§ãè²©å£²äŸ¡æ Œã¯240åãšããã®æã®ããã€ã¹ãšããŠã¯ããªããªãŒãºããã«ãªã倿®µã§ãã
V4220Mã¯åããCOOLAUDIOã®ãV1000ããšããããžã¿ã«ãšãã§ã¯ãICãšçµã¿åãããŠå©çšããããšãæ³å®ãããŠãããããªã®ã§ããããI2SããšåŒã°ããé³å£°åãã®æ±çšããŒã¿éåä¿¡æ¹åŒã«å¯Ÿå¿ããŠãããããã»ãã®ä¿¡å·åŠçããã»ããµããã€ã³ã³ãšçµã¿åãããããšãå¯èœã§ããæè¿ã§ã¯ããžã¿ã«é³å£°åŠçãå®è¡ããã«ã¯ååãªæ§èœãæã¡ããã€å°åã§å®äŸ¡ãªãã€ã³ã³ãå€ãåºåã£ãŠããŸããä»åã¯ãã®1ã€ã§ãããESP32S3ããšããããã»ããµãæèŒããSeeed Studioã®å°åãã€ã³ã³ããŒããXIAO ESP32S3 PlusããšV4220Mãçµã¿åãããŠãAD倿ããã³DA倿åŠçãå®è£ ããŠã¿ãŸããã
åæç¥è
ãŸãä»å玹ä»ããåè·¯ãçè§£ããããã®åæç¥èãšããŠã䜿çšããICããã€ã³ã³ããããŠãããã®éã®éä¿¡ã§äœ¿ããããI2Sããšããã€ã³ã¿ãŒãã§ã€ã¹ã«ã€ããŠè§£èª¬ããŸãããããŸã§ç°¡åãªèª¬æãªã®ã§ããã詳ããç¥èãç¥ãããæ¹ã¯ããããã®åèªã§Webæ€çŽ¢ããŠã¿ãŠãã ããã
ãªããããžã¿ã«ãšãã§ã¯ã¿ãŒã®ãããªããžã¿ã«ä¿¡å·åŠçãè¡ãããã°ã©ã ãäœæããã«ã¯ããžã¿ã«ä¿¡å·åŠçã®ç¥èãå¿ èŠãšãªããŸããããããã«ãããããã§è§£èª¬ããã®ã¯å€§å€ãªã®ã§ãã¡ãã«ã€ããŠã¯å²æããŸãã
V4220Mã«ã€ããŠ
V4220Mã¯åè¿°ã®ãšããAD倿ãšDA倿ã®äž¡æ¹ã®æ©èœãåããICã§ããããžã¿ã«åãè¡ãè£ çœ®ã¯ãã³ãŒããŒïŒcoderïŒãããããã¢ããã°ä¿¡å·ã«æ»ãè£ çœ®ã¯ããã³ãŒã¿ãŒïŒdecoderïŒããšãåŒã°ããŠããããã®äž¡æ¹ã®æ©èœãæã€ããšãããããã®åèªãçµã¿åããããcodec ICããšåŒã°ããŠããŸããAD倿ã»DA倿ãšãã«2ãã£ã³ãã«ã®åæåŠçïŒã€ãŸãã¹ãã¬ãªã§ã®åŠçïŒãå¯èœã§ã察å¿éååãããæ°ã¯æå€§24ãããããµã³ããªã³ã°åšæ³¢æ°ã¯4ïœ48kHzã§ãã鳿¥œCDã§äœ¿ãããŠããå§çž®ç¡ãããžã¿ã«é³å£°ã¯16ããã/44.1kHzãªã®ã§ãã¹ããã¯äžã¯ããããšåç以äžã®å質ã§ã®AD倿ãDA倿ãæåŸ ã§ããŸãã
COOLAUDIOã¯æïŒ80ïœ90幎代ããïŒã®é³é¿æ©åšã§äœ¿ãããŠããICãçŸä»£ã«åŸ©å»ãããŠè£œé ã»è²©å£²ããŠããããšã§ç¥ãããã¡ãŒã«ãŒã§ããã®V4220MãCirrus Logicãšããä¿¡å·åŠçICã¡ãŒã«ãŒããã€ãŠè£œé ã»è²©å£²ããŠãããCS4220ããšããICã埩å»ããããã®ã®ããã§ãããã®ãããåçªããç°ãªããã®ã®ãV4220Mã®åºæ¬çãªç¹æ§ã¯CS4220ãšåçã§ãCS4220ã䜿ã£ãåè·¯ã¯ãã®ãŸãŸV4220Mã§ãå©çšã§ããããã§ãã
ã¡ãªã¿ã«ãCirrus Logicã¯CS4220ã®å§åŠ¹è£œåãšããŠãCS4221ïœCS4224ãšããICãçºå£²ããŠããããã§ããåºæ¬çãªãã³é 眮çã¯ã»ãšãã©åãã§ããïŒCS4222ã®ã¿è¥å¹²éãïŒãããŒã¿ã·ãŒããèŠãéãCS4220ãšãããå§åŠ¹è£œåã§ã¯äžèšã®ãããªéããããããã§ãã
CS4221ïŒSPIããã³I2Cã€ã³ã¿ãŒãã§ã€ã¹æ©èœãå èµããŠããããã€ã³ã³ããåäœã®èšå®ãå¯èœ
CS4222ïŒCS4221ãšåæ§ã«SPIããã³I2Cã€ã³ã¿ãŒãã§ã€ã¹ãå èµãããåè§£èœã¯æå€§20ãããåºå®ãã¹ã¬ãŒãåäœã®ã¿ïŒå€éšã¯ããã¯ãå¿ é ïŒãå»äŸ¡çãšããããšïŒ
CS4223ïŒCS4220ãšä»æ§çã«ã¯ã»ãŒåãã ãé³è³ªã匷åãããŠããïŒ
CS4224ïŒCS4221ãšä»æ§çã«ã¯ã»ãŒåãã ãé³è³ªã匷åãããŠããïŒ
V4220Mã¯CS4220ã®ã¯ããŒã³ã§ãããCS4223ãšãäºææ§ã¯ããããã§ãCS4223ã䜿çšããŠããLINE6ã®ãDL4ããšãããã£ã¬ã€ãšãã§ã¯ã¿ãŒã§CS4223ãV4220Mã«çœ®ãæããŠãåäœãããšããã¬ããŒãããããŸããã
This is the first DL4 I ever got, bought broken almost 5 years ago. Despite working on DL4s for other people  and my own MM4 repair I have
ãªããV4220Mã®ããŒã¿ã·ãŒãã¯ãã®CS4220/4221ã®ããŒã¿ã·ãŒããåèã«äœæãããããã«èŠããã®ã§ããã以äžã®ãããªéãããããŸãã
ã¯ããã¯ã®èšå®ãªã©ã«é¢ããæ å ±ãCS4220ãšã¯ç°ãªã£ãŠãã
æ¬æ¥V4220Mã«ã¯æèŒãããŠããªãïŒCS4221å°çšã®ïŒI2Cã»SPIã€ã³ã¿ãŒãã§ã€ã¹ã䜿ã£ãèšå®æ©èœã®è©±ãèšèŒãããŠãã
ãã®ãããDigikeyã®Webãµã€ããªã©ã§å ¥æã§ããCS4220/4221ã®ããŒã¿ã·ãŒããäžç·ã«ç¢ºèªããããšãããããããŸãã
ESP32S3ã«ã€ããŠ
ESP32ã·ãªãŒãºã¯Espressif Systemsãšããåå°äœã¡ãŒã«ãŒãéä¿¡æ©èœãæã€ããžã¿ã«æ©åšïŒããããIoTããã€ã¹ïŒåãã«éçºãããã€ã³ã³ã§ããWi-FiãBluetoothæ©èœãå èµããŠããããããããã¯ãŒã¯æ¥ç¶æ©èœãæã€ããžã¿ã«æ©åšã§ãã䜿ãããŠããããã§ããåœå ã§ã¯ç§æé»åéåãåç³é»åããã«ããªã©ã®é»åéšåãåãæ±ã£ãŠãããåºã§ESP32ã·ãªãŒãºãæèŒããå°åãã€ã³ã³ããŒããè³Œå ¥ã§ããŸãã
ãããã®ãã€ã³ã³ããŒãã¯å ¥ææ§ãè¯ããäŸ¡æ Œã1,000ïœ2,000åååŸãšå®äŸ¡ãªã®ã§ãããç¹ã«Seeed Studioã®XIAO ESP32-S3ã·ãªãŒãºã¯ããã2cmåæ¹ã®å°åãµã€ãºãªããæå€§240MHzåäœã®ãã¥ã¢ã«ã³ã¢ããã»ããµãæèŒãããã€ãPSRAMããšåŒã°ãããSPIæ¥ç¶ã®RAMïŒå®¹é8MBïŒãæèŒãããŠããç¹ãç¹åŸŽã§ãããã®PSRAMã¯éåžžã®ã¡ã¢ãªãšåæ§ã«å©çšã§ããããã倧容éã®ã¡ã¢ãªãå¿ èŠãªåŠçãäœè£ã§å®è¡ã§ããŸãã
ãŸããESP32ã·ãªãŒãºåãã«ã¯ãFreeRTOSããšåŒã°ããã䞊ååŠçãèæ ®ããOSãããŒã¹ãšããã·ã¹ãã ãæäŸãããŠãããïŒç¥èããããã°ïŒç°¡åã«ãã«ãã³ã¢ã掻çšãã䞊ååŠçããã°ã©ã ãå®è£ ã§ããŸããããã«ããŒããŠã§ã¢ã¬ãã«ã§I2Sã€ã³ã¿ãŒãã§ã€ã¹ããµããŒãããŠãããäœãè² è·ã§ãªãŒãã£ãªå ¥åºååŠçãå¯èœã§ãã
ESP32ã·ãªãŒãºã§ã®éçºã«ã¯Arduino IDEããããã¯ESP-IDFãšããç°å¢ç°å¢ãå©çšã§ããŸããArduino IDEã§ã¯ããŒããŠã§ã¢ã®çްããéšåãæ°ã«ããéçºãã§ããã®ã§ããã€ã³ã³ã«è©³ãããªã人ã§ãéçºããããç¹ãã¡ãªããã ãšæããŸãã
I2Sã«ã€ããŠ
V4220MãšESP32S3ãã€ã³ã³ã®éã§ã¯ããI2Sããšãã圢åŒã§ããŒã¿ã®ããåããè¡ããŸããI2Sã§ã¯4æ¬ã®ä¿¡å·ç·ã䜿çšããŠããŒã¿ã®éåä¿¡ãã¿ã€ãã³ã°å¶åŸ¡ãè¡ããŸããç°¡åã«èšã£ãŠããŸããšã2ã€ã®ããã€ã¹éã§æ¬¡ã®4æ¬ã®ç«¯åãæ¥ç¶ããé©åã«èšå®ãè¡ãã ãã§ããžã¿ã«åããããªãŒãã£ãªä¿¡å·ãããåãã§ããããšãããã®ã§ãã
ããŒã¿å ¥åïŒDINïŒïŒã¢ããã°ä¿¡å·ã«å€æããããžã¿ã«ä¿¡å·ãå ¥åãã端å
ããŒã¿åºåïŒDOUTïŒïŒã¢ããã°ä¿¡å·ãã倿ãããããžã¿ã«ä¿¡å·ãåºåãã端å
ãããã¯ããã¯ïŒBCLK/CSLKïŒïŒDINã»DOUT端åã§ã®ããŒã¿å ¥åºåã¿ã€ãã³ã°ãå¶åŸ¡ããããã®ç«¯å
ã¯ãŒãã»ã¬ã¯ãïŒWS/LRCKïŒïŒDINã»DOUT端åã§ããåãããŠããä¿¡å·ãã¹ãã¬ãªã®å³ãã£ãã«ã®ä¿¡å·ãªã®ãããããšãå·Šãã£ãã«ã®ä¿¡å·ãªã®ãã瀺ãããã®ç«¯å
ãªãããããã¯ããã¯ãã¯ãŒãã»ã¬ã¯ãã¯V4220Mã®ããŒã¿ã·ãŒãã§ã¯ãããããã·ãªã¢ã«ããŒã¿ã¯ããã¯ïŒSCLKïŒãããã¬ãã/ã©ã€ãã¯ããã¯ïŒLRCKïŒããšåŒã°ããŠããŸããã以äžã§ã¯ESP32åŽã§ã®åŒã³æ¹ã§ãããBCLKãããWSãã§è¡šèšããŠããŸãããŸããããã§ãããã¯ããã¯ãã¯ïŒéã«èª¬æãããšïŒäžå®ã®æ±ºãŸã£ãåšæ³¢æ°ã§HIGH/LOWãç¹°ãè¿ãä¿¡å·ã®ããšã§ãã
DIN端åã¯æ¥ç¶çžæã®DOUT端åã«ãDOUT端åã¯æ¥ç¶çžæã®DIN端åã«æ¥ç¶ããŸãããŸããBCLK端åã¯æ¥ç¶çžæã®BCLK端åã«ãWS端åãæ¥ç¶çžæã®WS端åã«æ¥ç¶ããŸãããã®ãšããCSLKããã³LRCK端åããä¿¡å·ãåºåããåŽã®ããã€ã¹ãããã¹ã¿ãŒããä¿¡å·ãåãåãåŽã®ããã€ã¹ããã¹ã¬ãŒãããšåŒã³ãŸããä»å䜿çšããV4220MãESP32S3ãã€ã³ã³ã¯ãã¹ã¿ãŒ/ã¹ã¬ãŒãã®ã©ã¡ãã§åäœããŸããããã¹ã¿ãŒãããã¯ã¹ã¬ãŒãã§ããåäœããªãããã€ã¹ããããŸãã
I2Sã§ã¯äžèšã®4ã€ã®ç«¯åãšã¯å¥ã«ãåããã€ã¹ã§ããã¹ã¿ãŒã¯ããã¯ïŒMCLKïŒããšåŒã°ãããAD倿ãDA倿åŠçãå«ããã·ã¹ãã å šäœã®åŠçã¿ã€ãã³ã°ãåæãããããã®ã¯ããã¯ãå¿ èŠã§ããV4220Mã¯å€éšãããã¹ã¿ãŒã¯ããã¯ãå ¥åããŠäœ¿çšããããšãã§ããŸãããçºæ¯åïŒããããã¯ãªã¹ã¿ã«ãªã©ïŒãæ¥ç¶ããŠããããèªåã§ãã¹ã¿ãŒã¯ããã¯ãçæããããšãã§ããŸãããŸããESP32Sã§ã¯å€éšãããã¹ã¿ãŒã¯ããã¯ãå ¥åãããããããã¯ãã€ã³ã³å šäœã§äœ¿çšããŠããã¯ããã¯ãããã¹ã¿ãŒã¯ããã¯ãçæããããšãã§ããŸãïŒãã®èšå®ã«ã€ããŠã¯åŸè¿°ïŒã
ESP32S3ãšV4220Mã䜿çšãããªãŒãã£ãªä¿¡å·ã®ããžã¿ã«åŠçåè·¯
ç¶ããŠã¯å®éã«äœæããåè·¯ã«ã€ããŠç޹ä»ããŠãããŸããåè·¯ã®å šäœåã¯ãã®ãããªæãã«ãªã£ãŠããŸãã
ãã€ã³ã³ããŒãã«ã¯Seeed Studioã®ãXIAO ESP32-S3-PLUSãã䜿çšããŸãããESP32-S3-PLUSã¯åºæ¿ã®çžã«1.27mmãããã®ããããèšçœ®ããããšã§ãå°åãªãã20åã®å ¥åºåããŒããå©çšã§ãããã€ã³ã³ããŒãã§ããããã«åœå ã§ç¡ç·æ©èœãå©çšããããã®æè¡åºæºé©å蚌æïŒããããæé©ïŒãååŸããŠãããããåæ³çã«ç¡ç·æ©èœãå©çšã§ããŸãããšãã§ã¯ã¿ãŒã§ç¡ç·æ©èœã䜿ãããšã¯ããŸããªãã§ãããããšãã°Bluetoothçµç±ã§ã¹ããŒããã©ã³ãšé£æºããŠèšå®ãã«ã¹ã¿ãã€ãºããããšãã£ãããšãå®çŸã§ããŸãã
ã¡ãªã¿ã«XIAO ESP32-S3ã·ãªãŒãºã¯è€æ°ã®ã¢ãã«ããããŸãããåºåã€ã³ã¿ãŒãã§ã€ã¹ãç°ãªãã ãã§ãæèŒããããã»ããµãæ©èœã¯ãã¹ãŠåäžã§ãããã®ãããåã·ãªãŒãºã®ã»ãã®ãã€ã³ã³ã§ããåºæ¬çã«ã¯åããããªåè·¯ãå©çšå¯èœã§ãã
黿ºåè·¯
XIAOã·ãªãŒãºã®ãã€ã³ã³ããŒãã¯USB Type-Cã³ãã¯ã¿ãããã¯14çªãã³ïŒVBUSãã³ïŒããäŸçµŠããã5Vã®é»æºã§åäœããŸããä»åã¯äžè¬çãªãšãã§ã¯ã¿ãŒã§äœ¿çšãã9V黿ºã§åäœããããã£ãã®ã§ã3端åã¬ã®ã¥ã¬ãŒã¿ã䜿ã£ãŠ9Vãã5VãçæããŸããããã«ãã¢ããã°åŽã®é»æºäŸçµŠïŒ+5VAïŒãšããžã¿ã«åŽã®é»æºäŸçµŠïŒ+5VDïŒã¯åé¢ãã+5VAãš+5VDã¯ãã€ãºã鮿ãã广ãããã€ã³ãã¯ã¿ãä»ããŠæ¥ç¶ããŠããŸãã
ãã€ã³ã³ããŒãã®VBUSãã³ã¯å éšçã«ã¯USBã³ãã¯ã¿ã®VBUS端åïŒ+5VäŸçµŠç«¯åïŒã«æ¥ç¶ãããŠãããããUSBã±ãŒãã«ãæ¥ç¶ããç¶æ ã§å€éšãã黿ºãäŸçµŠããŠãåé¡ãçºçããªããããã·ã§ããããŒãã€ãªãŒããä»ããŠ+5VDã«æ¥ç¶ããŸãã
ãã€ã³ã³ããŒãã®17çªãã³ïŒ3V3ãã³ïŒã¯ãVBUSãã³ãããã¯USBã±ãŒãã«ããäŸçµŠããã+5Vããçæãã+3.3VãäŸçµŠãããã³ã§ããESP32ã·ãªãŒãºãã€ã³ã³ã¯ã€ã³ã¿ãŒãã§ã€ã¹é»å§ã3.3Vãã€ãŸã3.3VãHIGHé»å§ãšãªãããããã€ã³ã³ã«æ¥ç¶ããæµæåšãã¹ã€ãããåçš®ã€ã³ã¿ãŒãã§ã€ã¹ãªã©ã«ã¯ãããã3.3VãäŸçµŠããŸãããã®3.3Vã¯ãã€ã³ã³ã«çŽçµãããŠããããããã€ãºãå€ãç¹ã«ã¯æ³šæãå¿ èŠã§ãã
ãã€ã³ã³åšãã®åè·¯
åè¿°ã®ãšãããESP32S3ãšV4220Mãšã®ããŒã¿ã®ããåãã«ã¯I2Sãšããä»çµã¿ã䜿çšããŸããV4220Mã§ã¯ãã®ããã«DINãDOUTãLRCKãSCLK端åãçšæãããŠããŸããäžæ¹ãESP32S3ã®I2Sæ©èœã§ã¯ä»»æã®GPIO端åãDINãDOUTãWSãBCLK端åãšããŠäœ¿çšã§ããŸããä»åã¯GPIO3端åãDOUTã«ãGPIO4ãDINã«ãGPIO5ãBCLKã«ãGPIO6ãWSãšããŠäœ¿çšããããšã«ããŸãããã¡ãªã¿ã«ã©ã®ç«¯åã«ã©ã®æ©èœãå²ãåœãŠããã¯ãœãããŠã§ã¢åŽã§èšå®ã§ããã®ã§ãããESP32S3ã®äžéšã®æ©èœïŒããšãã°ADã³ã³ããŒã¿ïŒã¯äžéšã®GPIO端åã«ããå²ãåœãŠã§ããªãããã䜿çšãããæ©èœã被ããªãããã«å²ãåœãŠãèããå¿ èŠããããŸãã
ãŸããV4220Mã§ã¯DIF0ããã³DIF1端åã§å ¥åºååäœã¢ãŒãããDEM0ããã³DEM1端åã§ãã£ã«ã¿æ©èœã®èšå®ãåãæ¿ããããããã«ãªã£ãŠããŸãïŒè©³çްã«ã€ããŠã¯ããŒã¿ã·ãŒããåç §ïŒããããã¯åºå®å€ã§ãè¯ãã®ã§ãããä»åã¯ãã€ã³ã³åŽããèšå®ã§ãããããããããGPIO38ãGPIO39ãGPIO41ãGPIO40端åã«æ¥ç¶ããŠããŸããããã«å ããŠããã€ã³ã³åŽããV4220Mããªã»ããã§ãããããGPIO1端åãV4220Mã®RSTN端åã«æ¥ç¶ããŠããŸãã
ãã以å€ã®ç«¯åã¯ãã¹ã€ãããå¯å€æµæåšïŒPOTïŒãLEDãªã©ãæ¥ç¶ããããšãæ³å®ããŠãã³ãããã«æ¥ç¶ããŠããŸãã
V4220Måšãã®åè·¯1ïŒé»æºã®èšå®
V4220Mã«ã¯ã¢ããã°çšã®é»æºç«¯åïŒVAïŒãšããžã¿ã«çšã®é»æºç«¯åïŒVDïŒããããããããã«5Vã®é»æºãæ¥ç¶ããå¿ èŠããããŸããV4220Mã®ããŒã¿ã·ãŒãã§ã¯VAã«+5Vãå ¥åãããã€VDã¯2Î©ã®æµæãä»ããŠVAãšæ¥ç¶ããäŸãèšèŒãããŠããŸãããããã¯ããžã¿ã«çšã®é»æºç«¯åãšã¢ããã°çšã®é»æºç«¯åãåé¢ããããšã§ãã€ãºã®åœ±é¿ãæããæå³ã ãšæãããŸãããã ãä»åã¯ããžã¿ã«åŽé»æºã«ãã€ã³ã³ããŒããæ¥ç¶ããèšèšã«ããããã2Î©ã®æµæãæ¥ç¶ãããšããã§ã®é»å§éäžãæ°ã«ãªããŸãïŒããšãã°ãã€ã³ã³åŽã§100mAã®é»åãæ¶è²»ããå Žåã200mVãã€ãŸã0.2Vã®é»å§å¹æãçºçããïŒããã®ãããåè¿°ã®ããã«ä»åã¯æµæã§ã¯ãªãã€ã³ãã¯ã¿ã§ã¢ããã°åŽé»æºãšããžã¿ã«åŽé»æºãåé¢ããŠããŸããããããã®é»æºç«¯åã¯ãã€ãºå¯Ÿçããã³å®å®æ§åäžã®ããã10uããã³0.1uã®ã»ã©ããã¯ã³ã³ãã³ãµãæ¥ç¶ããŠããŸãïŒãããããã¹ã³ã³ãã³ãµïŒã
ESP32ãã€ã³ã³ã¯3.3V黿ºã§åäœããããããã®å ¥åºåããã¹ãŠ3.3Vã§è¡ãããŸããã€ãŸããããåãããããžã¿ã«ä¿¡å·ã§ã¯ã1ãã3.3Vãã0ãã0Vã§è¡šãããšã«ãªããŸããV4220Mã§ã¯ããžã¿ã«ä¿¡å·ã®é»å§ãèšå®ããããã®VL端åããããããã«3.3Vãå ¥åããããšã§ã0V/3.3Vã§ä¿¡å·ã®å ¥åºåãè¡ããããã«ãªããŸãããã¡ãã«ãåæ§ã«ãã¹ã³ã³ãã³ãµãæ¥ç¶ããŠããŸãã
V4220Måšãã®åè·¯2ïŒãã¹ã¿ãŒã¯ããã¯
V4220Mã¯å€éšãããã¹ã¿ãŒã¯ããã¯ãå ¥åããããšãã§ããŸãããçºæ¯åãæ¥ç¶ããŠãããããã¹ã¿ãŒã¯ããã¯ãçæããããšãã§ããŸããESP32ã®I2Sæ©èœã¯ãã¹ã¿ãŒã¯ããã¯çææ©èœãæäŸããŠããã®ã§ãããã§çæãããã¹ã¿ãŒã¯ããã¯ãV4220Mã®XTI端åã«äŸçµŠããã°è¯ããããªã®ã§ããã詊ãããšãããã®å Žåã©ããã£ãŠãæ£åžžã«åäœãããããšãã§ããŸããã§ããïŒåäœã¯ãããããŒã¿éåä¿¡ã®ã¿ã€ãã³ã°ããããããã§ãããŒã¿ãæ£ããéåä¿¡ã§ããªãïŒããã®ãããæ°Žæ¶çºæ¯åãšã³ã³ãã³ãµãXTOããã³XTI端åã«æ¥ç¶ããŠãV4220MåŽã§ãã¹ã¿ãŒã¯ããã¯ãçæãããŠããŸãã
ãªããV4220Mã®ãµã³ããªã³ã°åšæ³¢æ°ã¯äŸçµŠãããã¹ã¿ãŒã¯ããã¯ãããã¯çºæ¯åã®åšæ³¢æ°ã§æ±ºãŸããV4220Mããã¹ã¿ãŒãšããŠäœ¿çšããå Žåã¯ãã®åšæ³¢æ°ã®256åã®1ããµã³ããªã³ã°åšæ³¢æ°ã«ãªããŸãããŸããV4220Mãã¹ã¬ãŒããšããŠäœ¿çšããå Žåã¯ãã¹ã¿ãŒã¯ããã¯ããµã³ããªã³ã°åšæ³¢æ°ã®256ãããã¯384ã512åã«ããªããã°ãªããŸãããä»åã¯V4220Mããã¹ã¿ãŒãšããŠäœ¿çšãããã€ãµã³ããªã³ã°åšæ³¢æ°ã48kHzã«èšå®ãããã£ãã®ã§ãæ°Žæ¶æ¯ååã®åšæ³¢æ°ãšããŠ48kHzÃ256=12,288,000HzïŒ12.288MHzïŒãéžæããŸããïŒãã®åšæ³¢æ°ã®æ°Žæ¶æ¯ååã¯åç³é»åã§è³Œå ¥å¯èœã§ã
ã¡ãªã¿ã«ãI2Sã§ã¯ãã¹ã¿ãŒã¯ããã¯ãããã€ã¹éã§å ±æããå¿ èŠã¯ãªããããããã®ããã€ã¹å ã§ç¬ç«ãããã¹ã¿ãŒã¯ããã¯ãå©çšã§ããŸããESP32ã®I2Sæ©èœã§ã¯ãã€ã³ã³å éšã§I2Sçšã®ãã¹ã¿ãŒã¯ããã¯ãçæã§ããã®ã§ãV4220MåŽã§çæãããã¹ã¿ãŒã¯ããã¯ãESP32S3åŽã«äŸçµŠããå¿ èŠã¯ãããŸããïŒå¿µã®ãããXTIãããã¯XTO端åãGPIO43端åã«æ¥ç¶ã§ãããããžã£ã³ããŒã¯çšæããŠããŸãïŒã
V4220Måšãã®åè·¯3ïŒã¢ããã°ä¿¡å·å ¥å
ããžã¿ã«ä¿¡å·ã«å€æããã¢ããã°ä¿¡å·ã¯ãV4220Mã®LIN+ãLIN-ãRIN+ãRIN-端åã«å ¥åããŸããLIN+ããã³LIN-ãå·Šãã£ãã«ãRIN+ããã³RIN-ãå³ãã£ãã«ã§ãããããå·®ååäœããæ§æã§ããLIN-ãšRIN-ãGNDã«æ¥ç¶ããŠäœ¿çšããããšãã§ããŸããã差忧æã«ããã»ãããã€ãºèæ§ã¯é«ããªããããä»åã¯ãªãã¢ã³ãã䜿ã£ãŠå ¥åä¿¡å·ã«ãã€ã¢ã¹é»å§ãå ãããšãšãã«ãå転ããä¿¡å·ãçæããŠããããã+ããã³-端åã«å ¥åããæ§æã«ããŠããŸãããã€ã¢ã¹é»å§ã¯CS4220ããŒã¿ã·ãŒãäžã®ãCommon Mode Input VoltageãïŒ2.3VïŒã«è¿ãå€ïŒçŽ2.27VïŒã«èšå®ããŠããŸãã
ãã®éšåã®åè·¯ã¯ããŒã¿ã·ãŒãã«èšèŒãããŠããåèåè·¯ãã®ãšã»ãŒåãã§ããã+åŽåºåã¯å ¥åä¿¡å·ãšåãæ¯å¹ ã«ã-åŽåºåã¯å ¥åä¿¡å·ãæ¯å¹ ã¯ãã®ãŸãŸã«å転ããããã®ã«ãªãããæµæå€ã調æŽããŠããŸããV4220Mã®å ¥åã¯å·®ååè·¯ã«ãªã£ãŠããã®ã§ããã®çµæV4220Mãåãåãä¿¡å·ã®æ¯å¹ ã¯ãªãã¢ã³ãã«å ¥åãããä¿¡å·ã®2åã«ãªããŸããV4220Mã«å ¥åã§ããä¿¡å·ã¯2.0Vrmsã§ãããäžè¬çãªãšã¬ãã®ã¿ãŒããšã¬ãããŒã¹ã®åºåã¯ããã1Vrmsæªæºãªã®ã§ãå ¥åä¿¡å·ã2åã«å¢å¹ ããããšã§ããé«ãè§£å床ã§ã®AD倿ãæåŸ ã§ããŸãããŸãããªãã¢ã³ãã®å ¥å段ã®åã«ã¯ãã©ã³ãžã¹ã¿ã䜿ã£ããããã¡åè·¯ãå ¥ããŠããŸãããã®ããããã®åè·¯ã®L_INPUTããã³R_INPUTã«ã¯ãã€ã¢ã¹é»å§ãä»äžãããä¿¡å·ãå ¥åããå¿ èŠããããŸãã
ãªãããªãã¢ã³ãã¯å黿ºã§åäœãããŠããïŒ-黿ºç«¯åãGNDã«æ¥ç¶ããŠããïŒããããªãã¢ã³ãã«ãã£ãŠã¯ãã€ã¢ã¹é»å§ïŒçŽ2.27VïŒãäœãããŠæ£åžžã«åäœããªãå¯èœæ§ããããŸãããã®ãããä»åã¯ãã®éšåã§äœ¿çšãããªãã¢ã³ããšããŠTIã®TLV2365ãéžæããŸããã黿ºé»å§ã¯æå€§5.5Vãšäœãã§ãããRAIL-to-RAILãã€ãŸãå ¥åºåãšãã«0Vãã黿ºé»å§ãŸã§ã®ç¯å²ã§æ£åžžåäœãããã€ã¹ããã¯äžã¯ãã€ãºãå°ãªãã®2åè·¯å ¥ããªãã¢ã³ãã§ãããããŠ2åè·¯å ¥ããªãã¢ã³ãã2ã€äœ¿çšããæ§æã«ããããšã§ãå³ãã£ãã«ãšå·Šãã£ãã«ãå®å šã«åé¢ããããšã§ã¯ãã¹ããŒã¯ïŒçæ¹ã®ãã£ãã«ã®ä¿¡å·ãããçæ¹ã®ãã£ãã«ã«æ··å ¥ããããšïŒã®äœæžãæåŸ ããŠããŸãã
V4220Måšãã®åè·¯4ïŒã¢ããã°ä¿¡å·åºå
V4220Mã®ã¢ããã°ä¿¡å·åºåã¯ãã¢ããã°ä¿¡å·å ¥åãšåæ§ã«å·®ååäœãšãªã£ãŠããŸããLOUT+ãšLOUT-ãå·Šãã£ãã«ãROUT+ãšROUT-ãå³ãã£ãã«ã§ãã
äžè¬çãªDA倿ã§ã¯ããã®éçšã§æ¬æ¥ã®ä¿¡å·ã«ã¯å«ãŸããŠããªãé«åšæ³¢ãã€ãºãå«ãŸããŠããŸããŸãããã®ãããåºåä¿¡å·ã«ã¯ããŒãã¹ãã£ã«ã¿ãå ¥ããŠãããã®ãã€ãºãã«ããããŸããä»åã¯ããŒã¿ã·ãŒãã«æ²èŒãããŠãã2-Pole Butterworthãã£ã«ã¿åè·¯ã䜿çšããŸããããã ããã³ã³ãã³ãµãæµæåšã®å€ã¯ïŒç¹æ§ã¯å€ãããªãããã«ãã€ã€ïŒå ¥æãããããã®ã«å€æŽãããŸãå黿ºåäœçšã«GNDããã€ã¢ã¹é»å§æºã«å ¥ãæ¿ããŠããŸããããã«ãå ¥åéšãšåæ§ã«ã¯ãã¹ããŒã¯ã®äœæžãå³ãããã1åè·¯å ¥ãã®ãªãã¢ã³ãã䜿çšããŠå³ãã£ãã«ãšå·Šãã£ãã«ãå®å šã«åé¢ãããŠããŸãããã¡ãã¯ãã€ã¢ã¹é»å§ãååã«é«ãèšå®ã§ããã®ã§ïŒä»åã¯4.5Vã«èšå®ïŒããªãã¢ã³ãã«ã¯å ¥æããããOP07ãéžæããŠããŸãã
ãã®åè·¯ã®åºåä¿¡å·ã¯ãã€ã¢ã¹é»å§ãå«ãã§ãããããæçµçãªåºå段ã§çŽåã«ã³ã³ãã³ãµãå ¥ããŠãã€ã¢ã¹é»å§ãé€å»ããå¿ èŠããããŸãã
ãã®ã»ãã®çްããéšå
V4220Mãšã®æ¥ç¶ã«äœ¿çšããŠããªããã€ã³ã³ã®GPIOãã³ãã¢ããã°ä¿¡å·å ¥åã»åºåã黿ºç«¯åã¯ãã³ãããã«æ¥ç¶ãããã®ãã³ãããçµç±ã§å€éšãšããåãããããã«ããŠããŸãã
ãŸãããã®åè·¯ã¯ãã€ã³ã³ãšããŠXIAO ESP32-S3-PLUSã䜿çšããæ³å®ã§èšèšããŠããŸããããã以å€ã®XIAOã·ãªãŒãºãã€ã³ã³ã§ã®äœ¿çšãèæ ®ããŠããŸãããã®å Žåãå©çšã§ãããã³ã¯ïŒé»æºãã³ãå«ããŠïŒ1ïœ14ãŸã§ã®14æ¬ã®ã¿ã«ãªããV4220Mã®DIF0ãDIF1ãDEM0ãDEM1ãã³ã¯ãã€ã³ã³ããæäœã§ããªããªããŸãããã®ããããããã®ãã³ã«å ããé»å§ïŒ0Vãããã¯3.3VïŒãåºæ¿äžã§èšå®ã§ããããããããã®ãã³ã«ã¯DIPã¹ã€ããããžã£ã³ããŒãæ¥ç¶ããŠããŸãããŸããV4220MããMCLKãåãåã£ãããéã«MCLKãéã蟌ãããã®ãžã£ã³ããŒãçšæããŠãããŸããã
åºæ¿ã¬ã€ã¢ãŠã
ä»åã®åºæ¿ã¯ãã€ãºå¯Ÿçã®ãããäžèšã®ãããªæ¹éã§èšèšããŸããã
4å±€åºæ¿ã䜿ããå åŽã®2å±€ã¯å šé¢ãGNDãšããããšã§ïŒãããããã¿GNDïŒãããžã¿ã«éšåã®åè·¯ã§çºçãããã€ãºã®äŒæ¬ãæãã
ããžã¿ã«åè·¯ãšã¢ããã°åè·¯ãåºæ¿äžã§æ··åšããããã§ããã ãåããããã¯ã«ãŸãšãã
åºæ¿ãµã€ãºã¯50mm忹以äžã«æãã
4å±€åºæ¿ãšãããšé«äŸ¡ãªã€ã¡ãŒãžããããŸãããæè¿ã§ã¯4å±€åºæ¿ãå®äŸ¡ã«è£œé ã§ããããã«ãªã£ãŠããŸãããã ãJLCPCBã§è£œé ããå Žåã50mmÃ50mmãè¶ ãããµã€ãºã«ãªããšäžæ°ã«è£œé è²»çšãäžæããŸãïŒããã§ãäžæåã«æ¯ã¹ãã°å®ãã§ããïŒããã®ãããåºæ¿ãµã€ãºã¯50mm忹以äžã«ãããšããæ¹éã§èšèšãè¡ããŸãããå®éã«CADäžã§éšåãé 眮ãããã¿ãŒã³ã¯ãã®ãããªæãã«ãªããŸãïŒæåæããŒãžã§ã³ãªã®ã§ãäžéšåè·¯å³ãšã¯ç°ãªãéšåããããŸãïŒã
åºæ¿ã®äžåŽã«ã¯ã¢ããã°åè·¯ãäžåŽã«ã¯ãã€ã³ã³ãå«ãããžã¿ã«åè·¯ãå®è£ ããŠããŸãããŸããäœããã®ãã©ãã«ã§ãã€ã³ã³ãV4220Mãç ŽæãããŠããŸã£ãŠã亀æãããããããäž¡è ãšãã«ãã³ãããçµç±ã§æ¥ç¶ããããšãæ³å®ããŠããŸãïŒV4220Mã«ã€ããŠã¯çŽæ¥åºæ¿äžã«ã¯ãã ä»ãã§ãããã衚é¢å®è£ ã®ãã¿ãŒã³ãçšæããŠããŸãïŒããã ãXIAO ESP32S3-PLUSã®å ¥åºå端åããã«ã«æŽ»çšããããšããå Žåããã€ã³ã³åºæ¿ã®çžã«ã¯ãã ä»ããè¡ãå¿ èŠããããã®ã§ãããçåŽã¯1.27mmãããã®ç«¯åã13åããã®å察åŽã¯1.27mmãããã®ç«¯å7åãš2.54mmãããã®ç«¯å3åãšããå€åçãªæ§æã®ãããåºæ¿åŽã2.54mmãããã®ãã³ããããš1.27mmãããã®ãã³ãããã䜵çšããæ§æãšããŸããããã®ãããã¯ãã ä»ããããªãé¢åãªããšã«ãªã£ãŠããŸãã
ãã€ã¢ã¹é»å§çæéšåïŒC1ãšC29ïŒã«ã¯é»è§£ã³ã³ãã³ãµã䜿çšããŠããŸããC29ã¯äžè¬çãªåç圢ã®é»è§£ã³ã³ãã³ãµã§ãããC1ã¯ã¹ããŒã¹ãã®ãªã®ãªã ã£ãã®ã§é·æ¹åœ¢åã®è¡šé¢å®è£ é»è§£ã³ã³ãã³ãµãæ¡çšããŸããã
ãŸããã¢ããã°ä¿¡å·ã®å ¥å段ãšåºå段ã®ããŒãã¹ãã£ã«ã¿éšåã«ã¯ãã£ã«ã ã³ã³ãã³ãµã䜿çšããŠããŸããä»å䜿çšãã容éã®ã³ã³ãã³ãµã¯ããŸãå ¥ææ§ãè¯ããªãã®ã§ã¹ã«ãŒããŒã«éšåã§å®è£ ããŠããŸãããã³ã³ãã³ãµèªäœã®ãµã€ãºïŒç¹ã«é«ãïŒã倧ãããªã®ã§ã衚é¢å®è£ åã䜿ã£ãã»ããè¯ãã£ããããããŸãããããã以å€ã®ã³ã³ãã³ãµã¯ãã¹ãŠç©å±€ã»ã©ããã¯ã³ã³ãã³ãµã§ãã
åºæ¿å®è£ ã®çºæ³š
ä»åã®åºæ¿ã¯è¡šé¢å®è£ éšåãå€çšããŠãããããJLCPCBã«åºæ¿è£œé ãšãšãã«è¡šé¢å®è£ éšåã®å®è£ ãçºæ³šããŸãããå®äŸ¡ã«æžãŸãããããåºæ¬çã«äœ¿çšããéšåã¯è¿œå æéãããããªãäžè¬çãªãã®ãéžæããŠããŸããããªãã¢ã³ãã®TLV2365ã ãã¯è¿œå æéïŒçŽ3ãã«ïŒãæ¯æã£ãŠå®è£ ããŠããŸãã
宿ããåºæ¿
å±ããåºæ¿ã«ã远å ã§å¿ èŠãªéšåãæå ã§å®è£ ãããã®ãæåã«ç޹ä»ããåçã§ããV4220Mã¯çŽæ¥ã¯ãã ä»ãããã®ã§ã¯ãªããç§æé»åã®DIPå€æåºæ¿ã䜿ã£ãŠãã³ãããçµç±ã§åãä»ããŠããŸãã
I2Sã§ä¿¡å·ãããåãããããã°ã©ã
ãã®åºæ¿ã䜿ã£ãŠããžã¿ã«ä¿¡å·åŠçãè¡ãã«ã¯ãåœç¶ãªããESP32S3åŽã§ããã°ã©ã ãäœæããå¿ èŠããããŸãããã¡ãã«ã€ããŠè©³ããã¯å¥é玹ä»ããäºå®ãªã®ã§ãããã§ã¯èšå®ãã¹ãããšã«çµã£ãŠç°¡åã«ç޹ä»ããŸãã
ããã°ã©ã ã¯äžèšã®ãããªæµãã«ãªããŸãã
GPIOããŒãã®åæå
V4220Mã®åæå
I2Sã®åæåãšèšå®
I2Sã§ã®ããŒã¿ããåããšä¿¡å·åŠç
ããŒãã®åæå
ä»åã¯V4220Mããã¹ã¿ãŒãESP32S3ãã¹ã¬ãŒããšããŠåäœãããŸãããã®å ŽåãESP32S3åŽã§I2Sã§äœ¿çšãããã³ã®ãã¡DOUTãåºåçšã«ãDINãBCLKãWSãå ¥åçšã«èšå®ããŸãããŸããV4220Mã¯ãã®é»æºæå ¥æãããã¯ãªã»ããããã®åŸ©åž°æã«DOUT端åïŒã€ãŸãESP32S3ã®DIN端åïŒã47kΩã§ãã«ããŠã³ãããŠãããšãã¹ã¿ãŒãããã§ãªãå Žåã¯ã¹ã¬ãŒããšããŠåäœããŸããESP32S3ã®åGPIO端åã«ã¯45kΩã®ãã«ããŠã³æµæãå èµãããŠããã®ã§ãå¥éãã«ããŠã³æµæãæ¥ç¶ããå¿ èŠã¯ãªããããã°ã©ã åŽã§å èµãã«ããŠã³æµæã®æå¹/ç¡å¹ãåãæ¿ããŠV4220Mããªã»ããããã ãã§V4220Mããã¹ã¿ãŒãšããŠåäœãããããšãã§ããŸãïŒåŸè¿°ïŒã
ããã«å ããŠãV4220Mã®RSTNãDIF0ãDIF1ãDEM0ãDEM1ã«æ¥ç¶ãããŠãã端åã¯åºåã«èšå®ããŸãã
V4220Mã®åæå
V4220Mã®RSTN端åã«æ¥ç¶ãããŠããGPIO端åã®å€0ã«èšå®ãããšãV4220Mã¯ãªã»ããç¶æ ã«ãªã£ãŠåäœã忢ããŸãããã®ç¶æ ã§DIF0ãDIF1ãDEM0ãDEM1端åã«æ¥ç¶ãããŠããGPIO端åãåžæããå€ïŒä»åã¯DIF0ãšDIF1ã0ãDEM0ãšDEM1ã1ïŒã«èšå®ãããã®åŸã«RSTN端åã«æ¥ç¶ãããŠããGPIO端åã®å€ã1ã«èšå®ããããšã§ãV4220Mãåèµ·åãããŠæå®ããå€ãåæ ãããŸãã
ã¡ãªã¿ã«ãV4220Mã®RSTN端åã0ã«ãªã£ãŠãããªã»ããç¶æ ã«ãªããŸã§ã¯10ããªç§ã1ã«ãªã£ãŠãããªã¹ã¿ãŒããŸã§ã¯50ããªç§ããããããªã®ã§ãRSTN端åã«æ¥ç¶ããŠããGPIO端åã®å€ãå€ããããšã¯ãã®æé以äžåŸ æ©ããå¿ èŠããããŸãã
I2Sã®åæåãšèšå®
I2Sã«ã¯ããŸããŸãªæ¹èšïŒïŒïŒããããããã€ã¹ã«ãã£ãŠåŸ®åŠã«ãã©ãŒããããç°ãªãããã§ããESP32ã®I2Sæ©èœã¯ããŸããŸãªããã€ã¹ã«å¯Ÿå¿ã§ããããã«ãªã£ãŠãããããèšå®ãããè€éã§ããV4220Mãè€æ°ã®ãã©ãŒãããã«å¯Ÿå¿ããŠãããDIF0/DIF1ãã³ã§ã©ã®ãã©ãŒãããã䜿çšãããéžæã§ããã®ã§ãããä»åã¯æãã¹ã¿ã³ããŒããšããããDIF0ïŒ0ãDIF1ïŒ0ãïŒPhilipsãã©ãŒãããïŒã䜿çšããŸããããã«å¯Ÿå¿ããèšå®ã¯ä»¥äžã®ããã«ãªããŸãã
ãµã³ããªã³ã°åšæ³¢æ°ïŒ48,000ïŒ48kHzïŒ
ESP32S3åŽãã¹ã¿ãŒã¯ããã¯ã®çææºïŒSCLKïŒïŒPLL240M
ãã¹ã¿ãŒã¯ããã¯ã®åçïŒãµã³ããªã³ã°åšæ³¢æ°ã®512å
BCLKã®åšæ³¢æ°ïŒãã¹ã¿ãŒã¯ããã¯ã®8åã®1ïŒãµã³ããªã³ã°åšæ³¢æ°ã®32åïŒ
data_bit_widthïŒããŒã¿ãããå¹ ïŒïŒ32ããã
slot_bit_widthïŒã¹ããããããå¹ ïŒïŒ32ããã
ã¹ãããã¢ãŒãïŒã¹ãã¬ãª
䜿çšããã¹ãããïŒå·Šãšå³äž¡æ¹
WSã®å¹ ïŒ32ããã
ãããã·ããïŒãã
ããŒã¿ã®æ ŒçŽæ¹æ³ïŒå·Šè©°ã
ããŒã¿ã®æ ŒçŽãšã³ãã£ã¢ã³ïŒãªãã«ãšã³ãã£ã¢ã³
ãããã®æ ŒçŽæ¹æ³ïŒé«äœããããå
ESP32ã·ãªãŒãºã§I2Sã䜿ãã«åœãã£ãŠã¯ãå人çã«ã¯ãã®ãã©ã¡ãŒã¿èšå®ãäžçªé£ãããšæããŸããïŒèªåãçŽäœæ²æãçµãŠãã®èšå®å€ã«èŸ¿ãçããŸããïŒãããããã®å€ã¯æ¬¡ã®ããã«ããŠæ±ºå®ããŠããŸãã
ãµã³ããªã³ã°åšæ³¢æ°
æ¥ç¶ããããã€ã¹ïŒä»åã¯V4220MïŒåŽã®ãµã³ããªã³ã°åšæ³¢æ°ãšåãå€ãæå®ããŸãã
ESP32S3åŽãã¹ã¿ãŒã¯ããã¯ã®çææºïŒSCLKïŒ
ããã§ã®ãSCLKãã¯V4220Mã®SCLKã§ã¯ãªããESP32S3å éšã®ã¯ããã¯æºïŒSource ClockïŒãæå³ããŠããŸããäžèšã®ãããããéžæã§ããŸãã
ESP32S3ã«æ¥ç¶ãããïŒãã€ã³ã³ããŒãäžã«èšçœ®ãããŠããïŒ40MHzã®æ°Žæ¶æ¯ååïŒXTALïŒ
äžèšã®æ°Žæ¶æ¯ååã§çæããã¯ããã¯ã4åå²ããŠçæãã160MHzã¯ããã¯
äžèšã®æ°Žæ¶æ¯ååã§çæããã¯ããã¯ã6åå²ããŠçæãã240MHzã¯ããã¯
å€éšã¯ããã¯ïŒESP32S3å€ã§çæããŠESP32S3ã®ããããã®ãã³ã«å ¥åãããã¯ããã¯ïŒ
ããã©ã«ãã§ã¯160MHzãããã¹ã¿ãŒã¯ããã¯ãçæããŸãããããé«ãåšæ³¢æ°ã®ã¯ããã¯æºã䜿ã£ãã»ããããæ£ç¢ºãªã¯ããã¯çæãæåŸ ã§ãããããä»åã¯240MHzã®ã¯ããã¯ãœãŒã¹ã§ããPLL240Mãæå®ããŠããŸãããã ãä»åã¯ESP32S3ãšV4220Mãšã§ãã¹ã¿ãŒã¯ããã¯ãåæãããŠããªãããããã®å€ã倿ŽãããšããŠãåäœãé³è³ªãžã®åœ±é¿ã¯ãªããšã¯æããŸãã
ãã¹ã¿ãŒã¯ããã¯ã®åçïŒmclk_multipleïŒ
ESP32S3åŽã§äœ¿çšããI2Sã®ãã¹ã¿ãŒã¯ããã¯åšæ³¢æ°ãæå®ããŸãããµã³ããªã³ã°åšæ³¢æ°ã®128/192/256/384/512/576/768/1024/1152åã®ããããã§éžæããŸããä»åã¯V4220MãšESP32S3ãšã§ãã¹ã¿ãŒã¯ããã¯ãåæãããŠããªãããããã®ãã¹ã¿ãŒã¯ããã¯åšæ³¢æ°ãV4220Mã®ãã¹ã¿ãŒã¯ããã¯åšæ³¢æ°ïŒä»åã®ããŒããŠã§ã¢æ§æã®å Žåã§ã¯ãµã³ããªã³ã°åšæ³¢æ°ã®256åïŒãšäžèŽãããå¿ èŠã¯ãããŸããã
V4220Mããã¹ã¿ãŒãšããŠåäœãããå Žåãæ¬¡ã®BCLKã®åšæ³¢æ°ã«ãã£ãŠéžæã§ããå€ã決ãŸããŸãã
BCLKã®åšæ³¢æ°ïŒbclk_divïŒ
BCLKïŒV4220MåŽã§èšãSCLKïŒã®åšæ³¢æ°ãããã¹ã¿ãŒã¯ããã¯ã®Xåã®1ãïŒXã¯æŽæ°ïŒãšããåœ¢ã§æå®ããŸããXã¯8以äžã§ããå¿ èŠããããŸããéã«èšããšããã¹ã¿ãŒã¯ããã¯ã¯BCLKã®ïŒ8å以äžã®ïŒæŽæ°åã§ãªããã°ãªããªããããããšã§ãã
V4220Mããã¹ã¿ãŒãšããŠåäœãããå ŽåãBCLKã¯ãµã³ããªã³ã°åšæ³¢æ°ã®64åïŒ64FsïŒã«ãªããŸãããã®ãããããã§éžæã§ããå€ãšãã¹ã¿ãŒã¯ããã¯åçã®é¢ä¿ã¯äžèšã®ããããã«ãªããŸãã
bclk_div=8ãmclk_multiple=512åïŒ64Ã8ïŒããã¹ã¿ãŒã¯ããã¯24.576MHz
bclk_div=9ãmclk_multiple=576åïŒ64Ã9ïŒããã¹ã¿ãŒã¯ããã¯27.648MHz
bclk_div=12ãmclk_multiple=768åïŒ64Ã12ïŒããã¹ã¿ãŒã¯ããã¯36.864MHz
bclk_div=16ãmclk_multiple=1024åïŒ64Ã16ïŒããã¹ã¿ãŒã¯ããã¯49.152MHz
bclk_div=18ãmclk_multiple=1152åïŒ64Ã18ïŒããã¹ã¿ãŒã¯ããã¯55.296MHz
ãã¹ã¿ãŒã¯ããã¯ã¯ã¯ããã¯ãœãŒã¹ïŒ40MHzãããã¯160MHzã240MHzïŒããçæããéœåäžããã®åšæ³¢æ°ãã¯ããã¯ãœãŒã¹åšæ³¢æ°ã®æŽæ°åã®1ã«ãªãã®ãæé©ã§ãïŒããšãã°ã¯ããã¯ãœãŒã¹240MHzã®å Žå120MHzã80MHzã60MHzãªã©ïŒããããããµã³ããªã³ã°åšæ³¢æ°ã48kHzã®å Žåã©ããã£ãŠãããã¯ç¡çãªã®ã§ããã®å Žåã¯ã§ããã ãå°ããå€ã«ããããšã§ã¯ããã¯çææã®èª€å·®ãæžããããšãæåŸ ã§ããŸããã€ãŸãããã®å Žåã¯bclk_div=8ãmclk_multiple=512åãæé©å€ãšãªããŸãïŒãã®å Žåã240MHzã®10åã®1ïŒ24MHzãšã9åã®1ïŒ26.666âŠHzã®ã¯ããã¯ã49:15ã®å²åã§çµã¿åãããããšã§ç䌌çã«24.576MHzã®ãã¹ã¿ãŒã¯ããã¯ãçæãã圢ã«ãªãïŒã
data_bit_widthïŒããŒã¿ãããå¹ ïŒ
å ¥åºåããããŒã¿ã®ãããæ°ãæå®ããŸããäžè¬çã«ã¯äœ¿çšããéååãããæ°ïŒV4220Mã®å Žå24ïŒãæå®ããŸãããæ¬¡ã®slot_bit_width以äžã®å€ã§ããã°å¿ ãããéååãããæ°ã«äžèŽãããå¿ èŠã¯ãããŸããã
ãã ãESP32S3ã®I2Sæ©èœã§ã¯ãããŒã¿ãããå¹ ãšããŠ24ããããæå®ããå Žåã1ãµã³ãã«åã®ããŒã¿ã8ãããåïŒint8_tïŒã®å€æ°3ã€åäœã§ããåãããããšã«ãªããŸãããã£ãœãã§24ãããã®ããŒã¿ãåŠçããå Žåã¯32ãããåïŒint32_tïŒã®å€æ°ã䜿çšããã®ãäžè¬çãªã®ã§ãåãåã£ã3ã€ã®8ãããããŒã¿ãçµã¿åãããŠint32_tåã®å€æ°ã«æ ŒçŽããåŠçã远å ã§å¿ èŠã«ãªããŸãã
ãŸããESP32S3ã®I2Sæ©èœã§ã¯ãã®å€ã24ã«èšå®ããå Žåããã¹ã¿ãŒã¯ããã¯åçã®èšå®ã«å¶çŽãçºçããŸãããããã®åé¡ãåé¿ãããããä»åã¯slot_bit_withãšåã32ã«èšå®ããŠããŸãããã®èšå®ã®å ŽåãI2Sã§ããåãããããŒã¿ã¯32ãããåäœïŒint32_tïŒã«ãªããŸãããåä¿¡ããããŒã¿ã®äžäœ8ãããã«ã¯0ãæ ŒçŽããããŸãéä¿¡ããããŒã¿ã®äžäœ8ãããã¯ç¡èŠãããŸãã
slot_bit_widthïŒã¹ããããããå¹ ïŒ
ãBCLKåšæ³¢æ°ïŒV4220Mã§ããSCLKïŒ/ïŒ2 * ãµã³ããªã³ã°åšæ³¢æ°ïŒããæå®ããŸããV4220Mããã¹ã¿ãŒãšããŠåäœãããå ŽåãBCLKïŒSCLKïŒã¯ãµã³ããªã³ã°åšæ³¢æ°ã®64åïŒ64FsïŒãªã®ã§ããã®ååã®32ãæå®ããŸããïŒ64*Fs/(2*Fs) = 32ïŒã
ã¹ãããã¢ãŒã
ä»åã¯2ãã£ã³ãã«ïŒã¹ãã¬ãªïŒã§å ¥åºåãè¡ãã®ã§ã¹ãã¬ãªã«æå®ããŸãã
䜿çšããã¹ããã
ã¹ãã¬ãªå ¥åºåãªã®ã§å·Šãšå³äž¡æ¹ã䜿çšããããæå®ããŸãã
WSã®å¹
slot_bit_widthãšåãå€ãæå®ããŸãã
ãããã·ãã
Philipsãã©ãŒãããã§ã¯WSïŒLRCKïŒã®å€ãå€ãã£ãŠãã1ã¯ããã¯åŸã«ããŒã¿ã®æåã®ããããéä¿¡ãããŸãããã®1ã¯ããã¯ã®é å»¶ããããã·ããã§ãïŒã€ãŸããããã·ããããïŒ
ããŒã¿ã®æ ŒçŽæ¹æ³
ãããã·ããåŸãããã«ããŒã¿éä¿¡ãè¡ãã®ã§ãå·Šè©°ãããæå®ããŸãã
ããŒã¿ã®æ ŒçŽãšã³ãã£ã¢ã³
I2Sã§ã¯ããã°ãšã³ãã£ã¢ã³ïŒæäžäœãã€ããå·ŠåŽã«éä¿¡ïŒã§ããŒã¿ã®ããåããè¡ããŸãããESP32ã¯å éšçã«ãªãã«ãšã³ãã£ã¢ã³ã§ããŒã¿ãåŠçããŸãããã®ãããããã§ã¯ãªãã«ãšã³ãã£ã¢ã³ãæå®ããŠãšã³ãã£ã¢ã³ãèªå倿ããŠããããŸãã
ãããã®æ ŒçŽæ¹æ³
Philipsãã©ãŒãããã§ã¯é«äœããããå ã«éä¿¡ããŸãã
ããã以å€ã®èšå®ã§ãåäœããå¯èœæ§ã¯ãããŸãã®ã§ããã现ããæåããã¥ãŒãã³ã°ãããå Žåã¯è©Šè¡é¯èª€ããŠã¿ããšè¯ããããããŸããã
I2Sã§ã®ããŒã¿éåä¿¡
ESP32S3ã®I2Sæ©èœã§ã¯ãããã°ã©ã åŽã§çšæãããããã¡ãä»ããŠããŒã¿ã®ããåããè¡ããŸããããŒã¿ã®éåä¿¡ã¯ãªã¢ã«ã¿ã€ã ã§è¡ãããããã§ã¯ãªãããããããæå®ããåäœïŒïŒãããã¡ãµã€ãºåäœïŒã§ãŸãšããŠè¡ãããŸãããŸããä»åã®èšå®ã§ã¯1ãµã³ãã«åœãã8ãã€ãïŒ1ãã£ã³ãã«åœãã32ãããïŒ4ãã€ããã¹ãã¬ãªãªã®ã§ãã®2åïŒã®ãããã¡ãå¿ èŠã«ãªããŸããã€ãŸããããšãã°ãããã¡ãµã€ãºã3840ãã€ãã«èšå®ããå Žåã480ãµã³ãã«ïŒïŒ3840/8ïŒåã®ããŒã¿ããŸãšããŠå ¥åºåãã圢ã«ãªããŸãããµã³ããªã³ã°åšæ³¢æ°ã48kHzã®å Žåã480ãµã³ãã«ã¯10ããªç§åã®ããŒã¿ã«çžåœããã®ã§ãå ¥åãããããŒã¿ãèªã¿åã£ãŠåŠçããŠåºåãããŸã§ã«ãæäœã§ã10ããªç§ã®æéãå¿ èŠã«ãªããŸãããããã¡ãµã€ãºãå°ããããã°ãã®é å»¶æéã¯çãã§ããŸããããã®åãšãã§ã¯ãåŠçã«æããããæéã¯çããªãç¹ã«ã¯æ³šæãå¿ èŠã§ãã
ãŸããå ¥åºåãããã¡ã«ã¯å³ãã£ãã«ãšå·Šãã£ãã«ã®ããŒã¿ã亀äºã«æ ŒçŽããŸãããã®ãããç³ã¿èŸŒã¿åŠçãªã©æé軞ã«å¯ŸããŠé£ç¶ããåŠçãè¡ãå Žåã¯ãã€ã³ããã¯ã¹æå®ã®éã«æ³šæãå¿ èŠã§ãã
次åã«ç¶ã
å®éã«ä»åäœæããããã€ã¹ã§ãšãã§ã¯ãããã«ãäœã£ãŠã¿ãã®ã§ããããã¡ãã«ã€ããŠã¯ãŸãé·ããªããããªã®ã§æ¬¡ã®æ©äŒã«ç޹ä»ããŸãããã°ããåŸ ã¡ãã ããïŒ







