1)采用了Atmel 公司生产的AT89S52 单片机作为处理核心,该处理器有32 个I/O 口,3 个Timer,最多支持8 个中断。因为 256B 的片上RAM 资源不够,所以系统使用了扩展的64KRAM,此外AT89S52 的8K 片上flash 对于该系统来说已经足够。该处理器可以支持不同的功耗模式,适用于对于成本和功耗敏感的场合。
CPU 外接型号为AT24C01 的 EEPROM 作为数据存储器,用来存放车主电话号码等信息。AT24C 系列串行E2PROM 具有I2C 总线接口功能,功耗小,宽电源电压(根据不同型号2.5V~6.0V),工作电流约为3mA,静态电流随电源电压不同为30μA~110μA。系统中使用了P2 口模拟I2C 总线与E2PROM 连接,这样的方式相比硬件实现I2C 协议可以简化电路,降低成本。
AT89S52 芯片中提供了内置看门狗,在一定的时间周期内,我们必须对看门狗的寄存器进行设置,如果没能及时设置,看门狗将使系统复位。
2)每台终端在使用前需要进行初始化设置。该设置是通过串口来完成的,通过复用与GPS 连接的串口来实现终端设备的初始化。需要定义好其通信协议和需要配置的具体内容。
3)该终端安装在汽车比较隐蔽的地方,采用汽车电源供电的方式。该终端的主要功能是负责 GPS 信号的接收处理、告警数据的上报、中心控制命令的接收、处理及命令的执行等工作。
4)GPRS 模块采用法国 WAVECOM 公司Q2406B ,上传速率可达 2618 kbit s/s ,下载速率可达5316 kbit s/s。GPS 模块有以下两种选择:
a)直接选择串口连接方式的 GPRS MODEM。
b)选择内置的GPRS 模块外加天线的设计方法。
采用第一种方法可以降低开发和维护的难度,而且安装方便,但是成本比较高。第二种方法需要在硬件上设计相关的电路,开发难度较大,不过可以降低成本。
5)车轮速度传感器也叫轮速传感器或转速传感器,它可以测出车轮与驱动轴共同旋转的齿圈数,然后产生与车轮转速成正比的交流信号。车轮速度传感器信号通过ADC 电路转换为数字信号传送给CPU 进行判读。
3.4 任务的设计
通过对图2以及系统功能的分析我们将系统软件划分为多个任务,任务的名称,任务周期以及执行时间等信息如表1所列。
在表列出的各项任务中,Task1 每1ms 对buffer 进行查询,如果有需要收发的信息,马上通过串口收发。串口收到的string 流存放到缓冲区中,交给Task2 进行处理。Task2 周期为1s,负责PUD 短信的编解码,对命令的识别和控制信号的发送,它是系统中最耗费资源的任务。Task3 每隔10s 执行一次,它对车速传感器采集的信号进行判别,如果需要告警,则将消息发送给Task2 进行处理。Task4 每48ms 检测一次消息,完成对汽车控制信号的发送。Task5 在小于16383 个CPU 机器周期内(这里以12ms 为周期),对看门狗进行置位,保证系统的正常运行。
根据合作式调度器的原理与各任务的周期,设置定时器每1 ms 产生一个周期中断信号。因为有多个任务的执行时间超过1 ms ,Task1 无法按规定的频率执行。因此采用直接将Task1 包含进定时器中断服务子程序的方法,从而使所有任务的周期及执行时间均能满足系统任务可调度的要求。
在工程中采用事件触发模式很大程度上会增加系统的复杂性,导致庞大的代码结构。这样的代码长度及复杂性不适合普通开发人员构建,而商业实时操作系统往往价格昂贵,并且需要很大的操作系统开销。采用基于时间触发模式开发系统可以满足实时、简单、可预测性等工程要求。在应用实例中也可以看到,对于任务周期与执行时间相差悬殊的任务,为满足可调度性的要求,将需频繁执行的短任务加入定时器中断服务子程序的方法延长了中断处理的时间,同时削弱了系统实时响应能力及可预测能力。此外,也可以通过将执行时间长的任务分解成几个执行时间短的任务来满足任务可调度性。相对于事件触发模式,时间触发模式对工程技术人员的要求更高。
4.结语
通过软硬件的设计,汽车防盗系统实现了对汽车的实时监控和报警,并能实现硬件硬件防盗功能。汽车电子中嵌入式系统得到了大量运用,如何整合汽车的原有资源,设计出强大而且实用的应用,将是未来汽车嵌入式开发的目标。