第5节 基于GPS的车辆联网监控系统的实现
推荐给好友
打印
加入收藏
更新于2008-06-13 23:01:39

5.1系统的主要器件
在基于GPS的车辆联网监控系统中使用的主要器件有Rockwell Jupiter GPS接收机、CML FX469调制解调器、Atmel AT89S52单片机、Motorola GM300 移动电台,此外还有电源、接口转换等器件。在此仅介绍GPS接收机和调制解调器,其他器件较为常见,不做详细介绍。

5.1.1 GPS接收机
本系统使用的GPS接收机是美国著名的GPS卫星制造商的Rockwell公司生产的Jupiter接收机。它体积小、重量轻、精度高、操作简便、易于开发,非常适合在各种导航定位设备及车、船等移动目标中使用,其主要特性如下:

性能特点:
●12个并行通道,可以快速捕获卫星
●无静态漂移
●提供载波相位伪距,伪距率,仰角,角度,XYZ坐标,星历等多种数据输出
●自动存储功能(即任何情况掉电可将当时的信息固化在芯片内部)
●提供两个串口,主串口传送定位数据,辅助串口接收/发射RTCM SC 104差分数据
●自动检测天线状态
●提供1PPS 标准时钟,10KHz频率输出

接收性能:
●12个并行通道,L1波段,C/A码(1.023MHz码片速率)+载波跟踪(载波辅助跟踪)
●速度为950-1550米/秒;加速度:9G
●定位精度小于15米
●1PPS脉冲输出,精度1us(80ns)

启动时间:
●TTFF典型重捕获时间2.0秒;
●TTFF典型温启动15秒
●典型初始化启动45秒
●TTFF典型冷启动120秒
Rockwell Jupiter GPS接收机上有一个标准20(2×10)针的输入输出接口,接口上的各个引脚的定义如表5.1所示:


表5.1 Rockwell Jupiter GPS接收机输入输出接口定义

Rockwell Jupiter GPS接收机接口的11号插针(SDO1)和12号插针(SDI1)是连接接收机的主串行口,分别用于输出和输入串行数据,15号插针(SDI1)是辅助串行输入口,用于接收RTCM差分GPS校正数据消息。

Rockwell Jupiter GPS接收机的主串行端口采用TTL电平,能够支持两种格式的消息协议,一种是Zodiac二进制消息,一种是NMEA字符串消息。当接收机输入输出接口的7号插针GPIO2 (NMEA协议选择)被下拉为低电平时,则其主串行口通信支持NMEA消息格式(4800bps,无奇偶校验,8位数据位,1位停止位);当该插针被上拉为高电平时,其主串行口支持的通信方式取决于8号插针GPIO3(ROM缺省选择),只有当
GPIO3为低电平时,主串行口通信才支持Zodiac二进制消息格式(9600bps,无奇偶校验,8位数据位,1位停止位)。此外,GPIO3还负责决定接收机的初始化数据参数是取自ROM还是SRAM/EEPROM。 

Zodiac二进制消息分为输入消息和输出消息两大类,每一条二进制消息都具有一个消息ID,以区分不同用途的消息。例如消息ID为1000的消息,它是大地位置状态输出(Geodetic Position Status Output)消息;例如消息ID为1200的消息,它是大地位置与速度初始化(Geodetic Position and Velocity Initialization)输入消息。

在Zodiac二进制消息中有Bit、Character、Integer、Double Integer、Triple Integer、Unsigned Integer、Unsigned Double Integer、Unsigned Triple Integer等数据类型,分别简称为Bit、C、I、
DI、TI、UI、UDI、UTI,其中Character(字符型)占8个Bit(位),Integer(整型)类型数据占1个word(字),其它类型所占空间显而易见。

Zodiac二进制消息的消息头中Word 1为同步字(1000000111111111),Word 2为消息号,Word为3为消息数据部分的字数(不包括校验和),Word 4为标记位(0代表保留位),Word 5 为消息头校验和,首先根据公式求取SUM的值,若SUM=-32768,则校验和为SUM,否则为-SUM。消息头结构如表5.2所示:
Zodiac二进制消息的消息头结构如表5.2所示:

消息号为1000的Geodetic Position Status Output消息是GPS车辆监控系统常用的消息,因为其内部包含了经度、纬度、速度、高度等监控所需定位数据以及 UTC时间等信息, UTC时间与三维位置的格式分别如表 5.3和表 5.4所示。Geodetic Position Status Output消息的长度为 55个字,输出频率可变(默认设置为 1Hz),其格式如表 5.5所示。


表 5.2 Zodiac二进制消息头的结构


表 5.3 Geodetic Position Status Output消息中的 UTC时间格式


表 5.4 Geodetic Position Status Output消息中的三维位置格式


NMEA字符串消息是符合NMEA-0183标准格式。NMEA-0183是美国国家海洋电子协会(National Marine Electronics Association, NMEA)为海用电子设备制定的标准格式。由于NMEA字符串消息采用 ASCII码字符串,故消息含义直观易懂。

