0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于嵌入式技术与WEB技术实现无线数据采集系统的设计

电子设计 来源:计算机与信息技术 作者:冯峰,史燕 2021-06-11 15:29 次阅读

1 硬件设计

1.1 基于MCF5272芯片嵌入式Web Server

基于MCF5272芯片的嵌入式Web Server硬件配置如下:MCF5272(Cold Fire系列)32位处理器、4M字节的两片16×1M位数据宽度FLASH、16M字节的两片16×4M位数据宽度SDRAM、两个标准RS-232串口、一个标准10/100M自适应快速以太网接口、一个BDM接口、各种状态指示和电源等。 MCF5272微处理器是迄今为止摩托罗拉推出的最高集成度的Cold Fire微处理器。这款高集成的Cold Fire微处理器将10/100MB以太网控制器和一个USB模块等通信外围设备结合起来,提高了MCF5272集成通信微处理器集成水平。

它不仅提供了一套新的通信外围设备,同时还包含了以往Cold Fire标准产品所具备的广受欢迎的通用外围设备。

1.2 PTR2000+系列无线数传模块

PTR2000+为讯通科技出产的无线数传模块,具有接收发射合一、体积小、外围器件少等优点,可直接与MCU串口相接,也可以接计算机RS232接口,软件编程非常方便。由于采用了低发射功率、高接收灵敏度的设计,使用者无需申请许可证 。其标准DIP引脚间距,更适合嵌入式设计。

PTR2000+具有良好的产品特性,工作频率为国际通用的数传频段433MHz,FSK调制,抗干扰能力强;采用DDS+PLL频率合成技术,频率稳定性极好;具有两个频段,适合于需要多信道工作的特殊场合;工作速率最高可达20Kbit/s,也可在较低速率(如9600bps)下工作。

1.3 系统原理

整个系统由数据采集发射终端和数据接收端组成。

数据采集发射终端主要以51系列单片机为核心,MCU的P1口控制多路选择器,对8路模拟信号进行选择,选中的模拟信号进入高速AD转换器,进行模数转换。MCU同时控制AD的采样频率和起始转换,转换结果存入FIFO存储器。按照规定的通信协议,MCU对数据进行编码,最后通过数传模块PTR2000+发射给远方接收端。为提高数据传输的可靠性,数据发送完毕,MCU将PTR2000+转换为接收状态,接收主机的应答信号或控制字。

图1 数据采集端结构框

PTR2000+通过RS-232将接收到的数据送入MCF5272嵌入式Web Server,MCF5272嵌入式Web Server接收完数据,将PTR2000+转换为发射状态,然后对数据进行CRC循环码校验。如果数据正确,就通过嵌入式操作系统的UDP/IP协议栈,将数据打包,保存到FLASH芯片的可写JFFS文件系统之中,同时运行web服务器,等待客户服务端通过网络访问数据;错误,则向PTR2000+发送重发命令。MCF5272嵌入式Web Server通过以太网口接入Internet网络,用户可通过浏览器(例如:IE)对系统进行远程配置、管理(如更改IP,重新启动系统等),并且可以调用封装好的函数API直接对FLASH芯片的某几个扇区进行读写操作,可将配置的信息以及采集数据保存在系统FLASH芯片上。

图2 数据接收端结构框

上位PC机通过RS-232与BDM调试器相连,BDM调试器通过BDM口与Web Server相连,可以对Web Serve进行初始化配置、调试和日常维护。

2 系统软件实现

系统的软件设计与实现是本系统实现的关键之一。

2.1 系统软件:包括嵌入式操作系统与设备驱动程序

嵌入式操作系统是支持嵌入式系统应用的操作系统软件,是在系统实时性、硬件相关性、软件固态化等方面有着突出特点的专用操作系统。由于Cold Fire系列芯片是没有MMU (内存管理单元Memory Management Unit)的处理器,而 uClinux是专为那些没有MMU的嵌入式处理器开发的,所以本系统采用uClinux嵌入式操作系统。

uClinux是Linux的一个嵌入式版本,它是源代码开放的嵌入式操作系统,其内核的二进制映像文件可以做到小于512K。uClinux针对无MMU的处理器设计,支持多 任务,具有完备的TCP/IP协议栈并支持多种网络协议。uClinux还支持多种文件系统,如ROMFS、NFS和JFFS等。另外,uClinux可移植性很强,用户通过重新配置、编译内核,很方便将其移植到68K、Dragon Ball、Cold Fire、Power PC、ARM等多种处理器计算平台。当前uClinux提供2.0和2.4两个内核版本。

本系统采用uClinux嵌入式操作系统主要需要解决以下三个问题:

第一,实时性问题。uClinux本身并没有关注实时性问题,它并不是为了Linux的实时性而提出的。而本系统中的数据采集功能对操作系统的实时性有一定要求。通过给uClinux打上其它Rt-linux的实时性补丁,就可以增强uClinux的实时性,满足这个系统的实时要求。

