CDMAX的嵌入式土壤墒情数据无线采集系统设计方案_第1页
CDMAX的嵌入式土壤墒情数据无线采集系统设计方案_第2页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于CDMA 1X的嵌入式土壤墒情数据无线采集系统 设计2007-11-15嵌入式在线收藏|打印引言土壤墒情(温度和湿度等)是重要的土壤信息,是农作物和树木生长的重要生态因素,进行森林土壤墒情的测定,掌握土壤墒情变化的规律,对森林生态状况的监测和预报具有重 要意义。随着计算机技术的不断进步和智能化测量技术的飞速发展,嵌入式系统已成为各 类数据采集系统的优选设计方案,同时,基于CDMA 1X 的无线数据传输又使嵌入式数据采集具有了高可靠性和高智能化等优点。CDMA 1X 是在现有 CDMA IS-95 系统上发展起来的一种新的承载业务,它支持 TCP /IP、X.25协议,可在网络上实现 一次连

2、接,长期在线”,而只有在传输数据占用信道时 才计费。目前的实际应用带宽大约在100 Kb /s 左右(双向对称传输),非常适用于森林土壤监测数据的无线传输。本文所描述的土壤温湿度采集系统就是一种建立在基于嵌入式32 位 ARM 处理器平台以及 CD-MA 技术上的森林土壤墒情智能监测系统,通过该系统可以实现远程无线数据采 集。1 系统组成与工作原理本系统具有森林土壤温湿度数据的查询、存储、定时上报和告警(火灾或水灾)等功能。整个系统由温湿度数据采集和数据接收两部分组成,采集系统由数据采集模块、CDMA 模块和电源模块构成;数据接收系统由服务器、显示控制计算机及监测服务器组成。通过系 统中的土壤

3、温湿度传感器可对检测到的数据通过CPU 进行处理,并以串行通信模式输出到 CDMA 的 DTU (DataTermi nal Un it ,数据终端系统),再通过 DTU 由 CDMA 1X 无线网 络经In ternet 公网连接到数据接收系统。这样,只要有CDMA 网络信号的地方就可进行无线数据的采集和传输,因而应用地域非常广泛。对于上位机而言,下位机(包括传感器、嵌入式数据处理器和 DTU 等)可作为一个无线终端进行操作和管理。嵌入式 CPU 在初始化 CDMA 无线模块后,即可使之附着在CDMA 网络上,并通过拨号过程(号码、用户名、密码)建立 PPP 连接,以获得网络运营商 ISP

4、动态分配给数传终端的 IP 地址,并与服务器固定 IP 之间建立 Socket 链接。一旦该链接成功,数传终端即可通 过 RS232串口向采集系统收、发数据或指令。由于该数据采集系统设置在森林里,故采用 太阳能电池板+蓄电池的形式来为采集系统供电。采集系统软件模块主要包括操作系统移植、主体程序设计模块和A/ D 转换微处理器程序设计模块接收系统软件主要包括上位机、服务器应用界面和数据库等软件。2 硬件电路设计本系统中的数据采集系统结构如图1 所示,它主要由采集控制模块、CDMA DTU 传输模块、模数转换模块和电源等几个部分组成。2.1 采集系统控制模块CPU 控制器是整个采集系统的核心。考虑

5、到双串口性能和高速传输需要,系统中的嵌入式 CPU 选用 ATMEL 的低功耗 32 位 RISC 微处理器 AT91SAM9261 芯片作为 MCU 模 块的处理器芯片,该处理器具有独立的16 KB 指令和 16 KB 数据 cache,以及全功能的 MMU 虚拟内存管理系统。同时具有DSP 扩展功能的指令集和丰富的外部接口,可工作在180 MHz 频率下其运算速度可达 200MHz,能够满足系统工作要求。AT91SAM9261 通过串口 1 直接与 DTU 模块相连接,可完成对DTU 的模块初始化和基于 CDMA 的数据收发。SDRAM 用于系统运行时暂存操作系统和有关数据,为提高系统的运

6、行速度。设计中选用两片 32 MX8 位的外扩 64 MB 的 SDRAM 存储器 MT48LC16M16A2-75B ,存储空间分配 到AT91SAM9261 的 NCS1(0 x20000000)地址空间。FLASH ROM 主要用于存放引导程 序、操作系统内核和应用程序代码,本设计中选用两片16 MX8 位的外扩 32 MB 的 ROM存储器 E28F128,存储空间分配到 AT91SAM9261 的 NCS0 (0 x10000000) 地址空间。2.2 CDMA DTU 传输模块系统中的 DTU 对上可建立 CDMA 无线通信链路,对下可提供RS-232 用户数据接口,CDMA 数据

7、传输终端选用 CDMA Modem 模块 MG801A,该模块是中兴通兴公司推出的一款基于高通 MSM5105 的移动式 Modem,它内嵌 TCP /IP 协议栈,支持最高达 153.6 kbi t/s 的数据吞吐速率。该器件为工业级芯片,具有良好的稳定性,其优点是可直接提供RS 232 /422 / 485 接口,能为用户的数据设备提供透明、全双工和对等的数据传输通道, 而且开机就能自动附着到 CDMA 网络上,并与数据接收系统建立通信链路,以便随时收发 数据;DTU 使用前,需对其进行初始化配置,并选择适宜的模式;其主要配置是为每一个 DTU 设定唯一对应的 SIM 卡卡号,这个卡号可以

8、作为下位机的ID 来为数据中心所识别和管理;而设定通信波特率则可根据森林土壤温湿度检测的实际需要来进行,本系统选用1200 bit /s ;然后应设定上位机数据中心的IP 地址,并给予数据流指向。2.3 模数转换模块土壤的温湿度模拟数据须经模数转换才能输入到嵌入式CPU 进行处理,数据采集处理器必须具有丰富的外设接口资源和足够高的运算速度才能满足系统的紧凑性和实时性要求。本设计选用 CYGNAL 公司的 C8051F020 作为数据采集的处理器,C8051F020 的 ADC0为增益可编程的 12 位逐次逼近型 A/D 转换器,且自带 8 路外部模拟量检测通道。为了满 足系统对不同深度土层的湿

9、度测量,本系统外加了4 片单 16/双 8 选一模拟开关 DG407来与 C8051F020 的 ADC0 相连接,以对每路模拟量进行巡回检测。鉴于C8051F020 的 I/O 口资源问题,本设计中选用了4 片 16 位并/串转换器 74HC674 并采用相级联的方式来完成可能多达 64 个采集点的采集。C8051F020 自带两个增强型串口 UART0 和 UART 1,设计中将 UART0 作为与 CDMA 模块的接口, UART1 作为预留的扩展口。考虑到 C80 51F020 与AT91SAM9261 之间的数据交换量较大,本设计选用一片2KX8 位的双口 RAM芯片 CY7C142

10、 来作为两者之间的数据交换缓冲区。2.4 电源模块本数据采集系统使用 12V/40AH 的铅酸免维护蓄电池供电。白天,太阳能电池通过充电器对蓄电池充电。太阳能电池的额定功率为34 W,输出电压 17 V,输出电流 2 A ;充电器过压和过流保护点分别设置为17.5 V 和 2.5 A,超过此值则停止充电,一般夏季七个小时就可充满,蓄电池可连续供电六天以上;系统中的嵌入式CPU 有两种工作模式。其一是在正常工作模式时执行定时采集子程序;其余时间,CPU 则进入节电的睡眠工作模式,但可随时唤醒以接收采集指令;为了防止雷击,系统在太阳能电池上方设置了避雷 针。3 软件设计3.1 数据采集系统的软件设

11、计当采集系统接收无线控制命令后,便可通过I / O 模块定时执行数据采集指令并发送采集的数据。本采集系统的软件流程如图2 所示。3.2 设备访问和静态加载与硬件连接有关的驱动程序arinc.c 定义如下:#define ARINC_PHY_START、0 x40000000 / AT91SAM9261 的 NCS3 地址空间#define ARINC_PHY_SIZE SZ_4K/ ACEXEP1KS0 的 RAM 空间#define DEVICE_NAME “ARINC#defi ne ARINCRAW MINOR 1#defi ne ARINC_Devfs_patharin00”stati

12、c intarincMajor=0 ;/使得系统可以随机给ARINC 总线接口分配主设备号定义了驱动程序之后,即可在/drivers /char 目录下的 config.in 中增加如下代码:bool support for arincdrive CONF-GOARRIVE这样,在运行 make menuconfig (或 xconfig)后。就可在内核配置的字符设备选项里看到已经添加了support for arincdrive 选项,此时,驱动程序arinc.c 已经被添加到了 Linux内核中。完成上述步骤之后,即可将 arinc.c 复制到 /drivers /char 下,并在 /d

13、rivers /ch ar 目录下的mem.中的 int chr_dev_init()函数中添加如下代码:#ifdef CONFIG_ARINCDRIVEinit_arinc ();#en dif最后,应在 /drivers /char 目录下的 Makefile 中添加如下代码:吹 if3.3 数据接收系统的软件设计数据接收系统由控制计算机及通信服务器等构成。其数据接收程序可以根据DTU 提供的动态库来完成,并可在 VC 环境下实现。CDMA Server 和 DTU 之间的通讯可使用开发 包中的动态库 wcomm dll.dll。该文件包括了和 DTU 通讯所需要的全部 API 函数,包括

14、服 务的启动、数据发送、数据接收和关闭服务等。CDMA Server 与 IOServer 的通讯则基于SOCKET 编程,并采用 TCP / IP 协议进行传输,但需要设置端口和IP 地址,以便 lOServer 通过此端口和 IP 地址与 CDMA Server 建立通讯。CDMA Server 是整个系统的通讯枢 纽,可实现与 IOServer 和 DTU 的通讯。OPC Server 与 DTU 的通信设计是基于开发工具 包的用户程序接口,即动态链接库cdmagpr s.dll,如:stop gpr s server :停止服务;do send user data :向 DTU 发送数

15、据;do close one user :关闭一个 DTU 终端,令其下线;do read proc :读数据,层服务接收到DTU 发送的数据后。会向启动服务函数中指定的 DSC 的窗口发送消息,该窗口中的消息响应函数应立即调用读数据函数将DTU 发送过来的数据读出;start gpr s server :该函数用于启动底层服务,服务启动后才能和DTU 要讯;启动该服务后,主窗口要有响应消息的函数,以和底层服务通讯;do close all user :关闭所有的在线 DTU 终端。在 Windows 中可直接调用 API 函数 LoadLibrary 装载动态库:#define MYMESS

16、 WM_USER+0 x23 /定义用户消息 char mess512;HMODULE hDIIMudule ;/指向动态库的句柄Int(*start_cdma_server) (HWND, int,int, char*) ;/定义一个指向函数的地址的指针hDIIModule=LoadLibrary( “ cdma_dll.dll; ”)If (hDllModule! =NULL) /判断调用是否成功start_cdma_server=GetProcAddress (hDllModule , ”start_cdma_server ”;)/从动态库取函数地址if (start! =NULL),判断是否取到该函数地址if (*start_cdma_server) (this - m_hWnd, MYMESS , 5002 , mess)=0)MessageBox(启动成功”;)Else MessageBox (启动失败”;)动态库装载后,可从动态库中取出要调用的函数地址;取到地址后,就可以执行该函 数以实现启动服务、停止服务、接收数据、发送数据等功能。土壤墒情数据库可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论