1 概述 S3CK215是韓國三星公司生產的一種高性能微控制器,它采用三星公司新開發的8-bit CPU╟╟CalmRISC作為核心。該芯片不僅包括有ROM、RAM、定時器、I/O接口以及中斷控制單元等模塊,還整合了LCD控制驅動器、放大器以及A/D、D/A轉換器等非常有用的功能單元(比如LCD控制驅動器可以直接驅動高達120個點的LCD顯示屏)。由于這些單元拓展了該單片機的功能,因此,使用該單片機設計電路時,只需附加簡單的外部電路就可以構成一個完整的單片機系統,而且功耗低、體積小、系統可靠性高。此外,三星公司還為S3CK215的應用提供了一套有效的開發工具和在線仿真器,從而方便了設計者基于S3CK215的軟硬件設計。 本文介紹了使用S3CK215設計的校音器電路。該校音器在采集到樂器所產生的聲音信號后,可計算出聲音頻率,同時顯示其與理想頻率的偏差,然后以此作為樂器調整的依據,使之發出標準聲音。 2 S3CK215介紹 圖1是S3CK215的內部結構模塊圖。從圖1可以看出,該單片機具有以下特點: ●使用CalmRISC作為中央處理單元; ●內含八位乘法器; ●具有深度達16級的硬件堆棧,每級寬度為16-bit; ●帶有LCD驅動控制器; ●具有10-bit A/D轉換器和9-bit D/A轉換器; ●內含兩個運算放大器。 2.1 CalmRISC處理器 CalmRISC是三星公司新開發的一種8-bit低功耗RISC微處理器,它滿足哈佛體系結構,具有獨立的程序存儲器和數據存儲器,其指令和數據可以通過各自的路徑同時進行訪問。 CalmRISC的內部結構包括一個8-bit ALU、16個通用寄存器、11個專用寄存器、16級硬件堆棧以及程序存儲器地址生成單元以及數據存儲器地址生成單元等。其中16個通用寄存器分為四組(Bank 0-Bank 3),每組包括四個8-bit寄存器(R0, R1, R2, R3)。而專用寄存器包括狀態寄存器、鏈接寄存器以及數據存儲器索引寄存器。CalmRISC中的16級硬件堆棧除了可以作為數據暫存空間外,還可以用來進行低功耗堆棧操作。 CalmRISC具有三級流水線。圖2所示是Calm-RISC處理器的三級流水線示意圖。對CalmRISC的操作可采用寄存器-存儲器指令集方式。操作時首先取指令(IF)并將程序計數器(PC)指向指令地址,接著將指令放入指令寄存器(IR),然后進行指令譯碼和數據存儲器讀取(ID/MEM),同時執行指令和回寫(EXE/WB),最后由ALU來執行指令并將指令執行結果寫入目標寄存器。 CalmRISC采用流水線工作的示意圖如圖3所示。圖中,前一指令獲取完畢后馬上可以進行下一指令的取指操作,而不必等到前一指令執行完畢。實際上,大多數CalmRISC指令都是單字節指令,取指操作只需一個時鐘周期即可完成;但是 “CALL”和“JP”等跳轉指令是雙字節指令,它們的取指操作需要兩個時鐘周期。 2.2 8位乘法器 S3CK215整合了一個8-bit乘法器,通過設置乘法器控制寄存器(MULCON)可支持8-bit符號數或無符號數的乘法運算,而且只需兩個時鐘周期即可輸出運算結果。它的組成包括操作數寄存器(MXINP MYINP)、結果寄存器(MRH MRL)和8-bit乘法運算器。調用乘法器實現乘法的程序段如下: 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 MXINP MYINP NOP NOP LD R2,MRH ;The multiplication is finished after 2 cycles LD R3,MRL ;MRH/MRL=28H/3CH 2.3 運算放大器 S3CK215中有兩個運算放大器,MIC放大器和濾波放大器,一個用于從輸入信號中濾除噪聲以提高信號的信噪比,另一個用于輸入信號的放大,以便進行后續的信號處理。當然這些放大器可以根據用戶需要自行定義它們的用途。實際上,該放大器模塊包括濾波放大器、MIC放大器、放大器控制寄存器以及參考電壓產生器。 2.4 A/D和D/A轉換器 S3CK215內部整合了10-bit模數轉換器(A/D)和9-bit數模轉換器?D/A 。其中,A/D轉換器的轉換過程需要50個時鐘周期。模擬信號輸入端口是與I/O Port2(8-bit I/O端口)復用的,通過Port2的控制寄存器(P2CONH?P2CONL)可確定Port2是否用于A/D轉換器的模擬信號輸入,而通過A/D轉換器的控制寄存器(ADCON)可控制選擇器以確定Port2的哪一位作為A/D輸入端口。輸入信號的模擬電平值應在AVREF和AVSS之間。 9-bit D/A轉換器的主體為R-2R陣列結構,它由R-2R陣列結構、D/A控制寄存器、D/A數據寄存器、D/A輸出端口等組成。 3 S3CK215在校音器中的應用 S3CK215單片機在校音器中的應用電路如圖4所示。由圖可見,使用S3CK215只需要設計簡單的電路即可實現所需功能。首先通過MIC采集聲音模擬信號,并使用片內運算放大器進行信號濾波和放大;接著通過A/D轉換器得到數字信號并對數字信號進行處理以得到聲音信號的頻率信息,同時將其轉換成對應的音名音階及音分值,最后通過片內LCD控制驅動器將結果輸出到LCD進行顯示。 此電路設計充分利用了S3CK215提供的片內特殊功能模塊,它可將以往需要在片外實現的信號放大及A/D轉換移到片內來實現,因而大大簡化了電路的設計,提高了系統集成度,降低了功耗,同時也使系統更加穩定并利于維護。 圖5給出了該校音器的軟件設計流程圖。該軟件采用中斷來進行數據采樣因而大大簡化了程序設計。具體方法是在主程序初始化后,根據數據采樣率再設置定時器并由定時器產生內部中斷,接著在中斷處理程序中讀取輸入端口以作為數據采樣值,并在獲得足夠的采樣點后,關閉中斷以返回主程序,然后由主程序進行采樣數據的處理,最后將有效的處理結果在LCD上顯示輸出。 4 結束語 筆者用S3CK215模擬器實現的校音器系統經實際測試得到了比較好的效果。實際使用證明,基于S3CK215芯片實現的校音器,比同類產品更具有電路簡單、功耗小、成本低的特點,具有一定的實用開發價值。 |