作者:Marian Hryntsiv,?Dialog半導體公司(瑞薩全資子公司)文檔工程師
簡介
很多應用在其用戶控制界面中采用機械電位計。我們可以將這些機械電位計換成更新且可靠的編碼器控制元件和數字變阻器,它們是改變信號電氣參數的組件。
本文中,我們使用了GreenPAK? SLG47004。它是該項目的絕佳選擇,因為其電路結合了兩個數字變阻器和可配置邏輯來處理編碼器信息。這種組合可實現許多設計:穩壓電源、具有可調增益的放大器等。此外,數字邏輯可確定編碼器的旋轉速度。這種方法如圖1所示。
圖1
1. 系統概述
圖2顯示了基于SLG47004的內部電路設計。
圖2:GreenPAK?Designer項目
在基于GUI的免費軟件GreenPAK Designer中創建的完整設計文件可從以下鏈接下載。
https://www.dialog-semiconductor.com/sites/default/files/2021-08/AN-CM-320_PotenTIometer_Controlled_by_an_Encoder.zip
增量編碼器產生A和B輸出信號,用于改變數字變阻器的電阻。變阻器形成電位計,并實現可調分壓器來調節輸出電壓。
在任何時候,A和B信號之間的相位差為正或負,取決于編碼器的運動方向。
速度由頻率檢測器、One-Shots和多路復用器構成。
本文中,我們使用了EC11編碼器。由于開關切換抖動,編碼器會產生嘈雜的輸出振蕩。為了消除這種噪音,我們采用了2毫秒的延遲。請注意,此延遲針對EC11編碼器進行了調整(根據其數據表)。對于其他編碼器,應該相應地評估延遲值。
2. 功能塊架構
2.1. 數字邏輯說明
2.1.1. 確定編碼器方向
首先,延遲宏單元將編碼器輸出信號的兩個邊沿延遲2毫秒。延遲宏單元起到抗尖峰脈沖濾波器的作用,可消除開關切換抖動。濾波后的信號B出現在One-Shots和頻率檢測器的宏單元輸入端子,以及DFF的CLK輸入端子上。濾波后的信號A出現在DFF的D輸入端子上。當編碼器碼盤順時針方向旋轉時,信號A超前信號B,DFF輸出為高電平;當編碼器碼盤逆時針方向旋轉時信號B超前信號A,DFF輸出低電平。所以DFF可以判斷旋轉的方向。變阻器上升/下降控制端子上的高或低信號決定了內部計數器對于CLK輸入端子上的每個脈沖是進行增加計數還是減少計數。
編碼器順時針旋轉的時序圖如圖3所示,編碼器逆時針旋轉的時序圖如圖4所示。
圖3:編碼器順時針旋轉的時序圖
圖4:編碼器逆時針旋轉的時序圖
2.1.1.確定編碼器速度
SLG47004具有10-bit數字變阻器,從而允許實施1024個調節步驟。可調分壓器有3種調節模式。用戶可以用step = 1個數字代碼(模式1)、step = 10個數字代碼(模式2)和step = 100個數字代碼(模式3)共三種不同的步長來改變輸出信號。采用了2個頻率檢測器以實現3種模式。第一種模式用來平滑準確地調整輸出信號。當用戶用小于10 Hz的頻率調整旋鈕時,會激活第一種模式。當頻率在大于10 Hz小于25 Hz時激活第二種模式。頻率大于25 Hz時激活第三種模式。
One-Shots為所需的脈沖數設置時間間隔。
根據頻率檢測器的輸出,來決定數字多路復用器傳遞到變阻器的CLK輸入端的脈沖數量是1個、10個或100個脈沖。
2.1.2. 每轉的制動和脈沖數
該項目中使用了具有不同脈沖數和制動(位置)/阻尼點的編碼器。對于15個脈沖,每個完整脈沖有兩個制動/阻尼點。這意味著對于旋轉編碼器中的每個脈沖(或周期),都有兩個制動/阻尼點:脈沖的上升沿(一次變化)和脈沖的下降沿(另一次變化)。如果您的旋轉編碼器每個脈沖有一個制動/阻尼點,那么每個脈沖有兩次變化。對于這種類型的編碼器,設計保持不變,除了頻率檢測器和One-Shots設置。他們的設置中,Edge Select應設置為“Falling”或“Rising”。在脈沖數和制動數不匹配的編碼器中,Edge Select應設置為“Both”。
2.2. 電位計模式
對于此設計,我們使用了數字變阻器的電位計模式。該模式允許將兩個2引腳變阻器組合配置為一個3引腳電位計一樣來工作。當此模式啟用時(寄存器?[917] = 1),用戶只需要更改RH0內部計數器的值即可。在這種模式下,RH1計數器的值是電位計總計數值(1023)減去RH0計數器值后所得的數值。請注意RH0_B引腳和RH1_A引腳必須外部短接在一起。
2.3. 宏單元設置
下表顯示了3-bit LUT1和3-bit LUT3設置:標準邏輯門–多路復用器。
圖5a:數字變阻器設置
圖5b:數字變阻器設置
圖6a:延遲/濾波設置
圖6b:延遲/濾波設置
圖7a:脈沖數與制動數不匹配時的One Shots設置
圖7b:脈沖數與制動數不匹配時的One Shots設置
圖8a:脈沖數與制動數匹配時的One Shots設置
圖8b:脈沖數與制動數匹配時的One Shots設置
圖9a:脈沖數和制動數不匹配時的頻率檢測器設置
圖9b:脈沖數和制動數不匹配時的頻率檢測器設置
圖10a:脈沖數和制動數匹配時的頻率檢測器設置
圖10b:脈沖數和制動數匹配時的頻率檢測器設置
總結
SLG47004有兩個數字變阻器,可以實現眾多有用的應用。一個典型的例子是結合現代編碼器使用數字變阻器代替模擬電位計。本文說明了如何使用SLG47004實現可調分壓器,它是一種通用解決方案,可應用于可調電源、放大器的增益控制等。該解決方案具有成本效益且能耗低。