NMEA字符串消息也分为输入输出消息两大类,每条NMEA字符串消息都具有一个消息ID,以区分不同用途的消息。例如消息 ID为RMC的NMEA字符串消息,为推荐最小详细 GPS数据( Recommended Minimum Specific GPS Data)输出消息;消息 ID为INIT的NMEA字符串消息为Rockwell接收机初始化(Rockwell Proprietary Receiver Initialization)输入消息。消息号为 RMC的Recommended Minimum Specific GPS Data消息,是 GPS车辆将控系统常用的消息,因为其内部包含了经度、纬度、速度等监控所需数据。 Recommended Minimum SpecificGPS Data消息有11个字段组成,输出频率可变(默认设置为 1Hz),其消息格式如表 5.6所示。


点击查看大图

表5.5 Geodetic Position Status Output消息(消息ID 1000)格式说明


表 5.6 Recommended Minimum Specific GPS Data消息(消息 ID RMC)格式说明


5.1.2 调制解调器
该系统中的调制解调器采用的是英国 CML公司生产的 FX469,它是一种单片式的全双工 FFSK(快速频移键控)调制解调芯片。 FX469在相对恶劣的环境下,仍然具有较高的灵敏度和较低的误码率。该芯片功耗低、体积小,仅需要少量外围元器件便可正常工作,已经被广泛地应用于无绳电话、便携数据终端等设备上。

FX469芯片内含 A/D、D/A转换电路,可实现调制、解调、滤波等功能,具有 1200、2400、4800三种波特率可供选择。图 5.1是其功能方框图。

FX469芯片主要管脚说明如下:

Tx Sync O/P:片内产生的方波信号输出脚,用来同步逻辑数据的输出以及 FFSK信号的传送。

Tx Signal O/P:当发送(调制)允许时,此管脚输出 FFSK信号( 140—step的伪正弦波)。当发送禁止时,呈高阻状态。

Tx Data I/P:将被发送(调制)的数据根据 Tx Sync O/P周期地串行输入此引脚。

Tx Enable:发送(调制)允许端,低电平有效。此管脚在内部被上拉至 VDD。当输入高电平时,处于节电方式,此时,Tx Sync Out输出为高电平,Tx Signal Out呈高阻。

Bandpass O/P:Rx带通滤波器输出端,其输出阻抗典型值为 10KΩ,使用前应加驱动隔离电路。

图5.1 FX469功能方框图


VBIAS:片内模拟偏置电路输出端。将其通过一去耦电容与 Vss相连,可以将中心电压控制在 VDD/2。在节电状态,偏压仍然能够保持不变。

Rx Enable:接收(解调)允许端,高电平有效。当输入低电平时,接收机处于低功耗方式,Clocked Data O/P输出为‘ 0’,Carrier Detect输出为 0,Rx Sync O/P输出为‘ 0’或‘1’;当输入为高电平时,除接收有效外, Clocked Data O/P、Carrier Detect、Rx Sync O/P皆有效。

Unclocked Data O/P:解调出来的异步串行数据。

Clocked Data O/P:解调出来的同步串行数据,此数据被恢复时钟锁存,在 Rx Sync O/P信号的下降沿有效。

Carrier Detect O/P:当接收到 FFSK信号时,输出高电平。

Rx Signal I/P:FFSK信号输入管脚。 FFSK信号必须通过一个 0.1μf的电容耦合至此管脚。

Rx Sync O/P:时钟方波输出端。与 FFSK输入信号同步。

Clock Rate:时钟频率选择输入端,高电平是 4.032MHz有效,低电平 1.008MHz有效。

Carrier Detect Time Constant:载波检测时间常数设置引脚,与该引脚相连的电容决定载波检测常数的大小。时间常数大则抗扰性好,但是响应时间长。电容的选择应综合考虑响应速度和抗干扰性。

Baud Select:共有 1200/2400 Baud Select和 4800 Baud Select两个引脚。波特率选择情况见表 5.7。当工作于 1200Baud时:一个周期的 1200Hz音频信号代表逻辑“ 1”,一个半周期的 1800Hz音频信号代表‘ 0’;当工作于 2400Baud时:半个周期的 1200Hz音频信号代表逻辑“1”,一个周期的2400Hz的音频信号代表 ‘0’;当工作于 4800Baud时:半个周期的 2400Hz 的音频信号代表逻辑“1”一个周期的 4800Hz的音频信号代表逻辑“0”。

表 5.7 FX469的波特率选择


Fx469的典型应用电路如图5.2所示。图5.2所示电路中输入信号的参考电压为V BIAS,如果参考电压为V SS,则只需要将 V BIAS和VSS通过电容相连,而不需要与V DD相连。

图 5.2 FX469典型应用电路


FX469调制和解调时序如图 5.3、5.4所示。从图中可以看出,芯片进行调制和解调时都要有一些延迟。调制过程中的延迟 tTxD相对较小,典型值为 1.2μs;而解调时延迟 tID较长,典型值达 1.5ms。表 5.8 列出了其在波特率为 1200时的时间参数,这些在实际应用中都必须注意。另外,在 Tx Sync O/P的上升沿,被发送(调制)的数据要保持稳定;在 Rx Sync O/P的下降沿读取解调后的数据。

点击查看大图
图 5.2 FX469调制时序图


图5.3 FX469解调时序图

表 5.8 FX469时间特性(波特率为 1200)表


FX469芯片的误码率曲线如图 5.5所示。由曲线可知,当输入信号电平保持在 230mVrms 时,该芯片的误码率最低,应用效果最好 ,最小输入信号一般不能低于 100mVrms,最大输入信号不大于1000mVrms。FX469发送信号一般为 775mVrms。因此在设计与电台接口时,必须保证 FX469的电平与电台的电平相匹配,才能获取最佳的调制解调效果。

点击查看大图

图 5.5误码率与输入信号电平关系曲线


5.2 车载移动台
5.2.1移动台设计
车载移动台主要有GPS接收机、单片机、调制解调器和电台等部分构成。单片机是整个移动台的控制器,负责协调各个部分有条不紊的工作。GPS接收机负责接收GPS卫星的信号,然后解算出定位数据并将数据通过串口送给单片机。电台负责发送和接收信号。由于电台的输入与输出为音频模拟信号,而单片机只能处理的数字信号,因此需要调制解调器来对这两种不同信号进行转换。图5.6是移动台的结构框图。


图5.6 车载移动终结构框图


该系统中的选用了AT89S52单片机、Jupiter GPS接收机、FX469调制解调芯片和GM300移动电台。图5.7为移动台主要电路连接示意图,该图并非实际的电路图,而是为了便于表述,省略和简化了许多接口电路和辅助电路。

GPS接收机是定位数据的生产者,它将GPS天线接收到的GPS卫星的信号进行处理,可以解算出其所在的地理位置等信息。这些信息被按照一定的格式通过其SDO1口向外发送。Jupiter GPS接收机可以发送两种格式的数据:一种是NEMA字符格式,一种是Zodiac二进制格式。图5.8和5.9分别是GPS接收机实际发送的
NEMA字符格式数据和Zodiac二进制格式数据的片断,它们是在中国科技大学的同一地点所采集。

