Orodha ya maudhui:

Mchanganuzi wa Wigo wa Sauti ya Mkate wa MSP430: Hatua 6
Mchanganuzi wa Wigo wa Sauti ya Mkate wa MSP430: Hatua 6

Video: Mchanganuzi wa Wigo wa Sauti ya Mkate wa MSP430: Hatua 6

Video: Mchanganuzi wa Wigo wa Sauti ya Mkate wa MSP430: Hatua 6
Video: The Doctrine of Repentance | Thomas Watson | Christian Audiobook 2024, Novemba
Anonim
Image
Image
Mchanganuzi wa Spectrum ya Spreadrum ya MSP430
Mchanganuzi wa Spectrum ya Spreadrum ya MSP430

Mradi huu umejengwa kwa kipaza sauti na inahitaji vitu vichache vya nje. 2 x LR44 seli za sarafu hutumiwa ili niweze kuwa na muundo mzima unaofanya kazi katika mipaka ya mkate wa mkate wa mini-170. ADC10, Timer Kukatisha uamsho wa LPM, TimerA PWM kama pato, matumizi ya vifungo, hesabu kamili hutumiwa na kuonyeshwa.

Vipengele

  • Sampuli 8 ndogo za FFT 16 kwa kujitenga kwa 500Hz
  • inaonyesha amplitudes 8 ya 1K, 1.5K, 2K, 3K, 4K, 5K, 6K, 7.5K isiyo ya mstari
  • ramani ya logarithm ya sehemu kuonyesha amplitudes, mdogo kama azimio limepunguzwa kwa 8 bit FFT
  • TLC272 hatua moja mic amplifys kwa mara 100x faida 100x (unaweza kupata w / 2 hatua)
  • menyu inayochaguliwa kwa hiari ya dirisha
  • orodha ya kurekebisha viwango 4 vya mwangaza
  • orodha ya kurekebisha viwango 8 vya kiwango cha sampuli / wakati wa kujibu
  • 2 x LR44 kiini cha sarafu kinachotumiwa "kwenye bodi"

Hatua ya 1: Pata Sehemu

Zifuatazo ndizo zinahitajika kwa mradi huu

  • MSP430G2452 (chip ya ziada kutoka kwa TI Launchpad G2, au safu yoyote ya 4K 20 pin MSP430G MCU)
  • mkate wa mkate wa mini-170 au bodi ya manukato ya ujenzi wa pre-amp
  • TLC272 Dual op-amp
  • kipaza sauti cha mini electret
  • 47k (kuvuta-up), 100k, 2 x 10k, 1k vipinga
  • 1 x 0.1uF
  • waya za kuruka
  • kichwa cha pini cha safu mbili cha kiume kitumiwe kwa mmiliki wa betri
  • 2 x LR44 betri ya seli ya sarafu

Hatua ya 2: Panga Mpangilio wa Vipengele

Mradi huo utajengwa kwenye ubao wa mkate wa mini-170. Mpangilio wa vifaa ni kama inavyoonyeshwa hapa chini. Kwa kumbuka maalum ni kwamba tumbo la 8x8 la LED linapaswa kuwekwa juu ya MSP430 MCU. Mbali na vifaa, pia kuna waya za kuruka zinazoonyeshwa na wahusika wa "+ ------ +".

G V + Gnd (mpangilio wa hatua 1) TUNATUMIA KIWANGO HIKI + ================================== ================= + c0 ………… c7 | MIC……. + ----- + + - +…. | r0 o o o o o o o o o | o || o + ----- [100k] --------------- +….. | r1 X o o o o o o o |. + -------------- + - +. C7 C6 R1 C0 R3 C5 C3 R0 |. o o o o o o o o o |…… |.. | b6 a7 | | c0 na r1 inashiriki pini moja na haitaonyesha | +. + - + - + - + | | + - + - + - + - + - + - + - + - + - + | | * programu inayowezekana kuwa na c6 + c0 + r1 | | | V + | | | G b6 b7 T R a7 a6 b5 b4 b3 | | hii itakupa bure b6 kwa saa 32 za saa za saa | | | TLC272 | | | | | | | nje - + G | | | + a0 a1 a2 a3 a4 a5 b0 b1 b2 | | | +. + - + - + - + | | + - + - + - + - + - + - + - + - + - + | | | o || o o o. + - +.. R4 R6 C1 C2 R7 C4 R5 R2 | |…. o- [10k] - o……… | |. o- [1k] o o o………._. | | o ---- [10k] ----------- o……. o o | + ============================================= ==== +.1uF 100k 10k ADC Button + ----------------- +

tunatumia hatua moja ya TLC272 tu

Hatua ya 3: Mkutano

Mkutano
Mkutano
Mkutano
Mkutano

