AT89C 系列系列单单片机加解密原理片机加解密原理AT89CAT89C 系列单片机加解密原理系列单片机加解密原理 单片机解密简单就是擦除单片机片内的加密锁定位由于AT89C 系列单片机擦除操作时序设计上的不合理使在擦除片内程序之前首先擦除加密锁定位成为可能AT89C 系列单片机擦除操作的时序为:擦除开始--擦除操作硬件初始化(10 微秒)--擦除加密锁定位(50----200 微秒)-擦除片内程序存储器内的数据(10 毫秒)---擦除结束如果用程序监控擦除过程,一旦加密锁定位被擦除就终止擦除操作,停止进一步擦除片内程序存储器,加过密的单片机就变成没加密的单片机了片内程序可通过总线被读出对于 AT89C 系列单片机有两种不可破解的加密方法一、永久性地破坏单片机的加密位的加密方法简称 OTP 加密模式二、永久性地破坏单片机的数据总线的加密方法简称烧总线加密模式OTPOTP 加密模式原理加密模式原理这种编程加密算法烧坏加密锁定位(把芯片内的硅片击穿),面不破坏其它部分,不占用单片机任何资源加密锁定位被烧坏后不再具有擦除特性,89C51/52/55 有 3 个加密位进一步增加了加密的可靠性一旦用 OTP 模式加密后,单片机片内的加密位和程序存储器内的数据就不能被再次擦除,89C51/52/55 单片机就好象变成了一次性编程的 OTP 型单片机一样。
如果用户程序长度大于 89C51 单片机片内存储器的容量,也可使用 OPT 模式做加密,具体方法如下:1、按常规扩展一片大容量程序存储器,如27C512(64K)2、把关键的程序部分安排在程序的前 4K 中3、把整个程序写入 27C512,再把 27C512 的前 4K 填充为 04、把程序的前 4K 固化到 AT89C51 中,用 OPT 模式做加密5、把单片机的 EA 脚接高电平这样程序的前 4K 在单片机内部运行,后 60K 在片外运行盗版者无法读出程序的前 4K 程序,即使知道后 60K 也无济于事炼总线加密模式原理炼总线加密模式原理因为单片机片内的程序代码最终都要通过数据总线读出,如果指导单片机的数据总线的其中一条线永久性地破坏,解密者即使擦除了加密位,也无法读出片内的程序的正确代码89C1051/2051 的数据总线为 P1 口烧总线模式烧坏 89C2051 的P1.0 端口,原程序代码为 02H、01H、00H读出的数据则为03H,01H,00H其中最低位始终为 1,读出的程序代码显然为错码这种加密模式用于加密 89C1051/2051 单片机缺点是占用单片机的资源开发设计人员在设计单片机硬件系统时只要预留出口线 P1.0 不用,以后就可用烧总线模式对单片机加密。
X25045X25045 在舞台灯光换色器设计中的应用在舞台灯光换色器设计中的应用摘要:摘要:灯光换色器舞台上常用的灯光设备本文详细介绍一种采用 AT89C2051 单片机设计的新型换色器首先,简述换色器的工作原理及基使用的 DMX512 通信协议然后,详细介绍 E2PROM 芯片 X25045 的使用最后,给出 X25045 的接口设计关键词:关键词:换色器 AT89C2051 DMX512 协议 X25045引言引言舞台灯光效果设计是舞台场景设计的重要组成部分目前国内使用的各种新型灯光设备,如换色器、调光器、电脑灯等大多是从国外进口,国内几乎没有生产为此,我们应国内某舞台灯不设备厂的要求设计了一种以 AT89C2051 单片机为控制器的新型舞台灯光换色器 HSQ-1A该换色器可变换 8 种色彩,换色精度高,工作可靠使用时,舞台上所有的换色器和总控制台根据 RS-485 协议连成总线网络;总控制台作为主机通过总线发布命令,控制所有换色器的工作以下介绍换色器的工作原理及设计方案一、系统结构和工作原理一、系统结构和工作原理换色器由一个中空的框架、两根卷轴以及各色透光薄膜组成制作时,首先将不同颜色的透光膜连接成条幅,并在条幅的两端安上卷轴。
然后用卷轴将条幅卷起,以活动的方式把卷轴安装在框架的两侧使用时,把换色器放在白色光源前方,转动两根卷切换不同颜色的透光膜,从而产生不同颜色的灯光效果这种不换光源只换透光膜的换色方案,与更换不同颜色光源的方案相比,虽然换色速度较慢,但成本低,可靠性高因此,换色器在换色频度低的场合中应用很广在换色器的设计中,重点在于卷轴的驱动和定位机构的设计过去,采用的交流电机和光电码盘实现方式,运行噪声大、定位精度差,在实际使用中效果不理想现在,在新换色器中选用步进电机作为驱动和定位机构,彻底解决了以上问题换色器工作时运行平稳、噪声小、定位精度高,完全达到了设计要求总控制台与换色器之间的通信使用 DMX512 数据传输协议DMX512 协议是美国舞台灯光协会(USITT)于 1990 年发布的一种灯光控制器与灯具设备进行数据传输的标准这包括电气特性、数据协议、数据格式等各方面的内容DMX512 电气特性与 RS-485 完全兼容,包括驱动器/接收器的选择、线路负载和多站配置等方面的要求都是一致的DMX512 数据协议规定使用 250Kbps 的波特率在进行正常数据传输之前,发送 1 个复位信号,声明数据传输的开始。
随后的第 1 帧数据称为起始代码,其中包含设备类型码,以指明后续数据的接收设备的类型最后,按设备编号的顺序给每个设备发送1 帧数据,依次为:1#设备数据帧、2#设备数据帧,直至最后一个设备设备总数最多可达 512 个,数据帧间隔为高电平,最长不超过 1sDMX512 数据格式规定,1 帧数据长度为 11 位按传送顺序说明如下:第 1 位——起始位,低电平(SPACE);第 2~9 位——数据位,从最低位到最高位(LSB~MSB),正逻辑;第 10、11 位——停止位,高电平(MARK);奇偶校验位——不传送二、硬件电路二、硬件电路换色器硬件电路如图 1 所示:ULN2003A 是内含 7 个达林顿管的驱动芯片,输入电压与 TTL 电平兼容每个上达林顿管的集电极可吸收最大 500mA 的电流,耐压 30V,因此可以用来驱动四相步进电机74LS125 三态门用于控制电机的工作方式电机正常工作时,74LS125 处于导通状态,两个电机可以同方向、同步转动;电机复位时,三态门阻断,只有一个电机可以转动MAX1487 用于驱动/接收 RS-485 信号其接收器的输入阻抗只有 1/4 个单位负载,最多可连接 128 个通信设备。
另外,MAX1487 的传输信号变化沿没有限制斜率,所以最高数据传输可达 2.5Mbps三、三、X25045X25045 介绍介绍在采用 DMX512 协议通信时,换色器的编号用于从总控制台发送的数据包中选择发给本设备的数据帧正常工作时,编号数据不会掉电丢失,而且必要时编号还可修改因此采用 XICOR 公司的串行 E2PROM 器件 X25045 对编号数据进行存储X25045 是带有串行 E2PROM 的 CPU 监控器图 2 是它的引脚图:CS/WDI:片选输入/看门狗复位输入;SO:串行输出;WP:写保护输入;Vss:地;Vcc:电源;RESET:复位输出;SCK:同步时钟输入;SI:串行输入X25045 的状态寄存器描述器件的当前状态,各位意义如表 1 所列表表 1 17654321000WD1WD0BL1BL0WELWIP其中,WD1、WD0 是看门狗定时时间设置位;BL1、BL0 是存储单元写保护区设置位;WEL 是只读标志,1 表明写使能开关打开;WIP 也是只读标志,1 代表芯片内部正处于写周期电复位时,各位都被清零X25045 芯片功能包括以下 4 种:(1)上电复位控制。
在对 X25045 通电时,ERSET 引脚输出有效的复位信号,并保持至少 200ms,使 CPU 有效复位2)电源电压监控当检测到电源电压低于内部门槛电压 VTRIP 时,RESET 输出复位信号,直至电源电压高于 VTRIP 并保持至少 200ms,复位信号才被撤消VTRIP 的出厂值根据芯片型号不同共有 5 个级别的电压范围对于需要电源电压精确监控的应用,用户可以搭建编程电路,对芯片内 VTRIP 电压进行微调3)看门狗定时器芯片内部状态寄存器的 WD1、WD0 是看门狗定时设置位,通过状态寄存器写指令 WRSR 修改这 2 个标志位,就能在 3 种定时间隔中进行选择或关闭定时器对看门狗的复位由 CS 输入电平的下降沿完成表 2 是 WD1、WD0 组合的含义表表 2 2WD1WD0看门狗定时值001.4s01600ms10200ms11禁止看门狗工作(4)串行 E2PROM芯片内含 512 字节存储单元,10 万次可靠写,数据保持时间 100 年XICOR 设计了 3 种保护方式防止误写包括:WP 写保护引脚,当引脚被拉低时,内部存储单元状态寄存器都禁止写入;存储区域写保护模式,通过对状态寄存器的 BL1、BL0 位的设置,可以选择对不同的存储区域进行写保护;在进行任何写操作前都必须打开写使能开关,而且在上电初始化写操作完成时,写使能开关自动关闭。
显然,在几方面的保护之下,产生误写的可能性极小,表 3 是 BL1、BL0 组合的含义表表 3 3 BL1BL0写保护的单元地址00没有保护01180H~1FFH10100H~1FFH11000H~1FFH对 X25045 的操作是通过 4 根口线 CS、SCK、SI 和 SO 进行同步串行通信来完成的SCK 是外部输入的同步时钟信号在对芯片定改指令或数据时,时钟前沿将 SI 引脚信号输入;在读邮数据时,时钟后沿将数据位输出到 SO 引脚上数据的输入/输出都是高位在先芯片内部共有 6 条指令,如表 4 所列表表 4 4命令名称命令格式内 容WREN0000 0110打开写使能开关WRDI0000 0100关闭写使能开关RDSR0000 0101读状态寄存器WRSR0000 0001写状态寄存器READ0000 A8011读存储单元WRITE0000 A8010写存储单元(1)WREN 和 WRDI 是写使能开关的开/关指令它们都是单字节指令2)RDSR 和 WRSR 是状态寄存器的读/写指令在从 SI 输入指令后,RDSR 的执行结果,即状态寄存器内容须从 SO 读出;而 WRSR 需要紧接着输入修改数据。
3)READ 和 WEITE 是存储单元的读/写指令输入指令后(指令码第三代表存储单元地址的最高位),接着输入低八位地址,最后就可以连续读出或写入数据其中,读指针和写指针的工作方式完全不同,读指针的全部 8 位用来计数,0FFH 溢出后变成 00H;写指针只用最低两位计数,XXXXXX11B 溢出后变成 XXXX XX00B,所以连续写的实际结果是在 4 个单元中反复写入另外,由于 E2PROM 的写入时间长,所以在连续两条写指令之间应读取 WIP 状态,只有内部写周期结束时才可输入下一条写指令AT89C2051 内部没有 SPI 接口硬件,因此本系统利用了单片机的 4 根口线和软件模拟读写时序的方式与 X25045 通信软件包在文末给出四、软件原理四、软件原理系统程序包括主程序和串口通信断服务程序主程序首先从 X25045 中取出本设备编号备用,然后进入循环特环程序的主要任务包括:①检测换色标志,当换色标志有效时,则调用步进电机驱动程序控制转抽,将换色器切换到新颜色;②帧间隔 1s 延时,当时间到时,中断程序将复位串口接收程序;③定时复位 X25045 的看门狗通信中断服务程序用于检测 RS-485 总线发送的复位信号和起始代码。
当两者同时有效时开始对后续接收的数据帧进行帧计数当计数值与设备编号相同时,说明当前帧是给本设备的数据,于是根据该数据设置换色标志,由主程序执行换色动作X25045 的通信接口软件:CS。