اطلاعیه

Collapse
No announcement yet.

مشکل با VS1003

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با VS1003

    VS1003 دیگه داره دیونم میکنه با SPI نرم افزاری موزیک که داره پخش میشه با سرعت زیاد قطع و وصل میشه.کریستال 12.288 با مقاومت 1 مگ هم گزاشتم.

    کد:
    $regfile = "m128def.dat"
    $crystal = 8000000
    
    $swstack = 128
    $hwstack = 128
    $framesize = 1024
    '--------------------------------------------------------------
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portf.4 , Db5 = Portf.5 , Db6 = Portf.6 , _
    Db7 = Portf.7 , E = Portf.2 , Rs = Portf.3
    '----------------------------------------------------------------
    '-----------------------------------------------------------------------
    Led Alias Portd.0
    'Mmc_csn Alias Portb.0
    
    Xrst Alias Portd.7
    Dreq Alias Pind.6
    Xdcs Alias Portd.5
    Xcs Alias Portd.4
    Vs_miso Alias Portd.3
    Vs_mosi Alias Portd.2
    Vs_clock Alias Portd.1
    
    Config Led = Output                     'led
    Config Vs_miso = Input                   'serial input vs-1003
    Config Vs_mosi = Output                   'serial out  vs-1003
    Config Vs_clock = Output                  'serial clock vs-1003
    Config Xcs = Output                     'VS Chip Select
    Config Xrst = Output                    'VS Reset
    Config Dreq = Input                     'VS Data Request
    Config Xdcs = Output                    'VS Stream Request
    '-------------------------------------------------------------------------------
    
    Set Vs_mosi
    Set Vs_clock
    Set Xcs
    Set Xrst
    Set Xdcs
    Cls
    Reset Led
    Reset Vs_mosi
    Reset Vs_clock
    
    
    '-------------------------
    
    '-------------------------------------------------------------------------------
    Dim B As Byte
    Dim A1 As Byte
    Dim A2 As Byte
    Dim L As Byte
    Dim Ff As Byte
    Dim S As String * 30
    Dim Diskf As Long
    Dim Disks As Long
    Dim Vs_w As Byte
    Dim Vs_r As Byte
    Dim Sc_mode_ad As Byte
    Dim Sc_bass_ad As Byte
    Dim Sc_clockf_ad As Byte
    Dim Sc_aiaddr_ad As Byte
    Dim Sc_vol_ad As Byte
    Dim I As Word
    Dim Buffer(512) As Byte
    
    '-------------------------------------------------------------------------------
    Vs_w = 2
    Vs_r = 3
    Sc_mode_ad = 0
    Sc_bass_ad = 2
    Sc_clockf_ad = 3
    Sc_aiaddr_ad = 10
    Sc_vol_ad = 11
    Led = 0
    
    '-------------------------------------------------------------------------------
    
    Cursor Off
    Cls
    Lcd "loading..."
    
    $include "Config_AVR-DOS.BAS"
    $include "Config_MMC.bas"
    
    B = Drivereset()
    B = Driveinit()
    
    If Gbdriveerror <> 0 Then
    Cls
    Lcd "mmc config error"
    End
    End If
                    'include avr-dos
    B = Initfilesystem(1)                    'init file system
    If B <> 0 Then Print "Errore MMC"              'se errore
    Cls
    Lcd "VS1003 !!!"
    Waitms 500
    
    
    Set Led
    Cls
    Lcd "Reseting VS1003."
    Reset Xrst
    Wait 1
    Set Xrst
    Waitus 500
    
    Bitwait Dreq , Set
    Reset Led
    
    Cls
    Lcd "Initializing VS"
    Waitms 500
    Set Led
    
    Reset Xcs
    Cls
    Lcd "Reset Xcs"
    Waitms 500
    Shiftout Vs_mosi , Vs_clock , Vs_w , 1
    'Spiout Vs_w , 1
    Shiftout Vs_mosi , Vs_clock , Sc_mode_ad , 1
    
    'Spiout Sc_mode_ad , 1                    'Halate Kariyeh VS1003
    A1 = 8
    A2 = 0
    Shiftout Vs_mosi , Vs_clock , A1 , 1
    
    'Spiout A1 , 1
    Shiftout Vs_mosi , Vs_clock , A2 , 1
    
    'Spiout A2 , 1
    Set Xcs
    Cls
    Lcd "Set Xcs"
    'Wait 10
    Waitus 500
    Bitwait Dreq , Set
    
    Reset Xcs
    Shiftout Vs_mosi , Vs_clock , Vs_w , 1
    
    'Spiout Vs_w , 1
    Shiftout Vs_mosi , Vs_clock , Sc_bass_ad , 1
    
    'Spiout Sc_bass_ad , 1                    'Tanzime Bass va Treble
    A1 = &H79
    A2 = &HF7
    Shiftout Vs_mosi , Vs_clock , A1 , 1
    
    'Spiout A1 , 1
    Shiftout Vs_mosi , Vs_clock , A2 , 1
    
    'Spiout A2 , 1
    Set Xcs
    Waitus 500
    Bitwait Dreq , Set
    
    Reset Xcs
    Shiftout Vs_mosi , Vs_clock , Vs_w , 1
    
    'Spiout Vs_w , 1
    Shiftout Vs_mosi , Vs_clock , Sc_clockf_ad , 1
    
    'Spiout Sc_clockf_ad , 1                   'Tanzimeh Clock va PLL bar royeh Adade 3
    A1 = &H80
    A2 = 0
    Shiftout Vs_mosi , Vs_clock , A1 , 1
    
    'Spiout A1 , 1
    Shiftout Vs_mosi , Vs_clock , A2 , 1
    
    'Spiout A2 , 1
    Set Xcs
    Waitus 500
    Bitwait Dreq , Set
    
    Reset Xcs
    Shiftout Vs_mosi , Vs_clock , Vs_w , 1
    
    'Spiout Vs_w , 1
    Shiftout Vs_mosi , Vs_clock , Sc_aiaddr_ad , 1
    
    'Spiout Sc_aiaddr_ad , 1                   'Barnameyeh Karbari Nadarim
    A1 = 0
    A2 = 0
    Shiftout Vs_mosi , Vs_clock , A1 , 1
    
    'Spiout A1 , 1
    Shiftout Vs_mosi , Vs_clock , A2 , 1
    
    'Spiout A2 , 1
    Set Xcs
    Waitus 500
    Bitwait Dreq , Set
    
    Reset Xcs
    Shiftout Vs_mosi , Vs_clock , Vs_w , 1
    
    'Spiout Vs_w , 1
    Shiftout Vs_mosi , Vs_clock , Sc_vol_ad , 1
    
    'Spiout Sc_vol_ad , 1                    'Tanzime Volume Rooyeh Haddeaksar
    A1 = 0
    A2 = 0
    Shiftout Vs_mosi , Vs_clock , A1 , 1
    
    'Spiout A1 , 1
    Shiftout Vs_mosi , Vs_clock , A2 , 1
    
    'Spiout A2 , 1
    Set Xcs
    Waitus 500
    Bitwait Dreq , Set
    
    Cls
    Lcd "VS1003 initiated"
    Reset Led
    Wait 1
    Cls
    Lcd "playing file:"
    
    Ff = Freefile()
    Open "song.mp3" For Binary As #ff              'create file in MMC
    Locate 2 , 1
    Lcd Ff
    Do
    
      Get #ff , Buffer(1) , , 512
    
    
      Set Led
      Cls
    
    
      For I = 1 To 512
      Reset Xdcs
       Shiftout Vs_mosi , Vs_clock , Buffer(i) , 1
      Set Xdcs
       'Spiout Buffer(i) , 1
       Bitwait Dreq , Set
    
      Next I
      Cls
    
      Bitwait Dreq , Set
    
      Lcd "Set Xdcs"
    
      Reset Led
    Loop Until Eof(#ff) <> 0
    
    Cls
    Lcd "Ended."
    Close #ff
    
    End                             'end program
    اینم اون برنامه ای که استفاده میکنم.

    CVDD : 2.5
    AVDD : 2.85
    IOVDD : 3.3

    میکرو هم با IOVDD وصل هست.مشکل کجاست؟

    #2
    پاسخ : مشکل با VS1003

    کسی نیست کمک کنه؟

    دیدگاه


      #3
      پاسخ : مشکل با VS1003

      هورااااااااااااااااااااااااااااااااا راه افتاد.
      یادم رفته بود فیوز بیت میکرو رو پروگرام کنم.چه کیفیتی داره ایول. :applause:

      دیدگاه

      لطفا صبر کنید...
      X