利用DS5250直接升级DS5002

2008-07-18
添加至 myAnalog

将文章添加到 myAnalog 的资源部分、现有项目或新项目。

创建新项目

摘要

DS5250高速安全微控制器采用80引脚扁平封装(QFP),是DS5002FP引脚兼容的高性能升级产品。从DS5002FP升级到DS5250,能够提供更高的性能,无需更改现有的硬件设计即可获得更高的安全性,并可支持更多的功能。

系统升级后所带来的好处包括速度更高(DS5250的速度高达25MHz)、强大的3DES程序存储器加密以及能够支持公钥加密算法(如:RSA)的4096位模加速引擎。写应用程序时,扩展内部SRAM、附加时钟模式以及双数据指针自动递增功能大大提高了设计灵活性。只需稍加修改,DS5002FP的开发程序即可直接移植到DS5250。

DS5250高速安全微控制器采用80引脚扁平封装(QFP),是引脚兼容于DS5002FP的 高性能升级产品。DS5250支持DS5002所提供的性能,可直接替代DS5002FP的现有 设计。为DS5002FP编写的软件稍加修改甚至无需修改即可移植于DS5250,轻松提 升系统性能和安全性,同时又为系统增加了DS5250所提供的更多特性(表1)。

性能

DS5250与DS5002FP相比具有更高的时钟频率,每机器周期需要更少的时钟。改进后 的流水线内核能够在4个时钟周期内执行一条单字节指令,而DS5002FP则需要12个时钟周期。

1kB的指令缓存降低了程序存储器加密对运行速度的影响,所以,在相同时钟频率下,即使 采用3DES加密算法,DS5250仍然比DS5002FP的性能平均提高2.5倍。

表1. DS5002FP和DS5250特性对比

DS5002FP
DS5250
FEATURES
PERFORMANCE
16MHz
25MHz
Maximum clock frequency
12
4
Clocks-per-machine cycle
25.2
8.4*
Average clocks per instruction
0.63
3.9*
Average MIPS
SECURITY
80-bit proprietary algorithm (single byte)
Single DES or 3DES (8-byte block)
Encryption of data in program memory (decrypted in parallel with program execution)
No
Yes
Separate encryption for program and MOVX memory
None
4096-bit MAA engine (1024-bit public key modular exponentiation in under 650ms)
Public key cryptography support
SDI pin
SDI pin: no battery/battery attach; low temperature (< 60°C)**
Destructive reset (DRS) triggers
No
Yes (optional)
Timed access on port write
48 bytes
1024 bytes
Vector RAM
No
Yes
Unique laser ID
No
Yes
Secure loader
FLEXIBILITY
1x, idle, stop
1x, idle, stop; 2x/4x (crystal multiplier); divide by 1024 (PMM); internal ring oscillator
Oscillator clock modes
1
2
Serial ports
2
3
Timers
2
6
External interrupts
No
Hardware and loader ROM
Flash memory support
No
Yes**
Real-time clock

*零拉伸周期,16位标准寻址模式。
**100引脚QFP仅有。

安全性

DS5250外部程序存储器利用单DES或3DES加密算法进行自动保护,数据存储器可随意进行加密。与DS5002FP一样,加密密钥由内部随机数发生器自动产生、加载。DS5250采用独立的程序密钥和数据存储器密钥,对程序存储器用8字节分块加密的方式替代逐字节加密方式,进一步提高了安全性。

DS5250提供4kB的内部SRAM可用作程序存储器或数据存储器,或两者兼之;1kB的SRAM可被选择用于扩充栈。

除了DES和3DES外,DS5250还包括一个4096位MAA引擎支持公开密钥加密算法,如RSA。扩展后的片内向量RAM (1024字节,DS5002FP为48字节)提供了更大的空间用于存储一些关键数据或代码,如中断或复位管理等。

为了保护内部和外部存储器,DS5250能够在几种条件下触发一个破坏性的复位(DRS)操作。与DS5002FP相同,在SDI引脚作用一个信号可以擦除存储器密钥、向量RAM以及任何外部电池备份的存储器。此外,DS5250在电池脱离或重新加入电池时也会触发一次DRS。

DS5250的可编程回避特性能够防止反复试探型攻击,它会在一个短时间内产生异常数量(由用户选择)的复位。一旦使能,这种安全模式将对重复性的复位攻击响应以增加的延迟,延迟时间由用户选择。根据重复复位的次数,恢复运行的延迟时间会从几秒钟增加到几个小时、甚至几个星期。最高安全级下,DS5250在遭受强行侵入时能够在完全擦除内部数据之前永久性地锁定于ROM内,使之无法使用。

另外一种防止侵入的方法是对所有输出端口写加以可选的定时访问限制。这就增加了侵入者必须正确加密的指令字节数,以便向I/O端口写入一个可识别的模板。

灵活性

DS5250与DS5002FP相比在其内部提供了一套扩展资源,这些资源为实际应用和系统 设计提供了极大的灵活性。除1kB向量RAM外,DS5250还具有4kB的内部SRAM可 用作程序存储器或数据存储器,而且,SRAM中的1kB空间还可用于扩展堆栈。

对于时钟和电源管理,DS5250具有DS5002FP所支持的标准停机和空闲模式。时钟倍频电路允许对外部晶振频率进行两倍频或四倍频,能够在较宽的晶振范围内产生指定的时钟, 有利于降低外部EMI。电源管理模式(PMM)下将外部晶振频率除以1024,当器件不需要全速运行操作时有效降低功率损耗。如果在PMM模式下需要快速响应一个串行输入或中断,回切功能能够在响应这些输入时自动恢复全速运行模式。另外,也可以用工作频率近似为12MHz的内部环形振荡器替代外部晶振输入,无需等待晶振恢复即可快速退出停机模式。

将设计升级至DS5250的特殊要求

DS5250几乎保持了DS5002FP的所有特性,但存在以下两个不同点:

  • DS5250通过专用数据总线(BA14–BA0和BD7–BD0)访问所有外部存储器(或存储器映射I/O)。不支持通过端口0和端口2的地址/数据复用总线访问存储器。

  • 程序存储器的高速缓存能够以最快速度运行程序,当然,与高速缓存相关的装载及延迟操作可能会影响I/O口时序或位操作。

  • DS5250程序存储器安全功能的提高可能会增大数据块交换和/或存储器重叠设计的复杂度。程序密钥修改寄存器以及针对程序和数据存储器的不同加密结构等特殊功能需要重新评估DS5002FP的存储器映射方式。

  • DS5250不支持可重编程的外设控制器(RPC)模式。
如果设计中用到了上述特性的任何一点,选用DS5250 时都需要对原设计进行修改。

另外,用DS5250替代DS5002FP后通过专用总线访问外部RAM的定时需要作一点改动。需要通过交流定时分析确认RAM和DS5250的兼容性,特别是当DS5250运行在DS5002FP最大时钟16MHz以上时。

将DS5002FP软件置入DS5250

DS5002FP和DS5250具有相同的指令集,DS5002FP中的绝大多数特殊功能寄存器(SFR)在DS5250中保持 相同的地址和功能。当然,将DS5002FP的现有软件置入DS5250时还需要作一些修改。

存储器配置

通过专用地址总线访问存储器时,DS5002FP和DDS5250 (80引脚QFP封装)支持两种类型的外部存储器配置。

图1为多芯片配置结构,图中MSEL引脚连接到VCC,四个32kB x 8 SRAM器件与专用总线连接,其中两个器件(由低电平有效的CE2和CE1使能)用作64kB程序存储器,另外两个器件(由低电平有效的CE4和CE3使能)用作64kB的数据存储器。选择这种配置需采用下面的SFR设置:

  • ACON.1 (AM1)和ACON.0 (AM0)设置为0,选择16位寻址模式(与现有软件保持一致)。

  • MSIZE设置为00h,选择32kB IC存储容量。注意,该寄存器只能在ROM装载或用户装载 模式下进行设置。

  • MCON.1 (PM)设置为1,选择无分区模式。

  • 程序存储器自动加密,PBCC.0 (TDESE)位用于选择单DES (TDESE = 0)或3DES (TDESE = 1)程序加密方式。这一位只能在ROM装载或用户装载模式下进行设置。

  • 如果需要对数据存储器进行加密,将DMOS.1 (C3EE)和DMOS.2 (C4EE)设置为1,每一位 对应控制一片存储器件。
图1. 在多芯片存储器配置中,外部程序存储器和数据存储器分配到4个外部32kB x 8 SRAM器件中。
图1. 在多芯片存储器配置中,外部程序存储器和数据存储器分配到4个外部32kB x 8 SRAM器件中。

在单片配置(图2)中,MSEL引脚接地,单片128kB x 8 SRAM接专用总线,该器件(由CE1使能)用作程序和数据存储器,CE2、CE3成为两条附加的地址线。选择这种配置时需采用下面的SFR设置:

  • ACON.1 (AM1)和ACON.0 (AM0)设置为0,选择16位寻址模式(与现有软件保持一致)。

  • MSIZE设置为XX001001b,选择128kB芯片存储容量。注意,该寄存器只能在ROM装载或用户装载模式下进行设置。

  • 程序存储器自动加密,PBCC.0 (TDESE)位用于选择单DES (TDESE = 0)或3DES (TDESE = 1)程序加密方式。这一位只能在ROM装载或用户装载模式下进行设置。

  • 数据存储器自动加密。
图2. 单片存储器配置中,一片128kB x 8 SRAM器件被作为外部程序和数据存储器。
图2. 单片存储器配置中,一片128kB x 8 SRAM器件被作为外部程序和数据存储器。

中断处理

DS5250以相同方式支持DS5002FP中6个中断源的5个,DS5250同样也支持电源失效中断,只是有以下不同:

  • 电源失效中断向量位于33h而不是2Bh:其优先级(0,最高)保持不变。

  • 该中断的使能位位于WDCON.5 (EPFI)。

  • 发生电源失效事件的标志位位于WDCON.4 (PFI)。

确定复位源

DS5002FP中,POR位(PCON.6)在上电复位时被清零,利用软件可以检查这一位的状态以确定复位原因。在DS5250中,POR位(WDCON.6)完成这一功能,但这一位在上电复位时被置位(而非清零)。这两位都需要由软件通过定时访问写来清零。

DS5250流水线型的内核运行单字节指令只需4个时钟周期而非DS5002FP的12时钟周期。

看门狗控制

所有器件具有相同的看门狗功能,但在控制DS5250的看门狗电路时需作以下修改和附加操作:

  • 看门狗使能位位于WDCON.1 (EWT)

  • 看门狗复位位位于WDCON.2 (RWT)

  • 发生看门狗定时复位的指示标志位于WDCON.2 (WTRF)。与DS5002FP的WTR位不同的是,这一位必须明确地写0才可清除。

  • DS5250提供看门狗中断(中断向量63h)。该中断由EWDI位(EIE.4)控制使能后将在发生看门狗复位之前触发,如果需要也可以通过软件处理看门狗超时。DS5250的WD1–WD0 (CKCON.7-6)位用于控制看门狗中断和复位的定时周期,而复位时间与DS5002FP近似相等。

随机数发生器

三种型号的随机数发生器(RNR)功能相同。但在DS5250中用于指示新的随机数已就绪的标志位位于RAMST.0 (RNRF)。DS5250产生一个新的随机数大约需要30ms。

CRC操作

DS5250支持新型CRC-32运算,而用于计算CRC-16值的过程也不相同。

  • DS5250没有CRC (C1h)、CRCLow (C2h)和CRCHigh (C3h)寄存器。

  • 执行CRC-16运算时,首先要将CRCNT (RAMST.1)位清零选择CRC-16模式。然后将CRC数据写入CRC1 (B1h)寄存器,至少需要五个机器周期(或在写操作之间执行三次空操作)来保证CRC寄存器的设置时间。数据全部写入后,即可从CRC2:CRC1读出CRC-16的数值。

  • 清CRC寄存器时不再需要将CRC最低有效字节两次写入引擎。DS5240中,在CRC2中写入任何数值都可以自动将CRC1、CRC2、CRC3和CRC4清零。
表2. DS5250新特性总结(仅80引脚QFP)
FEATURE
SFRS
Timer2 CKCON.5 (T2M): Clock Mode Select
P1.1 (T2EX), P1.0 (T2): External Inputs
T2CON: Flags and Mode Control
T2MOD: Mode Control
TH2, TL2: Timer Count MSB/LSB
RCAP2H, RCAP2L: Timer Capture MSB/LSB
Data Pointers DPH1, DPL1: Data Pointer 1 MSB/LSB
DPS: Data Pointer Select
CRC: 32 RAMST.1 (CRCNT): CRC 16/32 Select
CRC1, CRC2, CRC3, CRC4: I/O Registers
DES Engine UDESC: DES Engine Control
UDESD: DES Engine Data Input/Output
Modular Accelerator Engine MAS0, MAS1: Operation Size Select
MACT: Accelerator Control Register
User Loader Mode ACON.6 (ULME): User-Loader Mode Enable
PEK1, PEK2, DEK, ROMST, PBCD,
PBCC: Encryption/Loading Control
Laser ID BP: Bootloader Password Register
Crystal Multiplier and Power Management PMR: Power Management Register
Extended 1kB Stack ESP: Extended Stack Pointer
RAMST.5, RAMST.4: RAMST1 Mode Select
Output Port Timed: Access Protection RAR.3 (TAP): Timed: Access Port Enable

结束语

DS5250的许多新增特性不需要作任何硬件修改即可利用,表2归纳了这些新特性和相应的控制SFR。

DS5250比DS5002FP具有更高的安全性、更高的性能指标和更高的灵活性。只需少量修改即可将软件移植到DS5250,可轻松升级DS5002FP的设计。

升级设计至100引脚QFP

100引脚QFP封装的DS5250具有80引脚封装的所有特性,但其引脚与DS5002FP不兼容,也不具备DS5002FP模式的存储器接口。它还提供以下特性:

  • 可选择的扩展存储器接口,最多4MB程序和数据存储器,4MB存储器映射I/O。

  • 片上RTC (由外部32.768kHz晶振驱动)可用于时间标记和自定义终止日期。

  • 温度传感器在遭受低温侵袭时可触发DRS。

  • 附加的SDI输入引脚可连接到中断口实现软件控制的入侵响应。

  • 对于外部闪存的硬件支持(DS5250包含的装载ROM支持)

更多信息

有关DS5250高速安全微控制器的简单介绍可从china.maximintegrated.com获得。索取保密的数据资料和用户指南需要签署保密协议(NDA)。欲了解更多信息请联络Maxim客户服务中心

最新视频 21

Subtitle
了解更多
添加至 myAnalog

将文章添加到 myAnalog 的资源部分、现有项目或新项目。

创建新项目