无论是NEMA字符格式数据还是Zodiac二进制格式数据都含有丰富的信息,包括卫星信息、时间信息、定位信息等。而在车辆监控系统中我们主要关心定位信息。在NEMA字符格式数据中Recommended Minimum Specific GPS Data消息(即以“$GPRMC”开头的消息)中含有足够的定位数据。例如图
5.8中的Recommended Minimum Specific GPS Data消息所含的信息为:UTC时间:02:20:12(021220),纬度:北纬31°50.3748′(3150.3748, N),经度:东经117°15.0820(11715.0820,E),地面速度:0(0.000),航向:0 (0.0,),日期:05年09月21日(210905),磁变:4.1,W(4.1,W),校验和:*6B(*6B)。因此我们可以从Recommended Minimum Specific GPS Data消息中取得所需要的纬度、经度、速度、航向等定位数据。在Zodiac 二进制消息中,Geodetic Position Status Output消息(消息ID为1000的消息)中也含有足够的定位数据。但是其数据是以二进制数表示的,不如字符直观。在 Zodiac二进制消息中,数据是以字(两个字节)双字、三字数为单位进行处理的,SDO1口传送它们时先传送其低位字节,后传高位字节。在图5.9中可以找到以“ff 81e8 03”开始的消息,这就是消息ID为1000
的Geodetic Position Status Output消息。其中“ff 81”为同步字1000000111111111(即十六进制数
81ff,传输过程先传低位字节所以显示为ff81)。“e8 03”即消息号1000(((03e8)H= (1000)D)。消息的第 27、28两个字“d7 f2 4f 03”代表纬度:北纬31°39.5723 ′(( 034ff2d7)H=(55571159)D ,在这里是用整数来表示小数,实际上是 55571159×10-8,单位为弧度,而 55571159×10-8rad = 31.839928273°= 31°39.5723′)。同理,第 29,30两个字“ 24 9832 0c”代表经度: 117°15.0854′。第 34、35两个字“ 00 00 00 00”代表速度: 0。由于两种数据格式的片断是在同一地点采集,所以所得的位置信息在误差范围内相同。

点击查看大图
图 5.7 车载移动台电路连接示意图

图 5.8 NEMA字符格式数据


图 5.9 Zodiac二进制格式数据


Rockwell Jupter GPS接收机车的 SD1O口与 AT89S52单片机的 RXD口相连接,以便向单片机发送数据,单片机以中断的方式通过串口接收数据,并对数据进行筛选,最后将对监控系统有用的定位数据保存在缓冲区中。因为 NEMA字符格式数据传输参数为 4800bps,无奇偶校验, 8位数据位, 1位停止位,而 Zodiac二进制格式数据传输参数为 9600bps,无奇偶校验, 8位数据位, 1位停止位,所以要根据选择的数据格式,设置单片机串口的各项参数。因为二进制数据占用空间少,使用方便,在该车辆监控系统中采用了 Zodiac二进制数据格式。因此可以将定时器 1作为波特率发生器,设置 SMOD=0,其C/T =0(定时器方式),定时器1工作于模式 2(自动重装载模式)。根据公式 (5-1)求出 TH1的值为 253,即十六进制数 FD。(fOSC为单片机的晶振频率,该系统中为 11.0592MHz)。


单片机时刻不停地接收来自GPS接收机的送来的数据,以保持定位数据最新。移动台和基地台之间的通信需要严格同步,当移动台接收到基地台发布的发送数据命令后,应该立即对定位数据的进行装载、发送。这样移动台就没有时间等待单片机从GPS接收机接收完毕当前的最新数据。也就是说,移动台发送的定位数据的前半部分可能是当前正在接收的最新定位数据,而后半部分是上一个时刻接收的定位数据,即单片机没有能够将缓冲中的数据更新完毕,便发送出去了。这样基地台所接收的数据不是一次完整的定位数据,而是两个不完整的定位数据的叠加后的结果。这样会给定位带来很大的误差,甚至是错误。为了避免出现这种情况,可以采用双缓冲技术。其工作过程是这样的:单片机不断接收 GPS接收机送来的数据,并筛选出定位数据,并将其存入第一个缓冲区,当接收完这一次完整的定位数据,将标志位置位;然后单片机继续接收来自GPS接收机送来的数据,筛选出定位数据存储于第二个缓冲区,接收完毕后,将标志位取反;单片机下一次再将数据存入第一个缓冲区,如此周而复始地交替使用两个缓冲区。这样当移动台接收到基地台要求其发送定位数据的时候,移动台可以根据标志位来选择发送哪个缓冲区的数据,如果标志位为“ 1”,则发送第一个缓冲区中的数据,如果标志位为 “0”,则发送第二个缓冲区中的数据。这样既可以不断地更新定位数据,又能保证所发送数据的正确性。

移动电台 GM300用来接收和发送无线信号,以与基地台通信,其 Microphone Audio Input 和 Discriminator Audio Output两个输入输出端口要求为音频模拟信号,而单片机只能处理模拟信号,因此二者之间需要调制解调器对两种信号进行相互转换。将车载移动电台 GM300的Microphone Audio Input和Discriminator Audio Output端通过电平转换电路分别与调制解调器 FX469的 Tx Signal O/P和 Rx Signal I/P端相连接。这样 FX469可以将单片机送来的数据调制成音频信号送给电台再调制发送,而电台可以将接收的信号解调成音频信号送给 FX469,FX469将音频解调为数字信号后传给单片机。

调制解调器 FX469的 Clocked Data O/P、Tx Data I/P、Rx Enable和Tx Enable与单片机 AT89S52的 P1.4、P1.5、P1.6和 P1.7四根口线相连接,发送和接收数据。调制解调器的Tx Sync O/P和 Rx Sync O/P的上升沿分别与单片机的 INT0、INT1相连接。单片机外部中断设置为边沿激活(IT 1=1,IT2=1)。当发送有效时, Tx Sync O/P端输出的方波的下降沿,引起单片机 INT0中断,中断处理程序降数据写入将数据写入 P1.5口,此时数据并未开始调制,直到在 Tx Sync O/P输出的方波的上升沿, Tx Data I/P才将 P1.5的数据读入,并开始调制,这样被发送(调制)的数据可以保持稳定;在 Rx Sync O/P的下降沿引起单片机INT1中断,中断处理程序将 FX469接收并解调出来的数据从 P1.4读入。

经过测试,在实际环境中,选择通信波特率为 4800时,误码率较高,通信效果不够理想,所以系统没有选择 4800bps的速率进行通信,故直接将FX469的 4800 Baud Select引脚直接接地,而将1200/2400 BaudSelect引脚与单片机相连,以根据不同的实际情况选择波特率为1200还是2400。

由于在该系统允许移动台进行漫游,因此,需要电台能够进行频率切换。GM300车载电台虽然有可以设置 16个通信频道,但是需要按键来选择当前通信频道,并没有在其 16针的接口中预留频道切换功能引脚。然而,当移动台进行越区切换时需要自动切换电台的通信频道。由于电台内部电路结构复杂,且缺少相关资料,很难通过改变其内部结构来实现自动频道切换,因此可以从电台频道切换按键的两个触点中高电平的一端接在一个 NPN型三极管的集电极上,低电平的一端接在这个三极管的射极上,将三极管的基极通过限流电阻接到单片机的输入输出口线 P1.1上。这样当向该端口写入“1”时,三极管导通,相当于频道切换按键被按下,当写入“0”时,三极管截至,相当于按键弹起,这样对 P1.1连续进行两次取反运算,就可以改变频道一次。在该系统中共使用 3个不同频率的通信信道。因此,我们对电台进行编程,使其仅保留频道1、2和 3。因为通过按键进行频道切换,只是顺序的从一个频道切换到下一个频道,例如从频道 1切换到频道2、从频道 2切换到频道3、从频道 3切换到频道1,如此周而复始。因此,在确定目标频道后,还需要知道当前所用频道,才能确定按键次数,以顺利完成频道切换。电台的面板上有两个八段数码管来显示当前所用的频道号,因此可以通过数码管来确定当前的频道号。由于只使用了1、2、3三个频道号,因此可以通过判断数码管的c、d两段的通断状态来确定当前使用的频道号。若c、d的状态为分别为“通、断”,则为频道1;若为“断、通”,则为频道2;若为“通、通”,则为频道3,若为“断、断”,则为出错。数码管各段发光二极管的通断,可以通过其两端的电压反应出来,因此可以用单片机的 I/O口线来读取。如果需要使用更多的频道,则需要适当的增加与单片机 I/O口的连线。这样电台的频率切换就可以由单片机程序来控制。

移动台软件部分采用汇编语言编写,其主程序流程结构图见图 5.10。为了描述方便将基地台发送给移动台的信息统称为命令信息。

点击查看大图

图 5.10移动台主程序流程图


5.2.2 移动台的越区切换
由于局域监控子系统的网络容量及覆盖面积在很多情况下不能满足监控要求,因此采用 Internet将各个监控子系统互联。这样不但增大了系统容量,而且使移动台漫游成为可能。

在整个监控系统中存在多个无线网络。如果各个无线网络相距很远,例如各个基地台都分布在不同的城市,那么它们仍然可以有效地工作。当移动台从一个局域监控子系统的无线网络覆盖区行驶至另一个局域监控子系统时,其通信频率无须改变,只需要向新的监控子系统提出入网申请即可。但是,如果两个存在两个局域监控子系统相距不是很远,例如同一城市的多个监控子系统,那么如果它们还使用同样的频率进行无线通信,势必造成相互影响,必将使整个监控网络失效。

为了使基于 GPS车辆联网监控系统能够更有效地工作,系统引入了蜂窝通信的概念。相邻的两个监控子系统不再使用相同的信道,而且相隔一定距离的监控子系统可以使用相同的通信信道。由于使用相同通信信道的两个局域监控子系统相距甚远,一个通信网络的无线电信号在进入另一个无线网络时已经损耗殆尽,不会对另一个网络的通信构成影响。这样各个子系统便可以相互独立的运行。

由于各个局域监控子系统所采用的无线通信信道不是完全相同,这样移动台要实现在各个局域监控子系统中相互漫游必须改变其通信频率。移动台在什么时候切换频率呢?

通常无线通信网络判断越区切换可以比较原小区和目标小区的信号强度,当其比值达到某一设定值时,即进行切换。此外还可以根据原小区和目标小区的信噪比(信号和噪声的强度比)作为切换标准。

该系统所采用的设备简单,很难实现信号强度和信噪比的测量,但是该系统具有另外一个特点,那就是移动台通过GPS接收机时刻知道自己的精确地理位置。那么我们可以考虑将地理位置作为越区切换的标准。

第一种方案:移动台控制切换。在每个移动台中保存有各个基地台的大致服务范围以及基地台所使用的通信频道。在我们的系统当中共使用了 3个通信频道。当移动台与基地台不能正常通信时,移动台启动越区程序。首先移动台通过 GPS接收机接收的经度和纬度值,判断其当前所在的区域属于哪个局域监控子系统的服务范围,然后查表获得该监控子系统的通信信道。然后移动台将自己的通信电台切换到该信道上来,开始接收基地台发送的同步、命令等信息,在收到基地台的允许注册的信号后,立即向其申请注册入网,如果注册成功基地台会为其发送分组等相关注册成功的信息,并为其分配通信时隙。如果移动台未能收到注册成功的信息。则可能在发送时与其他移动台出现冲突,可以延迟一个随机事件后重新启动注册过程。

这种方案是在移动台彻底与原基地台失去联系后才开始启动越区切换,中间会存在一定的时间的通信中断。由于移动台控制器为单片机其数据存储量和运算能力有限,通常只存储基地台的地理坐标,以及基地台的覆盖半径,即将其网络覆盖区理想化为一个圆形,未考虑地形等因素对无线电波传输造成的影响。这样移动台只是判断其当前位置是在哪个圆形区域内即可。这样移动台运算量和数据量相对降低,但是可能出现误判。例如基地台甲与移动台相距很近,但是之间有高大建筑物的阻挡,移动台与基地台甲不能通信;而基地台乙虽然与

移动台距离较远,但是移动台与基地台乙之间地势平坦,二者可以通信。但是这时移动台却会错误的切换到基地台甲的频率上而不能正常通信。

第二种方案:监控中心控制切换。由于移动台在行驶出原局域监控网络的覆盖区域之前会通过无线网络将其位置信息传送给基地台。这样监控中心的监控计算机也会知道移动台的所处位置。因为移动台在行驶至接近本监控子网络的覆盖区域前,已经进入了另一个监控网络的覆盖区域,即两个网络的共同覆盖区(两个网络使用不同的通信频率,不会造成相互干扰),所以监控中心可以在其行驶出本监控子系统的网络覆盖区域前,根据其行驶方向判断其即将进入的监控子系统,向移动台发送越区切换命令。移动台收到越区切换命令后,立刻将其通信频道切换,等待注册时机,收到允许注册信息后,立即向新网络提出注册申请,若成功,新网络就会向其发送分组等信息。

这种方案越区切换的判断由监控计算机负责完成,由于监控计算机的存储量很大,而且运算速度快。可以将监控网络的覆盖范围记录成接近实际的形状,而计算机完全有能力计算移动台当前位置与基地台覆盖范围之间的关系,这样进行越区切换判断比较准确,且切换过程中断通信的时间很短。但是由于天气等随机因素发生监控区域范围变化等情况,容易使车辆行驶出原监控网络,而不能进入新的网络。例如,监控范围受随机因素干扰突然变小,当车辆行驶至某一位置后,突然驶出监控网络,而在正常情况下移动台还完全在原监控网络的覆盖范围内。这样原基地台与移动台彻底失去联系,监控中心将不能通知其进行越区切换,移动台将永远与监控中心失去联系。

由此可见,以上两种方案各有其优缺点,在基于 GPS的车辆联网监控系统中可以共同使用两种方案。这样当移动台在原网络覆盖范围内时由监控中心根据移动台的位置控制其越区切换,当移动台突然行驶出原网络覆盖范围后,移动台会根据自己所处位置选择合适的通信频率进行注册。这样既可以缩短切换时中断通信的时间,又可以保证移动台不会彻底与所有监控网络失去联系。

此外在有时基于位置进行频率切换可能会失败,例如移动台由于被遮挡而不能收到位置信息或者要加入的新网络的基地台临时故障等。这时移动台将搜索所有的通信频道。并在每一个通信频道上停留足够长的时间,判断是否能够获取允许注册信息。直到注册成功。当然这种方法在通信频道太多的时候,需要花费时间较长。但是能够保证在有网络可用的时候,能够申请注册入网。

5.3 监控中心
5.3.1监控中心设计
监控中心由GPS接收机、单片机、调制解调器、电台和监控计算机等组成。也就是说监控中心是由基地台和监控计算机两大部分组成。单片机是基地台部分的控制器,负责控制基地台各个部分协调的工作,并且负责与监控计算机通信。电台负责发送和接收信号。调制解调器负责数字信号和模拟音频信号的相互转换。监控计算机是人机交互工具,它负责在电子地图上实时显示被监控车辆的位置,并将监控数据通过Internet传送给其它计算机。监控中心的GPS接收机是为了实现差分GPS(DGPS)而设置的。图5.11是其工作原理框图。

图 5.11监控中心结构框图


基地台的设计与移动台的设计相类似。仍然选用了 AT89S52单片机、 FX469调制解调芯片和GM300移动电台。与移动台相比,基地台可以不再接GPS接收机。因此也就不需要考虑通过串口接收GPS定位数据,但是基地台的单片机要和监控计算机进行串口通信通信。图5.12是基地台主要电路连接示意图,该图并非实际的电路图,而是为了便于表述,省略和简化了许多接口电路和辅助电路。

图 5.12 基地台电路连接示意图


基地台中的调制解调器FX469、电台GM300的连接方式与移动台几乎一致。由于基地台的通信频率一般是固定不变的,也就不需要程序控制电台进行自动频率切换了,故电台的连接方式也就更简单了。


基地台部分的软件也是采用汇编语言编写的,其主程序流程图结构如图5.13所示。为了描述方便,将监控计算机发送给基地台的信息统称为命令信息,将移动台发送给基地台的信息

点击查看大图

图5.13 基地台主程序流程图


统称为数据信息。

监控中心的GPS接收机是为了实现差分GPS(DGPS)而设置的。它可以利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并通过基地台发送给移动台,移动台接收到该修正数据后再传送给其GPS接收机。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,得到一个更加准确的定位信息。如今,美国已经取消了SA政策,定位精度已经达到了较高水平,如果系统要求的定位精度不是太高,可以省略该GPS接收机。在本系统中就没有使用中心GPS接收机。

监控计算机与基地台单片机之间是通过串口通信的,这与GPS接收机与移动台单片机之间相类似。但单片机和GPS接收机的接口都是TTL电平,二者可以直接相连接,而计算机的串口符合RS-232标准,不是
TTL电平,故二者不能直接连接。 EIA-RS-232C标准协议中规定:在其TxD和RxD上,逻辑1=-3V~-15V;逻辑0=+3~+15V,也就是说EIA-RS-232C用正负电压来表示逻辑状态。这与TTL以高低电平表示逻辑状态的规定不同。因此为了能够将TTL器件与计算机的串口相连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的转换。实现这种转换可以采用分立元件,也可以采用集成电路芯片。由于采用集成电路芯片简单易行,因此得到广泛应用。如MC1488、SN75150芯片可以完成TTL电平到EIA电平的转换,而
MC1489、SN75154可以实现EIA电平到TTL电平的转换, MAX232芯片可以完成TTL←→EIA双向电平转换。

由于RS-232C并未定义连接器的物理特性,因此出现了DB25、DB9等类型的连接器。它们的引脚数目不同,各针脚的定义也不相同。其各针的定义如表5.9所示。目前计算机上常见的为DB9型连接器,

表5.9 串口信号角说明


在该系统中,只需要与单片机建立简单的双向连接,不需要使用其它控制信号,因此只连接了RxD、TxD和GND。此外RS-232C在通信速率低于20kbit/s时,其直接连接的最大物理距离为15米。在该系统中我们仅考虑基地台与监控计算机之间的距离小于15米的情况,如果大于15米,则基地台和监控计算机之间的通信需要使用Modem或者借助于网络。

监控计算机的串口输出端TxD与Max232的R1IN相连,单片机的接收端RxD与Max232的R1OUT相连,这样Max232就将计算机的EIA电平转换为单片机所需的TTL电平。同理,将单片机的输出串口TxD与Max232的T1IN相连, 计算机的串口接收端RxD与Max232的T1OUT相连这样,Max232又实现了从TTL电平到EIA电平的转换。

基地台单片机与监控计算机之间的通信参数仍然采用9600bps,无奇偶校验,8位数据位,1位停止位,所以基地台单片机的设置与移动台单片机设置相同,即定时时器1作为波特率发生器,设置C/T =0(定时器方式),并使其工作于模式2(自动重装载模式)设置SMOD=0,TH1仍然设置为253,即十六进制数FD。

监控计算机上使用Windows操作系统, 在该系统中监控计算机上的应用程序都是采用Delphi来编写的。串口通信的计算机端可以使用Windows API进行编程。在32位Widows系统中串口和其它通信设备是作为文件处理的。串口的打开、关闭、读取和写入所用的函数与操作文件的函数完全一致。

在使用串口前应该先将串口打开,主要调用CreateFile()函数来实现。在打开串口后,通常要对串口进行配置,通常使用Se tCommState()函数来配置端口。配置前可以先使用GetCommState()函数来获取当前串口的DCB结构,更改部分DCB结构后再用SetCommState()来配置端口。下面程序是实现打开串口,并将串口配置为系统需要的9600bps、无奇偶校验,8位数据位,1位停止位。


在使用完毕串口后应该调用CloseHandle()函数将串口关闭.


利用Win32 API读写串口时,既可以同步执行,也可以重叠(异步)执行。在同步执行时函数直到操作完毕才返回,这意味着在同步执行时线程会被阻塞,从而导致效率降低。在重叠执行时,即使操作还未完成,调用函数也会立即返回,这样线程就可以做其它工作。在该系统中,显然应该采用重叠方式。读串口操作有两个函数:一个是ReadFile(),它对同步异步操作都支持;另一个是ReadFileEx(),它只支持异步操作。同样写串口操作也有两个函数WriteFile()和WriteFileEx()。这四个函数都受函数是否异步操作、超时操作等参数的影响和限定。

监控计算机是否需要连接到Internet上,也是根据系统需要而定的,如果系统需要的监控范围比较小,可以用一个基地台覆盖整个监控区域,则可以不把监控计算机连接到Internet;如果系统需要覆盖一个很大的城市甚至是几个城市,则需要Internet来连接所有监控计算机,以扩大监控范围和系统容量。

监控计算机中还应该保存有车辆信息数据库和基地台信息数据库等。车辆信息数据库负责管理被监控车辆的信息,如车辆编号、车牌号、车主、归属地、监控级别等信;基地台信息数据库负责管理基地台相关信息,如基地台编号、基地台网络覆盖区域、基地台通信信道、监控计算机IP地址等。有了这些信息不但利于了解其相关信息,还可以为移动台的越区切换提供支持。


5.3.2 电子地图设计
电子地图是车辆监控系统的重要组成部分,有了它才可以直观的显示被监控车辆的具体位置,以便于对被监控车辆进行管理和调度。

电子地图是存储在计算机的硬盘、软盘、光盘或磁带等介质上的,地图内容是通过数字来表示的,需要通过专用的计算机软件对这些数字进行显示、读取、检索、分析。电子地图按其数据存储方式可分为矢量地图和栅格地图(又称点阵地图)两种。栅格地图采用基于栅格的数据结构,将地图离散化成一个象素阵列,其优点是结构简单,操作方便,缺点是精度低,数据存储量大,难以操作单个目标,叠加动态目标后,影响显示效果。矢量地图采用基于矢量的数据结构,用点、线、面来描述地图,记录存储的内容是所描述对象的关键点,同时带有关键点的属性描述,在显示时,用软件读取相应数据按一定规则变换后再显示。虽然矢量地图数据结构复杂,计算量大,但是其数据存储量小,图形精度高,易于操作和变换。因此矢量地图也就更加符合地理信息系统(GIS)和智能交通系统(ITS)的发展需要。

矢量地图的核心是数据,它可以看作是由点、线、面三种几何对象以及其属性数据构成的数据的集合。因此可以引入地图矢量库和地图数据库两个概念来描述矢量地图。所谓地图矢量库是一组图形数据,它保存了地图的几何数据;所谓地图数据库则是一组描述数据,它保存了地图的各种几何对象的属性数据。地图矢量库和地图数据库通过地物的序号建立索引关系,如图5.14所示。

图5.14 矢量地图的组成


矢量地图主要由点、线、面三种几何图形构成,地图矢量库也就主要保存这三类数据。单位之类的地物实体用点来表示;公路、铁路等地物实体可以用线来表示;湖泊、区划等实体则可以用面来表示。依照传统习惯,把点、线、面这三类地物按照从上倒下的顺序排列,便可构成地图的几何结构。

点标志和面标志比较简单,分别对应于几何点和多变形。线标志的构成相对复杂,为了表述线标志我们引入了矢量边、节点、路等概念。所谓矢量边是一些点的坐标集合,表征一条连续曲折的线,点的排列顺序决定了折线的行进方向以及折线的形状和位置。并且只有两个端点可以属于不同的矢量边。节点是大节点和小节点的统称,也就是构成矢量边的点,大节点是矢量边的端点即其起点或终点;小节点是矢量边中除大节点以外的节点;路就是矢量边的集合。

图5.15是矢量地图的道路示意图,其中点1、4、7、8是大节点,点2、3、5、6是小节点,点1、2、3、4,点4、5、6、7,点4、8分别构成矢量边,以上3个矢量边的任意组合都可以构成路。

图5.15 矢量地图的道路示意图


矢量地图中的地物属性信息保存在地图数据库中。对于点地物其属性包括类型、位置、名称、显示图标、显示级别等;对于面地物其属性包括类型、位置、名称、颜色和形状等;线地物的属性包括类型、位置、名称、颜色、显示宽度、显示级别等。

所以生成、编辑电子地图的过程就是生成、编辑地图矢量库和地图数据库的过程。

鉴于栅格地图和矢量地图的特点,在该车辆监控系统中的电子地图选择了矢量地图。目前,大多数矢量地图依据卫星拍摄或者是航空拍摄的图片来制作的,且制作周期长。虽然这种矢量地图精度较高,但是成本更高,通常一个中等规模城市的地图就需要几百万元。很难令人接受

中国科学技术大学GPS实验室依据普通纸质地图,用计算机自动或半自动完成矢量地图的制作,具有制作周期短、费用低等特点。首先用扫描仪、数码相机等工具将常见的纸质地图输入计算机,然后通过图像处理的方法将道路网络提取出来,然后对道路网络进行细化、矢量化,这时便可以得到矢量道路网,再对该矢量道路网进行校正,提高地图精度。然后在此基础上添加其他地图信息,便可以得到经济适用的矢量地图。

下面以合肥市为例介绍该系统所使用的电子地图的制作方法和过程。首先将纸质地图扫描进计算机,如图
5.16所示。对于交通地图来说,道路网络是最重要的部分,也是位置关系最复杂的部分。因此,我们先用图像处理的方法(例如基于外延特征的栅格地图噪声去除算法[27])将其中的道路网络进行识别,获得道路网络图,如图5.17所示。此时道路网络图仍然是一幅栅格地图,它在计算机中还是以位图的方式存储在计算机中,只是将地图中的文字、区域等信息去除了。

现在对道路网络进行细化矢量化后便可以将道路网络栅格地图变为道路网络矢量地图,

 

  


图5.16 合肥市区栅格地图                                             图5.17 合肥市区道路分布图


如图5.18所示。它已不再以位图的方式存储于计算机中,而是以地图矢量数据库的方式存储于计算机中。在制作过程中,我们没有改变地图的精度,也就是说原栅格地图的精度决定了我们道路网络矢量图的精度。通常我们所用的栅格地图只是标明各种地物的相对位置关系,精度不高。这样我们所获得的道路网络矢量图也不高,从图5.19可以看出,实际道路与地图道路的位置有较大差别(道路实际位置数据来自手持
GPS设备采集的道路的位置信息,它虽然不是精确的道路位置,但与实际位置相差较小,故可以看作实际位置)。很难达到监控系统对电子地图的要求,因此,必须提高矢量地图的精度。



 
图5.18 道路网络矢量图                                         图5.19 实际道路与地图道路


为了提高地图精读,需要对地图进行进一步处理。在这里可以采用计算机对道路网络进行自动校正。在实际位置曲线中分散地选取数个点,并找出地图中的相应点,如图5.20所示,并以这数对点为参照,将地图分区域进行平移、缩放、旋转等操作,最终使实际位置与地图位置相吻合,此过程中选取的点越多,校正效果也越好。图5.21是选取了18个点的以及其校正效果,从中可以看出实际采集路线与地图道路曲线已经基本重合。完全可以应用于车辆监控系统[30]。


 
图5.20 地图校正前的效果                                                 图5.21 地图校正后的效果


经过以上步骤,比较精确道路网络矢量地图已经建立起来了,我们还需要在上面添加点状地物和面状地物,以及各种地物的属性数据。由于,该地图主要是应用于车辆监控系统中的交通地图,因此对道路的精度要求较高,而对其他地物的精度要求可以适当降低,因此完全可以以道路位置为参考,手动添加其他地物的信息。图5.22是添加完整信息后的合肥市区矢量电子地图,它能够任意放大或缩小、支持地理信息查询等,有着普通栅格地图不能比拟的优点。

点击查看大图

图5.22 合肥市区矢量电子地图


车辆监控系统的监控计算机安装矢量电子地图以后,可以根据被监控车辆的经度、纬度等信息,直观地显示被监控车辆的位置,如图5.23所示。监控中心的工作人员可以根据车辆的分布情况及时对被监控车辆进行指挥和调度。

点击查看大图

图5.23 车辆监控系统场景

 

<<上一节       下一节>>




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.