IOB0-IOB15(5-1、81-76、68-64) I/O口B,共16个 OSCI(13脚) 32768Hz 晶振输入管脚 OSCO(12脚) 32768Hz 晶振输出管脚 RES_B(6脚) 复位输入
XICE(16脚) ICE使能端,接PROBE的使能脚ICE_EN XICECLK(17脚) ICE时钟端,接PROBE的时钟脚ICE_SCK XICESDA(18脚) ICE数据端,接PROBE的数据脚ICE_SDA PVIN(20脚) 程序保密设定脚 PFUSE(29脚) 程序保密设定脚 DAC1(21脚) 音频输出通道1 DAC2(22脚) 音频输出通道2 VREF2(23脚) 2V参考电压输出脚 AGC(25脚) 语音输入自动增益控制引脚 OPI(26脚) Microphone的第二运放输入脚 MICOUT(27脚) Microphone的第一运放输出脚 MICN(28脚) Microphone的负向输入脚 MICP(33脚) Microphone的正向输入脚 VRT(35脚) A/D转换外部参考电压输入脚 VCM(34脚) ADC参考电压输出脚 VMIC(37脚) Microphone的电源 XSLEEP(63脚) 睡眠状态指示脚
VCP(8脚) 锁相环压控振荡器的阻容输入
XROMT、PVPP、XTEXST(61、69、14) 出厂测试引脚,悬空即可 VDDH(51、52、75脚) I/O电平参考。 VDD(7脚) PLL锁相环电源 VSS(9脚) 锁相环地 VSS(19、24脚) 模拟地 VSS(38、49、50、62脚) 数字地 VDD(15、36脚) 数字电源
注:在PLCC84封装中,有15个空余脚,使用时这15个空余脚悬浮。 可将PFUSE接5V, PVIN接GND并维持1s以上即可将内部保险丝熔化,此后就无法读取和向闪存加载数据。 表3.1 SPCE061A的PLCC84封装管脚说明 三、SPCE061A特性参数
SPCE061A系统的特性参数如表3.2所示: 特性参数 SPCE061A 工作电压 2.6V-3.6V 最大工作速率 49.152MHz CPU 16 位 SRAM 容量 2K字 ROM容量(字) 32K闪存 并行I/O端口A IOA15-0 并行I/O端口B IOB15-0 音频输出 DAC×2
中断源 TimerA/B 时基信号发生器 外部中断 触键唤醒
唤醒源 IOA7-0其它中断
定时器/计数器 双16位加计数定时器/计数器 双通道PWM输出
UART 7通道10位电压模数转换器(ADC) 单通道声音模数转换器 (ADC)
串行SRAM接口 具备 晶振 具备 低电压复位 具备 低电压监测 具备 内置ICE接口 具备 上电复位 具备
麦克风放大器和自动增益控 单通道 节电功能 具备 中断控制功能 具备 触键唤醒功能 具备 表3.2 系统特性参数 四、SPCE061A内核结构
SPCE061A的内核由总线、算术逻辑运算单元、寄存器组、中断系统及
堆栈等部分组成。算术逻辑运算单元ALU:SPCE061A的ALU在运算能力上很有特色,它不仅能做16位基本的算术逻辑运算,也能做带移位操作的16位算术逻辑运算,同时还能做用于数字信号处理的16位×16位的乘法运算和内积运算。 1.算术逻辑运算器
SPCE061A的ALU前面串接有一个移位器SHIFTER,也就是说,操作数在经过ALU
的算数逻辑操作前可先进行移位处理,然后再经ALU完成算逻运算操作。移位包括:算术右移、逻辑左移、逻辑右移、循环左移以及循环右移。所以,SPCE061A的指令系统里专有一组复合式的‘移位算术逻辑操作’指令;此一条指令完成移位和算术逻辑操作两项功能。 SPCE061A的CPU寄存器组里有8个16位寄存器,可分为通用型寄存器和专用型寄存器两大类别。通用型寄存器包括:R1-R4,作为算术逻辑运算的源及目标寄存器。专用型寄存器包括SP、BP、SR、PC,是与CPU特定用途相关的寄存器。 2.SPCE061A片内存储器结构
SPCE061A单片机的存储器有2K字的SRAM(包括堆栈区)和32K字闪存(FLASH)。
SPCE061A有2K字的SRAM(包括堆栈区),其地址范围从0x0000到0x07FF。前64个字,即0x0000-0x003F地址范围内可采用6位地址直接地址寻址方法,寻访速度为2个CPU时钟周期;其余0x0040-0x07FF地址范围内存储器的寻访速度则为3个CPU时钟周期。
堆栈是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式,主要用于子程序调用及返回和中断处理断点的保护及返回。堆栈的最大容量范围限制在2K字RAM内,即其地址范围从0X07FF到0X0000的存储器范围中。值得注意的是堆栈的生长方向,SPCE061A系统复位后,SP初始化为0x07FF,每执行PUSH指令一次,SP指针减一。
SPCE061A是一个用闪存替代掩膜ROM的MTP(多次编程)芯片,具有32K字闪存容量。用户可用闪存来存储用户程序。为了安全起见,不对用户开放整体擦除功能。用户必须通过向P_Flash_Ctrl (写) ($7555H)单元写入0xAAAA来激活闪存的存取功能,从而访问闪存。然后,向P_Flash_Ctrl (写) ($7555H)单元写入0x5511,来擦除页的内容。写入0x5533,对闪存编程。这些指令不能被任何其他的操作包括中断、ICE的单步跟踪动作打断。这是因为闪存控制器必须保证闪存处于编程状态。如果一些其它的进程插入到当前的执行队列里,闪存的状态将发生改变,擦除页和编程的操作不能再继续进行。此外,为保证程序的正确编写,用户必须在编程之前擦除页的内容。页大小为0x100。第一页地址范围:0x8000-0x80FF,最后一页的地址范围:0xFF00-0xFFFF。0xFC00-0xFFFF范围内的地址由系统保留,用户最好不要用本范围内的地址。32K字的内嵌式闪存被划分为128个页,它们在CPU正常运行状态下均可通过程序擦除或写入。全部32K字闪存均可在ICE工作方式下被编程写入或被擦除。在芯片上电以后,芯片就处于读存储单元状态,读存储单元的操作与SRAM相同。