Unaweza kuanza kuweka vifaa kulingana na mpangilio wa ubao wa mkate. Kama sanaa ya ASCII kwa hivyo inaweza kuwa wazi sana. Unaweza kuoanisha w / picha katika hatua hii kutambua unganisho lote.

Uangalifu lazima uchukuliwe ili kuweka chips za IC. Kawaida kuna nukta kwenye moja ya pembe kuashiria pini 1 ya kifaa.

Nilikuwa nimetumia waya wa kebo ya CAT5 ethernet na ni rahisi sana kufanya kazi kwenye miradi ya ubao wa mkate. Ikiwa una nyaya za zamani za CAT5, unaweza kuikata na utapata kuna waya 6 zilizopotoka ndani. Wao ni kamili kwa bodi za mkate.

Hatua ya 4: Kusanya na Pakia Firmware

Nambari ya chanzo kawaida hukaa kwenye hazina zangu za github.

Kwa mradi huu, faili moja ya chanzo C nfft.c imewekwa kwenye hazina yangu ya mikusanyiko ya mkate. Unahitaji tu nfft.c

Ninatumia mps430-gcc kukusanya firmware lakini inapaswa kwenda vizuri na TI CCS. Unaweza kuzuia shida zote za kusanikisha IDE au watunzi kwa kwenda kwenye wingu la TI CCS, ambayo ni IDE ya wavuti. Itapakua hata firmware kwenye kifaa chako cha kulenga.

Hii ni mfano kukusanya amri w / swichi

msp430 - gcc -Os -Wall -unction-sehemu -fdata-sehemu -fno-inline-ndogo-kazi -Wl, -Map = nfft.map, --cref -Wl, --relax -Wl, --gc- sehemu -I / energia-0101E0016 / vifaa / msp430 / cores / msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c

Ninatumia TI Launchpad G2 kama programu ya kupanga MCU.

Hatua ya 5: Elewa Mzunguko

Elewa Mzunguko
Elewa Mzunguko
Elewa Mzunguko
Elewa Mzunguko

Mpangilio wa mzunguko umewasilishwa hapa chini

MSP430G2452 au sawa, inahitaji 4K Flash TLC272 Dual Op-Amp, GBW @ 1.7Mhz, @ x100 faida, bandwidth hadi 17Khz

* tunatumia hatua moja ya TLC272 tu

._.

| MSP430G2452 | Vcc | | | + ----------------------- 2 | ADC0 | 1 - + | | | | |. | Vcc | | | | vuta-up (47k) Vcc Vcc | --------------- | | | | _ | | | + -1 | ----. Vcc | 8- + | | | |. |. |. |..--- | 7 | | 16- + | | 10k | | 10k | | | / / ^ | | | | _ | | _ | 100k | _ | | / _ + / / / | | / | --- (angalia mpangilio wa ubao wa mkate) |.1u | | | | | / _ + / | | / | ------_ + - || --- | - [1k] - + - 2 | - + | | | | | | 15 GPIO | | | | + ---------- 3 | ----- + + - | - | 6 | P1.1-P1.7 | | 8x8 | | | + -4 | Gnd + - | 5 | P2.0-P2.7 | | LED | | + | | | --------------- | | | tumbo | ((O)) |. | | / | | _ | | MIC | | 10k | + -20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ /// /// /// /////

Kuendesha LED

Matrix ya LED ni ya vitu 8 x 8. Wanaendeshwa na pini 15 za GPIO. Wao ni multiplexed w / 8 safu na 8 safu ya mpango. Kwa kuwa kuna pini 15 tu baada ya kutumia pini 1 kwa uingizaji wa ADC, multiplexing ina safu ya 1 na safu 0 inashiriki pini moja. Hii inamaanisha kuwa LED fulani kwenye safu ya 1 na safu wima 0 haiwezi kuwashwa. Huu ni maelewano kwani hakuna pini za kutosha za GPIO kuendesha vitu vyote vya LED.

Kukamata Sauti

Sauti hupigwa kupitia kipaza sauti kwenye bodi ya condenser kwenye BoosterPack ya Elimu. Kwa kuwa ishara za kipaza sauti ni ndogo, tunahitaji kuiongezea kiwango ambacho msp430 ADC10 inaweza kutumia w / azimio linalofaa. Nilikuwa nimetumia kipaza sauti cha hatua mbili kwa kusudi hili.

Amplifier ya amplifier inajumuisha hatua mbili, kila w / faida karibu 100x. Nilikuwa nimepitisha TLC272 kwani pia ni sehemu ya kawaida na inafanya kazi w / 3V. Bandwidth ya faida ikiwa karibu 1.7Mhz inamaanisha kuwa kwa faida yetu ya 100x, tunaweza tu kuhakikisha kuwa itafanya kazi vizuri (yaani kudumisha faida tunayotaka) chini ya 17Khz. (1.7Mhz / 100).

