基于單片機的數字電位器設計
人耳對聲強的主觀感受遵循韋伯定律(Webber's Law),在音量較小時人耳對聲波振幅的改變感受靈敏,聲音達到一定響度后,人耳的聽覺特性開始變得遲鈍。而指數型電位器的阻值變化規(guī)律為先慢后快,如果將這種衰減特性用在音量調節(jié)中,則恰好可以抵消人耳對音量感知的對數特性,保證主觀聽感的平滑。
與傳統(tǒng)的機械式音量電位器相比,數字電位器(DCP)的阻值調節(jié)由內部CMOS開關控制,因而使用壽命長、可靠性高且不會產生機械噪聲;如果將廉價的通用型線性數字電位器直接用于音量調節(jié),在小音量狀態(tài)下稍微調節(jié)電位器即會使輸出聲壓陡然增加,無法保證大動態(tài)范圍內音量的準確定位,因此目前將數字式電位器運用在成熟功放產品中的實例還不多。實際上,如果將低分辨率線性數字電位器與通用嵌入式系統(tǒng)結合起來,就能夠得到運用于音量控制領域的低成本高分辨率指數式電位器。
總體設計方案
在數字電位器的擴展系統(tǒng)中,主控單元可選用常見的8位或16位成熟單片機。這里我們主要針對Intersil公司的低分辨率線性數字電位器X9313、X9312進行擴展,系統(tǒng)最終能夠達到的實際分辨率為31×99=3069級;如果把32抽頭的X9313全部更換為X9312,分辨率還可以進一步提高至9801級。
X9313與X9312這兩種DCP均為三線制接口、帶掉電自動保存功能的非易失性數字電位器,其內部分別包含31、99個電阻單元構成的電阻陣列,相鄰兩個電阻單元以及電阻陣列端點都設置有可以被滑動單元訪問的抽頭,如圖1所示。滑動單元的位置由CS、U/D和INC三個輸入端控制,抽頭位置值能夠被存儲在非易失性存儲器中,供下次上電時調用置位。
圖1 X931x系列DCP的內部結構
系統(tǒng)的每個聲道的音量控制由兩個X9313與一個X9312構成,圖2為三個數字電位器的功能連接圖。所有DCP的U/D、INC端分別連接在一起,而片選端CS各自占用一個MCU端口。這種硬件連接方式能夠很容易地實現(xiàn)四聲道乃至更多聲道的音量控制。為了與常見的數字式音量調整習慣一致,最好不要保留通用DCP的三鍵式控制方式,而只需設置UP/DOWN兩組按鍵直接控制音量的增減。UP/DOWN按鍵與MCU的連接應設置軟件延時的去抖算法,以消除按鍵輸入時的抖動,MCU與DCP之間則不再考慮按鍵抖動。
圖2 系統(tǒng)連接示意圖
評論