




已阅读5页,还剩69页未读, 继续免费阅读
(通信与信息系统专业论文)车载can网络的gprs传输设计与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着网络时代的来临,网络技术已经深入到我们生活的每个方面,网络技 术在汽车上的应用已经成为汽车电子发展的一个重要趋势和方向。车载网络的 主流标准c a n 网络的在汽车电子技术中得到越来越多的应用,它解决了车身控 制器件间的通信问题。同时也解决了由于车身控制器件增多后产生的车身布线 长度加长、运行可靠性降低、故障维修难度增大的问题。近年来,国内对车载 c a n 网络的研究与应用也可以得到加强。 在解决了车身内的数据通信问题后,接下来要解决的就是如何将车况信息发 送到远端的数据服务中心,以实现数据服务中心对车辆状况的监控以及记录。 因为汽车位置的不确定性,不可能通过有线的方式连接到i n t e m e t 上,而g p r s 作为一种比较成熟的无线数据传输技术,恰好可以弥补上述缺点。通过加装 g p r s 模块,中国移动的无线网络就可以实现和i n t e m e t 的无线连接。由于 g p r s 网络所具有的永远在线,以及按流量收费的特点,可以以相对较低的成本 实现车辆长时间的无线通信,从而为车身c a n 网络的数据传输提供了一个准确、 实时、永远在线的信息上报通道。 本文实现了一种基于g p r s 无线网络来传输车况信息的数据传输系统。首 先从目前车载控制网络的研究背景,发展状况以及g p r s 无线网络的应用领域 和特点出发,根据车载网络以及g p r s 网络自身的特点,提出了一套从车身c a n 节点数据的采集车身c a n 网络传输数据采集中心- g p r s d t u 发送 数据服务中心接收的系统方案,并根据各个模块的功能需求以及器件成本 完成硬件选型和方案设计。 然后以c a n 数据流的顺序分别详细介绍了c a n 节点、数据采集中心、 g p r s d t u 的软硬件设计,完成了整个方案的具体实现,实现了车身c a n 数据 从采集到发送的过程。 最后在远端上位机数据服务中心编写接收程序成功获得通过g p r s 网络传 输的c a n 数据,并根据接收结果给出分析结论。 关键字:数据采集中心,c a n 网络,g p r s 无线网络,g p r s d t u ,数据服 务中心 a b s t r a c t w i t ht h ea d v e n to ft h ei n t e r n e ta g e ,n e t w o r kt e c h n o l o g y h a ss t r e t c h e di n t oe v 叫 嬲p e c to fo u rl i v e s i na u t o m o t i v ea p p l i c a t i o n sv e h i c l ee l e c t r o n i c sd e v e b p m e n t h 弱 b e c o m e 趾i m p o r t a n tt r e n da n dd i r e c t i o n c a rn e t w o r k sm a i ns t a n d a r d sc a n n e 铆o r kt e c l l i l 0 1 0 9 yh a sm o r ea n dm o r ea p p l i c a t i o n si nt h ev e h i c l e e l e c t r o n i c s ,w h i c h h a sr e s o l v e dt h ep r o b l e mo fc o m m u n i c a t i o nb e t w e e nv e h i c l e s c o n t r o ld e v i c ea n d s 0 1 v et h ep r o b l e mo ft h ei n c r e a s i n gw i r i n gl e n g t ho f t h eb o d y ,d e c r e a s i n go p e r a t l o n 。s r e l i a b l e m u c hm o r ed i f f i c u l t yi nf a i l u r er e p a i ra f t e rc a r sb o d y c o n t r o ld e v l c ea d d i n g i i lr e c e n ty e a r s ,d o m e s t i cr e s e a r c ha n da p p l i c a t i o n so fa u t o m o t i v ec a n n e t w o r kh a s b e e ns t r e n g t h e n e d a 触rr e s o l v i n gt h ep r o b l e mw i t h i n t h ed a t ac o m m u n i c a t i o n si nt h ev e h i c l eb o d y t l l ep r o b l e m 釉c hs h o u l db es o l v e di sh o w t os e n dv e h i c l ec a n i n f o r m a t i o nt oa r e m o t ed a t as e r v i c ec e n t r e ,i no r d e rt oh e l pd a t a c e n t r es e r v i c e sm o n i t o r i n ga n d r e c o r d i n gs t a t u so fv 锄c l e s b e c a u s el o c a t i o n o ft h ev e h i c l ei su n c e r t a i n ,i ti sn o t p o s s i b l ec o n n e c t i n gt o t h ei n t e r n e tt h r o u g hc a b l e b u tg p r s ,a sam o r em a m r c w i r e l e s sd a t at r a n s m i s s i o nt e c h n o l o g y ,c a nm a k eu pt h o s e s h o r t c o m i n g sa b o v e t h r o u g hs e t t i n gt h em o d u l eo fg p r s ,c h i n a m o b i l e sw i r e l e s sn e 俩o r kc a l lc o 皿e c t w i t hw i r e l e s si n t e m e t b e c a u s et h eg p r sn e t w o r k i sa l w a y s o n ,a sw e l la sc h a r g e sb y m ef l o w v c h i c l el o n g w i r e l e s sc o m m u n i c a t i o nc a l lb ea c h i e v e da t ar e l a t i v e l yl o w c o s ts oa st op r o v i d ea 1 1a c c u r a t e ,r e a l - t i m e ,f o r e v e ro n l i n ei n f o r m a t i o nc h a n n e l t ot h e c a r sb o d yc a nn e t w o r k sd a t at r a n s m i s s i o n t h i sp a p e rm a k e sas y s t e mo fd a t aa c q u i s i t i o na n dt r a n s m i s s i o nt o m et r u e , w h i c ht r a l l s m i t sv e h i c l e si n f o r m a t i o nt h r o u g hag p r sw i r e l e s sn e t w o r k f i r s t , f r o m t h cc 岍e n ta u t o m o t i v ec o n t r o ln e t w o r k sr e s e a r c hb a c k g r o u n d ,d e v e l o p m e n t a n d t 1 1 e a p p l i c a t i o a s a n dt h ec h a r a c t e r i s t i c so fg p r sw i r e l e s sn e 研o r k ,邪w e l l a s a c c o r d i n gt h ev “c l en e t w o r ka n dg p r sn e t w o r ki t s o w nc h a r a c t e r i s t l c s ,ip u t f o 州a r das y s t e mp r o j e c t :f r o mt h ev e h i c l e sb o d yc a n n o d ed a t ac o l l e c t i o n c a n i i n e t w o r kt r a n s m i s s i o n d a t aa c q u i s i t i o nc e n t e r g p r s d t u s e n d i n g d a t as e r v i c e c e n t r e sr e c e i v i n gs y s t e ms o l u t i o n s ,a n di na c c o r d a n c ew i t ht h ef u n c t i o no fe a c h m o d u l e ,a sw e l la sa c r o d d i n gt h ed e v i c ec o s t st os e l e c td e v i c et h e nc o m p l e t et h e w h o l es p e c i f i cp r o g r a m m e d e s i g n t h e ni ti n t r o d u c e si nd e t a i li nt h eo r d e ro fc a n d a t af l o wf r o mc a nn o d e s d a t a c o l l e c t i o nc e n t r e s ,g p r s d t uh a r d w a r ea n ds o f t w a r ed e s i g n ,c o m p l e t e dac o n c r e t e r e a l i z a t i o no ft h ee n t i r ep r o g r a m m e ,t h er e a l i z a t i o no ft h ec a nd a t af r o mt l l eb o d v s e n tt ot h ea c q u i s i t i o n p r o c e s s f i n a l l y , r e m o t ep cd a t as e r v i c e sn e t w o r kr e c e p t i o np r o c e d u r e sp r e p a r e db yt h e c e n t r et h r o u g hs u c c e s s f u lg p r sn e t w o r kt r a n s m i s s i o nb o d yc a n d a t a ,a n dg i v e st h e r e s u l t so ft h er e c e i v i n gc o n c l u s i o n s k e yw o r d s :d a t aa c q u i s i t i o nc e n t e r ,c a nn e t w o r k ,g p r sw i r e l e s sn e t w c i r k g p r s d t u ,d a t as e r v i c ec e n t r e i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:三导师签名: m i n o r n u m ,d e v ) ; 所以当m q ( 中断请求) 产生时,i s r ( 中断服务例程) 运行。向系统注册c a n 设备的中断处理函数为:$ 3 c 2 4 1 0i s rm c p 2 5 1 5 ( ) 。 在中断服务程序$ 3 c 2 4 1 0i s rm c p 2 5 1 5 ( ) 中,首先读取m c p 2 5 1 5 中 c a n s t a t 状态寄存器的中断代码i c o d ,根据i c o d 的值来识别中断事件。 c a n s t a t i c o d ( 中断代码) 位的编码反映等待处理的中断源。如果同时 发生多个中断,i n t 引脚将保持低电平状态直至m c u 复位所有中断。 c a n s t a t i c o d 位将反映当前等待处理的优先级最高的中断代码。中断源之间 存在内部优先级,i c o d 编码值越低,其中断优先级越高。一旦优先级最高的 中断条件被清除,i c o d 位将反映等待处理的次高优先级中断( 如果存在) 的 代码。i c o d 位仅反映那些其c a n 矾t e 中断使能位置1 的中断源。 发送处理,当3 = i c o d = 5 时,i s r 实现发送处理。在两种情况会被执 行,其一是在此时处理的。就是发送中断响应中,如果当前有发送任务,通过 发送缓冲区记录标志确定空的发送缓冲区并向其中填发送帧,然后启动发送; 还有一个发送处理在下面的接收中断响应中,在接收处理完后如果有发送任务 且有发送缓冲区空,会处理发送任务。通过这样在两处处理发送,可以起到多 个发送、接收缓冲区可用,提高了通信效率。需要指出的是m c p 2 5 1 5 对c a n 总线的数据发送没有限制,m c u 将数据发送到m c p 2 5 1 5 的发送缓冲区,然后 使用r t s 命令来开启发送。 接收处理当i c o d = 6 或7 时,i s r 进入接收处理。需要根据i c o d 的值 来确定当前是哪个接收缓冲区的数据准备好,可以读取。接收帧处理过程中首 先读取帧的d 值,确定当前帧的数据是从哪个节点发送来的,并且通过过滤匹 配,然后再根据节点把帧中数据字段的数据存放在相应的位置。 错误处理当i c o d = 0 时,i s r 进入错误处理。引起错误处理的原因很多, 需要访问错误标志寄存器e f l g 来确定具体错误类型,并做出相应的处理。 ( 4 ) 缓冲区操作函数 m c p 2 5 1 5 内部设有发送缓冲器t x b 0 2 ,接收缓冲器r x b 0 ,r x b l 。为了 4 0 武汉理工大学硕士学位论文 提高收发效率,在驱动中开辟软件缓冲区,大小可以根据需要设置,将大量数 据经过软件缓冲区后再进行处理。在操作软件缓冲区时,采用生产者消费者模 型,分别设定数据存入与读出的指针,并且利用m e m c o p y 函数完成对帧数据的 操作。比如读取数据时,首先在操作模式下将m c p 2 5 1 5 中某个地址的r x b 数 据读入一个数组,经过一些必要判断,再将此数组中的数据由m e m c o p y 函数传 入指定的软件缓冲区。硬件缓冲与软件缓冲间一次传递一帧数据。 5 2 2m c p 2 5 1 5 应用程序设计 在驱动程序完成后,我们需要编写应用程序来完成具体的功能实现。本课 题由于是一个基于c a n 数据接收,g p r s d t u 连接模块的平台,因此在应用程 序编写时,考虑到两个个模块间数据通信过程,必须要使用一种安全便捷的数 据传输方式。传统的应用程序编写,是将这两个模块分割开来,分别用两个进 程来实现的多任务操作。 我们知道,在l i n u x 系统下,启动一个新的进程必须分配给它独立的地址空 间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种”昂贵” 的多任务工作方式【2 9 1 ,需要很大的资源开销,并不适用于大型项目的应用软件 开发。因此本课题采用的是l i n u x 下的多线程编程。这也是本课题在创新性上做 的一点尝试。 使用多线程的理由之一是和进程相比,它是一种非常”节俭”的多任务操作方 式【3 0 1 。运行于个进程中的多个线程,它们彼此之间使用相同的地址空间,共 享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空 间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。 使用多线程的理由之二是线程间方便的通信机制。对不同进程来说,它们 具有独立的数据空间,要进行数据的传递只能通过通信的方式( 口c 进程间通 信) 进行【3 l 】,这种方式不仅费时,而且很不方便。线程则不然,由于同一进程 下的线程之间共享数据空间,所以一个线程的数据可以直接为其它线程所用, 这不仅快捷,而且方便。当然,数据的共享也带来其他一些问题,有的变量不 能同时被两个线程所修改,这就需要实现锁机制等。 具体到本课题,通过使用多线程的编程技术,就解决了以往c a n 模块与 g p r s d t u 连接模块,进程间实现时数据通信可靠性低,通信难度大,程序执行 效率低的问题。另外由于本平台具有一定的扩展性,将来会实现车载g p s ,车 4 1 武汉理工大学硕士学位论文 载娱乐平台等功能,如果需要添加相应的应用程序,只需要在主进程中添加相 应的线程,并对线程间的操作做一些设置。通过使用多线程编程无疑大大的降 低了程序对资源的消耗,使得程序在实现上更加流畅,程序的可扩展性也得到 了充分的体现。 l i n u x 系统下的多线程遵循p o s i x 线程接口,称为p t h r e a d 。编写l i n u x 下 的多线程程序,需要使用头文件p t h r e a d h ,连接时需要使用库l i b p t h r e a d a 。 c a n 部分的应用程序,程序流程图如图5 7 所示: 图5 7c a n 模块应用程序流程图 在应用程序中创建了一个线程s e n d 专门负责发送数据,再在主线程中接收 数据到一个m c p c a n d a t a 结构体中。m c p c a n d a t a 定义如下: t y p e d e f s t r u c tm c p c a n _ d a t a u n s i g n e di n tb u f n o ; u n s i g n e di n ti d t y p e ; u n s i g n e di n ti d ; u n s i g n e di n td a t a l e n ; c h a rd a t a 9 ; c a n 消息d 数据长度 数据内容 4 2 武汉理工大学硕士学位论文 m c p c a n _ d a t a ; 开启发送线程如下: r e t = p t h r e a d _ c r e a t e ( & i d ,n u l l ,( v o i d 木) s e n d ,& d a t a _ s e n d ) ; 这里使用到了线程创建函数p t h r e a d,线程创建函数第一个参数为指create 向线程标识符的指针;第二个参数用来设置线程属性,如果为空指针表示将生 成默认属性的线程;第三个参数是线程运行函数的起始地址,最后一个参数是 运行函数的参数。创建线程成功后,新创建的线程则运行参数三和参数四确定 的函数,原来的线程则继续运行下一行代码。 p t h r e a d 库中还有大量的a p i 函数,其定义放在p t h r e a d t y p e s h 中。 发送线程入口函数s e n d 编写如下: v o i ds e n d ( v o i d 木a r g ) s t r u c tm c p c a n d a t a 木d a t a g r a m p t r = ( s t r u c tm c p c a n _ d a t a 木) a r g ; w h i l e ( 1 ) s l e e p ( 2 ) ; w r i t e ( f d ,d a t a g r a m p t r , s i z e o f ( s t m c tm c p c a n _ d a t a ) ) ; ) ) 在s e n d 线程中对打开的设备描述符进行w r i t e 操作,在主线程中对该设备描 述符进行r e a d 操作。因为在驱动中已经考虑到了互斥,所以线程中没有做并发 处理。 另外需要指出的是,在通过m c p 2 5 1 5 将c a n 数据读出后并存放在类型为 m c p c a nd a t a 的全局结构体d a t ar e c e i v e 后,下节将要介绍的的串口应用程序便 可从该结构体中将c a n 数据通过串口向g p r s d t u 发送了。 5 2 3 数据采集中心串口编程 串行口是计算机一种常用的接口,具有连接线少,通讯简单的特点,得到 广泛的使用。常用的串口是r s 一2 3 2 c 接口( 又称e i ar s 2 3 2 o ,它是在1 9 7 0 年由美国电子工业协会( e i a ) 联合贝尔系统、调制解调器厂家及计算机终端生产 厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备( d t e ) 和数据 4 3 武汉理工大学硕士学位论文 通讯设备( d c e ) 之间串行二进制数据交换接口技术标准”。 本课题采用的是使用s b c 2 4 1 0 x 提供的u a r t 串口与g p r s d t u 的串口相 连实现串口数据通信的方式。g p r sd t u 在设计上将串口设计成“透明转换 的方式,因此在完成硬件连接后,对于数据采集中心而言需要将自己的串口设 备的波特率和数据格式要和d t u 中的配置相匹配。需要对该芯片的串口做相应 的软件编程以适应g p r sd t u 的串口传输速率。 r s 2 3 2 的常用通讯参数包括:串口号、波特率、数据位、奇偶检验、停止位、 数据流控制等【3 2 1 。 在l i n u x 中,除了上述串口参数外,还可以对串口进行很多设置,串口的设 置主要是设置t e r m i o s 结构的成员,该结构定义在t e r m i o s h 中 s t r u c tt e r m i o u n s i g n e ds h o r te _ i f l a g :产输入模式标志位木木 u n s i g n e ds h o r tc _ o f l a g ; 严输出模式标志位木 u n s i g n e ds h o r tc _ c f l a g ; 产控制模式标志位木! u n s i g n e ds h o r tc _ l f l a g ;严局部模式标志位拳 u n s i g n e dc h a r cl i n e ;严线性规程木木 u n s i g n e dc h a r cc c n c c ;严指明用于控制的特殊字符 ) ; t e r m i o s 是一个较复杂的数据结构,并且包含许多不常用的串口配置选项。 比较好的解决方法是:读取当前串口的t e r m i o s ,根据新的要求改写t e r m i o s ,然后 用改写过的t e r m i o s 重新配置串口;在程序结束时,恢复系统原来的t e r m i o s 。 需要注意的是,不能直接初始化t e r m i o s 结构,而应用位运算( a n d ,o r 和n o ) 设置或清除所有的标志位。 对串口的操作函数如表5 1 : 表5 - 1 串口函数操作表 函数 描述 t c g e t a t t r t c s e t a t t r 获取设置终端属性( t e r m i o s 结构) c f g e t i s p e e d c f s e t i s p e e d获取设置输入波特率 c f g e t o s p e e d c f s e t o s p e e d获取设置输出波特率 t c d r a i n 等待所有输出被传送 t c f l o w 暂停传送或接收 t c f l u s h 丢弃队列中尚未传送或接收的数据 t c s e n d b r e a k 发送b r e a k 字符 t c g e t p g r p t c s e t p g r p获取设置前台进程组i d 武汉理工大学硕士学位论文 串口编程的基本流程如图5 - 8 所示: o p e n 函数打开设备文件 + 使用t c g e t a t t r 函数获取当前设备方式 + 设置t e r m i o s 成员 使用c 6 e t i s p e e d 和c f s e t o s p e e d 函数设置通信波特率 + 使用t c g e t a n r 函数设置设备工作力式 + 使用r e a d 和w r i t e 函数读写串口终端数据 在程序中使用t c f l u s h ,t c d r a i n ,t c s e n t b r e a k 等函数对端 口上的数据进行适当的控制 输入输出完毕,用c l o s e 关闭串口 图5 8 串口编程流程图 各类串口参数的具体详细含义请参看有关串口编程资料,本文采取的是串 口设置为输入输出波特率为11 5 2 0 0 b p s ,数据位为8 b i t ,偶校验,硬件流控制位, 这些参数都定义在t e r m i o s 结构类型中,通过设定该结构体的值,便可实现对串 口各项参数的控制。 有两点需要指出,第一本课题串口设置采用了定参数的方式,是由于本课 题的串口是用来连接在一个可以方便设置串口参数的g p r s d t u 上,因此可以 在对端设置串口参数以适应开发板端的串口参数。 第二,串口部分的应用程序也是通过上节的m a i n ( ) 函数中,开启一个串口的 线程来实现通信。本串口通信的目的就是将c a n 控制器m c p 2 5 1 5 接收的c a n 数据通过串口发送到g p r s d t u 中,并从g p r s d t u 中接收数据传到c a n 控制 器m c p 2 5 1 5 中。因此串口的发送缓冲区s b f h 就是c a n 线程中的接收全局结构 体d a t ar e c e i v e ,而串口的接收缓冲区r b u f 就是c a n 线程中的发送全局结构体 d a t a s e n d 。 结合图5 8 的流程图,本课题完成串口通信编程需要如下几个步骤3 7 】: ( 1 ) 打开串口 打开串口与打开文件类似,同样使用o p e n 函数。t t y s o 对应的是c o m l , 4 5 武汉理工大学硕士学位论文 f d 2 0 p e n ( d e v t t y s 0 ”,o _ r d w r i q n o c t t y ) : ( 2 ) 设置串口通信参数 串口通信参数指的是波特率、数据位、奇偶校验位和停止位,主要涉及到 t e r m i o s 结构体,具体实现部分代码如下: s t r u c tt e r m i o so p t ; 产定义指向t e r m i o s 结构类型的指针o p t * t c g e t a t t r ( f d ,& o p t ) ; 严获得串口指向t e r m i o s 结构的指针,i c f s e t i s p e e d ( & o p t ,b 11 5 2 0 0 ) ; 产指定输入波特率,l1 5 2 0 0 b p s 宰 c f s e t o s p e e d ( & o p t ,b 11 5 2 0 0 ) ; 产指定输出波特率,11 5 2 0 0 b p s * o p t c _ c f l a g & = 一c s i z e ; 严屏蔽其他标志位木 o p t c _ c f l a g l = c s 8 ; 严将数据位修改为8 b i t 木 o p t c _ c f l a g & = - - , p a r e n b ; 产指定偶校验木 o p t c _ c f l a g & = - - - p a r o d d o p t cc f l a g & = - - 4 2 r t s c t s ; 产指定为硬件流控制位宰 t c s e t a t t r ( f d ,t c a n o w ,& o p t ) ; 产将修改后的t e r m i o s 数据设置到串口,i ( 3 ) 读写串口 读写串口是通过使用r e a d 函数和w r i t e 函数实现的,在l i n u x 中,对设备的 读写类似与对文件的读写。 s ! e n - - - w f i t e ( f d ,s b u f , s e n dl e 吣; * s b u f 是发送缓冲区,s e n dl e n 是待发 送的字节数,sl e n 为实际发送字节数木 r, 是接收缓冲区,是预接收的_ l e n - - r e a d ( f d r b u f , r e a dl e n ) ;* r b u fr e a dl e n 字节数,rl e n 为实际接收字节数木 ( 4 ) 关闭串口 在完成对设备文件的读写操作后,调用c l o s e 函数关闭该文件描述符: c l o s e ( f d ) ; 武汉理工大学硕士学位论文 第6 章g p r sd t u 硬件设计与软件设计 本系统借鉴在无线通信领域广泛应用的g p r s d t u ,提出了将g p r s d l l j 作 为传输车况信息的车载控制网络的传输终端方案。本章给出了g p r s d t u 的软硬 件设计方法,以及其上位机数据服务中心的接收数据的软件设计,通过模拟车 载c a n 节点发送c a n 信息完成系统测试与分析。 6 1g p r s 数据传输系统的接入方式 g p r s 无线数传产品( d t u ) 可以方便的实现远程、无线、网络化的通信 方式,所以在众多领域都可以得到应用,比如电力系统自动化、工业监控、交 通管理、气象、环境监控、金融证券、煤矿、石油等行业。但是各个行业的应 用方式不尽相同,特别是组网方式有很大差别。在实际应用中d t u 通常作为一 道桥梁,为两个需要通信的设备搭建了一个完全透明的数据通道。这两个设备 可以是任意两个具有异步串口( u a r t ) 的设备,通常的应用是多个d t u 设备 与一台作为数据中心的p c 机构成一个分布式数据采集系统,各种信息数据被现 场的d t u 设备上传到数据服务中心。 g p r s 数据传输系统的接入方式分两端,一端是g p r s d t u 的接入方式,一 端是数据服务中心的接入方式【3 3 1 。 对于g p r s d t u 的接入方式而言,目前,中国移动g p r s 网络用户可以选 择c m n e t ( c h i n am o b i l ei n t e m e t ) 和a p n ( a c c e s sp o i n tn a m e ,接入点名称) 两个 网络接入,c m n e t 通常用于公众用户接入i n t e m e t ,a p n 针对相关行业用户使 用。a p n 用户通常在一个组内,需要设定用户名和密码,具有更好的安全性, 适用于行业用户。此外,a p n 用户可以申请绑定移动内网的固定口地址,但 a p n 需要向中国移动申请。对于车载g p r s d t u 而言,d t u 没有必要去申请一 个固定p 地址,从经济角度考虑,本课题d t u 终端选择c m n e t 的接入方式。 数据服务中心的接入有多种方式,组网形式的选择主要由业务数据量、时 延、可靠性要求、数据保密性、网络状况决定。根据车载g p r s d t u 的特点以 及传输数据的需求,数据服务中心采用了数据中心申请固定的公网i p ,这样既 具有固定的d 地址,方便车载g p r s d t u 设定目标地址,减少了经常更改的麻 烦,而费用又相对较低。 4 7 武汉理工大学硕士学位论文 6 2g p r s d t u 硬件设计 6 2 1g p r s d t u 硬件总体设计及选型 前面介绍了g p r s d t u 可以应用于很多领域,但用于车载g p r s d l u 有自 己的特点: 1 低功耗。车载系统的电源是由车上1 2 v 直流电经降压处理后提供的,由于 蓄电池容量有限,因此输出功率不可能很大,这就要求g p r s 模块是低功耗的。 2 尺寸小。本系统是安装在汽车驾驶室内,空间有限,因此要求各个组成部 分的体积尽可能小。 3 抗震性能好。由于车辆在行驶过程中颠簸震动较多,因此要求g p r s 模 块有较好的抗震性。 对于车载g p r s d t u 而言,有时需要修改配置参数,如果与数据采集中心 共用m c u ,就需要将这个系统与配置参数的p c 相连,通过p c 串口来设置相应 的串口,十分不方便。而采用相对独立的单m c u 作为g p r s d t u 的m c u 就避 免了上述的问题。因此本课题在设计的时候将g p r s d t u 单独使用了一个单片 机作为m c u 。在配置参数需要修改的时候,只需要将已经做为单板的g p r s d t u 部分取下,通过p c 进行串口设置即可,方便携带。 如图6 - 1 为g p r s d t u 的设计结构图: 图6 1g p r s d t u 的设计结构图 4 8 武汉理工大学硕士学位论文 各硬件部分主要功能如下: ( 1 ) c p u 及存储器主要功能: 由于系统中的c p u 主要起的作用是解析a t 指令,使a t 命令这些对g p r s 的控制信号对于用户端来说相当于是透明的。同时c p u 能接收串口中断,这样 在产生串口中断时可以进行参数配置。对该c p u 的处理能力要求并不高,但需 要具有存储介质,这样g p r s d t u 的参数才能得以记录,省去了另外使用存储 芯片的成本。本系统采用的是c 8 0 51 f 3 4 0 ,该芯片有6 4 kf l a s h m e m o r y ,5 3 7 6 b y t e sr a m ,存储空间相当充裕。它带有两个u a r t ,可以方便地实现系统中的 和g p r sm o d u l e 连接和与上位机的连接。 本课题中的存储器用于存储以及读取系统各类参数,以及协议参数各类参 数,g p r sd t u 将数据中心的p 地址及端口号,串口的波特率等都保存在内部 的永久存储器件内( 一般为f l a s h 或e e p r o m 等) 。一旦上电,就自动按照设 置好的参数进行工作。 ( 2 ) g p r sm o d u l e ,天线接口,s i m 卡接口 这3 个部分组合起来实现了g p r s 网络的通信功能,主要实现信号的调制 和解调,向数据中心注册动态口地址和s i m 卡号。其中g p r sm o d u l e 内部封 装了p p p 拨号协议以及t c p i p 协议栈。 对于g p r sm o d u l e 的选择来说,现在随着自带协议栈的型号越来越多且价 格渐与普通g p r s 模块趋同,故普通g p r s 模块已变得无多少实用价值了,故 一般情况下应选择自带协议栈的型号,这样可以省去由m c u 完成协议解析的过 程。本系统采用的是g r 4 7 ,它是属于s o n ye r i c s s o n 新一代的移动通信g s m 模 块,支持s m s 、语音呼叫、数据传输,内嵌t c p i p 协议栈。 ( 3 ) 电源处理 电源控制系统,用于控制电源的通断,以实现自动心跳保持永久在线。g p r s 通信网络的特点之一就是支持g p r s 终端设备永久在线,这就要求d t u 包含了 上电自动拨号,采用心跳包保持永久在线,支持断线自动重连,自动拨号等特 点。 ( 4 )串行接口 串行接口提供串口数据双向转换功能,g p r sd t u 提供了串行通信接口, 而且g p r sd t u 在设计上将串口设计成“透明转换 的方式,也就是说g p r sd t u 可以将串口上的原始数据转换成t c p i p 数据包进行传送,而不需要改变原有的 4 9 武汉理工大学硕士学位论文 数据通信内容。另外在进行参数设置时也是通过串口与配置参数的p c 连接获得 相应参数的。 6 2 2g p r sm o d u l eg r 4 7 g r 4 7 是s o n ye r i c s s o n 公司生产的一款双频段g s m 9 0 0 g s m = 1 8 0 0 的通信 模块。在此模块基础上,可进行g p r s 数据传输,具有支持短消息服务等功能。 采用3 6 v 电压供电;对外可提供多种接口,如天线接口、模拟音频接口、异步 串行接口、s i m 卡接口等,也支持1 2 c 通信;内部集成了t c p i p 协议栈,因此 采用此芯片会大大降低微控制器编程工作的难度。 目前的g p r sm o d u l e 的种类很多,g r 4 7 独特的优势是:传输大量数据并始 终保持连接,根据相关统计资料表明,它的掉线几率是同类模块最小的。这也 本系统最终选择该模块的原因。 g r 4 7 的主要特剧3 4 】: ( 1 ) 工作频段为g s m 9 0 0 18 0 0 m h z ,满足g s m p h a s e 2 + 标准。 ( 2 ) 内嵌t c p 口协议,大大方便了应用开发。 ( 3 ) 工作温度为3 7 5 ,满足工业控制的需求。 ( 4 ) 属b 类g p r s 模块,即可用于g p r s 分组业务和g s m 话音业务,但 两者不能同时工作,需人工切换。 ( 5 ) 内置a d 转换、d a 转换和实时时钟等子模块,满足一些扩展应用。 ( 6 ) 支持3 v 和5 v 的s m 卡,不支持1 8 v 的s i m 卡,所以使用前要先确 认s i m 卡类型是否正确。 图6 2 所示为g r 4 7 的内部实时操作系统( r t o s ) 及外部硬件接口框图。控制 器位于g r 4 7 的内部,运行实时操作系统。r t o s 给用户提供了g s m 处理程序, a t 指令通道函数,t c p p 协议,u a r t 、i o 口、1 2 c 、s p i 总线等外部接口 的驱动函数及一些其它的应用函数。微控制器在后台运行,所以并不影响模块 的g s m 功能。用户将应用程序以脚本的形式下载到模块的f l a s h 中,模块使 用了一个解释器,解释器从f l a s h 中读入脚本,并且逐行解释,使之执行所需 功能。g r 4 7 的外部有3 个串口,其中串口1 作a t 指令通道或程序下载用,串 口2 主要用于调试程序,串口3 为通用2 3 2 口,可以连接其它外部设备,另外 还有1 2 c 、s p i 总线和8 根i o 线。 5 0 武汉理t 大学硕士学位论文 串口l a t 指令通道 串c 1 2串口3 调试程序用 u a r t 图6 - 2g r 4 7 模块框图 g r 4 7 模块有两种开发方式【3 5 1 :一种是内部脚本方式,即直接利用模块开 放的c p u 和系统资源,将包含数据服务中心的网络参数数据的脚本放到模块的 c p u 中运行。模块通过u a r t 3 与外部的数据终端通信。另一种是外部控制器方 式,将模块嵌入到用户的系统中使用,外挂处理器对其进行操作控制控制程序 在外部微控制器中运行,微处理器向g r 4 7 的u a r t l 发送a t 命令控制其工作, 然后仍然使用u a r t l 与外部的数据终端通信。 对本系统而言,由于g p r s d t u 在完成后,可能需要由用户改换数据中心 的网络参数,如果使用编写脚本的方式,用户使用不是很方便,因此采用了第 二种方式,通过c 8 0 5 1 f 3 4 0 来完成配置方式时由配置p c 机发出的a t 控制命令 的解析。如果用户在使用时不改变运行参数,c 8 0 5 1 f 3 4 0 将默认使用上次存在片 上f l a s h m e m o r y 中的运行参数进行发送a t 控制命令,如果改变参数将使用由 p c 发过来的参数发送a t 控制命令。 6 2 3g p r s d t u 硬件设计图 本系统中g r p s d t u 部分的硬件连接相对简单,由于采用的是g r 4 7 嵌入到 系统中的方式,并未直接使用其u a r t 3 作为通信通道。对于g r 4 7 来说,主要 5 1 武汉理工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门集美区乐海小学产假顶岗校医招聘1人备考考试题库附答案解析
- 2025湖南岳阳新天地保安服务公司招聘总经理助理1人备考练习题库及答案解析
- 2025广西桂林兴安县乡镇所属事业单位直接考核招聘“三支一扶”服务期满人员4人笔试参考题库附答案解析
- 中国华电战略发展研究中心招聘4人备考考试题库附答案解析
- 工程质量管理控制论文
- 2025河南中航光电科技股份有限公司招聘备考考试题库附答案解析
- 中国水利水电科学研究院岩土工程研究所科研助理招聘2人备考考试题库附答案解析
- 2025北京市房山区燕山教育委员会所属事业单位第三批招聘教师13人备考考试题库附答案解析
- “梦想靠岸”招商银行沈阳分行2026校园招聘备考考试题库附答案解析
- 中暑预防教育
- 坎德拉PVsyst使用指南(第四版2020年)
- 艺术涂料施工合同涂料施工合同共
- 部编版七年级数学上册《绝对值》评课稿
- 监控系统维修保养记录表
- 我国上报数据的民营医院医疗数据统计资料
- GB/T 18029.2-2022轮椅车第2部分:电动轮椅车动态稳定性的测定
- JJF 1664-2017温度显示仪校准规范
- GB/T 38997-2020轻小型多旋翼无人机飞行控制与导航系统通用要求
- 第五章学前儿童的全面发展教育课件
- 《企业国有资产交易监督管理办法》讲解课件
- DISC性格特质分析课件
评论
0/150
提交评论