第二,JFFS文件系统的建立。uClinux系统采用Romfs作为根文件系统,Romfs文件系统不支持动态擦写保存。而本系统中的嵌入式的Web Server在运行过程中,要求能够动态地保存一些数据,并且当系统重新启动时,保存的数据依然存在。所以我们需要充分发挥Flash可擦写的优势,在系统运行过程中,动态地擦写Flash来保存数据。通过建立JFFS文件系统,可以用Flash来保存数据,即将Flash作为系统的硬盘来使用。可以像操作硬盘上的文件一样操作Flash芯片上的文件和数据。系统运行的参数可以实时保存到Flash芯片中,在系统断电后数据仍然存储在Flash芯片中。为实现Flash上的JFFS文件系统,我们需要在内核中加入对JFFS文件系统和Flash设备的支持,并针对具体的Flash 芯片修改设备驱动程序,生成设备节点并将JFFS文件系统挂接到Flash 设备上。

第三,编写各个设备的驱动程序。主要包括串口驱动程序、以太网接口驱动程序、BDM调试接口驱动程序和FLASH芯片驱动程序。

2.2 嵌入式Web Server软件系统实现

嵌入式Web Server的软件系统包括五个部分: ①HTTP引擎; ②虚拟文件系统; ③配置模块; ④安全模块; ⑤应用程序接口模块。

图3 嵌入式Web Server软件系统示意图

其中HTTP引擎负责响应用户的请求、通过虚拟文件系统访问静态数据信息、通过应用程序接口得到动态数据信息。

虚拟文件系统为嵌入式Web Server提供虚拟文件服务,虚拟文件系统使用数据结构存储文件大小、修改时间等信息。对于存储HTML文件需要的动态信息建立数据结构保存脚本的指针和脚本所调用函数的名称。通过虚拟文件系统将Java、 GIF、 PDF、 HTML以及文本等文件形式编译为Web服务器认可的代码,而独立于具体的文件系统。

配置模块使系统管理员可以从任何一台标准的Web浏览器上设置嵌入式Web Server参数,在系统启动中定义的配置环境变量包括并发连接数、Socket端口、主机名称、根文件路径、缺省初始文件以及非活动超时和时区等。

配置模块对标准浏览器的开放使得安全问题更加重要,尤其是对网络设备的配置和控制信息的访问成为安全保护的重点。安全模块通过在服务器上定义安全域和对每个安全域定义的用户名和密码实现对敏感信息的保护。还可以对请求数据采取加密措施实现安全保护功能。

应用程序接口模块实现和嵌入式应用系统的数据交换。在嵌入式Web Server中,应用程序接口与嵌入式操作系统通信,实现对嵌入系统的配置、监视和控制,是嵌入式Web Server软件系统的核心。而应用程序接口模块常见的有CGI(Common Gateway Interface)、SSI(Server Side Include)和HCPA(HTML-to-C Preprocessor Approach)等3种形式。

本系统应用程序接口模块采用CGI形式。CGI提供嵌入式Web Server一个执行外部程序的通道,CGI程序经过编译成为可执行文件,放在服务器端运行。嵌入式Web Server根据用户的请求调用相应的CGI程序。并由嵌入式Web Server将CGI程序得到的动态信息封装到页面中,发送到用户浏览器上。

3 无线数据传输

3.1 通信原理

在此系统中,基于无线方式的数据传输,决定了它有相对高的不可靠性,为了可靠通信,编程时设计了相应的通信协议,并采用数据帧号和CRC校验进行数据的纠检错。

Web Server和数据采集终端的数据传输采用半双工方式,基于停止等待协议(stop and wait)的思想,将待传输的数据帧按先后顺序附加上帧号,以保证数据的正常传输。数据采集终端首先处于接收状态,Web Server将控制字(A/D采样频率、采样方式)发送给数据采集终端后,Web Server转换为接收方式,等待终端发送确认帧。数据采集终端接收到控制字,进行CRC数据校验,如果数据正确就向Web Server发送确认帧,数据帧帧号清零,开始进行数据采集和数据传输。反之,则向Web ServerR发送重发请求。

数据开始传输,数据采集终端发送第N帧数据,发送完毕,转换为接收状态,等待Web Server发送确认帧;Web Server接收到数据,进行CRC校验,将帧号与自身帧号比较,数据正确,将自身帧计数器加1,通知数据采集终端发送第N+1帧数据。

3.2 通信协议

PTR2000+在无信号时,串口输出的是随机数据,为保证无线通信的可靠,必须定义一个简单的通信协议,对数据进行打包后传输,数据帧格式见图4。

图4 数据帧格式

考虑到无线通信中的延迟效应和数传MODEM的发射接收转换时间,为使接收建立正确的同步,需要在数据帧头部加入5byte 的填充比特和同步码。在整个数据通信中需要3种类型的的数据帧,即服务器发送的控制帧,数据终端发送的数据帧,和他们发送的确认帧,长度包括类型码和数据帧字节数之和数据校验采用16位CRC循环校验码。

