MP3处理模块子程序:
  if(mp3_start_flag==1)   /*初次插入设备*/
  {    ……
         mp3_flag=1;
                 /*AU7842启动标志位置位,开始响应*/
       curreNTChannel=0x01;    
   if(Current_PlayDev==1)           /*检测到USB接口有存储
                                                  设备接入*/
   { ……                        
   Play_BreakPoint_USB(1);  
                /*读取USB存储设备中的数据 */
   }                                    
   else if(Current_PlayDev==2)    
           /*检测到SD接口有存储设备接入*/
   { ……
   Play_BreakPoint_SD(1);   /*读取SD卡中的数据*/
   }                                 
            }                                   /* */
   if((Dev_Status!=0)&&(Current_DevStatus!=Dev_Status)&&(Current_DevStatus==DEV_USB_SD))
                                                  /*后设备的启动播放*/
   {  ……
   if(Current_PlayDev==DEV_USB)
           /*正在播放的USB存储器*/
         { DEV_Change_Flag=1;          /*切换标志位置位*/
   UART_putc(0x55);
     uart_putc(0x00);
   uart_putc(0xFF);
   uart_putc(0x15);
   uart_putc(0xEA);    
      ……                
   Play_BreakPoint_SD(1);
       /*切换到从SD卡播放*/
   }
  else if(Current_PlayDev==
     DEV_SD) /*正在播放的是SD卡*/
   {  DEV_Change_Flag=1;     /*切换标志位置位*/
         uart_putc(0x55);                  
           uart_putc(0x00);
           uart_putc(0xFF);
           uart_putc(0x1B);
           uart_putc(0xE4);                      
      ……                
       Play_BreakPoint_USB(1);  
  /*切换到从USB存储器播放*/
                }
            }
 3.2掉电记忆功能
  为满足使用的要求,车载MP3播放器应具有掉电记忆功能。掉电记忆功能可实现MP3播放器在掉电或关机后,上次各种设定值(如音量、音效、播放模式等)不会因断电而复位,在下一次开机时不需重新设定,可以直接调用上次设定值。记忆流程如图5所示。

  掉电记忆子程序:
   void Save_Data(void)  /*定义掉电记忆函数*/
    {  Wirte_EEPROM(0x06db,vol_val);
         /*记忆掉电前音量设定值*/
    Wirte_EEPROM(0x06dc,bass_val);
  /*记忆掉电前低音设定值*/
 Wirte_EEPROM(0x06dd,tre_val);
 /*记忆掉电前高音设定值*/
 Wirte_EEPROM(0x06de,loud_val);
  /*记忆掉电前低音设定值*/
 Wirte_EEPROM(0x0700,Save_USB_Song1);
  /*记忆掉电前USB曲目顺序号*/
      … …
   Wirte_EEPROM(0x0703,Save_USB_Min1);
 /*记忆掉电前USB中正在播放曲目的播放时间*/
         … …
   Wirte_EEPROM(0x0707,Save_SD_Song1);
                 /*记忆掉电前SD中正在播放的曲目顺序号*/
           … …
   Wirte_EEPROM(0x070a,Save_SD_Min1);}
             /*记忆掉电前USB中正在播放曲目的播放时间*/
     本文设计的车载MP3播放器,在MP3音频文件存储设备方面有较大的突破,新型大容量存储设备(SD卡等)取代了传统卡带存储,并能够以多种音效播放。系统操作简便, MP3播放性能良好。为保证播放器稳定工作,实验模拟汽车行驶状况[5]:将播放器分别置于零下40℃和60℃环境中进行极限温度试验并置于四度一体空间振动试验台上进行振动测试,播放器长时间运行,各项功能稳定,播放性能良好。该款播放器已经成功应用在某些品牌工程车上。
 参考文献
 [1] 谭昭禹,颜永红,马勋.音频子系统中的I2C接口电路设计[J]. 微计算机信息,2008,24(26):252-254.
 [2] Shanghai Mountain View SILICon Technology Co Ltd. AU7842 USB HOST MP3/WMA DECODER SOC[DB/OL], 2007,6.
 [3] 邸春芳.车载MP3的应用设计[J]. 计量与测试技术,2008,35(9);36-38.
 [4] 李文.一种新型5 V大功率开关稳压电源[J].微电子学,2003,33(1):74-77
 [5] GRAZIANO M, ROCH M R R. An automotive CD-player eleCTRo-mechanics fault simulation using VHDL-AMS[J]. Journal of Electronic Testing, 2008(6): 539-553.