首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   基于Web的MCF5249数据采集系统的设计      ★★★ 【字体: 】  
基于Web的MCF5249数据采集系统的设计
收集整理:佚名    来源:本站整理  时间:2009-01-10 23:51:16   点击数:[]    

[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持]
摘要:随着网络技术发展和市场需求的变化,工业设备实现网络化管理控制已经成为一种必然趋势。本文讨论基于Web的MCF5249数据采集系统的设计方法,并从硬件设计和软件设计两方面进行讨论。

    关键词:MCF5249 uClinux Web 数据采集

引言

现在嵌入式系统的应用越来越广泛。随着网络技术发展和市场需求的变化,工业设备实现网络化管理控制已经成为一种必然趋势。M2M(Machine to Machine)的网络通信已成为国内外研究热点,而Web技术为工业设备实现网络化管理提供了一种解决方案。本文从硬件和软件设计两个方面讨论了摩托罗拉MCF5249处理器在数据采集方面的应用,并实现了采集数据的远程Web表征。

由于这一系统面向广义的过程,所以只要可获得过程参数,就能实现过程行业的远程在线表征。特别是基于Web完成实时数据库生成,真正实现远程集群系统的数据资源无人工干预自动获取。其应用将会不断地延伸。

本文描述的摩托罗拉MCF5249是以ColdFire 32位微处理器为基础的高性能处理器,该处理器内部集成了一个片内12位ADC,可用于工业数据采集。且数据采集系统基于嵌入式操作系统uClinux。由于uClinux是为没有MMU的微处理器设计的。且源泉代码公开,为降低成本和获取软件的自有产权提供了方便。当然,uClinux不是一个强实时系统,为支持一般过程系统,可以通过一些补丁程序来提高其实时性,所以本文讨论的数据采集系统主要应用于一些实时性要求不高的场合。

1 数据采集系统的硬件设计

摩托罗拉MCF5249处理器内部集成了一个片内12位∑—ΔADC,它有四路输入(ADIN0~ADIN3),任一时刻只允许一路输入,由多路选择器决定。ADC的数字部分在MCF5249的内部,而模拟电压比较器由外围电路提供。A/D转换的输出引脚以脉宽调制的格式提供参考电压,因此,该输出需要一个外围的阻容电路,将其转换成直流电压,以备外部的电压比较器电路使用。数据采集系统的硬件原理图如图1所示。

    由于微处理器不可承受负电压,所以必须将输入电压限制在0~+3V之间。Motorola公司不建议使用外部箝位二极管直接在模拟输入端进行过压保护,而在输入端引入1~10kΩ的限流电阻和低通滤波器,在低通滤波器的输入端连接二极管对输入电压进行箝位。

2 数据采集系统的软件设计

数据采集系统的软件设计主要分为两大模块,即数据采集模块与数据显示模块。

2.1数据采集模块的设计

数据采集模块是系统的核心模块,为了提高数据采集的实时性,应采用中断方式完成数据采集。其流程图如图2所示。

MCF5249微处理器为其内部ADC提供了一个控制寄存器ADCONFIG,其地址是MBAR2_ADDR+0x402,在初始化程序中需要指定MBAR2_ADDR地址。

通过ADCONFIG寄存器可以设置A/D转换器工作方式、采样频率、是否采用中断方式等。下面给出设置ADCONFIG寄存器实例。

#define MBAR2_ADDR 0x8000000

#define AD_CONFIG 0x402

#define AD_VALUE 0x406

…………

//设置ADC

*(volatile unsigned short int *)(MBAR2_ADDR+AD_CONFIG)=0x442;

该设置确定ADIN0作为模拟信号输入通道,采样频率设置为1/4系统总线时钟频率。当时钟产生4095次翻转时,系统产生一个软件中断(中断号为63)。一次采样结束,并将采样结果存于ADVALUE寄存器(其地址为MBAR2_ADDR+0x406)。A/D转换值可以用如下公式计算:

Vi=(X/(2 n-1)) ×Vfullscate

其中,Vi为ADC的输入电压;Vfullscate为满量程输入电压;

X为ADC输出的数字量;

n为ADC的位数。

A/D转换的结果在中断处理程序中读取。读取一次转换的程序代码如下:

Volatile unsigned shortint m;

m=*(volatile unsigned short int *)(MBAR2_ADDR+AD_VALUE);

通常,A/D转换需要连续采样。采样结果应存放在一个多访问循环队列MACQ(Multiple Access Circular Queue)中。

    MACQ是一个定长有序的数据结构。源进程(生产者,ADC采样程序)将数据存入MACQ,一旦初始化,MACQ总是满的。当有新的数据被存入(PUT)MACQ,旧数据即被丢弃(如图3)。应用进程(消费者)可以从MACQ中读取任何数据。读功能是非破坏性的,即读操作不会改变MACQ。

在uClinux中,A/D转换中断程序的编写方法是将A/D转换器作为一个字符设备来处理。中断程序是在linux/drivers/char目录下编写,其结构如下:*File:m5249_adirq.c

#include<linux/interrupt.h>

#include<asm/irq.h>

#define ADC_IRQ(128+63)//定义中断号

#define MBAR2_ADDR 0x8000000

#define AD_CONFIG 0x402

#define AD_VALUE 0x406

/*定义中断处理函数*/

void adirq_interrupt(int irq,void *d,struct pt_regs *regs){

在此读取A/D转换的值并存入队列中。

}

/*设备初始化函数*/

int adirq_init(){

int result;

unsigned short adc_irq;

adc_irq=ADC_IRQ;

result=request_irq(adc_irq,&adirq_interrupt,SA_INTERRUPT,5249_adirq NULL);//注册中断

if(result= = -1)

{printk(“Can't get assigned %d”adc_irq);

return result;}

return 0;

}

中断服务程序的添加方法如下:

①编辑uClinux/drivers/char目录下的mem.c,添加“adirq_init();”;

②编辑此目录下的Makefile加入“obj-y+=m5249_adirq.o”;

③编译(make)。

2.2 数据显示模块的设计

为了实现采集到的数据以Web方式显示,需要选择一个Web服务器。本文采用的Web服务器是BOA。在CGI程序中编写一个函数读取MACQ队列中的数据并显示。

   

[1] [2]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:TD340芯片在直流调速系统中的应用

  • 下一篇文章:CAN智能节点的设计
  • 返回上一页】【打 印】【关闭窗口
    中查找“基于Web的MCF5249数据采集系统的设计”更多相关内容 5VAR论文频道
    中查找“基于Web的MCF5249数据采集系统的设计”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››基于Web的嵌入式设备管理
  • ››基于Web的MCF5249数据采集系统的设...
  • ››基于WE904的实时图像无线传输设计
  • ››基于Web的多媒体CAI课件开发过程中...
  • ››基于Web的企业经营管理CAI系统的设...
  • ››基于Web的交互式数据库查询技术
  • ››基于Web技术的网络考试系统
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .