搜索

您当前位置: 首页 > 体育外围APP > 公司动态

体育外围APP
体育外围下载:基于ARM的多功能数据采集网关的设计

类别:公司动态   发布时间:2020-12-16 15:34:24   浏览:

  0引言

  随着现代工业的快速发展,智能检测、工厂制造过程自动控制、设备数据采集、人机后台数据库交互等各种需求越来越多,传统的监控系统已经不能满足客户的各种需求。传统的监控系统通常采用单片机作为微处理器,单片机系统结构单一,系统功能不够灵活,仅可满足一些较简单的控制要求。并且系统有线居多,布线麻烦,网络不稳定,后期网络维护、更改困难。基于嵌入式的智能采集器融合了当今世界领先的技术和控制理念,代表了新一代智能模块化的控制网络系统。采用了近几年来涌现的计算机通讯技术、网络技术、微电子技术及模糊控制技术等最新的技术成果,在网络功能、多任务处理、实时性、扩展性、人机接口等方面都有很多优势,有着越来越广泛的应用。

  本文提出了基于ARM920T处理器S3C2440和GPRS技术的多功能数据采集网关,集数据采集、数据协议转换、数据无线远距离传输功能于一身。本文所提出的多功能数据采集网关采用了模块化设计,可根据实际需要配以不同的ARM处理器及所需的无线通讯模块。该多功能数据采集网关具有应用范围广、维护成本低、性价比高数的优势。多功能数据采集网关应用示意图如图1所示。

  体育外围下载:基于ARM的多功能数据采集网关的设计(图1)体育外围下载

  图1 数据采集系统应用示意图

  1系统硬件设计

  硬件平台采用ARM920T为核心的S3C2440处理器,ARM(AdvancedRISCMachines)公司设计的ARM920T处理器S3C2440具有全球领先的技术水平,ARM920T处理器S3C2440凭借着体积小、功耗低、高性价比高的优势被广泛的应用于多种领域。完全支持WindowsCE4.2/5.0、6.0及Linux2.6等操作系统。S3C2440核心板具有外扩存储器和CPU必须的外围电路,这样就可以围绕核心板进行外围电路的设计。

  ARM920T处理器S3C2440配置了存储单元、射频体育外围收发模块、电源模块、JTAG接口、人机接口、LCD显示接口、MiniUSB主、从接口等。其中存储单元模块包括:64M字节的Nandflash、64M字节的SDRAM和SD卡。存储模块用于存放已调试好的应用程序和嵌入式WindowsEmbeddedCE6.0操作系统。电源模块提供多种供电方式。本系统中电源模块分为三部分,共给最小系统的直流1.25V和3.3V,供给信号采集板的数字电压直流5V和模拟电压直流5V。JTAG接口用于仿真调试程序。LCD显示用于接LCD液晶显示屏,方便用户进行设置和查看当前参数和数据。USB接口用于烧写WindowsEmbeddedCE6.0操作系统相关的代码。数据采集网关硬件结构图如图2所示。

  无线通讯模块选用MC35i模块。MC35i是西门子公司推出的新一代双频GSM/GPRS通信模块的无线产品,它为用户提供了永远在线、高速度、更简单的移动数据通讯手段。MC35i具有丰富的AT指令,功能强大,操作灵活方便。MC35i模块主要由GSM基带控制器、射频模块、供电模块、闪存、ZIF连接器、射频功率放大器、天线接口等部分组成。MC35i具有体积小、重量轻、功率低等特点。MC35i的工作电压为3.3~4.8V,典型电压为4.2V,最大工作电流为2A。模块可在EGSM900和GSM1800两个频段工作可利用AT指令进行控制,并支持文本和PDU模式的短消息。

  数据采集网关内部输入输出单元与控制单元之间采用光电隔离,可极大降低工业现场干扰对模块正常运行的影响,提高模块可靠性。输入输出模块通过485与CPU进行通信,可做到模块的任意扩展。CPU提供串口和485与模块进行通信。模块与主CPU之间通过Modbus协议进行通信,各个模块均做成光电隔离,提高系统的安全性。

  体育外围下载:基于ARM的多功能数据采集网关的设计(图2)

  图2 多功能数据采集网关硬件结构图

  2系统软件设计

  2.1WindowsEmbeddedCE6.0系统移植

  WinCE6.0的移植过程,从根本上说是针对不同的CPU,不同目标板编写修改BSP的过程。如若编写测试成功,则可通过PlatformBuilder建立合适设计者的WinCE6.0系统。定制一个新的WinCE6.0系统镜像的过程如下:

  创建包含BootLoader、OEM配置层(OMEAdaptation)和设备驱动的适合目标硬件的板级支持包(BoardSupportPackage)。

  定制符合课题要求的系统设计(OSDesign)。即通过VS平台创建一个PlatformBuilder的工程。通过此工程编译产生终端的运行时映像文件(Rum-timeImage)。

  根据目标板的外围设备编写相应的驱动并添加到BSP中。

  修改OSDesign。主要通过CatalogItems和创建子工程的方式。

  OSDesign经过编译后,下载得到的编译后的映像文件到目标设备中,而且需要通过串口、USB等通讯设备进行系统调试。

  如果上述调试通过,则可以导出系统镜像对应的SDK(SoftwareDevelopmentKit),SDK为应用系统开发必不可少的软件平添安装SDK后,应用程序开发人员即可以进行应用程序开发了。

  在整个WinCE6.0操作系统的移植过程中,BSP的移植是最基础的一步。创建BSP的过程主要包括

  创建BootLoader

  创建OAL

  创建设备驱动

  修改运行时镜像的配置文件

  2.2WinceBootloader的设计

  Bootloader的开发是嵌入式系统开发必不可少的环节,一个好的Bootloader不仅可以给项目的后续开发工作带来很大便利,而且在项目开发结束后对用户使用产品也提供了很多方便。

  WinceBootloader设计步骤如下:

  Bootloader设计第一阶段

  (1)进入启动的入口地址,禁止看门狗、屏蔽所有中断。

  (2)设置CPU的速度和时钟频率。

  (3)初始化基本硬件和存储器系统。

  (4)设置堆栈并跳转至第二阶段

  2、Bootloader设计第二阶段

  第一阶段结束后,函数跳转到Bootloadermain()函数。Bootloadermain()调用OEMDebugInit()函数,负责初始化Bootloader的调试功能串口,调用后Bootloader可以调用输出功能函数。OEMDebugInit()调用OEMInit()调用OEMInitDebugSerial()来初始化调试串口。

  函数代码如下:

  BOOLOEMPlatformInit(){…

  G_dwImageStartBlock=IMAGE_START_BLOCK;

  OEMGetRealTime(&st);…

  InitDisplay();

  InitUSB();…

  Isr_Init();

  RerurnTRUE;}

  3、配置文件

  Bootloader源代码编译后产生一个名为eboot.exe文件,但写入Flash的Bootloader是一个二进制映像文件,所以需要将eboot.exe文件转换为.bin文件。

  在%-WINCEROOT%\Platform\HardwarePlatformName\Sre\Bootloader\Eboot文件夹下创建名为eboot.bin的文件。

  添加配置信息到eboot.bin文件中。

  MEMORY

  FILLERA0000000000030000RESERVED

  EBOOTA0003000000020000RAMIMAGE

  RAMA0005000000010000RAM

  CONFIG

  COMPRESSION=OFF

  PROFILE=OFF

  KERNELFXUPS=ON

  MODULES

  在%-WINCEROOT%\Platform\HardwarePlatformName\Sre\Bootloader\Eboot文件下创建一个名为makefile.inc的文件。

  添加代码到makefile.inc文件

  BootImage:

  Romimageboot.bib

  在SOURCES文件的最后添加代码:

  WINCETARGETFILES=BootImage

  4、烧写Bootloader

  配置好后,在PC中编辑产生Eboot.bin文件,把Bootloader烧写到目标机中。利用sjf2440工具烧写,使用JTAG下载。Bootloader下载后通过以太网口把系统内核镜像文件下载到目标机中。

  2.3WindowsEmbeddedCE6.0操作系统下驱动程序开发

  驱动程序是介于操作系统与外围设备之间,主要作用是为操作系统提供一个接口,以实现对不同硬件的操作,其中包括物理设备和虚拟设备,并为应用程序提供设备服务。

  流驱动程序能实现系统应用程序与硬件之间的连通,主要接收两种命令:从设备管理程序发出命令和应用程序通过调用来的命令。用户通过文件操作函数CreatFile、ReadFlie、WriteFlie等来实现设备的访问。

  流驱动程序只需包含一下步骤:

  编写驱动源代码,包含头文件调用、驱动代码和驱动接口

  编写驱动接口

  编写MakeFile文件

  编写source文件

  修改注册表信息

  将动态链接库文件(DLL)编译进系统映像

  2.4GPRS模块软件设计

  GPRS模块的一般应用包括:数据传输、语音通话、短信等。模块与控制器间的通信协议是AT命令集,程序中的所有代码采用C语言编写,可以编写GPRS驱动函数:开关GPRS模块函数、初始化GPRS模块函数、拨号函数、断开连接函数、检测是否处于在线状态函数。这些底层的驱动函数将会使上层协议的编写很方便,更重要的是,它为我们提供了一个驱动抽象层。当底层硬件做出改动的时候,只需要对底层的驱动函数进行改动,而上层函数的代码不变。并采用分层的结构,从底到上分别为:串口驱动层、GPRS模块驱动层、PPP协议层、IP协议层、TCP/UDP协议层与应用层。若模块自带协议栈,就只需要串口驱动层、GPRS模块驱动层、应用层。上层函数的实现需要应用到底层函数,而底层函数的任务就是为上层函数提供服务,最终完成应用层任务传送数据。

  驱动程序编写。嵌入式微处理器通过串行口控制GPRS模块,进行拨号、设置等操作。首先是串行口驱动层。它实现打开串口、关闭串口、读串口数据、写串口数据等函数。然后,在这些串口函数的基础上编写GPRS模块的驱动函数。该函数功能为发送消息,其过程为:测试modem是否处于激活状态;设置工作模式为发送消息;设置消息模式为文本格式;设置消息发送的目标手机号;编辑消息内容并选择端口发送消息;等待接收反馈信息。

  3、结论

  本文提出了基于ARM处理器的嵌入式多功能数据采集网关,将GPRS技术与嵌入式技术有机地结合到一起,该设计采用了模块化设计理念,用户可根据实际需求搭配所需的ARM处理器和外围扩展模块,实现系统功能的扩展,具有应用范围广、维护简单、性价比高、可二次升级的显著优势。该多功能数据采集网关能为工业生产中的多种监测系统提供监控无线远程化、低功能化、低成本且具有可扩展行的技术解决方案。

  作者简介:

  衣英俊(1987-),男,汉,深圳市怡化电脑有限公司(烟台办事处)工程师。

  仲萌维(1987-),男,汉,青岛科技大学自动化学院研究生,方向计算机控制。

  通信地址:山东省烟台市芝罘区华信家园41号楼1单元1001室。

  邮编:264000

  邮箱:708968761@qq.com

  电话:15853562125

  收信人:衣英俊

  备准:3.22.传动邮箱


体育外围下载www.saiseiron.com