功率电感生产厂家
联系我们
热门搜索
点击排行
推荐阅读
猜猜你喜欢的
研发资讯 您所在的位置: 首页 > 研发资讯

基于嵌入式Linux 的移动终端的软件设计

来源:    作者:    发布时间:2016-09-28 09:28:33    浏览量:

  3.4.3 移动终端与监控中心的数据交互

  前面,移动终端已经与监控中心建立了网络链接。接下来,移动终端就可以与监控中心进行通信了。GPRS 通信程序的层次结构如图 1 的右半部分所示。

  在移动终端向监控中心发送定位信息的过程中,移动终端上的 GPRS 通信程序通过 socket 接口发送 TCP/IP 数据包,内核根据 IP 地址和路由表,找到 PPP 网络接口,然后调用函数 ppp_start_xmit( ),此时控制权就转移到了 PPP 协议模块。函数 ppp_start_xmit( ) 调用函数 ppp_xmit_process( ) 去发送队列中的所有数据包,而函数 ppp_xmit_process( ) 会进一步调用函数 ppp_send_frame( ) 去发送单个数据包。函数 ppp_send_frame( ) 根据前面 pppd 对 PPP 协议模块的设置调用压缩等扩展功能之后,又经函数 ppp_push( ) 调用函数 pch->chan->ops->start_xmit( ) 发送数据包。函数 pch->chan->ops->start_xmit( ) 是具体的传输方式,对于串口发送方式,则是 ppp_async.c:ppp_asynctty_open 中注册的函数 ppp_async_send( ),函数 ppp_async_send( ) 经函数 ppp_async_push( ) 调用函数 tty->driver->write( )(定义在低层驱动程序中)把数据发送到串口 2(GPRS 通信模块接在串口 2 上)。

  ppp_async.c 在初始化时(ppp_async_init),调用函数 tty_register_ldisc( ) 向 tty 注册了行规程 N_PPP 的处理接口,也就是一组回调函数。在移动终端接收监控中心指令的过程中,当 GPRS 通信模块收到数据时,就会回调 N_PPP 行规程中的函数 ppp_asynctty_receive( ) 来接收数据。函数 ppp_asynctty_receive( ) 调用函数 ppp_async_input( ) 把数据 buffer 转换成 sk_buff,并放入接收队列 ap->rqueue 中。ppp_async 另外有一个 tasklet(ppp_async_process)专门处理接收队列 ap->rqueue 中的数据包,ppp_async_process 一直挂在接收队列 ap->rqueue 上,一旦被唤醒,它就调用函数 ppp_input( ) 让 PPP 协议模块处理该数据包。在函数 ppp_input( ) 中,数据被分成两路,一路是协议控制数据包,放入队列 pch->file.rqb 中,交给 pppd 处理。另外一路是用户数据包,经函数 ppp_do_recv( )、ppp_receive_frame( ) 进行 PPP 协议相关的处理后,再由函数 netif_rx( ) 提交给上层的 TCP/IP 协议模块进行处理,最后经 socket 接口传递给应用层的 GPRS 通信程序。

  4 总结

  近几年,智能交通系统(包括车辆监控系统)发展非常迅速,因此,移动终端将会有非常广泛的应用前景。随着市场需求的不断扩大,更加丰富的功能将会被集成到移动终端上,而嵌入式 Linux 系统凭借其自身的优势将会被越来越多地应用到这个领域。

  本文作者创新点:本方案充分利用了嵌入式 Linux 平台所提供的系统功能,大大简化了应用程序的开发,并且具有良好的可扩展性。在详细介绍 GPS 信号的接收过程并给出一个简洁的 GPS 数据处理办法后,本文提供了一种切实可行的拨号到 GPRS 网络的方法,从而实现了移动终端跨越 GPRS 网络与 Internet 上监控中心的通信。

  • 松下电工通过晶圆级接合4层封装LED松下电工成功开发出通过晶圆级接合,将封装有LED的晶圆和配备有光传感器的晶圆合计4枚晶圆进行集成封装。该公司为了显示其晶圆级封装(WLP)的技术实力,在 第20届微机械/MEMS展 上公开了该元件。此

  • LC滤波器的设计低通滤波器设计首先根据给定技术条件,选择某一形式的低通原则型滤波器,查出、计算归一化元件值,然后用所有要求的截止频率和负载电阻进行标定,便可得到所需要低通滤波网络。1、滤波器特性的逼近 理想化的低通滤

  • 单片机基本结构及C语言编程基础1、 DIP40双列直插; 2、 P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 3、 电源VCC(PIN40)和地线GND(PIN20); 4、 高电平复位RE

  •