单网络节点在WinCE系统下的程序设计

出处:电子技术网 发布于:2013-07-19 20:23:33

  摘要:介绍了在WinCE系统环境下,通过编程实现ARM平台与其他设备的通信。针对需要的WinCE系统内核定制,研究了WinCE系统下网口通信的实现,探讨了WinCE系统下SD的数据存取和四通道AD采集的驱动和应用。

  1.单网络节点系统

  所谓节点简单而言就是指的具有收发数据功能的电脑或其他设备。一个好的节点既需要选择好的硬件的支持,也需要选择适合的软件控制[1],本文选择S3C6410的Arm11芯片作为节点CPU,选择WindowsCE 6.0作为运行在ARM上的嵌入式操作系统,通过网口,串口,SD卡完成相应的数据通信功能。本文研究的节点硬件结构框图如图1所示。

  

  2.WinCE下网口数据传输程序设计

  2.1 网口服务器程序设计

  在利用套接字进行网络通信的实际应用中,一般采用的是服务器/客户端[2]

  的模式,在本文的设计中,既研究了以PC机作为服务器端,以ARM作为客户端,又研究了以ARM作为服务器端,以PC机作为客户端。本文服务器设计的基本流程为:

  利用函数socket()创建一个套接字,然后利用函数bind()将该套接字与本地(PC机)的IP地址和端口号绑定,接着利用函数listen()使该套接字处于监听状态,然后当等待到客户端的连接信号后,利用函数accept()与客户端连接,利用函数send()和函数recv()进行通信工作。当结束通信后,再利用函数closesocket()将套接字关闭。

  2.2 本文的服务器端程序设计思想

  本文的服务器端程序设计思想如图2所示。

  

  3.WinCE下AD数据采集程序设计

  3.1 ARM板AD采集器驱动程序设计

  流接口驱动就是通过调用动态连接库的方式来加载硬件的功能,它由设备管理器直接调用。WinCE系统下的流接口驱动编写,有着固定的接口入口点,其接口点是一系列的类似于XXX_Open()结构的函数集。由这些函数集来调用系统的文件API函数和相应的组件。本文设计的是AD采集器的流接口驱动,接口入口点(即函数集)和用途如下所描述:

  (1)函数ADC_Init(),该函数用于初始化AD采集器设备,为系统的设备管理器所调用。

  (2)函数ADC_Denit(),该函数用于卸载AD采集器设备,为系统的设备管理器所调用。

  (3)函数ADC_Open(),该函数用于打开AD采集器设备,被系统的文件API函数CreateFile()调用。

  (4)函数ADC_Close(),该函数用于关闭AD采集器设备,被系统的文件API函数CloseHandle()调用。

  (5)函数ADC_Read(),该函数用于从AD采集器读取数据,被系统的文件API函数ReadFile()调用。

  (6)函数ADC_Write(),该函数用于向AD采集器写入数据,被系统的文件API函数WriteFile()调用。

  (7)函数ADC_IOControl(),该函数用于对AD采集器进行I/O操作,被系统的文件API函数DeviceIOControl()调用。

  需要提出来的是本文研究的A D采集器不涉及到电源管理和设备指针的操作。

  而需要用到这两个方面操作的流接口设备驱动程序,还需要添加函数XXX_Seek(),函数X X X _ P o w e r D o w n ( ) 和函数X X X _PowerUp()。其作用分别是对XXX设备进行移动数据指针,休眠和恢复电源。

  3.2 WinCE下四通道AD采集应用程序设计

  本研究采用的ARM提供了四个外部的AD通道,可以利用这些通道实现四路对模拟数据的采集功能。通过EVC++编写应用软件调用AD流接口驱动程序,实现对模拟信号的采集,将采集的数据通过网口发送到PC机端。该设计采用多线程方式,使AD采集,数据处理,网口通信模块化,并采用双buff采集和发送的交互方式,保证了数据的不丢失性。网口通信模块直接运用前面设计的网口通信流程,数据处理模块主要是对采集得到的数字信号数据由分线程向外部buff传输,便于通信模块的使用。AD采集模块在线程内调用驱动程序,实现AD采集器的读取数据功能。

  3.3 四通道AD数据采集实验实现及调试

  利用以上的设计思路,本文实现了WinCE系统下AD数据采集的系统设计,其调试过程和实验结果如下:

  首先将编写好的驱动程序加载到Win-CE6.0系统的内核中,重新编译系统,启动新编译成功的WinCE系统,可以在Windows文件夹下看到已经加载进去的驱动程序生成的动态链接库。

  然后将编写好的对采集数据进行波形处理的网络程序在PC端启动,再将编写好的四通道采集程序到ARM板中并启动,设置好采样率和采样通道,输入通道选择0,采样频率设置为400000hz(该AD采集器采样频率为500khz)。调好信号源,选择正弦波,将信号电压幅度设为1.5v,电压为0v,信号频率为3000hz,输出信号线连接到ARM板的AD第0号通道接口,启动信号输入,在ARM端得到如图3的调试截图。

  

  这是本文设计的运行在ARM板上的AD采集应用程序,可以通过启动,停止,关闭按钮来启动AD采集,暂停AD采集,关闭AD采集器的功能,还可以通过输入通道号码来选择采样的通道,输入采样率来选择采样频率。而上方控件显示的是采集的字节数目,在这里是2048字节,与程序实际设计的一致。通过AD采集器的正确工作,不仅说明了应用程序设计的正确性,同时也体现了AD采集器驱动程序设计的正确性。

  4.结束语

  本文通过研究WinCE下的网口通信,串口通信,SD卡数据存取和AD数据采集程序设计,系统地提供了Wince嵌入式系统下数据通信的一般编程方法。本论文实现了水下通信网络单节点内部数据的交互,主要包含以下内容:完成了ARM板通过网口与DSP通信的程序设计;完成了ARM板通过串口同时与PC机和姿态方位仪的数据通信的程序设计;完成了ARM板对SD卡的操作,实现了将DSP通过网口传输来的数据自动的储存在SD卡中,并能读取SD卡中的数据;完成了ARM11流接口AD驱动程序的设计和AD采集应用程序的设计。

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!