Агуулгын хүснэгт:

Кактус 2000: 7 алхам
Кактус 2000: 7 алхам

Видео: Кактус 2000: 7 алхам

Видео: Кактус 2000: 7 алхам
Видео: ЗАКРИЧАЛ – ПОТЕРЯЛ ₽200.000 / ТРЭШКЭШ: Тишина 2024, Долдугаар сарын
Anonim
Кактус 2000
Кактус 2000

ТӨСЛИЙН ДУНД ХЯНАЛТЫН 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
  • Төрөл бүрийн төрлүүд (олшруулагч, эсэргүүцэл, багтаамж …)
  • Un micro et un haut-parleur
  • Пет экран

Il nous a fallu passer par différentes étapes périlleuses for de réussir le projet. Nous allons vous les présenter dans cet Зааварлах боломжтой.

Pour commencer, le dessin du circuit de base était nécessaire afin de récupérer le son du micro et le rendre au haut-parleur хийнэ. Une fois le circuit dessiner, le PCB était à faire sur le logiciel Altium. Зүүлт que deux élèves s'occupaient de gérer les PCB de l'entrée et de la sortie, les deux autres s'occupaient de faire fonctionner la carte DE0 Nano Soc afin que la carte puisse récupérer les echantillons du micro et redonner haut-parleur. Төгсгөлд нь хэлэхэд, null a fallu créer des effets sonores pour modifier le son.

Англи:

Дөрөвдүгээр курст байхдаа бид midi-хянагчтай болсон. Үүнийг хийхийн тулд бидэнд дараахь зүйлс байсан.

  • Газрын зураг DE0 Nano Soc
  • Осциллограф, мултиметр
  • Төрөл бүрийн бүрэлдэхүүн хэсгүүд (өсгөгч, эсэргүүцэл, багтаамж …)
  • Микрофон ба чанга яригч
  • Жижиг дэлгэц

Төслийг амжилттай хэрэгжүүлэхийн тулд бид янз бүрийн аюултай алхамуудыг туулах шаардлагатай болсон. Энэхүү зааврын дагуу бид танд танилцуулах болно.

Нэгдүгээрт, микрофоны хүүг сэргээж, чанга яригч болгоход шаардлагатай үндсэн хэлхээний дизайн. Хэлхээг зурсны дараа ПХБ -ийг Altium програм хангамж дээр хийх ёстой байв. Хоёр оюутан оролт, гаралтын ПХБ -ийг удирдах завгүй байхад нөгөө хоёр нь DE0 Nano Soc картыг ажиллуулахаар ажиллаж байсан бөгөөд карт нь микрофоны дээжийг авч, чанга яригч руу дохио өгч байв. Эцэст нь бид дууг өөрчлөхийн тулд дууны эффект бүтээх шаардлагатай болсон.

Алхам 1: Conception Du Circuit En Entrée / Entrance Circuit Design

Conception Du Circuit En Entrée / Entrance Circuit Design
Conception Du Circuit En Entrée / Entrance Circuit Design

Франц хэл:

La première étape бүрдэнэ

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

(1) 5 вольт ба 2 трансформатор - 5 V. Le - 5 V servira pour l'amplificateur que nous verrons ci -dessous.

(2) Ice, nous avons un amplificateur non-invverseur. D'après la formule suivante:

Vs = Ve (1 + Z1/Z2)

Сонголт хийх үед 101 -ийг авна R1 = 100 kOhm et R2 = 1 kOhm.

CET amplificateur va servir өсгөгч le son du micro.

(3) Les deux résistances vont créer un offset afin of the que la gərginness de sortie soit compre entre 0 et 4 V.

(4) Le micro qui va être amplifier par l'amplificateur.

(5) CAG (Controle Automatique de Gain)

(6) Төгсгөл, nous avons créé un filter passe-bas du second ordre avec deux RC хийнэ. L'ordre 2 était nécessaire pour avoir une atténuation de - 40db / арван жил. La fréquence de coupure нь 20 кГц давтамжтай байдаг.

Англи:

Эхний алхам бол DE0 Nano Soc карт руу дамжуулах микрофон дээр дохио дамжуулах боломжтой хэлхээг тохируулах явдал юм. Бидний оруулсан диаграмын дээр.

(1) Инвертер нь 5 вольтыг сэргээж, 5 вольт болгон хувиргах болно - 5 вольт өсгөгч нь бидний доор үзэх болно.

(2) Энд бид эргэдэггүй өсгөгчтэй. Дараахь томъёоны дагуу:

Vs = Ve (1 + Z1 / Z2)

101 -ийн ашиг нь R1 = 100 kOhm ба R2 = 1 kOhm -ийг тохируулснаар сонгогдов.

Энэхүү өсгөгч нь микрофоны дууг сайжруулахад ашиглагдах болно.

(3) Хоёр резистор нь офсет үүсгэх бөгөөд ингэснээр гаралтын хүчдэл 0 -ээс 4 В хүртэл байна.

(4) Өсгөгчөөр олшруулах микрофон.

(5) AGC (Автомат олзны хяналт)

(6) Эцэст нь бид хоёр RC бүхий хоёрдогч дарааллын бага нэвтрүүлэх шүүлтүүрийг бий болгосон. -40db / арван жилийн турш сулруулахын тулд 2 -р захиалга шаардлагатай байв. Сонгосон таслах давтамж нь 20 кГц байна.

Алхам 2: Conception Du Circuit En Sortie / Гаралтын хэлхээний дизайн

Conception Du Circuit En Sortie / Гаралтын хэлхээний дизайн
Conception Du Circuit En Sortie / Гаралтын хэлхээний дизайн

Франц хэл:

Хоёр дахь удаагаа, хоёр дахь удаагаа нислэг хийх боломжтой.

Ci-dessus le schéma de notre sortie.

(1) Le DAC (Дижиталаас Аналог Хөрвүүлэгч) нь дохио өгөх үүргийг гүйцэтгэдэг DE0 Nano Soc et le convertir en signal analogique

(2) La capacité va servir a not a best compantante үргэлжлүүлэх дохио.

(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

Ce schéma permet d'avoir un win de 200 qui est nécessaire car notre signal est vraiment faible.

Англи:

Бидний гаралтын диаграмын дээр.

(1) DAC (Дижиталаас Аналог Хөрвүүлэгч) нь DE0 Nano Soc картаар илгээсэн дижитал дохиог сэргээж аналог дохио болгон хувиргах боломжийг олгодог (чанга яригчад шаардлагатай).

(2) Чадвар нь бидний дохионы тасралтгүй бүрэлдэхүүн хэсгийг дамжуулахад ашиглагдана.

(3) Энэ нь бидний дохионы хүчийг нэмэгдүүлэх болно. Бид схемийг авсан:

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

хуудас 10

Энэ схем нь бидний дохио үнэхээр сул байгаа тул шаардлагатай 200 -ийн ашиг олох боломжтой болгодог.

Алхам 3: ПХБ -ийн тухай ойлголт

ПХБ -ийн тухай ойлголт / ПХБ -ийн дизайн
ПХБ -ийн тухай ойлголт / ПХБ -ийн дизайн

Франц хэл:

ПХБ -ийн хэлхээний сүлжээний холболтууд.

Fate fair, nous avons utiliser le logiciel Altium хийнэ. Илүү их зүйлийг хийх шаардлагатай байна:

Цэсийн дизайн -> ПХБ -ийн баримтыг шинэчлэх.

"Өөрчлөлтийг хүчин төгөлдөр болгох" хэсэгт орсон. Чухам өөрчилнө үү, зүүгээр орооно уу: "Шалгах".

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

Гэсэн хэдий ч "File" -> "Fabrication Output" -> "Gerber Files" цэсийг сонгоно уу.

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

  • "Давхаргууд" цэсийг сонгохдоо PCB -ийг сонгоно уу.
  • "Өрмийн зураг" цэсийг сонгоно уу.
  • "Apertures" цэсийг "Embedded appertures" гэж нэрлэж болно.

Татаж авах уу?

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

File-> Fabrication Output -> NC Drill Files

Эцэст нь хэлэхэд, бид юу ч амсахгүй, бас гурван хэмжээнээс хэтрэхгүй 3D форматтай болно.

Vous trouverez ci-joint les photos de nos deux ПХБ.

Англи:

Бидний хэлхээг үүсгэсний дараа бид тэдгээрийг ПХБ дээр тавих шаардлагатай болсон.

Үүнийг хийхийн тулд бид Altium програм хангамжийг ашигладаг. Бүх зүйл зөв холбогдсон байх ёстой, дараа нь дарна уу:

Цэсийн дизайн -> ПХБ -ийн баримтыг шинэчлэх.

Дараа нь "Өөрчлөлтийг баталгаажуулах" дээр дарна уу. Баталгаажсан өөрчлөлт бүрийн хувьд "Шалгах" баганад ногоон тэмдэглэгээ гарч ирнэ.

Үүний дараа танд шинэ таб нээгдэж, бүрэлдэхүүн хэсгүүдийг энэ цонхонд байрлуулах шаардлагатай болно.

Дараа нь та "Файл" -> "Гаралтын гаралт" -> "Gerber файлууд" цэс рүү очих ёстой

Цонх нээгдэнэ, эндээс та олох болно;

"Давхаргууд" цэс нь таны ПХБ -ийг аль давхаргыг дэмжихийг сонгох боломжийг танд олгоно. Бүх зүйлийг шалгаагүй байх ёстой "Өрмийн зураг" цэс. "Нүх сүв" цэснээс та "Embedded appertures" хэсгийг шалгах хэрэгтэй.

Түүний бүх алхамууд дууссан уу?

Одоо дарж буй бүрэлдэхүүн хэсгүүдийн хамт цонх руу буцъя

Файл-> Үйлдвэрлэлийн гаралт -> NC өрмийн файлууд

Эцэст нь дууслаа, та 3D принтерт файлуудаа өгөхөд л хангалттай.

Та манай хоёр ПХБ -ийн зургийг хавсаргасан болно.

Алхам 4: Périphériques DE0 Nano Soc Card -ийн La Carte DE0 Nano Soc / дагалдах хэрэгслийг хийнэ

Périphériques DE0 Nano Soc картны La Carte DE0 Nano Soc / дагалдах хэрэгслүүдийг хийнэ
Périphériques DE0 Nano Soc картны La Carte DE0 Nano Soc / дагалдах хэрэгслүүдийг хийнэ

Франсис:

IP -ийн IP хаягийг хамгийн сайн тохируулах нь Intel FPGA, peuvent être implémentés pour réduire la conception et le temps de test.

Grâce au logiciel Qsys nous avons pu créer des périphériques embarqués dans notre carte.

Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах Орчуулах Une liste des périphériques que nous avons ajouter:

  • Харилцааны SPI нь DAC -ийг асаах болно
  • ADC pour recupérer les valeurs analogique de notre signal et les convertir en donnée digitales
  • HPS (processeur) pour gérer tout les kodları
  • GPIO pour les boutons qui vont servir à exécuter сертификаттай болно
  • Mémoire (чип санах ой дээр)

Англи:

IP цөмүүд нь Intel FPGA төхөөрөмжүүдэд зориулагдсан бөгөөд дизайн, туршилтын хугацааг багасгахад хялбар байдаг.

Qsys програм хангамжийн ачаар бид газрын зураг дээрээ суулгагдсан нэмэлт төхөөрөмжүүдийг бий болгож чадсан. Бидний нэмж оруулсан төхөөрөмжийн жагсаалт энд байна.

  • DAC -ийн SPI холбоо
  • ADC нь бидний дохионоос аналог утгыг авч дижитал өгөгдөл болгон хөрвүүлэх болно
  • Бүх кодыг удирдах HPS (процессор)
  • Тодорхой эффектийг даван туулахад ашиглах товчлууруудын GPIO
  • Санах ой (чипний санах ой дээр)

Алхам 5: L'écran LT24

L'écran LT24
L'écran LT24

Франц хэл:

LT24 нь NIOS процессортой ижил төстэй үүрэг гүйцэтгэдэг.

Эхлэхийн тулд баримт бичгийг цаасан дээр дарна уу.

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

Англи:

Бид LT24 дэлгэцийг NIOS загварчилсан процессороор удирдуулах дэлгэцийг ойлгож, удирдах ёстой байсан. Үүнийг эхлүүлэхийн тулд бид энэ талаархи олон баримт бичгийг уншсан.

Эцэст нь хэлэхэд бидний дэлгэцийг FFT -ийг хүссэн үр дүнд харуулахад ашигладаг.

Алхам 6: C ++ дээрх C ++ / ашигтай кодыг ашигладаг

C ++ / C ++ дээрх ашигтай кодуудыг ашигладаг
C ++ / C ++ дээрх ашигтай кодуудыг ашигладаг

Та C ++ програмыг ашиглахаас өөр аргагүй болно.

Voici d'abord toutes nos déclarations (oui un peu дууссан …):

Би танд дууны эффект үүсгэхэд хэрэгтэй байсан C ++ дээрх кодыг үзүүлэх болно.

Нэгдүгээрт, бидний бүх мэдэгдэл (тийм ээ, жаахан дэлгэрэнгүй …):

#оруулах

#include #include #include #include #include #include #include #include #include "WavUtils.cpp" #include "Biquad.cpp" #include #include #include #include "hps_0.h" #include "hps.h" #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 (0x0) 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 ашиглан нэрийн орон зайг ашиглан std; 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 = "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 ("ERROR: / 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)); байхад (1) {өгөгдөл = *(h2p_lw_adc_addr+2); хэрэв (*h2p_lw_blue_addr == 1) өгөгдөл = цуурай (өгөгдөл, 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); } үнэгүй (тохиргоо); үнэгүй (дотор); үнэгүй (гарах); буцаах 0; }

Алхам 7: Le Final / Final

Le Final / Final
Le Final / Final

Франц хэл:

Cactus 2000 -ийн хамгийн сүүлийн хувилбар.

ПХБ -ийн хамгийн сүүлийн үеийн хувилбарууд нь alakart DE0 Nano Soc.

Хоолны найрлага, хөгжмийн зохиолчид sont placés à l'interieur d'une boite jaune.

Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах Орчуулах Sur la boîte on trouve un potentiomètre glissière, qui permet de gérer le volume volume, des potentiomètres et des boutons qui permettrons de lancer certains effets, ainsi que un ecran qui permettra d'afficher la FFT.

Le haut-parleur нь байр сууриа илэрхийлэх боломжтой. Хариуцлага тооцохын тулд хамгийн богино хугацаанд байр сууриа олж авах боломжтой.

C'est tout pour aujourd'hui.

Хамгийн хэцүү асуултууд.

Англи:

Энд бид (эцэст нь) Кактус 2000 -ийнхаа эцсийн хувилбарыг хүргэж байна.

Бид DE0 Nano Soc самбартай холбогдсон оролт, гаралтын ПХБ -ийг тавьдаг.

Дараа нь түүний бүрэлдэхүүн хэсгүүдийг шар хайрцагт байрлуулна.

Хайрцаг дээр дууны хэмжээ, зарим эффектийг эхлүүлэх товчлуурууд болон товчлууруудыг удирдах боломжтой слайд потенциометр, FFT дэлгэцийг харуулах дэлгэц байдаг.

Чанга яригч нь товчлууруудтай перпендикуляр байрладаг. Микрофон нь чанга яригчтай харьцуулахад хайрцагны нөгөө талд байрладаг.

Энэ бол өнөөдрийн бүх зүйл юм.

Энэхүү зааварчилгаа нь танд хэрэгтэй гэж найдаж байна.

Зөвлөмж болгож буй: