凌阳 sunplus 16 位 微控制器 ’ nsp™ 介绍

36
凌凌 Sunplus 16 凌凌凌凌凌 ’nSP™ 凌凌

Upload: gerda

Post on 15-Jan-2016

172 views

Category:

Documents


1 download

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

TRANSCRIPT

Page 1: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

凌阳 Sunplus 16 位微控制器

’nSP™介绍

Page 2: 凌阳 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™ 家族产品

Page 3: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPT660XSPG100A

SPG系列SPCE系列 SPT660系列

Page 4: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

其他产品应用Poo-chi 普奇狗 Mew-chi 貓奇

POX

Techno Dog

Diva Starz

Furby( 菲比小精灵 ) 

Page 5: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE 系列单片机产品一览

SPCE500A 是首款推出的基于’ nSP™ 内核语音应用方

面的单片机。 SPCE061A

是继’ nSP™ 系列产品 SPCE500A 等之后凌阳科技推出的又一个 16 位结构的微控制器 。

Page 6: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 单片机性能简介

16 位微控制器: 16 位加法运算、 16x16 位硬件乘法、DSP 的内积滤波运算

CPU 最高时钟达到 49MHZ 内建 32k 字的 Flash 程序存储器、 2k 字的 SRAM 数

据存储器 2 个 16位 I/O 端口 7路 AD 转换通道 1 路音频 AD 转换通道

Page 7: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 单片机性能简介

内置 MIC 放大电路和动态增益 (AGC) 放大电路

2 路电流输出的 DA 转换通道 2 个定时器 时基信号 低电压复位、低电压监测 内置在线仿真接口

Page 8: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

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

Page 9: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

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 位地址线

Page 10: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

寄存器 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 的内核构架寄存器组

Page 11: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

最大容量为 2k 字 地址范围为

0X07FF 到0X0000的SRAM

SP 初始化为0x07FF

SPCE061A 的堆栈结构

SPCE061A 的内核构架堆 栈

堆栈生长方向

PUSH 后SP-1

0X7FF

0X0000 栈顶

栈底

POP 前SP+1

Page 12: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

异常中断: 上电、看门狗计数器溢出、系统电源低于电压低限。 事件中断:

快速中断请求 FIQ 中断和中断请求 IRQ 中断 两种方式 9 个中断向量( FIQ、 IRQ0-IRQ6及 UART IRQ), 14 个

中断源。 FIQ 中断的优先级别最高,其次为 IRQ 中断,最后是 UART

IRQ 中断。 软件中断: 软件指令 break 产生的中断。

SPCE061A 的内核构架中 断

Page 13: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

存储器 并行 I/O 端口 ADC 输入接口 音频输出 DAC 定时器 / 计数器 时基信号

SPCE061A 的片内外围部件 标准串行异步通讯 串行设备接口 看门狗电路 低电压检测 低电压复位电路

Page 14: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的片内外围部件存储器映射

2K SRAM

中断向量

0X0000

0XFFF6

0X07FF0X0800 保留空间0X6FFF0X7000 I / O端口

系统端口0X7FFF0X8000

0XFFF5

0XFFFF

32K FLASH ROM

Page 15: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

数据寄存器

&控制逻辑

上拉

下拉

I/O管脚

_Data (写)

_Buffer(写)

_Dir /(读 写)

_Attr /(读 写)

_Data(读)

_Buffer(读)

SPCE061A 的片内外围部件并行 I/O 端口

Page 16: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的片内外围部件

ADC 输入接口

Page 17: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

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

采样/保持

Page 18: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的片内外围部件

音频输出 DAC

Page 19: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

音频输出的结构

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

锁存

Page 20: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的片内外围部件

时基信号

Page 21: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

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

Page 22: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

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

Page 23: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

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

Page 24: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的片内外围部件标准串行异步通讯端口

串行异步通讯发送端口 TX 的结构

0

1

b2(RXEN)UARTRX

IOB7(Rx)

IOB7 设置为输入端口

UART

Page 25: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPC061A 的片内外围部件串行设备接口 SIO

VDD

IOB0

IOB1

VSS

SPCE061A

VSS

CS

SDA

SCK

VDD

SPRS512

SCK

SDA

Page 26: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

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 的结构

Page 27: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的指令系统 指令的分类 ’ nSP™ 汇编器的伪指令 ’ nSP™ 的指令结构对高级语言的支持

Page 28: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的指令系统指令的分类

’ nSP™ 的指令总共只有 41 种 四类指令

数据传送类指令算逻运算类指令转移控制类指令其它控制类指令

Page 29: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的指令系统数据传送类指令应用举例 :

R1 = 0x28; // 立即数寻址R3 = [BP + 0x08]; // 变址寻址R3 = R1; // 存储器直接寻址R4 = [0X30]; // 存储器绝对地址寻址[0x30] = R4; // 存储器直接寻址PC = D:[R5++]; // 存储器间接寻址

Page 30: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的指令系统算逻运算类指令

应用举例:R1+=0x28;R2-=0x2400; R1&=0x2FFF; // 逻辑与运算CMP R1, 0x27; // 只影响 NZSC

标志MR =[R2]*[R1], 4; // 内积运算

Page 31: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的指令系统转移控制类指令

应用举例: CALL sub_1; // 绝对调用子程序 sub_1

JNE label1; // 不相等时转移到 label1 标号地址上JMP labe2; // 短跳转GOTO labe3; // 长跳转

Page 32: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的指令系统其他控制类指令

应用举例:FIR_MOV ON; //FIR 滤波允许FIQ ON; // 开通 FIQ 中断IRQ OFF; // 关闭 IRQ 中断INT OFF; // 禁止 FIQ和 IRQ 中断NOP;

Page 33: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 的指令系统汇编器的伪指令

定义类: PROC…ENDP 、PUBLIC、 EXTERNAL 、CODE、 DATA、 IRAM、 ORAM、 TEXT…

存储类: DW 、 DD 、 FLOAT 、 DOUBLE... 条件类: IF…ELSE…ENDIF 汇编方式类: INCLUDE 、 SECTION…

Page 34: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

’ nSP™ 的指令系统指令结构对高级语言的支持

算逻操作符( # )及其作用 ANSI-C 算符及其作用- , -= 取补,减 - , -= 单目取负,减+= 加 += 加* 乘 *= 乘cmp 、 test 比较、测试操作符 > , >= , < , <= , == , != 关系

运算符= 数据传送 = 赋值语句^= 逻辑异或 ^= 逻辑异或&= 逻辑与 &= 逻辑与|= 逻辑或 |= 逻辑或LSL 、 LSR 逻辑左移、逻辑右移 << 、 >> 左移、右移

Page 35: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

SPCE061A 开发系统

PC机

SPCE061A仿真 Probe SPCE061A实验板

SPCE061A实验箱

標准並行口

Page 36: 凌阳 Sunplus 16  位 微控制器  ’ nSP™ 介绍

集成开发环境( unSP IDE)