ALINX - និមិត្តសញ្ញាម៉ូឌុលអូឌីយ៉ូ AX415
សៀវភៅណែនាំអ្នកប្រើប្រាស់ម៉ូឌុលអូឌីយ៉ូ ALINX AX415ម៉ូឌុលអូឌីយ៉ូ AN831

ផ្នែកទី 1: ការរៀបចំមុនពេលពិសោធន៍

សៀវភៅណែនាំណែនាំនេះណែនាំពីរបៀបអនុវត្តការសាកល្បងសំឡេង និងការចាក់សារថ្មី និងការលេងតន្ត្រីកាត SD នៅលើឧបករណ៍អភិវឌ្ឍន៍សៀរៀល ALINX មុនពេលការពិសោធន៍ អ្នកប្រើប្រាស់ត្រូវរៀបចំក្រុមប្រឹក្សាអភិវឌ្ឍន៍ និងគ្រឿងបន្ថែមខាងក្រោម។

  1. កញ្ចប់អភិវឌ្ឍន៍សៀរៀល ALINX៖ រូបភាព១-១៖ ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ AX1 FPGA ឬរូបភាពទី 1-415: ក្រុមប្រឹក្សាអភិវឌ្ឍន៍ AX1 FPGA ។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 1
  2. ម៉ូឌុលអូឌីយ៉ូ៖ រូបភាព ១-៣៖ ម៉ូឌុលអូឌីយ៉ូ AN1ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 2
  3. កាតអេសឌី៖ កាត SD HC (កម្មវិធីដែលបានផ្តល់មិនគាំទ្រកាតអេសឌីអេសអេសដែលមានស្តង់ដារកំណែចាស់ ១.០)ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 3
  4. កាសស្តាប់ត្រចៀកជាមួយមីក្រូហ្វូន

ផ្នែកទី 2៖ ការថតនិងការចាក់សារថ្មីពិសោធន៍ទម្លាប់

ម៉ូឌុលអូឌីយ៉ូ AN831 ត្រូវបានភ្ជាប់ទៅ IOs ពង្រីក 40-pin នៅលើ ALINX Series FPGA development Kits ដើម្បីអនុវត្តការទំនាក់ទំនងទិន្នន័យអូឌីយ៉ូ។
រូបភាពទី 2-1 បានរៀបរាប់លម្អិតអំពីការតភ្ជាប់រវាងម៉ូឌុលអូឌីយ៉ូ និងឧបករណ៍អភិវឌ្ឍន៍ AX301 FPGA ។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 4

មានឧបករណ៍ភ្ជាប់អូឌីយ៉ូបីនៅលើម៉ូឌុលអូឌីយ៉ូ AN831 ចំណុចប្រទាក់ពណ៌ផ្កាឈូកគឺជាការបញ្ចូលមីក្រូហ្វូន។ ចំណុចប្រទាក់ពណ៌បៃតងគឺជាទិន្នផលកាស។ ចំណុចប្រទាក់ពណ៌ខៀវគឺជាការបញ្ចូលអូឌីយ៉ូ ដែលត្រូវបានប្រើដើម្បីភ្ជាប់ច្រកទិន្នផលអូឌីយ៉ូ ដូចជាឌីវីឌី។ ការពិសោធន៍នេះនឹងដឹងពីទំនាក់ទំនងទិន្នន័យរវាងម៉ូឌុលអូឌីយ៉ូ និង FPGA ។ ការបញ្ចូលទិន្នន័យសំឡេងដោយមីក្រូហ្វូនត្រូវបានរក្សាទុកក្នុងអង្គចងចាំ SDRAM នៅលើបន្ទះអភិវឌ្ឍន៍តាមរយៈម៉ូឌុលអូឌីយ៉ូ បន្ទាប់មកបញ្ជូនទិន្នន័យអូឌីយ៉ូទៅម៉ូឌុលអូឌីយ៉ូ ហើយចាក់សំឡេងពីចំណុចប្រទាក់កាសស្តាប់ត្រចៀក ដោយហេតុនេះអាចដឹងពីមុខងារនៃការថត និងចាក់។
ផ្នែកទី 2.1៖ ការណែនាំផ្នែករឹង AN831 ម៉ូឌុលអូឌីយ៉ូ
បន្ទាប់មក AN831 Audio Module ប្រើបន្ទះឈីប WM8731 របស់ WOLFSON ដឹងពីការបំប្លែង A/D និង D/A នៃសញ្ញាសំឡេង។ រូបភាពទី 2-2 លម្អិតអំពីការរចនាផ្នែករឹងនៃម៉ូឌុលអូឌីយ៉ូ AN831៖ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 5

