基于ATmega128的无线数据采集系统设计

发布者:平静宁静最新更新时间:2012-02-24 来源: 21IC关键字:ATmega128  无线数据  采集系统 手机看文章 扫描二维码
随时随地手机看文章

电力日益市场化的环境下,电力公司必须提高服务质量以保持竞争力。当前我国的一些地区,配网自动化程度低,人员工作效率低。根据这种需求,设计了无线数传系统.整个无线数据通信系统是基于RS-485串口通信的一点对多点网络结构。数传电台每站点设一部,分别连接主站的数据采集工作站和分站的RTU/FTU等,进行轮询通信。各分站作业数据上报以及数采工作站的控制指令下行传输都通过无线方式完成。

1 设计思想

数据采集单元采用先进的ATmega128嵌入式单片机作为核心部件,利用RS-485通信接口与控制系统通信。测量站主要是将捕捉的现场信号经转换器ADC采样、量化、编码后,变成数字信号传给微处理器,接收遥控指令并发送数据;主控站的主要工作是发送遥控指令、接收数据信息、进行数据处理和数据管理。整个系统结构简单,可靠性高。见图1。

1.1   高速的模数转换芯片TLC5510

该系统的A/D转换采用TLC5510模数转换芯片。TLC5510模数转换芯片是TI公司的8位A/D转换器,是一款高速、低功耗且内部带有采样保持电路。它的数据采集时序是当CLK为高电平时转换数据,当CLK为低电平时输出有效数据。当要从A/D中读取数据时,只要 保持低电平即可,当 为高电平时D1-D8为高阻态.见图2.

1.2  数据采集系统的接口电路设计与流程

FIFO芯片SN74ACT7808是2048字节×9位可以实现先进先出异步读写操作的双端口存储器.读写操作会自动访问存储器中连续的存储单元。从FIFO中读出的数据顺序与写入的顺序相同,地址的顺序在内部已经预先定义好了。对FIFO的读写操作只由读写信号控制,不需要另外的地址信息。这使得FIFO的控制电路变得十分简单:读数据时只要OE保持为高电平同时使UNCK产生一个上升沿;写数据只要LDCK产生一个上升沿即可.

由于是高速数据采集,单片机相对A/D来说速度远远不够,所以需要设计一个电路让数据采集与存储自动完成,见图2。单片机的PB0引脚通过与门与外部CLK时钟相连,这样单片机就可以控制A/D的采样。当PB0为高电平时进行采样,当PB0引脚为低电平时A/D的CLK没有脉冲,采样停止。当FIFO保存的数据几乎满后给单片机一个中断信号,单片机接到中断信号后置PB0为低电平停止采样,然后把数据从FIFO中读出。因为单片机的PG0引脚经反向器后接到FIFO的UNCK,PC4脚接到FIFO的OE,它的有效地址只要保持PC4引脚为高电平即可。数据处理完毕后再接着采样,如此反复,完成周期性采样[2]。


2 嵌入式单片机ATmega128与数传电台的串行通信

