方寸 i560 安全存储加密芯片 SoC 存储安全芯片技术手册

1.1 产品简介

i560 是由方寸微电子自主研发的新一代SoC 存储安全芯片,具有功能丰富、性能强劲、功

耗低、安全性高等特点,可广泛适用于安全U 盘、SD 卡等存储领域产品,也可应用于USB 转

UART、USB 转SDIO 等接口领域产品。

该芯片集成32 位国产高性能RISC CPU,可支持USB3.0、SD Host、SD Device、eMMC5.1

等多种高速接口,并集成多种国密算法 (如SM2、SM3、SM4),可满足国家信息安全领域需

求;同时该芯片也支持国际标准AES 加密算法及ECC 算法,可应用于全球通用安全市场。

该芯片提供完整的SDK 供客户进行定制化开发,尤其针对典型应用场景提供了源码级方

案支撑,可帮助客户缩短产品开发周期、降低整体开发成本,提升产品市场竞争力。

1.2 应用产品

1.3 芯片架构

1.4 芯片特性

1.4.1 CPU 资源

 集成32 位国产CPU CK803s

 最高工作频率150Mhz

 内置16KB I Cache

1.4.2 USB3.0 Device 接口

 支持一路USB3.0 Device 接口速率5Gbps,向下兼容USB2.0/USB1.1

 支持控制/批量/中断/等时传输类型

 符合Universal Serial Bus(USB) revision 3.0 标准协议

1.4.3 eMMC 接口

 支持 1 路 eMMC 接口

 支持 eMMC5.1 协议标准

 最高接口速率 HS400 ,向下兼容

 支持 3.3V/1.8V IO 电压

1.4.4 安全引擎

 支持 SM4 、 AES256 数据加密,加密性能 600MB/s@150Mhz

 支持 ECB 、 CBC 、 OFB 、 CFB 、 CTR 、 XTS 6 种加密模式

 RSA(可选 CRT):512~4096 比特

 ECC(素数域):192、224、256、384 和 521 比特

 支持大数模加、模减、模乘运算协处理

 SM2 密钥对生成速度 250 对 /s

 支持 SM2 签名验签,性能 ≥600/300 次 /s@100Mhz

 RSA1024 密钥对生成时间 <0.2s

 支持 RSA1024 签名验签,性能 ≥600/6000 次 /s@100Mhz

 RSA2048 密钥对生成时间 <2s

 支持 RSA2048 签名验签,性能 ≥100/2000 次 /s@100Mhz

 支持 SM3/SHA1/SHA224/SHA256 算法

 支持一路 TRNG 发生器,生成速率 ≥30Mbps@50Mhz

*

以上为硬件引擎性能,非最终产品性能

1.4.5 存储资 源

 32KB ROM

 32KB SRAM

 512KB 片内 flash

1.4.6 其他资源

 内置硬件 DMA

 内置 POR Power on reset )电路

 内置 8 个定时器

 内置中断控制器

 内置 1 个看门狗

 支持1路SPI Flash控制器接口

 支持 1 路 SPI 主 从接口

 支持 1 路 I2C 主 从接口

 支持 2 路 UART 接口

 支持 1 2 位 GPIO 接口

 支持在线调试

1.4.7 安全特性

 支持电压检测

 支持物理探测防护

 每颗芯片具备全球唯一 ID

1.4.8 物理规格

 Core 电压为 1.0V

 IO 电压为 3.3V/1.8V

 支持 QFN64/TF 卡封装

 工作温度 0~70℃ 40~85℃

2.4 管脚复用

在芯片内部,

GPIO 、 UART1 、 SPI SD 等模块复用 12 根 IO 线,复用模式如下表 2.2 所

示:

GPIO

可通过 SCU 寄存器配置为 0 、 1 、 2 、 3 四种功能模式。其中 GPIO[3:0] 在任何功能模

式下可通过 SCU 寄存器切换成不同的 IO 接口, GPIO[11:6] 仅在功能模式 3 下可以切换成不同

的 IO 接口。

2.8 PCB 设计建议

请参考《i560 PCB 设计指南》

3.1 CK803S 处理器

3.1.1 简介

CK803S

是面向控制领域的 32 位高能效嵌入式 CPU 核,具有低成本、低功耗、高代码密

度等多种特点。 CK803S 采用 16/32 位混合编码指令系统,设计了精简高效的 3 级流水线。

CK803S

提供多总线接口,支持系统总线、指令总线、数据总线的灵活配置。 CK803S 针

对内存拷贝应用做了特殊优化,可以获得极致的内存拷贝性能。此外, CK803S 对中断响应做

了特殊加速,中断响应延时仅需 13 个周期。

3.1.2 特性

 精简指令集( RISC )处理器架构

 32 位数据, 16 位 /32 位混合编码指令

 16 个 32 位通用寄存器

 3 级流水线

 最高工作频率 150Mhz

 单位性能 1.5DMIPS/MHz

 按序发射、按序执行、按序退出

 支持 AHB 系统总线和 AHB Databus 总线接口

 内置 16KB 高速缓存

 内置 8 个内存保护单元

 内置紧耦合矢量中断控制器与计时器

 支持 1:1 处理器与系统时钟比

 中断响应延时仅为 13 个处理器周期

 静态分支预测

 支持硬件乘除法

 支持连续内存访问

 仅支持 little endian

3.1.3 架构

3.1.4 矢量中断控制器

矢量中断控制器(VIC)是一个与 CK803S 紧耦合的 IP 单元,用于中断的高效处理。矢

量中断控制器最大可支持 32 个中断源(IRQ[31:0]),每个中断源拥有软件可编程的中断优先

级。矢量中断控制器收集来自不同中断源的中断请求,依据中断优先级对中断请求进行仲裁。

最高优先级的中断将获得中断控制权并向处理器发出中断请求,当处理器响应中断请求,返回

中断请求响应信号给VIC;当处理器退出中断服务程序(ISR),返回中断退出信号给VIC。

矢量中断控制器支持中断嵌套。当处理器正在处理一个中断请求时来了一个更高优先级的

中断请求,处理器将暂停当前中断服务程序,响应更高优先级的中断请求。在更高优先级的中

断请求处理结束时,CPU 返回被暂停的中断服务程序继续执行。矢量中断控制器允许高优先

级的中断请求抢占低优先级的中断请求,但不允许同级别或者低优先级的中断抢占,保证了中

断响应的实时性。

矢量中断控制器的系统结构图如图所示。

3.1.5 系统计时器

系统计时器Core Timer 是CK803S 内部集成的一个紧耦合模块,主要用于计时。Core Timer

提供了一个简单易用的 24 位循环递减的计数器,当Core Timer 使能时,计数器开始工作,当

计数器递减到 0 时,会向矢量中断控制器发起中断请求,申请获得处理器响应并处理Core

Timer 的事务。

Core Timer 的结构框图如图所示:

3.2 存储

芯片内部包含3 块存储单元:ROM、Nor flash 和SRAM。

内置32KB ROM 固化了Bootrom 程序,用于上电固件引导及固件下载,用户无法修改;

内置512KB Nor flash,可用于存储固件代码及用户敏感信息;

Nor flash 主要参数如下:

 页大小:512B

 8/16/32bit 读、32bit 写

 擦写次数:10 万次

内置1 片32KB SRAM 可供用户使用。可用于高速固件代码执行、临时数据存储和算法运

算等,拥有独立AHB 和AXI 接口访问通道,可大大提升AHB 和AXI 接口之间数据搬运效

率。

3.3 DMA

3.3.1 模块概述

DMA (Direct Memory Access)是为了降低CPU 负担专门用来进行数据搬运的模块。在T680

中,单纯的DMA 模块只在AHB 总线上集成了一个,如果AXI 总线上需要进行数据搬运,可

以通过CRYPTO 模块中的DMA 实现。

DMA 模块架构如下:

3.3.2 模块特性

 支持8 路可配DMA 通道

 通道共享16 个字节buffer

 支持链表模式传输

 可在AHB、AXI、APB bus 间进行数据搬运

 支持8/16/32 位数据传输

 仅支持little-endian 传输

 支持INCR 和FIXED 地址传输模式

3.4 定时器

3.4.1 模块概述

定时器模块挂载于APB 总线上,可提供8 个独立的计数器,用于生成定时中断给CPU 进

行定时任务处理。同时定时器模块可生成并输出一路PWM 信号,用于芯片外设时钟或者电机

类设备的控制。

模块框图如下:

3.4.2 模块特性

 支持8 个独立的32 位计数器

 支持一路PWM 输出,最高频率20Mhz

 PWM 极性和占空比可配

 支持自动加载模式

3.5 看门狗

3.5.1 模块概述

看门狗模块用于防止芯片固件跑飞或部分硬件造成的系统卡死情况,一旦发生上述情况,

看门狗可以产生硬件复位,让整个芯片重新复位启动。

看门狗模块结构如下:

3.5.2 模块特性

 支持一路系统复位输出

 复位输出时间可配置

 支持一路CPU 中断输出

 内置32 位递减计数器

3.6 SCU

3.6.1 模块概述

SCU 模块是系统控制单元,主要对芯片时钟、复位、功耗等芯片级配置进行控制。

SCU 模块架构如下:

3.6.2 模块特性

 支持各模块时钟分频及门控

 支持各模块复位控制

 支持PLL 输出频率可配

 支持PLL、OSC 时钟切换

 支持管脚复用配置

 内置看门狗复位状态寄存器

3.6.3 时钟树

4.1.1 模块概述

CRYPTO 模块的作用主要是对进入模块的数据进行加解密操作。目前支持SM4、AES 两

种对称加密算法,同时支持SM3、SHA1、SHA224、SHA256 四种HASH 算法。两者之间相互

独立,SM4、AES 数据走AXI 总线,SM3、SHA1、SHA224、SHA256 数据走AHB 总线。当

数据从AXI SLAVE 端口、AXI MASTER 端口或者AHB SLAVE 端口进入CRYPTO 模块之后,

CPU 通过AHB 总线配置CRYPTO 模块寄存器,选择对应功能,直至加解密结束。

7.3.2 模块特性

 支持Motorola SPI 协议标准

 最高接口工作频率20 MHz

 支持主从模式

 输出时钟的极性、相位、频率可配

 串行数据支持MSB 或者LSB first 模式

 集成32bytes TXFIFO

 集成32bytes RXFIFO

 TXFIFO/RXFIFO 阈值中断可配

 支持中断和查询模式

 独立的SPI 工作时钟

 独立可配置的中断使能

7.4 UART0 控制器

7.4.1 模块概述

UART0 控制器与通用的16C550 UART 完全兼容。

7.4.2 模块特性

 完全兼容高速NS 16C550A UART

 最高波特率为3Mbit/s

 集成32bytes TX FIFO

 集成32bytes RX FIFO

 支持奇偶校验方式或无校验

 支持帧错误检测

 支持FIFO 溢出报警

 波特率可配置

 支持数据位和停止位的位宽配置,数据位宽可配置为5/6/7/8bits,停止位可配置为

1/1.5/2bits

7.5 UART1 控制器

UART1 控制器与UART0 控制器内部结构及逻辑完全相同,只是基地址不同。

7.6 GPIO 控制器

7.6.1 模块描述

GPIO 提供12 位可编程的输入输出管脚。每个管脚可配置为输入或输出。管脚用于生成特

定应用的输出信号或采集特定应用的输入信号。输入管脚,GPIO 可作为中断源;输出管脚,

每个GPIO 都可以独立地清0 或置1。

GPIO 的12 个管脚输入状态下也可以根据电平或跳变值产生可屏蔽中断。

7.6.2 模块特性

 12 个管脚可独立设置为输入或输出

 每个管脚均可以设置为bypass 模式

 每个管脚输入状态下可作为中断源

 输入中断源可以设置为电平触发或边沿触发

 每个端口可通过SCU 配置为上拉或下拉

 输出状态下每个bit 都可单独设置0 或1

 所有管脚上电复位后默认为输入

8.1 电压检测

8.1.1 模块概述

电压检测模块VDT 用于检测当前IO 电压是否正常,当IO 电压低于配置电压时,电压检

测模块将触发CPU 中断,可有效防止各种电压攻击手段。

8.2.2 后端设计防护

采用

Chip Level 层 Flatten 的方法,将接口电路 、功能电路、密码算法电路和随机电路等完

全进行混合布线,可有效防止后端电路反向分析等外部攻击。

8.3 芯片 ID

8.3.1 模块概述

芯片内置

OTP One Time Programmable )电路,提供一次性编程机会,可作为芯片全球唯

一识别号。

8.3.2 模块特性

 有效数据位宽 64bits

 可支持出厂烧写和用户烧写 2 种模式

 用户可自定义烧写内容

 支持低功耗模式

相关推荐
90wunch几秒前
驱动篇的开端
c++·安全
梅洪23 分钟前
008静态路由-特定主机路由
网络·网络协议·tcp/ip
画江湖Test27 分钟前
分享一个您在汽车软件安全性测试中发现严重漏洞的案例,以及如何处理
嵌入式硬件·安全·面试·汽车·软件测试面试
黄交大彭于晏30 分钟前
stm32 hal库 keil5工程编译烧录配置
stm32·单片机·嵌入式硬件
陌夏微秋1 小时前
元器件选型与参数13 电源的分类-线性电源参数 RT9013 AMS1117 PCB布局布线
arm开发·单片机·嵌入式硬件·智能手机·51单片机·硬件工程
A5rZ1 小时前
CTF-PWN: WEB_and_PWN [第一届“吾杯”网络安全技能大赛 Calculator] 赛后学习(不会)
web安全·网络安全
DFT_bug_king2 小时前
sram测试注意讨论
嵌入式硬件·fpga开发
xxjkkjjkj2 小时前
HTTPS
网络协议·http·https
网络安全Max2 小时前
网络安全基础
网络·安全·web安全