当前位置: 首页 > article >正文

方寸 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 种模式
 用户可自定义烧写内容
 支持低功耗模式


http://www.kler.cn/a/419952.html

相关文章:

  • PH热榜 | 2024-12-03
  • Vue前端开发-路由树配置
  • JavaScript根据数据生成柱形图
  • avcodec_alloc_context3,avcodec_open2,avcodec_free_context,avcodec_close
  • C/C++基础知识复习(36)
  • 【MySQL】创建数据库、用户和密码
  • Ubuntu24.04配置DINO-Tracker
  • php+Mysql单页支持不同数据结构不同查询条件查搜多表实例
  • 006 MATLAB编程基础
  • ansible自动化运维(一)配置主机清单
  • 在html页面显示一个变量,而这个变量中有xss脚本,如何安全的把这个变量原样展示出来
  • 360笔试题之LINUX和UNIX篇
  • 数据结构——排序第三幕(深究快排(非递归实现)、快排的优化、内省排序,排序总结)超详细!!!!
  • 【Debug】hexo-github令牌认证 Support for password authentication was removed
  • Node.js-Mongodb数据库
  • 电脑显示器拔插DVI线后副屏不显示
  • 【机器学习】机器学习学习笔记 - 监督学习 - 逻辑回归分类朴素贝叶斯分类支持向量机 SVM (可分类、可回归) - 04
  • K8S版本和istio版本的对照关系
  • 数学建模——Topsis法
  • scrapy豆瓣爬虫增强-批量随机请求头
  • 使用pyQT完成简单登录界面
  • 【k8s】监控K8S集群
  • 现代应用程序中基于 Cell 架构的安全防护之道
  • MySQL Linux 离线安装
  • Git 的使用
  • conda手动初始化