积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 嵌入式软件 >> WINCE
  相关分类: LINUX | WINCE | UC/OS | Bootloader | 下载 | VXWORKS | 网络协议 | JAVA | 汇编 | 驱动设计 | Symbian | XP Embedded | Nucleus | 新产品 | 相关文章 | 综合技术 |
基于Windows CE的物流车载终端设计(下)
 
作者:电子科技大学 陈云川 刘锋 丁熠   来源:单片机与嵌入式系统应用    点击数:342   更新时间:2007-12-19
您可以添加到网摘 让更多人关注此文章:

    

对于地图左上角点和右下角点的经纬度坐标的求取,通过实际测量的方法是很难做到准确无误的。因此本设计采用一种间接的方法来求得地图左上角和右下角的经纬度坐标。

  假设在地图边界内部有两个任意点,把这两个点称为参考点,并且已知这两个参考点的经度、纬度、归一化x坐标、归一化y坐标;设参考点1的这4个参数为point1=(lon1, lat1, x1, y1),参考点2的这4个参数为point2=(lon2, lat2, x2, y2),即point1point2已知。根据前面的说明可知,左上角点的归一化坐标为(0.0, 0.0),而右下角点的归一化坐标为(1.0,1.0)。另外假设左上角点用pointTL表示,其经纬度为lonTLlatTL;右下角点用pointBR表示,其经纬度为lonBRlatBRTL意即TopLeftBR意即BottomRight),则有pointTL(lonTL,latTL,0.0,0.0)。同理,对于右下角的点有pointBR(lonBR,latBR,1.0,1.0)

  由于将经纬度与地图坐标之间近似为线性映射关系,因此根据欧氏几何原理可知,由已知的point1point2,可以计算出pointTLpointBR的未知参数:

上述工作完成之后,参考点数据的存储和读取就比较简单了。基准点和车辆位置的计算都只是简单的代数计算过程,容易实现。至于地图的显示和控制则需要通过Windows CEAPI接口来完成。

3.2  GPRS模块

  本车载终端采用GPRS Modem与控制中心进行无线数据通信,对GPRS Modem的控制和读写通过串口进行。由于与控制中心交互的数据种类较多,因此定义了相应的应用层数据包格式。数据包的所有字段均采用单字节ASCII编码且为固定长度。在发送端,数值型字段需要在发送前格式化为定长字符串再封装到数据包中;在接收端,需要将数据包中的格式化字符串还原为数值型常量。数值型字段不足部分以字符“0”为前导字符进行填充;字符型字段不足部分以空格(SPACE0x20)为前导字符填充。字符串型字段的长度不包括字符串结尾的NULL字符(在C语言中为0x00)。所有采用UNICODE编码的字符数据在封装到数据包中之前必须进行转换。

  定义的数据包主要有以下几类:客户端位置更新数据包;客户端接件信息数据包;客户端送达签收数据包;服务器新任务数据包;客户端确认数据包;服务器确认数据包;客户端车辆故障数据包;客户端道路堵塞数据包。

  为了能够正确解析数据包中的数据,所有数据包都具有相同的包头(head),即数据包类型(packet type)、时间戳标记(time stamp)、数据包顺序号(packet sequence number)3个字段。当接收到一个数据包之后,根据包头中的类型字段就能判断该数据包主体部分的长度,由此即可正确解析出包中的内容。包头之后是数据包主体(body)部分,不同数据包类型有着不同的字段和长度。上述8种定义类型之外的数据包均为未定义类型,应当被丢弃。类型为NTSKTMLFRCNG的数据包需要接收端的确认;而RECVSENDUPDTCACKSACK5种类型的数据包不需要确认。

  GPRS Modem的数据传输与接收是通过串口编程来实现的。Windows CE平台上的串口编程依赖于与文件相关的API接口:CreateFile()打开串口,ReadFile()从串口读取数据,WriteFile()向串口写入数据。由于网络数据包的到来是一个异步过程,因此还需要处理串口的异步事件:GetCommMask()取得串口已经设置的事件,SetCommMask()设置串口事件集,WaitCommEvent()等待预先设置的串口事件集中的某一事件发生。

3.3  称重与打印模块

  该模块实现了电子称重和凭单打印功能。

  由于采用ZNE100T以太网口转串口模块把Liod板的以太网口扩充为3个串口,因此对外扩的3个串口的访问是通过以太网口进行的,这涉及Windows CE下的网络编程。对外扩串口的控制是通过向ZNE100T模块的3003端口写入控制命令字来实现的;数据的收发是通过ZNE100T模块的4001端口实现的。

  网络编程接口采用的是Winsock1.1,采用面向连接的TCP协议。对数据的读写采用了非阻塞的方式:写操作直接将数据写到套接口的输出缓冲区中;而数据的读取因为是一个异步过程,因此放在一个单独的线程中完成。在此线程中定义了OnRead()onError()OnDisconnect()回调函数,用于把线程中读取到的数据递交给上层或者处理读取过程中发生的异常事件。

  由于打印机、电子秤、GPS都是通过ZNE100T模块进行控制的,而Liod板提供的以太网口只有一个,因此在任何时刻都只能与打印机、电子秤、GPS三者中的一个通信,而其他两个设备的串口则处于关闭状态。这是通过向ZNE100T模块的3003端口发送不同的控制命令字完成的。

  对于称重,只存在由C8051F020单片机向Liod板的单向数据传输,称量的范围为40 g~5 100 g,因此重量数据采用2个字节表示,单位为g。为了确保数据传输的准确,除了2个字节的重量数据之外,还加入了几个字节的冗余数据。电子秤的数据帧格式如下:

参考文献

[1]  陈章龙,唐志强,涂时亮. 嵌入式技术与系统——Intel XScale结构与开发[M]. 北京:北京航空航天大学出版社,2004.
[2] 
毛德操,胡希明. 嵌入式系统——采用公开源代码和StrongARM/Xscale处理器[M]. 杭州:浙江大学出版社,2004.
[3] 
候俊杰. 深入浅出MFC[M]. 2. 武汉:华中科技大学出版社,2004.
[4] 
汪兵,李存斌,陈鹏. EVC高级编程及其应用开发[M]. 北京:中国水利水电出版社,2005.
[5] 
田东风. Windows CE应用程序设计[M]. 北京:机械工业出版社,2003.
[6] 
童长飞. C8051F系列单片机开发与C语言编程[M]. 北京:北京航空航天大学出版社,2005.
[7]  MapInfo
公司. MapX Help Online.
[8] 
同志工作室. Visual Basic 6.0 API函数开发实例[M]. 北京:人民邮电出版社,2000.

陈云川、刘锋(硕士研究生),主要研究方向为嵌入式应用。



相关文章
· Windows CE.Net下的矩阵键盘开发设计[18]
· 嵌入式操作系统Windows CE研究[35]
· 嵌入式操作系统Windows CE研究[36]
· 让我生不如死的Windows CE内存泄漏[57]
· Windows CE下串行通信的实现[81]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
各种冲值卡批发销售!独家特价!
特价销售GPS车载导航系统!
数字电视批发销售!你想不到的价格!
品牌相机批发销售!你想不到的价格!
品牌手机批发销售!你想不到的价格!
笔记本电脑批发销售!你想不到的价格!
那一年我做了鸭子2
那一年我做了鸭子1
等你十年(下)
等你十年(上)
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
新店开业,部分开发板&元器件特...
[原创]VB编程RS232串口...
红外摄像机控制故障分析与处理方...
红外防水摄像机在智能视频监控中...
步进电机不用驱动芯片能驱动吗?...
我要选一块双串口,带AD的单片...
[分享]运放和功放的区别是什么...
4×4矩阵式键盘的课程设计...
做过高速信号滤波的高手帮忙...
做视频信号放大器,各位有什么好...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网