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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

巧用QEI,計數(shù)更靈活

先楫半導體HPMicro ? 2024-03-23 08:16 ? 次閱讀

工程苗小兵

先楫資深FAE工程師

電力電子與電力傳動專業(yè)碩士研究生,一個從事了20多年的功率控制的工程小兵,有多年的電機驅動和電源控制經(jīng)驗,專注電力電子控制方向。

HPM67/63/62系列中幾個常見應用需求

輸出固定個數(shù)的脈沖

  • 伺服應用中需要輸出正交的固定脈沖反饋當前運動位置
  • 步進電機控制應用需要MCU輸出指定脈沖個數(shù),配置運行步長
  • 常規(guī)方法是配置PWM或GPTIMER,在每個脈沖輸出后在中斷中計數(shù),最后軟件封波

高速、大數(shù)據(jù)量ADC采樣

光伏上拉弧檢測需要采集多路ADC通道實現(xiàn)FFT運算,采集數(shù)據(jù)量大,采樣頻率高

電能質量檢測需要采集多路電流電壓數(shù)據(jù)

ADC模塊中雖然有序列采樣DMA模式,但沒有序列模式DMA轉換完成中斷,需要通過HDMA實現(xiàn)轉換搬移,需要占用DMA通道。對于HPM67/63/62只有8個通道,會影響到其他應用使用DMA

LED顯示屏驅動

大屏LED顯示需要確定固定脈沖個數(shù)和相位

通常只能靠硬件指令控制延遲

本文以正交輸出脈沖和ADC序列采樣為例介紹QEI靈活計數(shù)功能

97394ade-e8aa-11ee-9118-92fbcf53809c.png

9742ee68-e8aa-11ee-9118-92fbcf53809c.png

QEI功能簡介

974b16ec-e8aa-11ee-9118-92fbcf53809c.png

支持A,B,Z,H四個信號輸入

輸入信號來自互聯(lián)管理器TRGM

來自TRGM的輸入輸出IO

來自其他片上模塊

多種計數(shù)方式

支持單相、兩相 (正交/上下/方向脈沖)方波輸入

多個計數(shù)器

相位計數(shù)器,即位置計數(shù)器

Z相計數(shù)器,即周數(shù)計數(shù)器測速計數(shù)器

測定A,B相信號保持特定狀態(tài)的時長,可反應電機轉速信息

位置匹配

支持位置進行匹配檢測。當電機運行到指定位置時,產(chǎn)生位置匹配標志事件

該事件可以觸發(fā)中斷,DMA 請求,也可以作為事件輸出

定時器計數(shù)器

32位,全局計數(shù)器

輸出固定脈沖原理

9754e532-e8aa-11ee-9118-92fbcf53809c.png

程序中使用了PWM、互聯(lián)管理器、QEI三個模塊

PWM負責輸出脈沖和通過故障輸入封鎖脈沖

互聯(lián)管理器負責實現(xiàn)模塊之間互聯(lián)

QEI負責脈沖計數(shù)和計數(shù)比較產(chǎn)生故障信號,用于封波控制

通過軟件配置,不需要額外中斷,內部連接不需要外部引腳連線

正交脈沖輸出的PWM配置

9758deda-e8aa-11ee-9118-92fbcf53809c.png

正交脈沖輸出配置

配置比較器值位于周期的1/4和3/4處

每個輸出都包含2個比較器,A相為比較器0、1,B相為比較器2、3

封波狀態(tài)

封波時輸出電平均為低

封波后需通過軟件恢復輸出

9760f016-e8aa-11ee-9118-92fbcf53809c.png

QEI脈沖輸入配置

配置比較輸出通道8作為內部輸出,與A、B脈沖輸出獨立,配置相位時更靈活

通過比較器配置可以選擇封波時刻

使能內部故障封波

使能內部故障0作為封波信號

禁止硬件恢復脈沖輸出

正交脈沖輸出的QEI配置

976d8876-e8aa-11ee-9118-92fbcf53809c.png

QEI模式

設置為方向+脈沖模式

脈沖計數(shù)時是上下沿同時計數(shù),即單個脈沖計兩次

禁止Z信號復位相位計數(shù)器

使能位置匹配功能

使能位置匹配功能,并允許匹配事件輸出

正交脈沖輸出的互聯(lián)管理器配置

97747d3e-e8aa-11ee-9118-92fbcf53809c.png

互聯(lián)管理器功能

多路復選器(MUX)陣列

支持多個輸入和多個輸出

每個輸出都可以單獨配置,從眾多輸入中選擇

輸入信號數(shù)字濾波器

輸出信號極性取反

信號邊沿到脈沖轉換

DMA 請求管理,管理 PWMT,QDEC 和 HALL 的 DMA 請求

互聯(lián)管理器配置

關聯(lián)PWM 8通道輸出至QEI脈沖輸入

禁止QEI的Z信號和方向信號

關聯(lián)QEI事件輸出至PWM故障信號0

設置輸出脈沖個數(shù)

977c2b6a-e8aa-11ee-9118-92fbcf53809c.png

PWM設置

停止PWM模塊,復位時基

根據(jù)方向配置A、B相輸出相位

軟件恢復PWM輸出

恢復PWM時需注意:GCR寄存器的FAULTCLR寫1后,故障清除;隨后需要把FAULTCLR位清0,否則再下一次故障發(fā)生后,當故障消除后PWM還會自動恢復

啟動PWM

QEI配置

復位QEI計數(shù)器

配置計數(shù)比較器,考慮QEI為上下沿計數(shù),配置計數(shù)值為:計數(shù)值*2-1

開啟計數(shù)

正交脈沖輸出波形

97826fb6-e8aa-11ee-9118-92fbcf53809c.png

上圖是正交脈沖輸出的波形

棕色是A相輸出、灰色是B相輸出、紅色是QEI計數(shù)事件

程序設置為輸出10個脈沖、正轉

不增加中斷需求,減少軟件開銷

ADC序列模式中DMA連續(xù)轉換

9786557c-e8aa-11ee-9118-92fbcf53809c.png

程序中使用了PWM、互聯(lián)管理器、ADC、QEI四個模塊

PWM負責定時輸出脈沖

互聯(lián)管理器負責實現(xiàn)模塊之間互聯(lián)

ADC啟動序列DMA轉換,最多轉換4906個數(shù)據(jù)

QEI負責脈沖計數(shù)并產(chǎn)生計數(shù)比較中斷,中斷切換DMA存儲地址

選用ADC內部DMA,不占用HDMA通道

ADC序列模式中DMA連續(xù)轉換代碼

978b8da8-e8aa-11ee-9118-92fbcf53809c.png

PWM、互聯(lián)管理器、QEI配置與前文相似

在QEI匹配中斷中切換DMA目標地址

無論是通過HDMA還是ADC內部DMA,在完成大數(shù)據(jù)量轉換后都需要進入中斷快速處理,QEI+ADC序列模式并不增加額外中斷需求

切換內部DMA目標地址時,需要復位內部DMA位;否則周期(Cycle)位將無法正確顯示當前轉換

總結

QEI可以實現(xiàn)更靈活的計數(shù),并產(chǎn)生相應的計數(shù)事件匹配。

互聯(lián)管理器的內部互聯(lián)更加自由,不占用外部引腳,可以產(chǎn)生中斷或內部事件。

PWM模塊包含多個比較器,可以實現(xiàn)多相位輸出脈沖,控制更靈活、相位精度更高。

通過多種組合用戶可以根據(jù)實際應用實現(xiàn)更多功能。

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

    關注

    146

    文章

    16667

    瀏覽量

    347778
  • 電源控制
    +關注

    關注

    2

    文章

    134

    瀏覽量

    26529
  • QEI
    QEI
    +關注

    關注

    0

    文章

    8

    瀏覽量

    11670
收藏 人收藏

    評論

    相關推薦

    ITECH IT9500電源自動測試系統(tǒng) 讓電源測試更靈活

    艾德克斯IT9500電源自動測試系統(tǒng)為新一代的電源自動測試方案,為各種電源的生產(chǎn)和使用企業(yè)所設計,讓電源測試更靈活。
    發(fā)表于 05-07 14:50 ?1989次閱讀

    M467可以對QEI計數(shù)進行清零嗎?

    請問M467可以對QEI計數(shù)進行清零嗎? EQEI_GET_CNT_VALUE(EQEI0) 例如 對于這個獲取到的數(shù)據(jù)。
    發(fā)表于 01-16 06:56

    關于ARM的QEI增量編碼器

    () / 100); //dt = 10ms QEIVelocityConfigure(QEI1_BASE, QEI_VELDIV_1, SysCtlClockGet() / 100); //dt = 10ms}我看設置了,沒有正反計數(shù)
    發(fā)表于 05-18 15:06

    沒有找到最大的QEI

    您好,我在QCY32 EP256MC506的MCLV2卡上使用QEI。我用Matlab編程我的微控制器,我沒有找到最大的QEI率。我使用4096行的編碼器。在低速,大約1000 rPM,我的控制
    發(fā)表于 03-25 10:05

    Numaker-IoT-M487 QEI控制器測評總結

    脈沖計數(shù)器 (QEI_CNT)? 1 個 32 位的軟件鎖存正交編碼脈沖計數(shù)器保存寄存器 (QEI_CNTHOLD)? 1 個 32 位的正交編碼脈沖
    發(fā)表于 06-10 14:29

    對NuMaker-M2354開發(fā)板的正交編碼器QEI模塊進行測試

    );rt_thread_mdelay(500);}5.結果由于手邊沒有電機等可用于QEI測量的設備,只能手動模擬給PD10、PD11脈沖信號,通過仿真看了QEI_CNT寄存器,確實能夠實現(xiàn)計數(shù)6.心得
    發(fā)表于 06-29 11:23

    PIC33EP系列QEI模塊初始化問題

    QEI1CONbits.CCM = 0x00;//選擇正交編碼器接口 (x4 模式)計數(shù)模式QEI1IOCbits.FLTREN = 1;//使能輸入引腳數(shù)字濾波器QEI1IOCbit
    發(fā)表于 07-07 20:12

    使用EPWM模擬QEI波形

    應用: 本代碼使用 EPWM 模擬 QEI 波形 。 BSP 版本: NUC442/472 Series BSP CMSIS v3.02.001 硬件
    發(fā)表于 08-31 08:09

    如何巧用松香

    如何巧用松香
    發(fā)表于 09-14 16:20 ?1275次閱讀
    如何<b class='flag-5'>巧用</b>松香

    巧用單面敷銅板

    巧用單面敷銅板
    發(fā)表于 09-15 16:09 ?748次閱讀
    <b class='flag-5'>巧用</b>單面敷銅板

    巧用手表電池

    巧用手表電池
    發(fā)表于 09-15 16:17 ?1308次閱讀
    <b class='flag-5'>巧用</b>手表電池

    QEI測速

    QEI測速,資料有需要的朋友可以下來看看。
    發(fā)表于 05-05 11:37 ?14次下載

    SmartCortex_M3-1700配套例程-基礎例程-QEI

    SmartCortex_M3-1700配套例程-基礎例程-QEI
    發(fā)表于 07-14 16:36 ?12次下載

    如何推進發(fā)展更靈活的AI系統(tǒng)

    機器人技術為推進人工智能提供了重要機會,因為教機器獨立學習將有助于在其他場景中開發(fā)更有能力和更靈活的AI系統(tǒng)。
    發(fā)表于 07-18 10:09 ?445次閱讀

    腿+輪式動力!瑞士四足機器人展示最佳混合步態(tài)、運動更靈活

    腿+輪式動力!瑞士四足機器人ANYmal展示最佳混合步態(tài),運動更靈活,機器人,四足機器人,步態(tài),輪子,車輪
    發(fā)表于 02-20 13:44 ?2408次閱讀
    腿+輪式動力!瑞士四足機器人展示最佳混合步態(tài)、運動<b class='flag-5'>更靈活</b>