初始化:DS1991初始化时序如如图4所示:
单总线上所有的传输操作均从初始化过程开始。初始化过程由单片机发出的复位脉冲和单片机收应答脉冲组成。若DS1991在I/O线上,则在TPDL时将数据线拉低,产生应答负脉冲。
ROM功能命令:如果单片机检测到应答负脉冲,就可以发出4条DS1991支持的ROM功能命令。本系统I/O线只有1个信息钮扣,初始化之后,可跳过64位ROM系列码的匹配,而直接进行存储器的读写操作。
存储器的读写操作:这里只分析数据写入密钥子存储区的操作。首先单片机发写密钥子存储区命令,发密钥子存储区区号和数据目标地址,然后收密钥子存储区识别码,验证64位识别码。若64位的识别码是非授权的识别码,系统存储该信息钮扣的识别码及接入系统的时间,之后单总线器件复位;若64位识别码是公交公司合法授权的识别码,单片机将E2PROM存储器的64位密码发送给DS1991的密钥子存储区。若单片机发送的64位密码和DS1991密钥子存储区的64位密码不相同,DS1991的密钥子存储区拒绝写入数据,单片机P1.3口拒绝输出开锁电压,从而不能开启投币箱的电子密码锁;若单片机发送的64位密码和DS1991密钥子存储区的64位密码相同,单片机将存储器的数据和时钟数据写入DS1991的密钥子存储区,单片机P1.3口输出开锁电压,从而开启投币箱的电子密码锁。
从分析可知:只有使用有合法授权的DS1991(DS1991的识别码合法,DS1991密钥子存储区的64位密码和投币箱E2PROM存储器中的密码相同)接触I/O口,才能开启投币箱的电子密码锁;DS1991不仅具有开启电子密码锁的功能,还具备数据采集功能。DS991采集公交车全部数据包括投币箱合法开启记录和非法试开记录。公司后台管理系统读取DS1991获取的数据,结合公交车辆信息对公交车辆投币箱开启情况进行统计分析,并可作为公交管理的重要依据。
信息钮扣DS1991配发一般采用多级配发,各级信息钮扣DS1991具有不同的开锁权限。最高级为总公司级,可以打开公司所有的公交投币箱门锁,最高级的DS1991权限最大,应当非常安全地保管和使用。第低级为车辆级,只能打开某台公交投币箱门锁。中间级信息钮扣则根据总公司的管理模式灵活分配信息钮扣DS1991的开锁权限。
2.2 硬币处理电路
硬币处理的结构框图如图5所示:
硬币检测采用电涡流传感器获得检测信号,工作原理为:当给线圈施加高频正弦信号,将被测硬币放人磁场中,当线圈产生的变化磁场通过硬币表面时,硬币的表面上会产生涡流。该涡流会产生反向变化磁场,从而削弱原线圈产生出来的磁场,导致线圈的电感量发生变化。在本系统中,真、假硬币分别通过线圈L1时,由于2种硬币的合金材料不相同,在硬币表面产生的涡流不相同,从而使得线圈L1的电感量的变化量不相同。将该线圈作为电感接入电容三点式振荡电路,振荡电路输出的正弦信号的频率不相同,所以只需测量该电容三点式振荡电路的输出正弦频率,就可以精确鉴别硬币的真假。系统在工作前,需要预先学习:预先将所有的真硬币在振荡电路中的振荡频率存入单片机的E2PROM存储器。在实际的鉴别过程中,由于各种原因引起的误差,使得单片机计数的频率与该种硬币在存储器中存储的频率有一定的误差。对此,可以设定一个允许误差范围,使系统能有效地鉴别硬币的真假。
当乘客投入硬币时,硬币通过光电耦合器处,硬币遮挡光束,经转换电路产生下降沿,送人单片机AT89S52的P3.2口,INTO产生中断,系统执行硬币鉴别。电容三点式振荡电路输出的正弦信号,通过施密特触发电路,转换成方波信号,送入单片机P3.4口内的T1计数器计数。若计数器计数的频率在存储器存储的某个频率的允许误差范围之内,就认为被检测硬币的是真硬币;若计数器计数的频率不在存储器存储的任何一个频率的允许误差范围之内,就认为被检测硬币的是假硬币。此时单片机启动假硬币剔除电路,P1.4口输出高电位,钱币切换电磁铁通电,切换钱币通道,使假硬币从假硬币通道流出投币箱,同时P1.5口输出高电位,蜂鸣器发声。本系统为防止钱币阻塞钱币通道,设置了打板电路。在钱币通道阻塞时,司机打开打板开关,P1.6口输出高电位,通电的电机对钱币通道进行打板操作,从而使钱币通道畅通。