តារាង 2-1 លម្អិតអំពីការកំណត់រចនាសម្ព័ន្ធ 9134-pin ម៉ូឌុល AN40

J3 កូដ PIN ឈ្មោះកូដ PIN J3 កូដ PIN ឈ្មោះកូដ PIN
1 ដី 2 ថាមពល 5V
3 VM_I2C_SCLK 4 VM_I2C_SDAT
5 VM_DACDAT 6 VM_BCLK
7 VM_ADCDAT 8 VM_DACLRC
9 VM_ADCLRC 10 NC
11 NC 12 NC
13 NC 14 NC
15 NC 16 NC
17 NC 18 NC
19 NC 20 NC
21 NC 22 NC
23 NC 24 NC
25 NC 26 NC
27 NC 28 NC
29 NC 30 NC
31 NC 32 NC
33 NC 34 NC
35 NC 36 NC
37 ដី 38 ដី
39 ថាមពល 3.3V 40 ថាមពល 3.3V

តារាង 2-1: AN831 Module 40-pin Configuration

ផ្នែកទី 2.2៖ ការកំណត់រចនាសម្ព័ន្ធ WM8731 និងពេលវេលា
នៅទីនេះសូមណែនាំដោយសង្ខេបនូវបន្ទះឈីបបំប្លែង/ឌិកូដអូឌីយ៉ូ WM8731 ដែលប្រើក្នុងម៉ូឌុលអូឌីយ៉ូ AN831 ដែលអនុវត្តមុខងារបំប្លែង A/D និង D/A នៃសញ្ញាសំឡេងកំឡុងពេលថត និងចាក់។ WM8731, stereo 24-bit multi-bit sigma delta delta ADCs និង DACs ត្រូវបានប្រើជាមួយ oversampលីង តម្រងអន្តរប៉ូលឌីជីថល និងតម្រងទសភាគ។ ការបញ្ចូលសំឡេងឌីជីថលប្រវែងពាក្យពី 16-32 ប៊ីត និង sampអត្រា ling ពី 8 kHz ដល់ 96 kHz ត្រូវបានគាំទ្រ។ មានការចុះឈ្មោះចំនួន 11 ដែលមាន 16 ប៊ីតក្នុងមួយចុះឈ្មោះ (អាសយដ្ឋាន 7 ប៊ីត + ទិន្នន័យ 9 ប៊ីត) ។ ការចាប់ផ្តើមនៃបន្ទះឈីប ស្ថានភាពការងារ និងមុខងារកំឡុងពេលប្រតិបត្តិការត្រូវបានដឹងដោយកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះខាងក្នុងចំនួន 11 នៅក្នុងរបៀបឡានក្រុង I2C ។ នៅក្នុងការរចនានៃម៉ូឌុលអូឌីយ៉ូ AN831 នេះ WM8731 ដំណើរការនៅក្នុងរបៀបមេ។ampប្រេកង់ ling ត្រូវបានកំណត់ទៅ 48KHZ ហើយប្រវែងប៊ីតទិន្នន័យដែលបានបម្លែងគឺ 16 ប៊ីត។ ចំណុចប្រទាក់អូឌីយ៉ូនៃ WM8731 អាចត្រូវបានកម្មវិធីទៅជារបៀប I2S ឬ DSP/PCM នៅក្នុងរបៀប។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 6នៅក្នុងការពិសោធន៍នេះ ការគ្រប់គ្រង និងទំនាក់ទំនងទិន្នន័យរបស់ FPAG និង WM8731 នឹងប្រើ I2C និង I2S bus interface។ FPGA កំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះរបស់ WM8731 តាមរយៈចំណុចប្រទាក់ I2C និងទំនាក់ទំនងទិន្នន័យអូឌីយ៉ូតាមរយៈចំណុចប្រទាក់ឡានក្រុង I2S ។ អំពីចំណុចប្រទាក់ I2C យើងណែនាំដោយសង្ខេបពីមុន។ នៅទីនេះយើងបានណែនាំជាចម្បងនូវចំណុចប្រទាក់ទំនាក់ទំនងអូឌីយ៉ូ I2S ។

ចំណុចប្រទាក់សំឡេង I2S
មានចំណុចប្រទាក់អូឌីយ៉ូឌីជីថលចំនួន 5 នៅលើបន្ទះឈីប WM8731:BCLK(Digital Audio Bit Clock), DACDAT(DAC Digital Audio Data Input), DACLRC(DAC Sample វាយតម្លៃនាឡិកាឆ្វេង/ស្តាំ), ADCDAT(ADC Digital Audio Data On put), ADCLRC(ADC Sample វាយតម្លៃនាឡិកាឆ្វេង/ស្តាំ)។
នៅក្នុងការរចនានេះ FPGA គឺជាឧបករណ៍ទាសករ ហើយ WM8731 គឺជាឧបករណ៍មេ។ ADCDAT, DACDAT, ADCLRC និង DACLRC ត្រូវបានធ្វើសមកាលកម្មជាមួយនឹងនាឡិកាប៊ីត BCLK ការផ្ទេរទិន្នន័យនៅលើគែមធ្លាក់ចុះនៃ BCLK នីមួយៗ។ BCLK, DACDAT, DACLRC, ADCLRC គឺជាសញ្ញាបញ្ចូលរបស់ WM8731។ ADCDAT គឺជាសញ្ញាទិន្នផលនៃ WM8731 ។ រូបភាពទី 2-4 បានរៀបរាប់លម្អិតអំពីរបៀបត្រឹមត្រូវនៃការទំនាក់ទំនង I2S រវាងបន្ទះឈីប FPGA និង WM8731 នៅលើម៉ូឌុលអូឌីយ៉ូ AN831 ។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 7

