|
无线数据采集系统的设计方案
http://www.cww.net.cn 2010年3月17日 09:44 21IC电子网
摘要:在工业控制领域,常常需要采集大量的现场数据,然后传输给主机进行处理。而目前数据传输通常使用的是RS485或者是CAN等网络。这些网络均基于有线传输,他们在使用中不仅要考虑成本因素,还要考虑数据传输中的干扰因素。而无线传输相对具有一定的优势,成本相对低,并且传输中的干扰也较少,这也在一定程度上提高了传输的可靠性。设计了一个基于PTR2000无线传输模块的数据采集系统。该实例对其他相类似的无线数据采集、无线数据传输应用具有一定的参考价值。 1引言 在工业控制现场,常常需要采集大量的现场数据,如电压、电流、温度、湿度、气压等,并将这些数据采集模块采集的数据传输到主机进行处理,由主机根据处理的结果,将控制信号传输给现场执行模块进行各种操作。目前数据的传输基本是基于有线的网络,如RS485,CAN等。这些有线的网络一般具有成本比较高、维护不方便等缺点。而无线传输相对具有一定的优势,如成本低、可靠性高、维护方便等。本文介绍一个基于PTR2000无线数据采集系统。通过本系统,不仅能了解数据采集的一般过程以及一般数据采集系统的构成,还能了解PTR2000模块、ADUC812单片机、USB100模块的功能。该系统最高传输速度可达19.2kb/s。 2系统原理 该系统由工控机、USB100、AT89C51单片机、PTR2000(2块)、ADUC812单片机构成。 2.1ADUC812高性能单片机ADUC812,pdfdatasheet (with Embedded Flash MCU) AnologDevice公司的ADUC812高性能单片机由与8051兼容的内核[1]、片内外围设备、电源单元和模拟单元组成。8051兼容的内核额定的工作频率是12MHz(最大可达16 MHz),3个16 b定时计数器,功能包括看门狗定时器、电源监视PSM、高速ADC以及DMA控制器。片内有8 kB的闪速/电可擦除程序存储器,640 B的闪速/电可擦除数据存储器和256 B的片内数据RAM,支持16 MB的外部数据存储空间和64 kB的外部数据寻址空间,为多处理器接口和I/O扩展提供了32条可编程的I/O口线,端口3有高电流驱动能力,同时具有标准的UART接口和可配置的I2 C端口或SPI端口。模拟单元包括8通道、高速(200 kb/s)自校准12 b ADC、片内4OPPM/C电压基准、2个电压输出DAC和片内温度传感器等,可构成一个强大的12 b数据采集系统。 2.2USB100通用串行总线协议模块 USB100是基于ASIC设计的,内部封装了USB1.1全部协议以及多达384B的发送缓冲区和128B的接收缓冲接口,对USB接口的操作如同对外部存储器操作一样方便,由USB100模块完成全部协议的转换和封装,使开发过程变得十分简单。 各管脚说明如下: P1~P9,P16,NC:空脚。 P10,VCC:输出,+5V输出,提供给外部MCU使用,最大400mA。 P11,USBVCC:输入,USB接口的电源脚。P12~P13,D+,D-:输入/输出,USB数据线。P14~P15,GND:电源地。 P17,RXE:输出,高表示模块没有数据输出;低表示模块有数据输出,可以读数据。 P18,TXE:输出,高表示模块发送缓冲区已满;低表示发送缓冲区为空,可以发送数据。 P19,WR:输入,将8b并行总线上的数据锁存入内部缓冲区。 P20,RD:输入,允许内部接收缓冲区数据通过8b并行总线读出。 P28~P21,D0~D7:8b双向数据线,他是一个8b并口,USB100通过他与单片机交换数据。 USB100模块的控制时序: 发送时序当单片机检测到USB100模块TXE为低时,表示内部发送缓冲区允许发送数据到USB端口,可以将数据通过8b数据总线发给USB100模块,发送数据锁存由WR控制,USB100模块TXE为高时,禁止发送数据。 接收时序当单片机检测到USB100模块RXF为低时,表示内部接收缓冲区有来自USB端口的数据,可以通过8b数据总线将数据读入发给USB100模块,接收数据锁存由RD控制,接收时序如图5所示。 2.3PTR2000无线传输模块 PTR2000是一个小型、超低功耗无线数据收发模块。该模块工作频率为国际通用的数传频段433MHz[3],采用了FSK调制,抗干扰能力强,采用了DDS+PLL频率合成技术,频率稳定性极好,灵敏度达到-105dPm,最大发射功率为+10 dPm,工作电压2.7~5.25 V,具有2个工作频道,工作最高速度可达19.2 kb/s(也可工作在其他频率,如9 600 b/s),可直接与CPU串口使用如8031等,也可以接计算机RS232串口,软件编程非常方便。由于该模块采用了低发射功率、高灵敏度设计,使用无需申请许可证。 各管脚说明如下: P1:VCC,电源输入端,接2.7~5.25V。 P2:CS,频道选择,CS=0选择工作频道1,即433.92MHz;CS=1选择工作频道2,即434.33MHz。 P3:DO,数据输出。 P4:DI,数据输入。 P5:GND,接地端。 P6:PWR,节能控制,PWR=1,正常工作状态;PWR=0,待机微功耗状态。 P7:TXEN,发射接收控制,TXEN=1模块处于发射状态,TXEN=0模块处于接收状态。 3采集系统的编程 3.1单片机ADUC812编程 程序在初始化了各种参数以后,开始不断循环,查询A/D端口,将各路A/D端口的数据不断采集,并通过串口输入PTR2000,由PTR2000将数据传输出去;同时该模块不断查询串口,若有由PTR2000通过串口输入的数据,及时将数据输出到D/A端口。本程序采用C语言编程,主程序为main()。 注:FFH开始采集数据标志;EEH结束标志。 3.2AT89C51单片机编程AT89C51中文资料 AT89C51负责传输数据,一方面他通过PB口与USB100的并行数据口相连,负责从USB100接收或者将数据传输给USB100模块;另一方面AT89C51通过串口与另一块PTR2000相连,负责将从USB100模块接收的数据传给PTR2000,或者将从PTR2000模块接收的数据传给USB100模块。他的程序与ADUC812的程序相似,区别在于他没有开始和结束标志,并且他查询的是USB100模块是否有数据输出和串口是否接收到PTR2000传来的数据。 3.3工控机编程 [1] [2] 编 辑:高娟
关键字搜索:数据
|
每日新闻排行 企业黄页 会议活动 |