目前,基于开放标准指令集架构RISC-V的解决方案在市场上的占有率越来越高。今天我们为大家介绍一款俄罗斯初创公司Milandr刚刚推出的RISC-V处理器。处理器型号为K1986BK025,被用于电表控制。
基于RISC-V内核的K1986BK025微控制器是Milandr的第二代电表微控制器。第一代K1986BK2x芯片已经在ARM Cortex-M0处理器内核上开发,并且已经生产了5年以上。在此基础上,已经设计了Milur仪表。
然而,时间不会停滞,技术需要不断发展,新的市场规则规定了对新芯片的新要求。需要引入符合俄罗斯计量设备的“最低功能”标准更多功能需求。还需要合适的价格,可以与TI和NXP等巨头的竞争。新的智能电表可以关闭和限制用电量。这意味着新系统也应提供信息安全性,以使入侵者无法自行决定关闭或打开电源。基于这些需求Milandr研制了些都产一款新的基于RISC-V处理器:K1986BK025,接下来做详细介绍。
1. 主要功能
-
处理器核心:RISC-V(BМ-310SCloudBEAR)
-
主频:60 MHz电源电压(主)2.2 ... 3.6 V电源电压(ADC使用)3.0 ... 3.6 V电源电压:1.8 ... 3.6 V
-
闪存程序存储器容量:256 + 8 KB
-
存储器容量RAM:112 KB
-
一次性可编程ROM的容量:16 KB
-
计量用电测量ADC :24位sigma delta,7通道
-
用于计算功耗的ADC:10位带温度传感器
-
接口:5xUART,3xSPI,1xI2C
-
用户IO:55
-
具有实时时钟和篡改检测的512字节电池域
-
4个32位定时器模块,具有4个事件捕获通道和PWM
4个32位定时器块,4个事件捕获通道和PWM -
看门狗定时器
-
具有变量多项式的CRC计数块
-
对称密码算法计算支持块
-
随机数产生装置
-
频率变化检波器
-
电源电压检测单元(主、电池)
-
光检测器块
-
电力供应链中的噪声产生装置
-
调试接口:JTAG
-
封装类型:QFN88 (10 x 10 mm)
-
工作温度:50°C…+85°C
系统结构:
2. 处理器核心
如前所述,芯片的核心是带有BM-310标记的32位RISC-V处理器内核(采用RV32 IMC配置),它是由CloudBEAR设计的。这不是他们唯一的处理器核心。他们提供了一系列的核心,从小型微控制器核心到高性能的64位多处理器集群。
Milandr正在开发基于CloudBEAR组合中不同复杂程度的内核的新产品。现在只有基于BM310内核的K1986VK025已上市。不过,其他产品,包括基于64位内核的产品将很快面世。BM-310内核是一个32位的RISC-V内核,采用三段式汇编,能够在两个周期内完成一次乘法运算。在这个版本的芯片中还没有实现对浮点运算的支持(虽然内核允许设置浮点运算)。
BM-310内核在CoreMark测试中的性能为3.0 CoreMark/MHz。因此,它可以与ARM Cortex-M3相媲美。同时,新芯片中的核心面积只有0.3m㎡,考虑到大部分计算功耗参数的任务都是由计量ADC的硬件控制器来完成的,因此主要处理能力的核心可以用于计量装置的通信任务。
3. 价格
芯片尺寸是芯片成本的主要因素。它的面积越大,价格越贵,生产技术越复杂,价格也就越高。同时,使用的技术越复杂,实现所需功能所需的面积就越小,因此价格会更便宜。总体而言,技术的选择并不明显。第一代K1986BK2x芯片开发于180 nm。大约三分之一的芯片属于模拟部分(实际上是sigma-delta ADC、电源、IO),当切换到更精细的工艺时,当切换到更细微的工艺时,这部分实际上不会减少。但按照新的要求,功能量要增加近4倍。
新的芯片实现了256KB Flash对64K,RAM 112KB对16K,5个UART, 3个SP,还有更多的加密技术......所以,经过全面的估计和计算,决定如果特别在意成本,那么用90nm的技术是可以进入要求的成本范围的,当然采用用65nm或更低的技术会更好,但一般来说,开发成本也将会提高高,会使项目在融资方面的风险更大。
4. 计量ADC
如果处理器核心是微控制器的心脏,那么计量ADC就是其大脑,因为它是用于指定微电路分配。微控制器实现了一个包含7个通道的24位Σ∆ ADC的模块。
对于三相网络,所有通道分为三对F0-F2(电压通道和电流通道)和一个独立的电流通道(称为F0)。7个通道中的每个通道都以高达16 kHz的输出采样率数字化输入信号。
此外,在每对通道F0-F2中,都有机会计算电流/电压的均方根值,计算有功和无功功率,计算消耗的有功和无功电能,电压中的信号频率通道,峰值超出部分以及信号下降到低于设定水平。
这些额外的功能块降低了处理器的负载,从而减少了整个芯片的功耗。此外,每个ADC都有一个独立的DMA通道,无需处理器参与即可将数据保存到RAM。
Σ∆ ADC单元的主要参数和功能列表:
-
7个独立的ADC,输出采样率为4/8/16 kHz(4个电流通道和3个电压通道)。这些通道组成3个块,用于测量每个相F0-F2的参数。
-
在通道F0的块中,实现了当前通道(具有最大值)的自动选择,用于功率特性的后续计算。如果电流差超过6%,则会产生中断。除此功能外,其余的块F0-F2是相同的。
-
所有ADC通道均具有独立的斜率校准系数特性。
-
每个当前通道都有一个独立的积分器。
-
每个ADC模块(F0-F2)通过电压通道独立计算信号周期。计算此值的周期数可以设置为等于1/2/4/8/16/32/64/128个周期。
-
每个模块都可以验证电压通道中周期性信号的损耗。
-
每个模块都可以验证电压“下降”到指定水平以下,以及电流和电压通道中的信号是否超出指定限制。
-
允许以0.02%的精度校正电压通道中信号的相位。
-
允许计算均方根值,电流和电压的均方根平方值以及它们的独立校准。
-
在计算有功和无功能量时,该期间的累计能量值存储在单独的寄存器中(用于正和负能量)。
-
全功率和能量计算。
-
相对于相位0计算相移。
因此,计算所消耗的功耗是在处理器的最小参与下执行的。
5. 保护
5.1 密码保护
该微电路实现了信息保护的所有功能,包括:
-
支持块密码AES的协处理器块;
-
随机数发生器;
-
用于计算任意多项式的CRC的块;
-
带电池的关键信息专用易失性存储
-
一次性可编程引导加载程序ROM,可实现每个芯片的唯一标识。
对称加密是在协处理器的基础上实现的,协处理器可以加快最困难的操作。这样可以以最高10 Mbps的最高性能来加速加密速度。如有必要,可在软件中实现非对称密码算法。
5.2 工程防护
为了防止各种工程方法对电能表和独立芯片的冲击,采用了特殊的工程保护方法:
-
3个用于篡改检测器的引脚(电子密封件)
-
频率变化检测器模块
-
电源电压变化检测器单元
-
光学探测器单元
-
防止未经授权的内存读取
针夯探测器的引脚是微控制器的三个单独的引脚,即使在没有主电源(仅电池)且所有时钟关闭的情况下,也可以通过它们记录来自外部电子密封件的信号。因此,将检测并记录对仪表的任何机械冲击尝试。除了设备外壳的保护机制外,还实现了保护微电路自身免受更复杂攻击的方法。
为了消除处理器频率 "加速 "或反之 "减速 "的情况,实现了频率变化检测器,它不断地将外部频率源与内部RC发生器进行比较,当偏差发生在规定的范围之外时,它就会产生事件或将芯片切换到内部(在芯片上实现的)应急频率源。
频率信号的 "突变 "由输入信号的滤波系统来抵消。为了在打开主电源时正确启动微电路,以及检测电源超出可接受范围的事实,实现了一个电压检测单元。该单元还监测在没有主电源的情况下,芯片赖以工作的电池电量。因此,已经消除了任何通过电源电压破坏微电路运行的操作或企图。
为了避免关键信息通过 "后侧 "通道(例如电源电路)泄漏,已经在微电路中使用伪随机数发生器实现了主电源噪声掩蔽模块。该模块会产生一个随机变化的附加消耗,用量掩盖主消耗。为了防止更严重的半侵入式和侵入式攻击(当访问微电路的裸片甚至裸片的单个电路时对微电路的攻击),实现了光学检测器。由于通常是微电路的裸片,因此不可能有光进入。万一微电路断开并且光线接触芯片,光学传感器将发出警报。
如果入侵者走得更远,那么为了限制对微电路内部电路的访问,在裸片布局的上层实施保护堆栈,其中接地电路和功率电路交织在一起,以及沿信息电路传输随机多项式。顺便说一句,这就是为什么上面的图片显示的是CAD的布局图,而不是裸片的真实照片。
至于裸片的真实图片,看起来像这样。
对比一下,ST卡芯片(ST23系列)的防盗网是这样的。
如果网状物完整性受到物理侵犯,也会产生报警。软件必须监控所有报警事件,如果发生,则记录攻击的事实。更为重要的是,可以配置微电路,当检测到攻击时,密码密钥信息会自动删除。这一切都需要软件的保证。
对于用户程序,该芯片包含16 KB的一次性可编程ROM和256 + 8 KB的可重新编程闪存。该芯片是从内置的一次性可编程存储器启动的。最初,在芯片制造时,这个存储器是干净的,对于系列化产品,在测试和剔除过程中要加载一个启动可信的bootloader。这样就可以为每个芯片提供唯一的标识,保证计量和加密软件的完整性,同时也保证了闪存中用户程序的保护。
6. 结论
尽管很多人对俄罗斯芯片持怀疑态度,但我们确信Milandr已经可以与外国公司竞争。
原文链接:
https://habr.com/ru/company/milandr/blog/533322/