試玩PIC12F675單片機(jī)手記
一直想玩單片機(jī)卻苦于找不到合適的入門機(jī)會(huì),對(duì)于業(yè)余愛(ài)好者,興趣是最好的老師,啃書(shū)本只能解解饞,要真刀真槍的動(dòng)手實(shí)踐還是需要合適的題材。音響中的電子音量控制玩了不少,TC9153、TDA1524、TA7630、LM1036、LM4610、M51132……,更高級(jí)的,用于專業(yè)音響的,國(guó)內(nèi)為人熟悉的不外乎CS3310、PGA2311以及高電壓版本的PGA2310,非常巧的是,這三者的引腳也是兼容的,只是它們需要單片機(jī)來(lái)進(jìn)行控制,專業(yè)音響大都是系統(tǒng)控制而非僅僅進(jìn)行音量控制,控制電路都比較復(fù)雜,對(duì)于一個(gè)單片機(jī)門外漢來(lái)說(shuō),難度太大。因此雖然對(duì)它們心儀已久,卻一直沒(méi)有動(dòng)手捉刀的機(jī)會(huì)。
圖1 iraudamp5 評(píng)估板及其音量控制
有一天,在欣賞IR(InternationaRectifier,國(guó)際整流器)公司的雙聲道D類功率放大器(iraudamp5)時(shí),無(wú)意間發(fā)現(xiàn)評(píng)估板上竟然有CS3310。仔細(xì)研究發(fā)現(xiàn),音量控制是一個(gè)單聯(lián)電位器,通過(guò)一個(gè)雙列直插的8腳IC對(duì)CS3310進(jìn)行控制,型號(hào)是3310S06S,如圖1所示。
急忙查找3310S06S的資料,發(fā)現(xiàn)這個(gè)IC是日本的一個(gè)公司開(kāi)發(fā)的,公司的英文名稱是Tachyonix,不但生產(chǎn)控制CS3310及其引腳兼容的控制IC,還有控制歐勝公司的WM8816的IC,型號(hào)是8816S06,基本思路都是利用集成ADC(Analog Digital Converter,模擬/數(shù)字轉(zhuǎn)換器)的單片機(jī)把數(shù)字控制方式變?yōu)槟M電壓控制,即電子音量控制。用簡(jiǎn)單的方法單獨(dú)對(duì)這些高素質(zhì)的音量控制IC進(jìn)行控制,雖然功能簡(jiǎn)單,但是對(duì)發(fā)燒友來(lái)說(shuō),卻是非常適合的,這個(gè)方法也正是筆者所夢(mèng)寐以求的。然而遺憾的是,這個(gè)公司的產(chǎn)品目前還只能從日本購(gòu)買。圖2是3310S06S的一般應(yīng)用電路原理圖,圖3是5.1聲道音量控制的電路板實(shí)物。CS3310都可以直接并聯(lián)用于兩聲道以上的控制,因此一片控制IC可以同時(shí)對(duì)多個(gè)數(shù)字音量IC進(jìn)行控制,要分別進(jìn)行獨(dú)立控制,則需要多片控制IC。
圖2 3310S06S的一般應(yīng)用電路原理圖
圖3 3310S06S的5.1聲道音量控制板實(shí)物
就在筆者倍感失望時(shí),無(wú)意間看到了幾位日本發(fā)燒友采用單片機(jī)控制上述數(shù)字音量IC的實(shí)驗(yàn)報(bào)告,并且有相應(yīng)的軟件代碼和源文件,單片機(jī)是Microchip(微芯科技)公司的,型號(hào)包括PIC12F675、PIC12F683等。這些單片機(jī)的共同特點(diǎn)是集成了ADC(模擬/數(shù)字轉(zhuǎn)換器),設(shè)計(jì)思路和上文提到的Tachyonix公司可謂是異曲同工,控制電路也一樣的簡(jiǎn)單,因?yàn)榭梢杂猛ㄓ脝纹瑱C(jī),制作成本和難度都大大下降,剛好筆者手頭有PIC12F675,馬上重點(diǎn)研究了幾位日本發(fā)燒友用此單片機(jī)進(jìn)行的相關(guān)實(shí)驗(yàn),最后選擇了一位發(fā)燒友的制作,照貓畫(huà)虎,一做即成,不敢獨(dú)占,寫出來(lái)與大家共享。
圖4是筆者選定的一位日本發(fā)燒友的實(shí)驗(yàn)電路并成功仿制的實(shí)用控制電路,單片機(jī)選用的是Microchip公司的PIC12F675,采用CMOS工藝生產(chǎn)的8位6端口RISC(精簡(jiǎn)指令集)單片機(jī),集成了10位4通道的ADC和1K字節(jié)的Flash ROM。
圖4電路同樣適用于PGA2311和CS3310,只需要將模擬電源電壓變?yōu)椤?V即可。PIC12F675有6個(gè)I/O,GP0~GP5,GP0~GP2用于PGA2310的串行通信,GP0是片選(CS),GP1是數(shù)據(jù)(SDI),GP2是SCLK(時(shí)鐘),GP3是電源檢測(cè),高電平有效,即只有GP3被置于高電平時(shí),PIC12F675才會(huì)開(kāi)始工作,GP4是電子音量控制端,輸入0~5V電平經(jīng)過(guò)內(nèi)部A/D轉(zhuǎn)換,進(jìn)行數(shù)字音量控制,GP5是靜音控制輸出。與圖1電路相比,圖3電路增加了電源檢測(cè)功能,如果電源不正常,這一部分電路不會(huì)正常工作。電源檢測(cè)信號(hào)可以來(lái)自系統(tǒng)的前級(jí),也可以來(lái)自系統(tǒng)的后級(jí),系統(tǒng)應(yīng)用電路圖如圖5所示。
圖4 PIC12F675控制PGA2310的實(shí)用電路
圖5 PIC12F675+PGA2311的系統(tǒng)應(yīng)用簡(jiǎn)圖
圖5中,功放輸出端與揚(yáng)聲器之間的繼電器控制信號(hào)由PIC12F675供,即圖4中的靜音控制(GP5)配合電源檢測(cè)端子的控制功能,揚(yáng)器保護(hù)電路可用本電路替代。實(shí)現(xiàn)圖4控制功能的源代碼是筆者從日本發(fā)燒友的博客上下載的,源程序的注釋是日文的,源程序的作者沒(méi)有對(duì)PGA2311使用默認(rèn)的控制范圍:-95.5~+31.0dB,而是使用了正增益比較低的范圍:-95.5~+3.0dB,這樣也許更符合我們的使用習(xí)慣,對(duì)于傳統(tǒng)的電位器,是不會(huì)有正增益的,只是衰減,有正增益的好處是可以省略前置放大器,缺點(diǎn)是很容易帶來(lái)噪聲,尤其是靜態(tài)噪聲。筆者試著將日文注釋翻譯成了中文,讀者可到《無(wú)線電》雜志網(wǎng)站(www.radio.com.cn)上下載源程序和編譯好的HEX文件。
筆者使用的燒錄工具是Microchip公司提供的PICk i t1,型號(hào)是BN-DV164101,軟件是PICKit1 Classic,軟件版本是1.70.0,固件版本是1.0.0,軟件的操作主界面如圖6所示,燒錄工具實(shí)物如圖7所示,圖中IC插座上的8腳IC就是PIC12F675。
圖6 燒錄軟件PICKit1 Classic的操作界面 圖7 工作中的燒錄工具PICkit1 燒錄軟件可以從Microchip公司的網(wǎng)站或者該公司在國(guó)內(nèi)代理公司的網(wǎng)站下載。燒錄工具則可以從Microchip公司的國(guó)內(nèi)代理購(gòu)買或者用你手中任意一款支持燒錄PIC12F675的編程器。還有一個(gè)簡(jiǎn)單的方法是到當(dāng)?shù)氐碾娔X市場(chǎng),有寫片服務(wù)的商家一般都是可以寫PIC12F675的,因?yàn)樗潜容^通用的單片機(jī)。 控制片子寫好了,實(shí)際的硬件電路其實(shí)是非常簡(jiǎn)單的,這可能讓我們這些慣于用硬件來(lái)實(shí)現(xiàn)電路功能的愛(ài)好者有些不太習(xí)慣,專業(yè)水準(zhǔn)的電子音量控制電路,這么簡(jiǎn)單么?的確是,實(shí)物如圖8所示,除了4個(gè)CBB電容是輸入/輸出耦合的,其他的是電源退耦電容。筆者是用實(shí)驗(yàn)板搭的電路,開(kāi)始的想法只是想體驗(yàn)一下PGA2311的魅力,沒(méi)有用什么補(bǔ)品元件。然而搭好電路一聽(tīng),幾乎馬上改變了注意,要把它作為一個(gè)真正的音量控制器來(lái)用了。如果把這個(gè)簡(jiǎn)陋的電路板裝入一個(gè)考究的機(jī)箱中,絕不會(huì)有人能猜出這樣的聲音表現(xiàn)竟然是從一塊如此簡(jiǎn)陋的電路板上獲得的。 圖8 用實(shí)驗(yàn)板搭建的PIC12F675控制PGA2311的電路實(shí)物 圖9 TI公司推薦的電路布局示意圖 |
實(shí)驗(yàn)中遇到了源程序作者遇到的問(wèn)題,在沒(méi)有音頻信號(hào)輸入時(shí),電位器轉(zhuǎn)動(dòng)到某一特定位置,會(huì)有類似輕度自激一樣的噪聲產(chǎn)生,在筆者的實(shí)驗(yàn)板上,產(chǎn)生噪聲的位置大概是電位器轉(zhuǎn)到三分之一到二分之一行程時(shí),也就是9點(diǎn)鐘到12點(diǎn)鐘的位置之間。源程序的作者使用了比較正式的印制板,由此推斷可能和布線的關(guān)系不大,而是軟件所致,好在對(duì)使用影響很小。
筆者還遇到了另一個(gè)問(wèn)題,本底靜態(tài)噪聲不太理想,經(jīng)過(guò)尋找,發(fā)現(xiàn)是從輸入端感應(yīng)的噪聲,包括輸入端的電容和PGA2311的輸入端附近,輸入輸出不連接線,音量調(diào)到最大,手距離輸入電容3~5cm遠(yuǎn),即能感受到靜態(tài)噪聲的增加,這或許是實(shí)驗(yàn)板布線的局限性造成的,筆者只好用大塊的銅皮把它們屏蔽起來(lái),如圖10所示,才算是解決了問(wèn)題。因?yàn)橄腴L(zhǎng)期用它,最后加入了有7805和7905組成的穩(wěn)壓電源給PGA2311的模擬電路供電,數(shù)字電路單獨(dú)供電,實(shí)際試聽(tīng),與先前相比,聲音又清晰了不少,等有了機(jī)會(huì),筆者下決心要做一個(gè)正式的電路板出來(lái),像日本的發(fā)燒友那樣,把PGA2311的潛力更多地挖出來(lái)。
圖10 已做屏蔽處理的輸入電容和IC
51單片機(jī)相關(guān)文章:51單片機(jī)教程
pa相關(guān)文章:pa是什么
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
評(píng)論