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符号数或无符号数的乘法运算,而且只需两个时钟周期即可输出运算结果。它的组成包括操作数寄存器(MXINPMYINP)、结果寄存器(MRHMRL)和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 MXINPMYINP
NOP
NOP
LD R2,MRH ;The multiplication is finished after 2 cycles
LD R3,MRL ;MRH/MRL=28H/3CH[page]
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的控制寄存器(P2CONHP2CONL)可确定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芯片实现的校音器,比同类产品更具有电路简单、功耗小、成本低的特点,具有一定的实用开发价值。
上一篇:芯海单片机外部中断程序
下一篇:以DAC0832为例,说明D/A的单缓冲与双缓冲有何不同?
- 热门资源推荐
- 热门放大器推荐