
TS80C51RA2/RD2
TS83C51RB2/RC2/RD2
TS87C51RB2/RC2/RD2
8. TS87C51RB2 / RC2 / RD2 EPROM
8.1 。 EPROM结构
该TS87C51RB2 / RC2 / RD2 EPROM被分为两个不同的阵列:
代码数组。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 16/32/64字节。
加密阵列。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 64个字节。
除了第三个非可编程阵列实现的:
签名数组。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 4个字节。
8.2 。 EPROM加密系统
该计划锁定系统,当编程,保护片上打击盗版软件的程序。
8.2.1 。加密阵列
内部EPROM阵列为64字节加密阵列的最初编程(所有的FF ) 。每次
在程序校验字节进行寻址, 6根地址线用于选择加密阵列的一个字节。这
字节是那么异NOR'ed ( XNOR )的代码字节,创建一个加密的校验字节。的算法,以
加密阵列中的未编程状态,将返回代码在其原始的,未经修改的形式。
当使用加密阵列,其中一个重要因素需要考虑。如果一个字节的值是FFH ,验证
字节会产生加密字节值。如果一大块代码( >64字节)不编程,一
验证程序将显示加密阵列的内容。由于这个原因,所有未使用的字节码
应与随机值进行编程。这将确保程序保护。
8.2.2 。程序锁定位
这三个锁定位,当按表29.8.2.3编程。 ,将提供不同级别的保护
片上代码和数据。
表29.程序锁定位
程序锁定位
安全级别
1
LB1
U
LB2
U
LB3
U
保护内容
没有程序锁功能启用。验证码仍然会通过加密进行加密
如果阵列编程。从外部程序存储器MOVC指令执行
返回非加密的数据。
从外部程序存储器执行MOVC指令从取禁用
字节代码从内部存储器, EA采样并锁存的复位,并进一步
在EPROM编程被禁止。
一样的2 ,也验证了被禁用。
同3 ,也可外接执行被禁用。
2
3
4
P
U
U
U
P
U
U
U
P
U:未编程,
P:编程
警告:安全2级和3只EPROM和Core核实后,进行编程。
8.2.3 。签名字节
该TS87C51RB2 / RC2 / RD2包含4个工厂编程的签名字节。要阅读这些字节,执行
在8.3节中描述的过程。
52
版本C - 2001年3月6日