出租车多功能计费器的设计
摘要:介绍了出租车多功能计费器的设计方法,阐述了MAX813和DS1244Y的使用方法,同时提出了防止计费器死机和防止司机作弊的解决方法。
关键词:出租车计费器 防作弊 看门狗 MAX813 DS1244X
随着出租车行业的发展,对出租车计费器的要求也越来越高,用户不仅要求计费器性能稳定,计费准确,有防作弊功能;同时还要求其具有车票资料打印、IC卡付费、语言报话和电脑串行通信及税控功能。不同国家和地址的计费方式存在差异,如有些地区有夜间收费及郊区收费等,而有些地区则无夜间收费和郊区收费;目前国内有些大城市要计计费器有税控功能,而有些城市无此要求;即使同一地区,不同车型的出租车其计费方式也有差别;javascript:window.open(this.src);" style="cursor:pointer;"/>而且出租车还面临几年一次的调价或调整计费方式等问题。为此,我们设计了一款计费器。该计费器内设置了多达64个选项(1表示有某项功能,0表示没有),几乎涵盖了大多数国家和地区的出租车计费方式,无需更改计数器的硬件,只需要改相应的选项资料,便可适用于不的国家和地区,且计费资料的传送可由电脑通过RS-232或专用的手持式资料传输器来完成,非常方便。目前该计费器已在我国大陆的一些大中城市,香港、澳门和台湾地区以及越南使用。
1 原理框图
计费器组成方框图如图1所示。
1.1 主控模块
主控模块如图2所示。
CPU选89C51RC2,它的主要特点是:ROM为32K FLASH,RAM为512byte;具有双DPTR寄存器、一个硬件看门狗定时器、3个16位定时/计数器、7个中断源,其它与MCS51基本相同。双DPTR寄存器给软件编程带来了很大的方便。
复位、看门狗及电源监控由MAX813芯片来完成。计费器在营运过程中,由于干扰等各种因素的影响。有可能出现死机现象导致出租车无法正常营运。为了克服这一现象,除了充分利用CPU本身的看门狗定时器外,还需外加看门狗电路。MAX813的主要特点如下:
(1)系统上电、掉电以及供电电压降低时,第7脚产生复位输出,复位脉冲宽度的典型值为200ms,高电平有效,复位门限为4.65V。
(2)如果在1.6s内没有触发该电路(即第6路无脉冲输入),则第8脚输出一个低电平信号,即看门狗电路输出信号。javascript:window.open(this.src);" style="cursor:pointer;"/>
(3)手动复位输入,低电平有效,即第1脚输入一个低电平,则第7脚产生复位输出。
(4)具有1.25V门限值检测器,第4脚为输入,第5脚为输出。
实际应用时,将第1脚与第8脚相连,第7脚接CPU的复位脚(89C51RC2的第9脚),第6脚与CPU的P1.0相连。在营运过程中,P1.0不断输出脉冲信号。如果因某种原因CPU进入死循环,则P1.0无脉冲输出。于是1.6秒后在MAX813的第8脚输出低电平,该低电平加到第1脚,使MAX813产生复位输出,使CPU有效复位,摆脱死循环的困境。另外,当电源电压低于门限值4.65V时,MAX813也产生复位输出,CPU处于复位状态,不执行任何指令,直到电源电压恢复正常,因此可有效防止因电源电压较低时CPU产生错误的动作。
时钟及存储器由芯片DS1244Y来完成,该芯片是一具有幽灵式(Phantom)时钟的32K×8NVSRAM,第1脚为复位脚,其余和一般SRAM兼容。它提供嵌入式RTC和全静态非挥发性RAM,含有内芷式锂电池和控制电路。此控制电路不断监视Vcc,当Vcc>4.5V时,DS1244Y提供全部功能;当Vcc<4.0V时,写保护有效,所有的输入变成“Don't Care”,所有的输出处于高阻态;当Vcc≤3.0V时,电源自动切到内部的锂电池。NVSRAM的操作和原来的SRAM一模一样,但时钟操作有区别。一次完整的时钟操作由D0脚串行输入预定的8个字节(即64个bit)给DS1244Y,DS1244Y收到8个字节后,再通过D0脚串行写入或读出8个字节(即时钟数据)。编程时间将NVSRAM的最后一个字节地址(7FFFH)定义为时钟地址。因此,NVSRAM的最后一个字节空间不能作RAM用。实际设计电路时,将DS1244Y的第1脚(RST)与CPU的P1.1相连。CPU复位后,由软件通过P1.1给出一个低电平使DS1244Y复位。须特别注意的是DS1244Y的第1脚不要与Vcc相连。假如与Vcc相连,当CPU产生复位时(此复位可由看门狗或手动产生),如果此时CPU正在对时钟进行读写,则CPU复位后,会对RAM或时钟进行读写操作,导致意料不到的错误。有关DS1244Y的具体用法请见参考文献[1]。
打印功能,可通过选项设定,也可选择税控打印。各种打印命令及资料均由电脑通过RS-232或手持式资料传输器传给计费器,存储在DS1244Y中。以何种格式打印何种数据完全由用户自动选择,因此可适用不同地区、不同客户之需要。
计费器可使用司机卡、采集卡、收费卡及税控卡等四种IC卡,究竟使用哪种卡可由选项控制。司机卡表示每次开机均要插入对应卡(一台出租车对应两张司机卡),计费器才能正常工作;采集卡可采集计费器中存储的各种营运资料;收费卡表示乘客可使用该卡支持车资;税控卡由税务部门发行,只有税控计费器才需要此卡。javascript:window.open(this.src);" style="cursor:pointer;"/>
计费器通过一条I/O线控制语言接口电路。乘客上车时,CPU给出50ms的低脉冲使语音接口电路说一段话。乘客下车时,CPU给出20ms的低脉冲使语音接口电路说另一段话。
计费器可通过RS-232与电脑进行串行通信,通过电脑设置