ATmega128为基于AVR RISC结构的8位低功耗CMOS微处理器。ATmega128的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。8通道10位ADC(具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、SPI串行端口、异步串行口与JTAG测试接口(此接口同时还可以用于片上调试),以及六种可以通过软件选择的省电模式。

2.1  ATmega128的串行通信方式

串行通信波特率:9600bps,发送接收方式:一位起始位,8位数据位,奇校验,1位停止位。UARTO初始化可以在ICC AVR中设置完成,而且Builder自动生成中断服务子程序和人口地址,只需在服务子程序中加人处理代码即可。
//UARTO  initialisation
//desired baud rate:9600
//char size:8bit
//parity: Disabled
void uart0_init(void)
{
UCSR0A=0x00;
UCSR0B=0x98;    //接收完成中断允许,发送数据允许.
UCSR0C=0x06;    //发送接收的字符长度为8位.
UBRR0H=0x00;
}

接收数据时,单片机设置一个标志,假设接收到第一个“*”字符,标志置1,认为通正常,可以接收数据。接收数据时,判断是否收到接收完成消息;是,则清除标志,使得下次收到的数据无效,直到再次收到“*”,标志置1。标志为1时,判断是否收到消息(字符值等于8);是,将上次收到字符清为0;不是则将接收到的数据保存到接收缓冲区中。执行操作后,最后将接收到的字符发回给计算机。单片机通信流程图见图3。

[page]

 

2.2   ATmega128与数传电台的硬件连接

数传电台与单片机、终端主控机的通信协议:标准串行RS485接口,通信帧格式——1位起始位,8位数据位,1位可编程数据位,1位停止位,波特率9600bps。建议使用窄带无线数传电台MDS SCADA,专门用于电力自动化中。此电台采用工业级铸铝封装,可提升电磁干扰,绕射能力强,提供标准的RS-485接口,系统响应快。

系统采用异步串行通信方式。利用单片机串口与数字电台RS-485数据口相连,电台常态为收状态(PPT=0,收状态;PPT=1,发状态)。单片机通过带控制端的三态缓冲门74HC125、非门74HC14控制电台的收发转换。接收时,PC1=1,PC1经74HC14反相、光电隔离,使电台PPT脚为低电平,将其置为接收状态;发射时,PC1=0,经74HC14反相、光电隔离,使电台PPT脚为高电平,将其置为发射状态;同时74HC125A截止,74HC125B导通,数据由单片机TXD脚输出,经74HC125B缓冲门、光电隔离、MAX232电平变换,通过电台TXD端口将数据发送出去。具体硬件连接见图4。


3  结束语

国家的农网改造,使配电网络的供电能力得到了很大的提高.但随着社会经济的发展,对电力部门又提出了更高的要求.结合电网的实际情况,对于实时性、配电质量要求教高的地区,无线数据传输系统建成使用后,运行结果表明:系统工作稳定可靠,本系统与有线网相比,具有建网费用低、建设周期短、维护量小、抗灾能力强、无需查线检修、数据易传等优点。由于在该数据采集系统中采用了ATmega128,其开发速度较以往有很大的提高,这种高效灵活的嵌入式正广泛应用于工业控制领域,有着广阔的前景。

4  本文作者创新点:

1.本系统采用了多种先进技术,高性能单片机系统技术、无线传输技术、计算机的远程控制技术等。

2.本系统具有自动化程度高、系统可靠性和稳定性好、数据采集精度高等比较突出的优点。

3.由于本系统和上位计算机系统可以方便地进行通讯和数据传送,可以把检测记录的数据保存在计算机的数据库内,有助于实现电力调度的网络化、数字化和信息化。

关键字:ATmega128  无线数据  采集系统 引用地址:基于ATmega128的无线数据采集系统设计

上一篇:基于ATMEGA 16的开关电源设计与制作
下一篇:基于ATmega16L的温度控制系统设计

推荐阅读最新更新时间:2024-03-16 12:54

用于高精度数据采集系统的 36V 输入、低输出噪声、5A μModule 稳压器
引言     具有高数据速率 FPGA I/O 通道和高位数数据转换器的应用对于电源有着诸多严格的要求,低输出噪声、快速瞬态响应和高效率只不过是其中的几个。电源设计人员面临的难题是怎样用尽可能少的组件来满足所有这些要求,因为没有单一拓扑能轻而易举地同时满足上述三项要求。     例如,高性能线性稳压器虽能实现所需的低输出噪声和快速瞬态响应,但其功率耗散往往高于开关拓扑,因而会产生热问题。而另一方面,开关稳压器尽管通常比线性稳压器的工作效率高且运行温度较低,但其会显著地产生更多输出噪声,而且对于瞬变的响应也没有那么快。电源设计师常常采取把这两种拓扑组合起来使用的方法,即先采用一个开关稳压器对相对较高的总线电压进行高效降压,随
[电源管理]
用于高精度数据<font color='red'>采集系统</font>的 36V 输入、低输出噪声、5A μModule 稳压器
基于AD9650的高速数据采集系统的设计方案
随着数字信号处理技术的发展,越来越多的信号处理环节可以通过后端的软件处理完成,但这反而使得电子设备对前端数据采集系统的要求不断提高。因为后端软件的处理效果归根结底依赖于数据中所包含的信息量,只有提高数据采集的动态性能,才能保障后端处理的效果。长期以来,在数据采集领域,高速大动态范围ADC系统的设计与实现始终是研究的热点。当雷达工作在高杂波的电磁环境中,探测对象的RCS或多普勒信息非常微弱时,就对设计实现高速大动态范围数据采集系统提出了迫切的需求。 目前,国内对高速大动态范围ADC数据采集系统设计主要依赖于芯片的指标而缺乏系统的研究和总结。本设计旨在通过优化系统设计,结合动态性能优越的模数转换芯片,实现一个高速大动态范围数据采集系统
[电源管理]
基于AD9650的高速数据<font color='red'>采集系统</font>的设计方案
ATmega128(12864带字库)
//12864型LCD显示驱动程序,简单的显示汉字和字符 //编译环境 AVR Studio 4.17/AVR GCC //系统时钟7.3728MHZ,设置熔丝位为外部高频石英晶体振荡,启动时间4.1ms //*********************************************************************** // 包含文件 //*********************************************************************** #include #include #define F_CPU 7372800 /* 单片机主频为7.3728M
[单片机]
ATmega128 外部时钟
为了从外部时钟源驱动芯片, XTAL1 必须如 Figure 21 所示的进行连接。同时,熔丝位 CKSEL必须编程为“0000”。若熔丝位CKOPT也被编程,用户就可以使用内部的XTAL1和 GND 之间的36 pF 电容。 选择了这个振荡器之后,启动时间由熔丝位SUT 确定,如Table 16 所示。 为了保证MCU 能够稳定工作,不能突然改变外部时钟源的振荡频率。工作频率突变超过 2% 将会产生异常现象。应该在MCU 保持复位状态时改变外部时钟的振荡频率。
[单片机]
<font color='red'>ATmega128</font> 外部时钟
DSP和USB总线的高频超声数据采集系统
引言   超声医学即利用超声波的物理特性进行诊断和治疗的一门影像学科,其临床应用范围广泛,目前已成为现代临床医学中不可缺少的诊断方法。   本系统是一个便携式软组织超声诊断仪的一部分,主要功能是高频超声信号采集。其工作机制,是在前端低频脉冲(20Hz~10KHz)的触发下,对由超声换能器产生的高频超声信号(1MHz~20MHz)进行采集,预处理,然后通过USB总线传输给PC机,由软件进行分析、处理。   在本设计方案中,高速CPLD芯片作为数据采集系统的核心部分,相比传统的MCU+ADC方法,CPLD是用硬件信号而不是软件编程来控制 ADC,从而在速度上有很大的优势。而目前强大的VHDL编程语言也使得CPLD能很容易地实现预
[嵌入式]
Blackfin处理器及嵌入式mClinux在数据采集系统中的应用
前言 在数据采集系统中,数字处理是系统核心内容之一;然而随着科技发展,越来越多的功能需求使得采集系统的外设也越来越复杂,外设通讯和驱动编写成为一项复杂和繁琐的工作。以应用为中心的嵌入式系统为此类需求提供了一个良好的解决方案,能够适应实际应用中对功能、可靠性、成本、体积、功耗的严格要求。ADI公司的Blackfin系列处理器将嵌入式微控制器和DSP融为一体,取二者之长,提高了系统工作效能,大大降低了成本。同时,多线程的实时嵌入式操作系统也可增强采集系统的实时性、稳定性。对开发者来说, Blackfin处理器和mClinux的结合很有吸引力。 系统结构及硬件平台 本数据采集系统主要由2个数据采集通道、1个触发通道、ADC转
[嵌入式]
基于ARM的紧凑型图像采集系统
  0V7620是一种CMOS图像传感器,它被广泛应用在网络摄像头、摄像手机等产品中。由它组成的图像采集系统,比较常见的设计方法为OV7620搭配OV5ll+或CPLD/FPGA。OV511+或CPLD/FPGA采集的图像数据通过USB总线或双端口RAM输出到PC或MCU(ARM、DSP等),由PC或MCU对图像数据进行进一步的处理。本文所设计的图像采集系统仅用一个ARM芯片就实现了OV7620的功能控制、时序同步、数据采集与处理等功能,系统结构紧凑、实用。   1 硬件结构   OV7620是CMOS彩色/黑白图像传感器。它支持连续和隔行两种扫描方式,VGA与QVGA两种图像格式;最高像素为664492,帧速率为30fp
[单片机]
基于ARM的紧凑型图像<font color='red'>采集系统</font>
基于DSP和PCI总线的通信数据采集系统设计
  随着数字信号处理器性能的不断提高及其成本与售价的大幅下降,数字信号处理应用领域飞速扩展,信号处理进入了一个新的发展时期。同时随着计算机技术以及互联网络技术的不断发展,越来越多的数据需要经过计算机来进行处理、存储、传输筹操作。计算机的应用已经遍及我们生活的每一个角落。由于计算机本身的特点,通用计算机通常仅负责没有实时性要求的工作,而不适于进行实时性要求很高的数字信号处理。将计算机和 DSP有机地结合起来,充分利用各自的优点,它们将会相得益彰,满足现实应用中对数据实时处理能力、数据传输能力以及数据管理能力提出的越来越高的要求。   PCI总线是先进的高性能32/64位局部总线。可同时支持多组外围设备,不受制于处理器,数据吞吐量大(3
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved