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

下载本文档

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

文档简介

1、基于CDMA 1X的嵌入式土壤墒情数据无线采集系统设计2007-11-15      嵌入式在线      收藏 | 打印      引言       土壤墒情(温度和湿度等)是重要的土壤信息,是农作物和树木生长的重要生态因素,进行森林土壤墒情的测定,掌握土壤墒情变化的规律,对森林生态状况的监测和预报具有重要意义。随着计算机技术的不断进步和智能化测量技术的飞速发展,嵌入式系统已成为各类数据采集系统的优选设计方案,同时

2、,基于CDMA 1X的无线数据传输又使嵌入式数据采集具有了高可靠性和高智能化等优点。      CDMA 1X是在现有CDMA IS-95系统上发展起来的一种新的承载业务,它支持TCPIP、X.25协议,可在网络上实现“一次连接,长期在线”,而只有在传输数据占用信道时才计费。目前的实际应用带宽大约在100 Kbs左右(双向对称传输),非常适用于森林土壤监测数据的无线传输。      本文所描述的土壤温湿度采集系统就是一种建立在基于嵌入式32位ARM处理器平台以及CD-MA技术上的森林土壤墒情智能

3、监测系统,通过该系统可以实现远程无线数据采集。      1 系统组成与工作原理      本系统具有森林土壤温湿度数据的查询、存储、定时上报和告警(火灾或水灾)等功能。整个系统由温湿度数据采集和数据接收两部分组成,采集系统由数据采集模块、CDMA模块和电源模块构成;数据接收系统由服务器、显示控制计算机及监测服务器组成。通过系统中的土壤温湿度传感器可对检测到的数据通过CPU进行处理,并以串行通信模式输出到CDMA的DTU (DataTerminal Unit,数据终端系统),再通过DTU由CDM

4、A 1X无线网络经Internet公网连接到数据接收系统。这样,只要有CDMA网络信号的地方就可进行无线数据的采集和传输,因而应用地域非常广泛。对于上位机而言,下位机(包括传感器、嵌入式数据处理器和DTU等)可作为一个无线终端进行操作和管理。      嵌入式CPU在初始化CDMA无线模块后,即可使之附着在CDMA网络上,并通过拨号过程(号码、用户名、密码)建立PPP连接,以获得网络运营商ISP动态分配给数传终端的IP地址,并与服务器固定IP之间建立Socket链接。一旦该链接成功,数传终端即可通过RS232串口向采集系统收、发数据或指令。由于

5、该数据采集系统设置在森林里,故采用太阳能电池板+蓄电池的形式来为采集系统供电。      采集系统软件模块主要包括操作系统移植、主体程序设计模块和AD转换微处理器程序设计模块接收系统软件主要包括上位机、服务器应用界面和数据库等软件。      2 硬件电路设计      本系统中的数据采集系统结构如图1所示,它主要由采集控制模块、CDMA DTU传输模块、模数转换模块和电源等几个部分组成。     

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

7、发。SDRAM用于系统运行时暂存操作系统和有关数据,为提高系统的运行速度。设计中选用两片32 M×8位的外扩64 MB的SDRAM存储器MT48LC16M16A2-75B,存储空间分配到AT91SAM9261的NCS1(0x20000000)地址空间。FLASH ROM主要用于存放引导程序、操作系统内核和应用程序代码,本设计中选用两片16 M×8位的外扩32 MB的ROM存储器E28F128,存储空间分配到AT91SAM9261的NCS0 (0x10000000)地址空间。      2.2 CDMA DTU传输模块

8、0;     系统中的DTU对上可建立CDMA无线通信链路,对下可提供RS-232用户数据接口,CDMA数据传输终端选用CDMA Modem模块MG801A,该模块是中兴通兴公司推出的一款基于高通MSM5105的移动式Modem,它内嵌TCPIP协议栈,支持最高达153.6 kbits的数据吞吐速率。该器件为工业级芯片,具有良好的稳定性,其优点是可直接提供RS 232422485接口,能为用户的数据设备提供透明、全双工和对等的数据传输通道,而且开机就能自动附着到CDMA网络上,并与数据接收系统建立通信链路,以便随时收发数据;DTU使用前,需对其进行初始化

9、配置,并选择适宜的模式;其主要配置是为每一个DTU设定唯一对应的SIM卡卡号,这个卡号可以作为下位机的ID来为数据中心所识别和管理;而设定通信波特率则可根据森林土壤温湿度检测的实际需要来进行,本系统选用1200 bits;然后应设定上位机数据中心的IP地址,并给予数据流指向。      2.3 模数转换模块土壤的温湿度模拟数据须经模数转换才能输入到嵌入式CPU进行处理,数据采集处理器必须具有丰富的外设接口资源和足够高的运算速度才能满足系统的紧凑性和实时性要求。本设计选用CYGNAL公司的C8051F020作为数据采集的处理器,C8051F020

