系统描述¶
CI1306芯片系统框图如图S-1所示,其内部由多个模块组成,包含脑神经网络处理器BNPU等,下面分别针对各个模块进行描述。
系统架构¶
芯片系统包含了BNPU、CPU、ROM、SRAM、DMA和各类外设接口。各功能模块通过支持多核并行处理架构的总线进行通信和控制,其架构如图S-2所示。
寄存器映射¶
芯片寄存器映射如图S-3所示,内部ROM起始地址从0x00000000开始;SRAM起始地址从0x1FF00000开始到0x1FF7FFFF结束,共640Kbyte。其余是各外设接口的起始地址。
启动模式配置¶
芯片有两种启动模式,一种为上电后从芯片内部的ROM启动,该模式为正常工作的模式;另一种为上电后从芯片内部的SRAM启动,该模式主要用于将代码下载到SRAM中运行的调试模式。
两种启动模式通过芯片的BOOT_SEL功能引脚(与芯片PC5引脚复用)进行区分。在芯片复位阶段,将BOOT_SEL引脚置为0,为ROM启动,上电后芯片将ROM重映射到0x00000000地址;置为1,为SRAM启动,此时需要提前将代码下载到SRAM中,进入调试模式后,芯片内部的SRAM会自动映射到0x00000000地址,CPU会直接从SRAM中进行取指访问。
启动模式选择引脚(BOOT_SEL)上电时电平 | 启动模式 | 说明 |
---|---|---|
0 | ROM | 正常启动,内部ROM作为启动区域 |
1 | SRAM | 调试模式,内部SRAM作为启动区域 |
中断¶
芯片集成了内核中断控制器,可进行高效的中断处理。该控制器功能描述如下:
- 支持软件中断、计时器中断和外部中断;
- 32路可编程外部中断;
- 3 bits中断优先级配置,即8个优先级等级;
- 支持软件动态可编程修改中断级别和中断优先级的数值;
- 支持基于中断级别的中断嵌套;
- 支持快速向量中断处理机制;
- 支持快速中断咬尾机制;
- 支持 NMI(Non-Maskable Interrupt)。
中断向量表如下表所示,发生相应中断后,CPU会从对应的中断入口地址执行指令。
IRQ号 | 中断源 | 说明 |
---|---|---|
0 | INT_WWDG | 窗口看门狗中断 |
1 | INT_SCU | SCU中断 |
2 | Reserved | 保留 |
3 | INT_ADC | ADC控制器中断 |
4 | Reserved | 保留 |
5 | INT_TIMER0 | 定时器0中断 |
6 | INT_TIMER1 | 定时器1中断 |
7 | INT_TIMER2 | 定时器2中断 |
8 | INT_TIMER3 | 定时器3中断 |
9 | INT_IIC | IIC中断 |
10 | INT_GPIO0 | GPIO0中断 |
11 | INT_GPIO1 | GPIO1中断 |
12 | INT_UART0 | UART0中断 |
13 | INT_UART1 | UART1中断 |
14 | INT_UART2 | UART2中断 |
15 | INT_IIS0 | IIS0中断 |
16 | Reserved | 保留 |
17 | Reserved | 保留 |
18 | Reserved | 保留 |
19 | Reserved | 保留 |
20 | INT_PDM | PDM中断 |
21 | INT_DTR | DTR Flash控制器中断 |
22 | Reserved | 保留 |
23 | INT_VDT | 低电压检测指示中断 |
24 | INT_EXT0 | 外部中断0 |
25 | INT_EXT1 | 外部中断1 |
26 | INT_IWDG | 独立看门狗中断 |
27 | Reserved | 保留 |
28 | Reserved | 保留 |
29 | INT_EFUSE | EFUSE控制器中断 |
30 | INT_GPIO2 | GPIO2中断 |
模块概述¶
本文档会详细描述用户经常使用到的模块及寄存器说明,列举如下:
- 系统控制单元SCU
- DMA
- 通用定时器和PWM输出
- 独立看门狗(IWTD)
- 窗口看门狗(WWTD)
- DTR_FLASH
- IIC
- IIS
- UART
- GPIO
- ADC
- EFUSE
其它如BNPU、CODEC、PDM、电源管理和PLL、EFUSE等模块的配置和使用已包含在CI13XX系列芯片SDK提供的基础组件内,不建议用户直接修改驱动或者直接操作寄存器,以避免导致基础组件工作异常,建议直接使用CI13XX系列芯片SDK内提供的标准驱动接口,如果确实有较特殊需求请联系我司技术支持人员进行支持。