




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章SPCE061A单片机基本结构2.1SPCE061A简介2.2SPCE061A的引脚介绍2.3SPCE061A的内核结构2.4SPCE061A单片机的存储器本章小结
2.1SPCE061A简介
2.1.1SPCE061A主要性能特点
SPCE061A是凌阳科技公司继成功推出μ'nSP系列产品SPCE500A之后,又在其基础上进一步开发出来的一款新型16位机。与SPCE500A相比,SPCE061A在存储器资源方面考虑到相关用户对其需求较少以及便于程序调试等原因,芯片里只内嵌了32K字的闪存(FLASH),处理速度大幅提高,使μ'nSP能够非常容易地、快速地处理复杂的数字信号。
SPCE061A单片机具有如下特点和性能。
(1) 16位μ‘nSP处理器。
(2)工作电压(CPU)VDD为2.4~3.6 V,VDDH为2.4~5.5 V(I/O)。
(3) CPU时钟:0.32~49.152 MHz。
(4)内置2K字SRAM。
(5)内置32KFlash。
(6)可编程音频处理。
(7)内置晶体振荡器。
(8)系统处于备用状态下(时钟处于停止状态)时,耗电仅为2 μA@3.6 V。
(9) 2个10位DAC(数/模转换)输出通道。
(10) 2个16位可编程定时器/计数器(可自动预置初始计数值)。
(11) 32位通用可编程输入/输出端口。
(12)14个中断源可来自定时器、时基发生器、2个外部时钟源、触键中断等模块,其中断系统可管理多极中断。
(13)具备触键唤醒的功能。
(14)使用凌阳音频编码SACM_S240方式(2.4 kb/s),能容纳210 s的语音数据。
(15) 32 768 Hz实时时钟。
(16)锁相环PLL振荡器提供系统时钟信号。
(17) 7通道10位电压模/数转换器(ADC)和单通道声音模/数转换器。
(18)声音模/数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能。
(19)具备串行设备接口。
(20)具有低电压复位(LVR)功能和低电压监测(LVD)功能。
(21)内置在线仿真电路ICE(In-CircuitEmulator)接口,极大地简化了片外仿真器的硬件逻辑。
(22)具有不可破解的程序代码保护功能。
(23)具有看门狗(WatchDog)功能。2.1.2SPCE061A的结构
SPCE061A采用冯·诺伊曼结构,其片内的程序空间(Flash)和数据空间(RAM)是统一编址的。其结构可以分为内核、硬件外设和存储器三部分,如图2.1所示。图2.1SPCE061A的结构2.1.3SPCE061A的最小系统
SPCE061A的最小系统接线如图2.2所示,在OSCO、OSCI端接上晶振及谐振电容,在锁相环压控振荡器的阻容输入VCP端接上相应的电容电阻后即可工作。其他不同的电源端和地端接上0.1mF的去耦电容以提高抗干扰能力。图2.2SPCE061A最小系统2.1.4SPCE061A的开发方法
传统的单片机学习硬件方案是“编程器 + 开发系统 + 仿真器”,由于设备相互之间各自独立,使用者在学习或开发项目时,需要反复不停地拔插电缆、芯片、电源等,操作极其复杂繁琐。图2.3
在线调试器
SPCE061A单片机的强大功能、低廉价格以及简易方便的开发工具,使其具有巨大的市场潜力和宽广的应用领域,以下是该款单片机常应用的领域。
(1)有语音功能的仪器仪表、游戏机、智能玩具、学习机等;
(2)电表、水表、煤气表、暖气表等;
(3)智能家具控制器:空调、冰箱、洗衣机等;
(4)工业控制;
(5)智能机器人;
(6)安保产品;
(7)通信产品:多功能录音电话、数字留言机、数字语音信箱、数字免提电话;
(8)医疗设备、保健器械、体育健身器材。
2.2SPCE061A的引脚介绍
在SPCE061A芯片中,为了尽量增加片内模块的功能,一般采用引脚复用的方式,也就是大部分引脚有两种甚至多种功能。
SPCE061A的引脚可按功能分为5大类:电源类(含VDD和VSS)、时钟类(X32I和X32O)、控制类(RESET)、输入/输出类(IOA和IOB)、调试类。据此,一个单片机轮廓可以简单地用图2.4来描述。图2.4SPCE061A简单逻辑图
SPCE061A可采用PLCC84和LQFP80两种不同的封装形式。PLCC84封装以插拔的方式安装,工序较为简单,而LQFP80比较适合表面贴装的封装形式。PLCC84封装与LQFP80封装引脚排列图分别如图2.5和2.6所示。为了方便读者理解,后面的内容将围绕以PLCC84形式封装的芯片来讲述。图2.5SPCE061APLCC84封装排列图图2.6SPCE061ALQFP80封装引脚排列图
SPCE061A共有84个引脚,在PLCC84封装中,有15个空余脚,用户使用时这15个空余脚悬浮。在LQFP80封装中有9个空余脚,用户使用时这9个空余脚接地。表2.1为PLCC84封装引脚功能介绍。
2.3SPCE061A的内核结构
SPCE061A采用的是凌阳公司的μ'nSP内核。μ'nSP内核是一个通用高性能的16位内核,由总线、ALU算术逻辑运算单元、寄存器组、中断系统及堆栈等部分组成,具有4M的寻址空间,支持乘法、乘累加、除法等运算,支持多种寻址方式,拥有多个通用寄存器。其超强的功能不但拥有一些DSP具有的特征,还可以借助其通用的核结构和其他功能模块搭建成不同功能的派生产品。μ'nSP内核核心结构如图2.7所示。图2.7μ'nSP内核核心结构图2.3.1算术逻辑运算单元
μ‘nSP的ALU不仅能做基本的16位算术逻辑运算,还能做带移位操作的16位算术逻辑运算。在数字信号处理方面,也提供了高速的16位×16位乘法运算和内积(乘加)运算。
1.16位算术逻辑运算
2.结合算术逻辑的16位移位运算
3.16位 × 6位的乘法运算和内积(乘加)运算
2.3.2数据总线和地址总线
μ'nSP是16位单片机,它具有16位数据线和22位地址线。由此决定其基本数据类型是16位的“字”型,而不是8位的“字节”型,因此它的内存都是按“字”操作的,22位的地址线最多可寻址到4M字的内存空间。2.3.3寄存器组
μ'nSPCPU的寄存器组一共有8个16位寄存器,可分为通用寄存器和专用寄存器两大类别。通用寄存器包括R1~R4,作为算术逻辑运算的来源及目标寄存器。专用寄存器包括SP、BP、PC、SR,是与CPU特定用途相关的寄存器。
1.通用寄存器R1~R4(General-purposeregisters)
通用寄存器通常用作为数据运算或传送的来源及目标寄存器。寄存器R4、R3配对使用,还可组成一个32位的乘法结果寄存器MR,用于存放乘法和内积运算的结果,其中R4为MR的高字符组,R3为MR的低字符组。
2.堆栈指针寄存器SP(StackPointer)
SP是用来记录堆栈地址的寄存器,SP指向堆栈的顶端。堆栈是一个先进后出的内存结构,μ'nSP的堆栈结构是由高地址往低地址的方向来储存的。SP在CPU执行压栈/出栈(push/pop)、子程序调用/返回(call/retf)以及进入中断服务子程序(ISR,InterruptServiceRoutine)时自动减少(压栈)或增加(弹栈)来表示堆栈指针的移动。μ'nSP堆栈的大小限制在2K字的SRAM内,即地址在0x000000~0x0007FF的内存范围中。
3.基址指针寄存器BP(BasePointer)
μ'nSP提供了一种方便的寻址方式,即基址寻址方式[BP + IM6]。程序设计者可通过BP来存取ROM与RAM中的数据,包括局部变量(LocalVariable)、函数参数(FunctionParameter)、返回地址(ReturnAddress)等。这在C程序中特别有用。BP除了上述用途外,也可做为通用寄存器R5,用于数据运算传送的来源及目标寄存器。因此,BP与R5通常是共享的,均代表基址指针寄存器。
4.程序计数器PC(ProgramCounter)
和一般微控制器中的PC相同,μ'nSP的PC用来纪录程序目前执行位置的寄存器,以控制程序走向。CPU每执行完一个指令,就会改变PC的值,使其指向下一条指令的地址。在μ'nSP里,16位的PC寄存器与SR寄存器的CS字段共同组成一个22位的程序代码地址。
5.状态寄存器SR(StatusPointer)
SR内含许多字段,每个字段又有特别的用途,所以SR有多种功能。其中包含两个6位的区段选择字段:代码段选择字段(CS)、数据段选择字段(DS)。它们可与其它16位的寄存器结合在一起形成一个22位的地址,用来寻址4M字容量的内存。对于状态寄存器SR各个标志的几点总结:
(1)由于补码可以把有符号数与无符号数的运算统一起来,所以对于同一条加法或减法指令,既可以认为是有符号数运算,又可以认为是无符号数运算,只是观察的角度、判断的标准不同而已。
(2)进位标志C一般用于无符号数运算的进、借位判断。(3) N、S的组合用于有符号数溢出的判断。
(4)有符号数的范围为-32 768~32 767,无符号数的范围为0~65 535。若为有符号数,运算前数值的正负应利用负标志N来判断,运算后结果的正负应利用符号标志S来判断。
【例2.1】R1=32767,R2=32767,求二者之和。运算后R1中的内容为0xFFFE。
若作为无符号数看待,此时C为0说明无进位产生;若作为有符号数看待,此时N!=S,则说明计算结果超出有符号数的范围,即产生溢出,另外S为0说明运算结果不为负。
【例2.2】R1=-12345,R2=-1,求二者之和。运算后R1中的内容为0xCFC6。
若作为无符号数看待,此时C为1说明有进位产生;若作为有符号数看待,此时N=S则说明无溢出产生,S为1说明运算结果为负。
【例2.3】R1=32767,R2=-12345,求二者之差。运算后R1中的内容为0xB038。
若作为无符号数看待,此时C为0说明有借位产生;若作为有符号数看待,此时N!=S说明有溢出产生,S为0说明运算结果为正。2.3.4中断系统
SPCE061A系列单片机中断系统,具有μ'nSP中断系统的风格,是凌阳16位单片机中中断功能较强的一种。它可以提供定时、时基、外部、UART以及软件中断等十四个中断源,具有两个中断优先级,可实现两级中断嵌套功能。2.3.5堆栈
堆栈既是一种特殊的存储区域,也是一种特殊的数据结构,对于SPCE061A单片机,堆栈是指在RAM地址空间中开辟的一块特殊存储器,并配有专用的堆栈指针(SP)和操作指令。堆栈的大小限制在2K字的RAM内,即地址为0x000000~0x0007FF的内存范围中。图2.8堆栈
2.4SPCE061A单片机的存储器
在学习μ'nSP内核时,我们了解到μ'nSP系列单片机能够寻址的最大空间是4 M,为配合16位的程序计数器PC寻址,我们把4M的地址空间分成64个容量为64K字的“存储段”,并由状态标志寄存器SR中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论