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

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

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

【中科昊芯Start_DSC28027勇士開發(fā)板試用體驗(yàn)】通過(guò)pwm來(lái)調(diào)整led亮度

開發(fā)板試用精選 ? 來(lái)源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-21 11:18 ? 次閱讀
本文來(lái)源電子發(fā)燒友社區(qū),作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2286741_1_1.html

這塊板子最大的特點(diǎn)是mcudsp。dsp最大的特點(diǎn)是有非常豐富的計(jì)算指令,而且計(jì)算指令占用系統(tǒng)時(shí)鐘周期特別短。今天來(lái)玩pwm。
1.pwm是啥
PWM是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過(guò)高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來(lái)對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。PWM信號(hào)仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(wú)(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,斷的時(shí)候即是供電被斷開的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。
2.pwm可以用來(lái)干啥

pwm輸出可以接到led燈上,通過(guò)調(diào)節(jié)占空比可以達(dá)到調(diào)整led的亮度。pwm輸出還可以接到蜂鳴器上,通過(guò)占空比調(diào)節(jié)聲音頻率,可以讓蜂鳴器唱歌。這些都是大材小用。其實(shí)pwm最大的作用是做精密電源,或者做電機(jī)驅(qū)動(dòng)。
3.上代碼
我看了下板子上有的LED資源是接了OPWM4B和OPWM4A,正好可以用來(lái)驗(yàn)證。
pYYBAGKoo-yAHDJlAABAf5VzsvQ479.png


  1. void InitEPwm4Example()
  2. {
  3. /*時(shí)鐘分頻標(biāo)志位。 0: 不分頻 1: 2分頻*/
  4. EPwm4Regs.CLKDIV.bit.CLKDIV = 1;
  5. /*配置EPWM輸出頻率為TBCLK/3000/2=10kHz*/
  6. EPwm4Regs.TBPRD = 3000000;
  7. /*配置EPWM輸出相位不偏移*/
  8. EPwm4Regs.TBPHS.half.TBPHS = 0;
  9. /*配置EPWM的TBCTR計(jì)數(shù)初值為0*/
  10. EPwm4Regs.TBCTR = 0x0000;
  11. /*配置EPWM的占空比輸出為50%*/
  12. EPwm4Regs.CMPA.half.CMPA = 1500;
  13. EPwm4Regs.CMPB = 0;
  14. /*配置EPWM的TBCTR采用向上向下計(jì)數(shù)*/
  15. EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
  16. /*配置EPWM輸出不裝載相位偏移*/
  17. EPwm4Regs.TBCTL.bit.PHSEN = TB_DISABLE;
  18. /*配置EPWM時(shí)基頻率TBCLK為系統(tǒng)時(shí)鐘,不進(jìn)行分頻*/
  19. EPwm4Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
  20. EPwm4Regs.TBCTL.bit.CLKDIV = TB_DIV1;
  21. /*比較模塊CMPA采用影子寄存器裝載模式*/
  22. EPwm4Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
  23. EPwm4Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
  24. /*比較模塊CMPA從CTR=0時(shí)開始裝載*/
  25. EPwm4Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
  26. EPwm4Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
  27. /*TBCTR向上計(jì)數(shù)時(shí),達(dá)到CMPA事件,EPWM1A產(chǎn)生置高動(dòng)作*/
  28. EPwm4Regs.AQCTLA.bit.CAU = AQ_SET;
  29. /*TBCTR向下計(jì)數(shù)時(shí),達(dá)到CMPA事件,EPWM1A產(chǎn)生置低動(dòng)作*/
  30. EPwm4Regs.AQCTLA.bit.CAD = AQ_CLEAR;
  31. /*TBCTR向下計(jì)數(shù)時(shí),達(dá)到CMPB事件,EPWM1B產(chǎn)生置低動(dòng)作*/
  32. EPwm4Regs.AQCTLB.bit.CBD = AQ_CLEAR;
  33. /*TBCTR向上計(jì)數(shù)時(shí),達(dá)到CMPB事件,EPWM1B產(chǎn)生置高動(dòng)作*/
  34. EPwm4Regs.AQCTLB.bit.CBU = AQ_SET;
  35. /*中斷事件選擇,當(dāng)CTR=0時(shí)開始產(chǎn)生事件中斷*/
  36. EPwm4Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;
  37. /*中斷事件選擇,事件中斷的使能信號(hào)*/
  38. EPwm4Regs.ETSEL.bit.INTEN = 1;
  39. /*中斷事件分頻配置,一周期產(chǎn)生1次中斷*/
  40. EPwm4Regs.ETPS.bit.INTPRD = ET_1ST;
  41. /*
  42. HALFCYCLE 位無(wú)用, 配置無(wú)效;
  43. HALFEN 位=0: 死區(qū)采用 2 倍 TBCLK 時(shí)鐘;
  44. HALFEN 位=1: 死區(qū)采用 TBCLK 時(shí)鐘;
  45. */
  46. EPwm4Regs.DBCTL.bit.HALFEN = 1;
  47. // EPwm4Regs.DBCTL.bit.HALFCYCLE = 1;
  48. /*死區(qū)輸出模式配置,配置輸出雙邊沿延時(shí)*/
  49. EPwm4Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
  50. /*死區(qū)極性配置,配置EPWMxA輸出置高,EPWMxB輸出置低*/
  51. EPwm4Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;
  52. /*死區(qū)輸入模式配置,配置輸入的上升沿與下降沿延時(shí)來(lái)源為EPWMxA*/
  53. EPwm4Regs.DBCTL.bit.IN_MODE = DBA_ALL;
  54. /*死區(qū)時(shí)間配置,配置輸出上升沿延時(shí)5us*/
  55. EPwm4Regs.DBRED = 600;
  56. /*死區(qū)時(shí)間配置,配置輸出下降沿延時(shí)5us*/
  57. EPwm4Regs.DBFED = 600;
  58. }
復(fù)制代碼



  1. int main(void)
  2. {
  3. /*系統(tǒng)時(shí)鐘初始化*/
  4. InitSysCtrl();
  5. /*EPWM外設(shè)引腳初始化配置*/
  6. InitEPwm4Gpio();
  7. InitPieCtrl();
  8. /*清中斷,關(guān)中斷*/
  9. IER = 0x0000;
  10. IFR = 0x0000;
  11. /*中斷向量表初始化配置*/
  12. InitPieVectTable();
  13. EALLOW;
  14. /*配置EPWM1_INT中斷向量表指向執(zhí)行相應(yīng)的中斷服務(wù)程序*/
  15. PieVectTable.EPWM1_INT = &epmw1_isr;
  16. EDIS;
  17. EALLOW;
  18. /*禁止EPWM的時(shí)基使能,允許EPWM初始化配置寫入*/
  19. SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;
  20. EDIS;
  21. /*EPWM的初始化配置*/
  22. InitEPwm4Example();
  23. EALLOW;
  24. /*打開EPWM的時(shí)基使能,使EPWM的初始化配置起作用*/
  25. SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
  26. EDIS;
  27. /*使能打開IER的第3組中斷向量*/
  28. IER = M_INT3;
  29. /*使能打開IER的第3組中斷向量的第一個(gè)向量*/
  30. PieCtrlRegs.PIEIER3.bit.INTx1 = 1;
  31. /*使能打開全局中斷*/
  32. EINT;
  33. while(1)
  34. {
  35. }
  36. return 0;
  37. }
復(fù)制代碼

4.效果圖
poYBAGKoo-2AOW1YAAMffzHoz1M100.jpg

5.IDE的神奇功效
IDE里有一個(gè)live view面板,我覺得live View可以代替示波器,在live View里設(shè)置刷新時(shí)間和觀察的變量后,非常方便調(diào)試。再加上對(duì)變量值的以采樣時(shí)間為橫軸畫圖,真的就能達(dá)到示波器的效果,思路非常不錯(cuò)。

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

    關(guān)注

    5

    文章

    79

    瀏覽量

    5124
  • 開發(fā)板試用
    +關(guān)注

    關(guān)注

    3

    文章

    300

    瀏覽量

    2018
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    喜報(bào)!中科榮獲國(guó)家級(jí)專精特新“小巨人”企業(yè)稱號(hào)

    喜訊!近日,國(guó)家工業(yè)和信息化部門正式揭曉了第六批國(guó)家專精特新“小巨人”企業(yè)名單,中科憑借卓越的技術(shù)實(shí)力和創(chuàng)新能力,榮獲了專精特新“小巨人”企業(yè)殊榮。這一榮譽(yù)不僅是對(duì)中科
    的頭像 發(fā)表于 09-14 08:00 ?518次閱讀
    喜報(bào)!<b class='flag-5'>中科</b><b class='flag-5'>昊</b><b class='flag-5'>芯</b>榮獲國(guó)家級(jí)專精特新“小巨人”企業(yè)稱號(hào)

    如何在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板PWM功能

    本次源碼適配項(xiàng)目是在NXP i.MX6ULL EVK評(píng)估所搭載的Linux內(nèi)核源碼(版本為L(zhǎng)inux-imx_4.1.15)基礎(chǔ)上進(jìn)行的,主要目標(biāo)是通過(guò)調(diào)整功能接口引腳配置,使其適應(yīng)ELF 1
    的頭像 發(fā)表于 09-10 10:00 ?817次閱讀
    如何在NXP源碼基礎(chǔ)上適配ELF 1<b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>PWM</b>功能

    點(diǎn)擊參與米爾NXP i.MX 93開發(fā)板有獎(jiǎng)試用

    米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了3塊價(jià)值678元的MYD-LMX9X開發(fā)板發(fā)起試用活動(dòng)您不僅可以免費(fèi)體
    的頭像 發(fā)表于 06-13 08:02 ?386次閱讀
    點(diǎn)擊參與米爾NXP i.MX 93<b class='flag-5'>開發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    免費(fèi)!NXP i.MX 93開發(fā)板有獎(jiǎng)試用

    米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了2塊價(jià)值678
    的頭像 發(fā)表于 05-23 08:01 ?595次閱讀
    免費(fèi)!NXP i.MX 93<b class='flag-5'>開發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù)的開發(fā)平臺(tái),它允許工程師通過(guò)編程來(lái)定義和配置FPGA芯片上的邏輯電路,以實(shí)現(xiàn)各種數(shù)字電路和邏輯功能。FPGA
    的頭像 發(fā)表于 03-14 18:20 ?1665次閱讀

    pwm調(diào)光是什么意思

    PWM調(diào)光(Pulse Width Modulation Dimming)是一種利用脈沖寬度調(diào)制(PWM)技術(shù)來(lái)控制發(fā)光二極管(LED亮度
    的頭像 發(fā)表于 02-16 18:14 ?1.3w次閱讀

    使用愛派Pro開發(fā)板部署人體姿態(tài)估計(jì)模型

    在經(jīng)過(guò)之前對(duì)于開發(fā)板的使用,以及通過(guò)幾個(gè)愛派官方給出的示例demo(mobilenet/yolov5)在開發(fā)板上的部署之后,筆者也逐漸了解了愛
    的頭像 發(fā)表于 01-09 09:50 ?1283次閱讀
    使用愛<b class='flag-5'>芯</b>派Pro<b class='flag-5'>開發(fā)板</b>部署人體姿態(tài)估計(jì)模型

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】PWM輸出

    PWM_WH端,負(fù)極連接到GND。通過(guò)開發(fā)板輸出PWM信號(hào),PWM信號(hào)控制LED燈的
    發(fā)表于 12-21 00:14

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】GPIO使用,點(diǎn)燈

    (General Purpose Input/Output)來(lái)控制輸入輸出功能。 GPIO使用是HPM5361EVK開發(fā)板的一個(gè)重要特性,可以通過(guò)簡(jiǎn)單的配置來(lái)實(shí)現(xiàn)對(duì)IO口進(jìn)行控制。在
    發(fā)表于 12-10 16:57

    【先楫HPM5361EVK開發(fā)板試用體驗(yàn)】PWM輸出測(cè)試-呼吸燈

    Emulator; 3)Go. 可以看到在Terminal Emulator窗口輸出如下內(nèi)容: 在運(yùn)行代碼之前接好示波器,探頭測(cè)開發(fā)板PWM_WH端。運(yùn)行代碼時(shí),示波器上能看到波形變化。 1)示波器波形顯示 實(shí)測(cè)的示波器波形變化如頂部視頻 2)
    發(fā)表于 12-03 19:35

    【ELF 1開發(fā)板試用】+ RGB LED及按鍵的控制

    1開發(fā)板上,自然也不會(huì)少了它,其在開發(fā)板上的位置如圖1所示,共有3個(gè),其顏色分別為紅、綠、黃3個(gè)色彩。 圖1LED燈 3個(gè)LED燈的電路見圖2所示,由此可知其是低電平點(diǎn)亮。 圖2
    發(fā)表于 11-21 11:11

    【愛派 Pro 開發(fā)板試用體驗(yàn)】開箱測(cè)試

    的各種紙盒包裝結(jié)實(shí)很多。 打開后發(fā)現(xiàn),其中包括一個(gè)開發(fā)板和電源。還有一個(gè)口袋里面有個(gè)螺母,不知道什么用途,我現(xiàn)在把它安裝在電源的接頭上了,好像也不是特別合適。 開發(fā)板上的各種接口似乎都是雙份,包括
    發(fā)表于 11-20 22:09

    【涂鴉T2-U開發(fā)板試用體驗(yàn)】初識(shí)及試玩開發(fā)板

    期待已久的涂鴉開發(fā)板已經(jīng)到了一段時(shí)間了,平時(shí)上班很忙,沒(méi)有時(shí)間來(lái)學(xué)習(xí)實(shí)踐,好不容易快熬到周末,擠出一點(diǎn)時(shí)間來(lái)玩一玩心愛的開發(fā)板。板子見圖: 標(biāo)準(zhǔn)的長(zhǎng)條形設(shè)計(jì),一端是天線部分,用來(lái)做無(wú)
    發(fā)表于 11-17 22:44

    【涂鴉T2-U開發(fā)板試用體驗(yàn)】遠(yuǎn)程調(diào)試blink

    的使用體驗(yàn)。 在試用過(guò)程中,我選擇了遠(yuǎn)程調(diào)試Blink主題作為示例項(xiàng)目。Blink是一個(gè)基于tuyaos平臺(tái)的開源智能家居系統(tǒng),可以通過(guò)Wi-Fi控制LED等設(shè)備的開關(guān)狀態(tài)。在涂鴉T2開發(fā)板
    發(fā)表于 11-17 15:54

    【LuckFox Pico 開發(fā)板免費(fèi)試用】+ 系統(tǒng)燒寫

    很高興有機(jī)會(huì)對(duì)LuckFox Pico 開發(fā)板試用。收到板子后好好研究了一番,找了相關(guān)的資料。 LuckFox Pico 開發(fā)板基于瑞微 RV1103 主控芯片,Cortex-A7@
    發(fā)表于 10-29 20:05