Mündəricat:

Avtomatik tənzimləmə: 7 addım
Avtomatik tənzimləmə: 7 addım

Video: Avtomatik tənzimləmə: 7 addım

Video: Avtomatik tənzimləmə: 7 addım
Video: Ən yaxşı olmaq üçün 7 addım 2024, Noyabr
Anonim
Avtomatik tənzimləmə
Avtomatik tənzimləmə

Avtomatik Ayarla

Notre équipe va vous présenter la réalisation de ce layihə. Polytech Sorbonne və EISE4 (ingilis dilində elektronika məlumat sistemləri embarqés 4 dövrü) ilə əlaqəli 3 əsərdən ibarətdir.

Notlar kompüterdə və ya kompüterdə FFT ilə əlaqədardır. Mümkünsə, səsin həcmini və səsini dəyişdirin.

Bu təsviri ingilis (Amerika Birləşmiş Ştatları) dilinə geri tərcümə edin Tərcümə edin C'est parti pour les explications !!

Addım 1: Composants Utilisés

  • Kart DEO-Nano-SoC
  • Batterie 2 çıxışı 5V2A
  • Mikro
  • Haut Parleur 8 Ohm
  • Tənzimləmə: MAX660
  • Başlıq IR: GP2Y0E02A
  • Ampli Audio: LM386N-1/NOPB
  • DAC: MCP4821-E/P
  • Diod: 1N4148
  • Transitor: LND150N3-G / N-FET
  • 2 AOP: TL081C
  • Rezistansiyalar
  • Kondensatorlar
  • Wi -Fi: ESP8266EX
  • 4 açar
  • 3 Led de couleurs

Addım 2: Memarlıq

Memarlıq
Memarlıq

Autotune-in arxitekturası ilə bağlı bir çox məlumat yoxdur.

Əlaqə yoxdur, heç bir şey yoxdur və heç bir işarə yoxdur ki, FPGA -dan başqa heç bir siqnal yoxdur. Siqnalların dəyişdirilməsi seçimlərin dəyişdirilməsi və ya dəyişdirilməsi ilə əlaqədardır. Əlavə olaraq, siqnal analizi və ötürülməsi ilə əlaqəli dəyişikliklər etmək mümkündür.

Addım 3: Analogiya Partiyası

Tərəf analoqu
Tərəf analoqu
Tərəf analoqu
Tərəf analoqu
Tərəf analoqu
Tərəf analoqu

Notre partie analoji 2 sxemdən ibarətdir:

Birincisi, mikro partnyorlar və ya CAN de la carte FPGA -nın ən yüksək səviyyəsinə çatmaq üçün filtr və siqnalların ötürülməsi üçün gücləndiricilərə müraciət edin.

Şəbəkə əməliyyatları zamanı FPGA, DAC kompozisiyası, gərginlik və gərginliyin gücləndirilməsi ilə əlaqəli bütün işlər görüldü.

Kompozisiyaların hazırlanması üçün 5 -ci sinifdən başlayaraq ən yaxşı nəticələr əldə edə bilərsiniz.

Addım 4: PCB -lərin təəssüratı

PCB təəssüratları
PCB təəssüratları
PCB təəssüratları
PCB təəssüratları
PCB təəssüratları
PCB təəssüratları

PCB -dən istifadə etməklə heç bir problem görməyən, bütün uşaqları qoruyan!

Alitum və ya PCB -lərin ən çox yayılmış modelləri, ən kiçik və ən yüksək səviyyəli kompüterlərdir. Veb saytın müxbiri və ya müəllimi bu mövzuda köməkçi ola bilər!

Addım 5: Partie Numérique

Partiya Numérique
Partiya Numérique

PCB -lərdən istifadə etməklə, FPGA -nın ən çox yayılmış bölmələri var!

İstifadəçilərin nömrələrini və nömrələrini daxil edin və bu mövzuya baxın. Əlavə olaraq, DEC en spi versiyasına görə modifikasiya et və dəyişdirin. Əlbətdə ki, wifi hesabından istifadə edin. Préèère partie üçün ən yaxşı seçimlər.

Qsys və quartus -dan istifadə edərək, HPS -in digər bölmələri yaradılmışdır. IP SPI -dən istifadə edərək, IP UART -a və ya digər karta Wi -Fi göndərin.

Addım 6: Le Code

Voici le lien où nous avons récuperé le kodunu faire la fft.

İstifadə edərkən fft hesablayıcısını tökün:

// Yaratma və konfiqurasiya və s (t) və 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));

üçün (j = 0; j <NFFT; j ++) {Dəyər = *h2p_lw_adc_addr; // recupère la valeur provenant du pcb du microin [j].r = Dəyər-2000.0; // təqaüdçü l'offset de cette valeurfor (i = 0; i <2100; i ++) haqqında}}}} iştirak et un temps bien précis pour avoir une fréquence d’échantillonnage connue}

// Calcul de la FFT depuis in versus outkiss_fft (config, in, out); bzero (C_val, 110); // remet à zero le tableau qui nous sert de buffer que l'on va envoyer par wififor (t = 0; t <(NFFT/4); t ++) {// limiter la taille du buffer on limite la sortie de la fft à des valeurs 0 və 9 tmp_log = 20*(log (abs (out [t].r/1000.0)))*9;

tmp_log = tmp_log/50; əgər (tmp_log <0) {tmp_log = 0; } əgər (tmp_log> 9) {tmp_log = 9; } sprintf (tmp_val, "%d", tmp_log); strcat (C_val, tmp_val); // auf buffer la nouvelle valeur

} send_wifir (C_val); // wifi -ni aktivləşdirin

Fonksiyon göndər wifir:

etibarsız send_wifir (char* com_AT) {int sayı, z; for (z = 0; z <22000000; z ++) {} for (num = 0; num <(int) strlen (com_AT); num ++) { *(h2p_lw_rs232_addr) = com_AT [num]; }}

İstifadəçi kodunu istifadə etmək üçün la carte wifi qoyun:

send_wifi ("AT+RST / r / n"); // a la cartesleep tələbi (3); // iştirak qu'elle resetsend_wifi ("AT+CWMODE = 3 / n / r"); // seçim rejimi cartesend_wifi ("AT+CWJAP = \" wifiNom / ", \" MotDePasse / "\ r / n"); // on lui demande de se connecter au wifisleep (15); // on join quesel connectesend_wifi ("AT+CIPSTART = \" UDP / ", \" 192.168.43.110 / ", 32003 / r / n"); // İstənilən halda, əlaqəni tənzimləyin (3); // iştirak la connexionsend_wifi ("AT+CIPMODE = 1 / r / n"); // on se met en rejimində envoie en Continleepleep (3); send_wifi ("AT+CIPSEND / r / n"); // ötürülməyə başlayın

wifi göndərmə funksiyası:

void send_wifi (char * com_AT) {int num, z; for (num = 0; num <(int) strlen (com_AT); num ++) { * (h2p_lw_rs232_addr) = com_AT [num]; üçün (z = 0; z <2500000; z ++) {}}}

Xidmət kodu:

affichage de la fft:

int i, j, Dəyər = 0; sistem ("aydın");

for (i = 0; i <41; i ++) {if (i <40) {for (j = 0; j <BUFSIZE; j ++) {if (table [j]*4> (40 - i)) {if (cədvəl [j]*4> 35) printf (QIRMIZI | "" SIFIRLA); else if (cədvəl [j]*4> 28) printf (L_RED "|" SIFIRLA); else if (cədvəl [j]*4> 21) printf (YEL "|" SIFIRLA); else if (cədvəl [j]*4> 14) printf (L_YEL "|" SIFIRLA); else if (cədvəl [j]*4> 7) printf (L_GRN "|" SIFIRLA); başqa printf (GRN "|" SIFIRLA); } başqa printf (""); } printf ("\ n"); } başqa {printf ("0Hz 2.5Hz 5Hz 7.5kHz 10kHz / n"); /*üçün (j = 0; j <(BUFSIZE/2); j ++)

Tövsiyə: