Upload
gerda
View
172
Download
1
Embed Size (px)
DESCRIPTION
凌阳 Sunplus 16 位 微控制器 ’ nSP™ 介绍. ’ nSP ™ 家族产品. SPG 系列. SPT660X. SPG100A. SPCE 系列. SPT660 系列. 其他产品应用. Techno Dog. Mew-chi 貓奇. Furby( 菲比小精灵). Poo-chi 普奇狗. Diva Starz. POX. SPCE 系列单片机产品一览. SPCE500A 是首款推出的基于 ’ nSP ™ 内核语音应用方面的单片机。 SPCE061A - PowerPoint PPT Presentation
Citation preview
凌阳 Sunplus 16 位微控制器
’nSP™介绍
S P C E 500A S P C E 060A S P C E 061A
S P C E xxx
S P G 100A
S P G xxx
S P T 6601 S P T 6602 S P T 6608
S P T 660x
16位u’ nSP内核
’ nSP™ 家族产品
SPT660XSPG100A
SPG系列SPCE系列 SPT660系列
其他产品应用Poo-chi 普奇狗 Mew-chi 貓奇
POX
Techno Dog
Diva Starz
Furby( 菲比小精灵 )
SPCE 系列单片机产品一览
SPCE500A 是首款推出的基于’ nSP™ 内核语音应用方
面的单片机。 SPCE061A
是继’ nSP™ 系列产品 SPCE500A 等之后凌阳科技推出的又一个 16 位结构的微控制器 。
SPCE061A 单片机性能简介
16 位微控制器: 16 位加法运算、 16x16 位硬件乘法、DSP 的内积滤波运算
CPU 最高时钟达到 49MHZ 内建 32k 字的 Flash 程序存储器、 2k 字的 SRAM 数
据存储器 2 个 16位 I/O 端口 7路 AD 转换通道 1 路音频 AD 转换通道
SPCE061A 单片机性能简介
内置 MIC 放大电路和动态增益 (AGC) 放大电路
2 路电流输出的 DA 转换通道 2 个定时器 时基信号 低电压复位、低电压监测 内置在线仿真接口
SPCE061A 单片机结构概览双16位定时器
/计数器
7通道10位ADC
单通道ADC+AGC
CPU时钟实时时钟
FLASH
SRAM
时基中断控制
IOA15 - 0 IOB15 - 0
锁相环振荡器
IOB0 (SCK) IOB1(SDA)
低电压监测/低电压复位 双通道
10位DAC输出串行输入输出
接口
AUD1AUD2
MIC_IN
32管脚通用输入输出端口
16位微控制器
u'nSP+
ICE
XI/R
XO
ICE_SCK
ICE_SDA
ICE_EN
CPV
SCKSDA
SP R1 BP(R5)R2 R3 R4 SR PC
MUX
SHIFTER
ALU
DS NZSC CS 10 15 6 90 5
MUX
ADDRGEN
16
22
ADDR[21:0]
6 6
6
16
数据总线
用户寄存器SP:堆栈指针
SR:段寄存器
PC:程序计数器
R1-R4:通用寄存器
BP:基指针
ADDRGEN:地址编码器SR
SHIFTER:移位器
地址总线
ALU:算术逻辑单元
NZSC 4: 个标志位
DS:数据段选择控制位
MUX : 多路选择开关
SPCE061A的内核构架 16 位数据线22 位地址线
寄存器 ID号
寄存器符号 功能名称
0 ( 000 ) SP 堆栈指针寄存器1 ( 001 ) R1 普通寄存器2 ( 010 ) R2 普通寄存器3 ( 011 ) R3 普通寄存器4 ( 100 ) R4 普通寄存器5 ( 101 ) BP(R5) 基址指针寄存器6 ( 110 ) SR 段寄存器7 ( 111 ) PC 程序指针寄存器
SPCE061A 的内核构架寄存器组
最大容量为 2k 字 地址范围为
0X07FF 到0X0000的SRAM
SP 初始化为0x07FF
SPCE061A 的堆栈结构
SPCE061A 的内核构架堆 栈
堆栈生长方向
PUSH 后SP-1
0X7FF
0X0000 栈顶
栈底
POP 前SP+1
异常中断: 上电、看门狗计数器溢出、系统电源低于电压低限。 事件中断:
快速中断请求 FIQ 中断和中断请求 IRQ 中断 两种方式 9 个中断向量( FIQ、 IRQ0-IRQ6及 UART IRQ), 14 个
中断源。 FIQ 中断的优先级别最高,其次为 IRQ 中断,最后是 UART
IRQ 中断。 软件中断: 软件指令 break 产生的中断。
SPCE061A 的内核构架中 断
存储器 并行 I/O 端口 ADC 输入接口 音频输出 DAC 定时器 / 计数器 时基信号
SPCE061A 的片内外围部件 标准串行异步通讯 串行设备接口 看门狗电路 低电压检测 低电压复位电路
SPCE061A 的片内外围部件存储器映射
2K SRAM
中断向量
0X0000
0XFFF6
0X07FF0X0800 保留空间0X6FFF0X7000 I / O端口
系统端口0X7FFF0X8000
0XFFF5
0XFFFF
32K FLASH ROM
数据寄存器
&控制逻辑
上拉
下拉
I/O管脚
_Data (写)
_Buffer(写)
_Dir /(读 写)
_Attr /(读 写)
_Data(读)
_Buffer(读)
SPCE061A 的片内外围部件并行 I/O 端口
SPCE061A 的片内外围部件
ADC 输入接口
DAR0b[15:6]
10位DAc
SAR
COMP
-
自动
ADE
P_ADC(读)
0:MIC_IN
1:LINE_IN
OPO
OPI
AGC
AGCE
AGC_Ctrl
MIC
VMIC
VrefAGC_IN
P_ADC_Ctrl (读)
IOA[0~6] P_ADC_MUX_Ctrl
采样/保持
SPCE061A 的片内外围部件
音频输出 DAC
音频输出的结构
DAR2b[15:6]P_DAC2( /读 写 )($7016H)
10位DAC2
AUD1
AUD2
DAR1b[15:6]
P_DAC1( /读 写 )($7017H) 10位DAC1
DAR1锁存控制
P_DAC_Ctrl (写) ($702AH)的第7、8位
直接将DAR1内的数据锁存到DAC1
TimerA
TimerB
锁存
TimerATimerB
LatchControl
DAR2
P_DAC_Ctrl (写) ($702AH)的第5 6、 位
直接将DAR2内的数据锁存到DAC2
锁存
SPCE061A 的片内外围部件
时基信号
Fosc / n
P_SystemClock
CPUClkFoscPPL倍频电路
32768Hz
P_SystemClock
TMB2
TMB1
1024 Hz 512 Hz 256 Hz 128Hz*
64 Hz 32 Hz 16 Hz 8 Hz*
P_TimeBase_Clear 时基计数器
4096 Hz 2048 Hz 1024 Hz 4 Hz 2 Hz
IRQ6
IRQ4
IRQ5中断系统
P_TimeBase_Setup 11 10 01 00
P_TimeBase_Setup
ClkB定时器/计数器
2选频逻辑
1选频逻辑 11 10 01 00
SPCE061A 外围部件定时器 / 计数器— TimerA
16 /位定时器 计数器
自动重预置
16位寄存器
4位计数器
4位半加器
输出脉宽比控制
APWMO
TA_TimeOut
至中断系统
/ 2TA_TimeOut / 2
P_TimeA_Ctrl TAON
Cl kA选择
000001010011100101110111
Fosc /2Fosc/ 25632768Hz8192Hz4096Hz10*EXT1
2048Hz1024Hz256HzTMB14Hz2Hz
1EXT2
000001010011100101110111
P_TimeA_Ctrl
P_TimeA_Ctrl
P_TimeA_Data预置
ClkA
ClkB
Cl kB选择
TA_TimeOut_ INT
SPCE061A 外围部件定时器 / 计数器— TimerB
16 /位定时器 计数器
自动重预置
16位寄存器
4位计数器
4位半加器
输出脉宽比控制
BPWMO
TB_TimeOut
至中断系统
/ 2 TB_TimeOut / 2
P_TimeB_Ctrl TBON
Cl kA选择
000001010011100101110111
Fosc /2Fosc/ 256
32768Hz8192Hz
4096Hz10*EXT1
P_TimeB_Ctrl
P_TimeB_Data预置
ClkA TB_TimeOut_ INT
SPCE061A 的片内外围部件标准串行异步通讯端口
串行异步通讯发送端口 TX 的结构
0
1
b2(RXEN)UARTRX
IOB7(Rx)
IOB7 设置为输入端口
UART
SPC061A 的片内外围部件串行设备接口 SIO
VDD
IOB0
IOB1
VSS
SPCE061A
VSS
CS
SDA
SCK
VDD
SPRS512
SCK
SDA
SPCE061A 的片内外围部件低电压复位 / 低电压监测 (LVR/LVD)
LV_Reset
LVD低电压监测
P_LVD_Ctrl
LVR低电压复位
1 1
1 0
0 1
0 0
P_LVD_Ctrl
电压低限定义 电压监测结果
4.0V
3.6V
3.0V
2.6V*
2.4V
LVR/LVD 的结构
SPCE061A 的指令系统 指令的分类 ’ nSP™ 汇编器的伪指令 ’ nSP™ 的指令结构对高级语言的支持
SPCE061A 的指令系统指令的分类
’ nSP™ 的指令总共只有 41 种 四类指令
数据传送类指令算逻运算类指令转移控制类指令其它控制类指令
SPCE061A 的指令系统数据传送类指令应用举例 :
R1 = 0x28; // 立即数寻址R3 = [BP + 0x08]; // 变址寻址R3 = R1; // 存储器直接寻址R4 = [0X30]; // 存储器绝对地址寻址[0x30] = R4; // 存储器直接寻址PC = D:[R5++]; // 存储器间接寻址
SPCE061A 的指令系统算逻运算类指令
应用举例:R1+=0x28;R2-=0x2400; R1&=0x2FFF; // 逻辑与运算CMP R1, 0x27; // 只影响 NZSC
标志MR =[R2]*[R1], 4; // 内积运算
SPCE061A 的指令系统转移控制类指令
应用举例: CALL sub_1; // 绝对调用子程序 sub_1
JNE label1; // 不相等时转移到 label1 标号地址上JMP labe2; // 短跳转GOTO labe3; // 长跳转
SPCE061A 的指令系统其他控制类指令
应用举例:FIR_MOV ON; //FIR 滤波允许FIQ ON; // 开通 FIQ 中断IRQ OFF; // 关闭 IRQ 中断INT OFF; // 禁止 FIQ和 IRQ 中断NOP;
SPCE061A 的指令系统汇编器的伪指令
定义类: PROC…ENDP 、PUBLIC、 EXTERNAL 、CODE、 DATA、 IRAM、 ORAM、 TEXT…
存储类: DW 、 DD 、 FLOAT 、 DOUBLE... 条件类: IF…ELSE…ENDIF 汇编方式类: INCLUDE 、 SECTION…
’ nSP™ 的指令系统指令结构对高级语言的支持
算逻操作符( # )及其作用 ANSI-C 算符及其作用- , -= 取补,减 - , -= 单目取负,减+= 加 += 加* 乘 *= 乘cmp 、 test 比较、测试操作符 > , >= , < , <= , == , != 关系
运算符= 数据传送 = 赋值语句^= 逻辑异或 ^= 逻辑异或&= 逻辑与 &= 逻辑与|= 逻辑或 |= 逻辑或LSL 、 LSR 逻辑左移、逻辑右移 << 、 >> 左移、右移
SPCE061A 开发系统
PC机
SPCE061A仿真 Probe SPCE061A实验板
SPCE061A实验箱
標准並行口
集成开发环境( unSP IDE)