Мазмұны:

MSP430 Breadboard дыбыстық спектр анализаторы: 6 қадам
MSP430 Breadboard дыбыстық спектр анализаторы: 6 қадам

Бейне: MSP430 Breadboard дыбыстық спектр анализаторы: 6 қадам

Бейне: MSP430 Breadboard дыбыстық спектр анализаторы: 6 қадам
Бейне: Arduino Sound Sensor - Embedded System Project 2024, Қараша
Anonim
Image
Image
MSP430 бақылау тақтасының дыбыстық спектр анализаторы
MSP430 бақылау тақтасының дыбыстық спектр анализаторы

Бұл жоба микрофонға негізделген және ең аз сыртқы компоненттерді қажет етеді. 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 қос оптикалық күшейткіш
  • шағын электрлі микрофон
  • 47к (тарту), 100к, 2х10к, 1к резисторлар
  • 1 x 0.1uF
  • секіргіш сымдар
  • аккумулятор ұстағыш үшін қолданылатын екі қатарлы еркек түйреуіш
  • 2 x LR44 монета батареясы

2 -қадам: Компоненттердің орналасуын жоспарлау

Жоба 170 нүктелі шағын тақтаға салынуы тиіс. Компоненттердің орналасуы төменде көрсетілгендей. Ерекше назар аударатын жайт, 8x8 жарықдиодты матрица 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 |. o o o o o o o o |…… |.. | b6 a7 | | c0 және r1 бір түйреуішті бөліседі және көрсетпейді | +. +-+-+-+| +-+-+-+-+-+-+-+-+-+-+| *c6 + c0 + r1 болуы мүмкін қосымша | | | V+ | | | G b6 b7 T R a7 a6 b5 b4 b3 | | бұл 32 кГц xtal сағаты үшін b6 босатады | | | TLC272 | | | | | | | шығу - + 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 батырмасы+ -----------------+

біз тек 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/ switches пәрменін құрастырудың мысалы

msp430 -gcc -Os -Wall -функция -бөлімдер -fdata -бөлімдер -fno -кірістірілген -кіші -функциялар -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 -қадам: Схеманы түсіну

Циклды түсіну
Циклды түсіну
Циклды түсіну
Циклды түсіну

Төменде схеманың схемасы берілген

MSP430G2452 немесе соған ұқсас 4K Flash TLC272 Dual Op-Amp, GBW @1.7Mhz, @x100 күші, өткізу қабілеті 17 Гц дейін

* біз тек TLC272 бір кезеңін қолданамыз

._.

| MSP430G2452 | Vcc | | | + ----------------------- 2 | ADC0 | 1-+ | | | |. | Vcc | | | | тарту (47k) Vcc Vcc | --------------- | | | | _ | | | +-1 | ----. Vcc | 8-+ | | | |. |. |. | ^.--- | 7 | | 16-+ | | 10к | | 10к | | | / / ^ | | | | _ | | _ | 100к | _ | | / _+\ / / | | /| --- (нан тақтасының орналасуын қараңыз) |.1u | | | | | /_+\ | | / | ------_+-|| --- |-[1k]-+-2 | ---+| | | | | 15 GPIO | | | | +---------- 3 | ----- + +-|-| 6 | P1.1-P1.7 | | 8x8 | | | +-4 | Gnd +-| 5 | P2.0-P2.7 | | Жарықдиодты | |+ | | --------------- | | | матрица | ((O)) |. | | / | | _ | | МИК | | 10к | +-20 | Gnd / | -------- | | _ | | | | _ | _ | _ _ | _ _ | _ _ | _ //////////

Жарықдиодты көлік жүргізу

Жарық диодты матрица 8 x 8 элементтен тұрады. Олар 15 GPIO түйреуішімен басқарылады. Олар 8 жолдар мен 8 бағаналар схемасымен мультиплексті. ADC енгізу үшін 1 істікшені қолданғаннан кейін тек 15 түйреуіш болғандықтан, мультиплексте бір түйреуішті бөлісетін 1 -жол мен 0 -баған бар. Бұл 1 -жол мен 0 -бағандағы нақты жарықдиодты жарықтандыруға болмайтынын білдіреді. Бұл мәміле, себебі барлық жарықдиодты элементтерді басқару үшін GPIO түйреуіштері жеткіліксіз.

Дыбысты түсіру

Дыбыс - бұл BoosterPack пакетіндегі борттық конденсатор микрофонының көмегімен. Микрофон сигналдары шамалы болғандықтан, біз оны msp430 ADC10 ақылға қонымды ажыратымдылықпен қолдана алатын деңгейге дейін күшейтуіміз керек. Мен бұл үшін екі сатылы оп-күшейткішті қолдандым.

Оп-амп күшейткіші екі кезеңнен тұрады, олардың әрқайсысы шамамен 100 есе өседі. Мен TLC272 қабылдадым, себебі бұл өте кең таралған бөлігі және ол 3В жұмыс істейді. Табыстың өткізу қабілеттілігі шамамен 1,7 МГц болса, біз 100x пайда алу үшін біз оның 17 кГц астында жақсы жұмыс істейтініне кепілдік бере аламыз (яғни, біз қалаған кірісті сақтаймыз). (1,7 МГц / 100).

Бастапқыда мен бұл спектрлік анализаторды 16-20 Гц жиілікке дейін жеткізгім келеді, бірақ соңында 8 кГц шамасында музыканы көрсетуге жеткілікті екенін білдім. Мұны LM358-ді аудио-рейтингісімен ауыстыру және іріктеу жиілігін өзгерту арқылы өзгертуге болады. Сіз таңдаған оп-амперлердің өткізу қабілеттілігін іздеңіз.

Сынама және 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. Егер сізде жақсы операциялық күшейткіш болса және / немесе басқаша болуын қаласаңыз, оны өзгертуге болады.

Жиілік жолақтары және амплитудалық масштабтау

Микробағдарлама бір мезгілде 16 диапазонды өңдейді, ал түсіру уақыты осы банктер арасында 500 Гц аралықты құрайды. Жарық диодты матрица 8 бағаннан тұрады және тек 8 диапазонды / амплитуданы көрсетеді. Әрбір екі диапазонды көрсетудің орнына, динамикалық жиілік диапазондарын (музыка тұрғысынан) көрсету үшін сызықтық емес жиіліктер тізімі қолданылады. Бұл тізімде төменгі жиектегі 500 Гц бос орындар, ортаңғы диапазонда 1 КГц бос орындар және жоғары жиіліктерде 1,5 Гц жолақтар бар.

Жеке диапазондардың амплитудасы 8 деңгейге дейін төмендетілген, олар жарық диодты матрицаның дисплейінде көлденең «нүктелер» санымен көрсетіледі, амплитуда деңгейлері FFT нәтижелерін 8-дің біріне аударатын сызықтық емес карта арқылы кішірейтіледі. нүктелер Логарифмдік масштабтау әдісі қолданылады, себебі ол дыбыс деңгейі туралы біздің қабылдауды жақсы көрсетеді.

Кіріктірілген AGC логикасы бар және спектр анализаторы алдыңғы циклдарда бірнеше шың деңгейлері анықталған кезде амплитуда деңгейін төмендетуге тырысады. Бұл салыстырмалы кестенің сырғымалы сызғышымен жасалады.

6 -қадам: құрылғыны пайдалану

  • Дисплей режимінде қысқа пернені басу нүктесіз, бір нүктеде, 2 нүктеде және 3 нүктелі дисплейде өтеді.
  • Ұзақ басу орнату режиміне өтеді, одан кейін ұзақ басу мәзір арқылы айналады.
  • Мәзір элементтері «Hamming Window Option», «Dimmer», «Sampling / Refresh Rate» арқылы өтеді.
  • «Хамминг терезесі» орнату режимінде қысқа басулар циклсыз, 1, соққы 2, соққы 3 арқылы өтеді, ұзақ басу параметрді растайды.
  • «Диммер» орнату режимінде қысқа басулар 0 -ден 3 -ке дейінгі жарықтық деңгейлерінде айналады, ұзақ басу параметрді растайды.
  • «Таңдау / жаңарту жылдамдығы» орнату режимінде 0 -ден 7 -ге дейінгі жаңарту жылдамдықтары бойынша қысқа басулар циклді білдіреді, 0 кешіктіруді білдірмейді, ұзақ басу параметрді растайды.
  • Светодиодты мультиплекстеу жеке жолдар үшін жарықтық айырмашылықтарын өтеу үшін уақытты кешіктіруді қамтиды.

Ұсынылған: