当前位置:首页 > 电源 > 数字电源
[导读]介绍了在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所示。

 

[!--empirenews.page--]

 

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采集应用程序的设计。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