Orodha ya maudhui:

Chapeo ya Kubadilisha Sauti ya Spartan: Hatua 14 (na Picha)
Chapeo ya Kubadilisha Sauti ya Spartan: Hatua 14 (na Picha)

Video: Chapeo ya Kubadilisha Sauti ya Spartan: Hatua 14 (na Picha)

Video: Chapeo ya Kubadilisha Sauti ya Spartan: Hatua 14 (na Picha)
Video: DEMU ALIWA NYUMA HADI KINYESI CHATOKA (ANGALIA VIDEO HADI MWISHO) 2024, Novemba
Anonim
Chapeo ya Kubadilisha Sauti ya Spartan
Chapeo ya Kubadilisha Sauti ya Spartan
Chapeo ya Kubadilisha Sauti ya Spartan
Chapeo ya Kubadilisha Sauti ya Spartan

Halo! Sisi ni timu ya wanafunzi 4 kutoka shule ya Polytechnic ya Chuo Kikuu cha Sorbonne:

  • Louis Buchert
  • Bilal Melehi
  • Bao Tinh Piot
  • Marco Longépé

Mradi huu unatambuliwa kama sehemu ya masomo yetu, na inakusudia kuchukua zana kadhaa, na pia kuonyesha mafanikio yetu ya kinadharia.

Kitu maarufu huchukua kofia ya kofia inayofanana na ile ya shujaa wa mchezo fulani wa video ambaye jina lake litapotea. Kwa upande wa muundo pia tuna skrini inayoonyesha ubadilishaji wa ishara ya sauti kutoka kwa spika. Kusudi la kichwa hiki cha kichwa ni kubadilisha sauti ya mbebaji kwa wakati halisi kutumia idadi ya athari zinazochaguliwa.

Malengo ya kielimu:

  • Nasa sauti kutoka kwa kipaza sauti
  • Amplify, filter, digitize the signal
  • Tambua FFT ya ishara
  • Onyesha FFT hii kwenye skrini
  • Awali ya ishara
  • Toa sauti kutoka kwa spika
  • Tambua athari kwenye sauti ya sauti (kutamka upya, mwangwi, n.k …)

Sasa kwa kuwa tumeweka usuli na kuwasilisha mradi huo, ni wakati wa kuiweka mikono yako!

Hatua ya 1: Mahitaji 1/3 - Vifaa

Mahitaji 1/3 - Vifaa
Mahitaji 1/3 - Vifaa

Ili kujenga kofia yako ya chuma kwa ufanisi, tutahitaji vifaa kadhaa kuendesha kifaa.

  • Bodi ya Maendeleo ya DE0-Nano-SoC na Terasic + Adafruit TFT LCD Screen (Arduino)
  • Ufikiaji wa printa ya 3D kutengeneza kofia ya chuma (Ikiwa wewe ni mwanafunzi wa chuo kikuu songa karibu na chuo kikuu chako, wengine wana maabara kupatikana kwa wanafunzi)
  • Kompyuta iliyo na unganisho la mtandao na unganisho la chini (USB, Ethernet). Kompyuta yako pia inahitaji kuwa na processor yenye nguvu kwani kuandaa programu kwenye Qsys kunachukua muda mwingi.
  • (Haihitajiki) Printa ambayo hufanya Bodi za Mzunguko zilizochapishwa (PCB) kutoka kwa faili za Gerber ili kupunguza ukubwa wa mzunguko + chuma cha kutengeneza ili kuweka vifaa kwenye PCB.
  • (Imependekezwa sana): Kahawa nzuri kufurahiya kazi yako na yetu inayoweza kufundishwa:)

Hatua ya 2: Mahitaji 2/3 - Vipengele vya Mzunguko Wako

Mahitaji 2/3 - Vipengele vya Mzunguko Wako
Mahitaji 2/3 - Vipengele vya Mzunguko Wako
Mahitaji 2/3 - Vipengele vya Mzunguko Wako
Mahitaji 2/3 - Vipengele vya Mzunguko Wako
Mahitaji 2/3 - Vipengele vya Mzunguko Wako
Mahitaji 2/3 - Vipengele vya Mzunguko Wako

