Мазмұны:

Спартандық дауыс ауыстырғыш дулыға: 14 қадам (суреттермен)
Спартандық дауыс ауыстырғыш дулыға: 14 қадам (суреттермен)

Бейне: Спартандық дауыс ауыстырғыш дулыға: 14 қадам (суреттермен)

Бейне: Спартандық дауыс ауыстырғыш дулыға: 14 қадам (суреттермен)
Бейне: BALAFUNNY - Зообақ туралы ән |Балаларға арналған әндер | Казахские детские песни 2024, Қараша
Anonim
Дауыс ауыстыратын спартандық дулыға
Дауыс ауыстыратын спартандық дулыға
Спартандық дауыс ауыстырғыш дулыға
Спартандық дауыс ауыстырғыш дулыға

Сәлеметсіз бе! Біз Сорбонна университетінің политехникалық мектебінің 4 студентінен тұратын командамыз:

  • Луи Бухер
  • Билал Мелехи
  • Бао Тинь Пиот
  • Марко Лонгепе

Бұл жоба біздің зерттеулеріміздің бір бөлігі ретінде жүзеге асады, және көптеген құралдарды қолымызға алуға, сонымен қатар теориялық жетістіктерімізді көрсетуге бағытталған.

Атақты объект аты жоғалатын белгілі бір бейне ойынның кейіпкеріне ұқсайтын дулыға пайда болады. Дизайн жағында бізде динамиктен шығатын дыбыстық сигналдың Фурье түрленуін көрсететін экран бар. Бұл гарнитураның мақсаты - таңдаулы эффектілердің көмегімен тасымалдаушының дауысын нақты уақытта өзгерту.

Тәрбиелік мақсаттары:

  • Дыбысты микрофоннан жазып алыңыз
  • Сигналды күшейту, сүзу, цифрландыру
  • Сигналдың FFT іске асырылуы
  • Бұл FFT экранында көрсетіңіз
  • Сигнал синтезі
  • Динамиктен дыбысты шығарыңыз
  • Аудио дыбысқа әсерлерді іске асырыңыз (реверберация, жаңғырық және т.

Енді біз фонды қойып, жобаны ұсындық, енді қолыңызды қоюдың уақыты келді!

1 -қадам: 1/3 талаптар - Жабдық

1/3 талаптар - Аппараттық құрал
1/3 талаптар - Аппараттық құрал

Шлемді сәтті құрастыру үшін бізге құрылғыны іске қосу үшін қосымша құрал қажет болады.

  • Terasic + Adafruit TFT LCD экранымен DE0-Nano-SoC дамыту тақтасы (Arduino)
  • Шлем жасау үшін 3D принтеріне қол жеткізу (егер сіз университеттің студенті болсаңыз, университетіңізге жақындасаңыз, кейбіреулерінде зертханалар студенттерге қол жетімді)
  • Интернетке қосылған және ең аз қосылымы бар компьютер (USB, Ethernet). Сондай -ақ, сіздің компьютеріңізде мықты процессор болуы керек, себебі Qsys бағдарламаларын құрастыру көп уақытты алады.
  • (Міндетті емес) Гербер файлдарынан тізбектің көлемін кішірейту үшін баспа схемаларын (ПХД) жасайтын принтер + компоненттерді ПХД -ге салу үшін дәнекерлеуіш.
  • (Қатаң түрде ұсынылады): Біздің нұсқаулықпен жұмысыңыздан ләззат алу үшін жақсы кофе:)

2 -қадам: 2/3 талаптар - Сіздің тізбегіңіз үшін компоненттер

2/3 талаптар - Сіздің тізбекке арналған компоненттер
2/3 талаптар - Сіздің тізбекке арналған компоненттер
2/3 талаптар - Сіздің тізбектің компоненттері
2/3 талаптар - Сіздің тізбектің компоненттері
2/3 талаптар - Сіздің тізбектің компоненттері
2/3 талаптар - Сіздің тізбектің компоненттері

Міне сіздің схемаңызға қажет компоненттер:

  • Texas Instrument LM386 AB сыныпты дыбыс күшейткіші
  • Нан тақтасы
  • Еркек-еркек, еркек-әйел кабельдер жиынтығы
  • LM358P Digital-to-Analoh түрлендіргіші (DAC)
  • Динамик
  • Аналогиялық схемада қолданылатын шағын микрофон
  • 1кОм -нан 220кОм -ге дейінгі резисторлардың ойын жиынтығы
  • Конденсатор 1.5nF
  • Конденсатор 50nF
  • Конденсатор 100nF
  • Конденсатор 100uF
  • Конденсатор 220uF
  • x4 конденсаторлар 10uF

3 -қадам: 3/3 талаптар - Бағдарламалық қамтамасыз ету

3/3 талаптар - БҚ
3/3 талаптар - БҚ
3/3 талаптар - БҚ
3/3 талаптар - БҚ

Ақырында, сізге бағдарламалық қамтамасыз ету қажет:

  • Quartus 15.1: Lite нұсқасы
  • C компиляторы (мысалы, gcc)
  • ПТД дизайнына арналған алтий
  • Альтераның SoC картасымен байланысуға арналған SoC ендірілген жиынтығы

  • Шпатлевка

4 -қадам: кіріс схемасы

Кіріс схемасы
Кіріс схемасы
Кіріс тізбегі
Кіріс тізбегі
Кіріс тізбегі
Кіріс тізбегі
Кіріс тізбегі
Кіріс тізбегі

Схеманы құрайық. Жоғарыда келтірілген схеманы тақтаға жинау үшін пайдаланыңыз. Сондай -ақ, түйреуіштердің қалай қосылғанын көру үшін BreadBoard тақтасы мен ішіндегі схеманы көресіз. Бүкіл тізбек 5В тұрақты токпен жұмыс істейді. Ол үшін USB-B түрлендіргіші бар 5В батареяны немесе функция генераторын пайдалануға болады.

Кейбір еске салғыштар:

  • 5В электрмен жабдықтау және жерге қосу тақтаның жеке көлденең сызықтары бойынша қосылады
  • Егер сіз 2 компонентті параллель қосқыңыз келсе, оларды тақтаның ортақ жолына қойыңыз
  • Егер сіз 2 сериялық компонентті қосқыңыз келсе, компоменттер тақтаның жалпы жолында тек бір түйреуіш болуы керек.

Нан тақтасын пайдалану және оған схеманы бекіту туралы арнайы оқулықты көруден тартынбаңыз. Сондай -ақ, LM358P дыбыс күшейткішінің түйреуішін мұқият оқып шығуды ұмытпаңыз (жоғарыдағы суретті қараңыз)

5 -қадам: шығыс схемасы

Шығу схемасы
Шығу схемасы
Шығу схемасы
Шығу схемасы
Шығу схемасы
Шығу схемасы
Шығу схемасы
Шығу схемасы

4-қадамдағы нұсқаулармен бірдей. Төрт кіріс: SDI, CS емес, SCK, LDAC емес-сіздің DE0-Nano-Soc тақтасынан. Оларды қалай жасау керектігін кейінірек көреміз.

LM386 дыбыс күшейткішінің түйреуіштерін мұқият оқып шығуды ұмытпаңыз (жоғарыдағы суретті қараңыз)

6 -қадам: [ҚОСЫМША] Баспа схемасы Борад пен дәнекерлеу компоненттерін құру

[ҚОСЫМША] Борада баспа схемасын және дәнекерлеу компоненттерін құру
[ҚОСЫМША] Борада баспа схемасын және дәнекерлеу компоненттерін құру
[ҚОСЫМША] Борада баспа схемасын және дәнекерлеу компоненттерін құру
[ҚОСЫМША] Борада баспа схемасын және дәнекерлеу компоненттерін құру
[ҚОСЫМША] Борада баспа схемасын және дәнекерлеу компоненттерін құру
[ҚОСЫМША] Борада баспа схемасын және дәнекерлеу компоненттерін құру

Егер сізде схемалық принтерге ие болу бақыты немесе оны пайдалану мүмкіндігі болса, біз өзіміздің баспа схемасын (ПХД) жасаймыз. Бұл қадам міндетті емес екенін ескеріңіз. Бұл қадам тек тізбекті тақтадан ПХД -ге ауыстырудан тұрады.

Сізге бұл 2 GERBER файлы қажет болады.

Бұл файлдар Altium -де жасалған. ПХД басып шығару үшін оларды PCB принтерінің бағдарламалық жасақтамасында қолданыңыз. ПХД алғаннан кейін, ПХД таза екеніне және жолдардың дұрыс басылғанына көз жеткізіңіз.

Міне, нағыз мәміле: дәнекерлеу. Жоғарыдағы 2 сурет - ПХД схемасының картасы. Әр компоненттің атауы бар (R6, C4, MK1 және т.б.). 4 және 5 -қадамдағы суреттер компоненттердің параметрлерін көрсетеді (Қарсылық, өткізгіштік..). Әр компонентті өз тақтасынан ПХД -ге атауларына сәйкес орналастырыңыз.

Дәнекерлегішпен бәрін дәнекерлегеннен кейін, қысқа тұйықталу бар -жоғын тексеру үшін әрбір компонентті вольтметрмен тексеріңіз.

7 -қадам: SoC орнату

SoC орнату
SoC орнату
SoC орнату
SoC орнату

SoC қондырғысына қатысты сізге терминалда SoC ендірілген жиынтығына кіретін кейбір командалар мен сценарийлерді іске қосу қажет болады. Мұны істеу үшін сізге $ PATH қосу қажет. PATH терминалда команданы орындаған кезде жолмен берілген каталогтардан файл іздеу үшін қолданылады. Ол үшін келесі пәрмен жолын теріңіз:

PATH экспорттау =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH

Содан кейін соф файлынан тақырыптар жасау үшін пәрмен жолын теріңіз. Сіз соф файлын Quartus -та жобаңызды құрастыру арқылы аласыз. Ол үшін:./generate_header теріңіз.

8 -қадам: СЭС -ті бағдарламалау

C HPS бағдарламалау
C HPS бағдарламалау

Біз бұл бөлімде 2 нәрсені түсінуіміз керек, атап айтқанда ADC мәнін оқу және оны SPI -ге жазу.

1. ADC мәнін оқыңыз

ADC бар жадтың мекенжайы тікелей қол жетімді емес, іс жүзінде картада орналасқан linux жүйесі жадтың абстракциясын орнатады. ADC мекенжайына нақты қол жеткізу үшін біз mmap функциясын қолданамыз.

«h2p_lw_spi_addr = virtual_base + ((белгісіз ұзақ) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (белгісіз ұзын) (HW_REGS_MASK));»

Бұл нұсқаулық ADC үшін бөлінген жадтың адресіне жету үшін базалық адрестің басында офсетті қосуға және алынған адресте логиканы орындауға және маскировканы ескеруге мүмкіндік береді.

Осыдан кейін оның мәнін алу үшін бағдарламадағы көрсеткішке сілтеме жасау қажет болады.

2. SPI -де ADC мәнін жазыңыз

Манипуляция бірдей, бұл жолы біз ммапты SPI бөлген мекен -жайға қондыру үшін береміз. SPI -де жазу кезінде техникалық құжаттама + 1 мекен -жайына adc мәнін жазу керектігін көрсетеді.

« *(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);»

Бұл нұсқаулық SPI -ге жазуға мүмкіндік береді. Шынында 4 бит, сондықтан 1 << 12 - бұл SPI -ді белсендіруге мүмкіндік беретін бит. Логикалық НЕМЕСЕН біз SPI -ге активтендіру битін де, ADC мәнін де береміз.

9 -қадам: ADC картасынан сандық түрде алу

ADC картасынан сандық түрде алу
ADC картасынан сандық түрде алу
ADC картасынан сандық түрде алу
ADC картасынан сандық түрде алу
ADC картасынан сандық түрде алу
ADC картасынан сандық түрде алу
ADC картасынан сандық түрде алу
ADC картасынан сандық түрде алу

Ең алдымен, компьютердің Ethernet IP мекенжайын Басқару тақтасы -> Желі -> Карталық пармесалдар арқылы орнату қажет. Картаның Ethernet интерфейсін, қасиетін, ipv4 мекенжайын таңдап, бекітілген IP, маска және т.б. енгізіңіз.

Содан кейін картаны қуат ұясы жағынан микро USB кабелімен жалғаңыз. Quartus бағдарламашысын ашып, экспортты іске қосыңыз. Бұл манипуляция картаны өшіргеннен кейін қайталанады.

Бұл жолы Ethernet ұясының жанына қосылу үшін микро USB қосқыш кабелін өзгертіңіз. Енді Putty көмегімен картаға сериялық сілтеме арқылы қосылу қажет болады. Конфигурация фотода көрінеді, COM5 -ді COM -ға ауыстыру керек, содан кейін құрылғы менеджерінен табуға болатын нөмір (оны ашу үшін терезе логотипін тінтуірдің оң жақ түймешігімен нұқыңыз).

Enter түймесін басыңыз, сіз қосылдыңыз.

Жобаны қайта бастау туралы ақпарат: - картаға сәйкес келетін Ethernet ip -ді түзету - картаны қосыңыз, қуатты қосқан сайын, картаға құрастырылған жобаны квартустың астына «бағдарламамен» қосу қажет. Бұл микро -USB порты арқылы жүзеге асады - Бағдарламаның нәтижесін көрсету үшін біз micro USB -ді көбірек қолданамыз, бірақ UART - COM5 сериясына арналған шпатлевкамен (немесе 6 сағаттық gestinnaire перифі) Картаны қосыңыз. - Құпия сөзді орнатыңыз (passwd) - ifconfig ethxx IPchoice IP мекенжайын орнатыңыз (IP дербес компьютердің этикасынан алыс емес) - ендірілген терминалы бар Qsys сәйкес тақырыпты жасаңыз (PATH экспорттау) - make - scp l exec карта - программаны шпакл астында орындау

10 -қадам: FFT есептеуі

ФФТ есебі
ФФТ есебі

Біздің С бағдарламамызда Fast Fourier түрлендіруін алу үшін біз Mark Borgerding: Kiss FFT жазған кітапхананы қолданамыз. Сіз кітапхананы мына жерден жүктей аласыз: https://kissfft.sourceforge.net/. Сигналға FFT қолдану сигнал эффектілерін өзгерту және қолдану үшін қажет. Ол сонымен қатар сигналдың спектрін көрсетуге қызмет ете алады.

C бағдарламасындағы бірінші қадам - FFT нәтижесін сақтау үшін жад бөлу. Жад көлемі FFT есептеу үшін қолданылатын нүкте санына байланысты. Ұпайларыңыз неғұрлым көп болса, FFT соғұрлым жеңіл болады. Дегенмен, бағдарлама баяу жұмыс істейді және жадты көбірек пайдаланады. Назар аударыңыз, kiss_fft функциясының көмегімен сіз екі массив аласыз: функцияның кірісі мен шығысы (cx_in және cx_out)

Біздің массив жаңа FFT мәндерімен толтырылғаннан кейін, яғни r = Win - 1 болғанда, біз FFT өңдейміз. Дисплейге келетін болсақ, біз спектрдің оң бөлігін ғана көрсетеміз, себебі теріс бөлігі мен оң бөлігі арасында симметрия бар.

Көлденең оське байланысты біз негізгі жиіліктердің шыңдарын ажырату үшін шың мәндерін 100*биіктікке/(биіктік²) төмендетеміз.

Біз ADC мәндерінің оқу жиілігін анықтау үшін usleep жүйелік қоңырауды қолданамыз. Бұл жиілік қазіргі уақытта 1, 5 Гц деңгейінде орнатылған.

11 -қадам: FFT көрсету

FFT көрсетілуде
FFT көрсетілуде
FFT көрсетілуде
FFT көрсетілуде

Adafruit TFT СКД экранында келтірілген мысалға сүйене отырып, мына жерден табуға болады: https://www.terasic.com/downloads/cd-rom/de0-nano-s… біз басқарудың NIOS бағдарламасын бағдарламалай алдық, осылайша ол оқи алады. ADC мәні.

ADC регистрі NIOS пен ГЭС арасында бөлінеді, себебі ADC мәндері NIOS экранында FFT көрсету үшін пайдаланылады және сол мәндер тақтадан шығару және соңында түрлендіру үшін SPI -ге жазылады. аналогтық сигналды алу үшін DAC арқылы.

12 -қадам: құрастыру

Ассамблея
Ассамблея

Біз дерлік аяқтадық! Сізге проекцияның әрбір бөлігін жинау қажет болады (кіріс тізбегі, шығыс схемасы және тақта). Бөлшектерді Quartus жобасы бойынша түзеткіш түйреуіштерге қосуды қамтамасыз етіңіз.

  1. Кіріс схемасы микрофонмен жазылған дыбыс сигналын жібереді, күшейтеді, сүзеді және ығысады.
  2. Карточкада бар С бағдарламасы біз бұрын көргендей ADC мәндерін оқиды және картаның GPIO мәнін қалпына келтіру үшін оны SPI -ге жазады.
  3. Содан кейін SPI -дің GPIO шығысы біздің DAC шифрланған және динамикке жету үшін жүгіру арқылы күшейтілетін ақпаратты жібереді.

13 -қадам: дыбыстық әсерлер

Дыбыстық әсерлер
Дыбыстық әсерлер
Дыбыстық әсерлер
Дыбыстық әсерлер

Қалған жалғыз қадам - дыбыстық эффектілер.

Қол жетімді әсерлер:

  • Жоғары жиілікті сүзгі
  • Төмен жиілікті сүзгі

Сіз батырманың көмегімен эффектілер арасында ауыса аласыз. Бұл түйме біздің С бағдарламасындағы айнымалыны өзгертеді, сондықтан ол дұрыс әсерді қолдана алады.

14 -қадам: [ҚОСЫМША] Шлем жасау

[ҚОСЫМША] Дулыға жасау
[ҚОСЫМША] Дулыға жасау
[ҚОСЫМША] Дулыға жасау
[ҚОСЫМША] Дулыға жасау
[ҚОСЫМША] Дулыға жасау
[ҚОСЫМША] Дулыға жасау

Міне, біз жобаның ең қолмен сатысында тұрмыз:

  1. Алдымен біз дулыға 3D басылған әр түрлі бөлшектерді жапсырдық.
  2. Желімделген бөліктер арасындағы бос орындарды толтыру үшін біз 3D қаламмен әрлеу қостық.
  3. Біз қалам мен дулыға толтырылған аралықтарды жылтыраттық, содан кейін сурет жақсы сақталады.
  4. Біз дулыға 2 қабатпен боялдық: біріншісі антрациттен қара түске, жақыннан, ал екіншіден жасылға дейін қара -жасыл реңк береді.
  5. Ақырында біз дулыға жағына мектебіміздің логотипін басып шығардық

Ұсынылған: