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

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

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

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

331062281 ? 來源:先楫半導(dǎo)體HPMicro ? 2024-03-22 17:30 ? 次閱讀

HPM67/63/62系列中幾個常見應(yīng)用需求

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

伺服應(yīng)用中需要輸出正交的固定脈沖反饋當(dāng)前運動位置

步進電機控制應(yīng)用需要MCU輸出指定脈沖個數(shù),配置運行步長

常規(guī)方法是配置PWM或GPTIMER,在每個脈沖輸出后在中斷中計數(shù),最后軟件封波

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

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

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

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

LED顯示屏驅(qū)動

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

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

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

87a849bc-e7f6-11ee-a297-92fbcf53809c.png

87b19ca6-e7f6-11ee-a297-92fbcf53809c.png

QEI功能簡介

88d9e44e-e7f6-11ee-a297-92fbcf53809c.png

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

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

來自TRGM的輸入輸出IO

來自其他片上模塊

多種計數(shù)方式

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

多個計數(shù)器

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

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

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

位置匹配

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

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

定時器計數(shù)器

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

輸出固定脈沖原理

88e70f20-e7f6-11ee-a297-92fbcf53809c.png

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

PWM負(fù)責(zé)輸出脈沖和通過故障輸入封鎖脈沖

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

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

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

交脈沖輸出的PWM配置

88eb03c8-e7f6-11ee-a297-92fbcf53809c.png

正交脈沖輸出配置

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

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

封波狀態(tài)

封波時輸出電平均為低

封波后需通過軟件恢復(fù)輸出

88fd8dfe-e7f6-11ee-a297-92fbcf53809c.png

QEI脈沖輸入配置

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

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

使能內(nèi)部故障封波

使能內(nèi)部故障0作為封波信號

禁止硬件恢復(fù)脈沖輸出

正交脈沖輸出的QEI配置

89012414-e7f6-11ee-a297-92fbcf53809c.png

QEI模式

設(shè)置為方向+脈沖模式

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

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

使能位置匹配功能

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

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

890febac-e7f6-11ee-a297-92fbcf53809c.png

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

多路復(fù)選器(MUX)陣列

支持多個輸入和多個輸出

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

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

輸出信號極性取反

信號邊沿到脈沖轉(zhuǎn)換

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

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

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

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

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

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

891ab08c-e7f6-11ee-a297-92fbcf53809c.png

PWM設(shè)置

停止PWM模塊,復(fù)位時基

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

軟件恢復(fù)PWM輸出

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

啟動PWM

QEI配置

復(fù)位QEI計數(shù)器

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

開啟計數(shù)

正交脈沖輸出波形

8931bde0-e7f6-11ee-a297-92fbcf53809c.png

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

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

程序設(shè)置為輸出10個脈沖、正轉(zhuǎn)

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

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

893da16e-e7f6-11ee-a297-92fbcf53809c.png

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

PWM負(fù)責(zé)定時輸出脈沖

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

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

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

選用ADC內(nèi)部DMA,不占用HDMA通道

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

89411024-e7f6-11ee-a297-92fbcf53809c.png

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

在QEI匹配中斷中切換DMA目標(biāo)地址

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

切換內(nèi)部DMA目標(biāo)地址時,需要復(fù)位內(nèi)部DMA位;否則周期(Cycle)位將無法正確顯示當(dāng)前轉(zhuǎn)換

總結(jié)

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

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

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

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




審核編輯:劉清

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

    關(guān)注

    98

    文章

    6391

    瀏覽量

    543757
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2253

    瀏覽量

    94278
  • LED顯示
    +關(guān)注

    關(guān)注

    0

    文章

    359

    瀏覽量

    37979
  • 電機轉(zhuǎn)速
    +關(guān)注

    關(guān)注

    0

    文章

    62

    瀏覽量

    11305
  • 觸發(fā)中斷
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6556
  • ADC采樣
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    12818

原文標(biāo)題:經(jīng)驗分享 | 巧用QEI,計數(shù)更靈活

文章出處:【微信號:HPMicro,微信公眾號:先楫半導(dǎo)體HPMicro】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    LM3S9B92如何配置模塊A B正交計數(shù)模式?

    TILM3S 系列芯片部分含有編碼器(QEI) 模塊,使用時配置芯片 如 LM3S9B92時,代碼庫里沒有說如何在計數(shù)模式如何配置模塊A ,B 正交 計數(shù)模式。 QEIConfigur
    發(fā)表于 04-10 10:19

    正交編碼器原理什么是正交?

    ,TI1超前TI2 90度時,向上計數(shù);TI2超前TI1 90度時,向下計數(shù)。編碼器的應(yīng)用很多,最常用的就是電機測速,以及各種儀器上的旋鈕等。2.STM32CubeMX配置STM32F103C8T6
    發(fā)表于 01-10 08:04

    Numaker-IoT-M487 QEI控制器測評總結(jié)

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

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

    任務(wù)新唐 NuMaker-M2354正交編碼器QEI模塊3.資源介紹翻閱新唐M2354數(shù)據(jù)手冊查看新唐開發(fā)板原理圖及數(shù)據(jù)手冊,PD10、PD11、PD12空閑,配置
    發(fā)表于 06-29 11:23

    應(yīng)用筆記(三)| 運用DMA 功能實現(xiàn)高級定時器和ADC 的同步觸發(fā)采樣

    ATIM 的通道 1~3 比 較 / 捕獲寄存器 B 中任意一個寄存器設(shè)定 ADC采樣時刻,這些操作都可以由硬件自動完成,減輕了 CPU 的工作量。采樣 AIN0~AIN3 這
    發(fā)表于 07-08 17:02

    定時器的正交譯碼器功能介紹

    本期內(nèi)容來介紹一下定時器的正交譯碼器功能(編碼器接口)。正交譯碼器是和正交編碼器外設(shè)配合使用的,可對編碼器輸入的
    發(fā)表于 08-16 06:46

    介紹PSD6XX的用途和PSD611采樣設(shè)計

    介紹PSD6XX的用途和PSD611采樣設(shè)計
    發(fā)表于 05-13 13:19 ?18次下載
    <b class='flag-5'>介紹</b>PSD6XX的用途和<b class='flag-5'>以</b>PSD611<b class='flag-5'>為</b><b class='flag-5'>例</b>的<b class='flag-5'>采樣</b>設(shè)計

    基于VHDL的正交編碼脈沖電路解碼計數(shù)器設(shè)計

    針對正交編碼脈沖電路脈沖(quadratureencoderpulse,QEP)的解碼和計數(shù)的問題,給出了QEP解碼計數(shù)器的解決方案.本方案
    發(fā)表于 03-01 16:36 ?98次下載

    脈沖序列檢波器和計數(shù)器電路圖

    脈沖序列檢波器和計數(shù)器電路圖
    發(fā)表于 07-02 13:07 ?805次閱讀
    <b class='flag-5'>脈沖序列</b>檢波器和<b class='flag-5'>計數(shù)</b>器電路圖

    英創(chuàng)信息技術(shù)ESM335x Linux輸出脈沖計數(shù)介紹

    停止PWM輸出,由于系統(tǒng)響應(yīng)延遲,使用輸出脈沖計數(shù)功能時最高頻率不應(yīng)超過100KHz。本文將介紹Linux系統(tǒng)下
    的頭像 發(fā)表于 02-04 10:47 ?1201次閱讀
    英創(chuàng)信息技術(shù)ESM335x Linux<b class='flag-5'>輸出</b><b class='flag-5'>脈沖計數(shù)</b><b class='flag-5'>介紹</b>

    ADC對連續(xù)外部信號進行采樣的概念和用法-M031/M032

    ADC對連續(xù)外部信號進行采樣的概念和用法-M031/M032
    的頭像 發(fā)表于 08-10 16:21 ?915次閱讀
    <b class='flag-5'>ADC</b>對連續(xù)外部信號進行<b class='flag-5'>采樣</b>的概念和用法-<b class='flag-5'>以</b>M031/M032<b class='flag-5'>為</b><b class='flag-5'>例</b>

    如何使用網(wǎng)絡(luò)IO的脈沖計數(shù)脈沖輸出功能?

    一適用型號該筆記適用于ME31系列、MA01系列等IO設(shè)備,其中脈沖計數(shù)需要IO設(shè)備具有輸入檢測(即,DI輸入)功能脈沖輸出需要具有開關(guān)量輸出
    的頭像 發(fā)表于 09-08 08:22 ?1300次閱讀
    如何使用網(wǎng)絡(luò)IO的<b class='flag-5'>脈沖計數(shù)</b>和<b class='flag-5'>脈沖</b><b class='flag-5'>輸出</b><b class='flag-5'>功能</b>?

    脈沖和連續(xù)的時鐘信號有什么區(qū)別?

    ,這篇文章將會詳細(xì)介紹它們之間的差異。 單脈沖時鐘信號是指在短時間內(nèi)一定的速率發(fā)生較短、高速峰值的脈沖信號。它們通常用于時序控制,計數(shù)和精
    的頭像 發(fā)表于 09-15 16:28 ?1822次閱讀

    脈沖信號和單位采樣序列有何區(qū)別?

    脈沖信號和單位采樣序列有何區(qū)別? 脈沖信號和單位采樣序列是數(shù)字信號處理中兩個重要的概念。在本文中
    的頭像 發(fā)表于 02-06 09:25 ?1465次閱讀

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

    應(yīng)用需求輸出固定個數(shù)的脈沖伺服應(yīng)用中需要輸出正交的固定脈沖反饋當(dāng)前運動位置步進電機控制應(yīng)用需要MCU輸出
    的頭像 發(fā)表于 03-23 08:16 ?1857次閱讀
    巧用<b class='flag-5'>QEI</b>,<b class='flag-5'>計數(shù)</b>更<b class='flag-5'>靈活</b>