10、的ADC0为增益可编程的12位逐次逼近型AD转换器,且自带8路外部模拟量检测通道。为了满足系统对不同深度土层的湿度测量,本系统外加了4片单16双8选一模拟开关DG407来与C8051F020的ADC0相连接,以对每路模拟量进行巡回检测。鉴于C8051F020的IO口资源问题,本设计中选用了4片16位并串转换器74HC674并采用相级联的方式来完成可能多达64个采集点的采集。C8051F020自带两个增强型串口UART0和UART1,设计中将UART0作为与CDMA模块的接口,UART1作为预留的扩展口。考虑到C8051F020与AT91SAM9261之间的数据交换量较大,本设计选用一片2K&#

11、215;8位的双口RAM芯片CY7C142来作为两者之间的数据交换缓冲区。      2.4 电源模块      本数据采集系统使用12V40AH的铅酸免维护蓄电池供电。白天,太阳能电池通过充电器对蓄电池充电。太阳能电池的额定功率为34 W,输出电压17 V,输出电流2 A;充电器过压和过流保护点分别设置为17.5 V和2.5 A,超过此值则停止充电,一般夏季七个小时就可充满,蓄电池可连续供电六天以上;系统中的嵌入式CPU有两种工作模式。其一是在正常工作模式时执行定时采集子程序;其余时间,CPU

12、则进入节电的睡眠工作模式,但可随时唤醒以接收采集指令;为了防止雷击,系统在太阳能电池上方设置了避雷针。      3 软件设计      3.1 数据采集系统的软件设计      当采集系统接收无线控制命令后,便可通过IO模块定时执行数据采集指令并发送采集的数据。本采集系统的软件流程如图2所示。      3.2 设备访问和静态加载      与硬

13、件连接有关的驱动程序arinc.c定义如下:      #define ARINC_PHY_START、0x40000000 AT91SAM9261的NCS3地址空间      #define ARINC_PHY_SIZE SZ_4K ACEXEP1KS0的RAM空间      #define DEVICE_NAME“ARINC”      #define ARINCRAW MINOR 1

14、0;     #define ARINC_Devfs_path “arinc0”      static int arincMajor=0;使得系统可以随机给ARINC总线接口分配主设备号定义了驱动程序之后,即可在driverschar目录下的config.in中增加如下代码:      boolsupport for arincdriveCONFIG_AR-INCDRIVE      这样,在运行make

15、 menuconfig (或xconfig)后。就可在内核配置的字符设备选项里看到已经添加了support for arincdrive选项,此时,驱动程序arinc.c已经被添加到了Linux内核中。      完成上述步骤之后,即可将arinc.c复制到driverschar下,并在driverschar目录下的mem.中的int chr_dev_init()函数中添加如下代码:#ifdef CONFIG_ARINCDRIVEinit_arinc ();#endif      最后,应在dr

16、iverschar目录下的Makefile中添加如下代码:      3.3 数据接收系统的软件设计      数据接收系统由控制计算机及通信服务器等构成。其数据接收程序可以根据DTU提供的动态库来完成,并可在VC环境下实现。CDMA Server和DTU之间的通讯可使用开发包中的动态库wcomm dll.dll。该文件包括了和DTU通讯所需要的全部API函数,包括服务的启动、数据发送、数据接收和关闭服务等。CDMA Server与IOServer的通讯则基于SOCKET编程,并采用TCPIP协

17、议进行传输,但需要设置端口和IP地址,以便IOServer通过此端口和IP地址与CDMA Server建立通讯。CDMA Server是整个系统的通讯枢纽,可实现与IOServer和DTU的通讯。OPC Server与DTU的通信设计是基于开发工具包的用户程序接口,即动态链接库cdmagpr s.dll,如:stop gpr s server:停止服务;do send user data:向DTU发送数据;do close one user:关闭一个DTU终端,令其下线;      do read proc:读数据,层服务接收到DTU发送的数据

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

19、     #define MYMESS WM_USER+0x23定义用户消息char mess512;      HMODULE hDllMudule;指向动态库的句柄Int(*start_cdma_server) (HWND,int,int,char*);定义一个指向函数的地址的指针      hDllModule=LoadLibrary(“cdma_dll.dll”);      If (hDllModule! =NULL)判断调用是否成功      start_cdma_server=GetProcAddress (hDllModule,”      start_cdma_server”);从动态库取函数地址      if (start! =NULL),判断是否取到该函数地址  

温馨提示

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

评论

0/150

提交评论