数据终端发送的数据帧设计为48byte,当采用12位的A/D转换器件,如AD1674时,每一路占用16 bit,对8路模拟信号进行一次循环采集占用16个字节,因此48byte的数据帧可存储3次循环采集的数据,这样设计的目的是为了提高数据传输的速率。当PRT2000+传输速率为19.3Kbit/s时,采用此通信协议对单路信号进行采集,速率可达4Kbit/s,此系统可用于低速的数据采集系统中。

4 结束语

远程无线数据采集与传输的应用范围非常广,涉及行业有电力、水利、公安、交通、石油、安防和金融等。上述设计实现了基于嵌入式Web Server的无线数据采集,主要用于车辆遥测、远程无线抄表、工业数据采集系统、非接触RF智能卡、生物信号采集等低速率远程数据采集系统中。本系统的主要特点在于其服务器的设计基于嵌入式技术与WEB技术,而数据采集部分采用无线传输技术。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4962

    文章

    18145

    浏览量

    286502
  • 无线
    +关注

    关注

    31

    文章

    5292

    浏览量

    171293
  • 数据采集
    +关注

    关注

    38

    文章

    4354

    浏览量

    112260
收藏 人收藏

    评论

    相关推荐

    基于嵌入式Web Server的无线数据采集系统

    与传输的应用范围非常广,涉及行业有电力、水利、公安、交通、石油、安防和金融等。上述设计实现了基于嵌入式Web Server的无线数据采集,主
    发表于 09-11 10:50

    [转帖]《NI数据采集技术文摘》,帮助您实现DAQ技术的入门到精通!

    从自动化测试到嵌入式设计,数据采集(DAQ)技术已经帮助全世界的工程师与科学家们实现了他们各自的项目应用。作为全球DAQ技术的领先者,NI公
    发表于 04-22 15:48

    单片机嵌入式Internet技术Web应用实现

    嵌入式Internet的TCP/IP协议实现2.1 嵌入式TCP/IP协议 软件编程是实现嵌入式Web
    发表于 11-24 18:10

    数据采集卡/分布采集模块/无线通讯采集模块/嵌入式系统

    无线通讯数据采集模块:GPRSZIGBEE4. 嵌入式系统:嵌入式主板平板电脑工控一体机QQ2693330939邮箱2693330939@q
    发表于 08-21 10:05

    无线接收发射装置来实现环境数据采集系统

    ,通过嵌入式系统,用无线的方式实现数据采集和传输是最好的解决方法,不仅简化了实施的难度,而且成
    发表于 07-10 08:19

    一种基于嵌入式WinCE的远程数据采集系统结构介绍

    的使用前景[1]。本文以基于 WinCE 的嵌入式设备为核心,取代传统意义上的PC 机,采用TCP/IP 通信机制搭建的远程 数据采集系统,结合嵌入式设备和网络
    发表于 07-29 06:28

    嵌入式系统怎么实现远程监控和升级?

    通用分组无线服务技术GPRS(General Packet Radio Service)是一种移动数据业务,该技术能满足日常网络行为,具有广域覆盖、高速传输等优点。野外作业的
    发表于 08-02 06:49

    嵌入式电能计量及查询系统有什么功能?

    ,在linux 的 基础上结合嵌入式Web 服务器技术,构成完整的嵌入式系统Web 服务器,将
    发表于 09-26 07:08

    基于ZigBee无线组网技术嵌入式Web服务器

    针对有线组网方式布线复杂、维护困难的问题,提出了一种基于ZigBee无线组网技术嵌入式Web服务器,对家庭环境进行远程监控的实现方法。采用
    发表于 04-27 07:48

    分享一款不错的基于嵌入式Web Server的无线数据采集系统

    分享一款不错的基于嵌入式Web Server的无线数据采集系统
    发表于 05-28 06:58

    怎么实现基于WinCE的嵌入式视频数据采集系统设计?

    怎么实现基于WinCE的嵌入式视频数据采集系统设计?
    发表于 06-03 06:39

    如何实现嵌入式WEB服务器系统的控制设计

    简单设计。本设计利用ARM 自带的WEB服务器技术,来实现嵌入式WEB服务器系统的控制设计。该
    发表于 11-09 08:47

    如何实现基于Linux操作系统嵌入式数据采集模块的设计

    湖南大学硕士学位论文基于Linux操作系统嵌入式数据采集模块设计与实现姓名:易斌申请学位级别:硕士专业:电路与系统指导教师:戴瑜兴基于 L
    发表于 11-09 07:47

    Java在基于WEB嵌入式系统中的应用

    该文提出了一种基于uClinux 嵌入式操作系统嵌入式系统中,使用Java 实现嵌入式实时
    发表于 09-18 10:46 31次下载

    基于CPLD和嵌入式系统的高速数据采集系统的设计与实现

    基于CPLD和嵌入式系统的高速数据采集系统的设计与实现 介绍一种基于CPLD和嵌入式
    发表于 10-15 23:46 619次阅读
    基于CPLD和<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>的高速<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计与<b class='flag-5'>实现</b>