91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

JL杰理AC696N開發(fā)板PWM波形生成與控制(1):頻率、占空比

李杰 ? 來源:jf_74684824 ? 作者:jf_74684824 ? 2026-04-03 13:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

PWM這玩意兒,做調(diào)光、調(diào)速、甚至模擬音頻都離不開。JL杰理AC696N的定時器自帶PWM輸出功能,配置起來不算復(fù)雜,但真要調(diào)出穩(wěn)定的波形,有幾個坑是繞不開的。比如初始化的時候LED會閃一下、占空比設(shè)0反而輸出一個高電平、想換個引腳輸出還得搞清楚通道映射。之前在AC696N開發(fā)板上調(diào)PWM驅(qū)動呼吸燈和電機,把這些小問題都踩了一遍,整理出來方便后面用的時候直接抄。

PWM常用于控制燈光亮度、電機速度等。JL杰理AC696N芯片的定時器支持靈活的PWM輸出。

PWM的核心參數(shù)是頻率和占空比。

wKgZO2nPUoeACJtrAAAMZndDLCU05.webp

如圖,高電平的時間(1ms) + 低電平的時間(3ms) = 4ms(一個周期)

頻率 = 1s / 4ms = 250HZ

高電平時間 / 一個周期時間 = 1ms / 4ms = 25%(占空比)

使用timer_pwm_init函數(shù)可以初始化指定定時器產(chǎn)生PWM。需要傳入定時器(如JL_TIMER3)、頻率(Hz)、初始占空比(0-10000對應(yīng)0-100%)和輸出引腳。

每個定時器有對應(yīng)的硬件引腳,也可通過通道映射(如CH2_T3_PWM_OUT)輸出到其他引腳,但需注意避免IO沖突和定時器被系統(tǒng)占用(如TIMER1、TIMER2)。

常見問題包括:

初始化時LED閃爍,可通過先設(shè)置周期和占空比再開啟計數(shù)模式解決;

wKgZPGnPUoeAV-U2AAA2pkjcOYI73.webp

占空比設(shè)為0時可能出現(xiàn)一個周期的高電平,需調(diào)整寄存器操作順序;

void set_timer_pwm_duty(JL_TIMER_TypeDef *JL_TIMERx, u32 duty) { if(duty == 0){ if(JL_TIMERx->PWM == 0){ return; } //計時標(biāo)志,進來此函數(shù)前PB3已經(jīng)設(shè)置為高電平,PB3部分控制可省略 JL_PORTB->OUT &= ~BIT(3); /*周期內(nèi)低電平時期進入此函數(shù),強制延長半個到一個周期等下一個周期下降沿再觸發(fā), 防止一個周期最后1us左右時間觸發(fā)此函數(shù)導(dǎo)致的程序執(zhí)行時間不夠?qū)е聵O短時間的高電平*/ if(JL_TIMERx->CNT > JL_TIMERx->PWM){ while(JL_TIMERx->CNT > JL_TIMERx->PWM){ delay(1); } while(JL_TIMERx->CNT < JL_TIMERx-?>PWM){ delay(1); } } //周期內(nèi)高電平時間進入此函數(shù),等周期內(nèi)低電平時間觸發(fā) while(JL_TIMERx->CNT < JL_TIMERx-?>PWM){ delay(1); } //關(guān)閉PWM波形 JL_TIMERx->CON &= ~BIT(8); //時間標(biāo)志 JL_PORTB->OUT |= BIT(3); } else{ //開啟PWM JL_TIMERx->CON |= BIT(8); } JL_TIMERx->PWM = (JL_TIMERx->PRD * duty) / 10000; //0~10000對應(yīng)0~100% //時間標(biāo)志 JL_PORTB->OUT &= ~BIT(3); } void timer_pwm_test(void) { //PB3為了計時設(shè)置,可以去掉 gpio_set_pull_down(IO_PORTB_03,0); gpio_set_pull_up(IO_PORTB_03,0); gpio_set_direction(IO_PORTB_03,0); timer_pwm_init(JL_TIMER3, 100000, 2000, IO_PORTB_05, 0); } //測試按鍵消息 case KEY_SET_PWM: log_info("KEY_SET_PWMn"); static int pwm_flag = 0; JL_PORTB->OUT |= BIT(3); if(pwm_flag){ set_timer_pwm_duty(JL_TIMER3,0); pwm_flag = 0; } else{ set_timer_pwm_duty(JL_TIMER3,5000); pwm_flag = 1; } break;

問題波形1(占空比變?yōu)?時1周期的高電平):

wKgZO2nPUoeAWyzUAAAe6GIhv6Y03.webp

問題波形2(周期末尾操作寄存器執(zhí)行時間不夠?qū)е虏ㄐ雾樠拥较轮芷诓艌?zhí)行):

wKgZPGnPUoiAPRfTAAAi_Ew8hgg16.webp

以及操作寄存器時機不當(dāng)導(dǎo)致波形順延。

理解時鐘源選擇(系統(tǒng)時鐘或晶振時鐘)對產(chǎn)生高頻率PWM也至關(guān)重要。

總結(jié)

PWM配置看著簡單,但細(xì)節(jié)決定成敗。

定時器別跟系統(tǒng)沖突,TIMER1和TIMER2通常被系統(tǒng)占用,建議用TIMER3及以后的。

初始化順序很重要,先配周期和占空比,再開計數(shù),不然會看到一個意外的脈沖。占空比從0到10000對應(yīng)0%到100%,想設(shè)50%就寫5000。

如果需要高頻率輸出(比如幾十kHz以上),時鐘源選系統(tǒng)時鐘,別選晶振時鐘,頻率上限更高。

建議在AC696N開發(fā)板上先用示波器把基礎(chǔ)波形抓出來,確認(rèn)頻率和占空比都對得上,再往實際應(yīng)用里套,省得后面調(diào)半天分不清是代碼問題還是硬件問題。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5884

    瀏覽量

    226306
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6362

    瀏覽量

    119907
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    JLAC696N開發(fā)板PWM波形生成控制(2):問題排查

    AC696N上都有對應(yīng)的解決辦法。剛用AC696N開發(fā)板調(diào)PWM的時候把這些坑都踩了一遍,把問題現(xiàn)象和解決方案整理出來,方便遇到類似情況時快速定位。
    發(fā)表于 04-07 14:07

    JLAC696N開發(fā)板做存儲設(shè)備適配(1):SD/TF卡與MMC卡的基礎(chǔ)配置與兼容

    JLAC696N開發(fā)板做存儲設(shè)備適配(1):SD/TF卡與MMC卡的基礎(chǔ)配置與兼容 引言 做
    發(fā)表于 04-06 19:31

    JLAC696N開發(fā)板PWM波形生成控制(2):問題排查

    JLAC696N開發(fā)板PWM波形
    發(fā)表于 04-05 23:45

    JLAC696N開發(fā)板PWM波形生成控制(1):頻率占空比配置

    32-JLAC696N開發(fā)板PWM波形
    發(fā)表于 04-03 21:44

    JLAC696N系列開發(fā)GPIO控制大全:模式、API與特殊引腳

    JLAC696N系列開發(fā)GPIO控制大全:模式、API與特殊引腳 引言 GPIO配置看著簡單
    發(fā)表于 04-02 21:21

    JLAC696N系列芯片SPI接口實戰(zhàn):驅(qū)動Flash、LCD與RGB燈

    文章闡述了,AC696N系列芯片功能:驅(qū)動Flash、LCD、RGB等。AC696N開發(fā)板支持SPI主機模式,可輕松驅(qū)動這種類型外設(shè)。
    的頭像 發(fā)表于 04-01 17:49 ?1042次閱讀
    <b class='flag-5'>JL</b><b class='flag-5'>杰</b><b class='flag-5'>理</b><b class='flag-5'>AC696N</b>系列芯片SPI接口實戰(zhàn):驅(qū)動Flash、LCD與RGB燈

    JLAC696N開發(fā)板引腳速查:AC6966B開發(fā)板關(guān)鍵接口連接圖

    硬件開發(fā),引腳定義是“地圖”。本文將JLAC696N開發(fā)板的核心引腳連接以圖表形式清晰呈現(xiàn)
    發(fā)表于 04-01 09:52

    JLAC696N系列芯片開發(fā)UART串口應(yīng)用寶典:打印、調(diào)音與通信Demo

    本文闡述了關(guān)于AC696N系列芯片開發(fā)UART串口應(yīng)用:打印、調(diào)音、通信Demo,能夠為大家對AC696N系列芯片做串口類方案時的一個小
    的頭像 發(fā)表于 03-31 10:00 ?345次閱讀
    <b class='flag-5'>JL</b><b class='flag-5'>杰</b><b class='flag-5'>理</b><b class='flag-5'>AC696N</b>系列芯片<b class='flag-5'>開發(fā)</b>UART串口應(yīng)用寶典:打印、調(diào)音與通信Demo

    JLAC696N開發(fā)之定時器系統(tǒng)全解析:sys_timer與usr_timer的應(yīng)用

    做藍(lán)牙音頻或IoT嵌入式開發(fā),定時器用不好是真要命——回調(diào)睡過頭、中斷里卡死、低功耗喚醒亂套……這些坑估計不少人都踩過。 最近在整理總結(jié)JL A
    發(fā)表于 03-31 09:53

    JLAC696N開發(fā)板使用教程-低功耗基礎(chǔ):AC6966B芯片的復(fù)位與喚醒源配置

    引言 在電池供電產(chǎn)品里,低功耗做不好,其他功能再強也是白搭。JLAC696N這顆芯片在藍(lán)牙耳機、音箱方案里用得挺多的,功耗控制本身底子不
    發(fā)表于 03-30 11:15

    JLAC696N系列芯片開發(fā)經(jīng)驗:芯片復(fù)位與喚醒源深度解析

    簡介 做低功耗產(chǎn)品,最頭疼的就是兩個問題:一是設(shè)備無緣無故重啟了,找不到原因;二是睡眠之后喚不醒,或者誤喚醒導(dǎo)致功耗居高不下。 JLAC696N這個系列的芯片在藍(lán)牙耳機、音箱、Io
    發(fā)表于 03-28 10:57

    JLAC696N開發(fā)板電源管理精要:提高內(nèi)核電壓與長按復(fù)位配置

    本文簡易闡述了JLAC696N開發(fā)板電源管理模塊的信息。
    的頭像 發(fā)表于 03-28 10:54 ?223次閱讀
    <b class='flag-5'>JL</b><b class='flag-5'>杰</b><b class='flag-5'>理</b><b class='flag-5'>AC696N</b><b class='flag-5'>開發(fā)板</b>電源管理精要:提高內(nèi)核電壓與長按復(fù)位配置

    AC6966B開發(fā)板開發(fā)準(zhǔn)備-環(huán)境搭建:Windows下JLAC696N開發(fā)環(huán)境配置

    做藍(lán)牙音頻、音箱或IoT產(chǎn)品的開發(fā),最怕的不是寫代碼,而是環(huán)境配半天跑不起來。JLAC696N這顆芯片在耳機、音箱方案里很常見,性價比高
    的頭像 發(fā)表于 03-28 09:52 ?237次閱讀
    <b class='flag-5'>AC</b>6966B<b class='flag-5'>開發(fā)板</b><b class='flag-5'>開發(fā)</b>準(zhǔn)備-環(huán)境搭建:Windows下<b class='flag-5'>JL</b><b class='flag-5'>杰</b><b class='flag-5'>理</b><b class='flag-5'>AC696N</b><b class='flag-5'>開發(fā)</b>環(huán)境配置

    藍(lán)牙音頻產(chǎn)品開發(fā),五分鐘上手:從AC696N開發(fā)板出廠直觀的功能體驗開始

    無需編寫一行代碼,JLAC696N開發(fā)板出廠程序已集成了完整的多媒體功能。通過幾個按鍵,快速體驗它的所有功能和強大。 “藍(lán)牙模式” “音
    發(fā)表于 03-24 23:49

    JLAC696N開發(fā)板引腳速查:AC6966B開發(fā)板關(guān)鍵接口連接圖

    硬件開發(fā),引腳定義是“地圖”。本文將JLAC696N開發(fā)板的核心引腳連接以圖表形式清晰呈現(xiàn)
    發(fā)表于 03-23 21:21