Hapa kuna vifaa vinavyohitajika kwa mzunguko wako:

  • Kifaa cha Texas LM386 AB amplifier ya sauti ya darasa
  • Mkate wa Mkate
  • Seti ya nyaya za Kiume-Kiume, Kiume na Kike
  • Kubadilisha LM358P Digital-to-Analoh (DAC)
  • Spika
  • Kipaza sauti ndogo hutumiwa katika mzunguko wa kufanana
  • Seti ya mchezo wa vipinga kutoka 1kOhm hadi 220kOhm
  • Msimamizi 1.5nF
  • Msimamizi 50nF
  • Msimamizi 100nF
  • Capacitor 100uF
  • Capacitor 220uF
  • x4 Capacitors 10uF

Hatua ya 3: Mahitaji 3/3 - Programu

Mahitaji 3/3 - Programu
Mahitaji 3/3 - Programu
Mahitaji 3/3 - Programu
Mahitaji 3/3 - Programu

Mwishowe, utahitaji programu:

  • Quartus 15.1: Toleo la Lite
  • Mkusanyaji wa C (kwa mfano gcc)
  • Altium ya Ubunifu wa PCB
  • Suite iliyoingia ya Altera ili kuwasiliana na ramani ya SoC

  • Putty

Hatua ya 4: Mzunguko wa Kuingiza

Mzunguko wa kuingiza
Mzunguko wa kuingiza
Mzunguko wa kuingiza
Mzunguko wa kuingiza
Mzunguko wa kuingiza
Mzunguko wa kuingiza
Mzunguko wa kuingiza
Mzunguko wa kuingiza

Wacha tujenge mzunguko. Tumia picha hapo juu ya mzunguko ili kuikusanya kwenye ubao wako wa mkate. Pia utaona picha ya Mkate wa Mkate na mzunguko wa ndani ili kuona jinsi pini zimeunganishwa. Mzunguko wote unaendeshwa na 5V Direct Direct (DC). Kwa hili, unaweza kutumia betri ya 5V na kibadilishaji cha USB-B au jenereta ya kazi.

Vikumbusho vingine:

  • Usambazaji wa umeme wa 5V na ardhi vimeunganishwa kwenye mistari tofauti ya usawa ya ubao wa mkate
  • Ikiwa unataka kuunganisha vifaa 2 kwa usawa, weka kwenye laini ya kawaida ya ubao wa mkate
  • Ikiwa unataka kuunganisha vifaa 2 vya serial, compoments lazima iwe na pini moja tu kwenye laini ya kawaida ya ubao wa mkate.

Usisite kutazama mafunzo ya kujitolea ya jinsi ya kutumia ubao wa mkate na kuongeza mzunguko juu yake. Pia usisahau kusoma kwa uangalifu nafasi ya pini ya Kikuza Sauti cha LM358P (angalia picha hapo juu)

Hatua ya 5: Mzunguko wa Pato

Mzunguko wa Pato
Mzunguko wa Pato
Mzunguko wa Pato
Mzunguko wa Pato
Mzunguko wa Pato
Mzunguko wa Pato
Mzunguko wa Pato
Mzunguko wa Pato

Maagizo sawa sawa na Hatua ya 4. Pembejeo nne: SDI, sio CS, SCK, sio LDAC zinatoka kwa Bodi yako ya DE0-Nano-Soc. Tutaona baadaye jinsi ya kuzizalisha.

Usisahau kusoma kwa uangalifu nafasi za pini za Kikuza Sauti cha LM386 (angalia picha hapo juu)

Hatua ya 6: [KWA hiari] Kuunda Vipengee vya Mzunguko uliochapishwa na Vipengele vya Soldering

