摘 要:以计算机并行口为接口,结合MAX856,提出了一种便携式的E2PROM读写器的设计。该设计具有功能丰富、操作方便、硬件电路简单、体积小和成本低的特点。同时在实际的电表控制系统中得到了良好的应用。
关键词:并行口;E2PROM;MAX856;X25045
随着智能控制和自动控制系统的发展,E2PROM芯片的形式越来越多样,应用越来越广泛。但是,在电路高度集成化的今天,系统的小型化、便利化、多功能化已成为发展的必然趋势,单纯的E2PROM芯片已不能满足设计的要求,所以出现了多功能E2PROM芯片(如X25045,他集成3种常用的功能:看门狗定时器、电压监控和E2PROM)。本文介绍一种功能丰富、操作方便、电路简单、体积小和成本低的便携式E2PROM读写器。他通过并口读写E2PROM,同时由并口向E2PROM提供工作电压,而常见的E2PROM读写器需要额外的芯片工作电源,从而大大减小了读写器的体积,方便了用户。
1 计算机并口
PC机并口(LPT)分为数据口、控制口、状态口3部分。他支持3种双向工作模式:
(1)PS/2:PS/2与SPP兼容,在SPP的基础上通过对控制寄存器的操作来选择数据的传输方向,速率可达50~300 kb/s。他同时支持总线控制功能。 (2)EPP:增强并行端口,是为满足高性能的外设而设计的,例如驱动器、网卡等设备。速率可达400 kb/s~1 Mb/s。EPP提供了并口的最佳性能。 (3)ECP:扩展性能端口,他既允许双向传输,又提高了传输速率,并支持RLE(Run Length Encoding)技术。
新型PC机的并口都支持这3种模式,这可以通过CMOS来设置。
PC机一般允许装3个并口,其基本地址为378H,278H和3BCH,而与并口模式无关。以LPT1为例,数据口址为378H,控制口址为37AH,分别用于数据信号和控制信号输出;状态口址为379H,可读入反馈信号。外接多路转换器和锁存器时,可读入外部数据。
2 E2PROM—X25045
X25045采用了Xicor公司特有的DirectWriteTM晶片,集成3种常用的功能:看门狗定时器、电压监控和E2PROM。其中,看门狗定时器可独立保护微控制器。当系统故障时间超过选定的超时周期后,X25045以RESET信号复位系统。超时周期可在编程时从3个预置值中选取,一旦选定后,即使电源周期有变化也不会改变;另外,低电压检测电路可以使系统免受电压状态的影响,当VCC降到最小VCC阀值点以下时,系统被复位,直到VCC恢复到正常稳定值为止;最后,存储器是低功耗的CMOS 4096位串行E2PROM,内部按照512×8位的形式组织,可读写100 000次以上,E2PROM阵列可以分块保,数据可保存100年。他仅需50 μA的备用电流和3mA的工作电流。电源电压容限范围是2.7~5.5 V;X25045的突出特点是具有简单的三线工作的SPI (串行外设接口)和软件协议。X25043/45引脚如图1所示。
3 MAX856
MAX856是一种高效的CMOS升压DCDC电源变换器,其输入电压0.8~6V,输出电压3.3/5 V选择,在100 mA的负载下效率可达85%,最大输出电流500 mA,最大静态电流60 μA,具有阈值1.25 V的低电压输入和输出,变换器可由低电平关断,关断电流1 μA。本例中输入电压由计算机并口提供,输出电压选择5 V。芯片工作与否由管脚1上电压控制。输入电压通过电感L1和电容C2到芯片的8脚,肖特基二极管D1和电容C3构成了输出电路,芯片的4、5脚构成低电压报警,6脚是电压输出端。MAX856的内部电路和外部管脚见图2。
MAX856工作于限流式PFM(Pulse Frequency Modulation)模式,开关管MOSFET集成在芯片内。内部无振荡器,频率调制过程是:重载时,频率通过峰值限流电路实现,他允许电感LX的电流在限制的峰值和另一较低的值之间变化。MOSFET的导通电阻为1 Ω,压降约为500 mV;轻载时,其开关频率由一对单稳触发电路控制,最小关断时间为1 μs,最大导通时间为5μs,开关频率取决于负载和输入电压,可达500 kHz。该MOSFET有低的栅极开启电压,可保证在0.8 V的低电压下工作。MAX856具有内部电压基准(1.25 V),可驱动A/D变换器等外部负载,负载电流为数十微安。片内有欠压监测电路,当LBI端输入电压低于1.25 V时,LBO端漏极开路输出电压为低。
4 硬件电路
本系统硬件电路简单易用,主要由并口、MAX856、Xicor25045等部分构成的SPI接口E2PROM读写器,如图3所示。发现实验中用计算机并口直接驱动E2PROM,并口提供的驱动电压和电流不足以保证每次读写E2PROM都成功。所以必须额外为E22PROM提供工作电压和电流。首先用交流变压器来驱动E2PROM,但进一步实验,发现用交流变压器不仅电路体积大、不安全、而且可能对并口产生灌电流的危害,使用也不是很方便。经过实验,选择了一种更安全有效的升压电路来驱动E2PROM,即采用MAX856芯片来实现升压,从而为E2PROM提供工作电压和电流。电路中,使用了二极管确保电压和电流的安全,同时发光二极管有指示系统当前工作状态作用。电路中以1个16脚双列直插座来做为E2PROM的接口,这样就可以很方便地读写想读写的25045芯片,实际应用中,可以根据具体的芯片修改相应的管脚引线来满足要求。
为了保证MAX856的正常工作电压和电流,发现并口中一条口线所提供的电压和电流不足以让MAX856工作。所以并联3条口线同时驱动MAX856,并在线路上采用了D5作为保护电路,避免了灌电流对并口产生的危害。电路中,MAX856工作与否取决于单刀双执开关S1,由电路可知,当S1开关在实线位置,则MAX856没有工作,这时,通过D2发光与否可知并口是否正常(亮则正常)。当S1打到虚线位置,此时MAX856开始向E2PROM提供工作电压和电流,可以通过D3的状态来判断MAX856是否正常工作。MAX856工作时就把并口提供的电压升压,此时,OUT口驱动E2PROM工作,就可以通过并口对E2PROM进行读写操作。
5 软件设计
E2PROM的软件包括初始化和读写操作2部分。以Xicor的25045为例来说明读写程序。通过EPP并口与X25045接口,简化了编程装置硬件系统,但其他X25045所需的接口信号须通过软件模拟实现。当需要对其他类型的E2PROM进行编程时,可以利用EPP的空余信号端口实现。
软件采用Delphi语言编写,由于Delphi 2.0以上版本取消了port语句,故只能用内嵌汇编语言实现对端口操作,在Windows 95/98环境下编写应用程序。
读端口数据的例程如下 :
向端口写入数据的例程如下:
25045的初始化是首先输入写使能指令,然后设定状态寄存器 (包括设定看门狗定时器的时间和串行E2PROM的锁定段)。下面以读写操作为例说明。
写操作编程如下(主要步骤):
其他操作的编程大同小异,根据芯片时序图编写即可。
6 E2PROM读写器的应用
电表系统中,控制电柜的单片机系统需要E2PROM来存储房间的用户编号、使用电量、剩余电量、超支电量、最大功耗等数据。选择X25045作为E2PROM来存储这些数据。初始化数据要求供电厂家出厂时就烧录到X25045中,然后再把X25045芯片插入到电柜的单片机系统电路中。系统需初始化大量的X25045芯片,并保证数据的有效性,本写读器大大方便了这一工作。由图3可以看出,系统中并口5、6、7、8、10五线与X25045的XWP,XCS,SI,SCK和SO连接。系统软件运行时,自动检测系统的并口设置情况,并把检测到的并口地址放入下拉式列表框内供用户选择。编程软件可以实现对E2PROM进行单字节、4字节读写,以及1个文件内容写入E2PROM中和读取E2PROM的数据并保存到文件中。当然,考虑到数据的保密和安全,对数据进行加密和校验处理,保证了读写数据的正确性。当读写操作结束后,软件自动校验E2PROM的状态,确认操作是否成功。这样,写入X25045的初始化数据就可以保证电表系统中用户数据、电压监控及看门狗定时器的有效功能。
软件系统同时在上位机做了各种异常捕获,如自检并口状态、E2PROM状态及数据自动校验等,软件都会给出提示框,方便了用户。
7 结语
本读写器成本低廉,硬件电路简单,操作简便。利用PC的丰富资源,根据需要可随时对编程装置的软硬件进行扩充,以增加新E2PROM器件的功能。 |