內(nèi)含CalmRISC CPU的8位單片機(jī)S3CK215及其應(yīng)用
摘要:C3CK215是韓國(guó)三星公司生產(chǎn)的8-bit單片機(jī)芯片,它使用CamRISC CPU作為核心,同時(shí)整合了LCD控制驅(qū)動(dòng)器、放大器以及A/D、D/A轉(zhuǎn)換器等功能單元。文中介紹了S3CK215的結(jié)構(gòu)特點(diǎn),給出了S3CK215在校音器設(shè)計(jì)中的具體應(yīng)用。
關(guān)鍵詞:CalmRISC;校音器;S3CK215
1 概述
?。樱常茫耍玻保凳琼n國(guó)三星公司生產(chǎn)的一種高性能微控制器,它采用三星公司新開(kāi)發(fā)的8-bit CPU╟╟CalmRISC作為核心。該芯片不僅包括有ROM、RAM、定時(shí)器、I/O接口以及中斷控制單元等模塊,還整合了LCD控制驅(qū)動(dòng)器、放大器以及A/D、D/A轉(zhuǎn)換器等非常有用的功能單元(比如LCD控制驅(qū)動(dòng)器可以直接驅(qū)動(dòng)高達(dá)120個(gè)點(diǎn)的LCD顯示屏)。由于這些單元拓展了該單片機(jī)的功能,因此,使用該單片機(jī)設(shè)計(jì)電路時(shí),只需附加簡(jiǎn)單的外部電路就可以構(gòu)成一個(gè)完整的單片機(jī)系統(tǒng),而且功耗低、體積小、系統(tǒng)可靠性高。此外,三星公司還為S3CK215的應(yīng)用提供了一套有效的開(kāi)發(fā)工具和在線仿真器,從而方便了設(shè)計(jì)者基于S3CK215的軟硬件設(shè)計(jì)。
本文介紹了使用S3CK215設(shè)計(jì)的校音器電路。該校音器在采集到樂(lè)器所產(chǎn)生的聲音信號(hào)后,可計(jì)算出聲音頻率,同時(shí)顯示其與理想頻率的偏差,然后以此作為樂(lè)器調(diào)整的依據(jù),使之發(fā)出標(biāo)準(zhǔn)聲音。
2?。樱常茫耍玻保到榻B
圖1是S3CK215的內(nèi)部結(jié)構(gòu)模塊圖。從圖1可以看出,該單片機(jī)具有以下特點(diǎn):
●使用CalmRISC作為中央處理單元;
●內(nèi)含八位乘法器;
●具有深度達(dá)16級(jí)的硬件堆棧,每級(jí)寬度為16-bit;
●帶有LCD驅(qū)動(dòng)控制器;
●具有10-bit A/D轉(zhuǎn)換器和9-bit D/A轉(zhuǎn)換器;
●內(nèi)含兩個(gè)運(yùn)算放大器。
2.1 CalmRISC處理器
?。茫幔欤恚遥桑樱檬侨枪拘麻_(kāi)發(fā)的一種8-bit低功耗RISC微處理器,它滿足哈佛體系結(jié)構(gòu),具有獨(dú)立的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,其指令和數(shù)據(jù)可以通過(guò)各自的路徑同時(shí)進(jìn)行訪問(wèn)。
?。茫幔欤恚遥桑樱玫膬?nèi)部結(jié)構(gòu)包括一個(gè)8-bit ALU、16個(gè)通用寄存器、11個(gè)專用寄存器、16級(jí)硬件堆棧以及程序存儲(chǔ)器地址生成單元以及數(shù)據(jù)存儲(chǔ)器地址生成單元等。其中16個(gè)通用寄存器分為四組(Bank 0-Bank 3),每組包括四個(gè)8-bit寄存器(R0, R1, R2, R3)。而專用寄存器包括狀態(tài)寄存器、鏈接寄存器以及數(shù)據(jù)存儲(chǔ)器索引寄存器。CalmRISC中的16級(jí)硬件堆棧除了可以作為數(shù)據(jù)暫存空間外,還可以用來(lái)進(jìn)行低功耗堆棧操作。
?。茫幔欤恚遥桑樱镁哂腥?jí)流水線。圖2所示是Calm-RISC處理器的三級(jí)流水線示意圖。對(duì)CalmRISC的操作可采用寄存器-存儲(chǔ)器指令集方式。操作時(shí)首先取指令(IF)并將程序計(jì)數(shù)器(PC)指向指令地址,接著將指令放入指令寄存器(IR),然后進(jìn)行指令譯碼和數(shù)據(jù)存儲(chǔ)器讀?。ǎ桑模停牛停?,同時(shí)執(zhí)行指令和回寫(xiě)(EXE/WB),最后由ALU來(lái)執(zhí)行指令并將指令執(zhí)行結(jié)果寫(xiě)入目標(biāo)寄存器。
?。茫幔欤恚遥桑樱貌捎昧魉€工作的示意圖如圖3所示。圖中,前一指令獲取完畢后馬上可以進(jìn)行下一指令的取指操作,而不必等到前一指令執(zhí)行完畢。實(shí)際上,大多數(shù)CalmRISC指令都是單字節(jié)指令,取指操作只需一個(gè)時(shí)鐘周期即可完成;但是 “CALL”和“JP”等跳轉(zhuǎn)指令是雙字節(jié)指令,它們的取指操作需要兩個(gè)時(shí)鐘周期。
2.2 8位乘法器
?。樱常茫耍玻保嫡狭艘粋€(gè)8-bit乘法器,通過(guò)設(shè)置乘法器控制寄存器(MULCON)可支持8-bit符號(hào)數(shù)或無(wú)符號(hào)數(shù)的乘法運(yùn)算,而且只需兩個(gè)時(shí)鐘周期即可輸出運(yùn)算結(jié)果。它的組成包括操作數(shù)寄存器(MXINPMYINP)、結(jié)果寄存器(MRHMRL)和8-bit乘法運(yùn)算器。調(diào)用乘法器實(shí)現(xiàn)乘法的程序段如下:
LD R0,#01H
LD MULCON,RO ; Unsigned by unsigned multiplication
LD R0,#32H
LD R1,#0CEH
LD MXINP,R0
LD MYINP,R1 ;Multiply automatically after loading MXINPMYINP
NOP
NOP
LD R2,MRH ;The multiplication is finished after 2 cycles
LD R3,MRL ;MRH/MRL=28H/3CH
2.3 運(yùn)算放大器
?。樱常茫耍玻保抵杏袃蓚€(gè)運(yùn)算放大器,MIC放大器和濾波放大器,一個(gè)用于從輸入信號(hào)中濾除噪聲以提高信號(hào)的信噪比,另一個(gè)用于輸入信號(hào)的放大,以便進(jìn)行后續(xù)的信號(hào)處理。當(dāng)然這些放大器可以根據(jù)用戶需要自行定義它們的用途。實(shí)際上,該放大器模塊包括濾波放大器、MIC放大器、放大器控制寄存器以及參考電壓產(chǎn)生器。
2.4 A/D和D/A轉(zhuǎn)換器
?。樱常茫耍玻保祪?nèi)部整合了10-bit模數(shù)轉(zhuǎn)換器(A/D)和9-bit數(shù)模轉(zhuǎn)換器D/A。其中,A/D轉(zhuǎn)換器的轉(zhuǎn)換過(guò)程需要50個(gè)時(shí)鐘周期。模擬信號(hào)輸入端口是與I/O Port2(8-bit I/O端口)復(fù)用的,通過(guò)Port2的控制寄存器(P2CONHP2CONL)可確定Port2是否用于A/D轉(zhuǎn)換器的模擬信號(hào)輸入,而通過(guò)A/D轉(zhuǎn)換器的控制寄存器(ADCON)可控制選擇器以確定Port2的哪一位作為A/D輸入端口。輸入信號(hào)的模擬電平值應(yīng)在AVREF和AVSS之間。
?。梗猓椋?D/A轉(zhuǎn)換器的主體為R-2R陣列結(jié)構(gòu),它由R-2R陣列結(jié)構(gòu)、D/A控制寄存器、D/A數(shù)據(jù)寄存器、D/A輸出端口等組成。
3?。樱常茫耍玻保翟谛R羝髦械膽?yīng)用
?。樱常茫耍玻保祮纹瑱C(jī)在校音器中的應(yīng)用電路如圖4所示。由圖可見(jiàn),使用S3CK215只需要設(shè)計(jì)簡(jiǎn)單的電路即可實(shí)現(xiàn)所需功能。首先通過(guò)MIC采集聲音模擬信號(hào),并使用片內(nèi)運(yùn)算放大器進(jìn)行信號(hào)濾波和放大;接著通過(guò)A/D轉(zhuǎn)換器得到數(shù)字信號(hào)并對(duì)數(shù)字信號(hào)進(jìn)行處理以得到聲音信號(hào)的頻率信息,同時(shí)將其轉(zhuǎn)換成對(duì)應(yīng)的音名音階及音分值,最后通過(guò)片內(nèi)LCD控制驅(qū)動(dòng)器將結(jié)果輸出到LCD進(jìn)行顯示。
此電路設(shè)計(jì)充分利用了S3CK215提供的片內(nèi)特殊功能模塊,它可將以往需要在片外實(shí)現(xiàn)的信號(hào)放大及A/D轉(zhuǎn)換移到片內(nèi)來(lái)實(shí)現(xiàn),因而大大簡(jiǎn)化了電路的設(shè)計(jì),提高了系統(tǒng)集成度,降低了功耗,同時(shí)也使系統(tǒng)更加穩(wěn)定并利于維護(hù)。
圖5給出了該校音器的軟件設(shè)計(jì)流程圖。該軟件采用中斷來(lái)進(jìn)行數(shù)據(jù)采樣因而大大簡(jiǎn)化了程序設(shè)計(jì)。具體方法是在主程序初始化后,根據(jù)數(shù)據(jù)采樣率再設(shè)置定時(shí)器并由定時(shí)器產(chǎn)生內(nèi)部中斷,接著在中斷處理程序中讀取輸入端口以作為數(shù)據(jù)采樣值,并在獲得足夠的采樣點(diǎn)后,關(guān)閉中斷以返回主程序,然后由主程序進(jìn)行采樣數(shù)據(jù)的處理,最后將有效的處理結(jié)果在LCD上顯示輸出。
4 結(jié)束語(yǔ)
筆者用S3CK215模擬器實(shí)現(xiàn)的校音器系統(tǒng)經(jīng)實(shí)際測(cè)試得到了比較好的效果。實(shí)際使用證明,基于S3CK215芯片實(shí)現(xiàn)的校音器,比同類產(chǎn)品更具有電路簡(jiǎn)單、功耗小、成本低的特點(diǎn),具有一定的實(shí)用開(kāi)發(fā)價(jià)值。
評(píng)論