Hapo awali ninakusudia kufanya hii analyzer ya wigo kupima hadi 16-20Khz, lakini mwishowe nilipata karibu 8Khz inatosha kuonyesha muziki. Hii inaweza kubadilishwa kwa kubadilisha LM358 w / kitu cha sauti iliyokadiriwa na kubadilisha kiwango cha sampuli. Angalia tu upeo wa faida wa op-amps unazochagua.

Sampuli na FFT

Kazi ya FFT iliyotumiwa ni nambari ya "fix_fft.c" ambayo miradi mingi ilikuwa imepitisha, imekuwa ikizunguka kwenye wavuti kwa miaka kadhaa. Nilikuwa nimejaribu toleo la 16 kidogo na toleo la 8 kidogo. Hatimaye nikatulia toleo la 8 bit kama kwa kusudi langu, sikuona maendeleo makubwa kwenye toleo la 16 bit.

Sina uelewa mzuri wa utaratibu wa FFT isipokuwa kwamba ni uwanja wa wakati wa ubadilishaji wa kikoa cha masafa. Hiyo inamaanisha kiwango (wakati) cha sampuli za sauti, baada ya kulisha kazi ya hesabu ya FFT, itaathiri masafa ya amplitude ninayopata kama matokeo. Kwa hivyo kwa kurekebisha kiwango cha sampuli ya sauti, naweza kuamua bendi ya masafa kama matokeo.

TimerA 0 CCR0 hutumiwa kuweka wakati wa sampuli. Kwanza tunaamua hesabu tunayohitaji kufikia masafa ya bendi (inalingana na kiwango chetu cha saa cha DCO cha 16Mhz). i.e. TA0CCR0 imewekwa kwa (8000 / (BAND_FREQ_KHZ * 2)) - 1; ambapo BAND_FREQ_KHZ ni 8 kwangu. Inaweza kubadilishwa ikiwa una op-amp bora na / au unataka iwe tofauti.

Bendi za Mzunguko na Kuongeza Amplitude

Mchakato wa firmware bendi 16 kwa kufagia moja, na wakati wa kukamata hutoa utengano wa 500Hz kati ya benki hizi. Matrix ya LED ina safu 8 na itaonyesha tu bendi 8 / amplitudes. Badala ya kuonyesha bendi moja kila mbili, orodha isiyo ya kawaida ya bendi hutumiwa kuonyesha bendi zenye nguvu zaidi (kwa upande wa muziki). Orodha ni ya mapungufu ya 500Hz chini, mapungufu ya 1KHz katika bendi za kati na bendi za 1.5Khz katika viwango vya juu.

Ukubwa wa bendi za kibinafsi hupunguzwa hadi viwango 8, ambavyo vinawakilishwa na idadi ya 'dots' zenye usawa kwenye onyesho la matrix ya LED. Viwango vya amplitude hupunguzwa kupitia ramani isiyo na laini ambayo hutafsiri matokeo ya FFT kuwa moja ya 8 dots. Upeo wa aina ya logarithmic hutumiwa kwani inawakilisha maoni yetu ya viwango vya sauti.

Kuna mantiki iliyojengwa ya AGC na analyzer ya wigo itajaribu kupunguza viwango vya amplitude wakati kuna viwango vingi vya kilele vilivyogunduliwa katika mizunguko iliyopita. Hii imefanywa na mtawala wa kuteleza akilinganisha meza.

Hatua ya 6: Kuendesha Kifaa

  • Bonyeza kitufe kifupi katika mizunguko ya hali ya kuonyesha bila nukta, nukta moja, nukta 2 na onyesho la nukta 3.
  • Bonyeza kwa muda mrefu huingia kwenye hali ya usanidi, vyombo vya habari vifuatavyo vifuatavyo huzunguka kwenye menyu.
  • Vipengee vya vitu vya menyu kupitia 'Chaguo la Dirisha la Nyundo', 'Dimmer', 'Sampling / Refresh Rate'.
  • Katika hali ya usanidi wa 'Window ya Window', mizunguko fupi ya waandishi wa habari bila hamming, hamming 1, hamming 2, hamming 3, media ndefu inathibitisha kuweka.
  • Katika hali ya usanidi wa 'Dimmer', mizunguko fupi ya waandishi wa habari kupitia viwango vya mwangaza vinavyopatikana kutoka 0 hadi 3, vyombo vya habari vya muda mrefu vinathibitisha kuweka.
  • Katika hali ya usanidi wa 'Sampuli / Refresh', mizunguko fupi ya waandishi wa habari kupitia viwango vinavyopatikana vya upya kutoka 0 hadi 7, 0 haimaanishi kuchelewa, vyombo vya habari vya muda mrefu vinathibitisha kuweka.
  • Kuongeza sehemu ya sehemu inayoongozwa ni pamoja na ucheleweshaji wa wakati kufidia tofauti za mwangaza kwa safu za kibinafsi.

Ilipendekeza: