轿车防盗数字仪表语音告警一体化装置的制作方法

文档序号:3967234阅读:128来源:国知局
专利名称:轿车防盗数字仪表语音告警一体化装置的制作方法
这是一种把家用轿车的防盗、数字仪表显示、语音报警等功能集于一身的一种装置。它的功能包括给汽车发动机加锁,使其无法被点火启动,防止被偷盗开走;给所有车门、行李厢盖、发动机仓盖加锁,使车的所有门、盖不能被从外部打开,也不允许他人用试验的办法多次输入密码试着打开车锁,如发生以上问题,系统会发出一定时间的警笛鸣叫,提醒值班或周围人员的注意。同时,装置还能和遥控器进行无线数传,把现场发生的问题发送给遥控器,遥控器收到传来的信息后,它的蜂鸣器发出鸣叫,车主据此得知停在室外的车子发生了问题,遥控器上不同的位置(或颜色)的发光二级管点燃报告车主发生的是什么问题;装置的功能还包括以数字方式显示车辆的行驶速度和发动机转速;装置还能累积车辆行驶里程;当车辆以超过某一限定速度行驶和行驶中发生了影响行车安全的故障以及出现燃油即将用完等问题时,装置能以语音形式向驾驶人员发出告警本装置使用单片微型电子计算机技术实现上述功能,全部元器件安装在一块印刷电路板上。其主要元件是两只CPU和与各自配套的少量芯片,CPU使用ATMEL公司生产的AT89C52芯片。由于装置需要使用较多的I/O口,同时,为使电路简单且互不影响,共用了两片AT89C52,其中第一片(以下简称CPU1)主要用来处理防盗和语音告警,第二片(以下简称CPU2)用来处理车速和发动机转速测量和显示。两只CPU基本上各自独立,互不影响;另用一片同一公司生产的AT89C2051芯片(根据情况也可采用AT89C52替代,以下称其为CPU0),制成一只遥控器,遥控器主要用来对装置的防盗部分进行遥控在电子电路中,常用控制电源的断通来达到某种目的,在这份说明书中,我们常使用“CPUI/O口控制”这一术语来表述一种技术方法。也就是用CPU的I/O口去控制一只晶体管的导通和关断进而控制某一电源的开和关。具体做法是选取一只容量合适的功率场效应管(Power MOSFET)或绝缘栅双极晶体管(IGBT);这类管子多用于变频技术的逆变(直流变交流)控制。它们的控制极都称作栅极(G)。被控制的主电路则分别是源极--漏极(对Power MOSFET)和发射机--集电极(对IGBT)。控制极的输入阻抗都很高。控制电流接近0。当控制极电压为低电位时,主电路截止;栅极为高电位时,主电路饱和导通,笔者找到1只型号50J101的管子(这个管子的最大容许电流是50A,也有最大电流不同的同类型管子可供选用),经试验,当栅极为0伏时,源极-漏极(对IGBT管是发射极-集电极)间电阻很大,主电路被截止;栅极电压为3伏时,上述电阻接近0,主电路导通。这是万用表测得的结果,未必十分准确;若情况确实如此。就可以用CPU的I/O口输出直接控制器件进而控制电源断通。例如可以用它控制汽车的启动电机电源或点火线圈电源的断通,使车子不能被启动。当然也可以选用满足上述要求的其他管子,这时,可能出现无法用I/O口输出直接控制功率管,这种情况出现时可以在CPU的输出和被控制的功率管间加接一级电压适配电路。适配电路的输入接CPU的I/O口,电路的输出接功率管的控制极。正确选配适配电路动工作点。使其前后都恰能匹配,另外,由于加了一级电路,控制相位可能变为相反,这时可视情况由软件来适应新的变化。在这份说明书中,多次用到这种技术方法,因此,先给出以上说明,正文中不再赘述本说明中我们还使用到另一种技术方法,我们简称它为“造1连接和它的输出点”具体方法是,取两个电阻串联,其下端接地,上端(通过开关或接点)与电源接通,适当选取电阻的阻值,使得当串联电阻的上端接通电源时,两个电阻的连接点,恰为“1”的电位值,未接通电源时,连接点为“0”的电位值。我们称这种连接为“造1连接”,把两个电阻的连接点称为造1连接的“输出点”。这是一种很有用的连接,如果我们把输出点与CPU的一个I/O口(引脚)相连,系统在运行中软件读取连接这个“输出点”I/O口(引脚),读得的结果为1,说明“造1连接”的上端已经与电源接通(它上边的开关或接点已经闭合),若读的结果为0,说明“造1连接”的上端未与电源接通(或接点、开关未闭合),在本说明中也要多次使用这种表述来表示上述技术方法,在后面的正文中,如果我们使用“造1连接”或“造1连接的输出点”这个词,就是指使用以上技术方法防盗部分的控制--遥控器的功能,遥控器的构成见说明书附

图1,它制作得象一只手机大小,可以随身携带。遥控器上有两个按钮,按下按钮K1,它向装置的防盗部分发送一组字符串(密码),装置收到密码后,与自身保存的密码进行比对,检查无误后向防盗部分发出一系列指令,使防盗部分进入警戒状态;按下另一个按钮K2,遥控器向防盗部分发送另一个密码,同样检查后可使防盗部分解除警戒。通过以上过程完成整车的上锁和解锁功能。遥控器的另一个功能是接收装置发送来的信息;这些信息包含有装置在警戒状态下发生的问题具体内容,并在遥控器上用不同颜色(或不同位置)的发光二极管显示出来。遥控器和装置之间用无线数传进行数据通信,它们之间通信采用半双工工作方式。这种半双工通信模块现在市面上已有出售〖注一〗。不管是在装置或遥控器收到对方发送来的信号后都要进行核对,这样做一方面是为了保密,另一方面是为了防止收到不同车使用同型这类装置传送信号时造成误操作,遥控器传送密码给系统的防盗部分后,经与自身保存的密码比对无误后,它会向防盗部分发出指令关断发动机点火电路和启动电机电源,汽车不能启动;车门及发动机仓盖、行李厢盖被锁并且被监视,一旦被强行撬开防盗部分会鸣响警笛报警,同时装置会把警戒状态下发生的这些问题传送给遥控器,当它收到接收的信息后,遥控器上的蜂鸣器鸣叫,会在遥控器上点亮相应的发光二极管,使车主知晓停放在室外的车子发生了什么问题。所有的密码均由计算机内码组成,可构成密码有ASCII码、扩展ASCII码,以及所有汉字的计算机内码等。(组成这些密码的元素近7000个),假定一个密码由10个字节的字符串组成,又假如只用数字作密码,可形成密码的数量会超过数十亿个,因此,重码的机会极小,由于密码数量特大,且采用无线数传传送,泄露密码的机会很小,保密性高。遥控器有一只小的天线,供发送和接收通信信号用,因为遥控器可以拿到车子附近去加、解锁,因此它的传送功率可以不大,而装置防盗部分发送输出功率则要大一些,因为车主离开车子较远时要能接收到信号装置的防盗部分防盗部分通过接收遥控器的密码进入或退出警戒状态,CPU1的P3.0和P3.1是接收和发送信息的专用I/O口,CPU1这两个特殊功能口,不能挪做它用根据有关规定,家用轿车的防盗装置,必须要有止动器(阻止使用车辆自身动力移动车辆,防止车辆被偷开走);周边防护(监视和防止打开任一车门、行李厢和发动机仓盖等周边设备);警报装置(一旦发生上述情况要能及时发出声光警报,提醒值班注意)。显然,以上是在车辆停放、车主离开后,防盗部分应具备的功能,习惯上,把这些功能发挥作用时,称做装置的防盗部分处于警戒状态,当车主用车时,需要上述功能停止发挥作用,这时称防盗系统解除警戒,因此,防盗系统还必须能在设置/解除警戒状态间具有状态切换功能,即上述遥控器所具有的功能。在警戒状态下发生任何事件都鸣响警报器一段时间,由CPU1的P1.0控制一只警笛的电源实现,需要鸣响警笛时接通警笛电源即可,需要注意的是每次鸣响不得长于一定时间,足以引起注意即可,否则会变为扰民止动的目的是阻止汽车被点火启动。达到这一目的简单办法是切断汽车启动电机电源,使发动机不能启动。但是,仅此一点还是不够的,必须防止用其它办法启动,所以第二个措施是断开点火线圈电源。这样即使用手摇或拖动的办法也无法启动。使用一个I/O口,即用CPU的P1.1的输出控制启动电机电源,可以达到不能被启动的目的;使用另一个I/O口(CPU1的P1.2)控制点火线圈电源,切断电源可使发动机无法点火,这是进入警戒状态后,首先要完成的一件重要任务;如果由于某种原因不能使用切断点火线圈的办法实现止动,可以改为用在供油管路上安装常闭电磁阀(无电时阀门关闭),再用CPU1的P1.2控制电磁阀电源的办法,同样可以实现上述目的关于止动,还有一点要特别说明汽车必须在熄火后、才能实施止动,换句话说,如果发动机还在运转(汽车有可能还在跑)。突然断电(或熄火),很容易造成交通事故或损坏发动机。必须防止这种情况发生;方法是做一个“造1连接”,它的上端连接在发动机点火钥匙的后边,(本文未提及的部分原用电路不变)。用CPU1的I/O口P1.3引脚接这个“造1连接”的输出点,用它检查造1连接输出是否为0来判别发动机是否熄火。因为只有点火钥匙关闭这个点输出才是0周边防护实际上要做两件事一是控制,就是在警戒状态下,要在车内锁住车门和行李厢盖、发动机仓盖。使门、盖不能从车外随意打开;二是监视,监视四个车门以及发动机仓盖、行李厢盖的状态,如果它们被橇开,鸣响警笛一段时间,车门及仓厢盖的插销控制也由一个I/O口管理。关于车门、仓厢盖的控制原理。是用下面办法实现的有一种中央控制车门的车子,驾驶台上设有一个开关,可以控制四个车门拉手能否从外面打开车门,这种东西实际上是在手动车门机械拉手上加装一只电动插销,再由电磁力控制插销。控制它本质上与控制点火电源、启动电机电源的方法相同,即选取一个I/O口控制电源,实现门、仓、箱插销控制。如上所述方法,我们选取CPU1的P1.4来控制所有车门。发动机仓和行李厢的控制方法与车门相同,使用同一个I/O口关于门、盖的监视原理,是在所有“门”和“仓、箱盖”上安装微动开关,使得门、仓、厢盖关闭时微动开关是断开的;门和盖打开后微动开关闭合。即微动开关的闭合或断开,标志着门、仓箱盖的打开或关闭。所有的微动开关并联,共用一个“造1连接”,它的上端与电源连接,“造1连接”的“输出点”与一个I/O(我门选取CPU1的P1.5)口连接,因为六个开关是并联的,只要有一个门(或盖)被打开,“取1点”的输出将是1,读取P1.5时即为1,即门、盖已被打开,(这种情况出现时把GF0置1)防盗还必须注意的一个问题是,防止有人用一台便携式电脑反复输入密码,采取用试验的办法开锁盗车。预防的办法是当发现连续输入多次错误密码时,由软件设置一个标志(如把F0置1)。并且关闭密码接收。暂停一段时间不再接收密码(如数分钟)。上述情况每出现一次,都重复上述过程,使盗开者不能顺利达到目的,同时把这一情况通过遥控器告知车主,可以及时采取措施,这样做,电脑试开虽然很快,但不断的延时,并及时通知车主,却使盗开者无法很快成功(这一点只用软件检查不用I/O口)防盗功能中还有一个问题是防止盗车者把车推上平板车拉走或直接用拖车拖走,防止的办法是在车子适当位置安加一个水银开关,使车辆倾斜到一定程度或遇到震动时,水银接点闭合,再用一个“造1连接”检查这个接点(我们取用CPU1的P1.6做这件事),如果接点闭合说明车子有异动,遇到这种情况时,把标志位GF1置1,至此,已经设置了三个标志(F0、GF0、GF1),把这三个标志和一个字节(选最后一组的工作寄存器R6做这个字节,CPU1数据寄存器RAM的1FH单元)的三位相对应,即F0对应D3;GF0对应D5;GF1对应D7。在主程循环检查中,如发现三个标志有一个(和一个以上)为1时,由CPU1把这个字节取反并发送给遥控器。遥控器接收到这个字节后把D0置0(为了使蜂鸣器发出鸣叫)并输出到CPU0的P1口,接在P1.3、P1.5、P1.7上的发光二极官点亮,鸣叫声提醒车主现场发生了问题,发光管位置告知车主,发生的是什么问题遥控器和装置防盗部分采用半双工工作方式进行通信,接收过程采用于中断方式,CPU0在发送设置警戒状态密码后,及时进入冻结(IDL=1)状态,当防盗部分有信号送到时。遥控器被唤醒,这样可节约电池的使用。前边,已就一些I/O口的使用作了安排,下面我们再把CPU1所占用的I/O口列出。并把CPU1在语音告警部分所使用的I/O口一并列出,这部份的使用情况,将在后面语音告警部分详细说明,
P1.0控制警报器的供电电源,输出1警报器鸣叫。输出0,停止鸣叫P1.1控制发动机启动电机电源。输出1时电源接通可启动发动机。输出0无法启动P1.2控制点火线圈电源断通。输出1时点火线圈电源通。可以点火,输出0不能点火P1.3用于防止在发动机运转时被突然止动,起安全防护作用P1.4所有门厢仓盖从内部上锁。使其无法从外部随意打开P1.5监视所有门、仓、厢盖的开关,如被强行打开,则鸣响警笛并作出标记P1.6监视车辆不能倾斜或震动,使汽车辆不能被推上平板车或被拖走P1.7检查是否有超速告警标志,有则语音告警P3.0接无线数传模块的发送端,向遥控器发送在警戒状态下发生问题的信息字节P3.1接无线数传模块的接收端。接收遥控器发送来的设置/解除警戒状态密码以下是语音告警部分所使用的CPU1的I/O端口,具体如何使用在后面语音告警一段中将给出较为详细的说明,请参阅后边语音告警部分的文字部分P3.2用于管理冷却系统故障告警P3.3用于管理润滑系统故障告警P3.4用于修改语音告警内容时,管理一个按钮的状态P3.5用于管理燃油即将用完告警车速与发动机转速测量、显示。原理和具体实现方法这一部分功能包括车速、发动机转速测量、显示,还包括里程累积显示等。车速和转速测量采用周期测量法进行车轮的周长固定不变,车子的驱动轴与车轮的传动比同样不变,驱动轴每转一周,车子前进了多少距离可以计算出来,同样不变。距离除以周期就是瞬时速度。因此,我们首先需要一个度量周期的时间单位,同时我们还需要一个计数器,记录车轮转动一周,用了多少个时间单位。根据以上要求和原理。8253是一只可供选用的芯片,8253有三个完全相同的计数器,使用8253的一个计数器记录车子驱动轴转动一个周期用了多少个时间单位,用第二个计数器记录发动机的转动周期。第三个计数器累积行使里程。下面我们将首先讨论8253芯片,8253必须初始化才可使用,初始化第一步是先按规定设定芯片的方式控制字,控制字各位的含义如下下表(表0)表内的黑体文字是各所在位的名称,如SC1,SC0是D7 D6位的名称,...BCD是D0位的名称,表下的文字D7~D0是位编号表0 8253方式控制字位定义
D7 D6 D5 D4 D3D2 D1D0SC1 SC0两位用来指定计数器,它的数值在00~10之间,分别代表0号1号和2号计数器,共有3个计数器(从0算起),这两位不能为11;RL1 RL0两位用来定义读/写计数器的操作类型(共有四种操作类型)所以D5D4数值在00~11之间,表示读/写计数器的方式。00是飞读(飞读是在计数的同时读数。即读数时计数不停止),不常用。最常用的方式是01,10,11方式,01是只读/写高位,不读/写低位字节,10是只读/写低位,不读/写高位字节;11是先读/写低位字节,后读/写高位字节;M2 M1 M0用来选择计数器的工作方式,(数值在000~101之间,共有六种工作方式),BCD用来定义计数方式。BCD=1表示采用2-10进制计数,BCD=0表示采用二进制计数;按以上规定定义好控制字后,写入8253的控制字寄存器,就完成了计数器定义,按附图2的电路,写入方式控制字的地址为7FFFH;另有7FFCH.7FFDH.7FFEH分别是读/写0号,1号和2号计数器内容的地址;区分是读还是写,是以RD和WR引脚的状态来区分,关于各位定义的更详情细的内容,请参阅介绍芯片的有关资料。接下去讨论时间单位问题。CPU的定时/计数器用作定时器时,每个机器周期定时寄存器加1,把CPU2的T0设置为定时方式2,如果选取CPU2的振荡频率是12mHz,它的一个机器周期就是1μs,设重装常数是6,这样,计时器要进行250次加1,T0溢出一次,产生一次中断,若每次中断,中断服务程序中送出一个脉冲,脉冲与脉冲每冲之间的时间间隔就是0.25毫秒。这就是一个时间单位。选取不同的重装常数,就可以得到不同时长的时间单位,根据车型的最低车速和最高车速,从便于计算出发,选取不同的时间单位,就可以计算出瞬时车速。另一方面。也可以通过实验建立一份计数值个数和车速的对照表,不用计算可由查表得到车速,直接送去显示,发动机转速测量方法与此类似(如果需要可以用CPU2的其他定时/计数器另定专用时间单位做测量发动机转速,AT89C52有三个定时/计数器,并且CPU2也有多余的I/O口可供使用),附图2是车速、发动机转速和里程累积原理图,以下以车速测量为例,对说明书附图2的解说图中AT89C52(即CPU2),它连接的是由驱动轴转动送出的脉冲V1〖注2〗,车速测量用8253计数器1计数时间单位,D11和D12为一片双D触发器,在这里用做控制器,P1.0是CPU2的T0定时/计时器中断程序送出的时间单位脉冲端口,它与8253的CLK1连接(同时也接通CLK2),因为两个门(GATE1和CATE2)未打开,脉冲不能进入。P1.1送来的是周期测量何时开始的控制信号,驱动轴周期测量开始时,由P1.1送出一个高电位脉冲,脉冲到达后,随后来到的V1的上升沿到达时(表示驱动轴转动开始位置已到)D11翻转,D11的输出端Q送出1,打开GATE1门,CLK1上的时间单位可以进入开始计数,这个过程一直持续到V1的下一个脉冲到达(意味着驱动轴已转动了一个完整周期),D11再次翻转,它的Q输出变为0,GATE1关闭,停止计数。由于D11的输出变化,使D12翻转,D12的Q端变为1,此时读CPU2的P1.3会得到1。椐此,可判断出计数器已经完成了驱动轴旋转一周的时间单位计数,可以读取时间单位的个数,读出的数乘以时间单位就是驱动轴转动周期。有了周期可以得到瞬时速度,可以用于计算(或查表)得到车速。查表法要根据不同的车型事先计算出一个表格,把这个表格存放在程序存储器,以便程序查用;发动机输出轴转速求法与此类似,V2是发动机输出主轴来的测量脉冲,D21 D22双D触发器作控制计数用,CPU2的P1.2作启动输出使D21D22具备翻转条件。P1.4检查发动机主轴是否转够一周。其余与上述相同。转速用计算可能更快,需要注意的是由于计数器是减法计数器,且初值是0,所以取出的数须求补(取反加1)后再用里程数累积计数原理如下它的脉冲和车速一样,同样来自V1(见附图2)。使用8253的计数器0累积里程,先计算出车辆行驶一个单位里程驱动轴要转动多少周(假设此常数为C),将C存入8253计数器0中,V1每送来一个脉冲。计数器0的值减1,减至零时,OUT0输出高电平,利用它(经反相)向CPU2的P3.2申请中断,CPU2中断后,在中断服务中,由CPU2的I/O(P3.1)口控制电动累积器跳加一个字,再重复下一次累积。P1.5的作用是关、开8253计数0,读出计数值和存入C值。里程表的跳字在中断程序中控制,中断一次送出一个脉冲,跳加一个字超速报警,在车速数值送去显示之前,对数值进行检查,如果数值大于某一规定值(例如,车速≥120km/h)先给出标志,用CPU2的P3.0,使其引脚输出1作为超速标志(CPU2的串行发送口未使用),CPU2的P3.0引脚接一个二极管与CPU1的P1.7输出接通、二极管正端在CPU2一侧,负端在CPU1一侧,这样可以免去两个端口互相影响。当读CPU1的P1.7时可读到1,要作出超速报警。(语音报警中将对设此二极管说明原因)显示车速和转速使用的芯片是MAX7219,显示原理见图3,它采用三线串行传送显示数据(和数据存放地址),每片MAX7219可带八个LED管的显示器,MAX7219的显示原理比较复杂,用文字叙述难以完全说明白,因此把关于地址和数据传输及特殊功能寄存器设定的有关子程附在后面,作为说明书文字部分的补充,更多的资料请参阅有关这个芯片的使用手册,(参见附在说明书附件的程序例清单,程序例中还包括了与本文有关的的其他几段程序的例子)。MAX7219的输入端在1脚DIN,它每次传送16位二进制数,顺序是D15~D0,其中D0-D7是写入RAM的显示数据或特殊功能寄存器的控制字,MAX7219按顺序把16位二进制数依次送DIN,与此同时,时钟CLK也被依次送入MAX 7219,在CLK的上升沿到达之前,DIN上数据必须有效,在CLK的每个上升沿,DIN被逐位移入MAX7219内部的16位串行寄存器中,最先移入的是D15,最后是D0,为了写入不同的寄存器,在D0~D15中,D8~D11四位作为RAM和特殊功能寄存器的地址,D0~D7是显示数据或特殊功能寄存器的控制字。当16位二进制数位被放入串行寄存器后,在装载信号的控制下D0~D7八位被放入以D8~D11为地址的RAM或特殊功能寄存器中。LOAD信号必须在15个CLK下降沿前,由高变低,在16个CLK同时或之后由低变高(上升沿),在上升沿被写入各自RAM或特殊功能寄存器(在附录的程序例清单中可以看懂这些说明)MAX7219芯片的特殊功能寄存器包括译码方式寄存器(地址*9H)、亮度寄存器(地址*AH)、扫描界限寄存器(地址*BH),停机寄存器(地址*CH)和显示测试寄存器(地址*FH)共五个。其中地址*DH和地址*EH未使用,有关这些特殊功能寄存器的设置,见附录的子程序例清单。另有地址00H称为非工作寄存器,是两个MAX7219串联(共带16个LED)时使用的,有关MAX7219的更详细资料请参阅这片芯片的手册车速和发动机转速测量和显示部分使用的两个芯片8253和MAX7219,在其他场合较少使用,关于他们的详细情况,请参阅这两个片子的有关资料。当然也可以不使用它们(尤其是显示部分连同报警源显示一并考虑,可使用条形或点阵形显示),而采用其它片子和显示。例如采用教新的条图形显示器或液晶显示器(LCD)接口技术以下将车速、发动机部分CPU2的I/O口的使用情况,再次做一说明,CPU2的P3.2是外中断0请求专用,8253计数器0回零时引发此中断,由于单片机的外部中断,与定时器控制器TCON的设定有关,而8253计数器0回零时,OUT输出高电平,故应注意由计数器0的输出到达CPU2的P3.2引脚的相位P1.0用在定时器T0益处中断服务程序中,送出时间单位脉冲P1.1用于触发器D11 D12的启动控制,开始对驱动主轴周期的测量P1.2用于车速测量时,检查驱动主轴是否转完一周P1.3用于触发器D21 D22的启动控制,开始对发动机主轴转动周期的测量P1.4用于发动机转速测量时,检查发动机主轴是否转完一周P1.5用于关、开8253计数器0的计数门,停止计数,便于重新写入初值P1.6用于发送车速和发动机转速测量时显示等的的数据P1.7用于发送车速和发动机转速显示等数据传输时的时钟信号P3.0用于设置超告警标志P3.1用于里程累积器跳字控制(总行驶和目的地行驶里程)P3.2专用于接收8253计数器0回零时中断申请P3.3备用P3.4用于发送车速和发动机转速显示等数据传输时的LOAD信号P3.5备用语音告警部分;在上一节我们曾提出“超速报警”的设想,即当汽车超过某一速度行使时(例如车速≥120km/h),装置要能发出超速警告。应当如何处理这一问题?我们先来看看旧的报警都有哪些内容,如何进行报警。以上海“桑塔钠”为例,它有冷却水温度故障报警;机油压力低于工作压力报警等;其他车型还有燃油即将用完的报警。它的报警过程大致这样进行发生上述问题时,首先是传感器动作,有接点闭合,引发蜂鸣器发出警告声,提醒驾车人注意有问题发生,与此同时由于接点闭合会而一个指示灯闪动,驾驶者听到声音后会查看哪个指示灯闪动,据此判断出了什么问题,进而决定如何处理语音告警取代老式报警,实际上一步到位发生问题时发出语音,告诉驾车人发上了什么问题,应如何处理,例如超速行车,谨慎驾驶冷却系统故障,停车检查润滑系统故障,停车检查燃油即将用完,停车加油。这样做可以使问题简单化。带来的是要有一块语音芯片。同时在发生问题时要能准确发出告警语音;ISD1420是可供选取一种芯片,它共有20秒的语音记录时间,语音芯片内部按“段”分隔录入的音频,每个基本段的时间长度为20/160秒,即每个基本段录音时间长度为0.125秒,由于ISD1420并非专门用作记录汉语语音,因此用其记录汉语音前,必先对其进行改造采取把A0A1接地等办法,将原来的四个段合在一起,使它变成40段,每段(地址)记录一个汉字,一个字的音频时长0.5秒。上边给出的四条语音告警,共有38个汉字,有的词重复。例如“系统故障”两次用到;“停车”一词三个告警里都有;可以发现这四条告警可由下面八个词构成“超速行车,谨慎驾驶”“冷却”“系统故障”“停车”“检查”“润滑”“燃油即将用完”“加油”。几个字放在相邻的几个段(地址)里,连续放送就成为一个词,减少重复。可以节约音频占用时间,有了时间能把语句中的停顿、“语气”放送出来为了使ISD1420既能放音也能录音,发送语音存放地址时,还要控制芯片的工作状态,录音时也一样,音频存放地址相同,但录放音控制码却不相同,两者的对照关系如表1表1 ISD1420语音分段及段控制码
表中的第1行是CPU经锁存器送出的控制码,第2行则是语音芯片接收的控制码,D7对应RC,D6对应PL,RC是芯片的录音控制引脚,PL是语音芯片的放音控制引脚(RC和PL两者都是低电平有效)。录音时RC脚必须为0,PL脚为1(置录音状态);而放音时RC应为1,PL必须为0(置放音状态)。这是录放音段控制码不同的根本原因,还要注意的是,把几个字连在一起,一个字仍然占一个段,并没有节省空间,例如把“冷却”一词存放在00段,因为这个词由两个字组成,所以占用两个段,接着要存放“润滑”一词,就要从02段开始,接下从04段开始存放“系统故障”,它占用四个段,如果要继续再存就其他的词字,就要从08H段开始,依次类推。但在录、放音时“系统故障”这个四字词就不用2秒,也许1.5秒就可以了,具体怎样做,试验是最好的解决办法由于D6D7与RC PL的对应关系,字词的存放地址相同,录放音段控制码不同,存放在00段的录音段控制码是40H,而放音的段控制码却成了80H,上面已说明了原因录音要用表的上半部分的段控制码;放音用下半部分。另外,录音和放音子程序中,录放音开始和结束时,都要送0FFH到输出端口以复位录放音接口,以此结束本段录放音工作有了以上准备,就剩下一个问题这就是发生了故障,怎样发出告警信号,要发送哪一段告警,必须要由硬件明确给出,才能不发生错误。例如决不能冷却系统发生故障,而发送“停车加油”的语音告警。在前边,我们已安排CPU2的P3.0引脚输出1作为超速标志,并且把这个端口和CPU1的P1.7之间用一个二极管接通,因而上述关于是否发送和发送什么告警内容的问题,变的十分简单因为读P1.7这个引脚读到的是1,所以就把“超速行车,谨慎驾驶”这个词语音存放首址的放音段控制段码拿来,调用放音子程序就可以了。在这里读P1.7得到1(标志)是关键,有“1”就发告警,没有不发。因为是P1.7读到1,就发送“超速行车,谨慎驾驶”。一切问题都与在哪个端口、读到什么联系在一起,这是关键,编程时抓住这一点,就不会出错仿照这个例子,我们仍使用造1连接的方法,使当故障发生时,故障源能造出1来,就可以用读造1连接输出点的办法,来确定是否发送语音告警和发送何种语音,具体的做法以冷却系统发生故障为例说明我们安排CPU1的P3.2管理冷却系统故障告警,在CPU1的.P3.2附近做一个“造1连接”,它的上端接在冷却系统故障接点的后边(即原来接冷却系统故障指示灯的位置),当冷却系统故障时,故障接点闭合,读P3.2引脚即会读到1,软件巡查P3.2引脚发现有这一情况后,会依次把“冷却”“系统故障”“停车”“检查”这些词的语音段起始位置的放音段控制码送去放音程序,这时就会送出冷却系统故障,停车检查的告警语音。我们再分配P3.3管理润滑系统故障报警,P3.5负责管理燃油即将用完的语音告警,两者的处理方法与冷却系统故障告警方法相同它们都使用“造1连接”方法,两个“造1连接”的上端都与各自的告警源元器件的发生接点相连,而个“造1连接”的输出点与上面指定两个I/O引脚接通。如果出现上面某一问题时,软件在循环检查时,会逐一读取这些已连接的指定I/O口时,哪个有问题,哪个就应当读到1的结果,按读到的结果送出相应的告警语音就可以了另外,为了能够在需要时,可以检查各告警语音能否正常工作,在每个告警源“造1连接”的旁边,另做一个新的“造1连接”,它的上端固定接电源,因而它的输出点始终为“1”,同时我们不把CPU1的P1.7、P3.2、P3.3、P3.5各引脚不直接与告警源的输出点相连接,而是通过一只“单刀双掷”开关的“一掷”与其相连,再把“单刀双掷”开关的“另一掷”与新的“造1连接”的输出接通;这样,当把“单刀双掷”开关拨向连接“新的造1连接输出”一端时,因为这个造1连接上端接电源,它的输出始终为1(这就是前面超速报警一段内容中提到的在CPU1的P1.7和CPU2的P3.0连接时加二极管的理由),这相当于该点发生了故障,它会不停的发出该点的语音告警内容,再拨回告警源输出点后,只有真正发生故障时,才会有故障报警,这就是说,该报警点加了一个新的位置,即“试验位”,“单刀双掷”开关的前一位置是“工作位置”,于是我们给语音告警增加了一项新功能语音告警有了检查位取另一个新的I/O口,我们选CPU1的P3.4作这“另一个新的”I/O口,在它的附近新做一个“造1连接”,其上端经过一只按钮与电源接通,把CPU1的P3.4的引脚与这“另一个新的”造1连接的输出点接通,毫无问题,当按下按钮时,读P3.4会得到1的结果。如果哪个告警点需新录音,要在解除警戒状态后,启动车子前把要修改的语音点“单刀双掷”开关拨向检查位,这时会不断放出原来的告警,这样可以起到校对录音点作用。拿过麦克风,按下“另一个新的”按钮讲出新的告警语音,然后松开按钮装置会不断放送新录的告警,这一过程可反复进行,直到满意为止。系统软件在开车前会不断检查录音按钮,一旦被按下,接着检查哪个语音点在检查位,根据这两者程序会调用重新录音程序段,完成重新录制告警语音的工作。新车可能出口,可能被卖到少数民族地区。为了扩大销售面,应当考虑这一类实际问题。实际制作时麦克风一般情况下不必装在线路版上,只是在需要重新录音时才插入插口,录完后拔出另行存放以上已就本说明书开头所讲装置各项功能的原理和实现方法逐一进行了说明,个别重点部分给出了原理图,相信只要是单片机工作者,都可以根据以上资料绘出全部图纸(包括电源部分),由于条件限制,这份材料没有给出整机完整的软件清单。只给出了一些特殊芯片的初始化、寄存器设定、特殊应用等程序(包括8253初始化、周期测量;MAX7219初始化子程、芯片设定;ISD1420芯片录放音子程等程序例子,见本页后边所附的程序例清单)。单片机软件的编写,必须在硬件全部搭接完成之后才能进行。软件编写完成后,要经过多次反复修改和调试才能应用,因此事前写出的软件肯定无法使用。
从本说明可以看出,除为控制发动机实现止动和从告警源的接点引出告警接点,接通信号源之外,没有触动电路的其它部分,因此总的来讲,整车的电路设计保持不变,启动电机和点火电源控制,只是在对应的电源电路中增加一只晶体管而已。所以车子的操作方法将保持不变,不会影响使用和质量,因为增加了防盗锁后,可以省去经常在路边、大院子里停放的车子上可以看到的一些既笨重又不安全控制方向盘的防盗锁。整个装置是否被汽车用户喜欢,与装置显示版面的布局肯定有关,显示部分应以车速显示为中心,要以较大字体显示车速,它的下边一行,是字号较小的发动机转速显示,总里程和目的地里程显示以及必要的报警用信号灯也应在显示版面上。同时版面上还应有语音告警的检查试验位开关的位置,录音按钮和麦克风插口,也应放在版面上。正上方可加装一只时钟显示(有关电子时钟的资料已经很多,而且自成体系与本装置没有关系,故本文未提及)同时在显示版面附近,还应有音响和语音告警共享的喇叭的位置,原有的总电源开关和点火钥匙应不改变,只是在警戒状态时它不起作用,解除警戒后一切应和现正在使用的功能相同。
本说明书中使用了一些芯片。特将使用这些芯片的程序片段列在下面,作为使用这些芯片时的参考资料8253初始化及周期测量的程序例子INITMOV DPTR,7FFFH;计数器1方式控制字写入地址MOV A,#70H(01110000B) ;设方式控制字MOVX@DPTR,A ;送方式字CLR P1.4 ;不计数状态…… …… ;以下部分省略下面是周期测量程序片段的例子,作为周期测量文字说明部分补充TQI MOV DPTR,#7FFDH ;指向读/写计数器1地址,CLR A ;A清0,准备清计数器1(写0)MOVX@DPTR,A ;低8位请零,先写故为低位MOVX@DPTR,A ;高8位请零,后写故为高位SETBP1.1 ;送开始计数条件LOP JNB P1.3,LOP ;等待计数结束CLR P1.1 ;停止计数MOVXA,@DPTR ;读计数器低8位(先读)CPL A ;求反ADD A,#01H;取补MOV B,A ;存入BMOVXA,@DPTR ;读计数器高8位(后读)CPL A ;取补
ADDC A,#00 ;加进位位…… ……MAX 7219显示芯片的程序例子MAIN2SCALL INI1;调显示初始化子程序SCALL DISI;调显示子程SJMP MAIN0 ;返主程序INI1 MOVA,#0BH ;选择扫描界;以下为初始化子程序MOVR4,#07H;SCALL WRIT;调传送子程MOVA,#0AH ;亮度控制MOVR4,0#8H;SCALL WRIT;MOVA,#09H ;译码方式MOVR4,#0FFH ;SCALL WRIT;MOVA,#0CH ;选正常状态MOVR4,#01H;SCALL WRIT;RET;DISI MOVR0,#40H;显示数据保存地址MOVR1,#1 ;计数初值MOVR3,#8 显示个数LOP1 MOVA,WR0 ;MOVR4,A ;MOVA,R1 ;时序要求ACALL WRIT;讲数据装载INCR0 ;INCR1 ;DJNZ R3,LOP1;RET;WRIT ACALL SEND;以下为地址、数据传送子程MOVA,R4 ;ACALL SEND;传送数据CLRP3.4;数据装载信号变低NOP;时序要求SETB P3.4;数据装载NOP;时序要求RET;SENDMOV R6,#08H;向7219传送地址或数据子程LOP2NOP ;时序要求NOP ;时序要求CLR P1.7;脉冲变低
RLC A;数据一位移进位位CMOV P1.6,C ;使数据有效NOP;时序要求NOP;时序要求SETB P1.7 ;脉冲送数据DJNZ R6,LOP2 ;RET;ISD1420芯片录音子程序的例子RECORDMOV DPTR,#7FFFH ;语音端口地址MOV A,#0FFH ;送复位码MOVX @DPTR,A ;复位码送端口MOV A,40H ;录音码在40H单元,送AACALL TIM20;延时20毫秒(放音没有这一条指令)MOVX @DPTR,A ;录音控制码送端口ACALL TIMA ;延时,单字延时0.5秒。词1.5秒MOV A,#0FFH ;复位码MOVX @DPTR,A ;送录音复位码RET;放音子程与此相同,须把录音码改为放音码本说明书共提供了四张附图,以下是图面说明图1是遥控器原理图,图1左上方的K0,是遥控器的复位按钮,K1、K2遥控器一节中已说明;D0是装置已设置为警戒状态的指示灯,D1、D2、D3是前文所述发生事件的信号指示灯。CPU0AT89C2051可在2.7-6V下工作(7#电池四节).
图2是周期法测量车速发动机转速原理图。图中右侧标注的V1是车速脉冲、V2是发动机转速脉冲。
图3是MAX7219显示原理图。
图4是语音芯片ISD1420与CPU1接口图。
注释〖注1〗目前市面上已有无线数据传输摸块出售其性能如下型号TDX-2000,名称无线数据传输模块,工作点从230mHz~450mHz,频率间隔25kHz,接口传输速率为1200/2400n bps(波特率),可传送距离,可在500米到3000米距离范围选择,接口提供RS458、TTL和RS232可以选择,模块尺寸大小为70*46*12mm,供电电压是5V,深圳有一家厂商可以供货,申请人曾与他们联系,厂家除供应模块和专用天线外,还可以协助编写通信软件。
〖注2〗在欲测量转动周期的主轴(驱动车轮转动的驱动主轴或发动机输出轴)上,固定一片非磁性圆盘,使主轴转动时圆盘可随同转动,在圆盘的周边镶嵌一块磁块,磁块本身呈四方形,方形磁块的厚度与圆盘的厚度相同,方形磁块被镶嵌在圆盘的大圆边内;另做一只口字型硅钢片叠层铁芯,铁心的一边装有绕上绝缘导线线圈的框架,如同一只变压器的一部分,口字形铁芯对边开有一个缺口,开口的大小略大于圆盘厚度,口字型铁心(连同线圈)固定在不与主轴连接的支架上,使得主轴转动时圆盘的周边恰能在口字型铁心的开缺口间隙中转动,圆盘每转动一周,盘上的磁性方块恰穿过口字型铁心的开口间隙一次。这样在转动时,主轴转动一周,铁芯上的线圈应产生一个感应电脉冲,这个脉冲被送图2的LM311整形。这是产生电磁脉冲的方法。光电脉冲与电磁脉冲产生的原理大体相似,同样如上述,主轴圆盘周边上开有一个缺口,圆盘缺口一侧对应位置放一只红外发光管,另一侧是红外接收管,圆盘开口转过时,红外光会因无遮挡而被接收管接收,发出一个光电脉冲。
权利要求
1.本装置功能由防盗、数字仪表和语音告警部分构成,三部分相互独立。防盗即给汽车加锁,使发动机不能被启动;给所有车门、行李厢盖、发动机仓盖加锁,使其不能被从外部打开;如有人非法送入密码,企图使装置解除警戒时,除及时报警外,车主能及时知道这种情况;数字仪表是指车速表和发动机转速表采用数字显示和累积;语音告警指当车辆超过限定速度行驶或发生机械故障时,装置能向驾驶人员发出语音告警,语音告警能随时检查和修改。
2.根据权利要求1的表述,装置能“给汽车加锁”,其特征是装置的防盗部分接收遥控器送来密码后,使整车处于警戒状态断开发动机启动电机电源,断开发动机点火电源,使发动机无法启动,使车辆不能依靠自身动力被移动。
3.根据权利要求1的表述,装置能给“给所有车门、行李厢盖、发动机仓盖加锁”,其特征是在警戒状态下,任一车门、仓厢盖均被从车内闩琐,使它们都不能从外部被打开。
4.根据权利要求1的表述,当装置发现“有人非法送入密码,企图使装置解除警戒时;车主能及时知道”,其特征是当装置的防盗部分发现有人用试验的方法,一次又一次送入密码试着解除警戒,或用暴力打开任一车门进入车内或撬开仓厢盖时,除立即鸣响警笛报警外,还能把发生的事件以代码形式用无线数传输的办法发送给遥控器并转告车主。
5.根据权利要4的表述,所谓“能把发生的事件以代码形式记入内存,并用无线数传输的办法发送给遥控器并转告车主”,其特征是在发生问题时,装置发送一字节给遥控器,这个字节的相关“位”被置位,遥控器收到并处理这一字节后,把它输出到P1口。遥控器P1口上的蜂鸣器开始鸣叫,同时该口上的相关二极管点亮,车主根据被点亮二极管的位置,判断发生了什么问题。
6.根据权利要求1的表述,在“当车辆超过限定速度行驶或发生机械故障时,装置会向驾驶人员发出语音告警”,其特征是车速送显示前先检查是否超过某值,若超过设一标志,有标志则告警。
7.根据权利要求1所表述的“语音告警能随时检查和修改”,其特征是在行车前的任何时刻,可以用设定开关的办法对任何语音告警能否正常工作随时进行检查,也可以在需要时对其进行修改。
8.权利要求1所表述的“三部分相互独立”,其特征是防盗、数字仪表、语音告警三部分,本质上相互独立,因此可单独使用,例如,防盗部分可以单独生产,供已在使用的车辆加装。
全文摘要
这是把轿车的防盗、数字仪表、语音告警等集于一身的装置。用微型计算机技术实现。装置由主机和遥控器构成,两者间可以互传信息,遥控器靠发送密码控制主机进入/退出警戒状态主机在警戒状态有“止动”、“周边防护”和发生事件时鸣笛报警功能。装置把警戒状态发生的事件传送给遥控器,用此法告知车主车速和发动机转速以数字显示,较为直观准确。增加了超速告警有利于正常驾驶,语音告警,驾车人的听觉参与识别车况,使视觉能全神贯注路况,有利安全行车。
文档编号B60R99/00GK1721237SQ20041008781
公开日2006年1月18日 申请日期2004年10月19日 优先权日2003年12月10日
发明者张凤石 申请人:张凤石
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1