
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册 
x
GPS高精度的时钟的设计和实现
# r# O9 f3 T- h9 Y 摘要:介绍采用GPS、OEM接收板来实现精密时钟系统的设计思路和方法,给出基本的硬件电路和软件流程。* v) X! B, W. @0 f2 n
关键词:GPS GPS OEM 串口通信' @) C/ I: J4 E% o( ^1 x
1 概述# P7 ?% Y8 U6 Aw' _
GPS(Global Positioning System)全球定位系统是利用美国的24颗GPS地址卫星所发射的信号而建立的导航、定位、授时的系统。美国政府已承诺,在今后相当长的一段时间内,GPS系统将向全世界免费开放。目前,GPS系统广泛地应用在导航、大地测量、正确授时、车辆定位及防盗等领域。因此,开展对GPS系统的研究和应用,将极大地提高生产力,并产生巨大的经济效益。本文旨在通过利用GPS所提供的正确授时的功能,采用单片机技术,设计适合于需要正确授时的高精度时钟系统。% B* T9 Z4 J) j$ s1 ?9 \/ \1 cJ
GSU-16是日本光电(KODEN)公司生产的并行11通道GPS OEM接收板,由于采用了先进半导体设计手段,它具有尺寸小、功耗低、性能稳定、性价比高等优良特性。利用它,可以方便、快速地开发出各种GPS应用系统。其主要性能指标如下:
3 G/ {( h& h" W( i# Y; U接收通道——11通道并行接收,可同时跟踪11颗卫星;' f# @/ Q4 m6 w1 l% b% b( Q: O, A
授时精度——小于400ns,无累计误差;
% _- l0 J: k/ N) `6 \" D数据更新时间——1s;
5 q4 \; [9 [" @& S6 e3 L体积和重量——65mm×35mm,约重40g(含锂电池);
2 y8 J9 i8 ~9 K# O- J( Q8 f数据输出格式——NMEA-0183 v2.0;RTCM-sc104 v2.0;+ b8 X( K; V7 g+ i/ G, u
环境工作温度——-30~+75℃;
2 _: i) q: s, n8 ^+ _$ I- q正常工作参数——电压5(1±0.05)V;电流100mA;功耗100mW。! x# ?: E! @& Y& y! U. LB* b
( D/ n* w8 R/ J* ^c
2 GSU-16的硬件接口和软件接口# ^! X& d) i( a0 S/ g

(1)硬件接口
& Y5 ~0 f' Q2 ctGSU-16同时提供12脚接口(J3)和5脚接口(J4)。本设计中采用5链接口J4,各引脚的功能如表1所列。
* K: F8 `+ M& j* U: q/ f7 N8 `
/ k3 f% N! [7 \$ A* Q表1
/ x0 V' A8 C) n( b
接口编号
信号名称
功 能$ ?- r8 [3 [6 M2 Fs
电源地
backup in
备份电源输入,3V时消耗2μA
串行输出
串行输入
主供电电源输入
GSU-16的RD1脚为RS232C的通信接口,其逻辑电平为TTL电平。这样能够很方便地与各种单片机连接连接,无须电平转换。同时,12脚接口还提供了高精度的秒脉冲输出,可用于需要更高精度定时服务的测量系统。在此,我们仅使用其时钟信息,故只需在其输出的ASCII数据中直接提取即可。
2 U1 F, v% m4 P& ](2)软件接口! F8 `3 h2 x+ N$ p
静区 起始字符 数据字符 校验字符 终止字符 静区。code ro data rw data zi data debug object name 176 5 0 0 271296 test.o 68 392 0 1024 864 startup_stm32f40_41xxx.o 438 0 6 200 273101 usart.o 1132 0 0 0 275254 sys.o 248 0 4 0 270012 delay.o 356 0 0 0 272025 gpio.o 2418 397 10 1224 1362552 total>>fromelf.exearm 映像转换工具 fromelf [options] input_file 选项: --help 显示帮助信息 --vsn 显示版本信息 --output file 输出文件名. (默认输出 -text 格式) --nodebug 不要输出调试信息到映像文件中 --nolinkview 不要输出段信息到映像文件中 二进制输出格式: --bin 普通二进制 --m32 摩托罗拉32位hex码 --i32 英特尔32位hex码 --vhx 定向字节的 hex 格式 --base addr 为 m32,i32设置基地址(可选的) 输出格式要求的调试信息 --fieldoffsets structures/classes的汇编描述 --expandarrays arrays inside and outside structures are expanded 其他输出格式: --elf elf格式 --text 文本信息 文本信息的标志 -v 详细信息 -a 打印数据的地址信息 (得到的.axf映像文件) -c 汇编码 -d 打印数据的段内容 -e 打印例表 -g 打印调试表 -r 打印重定位信息 -s 打印符号表 -t 打印字符表 -y 打印段内容分析 -z 打印代码与数据的大小信息。在各种条形码制中所给定的数据字符范围,及时提供市场动态:条形码符号的第一位字符是起始字符,3)码。
NMEA-0183是美国海洋电子协会为海用电子设备制定的标准格式,目前广泛使用V2.0版本。由于该格式为ASCII码字符串,比较直观和易于处理,在许多高级语言中都可以直接进行判别、分离,以提取用户所需要的数据。2 d* R7 j# K3 R7 L9 @* r3 Q1 T

NMEA-0183主要语句中,最常见的几种格式为:
2 S( P& t+ l7 ^; rGPGGA GPS定位数据
. n, n8 }& P) o, b) T* gGPGLL 地址位置和经纬度
% w: Y' `5 o6 S: L/ mGPZDA 日期和时间
/ B' U" I( x+ J9 ~GPVTG 方位角对地速度5 |. b) J. {( e, H, Z
例如,GPZDA为时间和日期输出语句,其标准格式如下:. Q" p. ]. o7 m* ~1 Q' P" q1 w" L
8 M# ], b* l, `
又如,$GP GGA为定位导航数据输出语句,其标准格式如下:
! Y) G- B) w6 [: Q3 k& |* L
/ e- R3 p; K& L4 W1 q
在具体使用时,可以在收到一条消息后,用软件来判别消息引导头是否为“$GPZDA”或“$GPGGA”来确认收到的消息正确与否,然后从消息中提取世界时,一定要注意将提取到的世界时加上8小时才是北京时间,而且软件还必须对16:00~24:00世界时作相应的处理,以转换为正确的北京日期和时间。
+ ?* b5 G" v8 X' [- T- {) j3 应用电路和程序设计
( }7 I3 v. z5 m) h3 y8 K' s在设计该时钟系统时,我们采用的单片机是Motolola公司的MC68HC08的通用芯片MC68HC908GP32。该芯片以它的高性能、低功耗、低价位获得了广泛的应用,其主要特性为:; z: t/ Y; D+ L: s3 q
①32KB片内Flash存储器,具有可编程能力和保密功能;
. ?' f) m) [" v1 Q& I4 Z* f②512B片内RAM;
: s3c2440的spi控制器s3c2440包含有两个串行设备接口(spi口),每个spi口都有两个分别用于发送和接收的8位移位寄存器,在一次spi通信当中数据被同步发送(串行移出)和接收(串行移入)。③通过串行通信口控制运行:plc为rs485接口时,可直接将plc的rs485口与控制板的通信端子相连,若plc为rs232接口,需使用rs485/rs232协议转换器。 串行rs232接口单元此单元配有rs232接口及信号端口tx和rx 可实现自发自收通信实验 两台计算机间的全双工光纤通信实验。
④支持C语言。; C- v: M9 Q- w5 q0 |2 C& ?
其接口电路可按图1设计,程序流程如图2所示。
* V& e3 r! p& F( ?. X. T' g# R单片机初始化程序样例如下:

v9 t& w7 l1 z9 a# k0 u- t) }* v。8 ^0 p8 v9 p2 u" `2 j。 v9 p2 t6 u。
SCC1 EQU $00139 Q7 O' S5 b1 J( ~6 b* J9 p! z
SCC2 EQU $0014' j6 ~" [- N1 b; a) {
SCC3 EQU $0015
( H1 X2 o) `# M0 E6 V" OSCS1 EQU $0016/ T4 q1 Y) B6 y$ b) l
SCS2 EQU $0017
2 \- J8 }0 ^- ~5 l: QSCDR EQU $0018
答:此处定义的是指向指针的指针数组,对于32位系统,指针占内存空间4字节,因此总空间为3×4×4=48。在计算机中,存储单位最小的是b,也就是我们常说的字节,一个英文字母需要占用1个字节的空间,而一个汉字则需要占用2个字节的空间,于是就有了下面这些电脑容量量级的换算:。先定义了str2[],程序为其分配了一段连续的空间,接着定义了str1[],程序会在刚才为str2[]定义的地址后面接着定义一段连续空间,如果接着将str2 接在str1后面gps时间精度gps时间精度,str1原来只定义了6个字节,需要连接在一起需要11个字节,肯定超出了我们定义的地址空间,后面是一片未知区域,会发生溢出。
# j0 ]- o# [9 Z8 IIORG $8000 ;定义程序的起始位置8 h) m' y9 I4 ]0 F# S1 ?& a
INIT:LDA#100010;初始化开始
0 }Y" G4 n1 S. n/ kSTA SCBR ;波特率定义
l=12&、乘坐5号线.000000%2c2576304、步行约1,1。c=13381140.430000%24%24%25e5%25bb%25ba%25e5%259b%25bd%25e5%258c%2597%25e8%25b7%25af120%25e5%258f%25b7%24%24%26sq%3d%25e6%259d%25ad%25e5%25b7%259e%25e4%25b8%259c%25e7%25ab%2599%26eq%3d%25e5%25bb%25ba%25e5%259b%25bd%25e5%258c%2597%25e8%25b7%25af120%25e5%258f%25b7%25e4%25bb%258e%25e6%259d%25ad%25e5%25b7%259e%25e4%25b8%259c%25e7%25ab%2599&.000000%2c3520049。iknowflg=1&、乘坐1号线.000000%24%24%25e6%25b7%25b1%25e5%259c%25b3%25e5%25bd%25ad%25e5%25b9%25b4%25e9%2585%2592%25e5%25ba%2597%24%24%26sq%3d%25e5%2585%25ac%25e6%2598%258e%26eq%3d%25e7%25bd%2597%25e6%25b9%2596%25e5%258c%25ba%25e5%2598%2589%25e5%25ae%25be%25e8%25b7%25af%25e5%25bd%25ad%25e5%25b9%25b4%25e9%2585%2592%25e5%25ba%2597&.000000%2c2589324。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shumachanpin/article-112499-1.html
梦一场