[Hiari] Kuunda Vipengee vya Mzunguko uliochapishwa na Vipengele vya Soldering
[Hiari] Kuunda Vipengee vya Mzunguko uliochapishwa na Vipengele vya Soldering
[Hiari] Kuunda Vipengee vya Mzunguko uliochapishwa na Vipengele vya Soldering
[Hiari] Kuunda Vipengee vya Mzunguko uliochapishwa na Vipengele vya Soldering
[Hiari] Kuunda Vipengee vya Mzunguko uliochapishwa na Vipengele vya Soldering
[Hiari] Kuunda Vipengee vya Mzunguko uliochapishwa na Vipengele vya Soldering

Ikiwa una bahati ya kumiliki Printa ya Bodi ya Mzunguko au kuweza kutumia moja, tutaunda Bodi yetu ya Mzunguko Iliyochapishwa (PCB). Kumbuka kuwa hatua hii ni ya hiari. Hatua hii inajumuisha kuhamisha mzunguko wako kutoka kwa ubao wa mkate kwenda kwa PCB.

Utahitaji faili hizi 2 za GERBER.

Faili hizi zilifanywa kwenye Altium. Tumia kwenye programu yako ya printa ya PCB ili uchapishe PCB yako. Mara tu unapopata PCB yako, hakikisha PCB yako ni safi na kwamba nyimbo zimechapishwa kwa usahihi.

Sasa inakuja mpango halisi: Kugawanyika. Picha 2 hapo juu ni ramani ya mzunguko kwenye PCB. Kila vifaa vina majina (R6, C4, MK1 n.k.). Picha katika Hatua ya 4 na 5 zinaonyesha vigezo vya vipengee (Upinzani, mwenendo..). Weka kila sehemu kutoka kwenye ubao wako wa mkate hadi PCB kulingana na majina yao.

Mara tu unapouza kila kitu na chuma chako cha kutengeneza, jaribu kila vifaa na voltmeter ili uangalie ikiwa kuna mzunguko mfupi.

Hatua ya 7: Usanidi wa SoC

Usanidi wa SoC
Usanidi wa SoC
Usanidi wa SoC
Usanidi wa SoC

Kuhusu usanidi wa SoC, utahitaji kutekeleza maagizo na maandishi kadhaa yaliyojumuishwa kwenye Suite iliyoingia ndani ya terminal. Ili kufanya hivyo, utahitaji kuongeza $ PATH. PATH hutumiwa ndani ya terminal kusema kutafuta faili kwenye saraka zilizopewa njia wakati unafanya amri. Ili kufanya hivyo, chapa laini ifuatayo ya amri:

usafirishaji PATH = / cygdrive / c / altera_lite / 15.1 / quartus / sopc_builder / bin: $ PATH

Kisha chapa mstari wa amri ili utengeneze vichwa vya kichwa kutoka kwa faili laini. Unapata faili laini kwa kukusanya mradi wako kwenye Quartus. Ili kufanya hivyo, andika:./generate_header.

Hatua ya 8: Kupangilia C HPS

Kupangilia C HPS
Kupangilia C HPS

Tunahitaji kutambua vitu 2 katika sehemu hii, ambayo ni kusoma soma thamani ya ADC na uiandike katika SPI.

1. Soma thamani ya ADC

Anwani ya kumbukumbu ambayo ADC imo haipatikani moja kwa moja, kwa kweli mfumo wa linux uliopo kwenye kadi huanzisha utaftaji wa kumbukumbu. Ili kufikia anwani ya ADC tutatumia kazi ya mmap.

"h2p_lw_spi_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (unsigned long) (HW_REGS_MASK));"

Maagizo haya huruhusu malipo kuongezwa mwanzoni mwa anwani ya msingi ili kufikia anwani ya kumbukumbu iliyotengwa kwa ADC, na kufanya kwenye anwani inayosababisha mantiki NA kuzingatia kuficha.

Baada ya hapo, itakuwa muhimu tu kutofautisha pointer katika programu kupata thamani yake.

2. Andika thamani ya ADC katika SPI

Udanganyifu unafanana, wakati huu tunatoa mmap kukabiliana na kutua kwenye anwani iliyotengwa na SPI. Wakati wa kuandika katika SPI, nyaraka za kiufundi zinabainisha kuwa lazima uandikie kwa anwani + 1 thamani ya adc.

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

Maagizo haya hukuruhusu kuandika kwa SPI. Hakika kidogo 4, kwa hivyo 1 << 12, ndio kidogo ambayo inaruhusu kuamsha SPI. Kwa mantiki AU, kwa hivyo tunapeana kidogo uanzishaji na thamani ya ADC kwa SPI.

Hatua ya 9: Upataji wa dijiti wa ADC Kutoka kwa Kadi

Upataji wa dijiti wa ADC Kutoka kwa Kadi
Upataji wa dijiti wa ADC Kutoka kwa Kadi
Upataji wa dijiti wa ADC Kutoka kwa Kadi
Upataji wa dijiti wa ADC Kutoka kwa Kadi
Upataji wa dijiti wa ADC Kutoka kwa Kadi
Upataji wa dijiti wa ADC Kutoka kwa Kadi
Upataji wa dijiti wa ADC Kutoka kwa Kadi
Upataji wa dijiti wa ADC Kutoka kwa Kadi

Kwanza kabisa, itabidi uweke anwani ya IP ya Ethernet ya kompyuta yako kupitia Jopo la Kudhibiti -> Mtandao -> Parmesals za Kadi. Chagua kiolesura cha ethernet ya kadi, mali, anwani ya ipv4 na uweke IP iliyowekwa, kinyago nk …

Ifuatayo, unganisha kadi kutoka upande wa jack ya umeme na kebo ndogo ya USB. Fungua programu ya Quartus na uzindue usafirishaji. Ujanja huu utafanywa upya baada ya kila kuzima kwa kadi.

Badilisha kebo ndogo ya kuziba ya USB, kuunganisha wakati huu karibu na tundu la Ethernet. Sasa, na Putty itakuwa muhimu kuungana na kadi kwa kiunga cha serial. Usanidi unaonekana kwenye picha, wazo likiwa kuchukua nafasi ya COM5 na COM ikifuatiwa na nambari ambayo unaweza kupata katika msimamizi wa kifaa chako (bonyeza kulia kwenye nembo ya windows kuifungua).

Bonyeza kuingia, umeunganishwa.

Maelezo ya kuanza tena mradi: - Rekebisha ethernet ip inayolingana na kadi - Washa kadi, kila wakati unawasha umeme, ni muhimu kuweka na "mpango" chini ya quartus mradi uliokusanywa kwenye kadi. Hii imefanywa kupitia bandari ndogo ya USB - Ili kuweza kuonyesha matokeo ya programu tunatumia USB ndogo zaidi lakini UART - Pamoja na putty iliyosanidiwa kwa serial COM5 (au 6 perg gestinnaire periph) Unganisha kwenye kadi. - Weka nenosiri (passwd) - Weka anwani ya IP ifconfig ethxx IPchoice (IP sio mbali na hiyo kwa maadili ya PC) - Tengeneza kichwa kulingana na Qsys na kituo kilichopachikwa (njia ya kuuza nje) - fanya - scp l exec katika ramani - fanya chini ya putty maendeleo

Hatua ya 10: Hesabu ya FFT

Hesabu ya FFT
Hesabu ya FFT

Ili kupata Mabadiliko ya Haraka ya Fourier katika programu yetu ya C, tutatumia maktaba iliyoandikwa na Mark Borgerding: Kiss FFT. Unaweza kupakua maktaba hapa: https://kissfft.sourceforge.net/. Kutumia FFT kwenye ishara ni muhimu ili kurekebisha na kutumia athari za ishara. Inaweza pia kutumika kuonyesha wigo wa ishara.

Hatua ya kwanza katika mpango wako wa C inajumuisha kutenga kumbukumbu ili kuhifadhi matokeo ya FFT. Ukubwa wa kumbukumbu inategemea idadi ya nukta inayotumiwa kuhesabu FFT. Kadri unavyo alama, ndivyo FFT itakavyokuwa pecise zaidi. Walakini, programu itaendelea polepole na itatumia kumbukumbu zaidi. Kumbuka kuwa utapata safu mbili kutoka kwa kazi ya kiss_fft: pembejeo na pato la kazi (cx_in na cx_out)

Mara safu yetu imejazwa na maadili mapya ya FFT, yaani wakati r = Shinda - 1, tunasindika FFT. Kuhusu onyesho, tunaonyesha tu sehemu nzuri ya wigo, kwani kuna ulinganifu kati ya sehemu hasi na sehemu nzuri.

Kuhusu mhimili ulio usawa, tunapunguza viwango vya kilele kwa urefu wa 100 * / (urefu²) ili kutofautisha kilele cha masafa kuu.

Tunatumia simu ya mfumo wa kulala ili kufafanua mzunguko wa kusoma kwa maadili ya ADC. Mzunguko huu sasa umewekwa saa 1, 5 Hz.

Hatua ya 11: Kuonyesha FFT

Kuonyesha FFT
Kuonyesha FFT
Kuonyesha FFT
Kuonyesha FFT

Kulingana na mfano toa kwenye Skrini ya Adafruit TFT LCD inayopatikana hapa: thamani ya ADC.

Kwa hivyo sajili ya ADC inashirikiwa kati ya NIOS na HPS kwa sababu maadili ya ADC yatatumika kuonyesha FFT kwenye skrini ya NIOS, na maadili yale yale yataandikwa kwenye SPI ili kutolewa kwa bodi na mwishowe ibadilishwe na DAC kupata ishara ya kufanana.

Hatua ya 12: Mkutano

Mkutano
Mkutano

Tumekaribia kumaliza! Utahitaji kukusanya kila sehemu ya projet (mzunguko wa kuingia, mzunguko wa pato na Bodi). Hakikisha kuunganisha sehemu ili kurekebisha pini kulingana na Mradi wa Quartus.

  1. Mzunguko wa pembejeo utatuma ishara ya sauti iliyonaswa na kipaza sauti, iliyokuzwa, iliyochujwa na iliyowekwa.
  2. Mpango C uliopo kwenye kadi utasoma maadili ya ADC kama tulivyoona hapo awali, na tutaiandika kwenye SPI ili tuweze kupata thamani kwenye GPIO ya kadi.
  3. Halafu pato la GPIO la SPI litasambaza habari ambayo itasimbwa na DAC yetu na kukuzwa kwa kukimbia ili kufikia spika.

Hatua ya 13: Athari za Sauti

Athari za Sauti
Athari za Sauti
Athari za Sauti
Athari za Sauti

Hatua pekee iliyobaki ni athari za sauti.

Athari zinazopatikana ni:

  • Kichujio cha Frequency ya Juu
  • Kichujio cha Frequency ya Chini

Unaweza kubadilisha kati ya athari kwa shukrani. Kitufe hiki kitabadilisha tofauti katika programu yetu ya C, kwa hivyo inaweza kutumia athari sahihi.

Hatua ya 14: [SI LAZIMA] Kutengeneza Chapeo

[SI LAZIMA] Kutengeneza Chapeo
[SI LAZIMA] Kutengeneza Chapeo
[SI LAZIMA] Kutengeneza Chapeo
[SI LAZIMA] Kutengeneza Chapeo
[SI LAZIMA] Kutengeneza Chapeo
[SI LAZIMA] Kutengeneza Chapeo

Hapa tuko katika hatua ya mwongozo zaidi ya mradi:

  1. Kwanza tuliunganisha sehemu tofauti za 3D za chapeo.
  2. Ili kujaza mapengo kati ya vipande vya gundi tumeongeza kumaliza kutumia kalamu ya 3D.
  3. Tulipolisha viboreshaji vilivyojaa kalamu na kofia kwa ujumla ili uchoraji ushike vizuri baadaye.
  4. Tuliandika kofia ya chuma na tabaka 2: Ya kwanza katika rangi nyeusi isiyo na rangi, karibu, na sekunde ya kijani kibichi kutoka zaidi ili kutoa vivuli vya kijani kibichi.
  5. Mwishowe tulichapisha nembo ya shule yetu upande wa Chapeo

Ilipendekeza: