【摘 要】 对单片机控制系统运行参数有效性的判别方法进行了介绍,并对系统运行参数如何实现保存进行了探讨。同时给出了存储过程中的数据校验和运行参数的取值范围检验过程。
关键词:单片机,运行参数,数据校验,取值范围
1 引 言
在单片机构成的控制系统中,系统控制时需要使用和保存已经设置或优化的参数。如果将运行参数仅仅存储于单片机的RAM区中,则系统在掉电或重启时将会丢失这些重要参数,不能正常运行。为了解决上述问题,保证控制系统正常、可靠地运行,需要将这些运行参数保存在足够容量的电可擦除存储器(EEPROM)中。在写入或读出EEPROM中的数据时,为保证数据操作的正确性,则需要进行数据校验。在系统运行这些参数之前,为检查运行参数的取值是否在许可范围之内,则需要进行参数取值范围的检验。本文结合作者开发的电梯轿厢门机控制系统,来详细讨论参数保存和校验的设计及实现。
2 系统运行参数的存储
在单片机组成的控制系统中,系统设置的运行参数是系统正常运行所必须使用的,既要保证运行参数的可修改性,又要保证运行参数在系统停机或掉电的情况下能够正确保存,因而运行参数应保存在电可擦除存储器(EEPROM)中。根据参数个数的多少,决定所使用EEPROM的存储容量。例如,在本文的单片机系统中,电梯轿厢门机控制运行所需要的参数有:门宽参数、有无光电检测、输出保持力矩、开门加速步频、关门加速步频、开门减速步频、关
门减速步频、工作计数器等,设计中要求存储的参数共需28个字节,再加上一个字节校验和,所以选用32字节容量的EEPROM。Xicro公司的X24C44能满足上述可修改性和容量的要求。
2.1 EPROM芯片简介及硬件组成
电可擦除存储芯片X24C44是一个八引脚的芯片,其内部有存储矩阵和RAM两个存储区,外部引脚的功能如图1所示。芯片各引脚的功能为:CE为芯片使能引脚;Vcc及Vss为电源引脚;电压为+5V;SK是读写X24C44数据时所用到的外部时钟同步信号;DI为命令或数据串行输入X24C44的信号引脚;DO为X24C44数据串行输出的信号引脚;STORE为低电平时,允许将EEPROM中RAM的内容保存到存储矩阵;RECALL为低电平时,允许将EEPROM的存储矩阵的内容传送到EEPROM的RAM中。
对X24C44的读写操作是串行数据操作,其读时序如图2所示。结合图2中的读时序,读出 X24C44中某两字节的数据操作为:芯片的使能引脚CE为高电平,在时钟SK信号的同步下,先向X24C44的数据串行输入引脚DI送读出两字节的命令1AAAA11X(其中AAAA为要读出的起始地址,X表示X24C44对该值忽略),数据串行输出引脚在第9个时钟由高阻态转为数据串行输出,16个比特为一个读出内容,通过将CE信号置为低电平,先关闭芯片的读出数据操作。
按照向X24C44写入两字节内容的时序,写入两字节数据的操作类似于读出操作过程。
X24C44采用串行读写数据,其与单片机的接线简单,除了片选信号CE外,只要与单片机的三根I/O引脚相连即可,作用为时钟CLK,数据输入DI,数据输出DO,其中DO引脚要接一个10kΩ的上拉
电阻。硬件电路接线如图3所示。
2.2 EEPROM读写的实现
控制系统中所采用的是51系列单片机,其中读写子程序设计用汇编也较容易 实现结构化编程。根据X24C44的时序和操作过程,下面给出读出EEPROM中数据的汇编子程序。单片机将数据写入EEPROM的过程与读出过程相类似。读出EEPROM中数据的汇编子程序如下:
read:push psw;读数据子程序入口