ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx

上传人:b****6 文档编号:5382606 上传时间:2022-12-15 格式:DOCX 页数:16 大小:87.38KB
下载 相关 举报
ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx_第1页
第1页 / 共16页
ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx_第2页
第2页 / 共16页
ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx_第3页
第3页 / 共16页
ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx_第4页
第4页 / 共16页
ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx

《ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx(16页珍藏版)》请在冰豆网上搜索。

ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告.docx

ARM嵌入式系统毕业课程设计报告高速数据采集系统的设计毕业课程设计报告

(此文档为word格式,下载后您可任意编辑修改!

《嵌入式系统二》

课程设计报告

 

高速数据采集系统的设计

 

设计日期:

2013年7月1日至2013年7月5日

设计题目:

基于ARM的数据采集系统设计

设计的主要内容:

设计嵌入式技术作为主处理器的高速数据采集系统,基于S3C44B0X处理器的高速、高精度、多通道数据采集系统,设计出一套通用性较强的数据采集系统。

实现高速和高精度信号采集,显示及传输等功能。

并讨论如何提高系统的速度、稳定性和可扩展性。

指导教师:

2013年6月30日

教师评阅意见书:

评阅教师:

2013年月日

摘要

近年来,随着计算机技术、电子技术等技术的发展,如何对数据进行采集和处理显得越发重要,数据采集的速度和精度是数据采集系统发展的两个主要方向。

单片机、ARM、DSP等各种微处理器的广泛应用,为数据采集系统提供了一个有效的平台。

对信号进行高速和高精度的采集以及对采集数据处理的研究和设计是本课题的主要任务。

本文基于ARM7S3C44B0X处理器的高速、高精度、多通道数据采集系统,利用ARM7S3C44B0X丰富的功能接口和较高的工作频率,实现对信号的采集和数据处理的功能。

本文介绍了数据采集系统的国内外研究现状和发展趋势,对本系统的主要芯片进行了选型尤其是模数转换芯片AD7663的接口电路。

将系统化分成各个功能单元并对各个功能模块进行分析。

并提供了原理图和总体电路图,并编写了程序代码,最后提出了关于高速高精度数据采集系统设计的观点。

该系统具有成本低、功耗低、识别性能强及智能程度高等优点,具有较为广阔的应用前景。

关键词:

ARM,S3C44B0X,数据采集系统,AD7663

一.绪论

1.1课题的背景及研究意义

随着工业技术的发展,数据采集装置具有越来越广泛的应用领域。

在工业生产过程中,受产品质量、生产成本等多方面因素影响,通常需要对工业现场的一些参数进行监控。

数据采集装置是解决这一问题的有效手段。

在科学研究中,应用数据采集装置可获得被测对象的动态信息,是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要段之一。

在生产实践中,为了得到我们需要的数据,通常需要将一些由传感器输出的模拟信号转换成数字信号。

再通过计算机或者处理系统进行相应的处理。

这种过程即被称为数据采集。

数据采集装置在各个领域被广泛应用,己渗透到了工业现场、地质勘测、医药器械、电子通信、航空航天等各个领域,为人类更好的获取各种信息提供了便利的条件。

综上可知,研究通用化高精度数据采集技术和网络技术,可以有效提高生产管理的自动化水平,对于提高我国劳动生产率和推动经济发展具有非常重要的意义。

1.2论文的主要内容

本文以基于ARM的嵌入式系统为核心,并综合应用高精度数据采集方法和网络通信接口技术,实现了基于ARM的通用高精度数据采集装置。

在分析国内数据采集系统的基础上,考虑到数据的采集速度、精度和系统可扩展性,ARM7微控制器S3C44B0X,设计出一套通用性较强的数据采集系统。

实现了高速和高精度信号采集,显示及传输等功能。

二.数据采集系统的总体设计

2.1数据采集系统设计目标

本文设计了一种基于ARM7S3C44B0X处理器的高速、高精度、多通道数据采集系统。

它的主要设计目标是:

(1)实时性强。

系统的主要工作是对大量的过程状态参数实时监测、数据存储、数据处理、进行实时数据分析等。

因此要求硬件上必须要有实时时钟和优先级中断信息处理电路。

(2)可靠性高。

他是系统设计的一个重要要求。

由于数据采集系统往往是安放在被控对象的工作环境中,所以不仅温度、湿度大,而且腐蚀多,干扰也很多,要求系统有较好的抗干扰能力和采集速度。

(3)结构简单,功耗低,性能优良。

2.2系统的整体设计

本文设计的高速高精度数据采集系统有硬件和软件两部分组成。

而硬件部分主要完成数据采集、存储功能,软件部分则完成对硬件控制、对采集数据进行处理。

该系统的控制核心S3C44B0X。

它为手持设备和一般类型应用提供了高性价比和高性能的微控制器解决方案。

为了降低成本,S3C44B0X提供了丰富的内置部件:

8KBCache,可选的内部SRAM,LCD控制器,带自动握手的2通道UART,4通道DMA,系统管理器(片选FPEDOSDRAM控制器),带PWM功能的5通道定时器,IO端口,RTC,8通道10为ADC,IIC总线接口,IIS总线接口,同步SIO接口和PLL倍频器。

S3C44B0X采ARM7TDMI内核,0.25um工艺的CMOS标准宏单元和存储编译器。

它低功耗,精简,出色和全静态的设计特别适用于成本和功耗敏感的应用。

同样S3C44B0X还采用了一种新的总线结构,即SAMBAII(SAMSUNGARMCPU嵌入式微处理器总线结构)。

S3C44B0X的显著特性时它的CPU核,是由ARM公司设计的16或32位的ARM7TDMI最高为66MHz的RISC处理器。

微处理器S3C44B0X提供全面的,通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。

系统以S3C44B0X为数据采集模块核心处理器,采用模块化方法设计,按照功能的不同,分为电源电路、通道选择电路、模数转换电路、通信电路、多路开关及信号调理电路、计算机人机交互界面部分,数据采集系统整体结构图2-2所示

2-2高速高精度数据采集系统的电路框图

数据采集系统工作流程:

传感器输入的模拟信号经过信号调理电路的处理(包括隔离、变换、放大、滤波等各种处理)以满足数模转换芯片对输入电平和信号质量的要求,然后通过多路开关进行信号选择,选通的信号由高性能高速电压反馈放大器AD8021的进一步的处理获得更精确,精度更高的模拟信号,在微处理器的控制下模拟信号通过16位逐次渐近型模数转换器AD7663的转换处理存入数据缓存,进一步通过S3C44B0X处理器的控制的显示、键盘模块实现人机交换功能。

同时多路开关的选择与控制有微处理器控制。

软件部分的设计分为两个部分,分别为数据采集系统控制软件和数据程序处理两个部分。

软件设计共包括五部分:

通道选择,数据采集处理,数据存储,数据显示和键盘控制。

三.数据采集模块的硬件设计与实现

本设计主要有五个模块,分别是:

多路开关及信号调理模块,模数转换模块,存储模块,键盘模块,显示模块。

3.1多路开关及信号调理模块设计

3.1.1信号调理模块

信号采集系统中,绝大多数模拟量输入都带有大量的噪声不能直接输入到模数转换器中去,需要对信号进行调理。

信号调理电路用来对传感器输入的信号进行隔离,变换,放大,滤波等各种处理,以满足模数转换芯片对输入电平和信号质量的要求。

调理电路如图3-1所示。

图3-1信号调理电路

AD623是高精度、低噪声的仪表放大器,R1是输入限流电阻,R2是增益电阻,调节此电阻的值可改变AD623的增益G,算式为G=100R1(kΩ)+1。

MAX291是滤波器,截止频率其由电容C1决定。

若设为100Hz:

fc(kHz)=10003C1(pF),计算得C1取值为3300pF。

使用中还要注意:

MAX291的零点漂移达-200mV~-400mV,因而可在输出端串接一个10μF左右的钽电容,隔去MAX291引入的直流分量[8]。

3.1.2多路开关的选择

本系统选用的是8通道的模拟数据选择器MAX308,输出哪路信号通过总线控制。

带串行接口的16位模数转换集成电路(ADC),它包含有跟踪保持电路的一个低漂移、低噪声、掩埋式齐纳电压基准电源。

它的转换速度快、功率消耗底、采样速率高达308kbs点,满量程输入电压范围为±5V,功耗为210mW。

可与大多数流行的数字信号处理器的串行接口直接接口,该输入可以接收TTL或CMOS的信号电平,时钟频率0.1-5.5MHz,其电路图如图3-2所示。

图3-2多路开关MAX308

IN1~IN8是模拟输入通道,模拟信号由此输入。

A0~A2是通道选择信号,其选择由微处理器S3C44B0X控制。

3.2模数转换模块

模数转换是把数据采集系统采集到的模拟信号转换成系统可以识别并处理的数字信号。

它的精度与速度如何将影响到系统的现实性和系统的性能。

本设计采用的是,本模块的设计目的就是为了实现这功能[9]。

3.2.1信号驱动放大器信息

本模块由两部分组成:

信号驱动放大器AD8021与具有低噪声、高精度和出色的长期稳定特性的基准电压源ADR421提供基准电压的模数转换芯片AD7663。

信号驱动放大器AD8021是一款出众的高性能,高速电压反馈放大器,可以用于16bit分辨率系统。

AD8021具有低压噪声和低电流噪声,是当今的高速低噪声运算放大器产品中静态电源电流(7mA@±5V)最低的产品。

AD8021工作电压范围较宽,为±2.25V~±12V,也可以采用5V单电源供电,因此非常适合高速低功耗仪器仪表。

输出禁用引脚可以将静态电源电流进一步降低至1.3mA。

与同类放大器相比,AD8021不仅技术性能出众,而且价格优势明显,静态电流也低得多。

AD8021是一款高速、通用放大器,非常适合各种增益配置,可以用于信号处理链路以及控制环路。

AD8021

图3-3信号驱动AD8021

采用标准8引脚SOIC与MSOP封装,工作温度范围为:

-40°C~+85°C。

芯片电路如图3-3所示。

传感器输入的信号通过多路开关及信号调理模块处理后得到比较符合要求的模拟信号,进一步通过信号驱动放大电路AD8021的处理得到精度较高的、稳定的模拟信号,通过分辨率高,采样速率高,功耗小的模数转换芯片AD7663的作用,输出符合要求的数字信号,完成模数转换。

3.2.2模数转换芯片的选择

AD转换器实际上是将模拟信号转换成数字量的装置,其转换工程主要包括采样、量化、编码三个步骤。

AD芯片是数据采集系统的关键部件,它的性能往往直接影响整个系统的技术指标,目前市面上AD转换器的品种较多,每种芯片具有不同的控制方式和应用条件。

比较常用的ADC按转换电路结构和工作原理主要分为四类:

积分型AD转换器、逐次逼近型、并行比较型ADC、∑-Δ转换器。

其中,积分型模数转换器的采样速度和带宽都非常低,但它们的精度可以做得很高,并且抑制高频噪声和固定的低频干扰(如50Hz或60Hz)的能力,使其对于嘈杂的工业环境以及不要求高转换速率的应用有用(如热电偶输出的量化)。

逐次逼近型模数转换器在1个时钟周期内只能完成1位转换。

N位转换需要N个时钟周期,故这种模数转换器采样速率不高,输入带宽也较低。

它的优点是原理简单,便于实现,不存在延迟问题,适用于中速率而分辨率要求较高的场合。

并行比较式AD转换器原理直观,转换速度极快(最高1GHz的采样速率),常用于数字通信和高速数据采集领域。

缺点是功耗大,制造成本高且易产生离散的、不确定的误码输出。

∑-Δ模数转换器采样速率较低,但采样精度会做得很高,且成本低廉,一般限于对低频较窄的转换。

图3-5模数转换接口电路

对于一般的工业采集系统在保证精度和速度的条件下,要尽量提高采样速度,以满足实时采集、实时处理和实时控制的要求。

通常选择逐次逼近型或并行比较型AD转换器。

AD转换器的性能参数主要有:

转换精度,转换速率、输入量程以及转换误差等,根据这些参数本系统中选择开关电容结构的16位并行AD转换器AD7663。

模数转换接口电路如图3-5所示。

AD7663的输入阻抗仅为3.41kΩ,若MAX308输出的信号直接输入AD7663进行AD转换时,会产生较大的增益误差。

因此,必须用阻抗极低的信号源来驱动AD7663的输入端,这里选用了信号驱动放大器AD8021。

为了实现高速高精度数据采集与存储的同步,解决ADC和控制器之间速度匹配问题,保证采集数据的完整性,本系统设计了高速高精度的转换器AD7663和74H273作数据采集缓冲器的设计方案,使数据的采集和传输速率进行有效的匹配,实现了数据的实时采集。

AD转换是数据采集的核心,它决定着系统数据采集的精度和速度,本设计采用的是AD7663模数转换器,AD7663是一款16位、250KSPS、低功耗、逐次逼近型模数转换器,采用5V单电源供电,并提供8位或16位并行口和一个串行口。

AD7663具有分辨率高、采样速率高、功耗小等优点,在高速高精度的数据采集系统中得到了广泛的应用。

图3-6模数转换接口电路

AD7663负责实现模数转换的功能,它支持串行和并行方式输出,在本设计中AD7663与S3C44B0X以16位并行总线的方式连接。

S3C44B0X将总线设备分为8个BANK进行访问,AD7663挂在BANK3上,因此将BANK3的使能信号nGCS3接到AD7663的片选引脚CS上,复位信号nRESET接到AD7663的RESET,总线读信号nOE接AD7663的RD。

此外,S3C44B0X通过两个IO(nCAS0连至CNVST,GPG3连至BUSY)来控制AD7663的AD转换过程。

3.3存储模块设计

3.3.1存储模块电路设计

传统的数据采集系统由于数据传输速率比较低,数据量比较小,一般可以完成实时分析和处理,所以存储问题并不突出,但高速高精度数据采集系统的数据传输速率很高并且数量很大,采集速度到达一定的限度就无法进行实时分析和处理,这是需要选择适当的存储方式就行存储。

高速高精度数据采集系统的存储要解决两方面的问题,一是存储器的低存储速度与AD转换器数据端口的高输出速率的匹配问题。

二是存储器的容量要大,其原因是高速数据采集会在很短时间内产生巨大的数据流,存储系统的容量应满足设计要求。

解决AD转换器与存储器之间的速度匹配问题有两个:

一是对高速AD的数据进行锁存,二是对数据进行高速存储。

本设计采用的是对高速的数据进行锁存。

选择的芯片是SST39VF160FlashRom。

SST39VF160是2MB的Flash芯片,芯片供电电压为2.7~3.6V,符合JEDEC标准输出引脚,可擦写100000个周期,数据保存能力达100年。

擦除时间分别为:

扇区擦除时间与块擦除时间都是18ms,片擦除时间70ms。

利用翻转或数据采集来确定编程是否完成。

芯片内部结构与电路图如3-8图所示。

图3-8SST39VF1630芯片内部结构图

通过利用微处理器对SST39VF160进行写命令字节的形式来进行数据的读写操作。

保持CE#信号低的同时拉低WE#信号写入命令字节,在WE#或CE#信号的下降沿(有出现最晚的来确定)锁存地址总线,而数据总线在WE#或CE#(有出现最早的来确定)信号上升沿被锁存。

本设计是以SST39VF160为设计芯片,详细的介绍在S3C44B0X上进行FlashROM接口设计。

FlashROM接口设计首先应该确定硬件电路连接,然后设置好S3C44B0X存储器,再按照命令字读、擦除、写操作Flash。

本节编写了SectorErase()扇区,BlockErase()块和ChipErase()芯片擦除函数,以及一个测试主函数来验证读写擦除操作是否正确。

Flash存储器在系统中通常用于存放程序代码,系统上电或复位后从此获取指令并开始执行。

因此,应将存有程序代码的Flash存储器配置到ROMSRAM的Bank0位置,即将S3C44B0X的nGCS0的引脚接至SST39VF160的nCE引脚;SST39VF160的nOE引脚接S3C44B0X的nOE引脚;nWE引脚接S3C44B0X的nWE;由于SST39VF160的数据宽度是16位。

所以将S3C44B0X的引脚OM1接地,OM0通过一上拉电阻接+3.3V,使其工作在16位模式;将SST39VF160的地址总线A19~A0与S3C44B0X的地址总线ADDR1~ADDR20相连,地址线偏移了一位,这是因为S3C44B0X是按字节编址的,而SST39VF160的数据是以每一个16位作为一个数据单元;16位数据总线DQ15~DQ0与S3C44B0X的低16位数据总线DATA31~DATA16相连。

Flash的地址空间为0x~0x000FFFFF。

与S3C44B0X芯片连接电路如图3-9。

图3-9FlashROM连接电路图

其引脚功能描述为:

SCLK:

系统时钟;

nSCS:

片选;

SCKE:

时钟使能;

A0~A11:

行列地址复用线;

BA0~BA1:

BANK选通地址;

SRAS:

行地址使能。

3.3.2硬件和存储器设置

由于ARM是32位处理器,以字节为单位编制,数据处理可以以32位进行,存储方式有大小端之分。

在这里,将ARM芯片上的EDIAN端接地,选取小段存储方式。

SST39VF160是16位数据宽度的,因此还必须设置ARM数据总线宽度,即设置OM[1:

0]为01,将Bank0数据总线宽度设置成16位。

BANKCON0寄存器设置中包含了Tacs、Tcos、Tacc、Toch、Tcah、Tpac和PMC7个参数。

对它们的设置分别为(此程序段在BootLoader的配置程序中)。

Bank0Parameters

B0_TacsEQU0x0;0个时钟周期

B0_TcosEQU0x0;0个时钟周期

B0_TaccEQU0x6;6个时钟周期

B0_TochEQU0x0;0个时钟周期

B0_TcahEQU0x0;0个时钟周期

B0_TacpEQU0x0;0个时钟周期

B0_PMCEQU0x0;正常(1data)

除了Tacc之外,其他值均设为零,Tacc的值要大于芯片的读周期时间,由于S3C44B0X处理器的时钟频率为64MHz,周期大约为15ns,SST39VF160读写时间周期为70ns,所以,Tacc在这里设置为6个时钟周期,即0x6[11]。

3.4键盘模块设计

键盘的结构一般分为两种形式:

线性键盘和矩阵键盘。

本设计采用的是4×4矩阵键盘。

矩阵键盘的案件按N行M列排队每个键盘占据行列的一个交点,需要的IO口数目是N+M,容许的最大按键数为N×M。

键盘扫描过程就是有规律的时间间隔查看键盘矩阵,以确定是否有键被按下。

一旦处理器判定有一个键被按下,键盘扫描程序就会滤掉抖动,然后再判定是哪个键被按下。

每个键被分配一个称为扫描码的唯一标示符,应用程序利用该扫描码来判断应按下了什么键。

3.4.1键盘线路模块设计

3-10键盘连接电路图

本设计采用S3C44B0X通用IO引脚的GPE4~GPE7为行线输入端,GPF5~GPF8为列线输出端,与4×4的键盘相连。

通过软件延迟的方式来消除按键抖动,并通过循环扫描的方式得到具体的按键值。

由于通用的IO口有限,而又需要大量的按键输入,这就要求一种合理的按键结构,即用尽量少的IO口实现尽可能多的键盘输入。

本设计的电路连接方式如图3-10示,以8个IO口实现16键键盘。

GPE4~GPF7为行线输入端,GPF5~GPF8为列线输出端,如图3-10[12]。

3.4.2寄存器的设置

使用到的IO口的各个特殊寄存器的地址定义如下:

通用IO特殊寄存器:

#definerPCONE(*(volatileunsigned*)0x1d20028)

#definerPDATE(*(volatileunsigned*)0x1d2002c)

#definerPUPE(*(volatileunsigned*)0x1d20030)

#definerPCONF(*(volatileunsigned*)0x1d20034)

#definerPDATF(*(volatileunsigned*)0x1d20038)

#definerPUPF(*(volatileunsigned*)0x1d2003c)

对使用的GPE和GPF引脚寄存器进行配置,列输出引脚GF5~GF8在开始时拉低,便于按键发生时,使得行线的输入信号遍地。

程序如下:

voidInitKey(void)

{

rPCONE&=0xff;

rPUPE|=0xf0;

rPCONF=(rPCONF&0x3ff)|0x92400;设置GPF5-8为输出,其他位保持不变

rPUPF|=0x1e0;连接键盘的输出都置低电平

rPDATF&=0x1f;

}

四.数据采集系统的软件设计

硬件电路提供了系统运行的必须环境,还需要软件部分控制才能够运行。

本章介绍高数高精度数据数据采集系统的软件设计。

软件设计分为数据模数转换模块的程序设计,存储器模块的软件设计,键盘模块的程序设计,LCD显示模块的程序设计和主程序设计。

由于C语言具有了可读性强、效率高、易于维护等优点。

因此本系统数据采集系统采用C语言进行编写,实现对数据采集模块的控制,数据的处理和显示存储等功能。

本章介绍主要的程序模块。

4.1主程序流程

图4-1数据采集模块程序框图

系统的主程序所要实现的功能主要是实现系统的初始化、系统芯片之间的信息交流、相应的处理程序。

本设计采用模块化编程方式,达到编写不同功能的子程序,实现具体操作的目的。

系统的基本流程是,上电复位后,系统首先进行初始化,然后根据相关程序命令转入到相应的子程序模块,完成相应的功能。

程序流程图4-1所示。

主程序如下:

#include"adc.chanel;

}

intmain(void)

{

INT16Udata1,data2;

charchanel;

inti=0,x,y;

init_system();初始化系统

while

(1)

{

chanel=switch_chanel(chanel);选择采样通道

ADC_CHANEL(chanel);切换通道

data=read_adc(chanel);读取AD转换数据

SectorErase(addrstar);擦除addrstar开始的一个扇区

WordPrograme(addrstar,data);将数据写入扇区

data2=ReadFlash(addrstar);将数据从flash中读出来

y=(int)((data*1.065536)*240);将采样的值转换成x,y坐标

x=i;

LCD_PutPixel(x,y,color);将点显示在LCD上

i++;

if(i==320)一屏显示完

i=0;

}

4.2数据转换程序

图4-2AD数据转换程序流程图

AD7663是一款16位、250KSPS、低功耗、逐次逼近型模数转换器,采用5V单电源供电,并提供8位或16位并行口和一个串行口。

AD7663具有分辨率高、采样速率高、功耗小等优点。

其模拟输入接到连接到外部引脚IN端。

系统初始化函数voidinit_ADC();实现AD模块的功能设置,如电压基准的选择,本系统为了提高采集的精确性和准确度而选用外部精确的2.5V基准电压;模拟输入通道选择IN作为模拟信号输入端,多路开关的操作达到切换采集通道的目的AD转换程序,系统AD根据命令进行相应转换采取单次转换方式。

AD数据转换程序流程图如图4-2所示。

#include"adc.data;

}

另外还有数据存储程序与LCD驱动程序,程序清单。

心得体会

本次设计最终得以顺利完成,非常感谢我的指导老师。

从论文选题直到论文的最终完成,他都给予我尽心尽力的指导。

武老师有着过硬的专业知识,以及严谨的治学态度,在这次设计中,我在武老师的领导下对自己所学的专业知识有了进一步的巩固。

通过本次课程设

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1