Мазмуну:

MSP430 Breadboard Audio Spectrum Analyzer: 6 кадам
MSP430 Breadboard Audio Spectrum Analyzer: 6 кадам

Video: MSP430 Breadboard Audio Spectrum Analyzer: 6 кадам

Video: MSP430 Breadboard Audio Spectrum Analyzer: 6 кадам
Video: MSP430 Breadboard Audio Spectrum Analyser 2024, Ноябрь
Anonim
Image
Image
MSP430 Breadboard Аудио Спектр анализатору
MSP430 Breadboard Аудио Спектр анализатору

Бул долбоор микрофонго негизделген жана минималдуу тышкы компоненттерди талап кылат. 2 x LR44 монета клеткалары колдонулат, ошондуктан мен 170 ставкалуу мини нан тактасынын чегинде иштей алам. ADC10, TimerA үзгүлтүккө учуроочу LPM ойготуусу, TimerA PWM сыяктуу чыгаруу, баскычты колдонуу, бүтүн сан арифметикасы колдонулат жана көрсөтүлөт.

Өзгөчөлүктөрү

  • 500 Гц бөлүүдө 8 бит бүтүн сан FFT 16 үлгүлөрү
  • 1K, 1.5K, 2K, 3K, 4K, 5K, 6K, 7.5K сызыктуу эмес 8 амплитудасын көрсөтөт
  • жарым -жартылай логарифм картасы амплитудасын көрсөтүү үчүн чектелген, анткени чечим 8 бит FFT үчүн кыскарган
  • TLC272 бир баскычтуу микрофон 100 эсе 100 эсе көбөйөт (сиз 2 этапты башыңыздан өткөрө аласыз)
  • меню тандалма кошумча Hamming терезеси
  • меню 4 деңгээл жарыктыгын тууралайт
  • меню 8 деңгээл үлгү ылдамдыгын / жооп убактысын тууралайт
  • 2 x LR44 монета клеткасы "бортто" иштейт

1 -кадам: Бөлүктөрдү алуу

Төмөндө бул долбоор үчүн эмне керек

  • MSP430G2452 (TI Launchpad G2ден кошумча чип, же 4K 20 пин MSP430G сериялы MCU)
  • алдын ала куруу үчүн 170 галстук чекиттүү мини нан же такта
  • TLC272 Кош оп-амп
  • мини электрофон
  • 47k (тартуу), 100k, 2 x 10k, 1k каршылыгы
  • 1 x 0.1uF
  • секирүүчү зымдар
  • батарейка кармоочу үчүн колдонула турган эки катар эркек пин башы
  • 2 x LR44 монеталуу батарея

2 -кадам: Компоненттердин жайгашуусун пландаңыз

Долбоор 170 таяк чекиттүү мини нан тактасына курулат. Компоненттердин жайгашуусу төмөндө көрсөтүлгөндөй. Өзгөчө белгилей кетчү нерсе, 8x8 LED матрицасы MSP430 MCUнун үстүнө коюлат. Компоненттерден тышкары, "+------+" символдору менен туташтырылган секирүүчү зымдар да бар.

G V + Gnd (1 этап макети) БИЗ БУЛ КАЛДЫКТЫ КОЛДОНОБУЗ + ================================== =================+ c0 ………… c7 | MIC……. + -----++-+…. | r0 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 |. о о о о о о о о о |…… |.. | b6 a7 | | c0 жана r1 бир пинди бөлүшөт жана көрсөтпөйт | +. +-+-+-+| +-+-+-+-+-+-+-+-+-+-+| *c6 + c0 + r1 | болушу мүмкүн болгон колдонмо | | V+ | | | G b6 b7 T R a7 a6 b5 b4 b3 | | бул 32 кГц xtal сааты үчүн b6 бошотот | | | TLC272 | | | | | | | out - + 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+ -----------------+

биз TLC272нин бир этабын гана колдонуп жатабыз

3 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея

Нан тактасынын негизинде компоненттерди жайгаштырууну баштасаңыз болот. Бул ASCII искусствосу болгондуктан анча түшүнүксүз болушу мүмкүн. Сиз бардык байланыштарды аныктоо үчүн бул кадамда сүрөттөрдү жупташтырсаңыз болот.

IC чиптерин жайгаштырууга кам көрүү керек. Адатта, бурчтардын биринде түзмөктүн 1 -пинин көрсөтүү үчүн чекит бар.

Мен CAT5 ethernet кабелдик зымдарын колдонгон болчумун жана алар панель долбоорлорунда иштөө үчүн абдан оңой. Эгерде сизде эски CAT5 кабели бар болсо, анда аны кесип салсаңыз болот, ичинде 6 буралган зым бар. Алар нан такталары үчүн идеалдуу.

