Мазмұны:

Кактус 2000: 7 қадам
Кактус 2000: 7 қадам

Бейне: Кактус 2000: 7 қадам

Бейне: Кактус 2000: 7 қадам
Бейне: КВН Золотые выступления 2000-ых / Сборник лучших выступлений Нулевых/ Часть 2 2024, Қараша
Anonim
Кактус 2000 ж
Кактус 2000 ж

MIDI-CONTROLEUR EISE4 ЖОБАСЫ

Француз:

Lors de notre quatrième année d'école ingénieur, nous avons réalisé un midi-contrôleur. Pour ce faire, nous avions à notre disposition:

  • Бірден картасы DE0 Nano Soc
  • Des oscilloscopes, des multimètres
  • Дифференциалды типтердің түрлері (күшейту, қарсылық, сыйымдылық …)
  • Micro et un haut-parleur
  • Ұсақ -түйек

Жыл сайын өтетін жолаушылардың саны әр түрлі болады. Nous allons vous les présenter dans cet Instructable.

Іске кірісу үшін, ең бастысы, тізбекті жаңартыңыз. Электр тізбегін ажырататын құрал, Altium. ДК -де лентр -де -ле -де -де -легирующее де -де -автокөлік DE0 Nano Soc afin que la carte puisse récupérer les echantillons du micro et redonner саяхатшы. Ақырында, соңғы жаңартылған модульді өзгертуге болады.

Ағылшын:

Төртінші курста біз миди-контроллерді түсіндік. Ол үшін біздің қолымызда:

  • Карта DE0 Nano Soc
  • Осциллографтар, мультиметрлер
  • Әр түрлі компоненттер (күшейткіш, кедергі, сыйымдылық …)
  • Динамик пен микрофон
  • Кішкене экран

Жобаның сәтті болуы үшін бізге әр түрлі қауіпті кезеңдерден өтуге тура келді. Біз сізді осы нұсқаулықпен таныстырамыз.

Біріншіден, микрофонның ұлын қалпына келтіру және динамик жасау үшін қажет негізгі схеманың дизайны. Схема сызылғаннан кейін ПХД Altium бағдарламалық жасақтамасында жасалуы керек еді. Екі студент кіріс пен шығыс ПХД -ін басқарумен айналысып жатқанда, қалған екеуі картаның микрофон үлгілерін алып, динамикке сигнал беруі үшін DE0 Nano Soc картасын іске қосу үшін жұмыс жасады. Ақырында, дыбысты өзгерту үшін дыбыстық эффектілер жасауға тура келді.

1 -қадам: Du Circuit En Entrée / Entrance Circuit Design тұжырымдамасы

Du Circuit En Entrée / Entrance схемасының дизайны
Du Circuit En Entrée / Entrance схемасының дизайны

Француз:

La première étape arranges à mettre en place un circuit qui puisse prendre le signal envoyer sur le micro pour le transmettre à la carte DE0 Nano Soc.

Ci-dessus le schéma de notre entrée.

(1) 5 вольт және трансформатор - 5 В.

(2) Icon, nous avons un amplificateur noverse. D'après la formule suivante:

Vs = Ve (1 + Z1/Z2)

Таңдау кезінде R1 = 100 kOhm et R2 = 1 kOhm мәнін табыңыз.

CET amplificateur va servir дыбыс күшейткіші.

(3) 0 -ден 4 В -ге дейінгі тізбектегі кернеулер де жоқ.

(4) шамалы күшейткіш.

(5) CAG (Controle Automatique de Gain)

(6) RC құйыңыз. L'ordre 2 était nécessaire - 40db / онжылдықта. La fréquence de coupure choisit 20 кГц.

Ағылшын:

Бірінші қадам - DE0 Nano Soc картасына жіберу үшін микрофонға сигнал жібере алатын схеманы орнату. Біздің жазбаның диаграммасының үстінде.

(1) Инвертор 5 Вольтты қалпына келтіреді және оны 5 В -қа айналдырады. - 5 В күшейткішке біз төменде қараймыз.

(2) Мұнда бізде айналмалы емес күшейткіш бар. Келесі формула бойынша:

Vs = Ve (1 + Z1 / Z2)

101 коэффициенті R1 = 100 кОм және R2 = 1 кОм орнату арқылы таңдалды.

Бұл күшейткіш микрофон дыбысын күшейту үшін қолданылады.

(3) Екі резистор шығыс кернеуі 0 мен 4 В аралығында болатындай ығысу жасайды.

(4) Күшейткіш күшейтетін микрофон.

(5) AGC (Автоматты кірісті басқару)

(6) Ақырында, біз екі RC бар екінші ретті төмен өту сүзгісін құрдық. -40db / онжылдықта әлсіреу үшін 2 -ші тапсырыс қажет болды. Таңдалған ажырату жиілігі 20 кГц.

2 -қадам: Тұйықталу тізбегінің тұжырымдамасы / шығыс схемасының дизайны

Du Circuit En Sortie тұжырымдамасы / шығыс схемасының дизайны
Du Circuit En Sortie тұжырымдамасы / шығыс схемасының дизайны

Француз:

Екінші температурада, ең алдымен, жаңа схемалар жоқ.

Ci-dessus le schéma de notre sortie.

(1) Le DAC (цифрлықтан аналогты түрлендіргіші) сигналдың теңдестірілуінің белгісі DE0 Nano Soc et le convertir en signal analogical (nécessaire pour le haut parleur)

(2) Сыйымдылықты жоғарылату және сигналды жалғастыру.

(3) Montage qui va permettre d'amplifier la puissance de notre сигнал. Nous avons prit le schéma:

www.ti.com/lit/ds/symlink/lm386.pdf

10 бет

Бұл жағдайда 200 -ге жуық автокөлік белгісі белгісіз.

Ағылшын:

Біздің нәтижеміздің диаграммасының үстінде.

(1) DE0 Nano Soc картасы арқылы жіберілетін цифрлық сигналды қалпына келтіруге және оны аналогтық сигналға (дауыс зорайтқыш үшін қажет) түрлендіруге мүмкіндік беретін DAC (Digital to Analog Converter).

(2) Сыйымдылық біздің сигналдың үздіксіз компонентін беру үшін пайдаланылады.

(3) Біздің сигналдың күшін күшейтетін монтаж. Біз схеманы алдық:

www.ti.com/lit/ds/symlink/lm386.pdf

10 бет

Бұл схема 200 -ге жетуге мүмкіндік береді, бұл біздің сигнал шынымен әлсіз.

3 -қадам: PCB тұжырымдамасы / ПХД дизайны

PCB тұжырымдамасы / ПХД дизайны
PCB тұжырымдамасы / ПХД дизайны

Француз:

Кез келген тізбектер ПХД -мен жұмыс жасайтын кезде пайда болады.

Altium, faire, nous avons, a logicel de la quier de la de la de la quier de la de la de la quier de la lécium Altium құйыңыз. Іс -әрекетті түзету қосқышы puis cliquer sur:

Мәзір дизайны -> ПХД құжатын жаңарту.

«Өзгерістерді тексеру» шарты. «Тексеріңіз» деген сөзді өзгертіңіз, оны тоқыңыз.

Après cela, vous aurez un nouvel onglet qui va s'ouvrir et il faudra placer les composes dans cette fenêtre.

Меню «Файл» -> «Өндіріс нәтижесі» -> «Гербер файлдары»

Une fenêtre s'ouvre, dans celle-ci vous trouverez;

  • «Қабаттар» мәзірі ПХД -ді таңдау үшін қажет деңгейге жетуге мүмкіндік береді.
  • «Бұрғылау сызбасы» мәзірі декорға сәйкес келеді.
  • «Диафрагмалар» мәзірі «Ендірілген қондырмалар» дегенді білдіреді.

Tutee ses etéapes sont şikayetes?

Revenons maintenant à la fenêtre avec les compompants sur celle-ci vous cliquez sur

Файл-> Өндіріс нәтижесі -> NC бұрғылау файлдары

Мұны істеу керек, бұл реставрацияға қосымша 3D форматындағы 3D форматында.

Vous trouverez ci-joint les photos de nos deux PCB.

Ағылшын:

Біздің схемалар пайда болғаннан кейін біз оларды ПХД -ге қоюға тура келді.

Ол үшін біз Altium бағдарламалық жасақтамасын қолданамыз. Барлығы дұрыс қосылған болуы керек, содан кейін басыңыз:

Мәзір дизайны -> ПХД құжатын жаңарту.

Содан кейін «Өзгерістерді тексеру» түймесін басыңыз. Әрбір тексерілген өзгеріс үшін «Тексеру» бағанында жасыл құсбелгі пайда болады.

Осыдан кейін сізде жаңа қойынды пайда болады және сіз компоненттерді осы терезеге қоюыңыз керек.

Содан кейін сіз «Файл» -> «Шығу нәтижесі» -> «Гербер файлдары» мәзіріне өтуіңіз керек

Терезе ашылады, онда сіз оны таба аласыз;

«Қабаттар» мәзірі ПХД -ны қолдайтын қабаттарды таңдауға мүмкіндік береді. «Бұрғылау сызбасы» мәзірі, онда бәрі белгіленбеуі керек. Мәзір «Диафрагмалар», онда сіз «Ендірілген қондырмаларды» тексеруіңіз керек.

Оның барлық қадамдары аяқталды ма?

Енді сіз басатын компоненттері бар терезеге оралайық

Файл-> Өндіріс нәтижесі -> NC бұрғылау файлдары

Ақыры бітті, сізге 3D принтерге файлдарды беру жеткілікті.

Сіз біздің екі ПХД фотосуреттерін қоса таба аласыз.

4 -қадам: Périphériques DE0 Nano Soc Card үшін La Carte DE0 Nano Soc / перифериялық құрылғыларын құйыңыз

Периферикес DE0 Nano Soc картасына арналған La Carte DE0 Nano Soc / перифериялық құрылғыларын құйыңыз
Периферикес DE0 Nano Soc картасына арналған La Carte DE0 Nano Soc / перифериялық құрылғыларын құйыңыз

Франсис:

Ақпараттық ресурстар IP -ге оңтайлы түрде жүктеледі Intel FPGA және peuvent étre implémentés tépérése тұжырымдамасы мен сынағы.

Qsys nous avons pu créer des périphériques embarqués dans notre carte.

Деректердің тізімі келесідей:

  • Байланыс SPI pour le DAC
  • ADC құюға арналған құралдар аналогтық сигналға және конверсияға арналған
  • HPS (processeur) төгілген кодтарды толтырады
  • GPIO құюды жеңілдетеді
  • Mémoire (чип жадында)

Ағылшын:

IP ядролары Intel FPGA құрылғылары үшін оңтайландырылған және оларды жобалау мен сынақ уақытын жеңілдетуге болады.

Qsys бағдарламалық қамтамасыз етуінің арқасында біз картаға ендірілген қосымша құрылғыларды құра алдық. Міне біз қосқан құрылғының тізімі:

  • DAC үшін SPI байланысы
  • ADC біздің сигналдан аналогтық мәндерді шығарады және оларды цифрлық деректерге түрлендіреді
  • Барлық кодтарды басқаруға арналған HPS (процессор)
  • Белгілі бір әсерлерді жеңу үшін қолданылатын түймелерге арналған GPIO
  • Жад (чиптің жадында)

5 -қадам: L'écran LT24

L'écran LT24
L'écran LT24

Француз:

LT24 NIOS процессорының симуляторына сәйкес нұсқаулықтардың бірі болып табылады.

Құжаттарды жаңартуға рұқсат етіңіз.

AF final, notre écran sert à afficher la FFT, sélectionner l'effet voulu.

Ағылшын:

Бізге LT24 экранын түсіну және басқару қажет болды, ол NIOS модельделген процессорымен басқарылады. Оны бастау үшін біз бұл туралы көптеген құжаттарды оқыдық.

Ақыр соңында, біздің экран FFT -ті қажетті әсерге шығару үшін қолданылады.

6 -қадам: En C ++ кодтары / С ++ тіліндегі пайдалы кодтар

C ++ тіліндегі кодтар / С ++ тіліндегі пайдалы кодтар
C ++ тіліндегі кодтар / С ++ тіліндегі пайдалы кодтар

C ++ - тің негізгі құралдары - бұл кодекстер.

Voici d'abord tole nos déclarations (oui un peu excertif…):

Мен сізге дыбыстық эффектілерді жасау үшін пайдалы C ++ кодтарын көрсетемін.

Біріншіден, біздің барлық мәлімдемелер (иә сәл толық …):

#қосу

#қосу #қосу #қосу #қосу #қосу #қосу #қосу #қосу #WavUtils.cpp #include «alt_gpio.h» #include «hwlib.h» #include «socal.h» #include #include «kiss_fft.h» #debine nbpoint 1000 #define HW_REGS_BASE (ALT_STM_OFST) #define HW_REGS00_00 (Hx_RegS00_00) HW_REGS_SPAN - 1) #define PI 3.1415926535 #define NFFT 80 #define FE 41000 #define F2 10000 #define F1 5925 #define PH 5000 #debine PB 15000 #define MOD 2000 аттар кеңістігін қолданып; const long SAMPLE_RATE = 12500000; // Création de la configuration et des buffers in et out pour s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL); const kiss_fft_cfg config_inv = kiss_fft_alloc (NFFT, 1, NULL, NULL); kiss_fft_cpx*in = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*out = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*inv = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); queueoutBuf; int global = 0; int i = 0; қысқа деректер, деректер2;

Модуляциялаудың біркелкі емес функциялары:

Төменде модуляцияға мүмкіндік беретін біздің функциялардың бірі берілген:

бос модуляция (int freq)

{if (i <NFFT) {data = data*cos (2*PI*freq*i/FE); .r = деректерінде; i ++; } басқа i = «0»; }

Voici notre fonction негізгі:

Бұл біздің негізгі функциямыз:

int main (int argc, char ** argv)

{тұрақсыз белгісіз ұзақ *h2p_lw_spi_addr = NULL; тұрақсыз белгісіз ұзақ *h2p_lw_led_addr = NULL; тұрақсыз белгісіз ұзақ *h2p_lw_adc_addr = NULL; тұрақсыз белгісіз ұзақ *h2p_lw_blue_addr = NULL; тұрақсыз белгісіз ұзақ *h2p_lw_red_addr = NULL; тұрақсыз белгісіз ұзақ *h2p_lw_black_addr = NULL; void *virtual_base; int fd; printf («1 / n»); // spi регистрлерінің адрестік кеңістігін қолданушы кеңістігіне салыңыз, осылайша біз олармен өзара әрекеттесе аламыз. // біз іс жүзінде ГЭС -тің КӘЖ -нің барлық кезеңінде картаны жасаймыз, өйткені біз осы аралықта әр түрлі регистрлерге қол жеткізгіміз келеді, егер ((fd = open («/dev/mem», (O_RDWR | O_SYNC)) == -1) {printf («ҚАТЕ: \»/dev/mem / «… / n» ашылмады); қайтару (1); } printf («2 / n»); virtual_base = mmap (NULL, HW_REGS_SPAN, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, HW_REGS_BASE); printf («3 / n»); if (virtual_base == MAP_FAILED) {printf («ERROR: mmap () орындалмады… / n»); жабу (fd); қайтару (1); } printf («4 / n»); printf («5 / n»); h2p_lw_spi_addr = virtual_base + ((белгісіз ұзақ) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (белгісіз ұзақ) (HW_REGS_MASK)); h2p_lw_led_addr = virtual_base + ((белгісіз ұзақ) (ALT_LWFPGASLVS_OFST + PIO_LED_BASE) & (белгісіз ұзақ) (HW_REGS_MASK)); h2p_lw_adc_addr = virtual_base + ((белгісіз ұзақ) (ALT_LWFPGASLVS_OFST + ADC_0_BASE) & (белгісіз ұзақ) (HW_REGS_MASK)); h2p_lw_blue_addr = virtual_base + ((белгісіз ұзақ) (ALT_LWFPGASLVS_OFST + PIO_BLUE_BASE) & (белгісіз ұзын) (HW_REGS_MASK)); h2p_lw_black_addr = virtual_base + ((белгісіз ұзақ) (ALT_LWFPGASLVS_OFST + PIO_BLACK_BASE) & (белгісіз ұзақ) (HW_REGS_MASK)); h2p_lw_red_addr = virtual_base + ((белгісіз ұзын) (ALT_LWFPGASLVS_OFST + PIO_RED_BASE) & (белгісіз ұзақ) (HW_REGS_MASK)); // int i = 0; int деректері; int i = 0, j; // Création de la configuration et des buffers in et out pour s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL); kiss_fft_cpx*in = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*out = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); while (1) {data = *(h2p_lw_adc_addr+2); if (*h2p_lw_blue_addr == 1) data = echo (деректер, 20); егер (*h2p_lw_black_addr == 1) alt_write_word (h2p_lw_led_addr, 0x0F); егер (*h2p_lw_red_addr == 0) alt_write_word (h2p_lw_led_addr, 0xF0); alt_write_word (h2p_lw_spi_addr+1, деректер | 0b111000000000000); } тегін (конфигурация); тегін (in); тегін (сыртқа); қайтару 0; }

7 -қадам: Финал / финал

Le Final / Final
Le Final / Final

Француз:

Cactus 2000 соңғы нұсқасы.

ПХД -ге енгізілген және енгізілген карталар DE0 Nano Soc.

Жуынатын бөлме, композиторлар сонда placés à l'interieur d'une boite jaune.

Потенциалды күшейту бойынша, жоғары деңгейдегі дыбыстарды шығару, потенциометтер мен тілектерді алу, олар бір -біріне әсер етпейтінін анықтайды.

Порт-парлеор бір-бірімен қарым-қатынасты реттейді. Порт-репортерлердің пікірлері бойынша, бұл сіздің қолыңыздан келеді.

Couest tout pour aujourd'hui.

Нұсқауға болатын нұсқаулар.

Ағылшын:

Міне, біз (ақырында) біздің Кактус 2000 -нің соңғы көрсетіліміне келдік.

Біз DE0 Nano Soc тақтасына қосылған кіріс және шығыс ПХД орнатамыз.

Содан кейін оның компоненттері сары қораптың ішіне орналастырылады.

Қорапта дыбыс деңгейін басқаруға болатын слайд потенциометрі, кейбір эффектілерді іске қосатын түймелер мен түймелер және FFT көрсетілетін экран бар.

Динамик түймелерге перпендикуляр орналасқан. Микрофон қораптың екінші жағында динамикке қатысты орналасқан.

Мұның бәрі бүгінге арналған.

Бұл нұсқаулық сізге пайдалы болады деп үміттенемін.

Ұсынылған: