0 引言
日程管理系统是指在指定的时间自动实现提示、放音、录音等功能,例如清晨吹起床号和自动定时上下课响铃等。该系统广泛应用在学校、部队、工厂等部门。早期的司号仪系统存在诸多的缺点。如抗干扰能力差、播放音质不好、录音时间不长,给日常教学、工作到来极大不便。随着生活水平和需求的不断提高,人们对产品的智能化要求越来越高.老式的司号仪智能化不够高必将被淘汰,采用单片机控制的日程管理系统以其系统稳定、智能控制、操作简便、价格便宜等优点得到广泛应用。
1 系统结构及功能
系统的组成和程序流程如图l所示,整个系统共有七个部分组成,分别是:主控部件、电源部件、时钟部件、录放音部件、输入部件、显示部件、和扩展部件。主控部件选用的是MSP430F149超低功耗16位单片机,MSP430单片机采用FLASH存储体,此单片机采用了FLASH在线编程JTAG技术,可以利用片内的FLASH方便的实现软件升级,以达到系统升级的目的。设定的状态直接通过在系统编程存入FLASH存储体,掉电可保护,功耗低,其抗干扰能力极强,各种响应的设定值均存储在FLASH存储体中,强电磁干扰环境也不会影响到存储的状态。单片机通过I/O口接受按键输入,通过调用时钟实现定时响应,管理录音段及号音,并控制录放音、液晶显示和扩展口。
电源部件为各部件工作提供工作电源,全系统需要4种电源电压分别是:+3V、+5V、+12V、一12V。
时钟部件提供全系统时间基准,单片机定时和中断。为了实现系统的定时录音和放音,必须有一个稳定的时钟。SD2003A是一种具有内置晶振、支持I2C总线接口的高精度实时时钟芯片。该系列芯片可保证时钟精度为±4 ppm(在25±l℃下),即年误差小于2分钟。SD2003A的电源由电池提供,当单片机掉电后,SD2003A照样工作。当单片机恢复工作时,调用SD2003A内部时钟。
录放音部件实现语音等信息的存储和播放。录放音部件选用的是ISD公司ISD4000系列语音处理芯片,它的工作电压3V,单片录放时间最常可达16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。芯片设计是基于所有操作必须由微控制器控制.操作命令可通过串行通信接口(SPI或Microwire)送入。采样频率可为4.0,5.3,6.4,8.O kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。
输入部件主要用于实现定时时间的修改、录音放音的转换、时钟芯片的时间调整、继电器的响应控制等。输入采用4×4扫描键盘,由MSP430单片机通过软件控制实现输入。显示部件采用M12864-11A5液晶显示器,主要用于显示操作进程,使使用者能够清楚的看到每步操作的作用,增强了人机对话功能。
考虑到管理系统应用的广泛性,系统增加扩展部件,利用继电器组实现一些对大功率器件的控制功能。继电器的一端是弱电,一端是强电,因此我们采用了光电隔离控制的方法,从而有效地控制大功率输出部件对系统的干扰。
2 系统的技术实现
主控模块对继电器和按键的控制是用I/O口直接控制的。同时预留了大量外部接口,这主要用于将来升级。主控部分采用了大量的分支跳转表,对键盘输入的值根据不同的环境,选择相对应的程序进行响应。因此整个系统仅仅使用了5个按键就可以实现所有的功能,其它键作为快捷控制键和特殊功能键。
该主控部分的单片机通过I2C通信协议对SD2003时钟芯片进行控制,调用SD2003的时钟,从而实现定时响应;而液晶显示模块是用并行通讯方式进行控制的,AO高时为指令,低时为数据。
它与ISD4004语音片采用SPI同步通信协议,对4004语音芯片控制,以下是SPI协议的控制时序,SPI协议由三根线构成,MISO信号输入,MOSI信号输出,UCLK时钟线组成,其通讯方式如图2所示。
SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟上升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。从时序图可以看出,SPI协议的实现比较容易,MSP430Fll49单片机利用其内部定时器,采用3个I/O口,用软件可实现SPI协议。
由于放音及录音有很多种,因此,我们必须找到一种良好的算法来进行这项工作,因此,我们采用了通过基于信息地址表(以下简称MAT)的管理方式对录音片进行操作,真正实现了可对任意段进行删除、重录、添加任意时间长度的录音的功能。
ISD4004有能力读回每次录音结束时的内部信息指针,据此建立一个简单的MAT表,将每条信息的位置存入另外的不挥发性数字存储器中。这样,可按需要重放任一条指定信息。MAT表是信息管理体系的一个重要组成部分,它跟踪每一条信息的开始地址以及每一个信息碎块的开始和结束地址。
在本应用中,录音部分MAT表的建立是这样的:通常,寻址ISD4004需要12位地址,加上片选4片4004,则需要14位地址,假设将最低5位地址恒为O,只需9位地址就可以寻址300个存贮块中的任意一块,每块长度为6.4秒。此例中,MAT表占用600字节的存贮空间,每个字对应着ISD4004的一个存储块。随着录音和删除反复进行,具体对应关系也许会改变。下面说明工作原理。
MAT表中的一个表项的数值或者表示该项与ISD的存储块尚无关联,或者表示ISD某个存储块的状态。第15位(最高位)有特殊作用:置l表示对应的存储块是某条信息的起始块。其余各位就是存储块的地址。级联时,MAT中BITl2、BITl3是用来指示哪一片器件。这样,表项有四种可能值:
(1)表项值为全O:表示该项与1SD的存储块尚无关联。
(2)表项值的Bit15为l:表示对应的存储块是某段信息的起始块。
(3)表项值的Bitl5为O,其余各位是有效地址:表示对应的存储块是某条信息的其中一块,但不是起始块。
(4)第2种情况的特例:我们约定,1SD的第一个存储块总是某条信息的起始块,因此对应表项值为(1000 0000…)。
录入若干段信息后,随着ISD4004空间的使用,MAT表自顶向下逐渐建立起相应表项。每使用了一个存储块就建立一字节的MAT表项。MAT表的特点是:①对应于同一条信息的所有表项在MAT中总是连续放置的。②对于由若干个MAT表项组成的一条信息,它的各个存储块的地址值总是从小到大,但不一定紧紧相连。
重放时,微控制器从MAT表头开始,向下搜索Bit 15为1的表项。要重放第几条信息,就去寻找第几个这样的表项.以重放#3信息为例,微控制器停留在第三个Bit 15为l的表项,该项指向#3信息的第一个存储块。从该表项中,微控制器得到ISD中03信息第一个存储块的块号是10,#03信息的重放由SPI送入第1O块的地址(即块号乘以8)后开始。
去掉MAT表的相关表项就可删除该信息。例如删除#3信息,对照表l,#3信息占用了MAT表的第6、7、8字,为了删除#3信息,须将其对应的最后一个表项之后的所有表项往后移动3字,然后把MAT表已分配的最后三个表项值置为全O。
3 结论
基于MSP430单片机的日程管理系统具有以下特点。
(1)录音:在指定时间开启录音,录音时间不小于30分钟。录音源为收音机(默认)、麦克风(选择音源时,采用手控);
(2)吹号:在指定时间吹号,号音种类有15种,每个号音的时间是一定的,累计号音时间在10分钟左右;
(3)放音:在指定时间,按指定时长放音,音源为录音、录音机、收音机。可选择播放的次数,在播放期间,如有其他指令,则停止播放执行新指令;
(4)电铃:在指定时间开启电铃,持续时间(固定为5秒)可设定;
(5)关灯(开灯):在指定时间关灯(开灯)。
该系统功能强大,人机接口人性化,外观美观。已在部分院校推广使用。