ផ្នែកទី 2.3៖ ការសរសេរកម្មវិធី
ការពិសោធន៍រកឃើញថាតើប៊ូតុង KEY1 ត្រូវបានចុចឬអត់។ ប្រសិនបើ KEY1 ត្រូវបានចុច ការថតនឹងចាប់ផ្តើម។ ប្រសិនបើ KEY1 ត្រូវបានចេញផ្សាយ ការថតនឹងបញ្ចប់ ហើយការផ្សាយចាប់ផ្តើម។ ដូចគ្នានឹង WeChat ដែលប្រើនៅលើទូរស័ព្ទដៃរបស់យើងដែរ ចុចឱ្យជាប់ ដើម្បីចាប់ផ្តើមនិយាយ និងបញ្ចេញដើម្បីបញ្ចប់ការថត។ កម្មវិធីនេះមានបួនផ្នែក៖ ការគ្រប់គ្រងការអាន និងសរសេរ SDRAM ការគ្រប់គ្រងសំឡេង និងការទំនាក់ទំនង ការរកឃើញប៊ូតុង និងម៉ូឌុលពន្យាពេលកំណត់នាឡិកាឡើងវិញ។ រូបភាពទី 2-5 គឺជាអ្នករុករកគម្រោងនៃក្រុមប្រឹក្សាអភិវឌ្ឍន៍ AX301 FPGA ។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 8

  1. កម្មវិធីត្រួតពិនិត្យការអាន និងសរសេរ Scram
    កម្មវិធីគ្រប់គ្រងការអាន និងសរសេរ SDRAM រួមមានទម្រង់ការរងពីរ៖ មួយគឺឯកសារគ្រប់គ្រង SDRAM អាន និងសរសេរ (sdram_top .v) និងមួយទៀតគឺឯកសារគ្រប់គ្រង FIFO (FIFO)
    SDRAM អាន និងសរសេរការពិពណ៌នាឯកសារត្រួតពិនិត្យ៖
    ឯកសារគ្រប់គ្រង SDRAM អាន និងសរសេរ (sdram_top .v) និង 3 ម៉ូឌុលរង (dram, dram, dram) បានចាប់ផ្តើម scram ញែកពាក្យបញ្ជាអាន និងសរសេរនៃចំណុចប្រទាក់អ្នកប្រើ ការអាន និងសរសេរ burst នៃ dram និងការត្រួតពិនិត្យប្រតិបត្តិការជាមុន។
    ម៉ូឌុល dram អនុវត្តការចាប់ផ្តើម SDRAM, 60ms ធ្វើឱ្យស្រស់ដោយខ្លួនឯង,
    អ្នក​ប្រើ​អាន​និង​សរសេរ​ការ​ញែក​ពាក្យ​បញ្ជា​និង​ប្រើ​ម៉ាស៊ីន​ស្ថានភាព​និង​បញ្ជរ​ដើម្បី​បង្កើត​ប៊ីត​ស្ថានភាព​សម្រាប់​ប្រតិបត្តិការ SDRAM ផ្សេង​គ្នា​។
    ម៉ូឌុល dram បង្កើតការគ្រប់គ្រង SDRAM ផ្សេងៗ ឬ burst read and write commands ដោយផ្អែកលើ state machine init_state និង work_state ដែលបានបង្កើតនៅក្នុង dram module ។ ម៉ូឌុល dram គឺជាម៉ូឌុលត្រួតពិនិត្យទិន្នន័យទ្វេទិស SDRAM ។ នៅពេលសរសេរ SDRAM ទិន្នន័យត្រូវបានផ្ទេរទៅឡានក្រុងទិន្នន័យ SDRAM ។ នៅពេលដែល SDRAM ត្រូវបានអាន ទិន្នន័យនៅលើឡានក្រុង SDRAM ត្រូវបានបញ្ជូនទៅចំណុចប្រទាក់អ្នកប្រើ។
    ការពិពណ៌នាឯកសារត្រួតពិនិត្យ FIFO៖
    ម៉ូឌុល FIFO ត្រូវបានប្រើដើម្បីគ្រប់គ្រងការអាន FIFO សរសេរ FIFO និងបង្កើតពាក្យបញ្ជាអាន និងសរសេរ និងអាន និងសរសេរអាសយដ្ឋានរបស់ SDRAM ។ នៅក្នុងការពិសោធន៍នេះ ទិន្នន័យដែលសរសេរទៅ SDRAM ត្រូវបានរក្សាទុកដំបូងនៅក្នុងការសរសេរ FIFO ហើយទិន្នន័យដែលបានអានពី SDRAM ត្រូវបានរក្សាទុកជាលើកដំបូងនៅក្នុងការអាន FIFO ។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 9បង្កើតពាក្យបញ្ជា Scram write នៅពេលទិន្នន័យក្នុង FIFO ធំជាង SDRAM ប្រវែងផ្ទុះ (256)។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 10
  2. កម្មវិធីគ្រប់គ្រងទំនាក់ទំនងអូឌីយ៉ូ
    កម្មវិធីគ្រប់គ្រងការទំនាក់ទំនងជាសំឡេងមានកម្មវិធីសំខាន់មួយ (mywav.v) និងទម្រង់ការរងចំនួនបួន។ កម្មវិធីរងទាំងបួនគឺអ្នកទទួលអូឌីយ៉ូ (រលកអំពើបាប) កម្មវិធីចាក់អូឌីយ៉ូ (រលកអំពើបាប) កម្មវិធីកំណត់រចនាសម្ព័ន្ធចុះឈ្មោះ WM8731 (reg_config.v) និងកម្មវិធីពន្យាពេលកំណត់ឡើងវិញ (reset_delay.v) ។ លើសពីនេះ កម្មវិធីកំណត់រចនាសម្ព័ន្ធចុះឈ្មោះ (reg_config.v) ក៏ហៅកម្មវិធីទំនាក់ទំនង i2c_com.v នៃ IIIc ផងដែរ។
    កម្មវិធីទទួលសំឡេង sin wave Description
    កម្មវិធី សamples ការបញ្ចូលទិន្នន័យដោយ audio addax ដោយវិនិច្ឆ័យគែមកើនឡើងនៃនាឡិកាបញ្ចូល balk ។ ទិន្នន័យសៀរៀលត្រូវបានបំប្លែងទៅជាទិន្នន័យប៉ារ៉ាឡែល 16 ប៊ីត ហើយសញ្ញាស្នើសុំសរសេរ SDRAM ត្រូវបានបង្កើត។
    កម្មវិធីចាក់អូឌីយ៉ូ sin wave Description
    កម្មវិធីនេះផ្លាស់ប្តូរលទ្ធផលនៃទិន្នន័យអូឌីយ៉ូ 64 ប៊ីតទៅម្ជុល ducat ដោយវិនិច្ឆ័យគែមធ្លាក់ចុះនៃនាឡិកាបញ្ចូល balk ។ ដោយសារទិន្នន័យអូឌីយ៉ូនៃ 1fs គឺ 64 ប៊ីត កម្មវិធីត្រូវការបង្កើតសញ្ញាចំនួនបួនសម្រាប់ការអាន SDRAM ។
    WM8731 Register Initialization Program reg_config.v ការពិពណ៌នា បន្ទាប់ពីកម្មវិធីត្រូវបានបើក ការចាប់ផ្តើមនៃការចុះឈ្មោះនៃបន្ទះឈីប WM8731 នឹងត្រូវបានអនុវត្តតាមរយៈ I2C bus។ សម្រាប់ការពិពណ៌នាលំអិតនៃការចុះឈ្មោះនៃបន្ទះឈីប WM8731 សូមយោងទៅលើតារាងទិន្នន័យរបស់បន្ទះឈីប។
    កម្មវិធីទំនាក់ទំនង IIC i2c_com.v ការពិពណ៌នា
    កម្មវិធីទំនាក់ទំនង IIC បញ្ចេញទិន្នន័យខាងក្រៅទៅខាងក្រៅ
    ឡានក្រុង IIC នៅក្នុងស៊េរីពេលវេលា ដោយហេតុនេះដឹងពីមុខងារសរសេរទិន្នន័យ IIC ។
    កំណត់ការពន្យារពេលម៉ូឌុលឡើងវិញ reset_delay.v ការពិពណ៌នា
    នេះគឺជាវិធីសាស្រ្តនៃការកំណត់ឡើងវិញបន្ទាប់ពីការបើកដំណើរការកម្មវិធី។ គោលបំណងគឺដើម្បីរង់ចាំរយៈពេលមួយបន្ទាប់ពីការបើកថាមពលហើយបន្ទាប់មកកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះ WM8731 ។
  3. កម្មវិធីស្វែងរកប៊ូតុង
    កម្មវិធីនឹងរកឃើញប្រសិនបើប៊ូតុង KEY1 ត្រូវបានចុច ឬខ្ញុំបញ្ចេញ។ ប្រសិនបើប៊ូតុង KEY1 ត្រូវបានចុច សញ្ញាបើកការថតគឺខ្ពស់ ហើយអាសយដ្ឋានសរសេរ SDRAM ត្រូវបានជម្រះទៅ 0។ ប្រសិនបើប៊ូតុង KEY1 ត្រូវបានរកឃើញថាត្រូវបានបញ្ចេញ នោះសញ្ញាបើកដំណើរការគឺខ្ពស់ ហើយអាសយដ្ឋានអាន SDRAM ត្រូវបានជម្រះ។
  4. ម៉ូឌុលត្រួតពិនិត្យប្រព័ន្ធ
    កម្មវិធី system_ctrl.v ហៅ PLL ដើម្បីបង្កើតនាឡិកា SDRAM 100Mhz ។ លើសពីនេះទៀត ម៉ូឌុល system_delay ត្រូវបានហៅដើម្បីបង្កើតសញ្ញាកំណត់កម្រិតប្រព័ន្ធឡើងវិញ

ផ្នែកទី 2.4៖ ទាញយក និងសាកល្បង
ភ្ជាប់កាស និងម៉ូឌុលអូឌីយ៉ូ។ សូមប្រយ័ត្នកុំបញ្ចូលចំណុចប្រទាក់ខុសនៃកាសស្តាប់ត្រចៀក។ ដោតពណ៌ផ្កាឈូកនៃកាសស្តាប់ត្រចៀកត្រូវបានបញ្ចូលទៅក្នុងចំណុចប្រទាក់ពណ៌ផ្កាឈូកនៃម៉ូឌុលអូឌីយ៉ូ ហើយដោតពណ៌បៃតងនៃកាសស្តាប់ត្រចៀកត្រូវបានបញ្ចូលទៅក្នុងចំណុចប្រទាក់ពណ៌បៃតងនៃម៉ូឌុលអូឌីយ៉ូ។
ចងក្រងគម្រោងដើម្បីបង្កើត audio_test.sof file ហើយទាញយកប៊ីត file ទៅ FPGA ។ នៅពេលនេះ យើងចុច KEY1 នៅលើបន្ទះអភិវឌ្ឍន៍ ហើយនិយាយពាក្យមួយទៅកាន់មីក្រូហ្វូន។ បន្ទាប់ពីបញ្ចេញ KEY1 យើងអាចឮអ្វីដែលអ្នកបាននិយាយនៅក្នុងកាសស្តាប់ត្រចៀក។

