Բովանդակություն:

STM32CubeMx խոսափող (STM32F407VG) ՝ 5 քայլ
STM32CubeMx խոսափող (STM32F407VG) ՝ 5 քայլ

Video: STM32CubeMx խոսափող (STM32F407VG) ՝ 5 քայլ

Video: STM32CubeMx խոսափող (STM32F407VG) ՝ 5 քայլ
Video: STM32 - программирование для начинающих. Пошагово. CubeMX CubeIDE 2024, Նոյեմբեր
Anonim
Խոսափող STM32CubeMx (STM32F407VG)
Խոսափող STM32CubeMx (STM32F407VG)

Ողջու՜յն! Այս նախագծում մենք կփորձենք ձայն ստանալ միկրոֆոնի միջոցով (արտաքին ոչ ներկառուցված խոսափող) և այն նվագարկել բարձրախոսի միջոցով: Այս ձեռնարկը շատ կարճ կլինի, քանի որ ես ծրագրի մասերի բացատրություններ կտամ ՝ հղում անելով որոշ տեսանյութերի: Այսպիսով, եկեք անցնենք նախագծին:)

Քայլ 1: Softwareրագրային ապահովման և սարքավորման պահանջներ

Սարքավորման պահանջներ.

  • STM32F4 հայտնաբերման տախտակ (կամ ցանկացած այլ STM32F4 տախտակ)
  • MAX9814 էլեկտրատեխնիկական խոսափող ուժեղացուցիչով
  • PAM8403 աուդիո ուժեղացուցիչ մոդուլ
  • 4 OHM խոսնակ

Softwareրագրային ապահովման պահանջներ.

  • STM32CubeMX
  • Keil uVision5

Քայլ 2. Որոշեք ծրագրի ծրագիրը

Այսպիսով, եկեք նախ հասկանանք, թե ինչ ենք ուզում անել: Նախ, մենք ուզում ենք ձայն ստանալ էլեկտրալարային խոսափողից: Ինչպես գիտեք, MCU- ն ամեն ինչ մշակում է թվային եղանակով: Այնուամենայնիվ, ձայնը անալոգային ազդանշան է: Այսպիսով, մենք պետք է այն վերածենք թվային ազդանշանի, և դա արվում է ADC (անալոգային թվային փոխարկիչ) միջոցով, և գործընթացը կոչվում է նմուշառում: Լրացուցիչ տեղեկություններ կարող եք որոնել: Այստեղ կա մի կարևոր կետ. Բարձրախոսից համապատասխան ձայն ստանալու համար ընտրանքի հաճախականությունը պետք է լինի առնվազն երկու անգամ ավելի բարձր, քան ելքի ձայնային հաճախականությունը: Սա կոչվում է Nyquist-Shannon թեորեմ:

Այն թվային ազդանշանի փոխակերպելուց հետո մենք կարող ենք այն մշակել այնպես, ինչպես ցանկանում ենք, իսկ հետո նորից թողնել այդ ձայնը: Այնուամենայնիվ, բարձրախոսին անհրաժեշտ է անալոգային ազդանշան: Այսպիսով, մենք պետք է այս թվային ազդանշանը փոխարկենք անալոգային հետևի: Դրա համար մենք կօգտագործենք DAC (թվայինից անալոգային փոխարկիչ): Վերջում մենք կարող ենք թողնել այդ ձայնը:)

Քայլ 3. Ինչպես կարգավորել և իրականացնել ADC և DAC DMA- ով

Ինչպես ասացի, այս գործընթացը սովորել եմ նաև տեսանյութից: Ես կտամ այս տեսանյութի հղումը: Եղեք համբերատար և ուշադիր լսեք: Նա հիանալի բացատրում է ամբողջ գործընթացը:

Հղումներ ՝ Մաս 1 և Մաս 2

*Նշում. Ստուգեք այս տողը ձեր ծածկագրում և միացրեք DMA շարունակական հարցումը.

hadc1. Init. DMAContinuousRequests = ԱՆՎBԱՐ;

Քայլ 4: Դեպի խոսնակ

Դեպի խոսնակ
Դեպի խոսնակ

Բոլոր քայլերն անելուց հետո պետք է բարձրախոսը միացնել վերը նշված պատկերին: Դրանից հետո ձայնը նվագարկեք ձեր հեռախոսի վրա և նվազեցրեք ձայնը մինչև այն սահմանը, որը գրեթե չեք կարող լսել: Այնուհետև վերցրեք հեռախոսը խոսափողի մոտ և բարձրախոսից բարձր ձայն կլսեք: Մի խոսեք խոսափողի հետ, քանի որ դժվար կլինի բռնել ՝ բարձրախոսից ելք կա, թե ոչ:)

Քայլ 5: Եզրակացություն

Այսպիսով, մենք հասել ենք նախագծի ավարտին: Եթե ունեք որևէ հարց կամ խնդիր, մի հապաղեք հարցնել:)

Խորհուրդ ենք տալիս: