STM32F4¥·¥ê¡¼¥º¤ò»È¤Ã¤Æ¤ß¤ë7 -Helix MP3 Decoder¤ò¼ÂÁõ¤·¤ÆMP3¥Õ¥¡¥¤¥ë¤ÎºÆÀ¸¤ò¹Ô¤¦-

¥Þ¥¤¥³¥ó¤ò»È¤Ã¤¿¹©ºîʪ¤È¤·¤Æ¤ÏÆþÌç¤È¤Ê¤Ã¤¿MP3¥Õ¥¡¥¤¥ë¤ÎºÆÀ¸¤Ç¤¹¤¬¡¢º£ÆüÆü¤Î
¥³¥¢¥¯¥í¥Ã¥¯100MHz±Û¤¨¤ÎMPU¤Ê¤éVS1053Åù¤Î³°ÉÕ¤±¤Î¥Ç¥³¡¼¥À¡¼IC¤ò»È¤ï¤º¤È¤â
¥½¥Õ¥È¥¦¥¨¥¢¤Ç¥Ç¥³¡¼¥É¤¬²Äǽ¤Ç¤¹¡£
STM32F4¤Ëgiflib¤òºÜ¤»¤Æ°ÊÍè¡¢¼¡¤Î¥¹¥Æ¥Ã¥×¤È¤·¤Æ(Æþ±¡Ãæ¤â¥Î¡¼¥ÈPC¤Ç)²»³ÚºÆÀ¸¤Ë
Ä©À路¤Æ¤¤¤Þ¤·¤¿¤¬»ä¤â¤è¤¦¤ä¤¯·Á¤Ë¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤·¤¿¤Î¤Ç¤´¾Ò²ð¤·¤Þ¤¹¡£


¤¹¤Ç¤ËSTM32¤Ç¤ÏShuji009»á¤¬HelixMP3Decorder¤ÇÄ©À蘆¤ì¤Æ¤ª¤ê¡¢¤µ¤é¤Ë
ÌîÅĤµ¤ó¤Ïlibmad¤ÇMP3¥×¥ì¡¼¥ä¡¼¤òÀ½ºî¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤Í¤à¤¤¤µ¤ó¤Ï¤³¤Á¤é¤ÎBBS¤Ç¸ø³«¤µ¤ì¤Æ¤¤¤¿Helix+STM32F4Discovery¤òÍøÍѤ·¤¿¤â¤Î
¤òÂçÉôʬ»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£¤³¤Î¥×¥í¥°¥é¥à¤ÏSPI¥Ý¡¼¥È¤ò·Ðͳ¤·¤Æ
SD¥«¡¼¥É¤«¤é¥Ç¡¼¥¿¤ò¼èÆÀ¤·¥Ç¥³¡¼¥É¤ò¹Ô¤¦·Á¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¥Ï¡¼¥É¥¦¥¨¥¢Åª¤Ë¤Ï»ä¤Î
¤¤¤Ä¤â¤Î¤È¤Û¤ÜƱ¤¸¹½À®¤À¤Ã¤¿¤Î¤ÇÈó¾ï¤Ë½õ¤«¤ê¤Þ¤·¤¿¡£
¥½¥Õ¥È¥¦¥¨¥¢Åª¤ÊÅÀ¤Ë¤Ä¤¤¤Æ¤ÏChibiOS/RT¤ò»ÈÍѤ·¤Æ¤¤¤¿¤Î¤Ç»ä¤ÎÈóOS´Ä¶­¤Ë°Ü¿¢¤¹¤ë
¤¿¤á¤Ë¤Ï¤µ¤¹¤¬¤Ë¤½¤Î¤Þ¤ÞžÍѤÏÉÔ²Äǽ¤Ç¡¢°ì¤Ä°ì¤ÄÆ°ºî¤òÍý²ò¤·¤Ä¤ÄºÆ¹½À®¤·¤Æ¤¤¤­
¤Þ¤·¤¿¡£

ChaN»á¤Î¥Õ¥¡¥¤¥é¡¼¤Ï¥Ç¡¼¥¿Å¾Á÷ÍѤËÍÆÎ̸ÇÄêÃͤÎÈÆÍѤÎSRAM¤ò³ÎÊݤ¹¤ë¤è¤¦¤Ë
¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤½¤ì¤ò¾å¼ê¤¯»È¤¤SRAMÍÆÎ̤ò°ìÀÚ̵Â̤ˤ·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢I2S¤Ø¤Î¥Ç¡¼¥¿Å¾Á÷¤Ï¥ê¥ó¥°¥Ð¥Ã¥Õ¥¡¹½À®¤ÇDMA¤¹¤ë¤Î¤ÇCPU¤Ë¤«¤Ê¤ê;͵¤¬
¤Ç¤­¤Þ¤¹¡£

¤¢¤ÈSTM32F4¤ò»È¤¤»Ï¤á¤¿¤³¤í¤«¤é²¿ÅÙ¤â¸ÀµÚ¤·¤Æ¤¤¤Þ¤¹¤¬CCMÎΰè¤ÏDMAÉÔ²Äǽ
¤Ê¤Î¤ÇCCMÎΰè¤ò¥¹¥¿¥Ã¥¯¤È¤·¤Æ»È¤¤¡¢¼«Æ°ÊÑ¿ô¤Ë¥Ð¥Ã¥Õ¥¡¤òÃÖ¤¯¤è¤¦¤Ê¥á¥â¥ê¤Î
»È¤¤Êý¤ò¤·¤Æ¤¤¤ë¤ÈÆÃÄ꺤Æñ¤ÊÉÔ¶ñ¹ç¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¤´Ãí°Õ¤¯¤À¤µ¤¤¡£
¡Ä¤Ã¤Æ¤ï¤¶¤ï¤¶¤³¤¦¤¤¤¦¤³¤È½ñ¤¤¤Æ¤ë¤Î¤Ï¼«Ê¬¤Ç¸À¤Ã¤¿¤Ë¤â·¸¤é¤ºÖȤ俤Ȥ¤¤¦
¤³¤È¤Ç¤¹orz¡£


¤Ä¤¤¤Ç¤Ë¤¤¤Ä¤â¤ÎTFT-LCD¤Ë¤â³Æ¼ï¾ðÊó¤ò¾è¤Ã¤±¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
MP3¤ÎID¥¿¥°¤Ïv1¤Èv2¤¬¤¢¤ê¡¢v2¤ÇArtist/Title¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹çv1¤ÎÊý¤â
¤¯¤Þ¤Ê¤¯Ãµ¤¹¥ë¡¼¥Á¥ó¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤â¤Á¤í¤óÆüËܸìɽ¼¨¤âFontX2¥É¥é¥¤¥Ð¤ÇÂбþ¤·¤Æ¤Þ¤¹♥


¢¬MP3¥Õ¥¡¥¤¥ë¤òºÆÀ¸¤·¤Æ¤ë¤È¤³¤í¡£48kHz/230kBps¤Ç¤âSTM32F4¤Ï¤Ñ¤ï¤Õ¤ê¤ã¡¼
¡¡¤Ê¤Î¤Ç¤Þ¤Ã¤¿¤¯¤Î;͵¤Ç¤¹♥(¢¨ºÇŬ²½¥ª¥×¥·¥ç¥ó¤Ïɬ¿Ü¤Ç¤¹)


¢¬Riff-WAVE¥Õ¥¡¥¤¥ë¤â¤â¤Á¤í¤óºÆÀ¸²Äǽ¤Ç¤¹¡£WAVE¤Î¥ë¡¼¥Á¥ó¤ÏChaN»á¤Î
¡¡WAVEPlayerFM3¥Þ¥¤¥³¥óÈǤò°Ü¿¢¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£


MP3Helix¤Î¥Ç¥³¡¼¥À¡¼¤ÏCBR¤ÈVBR¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£±éÁÕÃæ¤ËÁ´±éÁÕ»þ´Ö¤ä·Ð²á
»þ´Ö¤ò¥ê¥¢¥ë¥¿¥¤¥à¤Ëɽ¼¨¤¹¤ë¤¿¤á¤Ë¤ÏCBR¤Î¾ì¹ç¤Ï¥Ø¥Ã¥À¤ò½ü¤¤¤¿¥Ð¥¤¥È¿ô¤«¤éÍÆ°×
¤Ë»»½Ð²Äǽ¤Ç¤¹¡£¤·¤«¤·VBR¤Î¾ì¹ç¤Ï¾¯¡¹Ìñ²ð¤Ç¤¹¡£Àµ³Î¤Ë»»½Ð¤·¤¿¤¤¾ì¹ç¤Ï£±¥Õ¥ì¡¼
¥à¤¢¤¿¤ê¤Î¥Ó¥Ã¥È¥ì¡¼¥È¤«¤é¥Ð¥¤¥È¿ô¤ò·×»»¤·¤µ¤é¤Ë¤½¤ì¤òÁ´¥Õ¥ì¡¼¥à¤Ë¤ï¤¿¤Ã¤Æ¹Ô¤¦
ɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¤â¤Á¤í¤ó¤³¤ó¤Ê¤â¤ó¥ï¥ó¥Á¥Ã¥×¥Þ¥¤¥³¥ó¥ì¥Ù¥ë¤Ç¤Ï¤ä¤Ã¤Æ¤é¤ì¤Ê¤¤
¤Î¤Ç¤¹¤¬°Ê²¼¤Î¥×¥í¥»¥¹¤Ç¶á»÷¤Ç¤­¤Þ¤¹¡£

­¡¡¡ID2¥Ø¥Ã¥ÀÎΰè¤Ë¤¢¤ëXing¤È¸Æ¤Ð¤ì¤ë¥Ø¥Ã¥À¤«¤éÁ´¥Õ¥ì¡¼¥à¿ô¤ò»»½Ð
­¢¡¡¥µ¥ó¥×¥ë¥ì¡¼¥È¤«¤é1¥Õ¥ì¡¼¥à¤¢¤¿¤ê¤Î»þ´Ö¤ò»»½Ð
¡¡¡¡ MPEG1Layer-3¤Ï1¥Õ¥ì¡¼¥à¤¢¤¿¤ê1152Sample¤ÈÄêµÁÉÕ¤±¤é¤ì¤Æ¤ª¤ê¡¢¤¿¤È¤¨¤Ð
¡¡¡¡ 44.1KHz¤Ê¤é1¥Õ¥ì¡¼¥à¤Ë¤«¤«¤ë»þ´Ö¤Ï((1152*10^3)/44100(Hz))=26mSec¤È
¡¡¡¡ ¶á»÷¤Ç¤­¤ë¡£
­£¡¡­¡¤È­¢¤ò³Ý¤±¤ë¤ÈÁí±éÁÕ»þ´Ö¤¬¥ß¥êÉÃñ°Ì¤ÇÆÀ¤é¤ì¤ë¡£

Xing¥Ø¥Ã¥À¡¼¤¬Ìµ¤¤¤È¾åµ­¤Îµ»¤¬»È¤¨¤Þ¤»¤ó¤Î¤Ç±éÁÕ»þ´Ö/·Ð²á»þ´Ö¤Ï¤á¤Á¤ã¤¯¤Á¤ã¤Ë
¤Ê¤Ã¤Á¤ã¤¤¤Þ¤¹¡£ËؤɤÎMP3¥¨¥ó¥³¡¼¥À¡¼¤ÏXing¥Ø¥Ã¥À¡¼¤ò¤Á¤ã¤ó¤ÈÉÕÍ¿¤¹¤ë¤Î¤Ç¤¢¤Þ¤ê
µ¤¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¤¬¡Ä¡£



º£²ó¤Î¥Ç¥â¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¤Ç»ÈÍѤ·¤¿aitendo¤µ¤ó¤ÎLCD¤ÏSPIÀܳ¥ª¥ó¥ê¡¼
¤Ê¤Î¤Ç¤¹¤¬¡¢STM32F4¤ÎÀ­Ç½¤Î¤ª¤«¤²¤ÇLCD¤Ø¤ÎžÁ÷¤ò¥½¥Õ¥ÈSPI¤Ë¤·¤Æ¤â²»¤¬°ìÀÚ
ÅÓÀڤ줺;͵¤Ç´Ö¤Ë¹ç¤¦¥ì¥Ù¥ë¤Ç¤¹¡£
STM32F4¤Û¤ó¤È¤¹¤´¤¤¤Ã¤Æ¤Í¡¢¤Þ¤¿°ì¤Ä³Î¿®¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿!



¤Æ¤ï¤±¤ÇÀèÆü¤è¤êÀè¹Ô¤Ç¾Ò²ð¤Ï¤·¤Æ¤ª¤ê¤Þ¤·¤¿¤¬¥½¡¼¥¹¥³¡¼¥É¤ò²þ¤á¤Æ¾Ò²ð¤·¤Þ¤¹¡£
¤ª¤Þ¤±¤Ç¥Õ¥ê¡¼¤Ç»ÈÍѤǤ­¤ëFontX2¤Î¥Õ¥©¥ó¥È¤ä±£¤ì¤¿¥á¥¤¥ó¥³¥ó¥Æ¥ó¥Ä¤ÎTFT-LCD
¥É¥é¥¤¥Ð¤âÂô»³(ÆäËaitendo¤µ¤ó¤Î¤Ç½é´ü²½¥ë¡¼¥Á¥ó¤¬Ä󼨤µ¤ì¤Æ¤Ê¤¤Éʼï)ÄɲÃ
¤·¤Æ¤ª¤ê¤Þ¤¹¤Î¤Ç¤³¤Á¤é¤âÊ»¤»¤Æ³§¤µ¤ó¤Î»²¹Í¤È¤·¤Æ¤¯¤À¤µ¤¤¡£

Go to top of page