一种具有三重核查功能的制造业记录仪

   2023-08-21 互联网2500
核心提示:  摘要: 现有 RAM + FLASH 架构的无纸记录仪存在数据完备性和可核查性的缺陷,文章提出了一种基于FRAM + FLASH 架构、采用MD5

  摘要: 现有 RAM + FLASH 架构的无纸记录仪存在数据完备性和可核查性的缺陷,文章提出了一种基于FRAM + FLASH 架构、采用MD5 算法的有纸记录仪,通过FRAM + FLASH 架构提升了数据的完备性,通过MD5 算法设置用户“32 位链接变量”和仪器生产商“32 位链接变量”,实现了电子数据的三重核查功能。

  0 引言

  制造业现场的数据采集、记录和分析是实施自动控制的前提。有纸有笔记录仪由于其内部结构复杂、故障率高、记录数据后续处理困难等原因,逐渐被无纸记录所取代。当前市场上的无纸记录仪基本技术特征是: 以微处理器为中心,具有程控信号输入( 俗称万能输入) 、液晶显示屏上多种呈现形式的特征; 支持通信组网、USB 设备( U 盘) 、CF 卡、SD 卡数据备份。目前,制造业无纸记录仪的表内数据存储均采用电池供电RAM + FLASH 的存储架构,该存储架构能兼顾记录仪对存取速度和存储空间的要求,同时又较好地满足了FLASH 独特的读写要求。无纸记录仪凭借优异的经济技术指标,牢牢占据了制造业记录仪市场的主导地位。

  随着无纸记录仪的广泛使用,其缺点亦日渐凸现:电子数据易篡改、难追溯,即存在数据核查手段缺失的不足; 此外,电池供电RAM + FLASH 存储架构还存在数据完备性方面的固有缺陷,导致制造业无纸记录仪难以进入医药、食品等对关键工位的现场数据的不可抵赖性和可核查性具有迫切需求的行业大门。因此,技术落后、性价比欠佳的有纸记录仪在制造业领域仍占有一席之地,甚至屡现有纸记录仪卷土重来、再次取代曾淘汰自己的无纸记录仪个案。

  针对无纸记录仪存在的电子数据易篡改、难追溯,核查功能缺位这一难题。本文借鉴了有纸记录仪的优点、航空业FRAM + FLASH 的存储架构以及计算机加密码学中的 MD5 算法,提出了一种确保数据的完备性、具有三重核查功能的制造业记录仪。

  1 系统硬件结构设计

  具有三重核查功能的制造业记录仪主要由输入通道、程控放大 A/D 转换模块、光电隔离模块、频率输入模块、频率检测模块、数码显示模块、键盘操作模块、FRAM、FLASH、实时时钟模块、E2PROM、冷端补偿模块、RS -232 模块、热敏打印机、报警控制模块和微控制器组成,其中微控制器采用ARM7 芯片PLC2114,其架构如图1 所示。

  1.1 FRAM + FLASH 架构

  制造业记录仪需存储大量的工业现场数据,存储的实时性和可靠性要求较高,而且掉电情况下数据也不能丢失。确保采集的数据能够及时存储,仅使用FLASH 存储器是不行的,因为它的擦写速度较慢,且不能按字节进行擦写操作; 因此,需要扩展一块加电池供电的快速RAM 非易失器件作为记录仪的数据缓存,微处理器空闲时才将RAM 中成页或成块的数据转存到 FLASH 中。记录仪中电池供电的快速 RAM 必需配电池充放电电路、电池电量检测电路、安装固定件和电池等,使得系统复杂度增大、可靠性降低; 实践表明电池供电的快速 RAM 非易失器件是记录仪的主要故障源之一,对记录仪的数据完备性造成了严重的负面影响。因此,有必要改进电池供电RAM + FLASH 的存储架构,提升制造业记录仪数据的完备性。FRAM 具有存储速度快、掉电不丢数据的特点,用来存储记录仪的实时采样数据以及记录仪工作日结束时通过用户“32 位链接变量”和仪器生产商“32 位链接变量”MD5 生成的 128 位散列值; 而 FLASH 具有容量大、价格低廉的特点,用来存储记录仪保存的历史数据; 两种存储器发挥各自的优点,共同完成记录仪的数据存储。FRAM + FLASH 架构如图2 所示,FRAM 选用具有32K 字节存储容量的FM25L256 芯片,FLASH选用AT45DB161D。记录仪在逻辑上将FRAM 分成16K 上下两个存储区; FRAM 上区用于存储记录仪采集的实时数据,并将 FRAM 中成页的数据转存到FLASH,以及记录仪工作日结束时,存储用户“32 位链接变量”MD5 生成的128 位散列值,作为电子数据真实性的核查依据。FRAM 下区单独设列,记录仪随机提供的技术资料中不予披露,仅供仪器生产商使用; 记录仪工作日结束时,存储仪器生产商保密的“32 位链接变量”MD5 生成的另一个128 位散列值,该散列值对用户是透明的,作为第三方核查电子数据真实性的手段。

  1.2 热敏打印机设计

  纸质数据是数据核查的一个重要手段,而机械式有纸有笔记录仪存在着机械活动部件多、故障率较高的问题。因此,本文通过步进电机拖动热敏打印头进行无笔位移动的方法实现纸质数据的记录,从而减少了机械活动部件数量,克服了传统机械式有纸有笔记录仪存在的问题。热敏打印机结构框图如图3 所示,热敏打印机由 RS -232 通信模块、80S52 单片机、步进电机驱动模块、步进电机、热敏头缺纸检测模块、热敏打印头组成。80S52 单片机通过步进电机驱动模块控制步进电机,从而带动热敏打印头进行无笔位打印。

  当热敏打印机缺纸检测模块检测到打印纸仅剩1m时,通过80S52 单片机向操作人员发出报警信息,提醒操作人员进行换纸操作。当检测到打印纸用尽时,热敏打印机缺纸检测模块通过 80S52 单片机控制步进电机停止转动,并发出报警,直到记录仪重新上纸后停止报警并恢复步进电机转动。

  2 基于MD5 算法的数据核查方法

  2.1 记录仪采集数据MD5 加密算法简介

  MD5 的全称是Message-Digest Algorithm 5,是由Ron Rivest 设计的一种单向散列函数。MD5 将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了唯一的MD5 信息摘要。如果记录仪的电子数据内容发生了任何形式的改变,只要对这个文件重新计算MD5 时就会发现信息摘要不相同,由此可以确定得到的记录仪数据被篡改。MD5 不改变记录仪的采集数据,数据的调用、展示和分析也不会有任何变化; 因此,MD5 不会增加用户的运维工作量、能确保记录仪易用性。

  记录仪每个工作日采集数据的 MD5 加密算法分为初始化、主循环和尾部处理三个部分,步骤如下:

  ① 初始化。算法初始化分为原始明文初始化和链接变量初始化两个部分。明文初始化首先将长度为L 的待加密明文P 后面级联一个字节0x80,再级联若干个0x00 作为填充,使其长度为( 512K -64) 位( K 为正整数) 。接着再级联64 位二进制数L,表示加密前的明文长度,此时明文长度被填充为512 位的整数K倍,同时确保不同明文填充后不会相同。读取记录仪内固化的四个32 位链接变量,分别赋值给A、B、C、D四个变量作为其初始值。

  ② 算法主循环。算法主循环如图4 所示,主循环次数为 K。将链接变量 A、B、C、D 分别赋给 a、b、c、d四个变量。每次主循环都有四轮,每轮进行16 次操作,每次操作过程如图5 所示。先对 a、b、c、d 中的三个进行一次非线性函数运算,四轮的非线性函数依次为: F( X,Y,Z) = ( X&Y) |( ( ~ X) &Z) 、G( X,Y,Z) =( X&Z) | ( Y&( ~ Z) ) 、H( X,Y,Z) = X^Y^Z、I( X,Y,Z)= Y^( X | ( ~ Z) ) ,然后将所得结果依次加上第四个变量、Mj( 文本中的第 j 个子分组,0≤j≤15) 和一个 Ci( 常数) ,将所得结果循环左移一个不定的常数 s,然后再加上 a、b、c 或者 d 中之一,最后用该结果取代 ab、c 或者 d 中之一。这四轮操作分别用函数 FF( a,b,c,d,Mj,s,Ci) 、GG( a,b,c,d,Mj,s,Ci) 、HH( a,b,c,d,Mj,s,Ci) 、II( a,b,c,d,Mj,s,Ci) ,其中 FF( a,b,c,d,Mj,s,Ci) 表示 a = b + ( ( a + F( b,c,d) + Mj+ Ci) << s) 、GG( a,b,c,d,Mj,s,Ci) 表示 a = b + ( ( a + G( b,c,d) + Mj+ Ci) << s) 、HH( a,b,c,d,Mj,s,Ci) 表示 a = b + ( ( a+ H( b,c,d) + Mj+ Ci) << s) 、II( a,b,c,d,Mj,s,Ci) 表示 a = b + ( ( a + I( b,c,d) + Mj+ Ci) << s) 。

  ③ 尾部处理。每次主循环全部完成之后,将A、B、C 和 D 分别加上a、b、c 和 d,接着用下一个分组继续运行算法,最后的输出散列值是A、B、C 和 D 的级联。

  2.2 基于MD5 算法的数据核查方法

  当用户的生产质管或产品安全部门需要对记录数据进行核查时,通过RS - 232 读出存储于FRAM 和FLASH 中的实时采样数据,对一日的数据调用MD5算法,MD5 算法根据用户“32 位链接变量”产生一个128 位的散列值,并和记录仪附加打印输出的散列值进行比较; 如果相同,则认为记录仪电子数据未被篡改、是可信的,反之则不可信。记录仪生产商作为核查第三方,其核查步骤与用户类似,根据与用户的“32 位链接变量”不同的仪器生产厂商“32 位链接变量”,调用MD5 算法,产生一个记录仪生产商独有的128 位散列值,并和记录仪 FRAM 下区相应的散列值进行比较; 如果相同,则认为记录仪电子数据未被篡改、是可信的,反之则不可信。

  3 结束语

  本文针对现有的无纸记录仪存在的数据完备性和数据可核查性的缺陷,采用 FRAM + FLASH 架构增强了数据完备性,通过 MD5 算法在不改变记录仪本身存储数据,不增加用户日常运维工作量的前提下提高了电子数据的可核查性,结合打印机的纸质数据使得记录仪具有三重核查功能。本设计的创新点在于:

  ( 1) 记录仪采用FRAM + FLASH 存储架构取代制造业传统的电池供电 RAM + FLASH 存储架构,既满足了记录仪对存取速度和存储空间的要求,又提升了数据的完备性。

  ( 2) 记录仪配置热敏打印机,纸质的趋势显示/记录和数字显示/记录是核查电子数据真实性的有效手段。

  ( 3) 记录仪工作日结束时的记录数据,通过用户“32 位链接变量”MD5 生成 128 位散列值,128 位散列值是核查电子数据真实性的第二条途径。

  ( 4) 记录仪工作日结束时的记录数据,通过仪器生产商保密的“32 位链接变量”MD5 同步生成另一个128 位散列值,该散列值是第三方核查电子数据真实性的又一方法。

  参考文献:

  [1]侯书朋,孙永荣,项文炳. 基于 CAN 总线的智能汽车行驶记录仪[J]. 中国仪表,2008( 6) : 51 -54.

  [2]沈德峰. 便携式冷却系统无纸记录仪的设计[D]. 辽宁: 大连理工大学,2010.

  [3]李建孟. 汽车行驶记录仪的研究与设计[D]. 湖北: 武汉理工大学,2009.

  [4]余峰. 基于嵌入式系统的多功能无纸记录仪[D]. 上海: 上海交通大学,2009.

  作者简介: 肖华( 1976—) 男,工程师,研究方向为计算机信息系统集成、智能仪器仪表和智能公交系统。


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