ផ្នែកទី 3៖ ទម្លាប់កម្មវិធីចាក់តន្ត្រី SD កាត

ផ្នែកទី 3.1៖ ឯកសារតន្ត្រី
មុនពេលពិសោធន៍នេះ យើងត្រូវរក្សាទុកតន្ត្រីទ្រង់ទ្រាយ wav ជាច្រើន។ files នៅក្នុងកាតអេសឌី។ ចំណាំថាតន្ត្រី .wav file ទ្រង់ទ្រាយត្រូវតែមាន 16 ប៊ីត និង sampប្រេកង់ ling គឺ 48 kHz ដែលទាក់ទងទៅនឹងការកំណត់ចុះឈ្មោះនៃ WM8731 ។ ចុចកណ្ដុរស្ដាំលើ .wav file ហើយជ្រើសរើស Properties ទៅ view វា។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 11

សម្រាប់តន្ត្រី files អ្នក​ប្រើ​អាច​ទាញ​យក​តន្ត្រី​ក្នុង​ទម្រង់ wav ពី​អ៊ីនធឺណិត ហើយ​បន្ទាប់​មក​បំប្លែង​វា​ទៅ​ជា 16-bit, wav files ជាមួយដូចជាampលីងប្រេកង់នៃទ្រង់ទ្រាយ 48 Kho ឬប្រើតន្ត្រី wav ដោយផ្ទាល់ files យើងផ្តល់ជូនសម្រាប់ការពិសោធន៍។ បានរៀបចំបទចម្រៀងពីរសម្រាប់បន្ទប់ពិសោធន៍ដែលយើងផ្តល់ជូន។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 12ដំបូង ប្រើកុំព្យូទ័រដើម្បីធ្វើទ្រង់ទ្រាយ SD card បន្ទាប់មកចម្លងបទចម្រៀងទាំងពីរទៅថត root នៃ SD card រូបភាពទី 3-3 លម្អិតអំពីបទចម្រៀងទាំងពីរ។ filed នៅក្នុងថត root នៃកាត SD ដូចខាងក្រោម៖ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 13បន្ទាប់មកពិនិត្យមើល Sec address នៃបទចម្រៀងទាំងពីរនៅលើ SD card ដោយប្រើ win hex tool ដែលជា Sec address ចាប់ផ្តើមនៅពេលយើងសរសេរកម្មវិធី SD card ខាងក្រោម៖ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 14នៅក្នុងបង្អួច Win hex យើងអាចឃើញថា Sec address នៃ root directory នៃ SD card គឺ 8192។ Sec address of the song sea គឺ 8256 យើងអាចអានទិន្នន័យពី address 8192+8256=16488 នៅក្នុង កម្មវិធី។
ផ្នែកទី 3.2៖ ការសរសេរកម្មវិធី
គម្រោងទាំងមូល sd_audio ត្រូវបានផ្សំឡើងពីកម្មវិធី sd_audio ម៉ូឌុលកម្រិតកំពូល និងម៉ូឌុលរងជាច្រើន (កម្មវិធីចាប់ផ្ដើមកាតអេសឌី sd_initial.v កម្មវិធីអានកាតអេសឌី sd_read.v កម្មវិធីអូឌីយ៉ូ WM8731 mywav.v កម្មវិធីគ្រប់គ្រងការផ្ទុកទិន្នន័យ ram raw_rw_control ។ v) រូបភាពទី 3-5 គឺជាអ្នករុករកគម្រោងនៃក្រុមប្រឹក្សាអភិវឌ្ឍន៍ AX301 FPGA ។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 15

អំពីការកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះ I8731C របស់ WM2 និងការចាក់សារជាសំឡេង I2S ដែលបានណែនាំដល់អ្នកនៅក្នុង "ទម្លាប់នៃការថត និងការចាក់សារថ្មី" ដែលអ្នកប្រើប្រាស់អាចចម្លងកម្មវិធីទាំងនេះដោយផ្ទាល់នៅក្នុងការពិសោធន៍នេះ។
នៅក្នុងការពិសោធន៍នេះ ទិន្នន័យដែលអានដោយកាត SD ត្រូវបានរក្សាទុកក្នុងអារេ ram ដែលកំណត់ដោយកម្មវិធី។ អាស័យដ្ឋានរបស់ ram ការត្រួតពិនិត្យទិន្នន័យ អាន និងសរសេរដែលបានបញ្ចប់នៅក្នុងកម្មវិធី raw_porw_control.v ។ ខាងក្រោមសូមណែនាំ និងពន្យល់យ៉ាងខ្លីអំពីការសរសេរកម្មវិធីរបស់ SD card និង ram control ។
1) ការរចនាកម្មវិធីចាប់ផ្ដើម SD
បន្ទាប់ពីកាតអេសឌីត្រូវបានបើកវាត្រូវតែចាប់ផ្តើម។ សម្រាប់ដំណើរការចាប់ផ្តើម និងពាក្យបញ្ជាដែលពាក់ព័ន្ធនៃកាត SD សូមយោងទៅលើស្តង់ដារពិធីការរបស់ SD card 2.0។ ដំណើរការចាប់ផ្តើមមានដូចខាងក្រោម៖ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 16

ការពិពណ៌នាអំពីដំណើរការជាក់លាក់មានដូចខាងក្រោម៖

  • បន្ទះឈីបជ្រើសរើសកម្រិតទាប CS ដើម្បីជ្រើសរើសកាតអេសឌី
  • បន្ទះឈីបជ្រើសរើស CS កម្រិតខ្ពស់ចេញផ្សាយកាតអេសឌី
  • ផ្ញើពាក្យបញ្ជា CMD0 ទៅកាត SD ហើយបញ្ជាក់ប្រសិនបើការត្រឡប់មកវិញគឺ 0x01 ។
  • ផ្ញើពាក្យបញ្ជា CMD8 ទៅកាត SD, CMD8 គឺជាពាក្យបញ្ជាដែលមានតែនៅក្នុង SD2.0 ប៉ុណ្ណោះ។ ពិនិត្យមើលផងដែរថាតើ [bit19:bit16] ត្រូវបានត្រលប់ទៅ 0001 (2.7V-3.6V) ដែរឬទេ។
  • ផ្ញើពាក្យបញ្ជា CMD55 ទៅកាត SD ដើម្បីបញ្ជាក់ថាតើការត្រឡប់មកវិញគឺ 0x01CMD55
  • ផ្ញើពាក្យបញ្ជា ACMD41 ទៅកាត SD ដើម្បីបញ្ជាក់ប្រសិនបើការត្រឡប់មកវិញគឺ 0x00 ។
  • ប្រសិនបើការចាប់ផ្តើមដំណើរការបានជោគជ័យ អថេរ init ត្រូវបានកំណត់ទៅ 1។ ប្រសិនបើការចាប់ផ្តើមមិនជោគជ័យ សូមផ្ញើពាក្យបញ្ជា CMD8, CMD55 និង ACMD41 ឡើងវិញ

2) ការរចនាកម្មវិធីអាន SD
នៅពេលដែលកាត SD ត្រូវបានចាប់ផ្តើមដោយជោគជ័យ ទិន្នន័យនៃរូបភាពត្រូវបានអានទៅក្នុង SDRAM ។ កម្មវិធីនេះផ្ញើពាក្យបញ្ជាអានប្លុកតែមួយ CMD17 ទៅកាន់កាត SD ហើយអាន 512 បៃបន្តរហូតដល់រូបភាពមួយត្រូវបានអាន។

  •  ការពិពណ៌នាអំពីដំណើរការជាក់លាក់មានដូចខាងក្រោម៖
  • ផ្ញើពាក្យបញ្ជាអានប្លុកតែមួយ CMD17 ទៅកាន់កាត SD ហើយរង់ចាំការឆ្លើយតប
  • កំពុងរង់ចាំទទួលទិន្នន័យពីកាតអេសឌី ប្រសិនបើប៊ីតចាប់ផ្តើម (0) នៃទិន្នន័យត្រូវបានរកឃើញ ចាប់ផ្តើមទទួលទិន្នន័យ
  • ទទួលទិន្នន័យ 512 បៃ បំប្លែងទិន្នន័យសៀរៀលដែលទទួលបានពី SPI ទៅជាបៃទិន្នន័យ 8 ប៊ីត ហើយបញ្ចេញទិន្នន័យមួយបៃទិន្នន័យត្រឹមត្រូវមួយបៃ។
  • បន្ទាប់ពីទទួលបានទិន្នន័យ 512 បៃ កំណត់ថាតើទិន្នន័យចុងក្រោយនៃរូបភាពត្រូវបានអានឬអត់។

1) ការរចនាកម្មវិធីគ្រប់គ្រង ram
កម្មវិធីនេះកំណត់ការចុះឈ្មោះ Myriam ប្រវែង 8192 សម្រាប់រក្សាទុកទិន្នន័យតន្ត្រីដែលអានដោយកាត SD ។ កម្មវិធីអាន និងសរសេររចនាសម្ព័ន្ធ ping-pong ។ នៅពេលអានទិន្នន័យនៃទំហំ 4096 មុន កម្មវិធីអាចសរសេរទិន្នន័យនៃទំហំ 4096 បន្ទាប់។ ស្រដៀងគ្នានេះដែរ នៅពេលសរសេរទិន្នន័យក្នុងចន្លោះ 4096 ដំបូង កម្មវិធីអាចអានកម្មវិធីទិន្នន័យនៃចន្លោះ 4096 បន្ទាប់។ ដោយសារល្បឿនអានកាត SD លឿនជាងល្បឿននៃការចាក់តន្ត្រី រចនាសម្ព័ន្ធ ping-pong អាចបំពេញមុខងារនៃការអាន និងចាក់ទិន្នន័យតន្ត្រី SD កាតក្នុងពេលដំណាលគ្នា។
បន្ទាប់ពីបើកដំណើរការ ទិន្នន័យ 4096 នឹងត្រូវបានអានជាមុន ហើយរក្សាទុកក្នុង ram register។
បន្ទាប់ពីទទួលបានសំណើអានទិន្នន័យពីកម្មវិធីអូឌីយ៉ូ WM8731 mywav.v កម្មវិធីនឹងបញ្ជូនទិន្នន័យ 2-byte ក្នុង ram register ទៅកាន់កម្មវិធី mywav.v ហើយអាសយដ្ឋានអានរបស់ ram កើនឡើង។ លើសពីនេះទៀតកម្មវិធីវិនិច្ឆ័យអាសយដ្ឋានអាន។ នៅពេលអាសយដ្ឋានរបស់ RAM អានគឺ 2 ឬ 4096 កាតអេសឌីត្រូវបានអានហើយទិន្នន័យ 4096 ត្រូវបានអាន។
ពីរជួរ's musically followings files ក្នុង​កូដ​គឺ​ជា​អាសយដ្ឋាន​ផ្នែក​ចាប់ផ្ដើម​នៃ​កាត SD និង​ប្រវែង​នៃ​វិស័យ។ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 - រូបភាពទី 17

ផ្នែកទី 3.3៖ ទាញយក និងសាកល្បង
បញ្ចូលកាត SD ជាមួយតន្ត្រី file ចូលទៅក្នុងក្រុមប្រឹក្សាអភិវឌ្ឍន៍ FPGA ហើយដោតម៉ូឌុលអូឌីយ៉ូ AN831 បន្ទាប់មកភ្ជាប់កាសស្តាប់ត្រចៀកទៅចំណុចប្រទាក់លទ្ធផលអូឌីយ៉ូពណ៌បៃតងនៃម៉ូឌុលអូឌីយ៉ូ។ បន្ទាប់ពីទាញយក .sofa file នៅក្នុងកម្មវិធី Quartus យើងអាចស្តាប់តន្ត្រីដ៏អស្ចារ្យនៅក្នុងកាស។

ALINX - និមិត្តសញ្ញាwww.alinx.com

ឯកសារ/ធនធាន

ម៉ូឌុលអូឌីយ៉ូ ALINX AX415 [pdf] សៀវភៅណែនាំអ្នកប្រើប្រាស់
ម៉ូឌុលអូឌីយ៉ូ AX415, AX415, ម៉ូឌុលអូឌីយ៉ូ, ម៉ូឌុល

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *