Мазмұны:
- 1 -қадам: 1/3 талаптар - Жабдық
- 2 -қадам: 2/3 талаптар - Сіздің тізбегіңіз үшін компоненттер
- 3 -қадам: 3/3 талаптар - Бағдарламалық қамтамасыз ету
- 4 -қадам: кіріс схемасы
- 5 -қадам: шығыс схемасы
- 6 -қадам: [ҚОСЫМША] Баспа схемасы Борад пен дәнекерлеу компоненттерін құру
- 7 -қадам: SoC орнату
- 8 -қадам: СЭС -ті бағдарламалау
- 9 -қадам: ADC картасынан сандық түрде алу
- 10 -қадам: FFT есептеуі
- 11 -қадам: FFT көрсету
- 12 -қадам: құрастыру
- 13 -қадам: дыбыстық әсерлер
- 14 -қадам: [ҚОСЫМША] Шлем жасау
Бейне: Спартандық дауыс ауыстырғыш дулыға: 14 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Сәлеметсіз бе! Біз Сорбонна университетінің политехникалық мектебінің 4 студентінен тұратын командамыз:
- Луи Бухер
- Билал Мелехи
- Бао Тинь Пиот
- Марко Лонгепе
Бұл жоба біздің зерттеулеріміздің бір бөлігі ретінде жүзеге асады, және көптеген құралдарды қолымызға алуға, сонымен қатар теориялық жетістіктерімізді көрсетуге бағытталған.
Атақты объект аты жоғалатын белгілі бір бейне ойынның кейіпкеріне ұқсайтын дулыға пайда болады. Дизайн жағында бізде динамиктен шығатын дыбыстық сигналдың Фурье түрленуін көрсететін экран бар. Бұл гарнитураның мақсаты - таңдаулы эффектілердің көмегімен тасымалдаушының дауысын нақты уақытта өзгерту.
Тәрбиелік мақсаттары:
- Дыбысты микрофоннан жазып алыңыз
- Сигналды күшейту, сүзу, цифрландыру
- Сигналдың FFT іске асырылуы
- Бұл FFT экранында көрсетіңіз
- Сигнал синтезі
- Динамиктен дыбысты шығарыңыз
- Аудио дыбысқа әсерлерді іске асырыңыз (реверберация, жаңғырық және т.
Енді біз фонды қойып, жобаны ұсындық, енді қолыңызды қоюдың уақыты келді!
1 -қадам: 1/3 талаптар - Жабдық
Шлемді сәтті құрастыру үшін бізге құрылғыны іске қосу үшін қосымша құрал қажет болады.
- Terasic + Adafruit TFT LCD экранымен DE0-Nano-SoC дамыту тақтасы (Arduino)
- Шлем жасау үшін 3D принтеріне қол жеткізу (егер сіз университеттің студенті болсаңыз, университетіңізге жақындасаңыз, кейбіреулерінде зертханалар студенттерге қол жетімді)
- Интернетке қосылған және ең аз қосылымы бар компьютер (USB, Ethernet). Сондай -ақ, сіздің компьютеріңізде мықты процессор болуы керек, себебі Qsys бағдарламаларын құрастыру көп уақытты алады.
- (Міндетті емес) Гербер файлдарынан тізбектің көлемін кішірейту үшін баспа схемаларын (ПХД) жасайтын принтер + компоненттерді ПХД -ге салу үшін дәнекерлеуіш.
- (Қатаң түрде ұсынылады): Біздің нұсқаулықпен жұмысыңыздан ләззат алу үшін жақсы кофе:)
2 -қадам: 2/3 талаптар - Сіздің тізбегіңіз үшін компоненттер
Міне сіздің схемаңызға қажет компоненттер:
- Texas Instrument LM386 AB сыныпты дыбыс күшейткіші
- Нан тақтасы
- Еркек-еркек, еркек-әйел кабельдер жиынтығы
- LM358P Digital-to-Analoh түрлендіргіші (DAC)
- Динамик
- Аналогиялық схемада қолданылатын шағын микрофон
- 1кОм -нан 220кОм -ге дейінгі резисторлардың ойын жиынтығы
- Конденсатор 1.5nF
- Конденсатор 50nF
- Конденсатор 100nF
- Конденсатор 100uF
- Конденсатор 220uF
- x4 конденсаторлар 10uF
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 ендірілген жиынтығына кіретін кейбір командалар мен сценарийлерді іске қосу қажет болады. Мұны істеу үшін сізге $ PATH қосу қажет. PATH терминалда команданы орындаған кезде жолмен берілген каталогтардан файл іздеу үшін қолданылады. Ол үшін келесі пәрмен жолын теріңіз:
PATH экспорттау =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
Содан кейін соф файлынан тақырыптар жасау үшін пәрмен жолын теріңіз. Сіз соф файлын Quartus -та жобаңызды құрастыру арқылы аласыз. Ол үшін:./generate_header теріңіз.
8 -қадам: СЭС -ті бағдарламалау
Біз бұл бөлімде 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 картасынан сандық түрде алу
Ең алдымен, компьютердің 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 көрсету
Adafruit TFT СКД экранында келтірілген мысалға сүйене отырып, мына жерден табуға болады: https://www.terasic.com/downloads/cd-rom/de0-nano-s… біз басқарудың NIOS бағдарламасын бағдарламалай алдық, осылайша ол оқи алады. ADC мәні.
ADC регистрі NIOS пен ГЭС арасында бөлінеді, себебі ADC мәндері NIOS экранында FFT көрсету үшін пайдаланылады және сол мәндер тақтадан шығару және соңында түрлендіру үшін SPI -ге жазылады. аналогтық сигналды алу үшін DAC арқылы.
12 -қадам: құрастыру
Біз дерлік аяқтадық! Сізге проекцияның әрбір бөлігін жинау қажет болады (кіріс тізбегі, шығыс схемасы және тақта). Бөлшектерді Quartus жобасы бойынша түзеткіш түйреуіштерге қосуды қамтамасыз етіңіз.
- Кіріс схемасы микрофонмен жазылған дыбыс сигналын жібереді, күшейтеді, сүзеді және ығысады.
- Карточкада бар С бағдарламасы біз бұрын көргендей ADC мәндерін оқиды және картаның GPIO мәнін қалпына келтіру үшін оны SPI -ге жазады.
- Содан кейін SPI -дің GPIO шығысы біздің DAC шифрланған және динамикке жету үшін жүгіру арқылы күшейтілетін ақпаратты жібереді.
13 -қадам: дыбыстық әсерлер
Қалған жалғыз қадам - дыбыстық эффектілер.
Қол жетімді әсерлер:
- Жоғары жиілікті сүзгі
- Төмен жиілікті сүзгі
- …
Сіз батырманың көмегімен эффектілер арасында ауыса аласыз. Бұл түйме біздің С бағдарламасындағы айнымалыны өзгертеді, сондықтан ол дұрыс әсерді қолдана алады.
14 -қадам: [ҚОСЫМША] Шлем жасау
Міне, біз жобаның ең қолмен сатысында тұрмыз:
- Алдымен біз дулыға 3D басылған әр түрлі бөлшектерді жапсырдық.
- Желімделген бөліктер арасындағы бос орындарды толтыру үшін біз 3D қаламмен әрлеу қостық.
- Біз қалам мен дулыға толтырылған аралықтарды жылтыраттық, содан кейін сурет жақсы сақталады.
- Біз дулыға 2 қабатпен боялдық: біріншісі антрациттен қара түске, жақыннан, ал екіншіден жасылға дейін қара -жасыл реңк береді.
- Ақырында біз дулыға жағына мектебіміздің логотипін басып шығардық
Ұсынылған:
Ковидтік қауіпсіздік дулыға 1 -бөлім: Tinkercad схемаларына кіріспе: 20 қадам (суреттермен)
Covid Safety дулыға 1 -бөлім: Tinkercad схемаларына кіріспе !: Сәлеметсіз бе, дос! Бұл екі бөлімнен біз Tinkercad схемаларын қалай қолдануға болатынын білеміз - бұл схемалардың қалай жұмыс істейтінін білуге арналған көңілді, қуатты және білім беру құралы! Оқудың ең жақсы әдістерінің бірі - бұл жасау. Сонымен, біз алдымен өзіміздің жеке жобамызды жасаймыз: th
3D басып шығарылатын диско дулыға!: 11 қадам (суреттермен)
3D басып шығарылатын диско дулыға!: Daft Punk классикалық дулыға «Томас» шабытынан. Бөлмені жарықтандырыңыз және осы керемет Arduino дискотекасының дулығаымен барлық достарыңыздың қызғанышына айналыңыз! Бұл жобаны аяқтау үшін сізге 3D принтері мен дәнекерлегішке қол жеткізу қажет болады
Жарықдиодты дулыға: 6 қадам (суреттермен)
Жарықдиодты велосипедтік дулыға: велосипедтік дулыға өткізгіш бояумен қауіпсіз жарықдиодты қалай қосуға болады. Мен велосипедке түсіретін шамдарды үнемі жоғалтып жүрдім, олар арзан немесе сапалы емес. Материалдар: өткізгіш бояу өткізгіш эпоксид 5 минуттық эпоксид (ересектерге арналған ыстық желім
Кондиционерлі велосипед дулыға (қайта өңделген компьютерлерден жасалған): 5 қадам (суреттермен)
Кондиционерлі велосипедтік дулыға (қайта өңделген компьютерлерден жасалған): желдеткіштері бар тесік үстіндегі дулыға сіздің басыңыздан ауаны сорып алады және сіз оның бетіңізден жоғары көтерілгенін сезесіз! Күн ыстық күндері велосипедпен жүруге өте ыңғайлы. Жарық диодтары түнгі велосипедпен жүруге де көмектеседі! Бөліктердің барлығы
Дыбыс ауыстырғыш: 5 қадам (суреттермен)
Дыбыс өзгертуші: Сәлеметсіз бе! Сіз әрқашан дыбысты сүзу немесе модуляция сияқты өзгертуге қабілетті аквариум/қалпына келтіру дыбыстық жүйесін құрғыңыз келді! Дыбыс ауыстырғыш сізге арналған! Бұл жобаға шамамен 10 сағат қажет және бюджеті $ 173.78.1 DE0 нано Сондықтан