|
测控系统中实现数据安全的实用技术 湖南大学曾 刚彭楚武贺蓉徐成 长沙电力学院周 辉 摘要介绍测控系统中,对于非易失性存储的重要信息,如何实现数据安全的实用技术。包括:芯片的选型,相应的硬件、软件措施,数据破坏后的校验恢复手段。这些都可有效增强数据的安全性,同时也提高了测控系统的抗干扰能力和可靠性。 关键词测控系统非易失存储安全性自恢复 前言 一般的测控系统常常工作于恶劣的工作环境中,经常受到各种干扰。干扰的主要影响之一是破坏了系统正常工作所需的各种可编程常数以及测控得到的测量数据,从而使得整个系统的可靠性大为降低。因此,如何保护这些要求非易失性存储的关键数据不被破坏,确保数据的安全性对于测控系统具有重要的实际意义。 一、 数据存储芯片的选择 测控系统中对于重要数据的非易失存储常采用以下芯片实现。 (1) EPROM 数据安全可靠,但不能在线修改,容量大,价格便宜。 (2)E2PROM 可实现在线修改,但写入时间较长,典型值为5~10ms,写入次数有限,擦写次数典型值为1~100万次,价格较便宜。 并行:接口连线较多,体积大,读写控制容易,读出速度快,如28系列(2816)。 串行:接口简单,连线少,体积小,读写时间较长,控制较复杂。 SPI(3线总线)接口,容量较小,8位、16位数据宽度可选,如93系列(93C46)。 I2C(2线总线)接口,容量大,8位数据宽度,支持页面写,如24系列(24C64)。 (3) 非易失性RAM 与普通RAM兼容,读写速度快,内含锂电池和数据保护电路,可实现非易失性存储,无写入次数限制,但价格较贵。 (4) 能实现非易失存储的多功能芯片 如:X25045内含SPI接口的4Kb串行E2PROM和看门狗复位电路; DS12887内含日历时钟和256字节非易失性RAM。 芯片选择原则: ① 程序中不需要修改的数据常数最好置于EPROM中,有条件尽量选择内置EPROM或FLASH的MCU,程序在MCU内部执行,可进一步提高系统的抗干扰能力。 ② 少量数据的保存,可选用SPI接口串行E2PROM芯片。如果电路中需要看门狗或日历时钟,则可选择带非易失存储的多功能芯片。 ③ 数据读写频繁,且读写速度要求快,可选用非易失性RAM。 ④ 有大量数据需要修改,且擦写次数较少,可采用I2C接口的串行E2PROM。 二、 数据安全的硬件措施 影响数据安全的原因主要有2个: (1) 上电和断电过程中,电源冲击对存储芯片的影响,以及上电和断电过程中MCU不能可靠复位,导致程序跑飞改写了数据。 (2) 程序运行过程中,受到各种干扰导致失控跑飞改写数据。 针对以上原因主要可采取以下措施: (1) 采用看门狗监控芯片,在上电和断电过程中实现可靠复位。同时,当程序跑飞时实现自动复位,减少数据被改写的可能性。 (2) 数据被改写的主要原因是随机干扰信号满足了芯片写时序的要求,执行了非法写操作(如RAM芯片的CS,WR为低时即完成1次写操作)。因此,如果能在需要写操作时才开放芯片写信号,而平时处于写禁止状态,则可大大提高数据的安全性。如某电焊机控制器要求焊接之前由用户输入焊接时间、焊接电流等数据。焊接过程中将根据这些常数控制焊机工作。但焊接时系统处于强大的干扰环境,数据极易受到干扰破坏。为此可选择采用以下3种数据保护措施: ① 设置硬件写保护开关/信号(可设置在显示面板上),编程时置于写允许状态,平时运行置于写禁止状态。其硬件原理如图1所示。 图1硬件写保护开关原理图图2GAL区域保护原理图② 基于硬件写开/关信号(编程器接入信号)的GAL区域保护方法,如图2所示。第1种方法只能对整个芯片实行写保护,但焊接过程中又需要部分RAM作为数据缓冲。所以通过GAL译码将RAM空间分为两部分:一部分可随时读写;一部分只有编程时才能写。如将6116分成高低地址两个区域,各1KB,其中低地址区只有在编程器插入时(BCQ信号为低)才能修改数据,编程器拔出(BCQ信号为高),处于焊接状态时禁止写入;高地址区则可任意读写。相应GAL译码逻辑为: !6116/WR=(!WR&!BCQ&!A11&!A12&!A13&!A14&!A15)#(!WR&A10&!A11&!A12&!A13&!A14&!A15) ③ 使用带有块锁存、写保护的串行E2PROM。 SPI接口E2PROM支持软件写保护,EWEN/EWDS指令将允许/禁止写操作。 I2C接口E2PROM支持硬件写保护,WP引脚接高电平禁止写操作。 三、 数据安全的软件措施 尽管采用以上的硬件措施,可有效提高数据的安全性,但是程序在执行过程中,受到强烈干扰后,仍有跑飞改写数据的可能性。除了采用硬件看门狗电路,利用软件自恢复方法(一般比看门狗先动作),让跑飞的程序尽快回到正常的路线,也可有效地增强数据的安全性。此外只要程序中有写数据的要求,就有数据被破坏的可能。因此,如何正确识别数据的有效性,对被破坏的数据采取一定的数据恢复手段也具有重要意义。 如在某公用电话集中管理计费系统中,各种计费信息存于主机(PC机)和从机(单片机系统)中,主机计费信息可以修改并可通过电话线下载到各从机。具体的计费任务由从机完成。为了保证从机计费的准确无误,我们采用了以下软件纠错方法。 (1) 多备份自校验恢复措施:对于重要数据在生成时可进行多个备份,存于存储芯片的不同地址区,同时生成校验码。每次系统开机时可进行数据自校验自恢复,自恢复失败时可向主机申请恢复或者报警提示用户人工干预。其流程如图3所示。 (2) 口令验证写方式:正常执行的程序每执行一个流程,得到一个标志信息,只有所有标志正确才能进行写操作(设计成一个子程序),写完成清除所有标志;非正常流程的程序执行到写子程序时,因无法满足所有标志信息,将不能完成写操作。图3软件校验数据恢复流程图结束语 以上讨论的各种实用技术,已在多项产品中得到了实际应用,取得了良好的效果。同样该技术也可在需要数据保护的其他微机产品中得到应用。但是,数据保护只是微机系统提高抗干扰能力和可靠性的主要内容之一,要想全面提高系统的可靠性和数据安全性,应将以上技术结合系统整体设计,综合考虑才能取得最佳效果。MES 参考文献 1廖常初等 计算机失控后的自恢复方法 工控电子,1999(20) 2CMOS串行E2PROM原理及应用武汉力源单片机技术研究所,1995(3)
|