・46・遥 测 遥 控第21卷第4期
GPS 数据采集卡的设计
()
文 摘 目前, GPS 。介绍用硬件电路实现GPS 数据接收存, 并利用可编程器L attice isp 1032E 产生, RAM 中。
++单片机
引 言
全天候、连续实时的精密三维导航与定位能力, 有着广泛的应用价值和发GPS 具有全球、
展潜力。本GPS 数据接收和存储目前主要采用计算机的串口和数据采集卡, 用中断方式进行。文介绍由单片机和双口RAM 等外围电路组成采集卡, 用通用的串行通信口与GPS 接收机通讯, 将GPS 的数据采集存储于又口RAM 中, 当采集完一帧数据后, 通过中断方式使计算机读取双口RAM 的数据。
1 GPS 数据输出格式
本系统所用GPS 接收机为NOV TA EL 的GPSCA RD TM , 它是标准的M OD E M 异步串行传送方式, 并采用D 型R S 2232C 电缆接口。在使用异步串行传送时, 不要求有严格的时间控制和同步协议, 但要求在电文中作一些规定, 在数据传送前, 需送一个“开始位”, 传送完一帧数据后, 再送一个“停止位”。传送的一般格式为:
波特率: 9600b it s 数据位: 8b it 奇偶校验: 无开始位: 1停止位: 1
TM
NOV TA EL 的GPSCA RD 可接收30多种命令格式, 并可按用户给定的格式输出数据。
其用户给定记录格式为:
LO G POR T , DA TA T YPE , [TR IGGER , {PER I OD },{O FFSET }]其中,
POR T :控制面板、COM 1, COM 2
DA TA T YPE :A SC 或二进制数据记录有效值。如PO SA 以A SC 码输出TR IGGER :选择LO G 测量频率, 频率按PER I OD 和O FFSET 设定PER I OD :仅ON T I M E 时有用, 时间间隔
收稿日期:1999206226 收修改稿日期:2000201217 国家8632308资助项目
2000年7月GPS 数据采集卡的设计・47・
O FFSET :仅ON T I M E 时有用, 以秒为单位, 以一秒一个记录输出。
数据类型中, “表示以A SC 输出数据, “表示以二进制形式输出数据。当用户给出A ”B ”
上述格式的命令后, GPS 接收机输出用户给定类型的数据格式。NOV TA EL RD TM 输出数据以“$”为开始位, 以“[0D ][0A ]”:
$xxxx , data field …, data field …, data field XX [[0A 其中以“$”为开始标识符, “xxxx ”, , 每个信息长度依赖于数据类型格式。不同数据信息以“, ; , “为总校验和, “[0D ]XX ”[0A ]”B SPHA B , VL HA B , R GEA B , M KPA B 这五种命令格式。在本系统中采用A SC 码。例如用户要求GPS 输出PO SA B , 以A SC 码形式输出同时以一秒间隔时间, 则用户输出记录格式为:
LO G COM 1, PO SA , ON T I M E , 1
GPS 接收用户要求的格式后, 按下述格式输出数据。其输出记录格式为:
$PO SA , data field …, data field …, data field …3XX [0D ][0A ]
2 GPS 数据采集卡的硬件组成框图
根据以上的GPS 数据输出格式, GPS 数据采集卡由CPU 监控系统、可编程异步通信接口、数据存储器和地址译码器等组成, 其组成框图示于图1。下面分别对各部分加以说明。2. 1 监控系统
监控系统CPU 由单片机A T 89C 51组成, A T 89C 51本身内部带有2K 的ROM 程序存储器, 256字节的数据存储器, 工作频率最高可达24M H z , 当程序在2K 以内时, 不需要扩展外部程序存储器, 可以减少外围电路体积, 它是目前广泛采用的单片机。A T 89C 51负责对可编程异步通信口写入通信规约, 同时判
断通讯口转换数据是否为有效的开始符和结束符, 当收到结束符后负责向主机发中断信号。
2. 2 可编程异步通信接口
GPS 按标准串行异步通讯格式输出数据。在此, 采集卡采用可编程串行异步通信口作收发器。单片机有专门的异步收发器, 可用定时器T 1作波特率发生器, 用T XD 和R XD 作发和收。但是单片机A T 89C 51在扩展外部数据存储器时, AL E 作为锁存地址低位字节, 并以不变的频率周期输出。正是这个原因, 对外部数据存储器某单元进行操作时, 低位地址相同的单元内容将同时被改变, 影响了数据操作的可靠性。为了克服这种现象, 可在内部寄存器SFR 8EH 地址上置“0”来禁止AL E 的输出。此时AL E 只有在执行M OV X 指令时才起作用, 保证了外部数据存储器数据操作的唯一性。由于SFR 8EH 地址上置“0”, 即禁止了单片机波特率发生器。因此在此选用TL 16C 550可编程异步通信口。TC 16C 550波特率的设置由内部参数完成, 具有
・48・遥 测 遥 控第21卷第4期
标准可编程异步通信接口, 接收和发射的各状态控制字完全独立, 且具有M OD E M 控制功能, 完全适应GPS 的数据接收。TL 16C 550与TL 16C 450兼容, 在F IFO 运行方式时, 接收和发射都具有16字节F IFO 存储器, 这样可以大大减少中断数; TL 16C 550后即可与GPS 进行通讯。TL 16C 550向GPS 发送LO G , LO G 格式:
LO G COM 1, PO SA , ON T I M E , 1; LO G COM 1, VL HA , ON T I M E , 1; LO G COM 1, R GEA E , 1; LO G , K ; 1, , ONM A R K ;
TL 发送上述LO G 后, 开始接收GPS 数据。GPS 接收上述的LO G 命令后, 一秒内
同时输出PO SA 、VL HA 和R GEA , 并以一秒的间隔输出下一个记录。TL 16C 550每接到一个有效数据后, 中断请求单片机A T 89C 51读取F IFO 的数据。A T 89C 51判断是否为开始符, 当开始符有效时, 将串口转换数据存入双口RAM 中, 直到[0D ][0A ]结束当前记录的存储。2. 3 数据存储器
在GPS 所输出的记录中, PO SA 、VL HA 、SPHA 和M KPA 中的每个记录最多为84个字节, 每个卫星的R GEA 字节长为74个字节, 目前最多可收到12颗卫星, 则R GEA 最多为1000个字节。所以在选择数据存储器时, 选用双口RAM CY 7C 1362K 38位存储器就能满足要求。双口RAM CY 7C 136具有两个独立的端口, 各自均有一套相应的数据总线、地址总线和控制总线, 允许两个端口独立、异步地对存储器中的任何存储单元进行存取操作。当两个端口同时对存储器中的同一单元进行存取操作时, 可由其内部的仲裁逻辑决定优先权。双口RAM 的左边数据线、地址线与单片机相接, 双口RAM 右边数据线、地址线与计算机ISA 总线相连。因此, 单片机和计算机可以同时对RAM 进行读写操作。2. 4 地址发生器
地址发生器由可编程器L attice isp 1032E 组成, 它产生整个采集卡所有的控制信号和片选信号, 同时产生异步通信口的时钟信号。可编程器在数字电路中广泛应用, 当它用于产生地址信号和时序控制信号时, 对于调节地址范围和控制时序关系时, 不需修改硬件电路, 仅作软件处理即能完成。特别是在计算机接口电路中, 数据存储器的控制信号必须是唯一时, 地址控制相当严格, 这时, 用可编程器就显得比较优越。
3 GPS 数据采集软件设计
在上述硬件支持下, 软件设计是比较容易的。按GPS 数据规约初始化通信口, 确定数据收发频率和数据传输位数, 并使通讯口以中断方式输出数据。异步通讯口发出采集卡所要接收的GPS 数据格式。异步通讯口在接收时, 每当转换完一个字节就产生中断信号, 采集卡以中断处理方式读取GPS 数据。软件设计流程图示于图2。
4 结束语
用单片机A T 89C 51作监控系统, 当程序在2K 字节以内时, 不需要扩展外部ROM , 可以
2000年7月GPS 数据采集卡的设计・49・
减小电路体积; 可编程逻辑器件产生各种时序信号和控制信号, 易于适应不同时序控制要求。异步通讯口采用TL 16C 550可编程通讯口, 适应于不同的
通讯协议。因此, 本接口电路不仅用于GPS 数据接收, 而且可用于所有标准的异步接口电路。
参考文献
1位, 位数据
Y
1 张守信编著. GPS 出版社, .
2. . 北京航空航天大学出版
向GPS 发射数据
3 T EL 用户手册. 1999.
输出完?
Y
D esign of GPS Da ta Acqu isition Card
X ie X iaop ing J iang L in tao
Abstract T he design of the GPS data acquisiti on card is introduced in th is paper . T he circuits of the card are consisted of a computer on slice and its peri pheral circuits . A p rogramm able logic . device L attice isp 1032E is used to p roduce vari ous contro l signals A nd the co llected signals are transfered and sto red in a double 2po rt RAM .
Subject ter m s D ata acquisiti on card Sto rage Single 2ch i p
接收GPS 数据
写入RAM 中单片机中断请求
图2 软件流程
[作者简介]
谢小平 工程师 主要从事自动控制和数字信号处理工作姜凌涛 副研究员 主要从事图像信号处理工作
GPS 卫星星座的最新状态
轨道面
SV 编号
A 114
第一轨道面A 2A 3A 4
252A 19920223
382A 19971106
272A 19920909
A [1**********]19
B 1222A 19930203
第二轨道面B 2B 3
302A 19960912
[1**********]
B 4352A 19930830
C 1362A 19940310
第三轨道面C 2C 3
332A 19960328
312A 19930330
C 4372A 19930513
2A
1993
0626轨道面
第四轨道面第五轨道面第六轨道面
[***********]
2A 2R 22A 22R 22A 2A 22A 2A 22A 2R
[***********][***********][***********]921997
SV =Space V eh icle
3表示同一轨道面内除四个主要的卫星星位外附加星位。
・46・遥 测 遥 控第21卷第4期
GPS 数据采集卡的设计
()
文 摘 目前, GPS 。介绍用硬件电路实现GPS 数据接收存, 并利用可编程器L attice isp 1032E 产生, RAM 中。
++单片机
引 言
全天候、连续实时的精密三维导航与定位能力, 有着广泛的应用价值和发GPS 具有全球、
展潜力。本GPS 数据接收和存储目前主要采用计算机的串口和数据采集卡, 用中断方式进行。文介绍由单片机和双口RAM 等外围电路组成采集卡, 用通用的串行通信口与GPS 接收机通讯, 将GPS 的数据采集存储于又口RAM 中, 当采集完一帧数据后, 通过中断方式使计算机读取双口RAM 的数据。
1 GPS 数据输出格式
本系统所用GPS 接收机为NOV TA EL 的GPSCA RD TM , 它是标准的M OD E M 异步串行传送方式, 并采用D 型R S 2232C 电缆接口。在使用异步串行传送时, 不要求有严格的时间控制和同步协议, 但要求在电文中作一些规定, 在数据传送前, 需送一个“开始位”, 传送完一帧数据后, 再送一个“停止位”。传送的一般格式为:
波特率: 9600b it s 数据位: 8b it 奇偶校验: 无开始位: 1停止位: 1
TM
NOV TA EL 的GPSCA RD 可接收30多种命令格式, 并可按用户给定的格式输出数据。
其用户给定记录格式为:
LO G POR T , DA TA T YPE , [TR IGGER , {PER I OD },{O FFSET }]其中,
POR T :控制面板、COM 1, COM 2
DA TA T YPE :A SC 或二进制数据记录有效值。如PO SA 以A SC 码输出TR IGGER :选择LO G 测量频率, 频率按PER I OD 和O FFSET 设定PER I OD :仅ON T I M E 时有用, 时间间隔
收稿日期:1999206226 收修改稿日期:2000201217 国家8632308资助项目
2000年7月GPS 数据采集卡的设计・47・
O FFSET :仅ON T I M E 时有用, 以秒为单位, 以一秒一个记录输出。
数据类型中, “表示以A SC 输出数据, “表示以二进制形式输出数据。当用户给出A ”B ”
上述格式的命令后, GPS 接收机输出用户给定类型的数据格式。NOV TA EL RD TM 输出数据以“$”为开始位, 以“[0D ][0A ]”:
$xxxx , data field …, data field …, data field XX [[0A 其中以“$”为开始标识符, “xxxx ”, , 每个信息长度依赖于数据类型格式。不同数据信息以“, ; , “为总校验和, “[0D ]XX ”[0A ]”B SPHA B , VL HA B , R GEA B , M KPA B 这五种命令格式。在本系统中采用A SC 码。例如用户要求GPS 输出PO SA B , 以A SC 码形式输出同时以一秒间隔时间, 则用户输出记录格式为:
LO G COM 1, PO SA , ON T I M E , 1
GPS 接收用户要求的格式后, 按下述格式输出数据。其输出记录格式为:
$PO SA , data field …, data field …, data field …3XX [0D ][0A ]
2 GPS 数据采集卡的硬件组成框图
根据以上的GPS 数据输出格式, GPS 数据采集卡由CPU 监控系统、可编程异步通信接口、数据存储器和地址译码器等组成, 其组成框图示于图1。下面分别对各部分加以说明。2. 1 监控系统
监控系统CPU 由单片机A T 89C 51组成, A T 89C 51本身内部带有2K 的ROM 程序存储器, 256字节的数据存储器, 工作频率最高可达24M H z , 当程序在2K 以内时, 不需要扩展外部程序存储器, 可以减少外围电路体积, 它是目前广泛采用的单片机。A T 89C 51负责对可编程异步通信口写入通信规约, 同时判
断通讯口转换数据是否为有效的开始符和结束符, 当收到结束符后负责向主机发中断信号。
2. 2 可编程异步通信接口
GPS 按标准串行异步通讯格式输出数据。在此, 采集卡采用可编程串行异步通信口作收发器。单片机有专门的异步收发器, 可用定时器T 1作波特率发生器, 用T XD 和R XD 作发和收。但是单片机A T 89C 51在扩展外部数据存储器时, AL E 作为锁存地址低位字节, 并以不变的频率周期输出。正是这个原因, 对外部数据存储器某单元进行操作时, 低位地址相同的单元内容将同时被改变, 影响了数据操作的可靠性。为了克服这种现象, 可在内部寄存器SFR 8EH 地址上置“0”来禁止AL E 的输出。此时AL E 只有在执行M OV X 指令时才起作用, 保证了外部数据存储器数据操作的唯一性。由于SFR 8EH 地址上置“0”, 即禁止了单片机波特率发生器。因此在此选用TL 16C 550可编程异步通信口。TC 16C 550波特率的设置由内部参数完成, 具有
・48・遥 测 遥 控第21卷第4期
标准可编程异步通信接口, 接收和发射的各状态控制字完全独立, 且具有M OD E M 控制功能, 完全适应GPS 的数据接收。TL 16C 550与TL 16C 450兼容, 在F IFO 运行方式时, 接收和发射都具有16字节F IFO 存储器, 这样可以大大减少中断数; TL 16C 550后即可与GPS 进行通讯。TL 16C 550向GPS 发送LO G , LO G 格式:
LO G COM 1, PO SA , ON T I M E , 1; LO G COM 1, VL HA , ON T I M E , 1; LO G COM 1, R GEA E , 1; LO G , K ; 1, , ONM A R K ;
TL 发送上述LO G 后, 开始接收GPS 数据。GPS 接收上述的LO G 命令后, 一秒内
同时输出PO SA 、VL HA 和R GEA , 并以一秒的间隔输出下一个记录。TL 16C 550每接到一个有效数据后, 中断请求单片机A T 89C 51读取F IFO 的数据。A T 89C 51判断是否为开始符, 当开始符有效时, 将串口转换数据存入双口RAM 中, 直到[0D ][0A ]结束当前记录的存储。2. 3 数据存储器
在GPS 所输出的记录中, PO SA 、VL HA 、SPHA 和M KPA 中的每个记录最多为84个字节, 每个卫星的R GEA 字节长为74个字节, 目前最多可收到12颗卫星, 则R GEA 最多为1000个字节。所以在选择数据存储器时, 选用双口RAM CY 7C 1362K 38位存储器就能满足要求。双口RAM CY 7C 136具有两个独立的端口, 各自均有一套相应的数据总线、地址总线和控制总线, 允许两个端口独立、异步地对存储器中的任何存储单元进行存取操作。当两个端口同时对存储器中的同一单元进行存取操作时, 可由其内部的仲裁逻辑决定优先权。双口RAM 的左边数据线、地址线与单片机相接, 双口RAM 右边数据线、地址线与计算机ISA 总线相连。因此, 单片机和计算机可以同时对RAM 进行读写操作。2. 4 地址发生器
地址发生器由可编程器L attice isp 1032E 组成, 它产生整个采集卡所有的控制信号和片选信号, 同时产生异步通信口的时钟信号。可编程器在数字电路中广泛应用, 当它用于产生地址信号和时序控制信号时, 对于调节地址范围和控制时序关系时, 不需修改硬件电路, 仅作软件处理即能完成。特别是在计算机接口电路中, 数据存储器的控制信号必须是唯一时, 地址控制相当严格, 这时, 用可编程器就显得比较优越。
3 GPS 数据采集软件设计
在上述硬件支持下, 软件设计是比较容易的。按GPS 数据规约初始化通信口, 确定数据收发频率和数据传输位数, 并使通讯口以中断方式输出数据。异步通讯口发出采集卡所要接收的GPS 数据格式。异步通讯口在接收时, 每当转换完一个字节就产生中断信号, 采集卡以中断处理方式读取GPS 数据。软件设计流程图示于图2。
4 结束语
用单片机A T 89C 51作监控系统, 当程序在2K 字节以内时, 不需要扩展外部ROM , 可以
2000年7月GPS 数据采集卡的设计・49・
减小电路体积; 可编程逻辑器件产生各种时序信号和控制信号, 易于适应不同时序控制要求。异步通讯口采用TL 16C 550可编程通讯口, 适应于不同的
通讯协议。因此, 本接口电路不仅用于GPS 数据接收, 而且可用于所有标准的异步接口电路。
参考文献
1位, 位数据
Y
1 张守信编著. GPS 出版社, .
2. . 北京航空航天大学出版
向GPS 发射数据
3 T EL 用户手册. 1999.
输出完?
Y
D esign of GPS Da ta Acqu isition Card
X ie X iaop ing J iang L in tao
Abstract T he design of the GPS data acquisiti on card is introduced in th is paper . T he circuits of the card are consisted of a computer on slice and its peri pheral circuits . A p rogramm able logic . device L attice isp 1032E is used to p roduce vari ous contro l signals A nd the co llected signals are transfered and sto red in a double 2po rt RAM .
Subject ter m s D ata acquisiti on card Sto rage Single 2ch i p
接收GPS 数据
写入RAM 中单片机中断请求
图2 软件流程
[作者简介]
谢小平 工程师 主要从事自动控制和数字信号处理工作姜凌涛 副研究员 主要从事图像信号处理工作
GPS 卫星星座的最新状态
轨道面
SV 编号
A 114
第一轨道面A 2A 3A 4
252A 19920223
382A 19971106
272A 19920909
A [1**********]19
B 1222A 19930203
第二轨道面B 2B 3
302A 19960912
[1**********]
B 4352A 19930830
C 1362A 19940310
第三轨道面C 2C 3
332A 19960328
312A 19930330
C 4372A 19930513
2A
1993
0626轨道面
第四轨道面第五轨道面第六轨道面
[***********]
2A 2R 22A 22R 22A 2A 22A 2A 22A 2R
[***********][***********][***********]921997
SV =Space V eh icle
3表示同一轨道面内除四个主要的卫星星位外附加星位。