4 -кадам: Камтылган программаны түзүү жана жүктөө

Булак коду көбүнчө менин github репозиторийлеримде жайгашкан.

Бул конкреттүү долбоор үчүн nfft.c жалгыз C булагы файлы менин нандар жыйнагымдын репозиторийинде топтолгон. Сизге жөн гана nfft.c керек

Мен mps430-gccти программаны түзүү үчүн колдонуп жатам, бирок ал TI CCS менен жакшы жүрүшү керек. Сиз IDEлерди же компиляторлорду орнотуунун бардык кыйынчылыктарынан желе негизделген IDE болгон TI CCS булутуна баруу менен кача аласыз. Ал тургай, сиздин түзмөккө камтылган программаны жүктөп берет.

Бул w/ switch которуу буйругунун мисалы

msp430 -gcc -Os -Wall -функция -бөлүмдөр -fdata -бөлүмдөр -fno -inline -Small -functions -Wl, -Map = nfft.map, --cref -Wl, --relax -Wl, --gc- -I/energia -0101E0016/аппараттык/msp430/өзөктүү/msp430 -mmcu = msp430g2553 -o nfft.elf nfft.c

Мен MCUду программалоо үчүн TI Launchpad G2ди программист катары колдонуп жатам.

5 -кадам: Районду түшүнүңүз

Circuit түшүнүү
Circuit түшүнүү
Circuit түшүнүү
Circuit түшүнүү

Электр схемасы төмөндө келтирилген

MSP430G2452 же ушуга окшош, 4K Flash TLC272 Dual Op-Amp, GBW @1.7Mhz, @x100 пайда, өткөрүмдүүлүк 17Khzге чейин керек

* биз TLC272дин бир этабын гана колдонуп жатабыз

._.

| MSP430G2452 | Vcc | | | + ----------------------- 2 | ADC0 | 1-+ | | | |. | Vcc | | | | pull (47k) Vcc Vcc | --------------- | | | | _ | | | +-1 | ----. Vcc | 8-+ | | | |. |. |. | ^.--- | 7 | | 16-+ | | 10k | | 10k | | | / / ^ | | | | _ | | _ | 100k | _ | | / _+\ / / | | /| --- (нан тактасынын жайгашуусун караңыз) |.1u | | | | | /_+\ | | / | ------_+-|| --- |-[1k]-+-2 | ---+| | | | | 15 GPIO | | | | +---------- 3 | ----- + +-|-| 6 | P1.1-P1.7 | | 8x8 | | | +-4 | Gnd +-| 5 | P2.0-P2.7 | | LED | |+ | | --------------- | | | матрица | ((O)) |. | | / | | _ | | MIC | | 10k | +-20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ //////////

LED айдоо

LED матрицасы 8 х 8 элементтен турат. Алар 15 GPIO казыгы менен башкарылат. Алар 8 катар жана 8 мамыча схемасы менен мультиплекстелген. ADC киргизүү үчүн 1 пин колдонгондон кийин 15 гана казык бар болгондуктан, мультиплекстөөдө 1 -пин жана 0 -графанын бир пинди бөлүшүүсү бар. Бул 1 -катардагы жана 0 -тилкедеги өзгөчө LEDди жандырууга болбойт дегенди билдирет. Бул компромисс, анткени бардык LED элементтерин иштетүү үчүн GPIO төөнөгүчтөрү жетишсиз.

Sound Capture

Үндү Educational BoosterPackтеги борттогу конденсатор микрофону аркылуу тартып алышат. Микрофондун сигналдары кичинекей болгондуктан, биз аны msp430 ADC10 акылга сыярлык чечимди колдоно турган деңгээлге чейин күчөтүшүбүз керек. Мен бул үчүн эки баскычтуу оп-амп күчөткүчүн колдонгон элем.

Оп-амп күчөткүчү эки этаптан турат, алардын ар бири болжол менен 100 эсе көбөйөт. Мен TLC272ди кабыл алгам, анткени ал дагы абдан кеңири таралган жана ал w/ 3V менен иштейт. Болжол менен 1,7 МГц болгон кирешелүүлүк, биз 100x пайда алуу үчүн, биз анын 17 кГц астында жакшы иштээрине кепилдик бере алабыз (б.а. биз каалаган кирешени сактап калабыз). (1.7Mhz / 100).

Башында мен бул спектр анализаторун 16-20КГцке чейин чыгарууну көздөп жүргөм, бирок акырында 8КГц жөнүндө музыканы көрсөтүүгө жакшы экенин байкадым. Бул аудио-баа LM358 w/ бир нерсе алмаштыруу жана тандоо ылдамдыгын өзгөртүү менен өзгөртүлүшү мүмкүн. Сиз тандаган оп-амптердин кирүү жөндөмдүүлүгүн издеңиз.

Тандоо жана FFT

Колдонулган FFT функциясы - бул көптөгөн долбоорлор кабыл алган "fix_fft.c" коду, ал бир нече жылдардан бери интернетте калкып жүрөт. Мен 16 биттик жана 8 биттик версиясын сынап көрдүм. Акыр -аягы, мен 8 -биттик версияга макулдугумду бердим, мен 16 -биттик версиясында чоң жылыштарды көрө алган жокмун.

Мен FFT механизми жөнүндө жакшы түшүнүккө ээ эмесмин, бирок бул доменди жыштыкка айлантуу үчүн убакыт домени. Бул үн үлгүлөрүнүн ылдамдыгы (убактысы), FFT эсептөө функциясына берилгенден кийин, мен алган амплитуданын жыштыгына таасир этет дегенди билдирет. Ошентип, ылдамдыкты үн үлгүсүнө тууралоо менен, мен жыйынтыгында жыштык диапазонун аныктай алам.

TimerA 0 CCR0 үлгү алуу убактысын сактоо үчүн колдонулат. Биз адегенде диапазондун жыштыгына жетүү үчүн керек болгон сандарды аныктайбыз (биздин DCO сааттын ылдамдыгы 16 МГцке туура келет). башкача айтканда TA0CCR0 коюлган (8000/(BAND_FREQ_KHZ*2))-1; бул жерде BAND_FREQ_KHZ 8 мен үчүн. Эгер жакшыраак оп-ампка ээ болсоңуз жана / же анын башкача болушун кааласаңыз, аны өзгөртө аласыз.

Frequency Bands жана Amplitude Scaling

Камтылган программа бир убакта 16 диапазонду иштетет жана тартуу убактысы бул банктар ортосунда 500 Гц бөлүнүүнү түзөт. LED матрицасы 8 тилкеден турат жана 8 диапазонду / амплитуданы гана көрсөтөт. Ар бир эки диапазонду көрсөтүүнүн ордуна, сызыктуу эмес жыштык диапазону динамикалык жыштык диапазондорун көрсөтүү үчүн колдонулат (музыка жагынан). Тизме төмөн жагында 500 Гц боштуктар, ортоңку тилкелерде 1 КГц боштуктар жана бийиктиктеги 1,5 КГц тилкелери.

Жеке диапазондордун амплитудасы LED матрицасынын дисплейинде горизонталдуу "чекиттердин" саны менен көрсөтүлгөн 8 деңгээлге чейин төмөндөтүлөт. чекиттер Логарифмалык масштабдын бир түрү колдонулат, анткени ал үн деңгээлин кабылдоону эң жакшы чагылдырат.

Киргизилген AGC логикасы бар жана спектр анализатору мурунку циклдерде аныкталган бир нече чоку бар болгондо амплитуда деңгээлин төмөндөтүүгө аракет кылат. Бул салыштырма стол менен жылдырылган сызгычтын жардамы менен жасалат.

6 -кадам: Түзмөктү иштетүү

  • Кыска басуу дисплей режиминде чекит жок, бир чекит, 2 чекит жана 3 чекиттүү дисплей аркылуу өтөт.
  • Узак басуу орнотуу режимине кирет, андан кийин узак басуу меню аркылуу айланат.
  • Меню пункттары 'Hamming Window Option', 'Dimmer', 'Sampling / Refresh Rate' аркылуу өтөт.
  • "Хамминг терезеси" орнотуу режиминде, кыска басуулар цикл жок, 1, 2, 2, 3 хамминг, узак басуу орнотууну ырастайт.
  • "Dimmer" орнотуу режиминде, 0дөн 3кө чейин жеткиликтүү жарыктык деңгээлдери аркылуу кыска басуу циклдери, узак басуу орнотууну ырастайт.
  • "Үлгү алуу / Жаңылоо ылдамдыгы" орнотуу режиминде, 0дөн 7ге чейинки жеткиликтүү жаңыртуу ылдамдыктары аркылуу кыска басуу циклдери кечиктирилбейт, узак басуу орнотууну ырастайт.
  • LED сегментинин мультиплексингине жеке катарлар үчүн жарыктыктын айырмачылыктарын толтуруу үчүн убакытты кечиктирүү кирет.

Сунушталууда: