当前位置:文档之家› 基于TMS320F2812的数据采集及FFT设计

基于TMS320F2812的数据采集及FFT设计

基于TMS320F2812的数据采集及FFT设计
基于TMS320F2812的数据采集及FFT设计

基于TMS320F2812的数据采集及FFT设计

摘要

数据采集与处理是计算机应用的一门关键技术,主要研究信息数据的采集、存储和处理。数据采集与处理技术在工业控制系统中应用广泛。离散傅立叶变换是将离散信号分解为幅值分量和频率分量,是数字信号处理领域的工具之一,但是由于其计算量太大,应用受到限制。快速傅立叶变换的出现,使得DFT在实际应用中得到了广泛的应用。由于多数DSP芯片都能在一个指令周期内完成一次乘法和一次加法,而且提供专门的指令,使得FFT算法在DSP芯片上实现的速度更快。

本文中主要采用TI的32位定点数字信号处理芯片TMS320F2812作为信号采集和处理的核心,通过片上的12位模数转换模块进行数据采集,对采集到的数据进行信号处理。本文给出了数据采集系统硬件的外围调理电路。

在介绍了DSP原理,TMS320F2812芯片资源,以及TMS320的软件集成开发环境(CCS)的基础上,对数据采集模块、采样原理及在TMS320F2812上的FFT实现作了细致的描述和分析。

关键词:数据采集;数字信号处理器;模数转换器;FFT

Design of Data Acquisition System and FFT

Based on TMS320F2812

Abstraet

Data acquisition and processing become an important technology of computer application, which mainly studys the collection,storage and processing of information data.Technique of data acquisition and processing is widely applied in industry control system. Discrete Fourier Transform is one of the main tools in digital signal processing field. But because of its large computational complexity,its application is limited.Afterward,with the appearance of Fast Fourier Transform,DFT is widely used in practical application.Because most chips of DSP can complete a multiplication and an addition in an instruction period,and they can provide the specialized instruction of FFT,it accelerates the speed of the FFT algotithm working on the chip of DSP.

This paper takes the 32 bits fixed-point digital signal processing processor TMS320F2812 of Texa Instrument Company as the core of signal acquisition and processing system.The data acquisition is completed by the 12 bits A/D convertor of TMS320F2812.and then do the signal processing on collected data.This dissertation points out the periphery circuit of data acquisition system

Based on the introductions of DSP principle,chip resources of TMS320F2812 and Code Composer Studio(CCS)of TMS320,the dissertation describes and analyses the acquisition module and sampling theory of data and the achievement of Fast Fourier Transform on TMS320F2812 in great detail.

Keywords : data collection;digital signal processor;A/D converter;FFT;

目录

引言 (1)

第1章绪论 (2)

1.1研究现状 (2)

1.2方案比较 (2)

1.3FFT简介 (3)

第2章系统总体方案设计 (4)

2.1系统框图 (4)

2.2系统工作原理 (4)

2.3小结 (4)

第3章系统硬件设计实现 (5)

3.1基于TMS320F2812的数据采集设计 (5)

3.2TMS320F2812功能模块应用 (6)

3.3DSP硬件平台设计 (8)

3.3.1 复位电路设计 (8)

3.3.2 时钟电路设计 (9)

3.3.3 JTAG接口电路设计 (9)

3.3.4系统RAM的外扩设计 (10)

3.4TMS320F2812A/D模块概述 (10)

3.5调理电路设计 (12)

3.6小结 (13)

第4章TMS320F2812的FFT研究及仿真 (14)

4.1数据采集的程序设计 (14)

4.2FFT的基本原理 (15)

4.2.1 DFT的基本原理 (15)

4.2.2 频率抽取FFT(DIF) (16)

4.3FFT在TMS320F2812上的实现 (16)

4.4小结 (19)

结论与展望 (20)

致谢 (21)

参考文献 (22)

附录A 系统原理图 (24)

附录B 引用的外文文献及其译文 (26)

附录C 主要参考文献的题录及摘要 (30)

附录D 总源程序清单 (32)

插图清单

图2-1数据采集示意图 (4)

图3-1典型结构的数据采集系统框图 (5)

图3-2TMS320F2812芯片引脚图 (7)

图3-3上电复位电路图 (8)

图3-4时钟电路图 (9)

图3-5JTAG接口原理图 (9)

图3-6SRAM接口图 (10)

图3-7ADC模块功能图 (11)

图3-8调理电路图 (13)

图4-1主程序流程图 (14)

图4-2W N的对称性和周期性示意图 (15)

图4-3系统软件仿真采集信号波形图 (18)

图4-4FFT仿真图 (19)

引言

随着数字信号处理理论和计算机的不断发展,现代工业生产和科学技术研究都需要借助于数字处理方法。进行数字处理的先决条件是将所研究的对象进行数字化,因此数据采集与处理技术日益得到重视。在图像处理、瞬态信号检测、软件无线电等一些领域,更是要求高速度、高精度、高实时性的数据采集与处理技术。现在的高速数据采集处理卡一般采用高性能数字信号处理器(DSP)和高速总线技术的框架结构[1]。

DSP用于完成计算量巨大的实时处理算法,高速总线技术则完成处理结果或者采样数据的快速传输。在单片实现数字采集中,本论文选用了TMS320F2812芯片,其快速处理速度和能达到应用精度需求是我们选择使用的主要因素,另外TMS320F2812芯片上集成了多种外设可方便实现数据传输也是我们选择使用TMS320F2812芯片的原因。

本论文作为一个数据采集系统,采用处理速度比较快的TMS320F2812芯片,更好的实现数据的快速处理,在系统设计中,首先有16路数据采集电路对模拟信号进行采集,然后经过调理电路,调理电路主要负责调节输入的16路数据信号的信号电压,使之符合AD转换模块所需要的电压要求范围,这里采用的放大器芯片是ADOP37,它的诸多优点在正文中已经介绍,然后通过AD转换把信号送入DSP进行处理,这就完成了数据的采集。

第1章绪论

1.1研究现状

数字信号处理(Digital Signal Processing)是一门涉及许多学科而又广泛应用于许多领域的新兴学科[2]。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展[3]。在过去的二十多年时间里,数字信号处理技术已经在通信等领域得到极为广泛的应用。数字信号处理器(Digital Signal Processor)是针对数字信号处理的需求而设计的一种可编程的单片机,是现代电子技术、计算机技术和信号处理技术相结合的产物,有强大的运算功能和高速的数据传输能力,能方便地处理以运算为主的不允许时延的实时信号,在电子信息、通信、软件、无线电、自动控制、仪器仪表、信息家电等高科技领域得到了广泛的应用,并推动了其他各学科的发展和创新[4]。

1.DSP特点介绍数字信号处理器(DSP)为了适应快速数字信号处理、运算的要求,普遍采用了特殊的硬件和软件,具有如下特点:

(1)改进的哈佛(Harvard)结构

(2)专用的硬件乘法器

(3)指令系统的流水线结构

(4)特殊的DSP指令

(5)硬件配置强

(6)多总线结构

(7)多处理单元

2.DSP芯片的选择设计DSP应用系统,选择DSP芯片是非常重要的一个环节。只有选定了DSP芯片才能进一步设计其外围电路及系统的其他电路。总的来说,DSP芯片的选择应根据实际的应用系统需要而确定。不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选择也是不同的。一般来说,选择DSP芯片时应考虑到如下诸多因素:

(1)DSP芯片的运算速度

(2)DSP芯片价格

(3)DSP芯片片内硬件资源

(4)DSP芯片的开发工具

1.2方案比较

本文介绍一种基于高性能DSP的高速数据采集处理系统。实现数据采集系统,有很多种方案,下面就几种基本结构进行比较分析。

1.工控板+AD采集卡模式

该系统由机械控制部分控制设备运行,AD卡对数据进行采集,然后由工业级半长型CUP主板进行处理,处理后的数据通过串口上传计算机系统,这种模式是以前产品多采用的方式,采集速度较快,抗干扰能力强,但结构比较复杂,电气成本,维护成本高,自主知识产权低[5]。

2.微处理器十AD模式

微处理器一般采用8位、16位单片机,如51、196等,速度比较慢,适用于对速度要求不高的场合。如采用高端32位嵌入式微处理器,如ARM系列微处理器,则可以大大提

高其处理速度,也是一种可行的方案,但单片机的对信号的处理方面不如DSP[6]。

3.DSP十AD+FPGA模式

这种模式采用DSP技术进行设计,自主知识产权高,技术先进。目前是市场的主流,工作原理和上一机型类似,但它也存在一些缺点,主要是传统DSP的控制功能、接口功能较弱,需要配合FPGA进行扩展,以至电路复杂、成本相对较高等[7]。

4.带有内部A/D的DSP模式

此种模式采用带有内部AD转换的高速DSP芯片作为系统核心,数据传输接口采用UBS接口,由此设计的系统具有电气结构简单,成本低,采集与处理速度快等优点。

经过比较,本数据采集系统采用带有内部A/D的TMS320F2812-DSP模式这种结构,这是一种结构简单、功能强大、经济实用、多通道高速数据采集处理系统。

1.3 FFT简介

数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式[8]。近些年来,数字信号处理技术得到了迅速的发展,特别是随着微计算器和超大规模电路的飞跃发展,数字信号处理技术亦得到了更大的发展,并且广泛地应用到了国民经济的各行各业,如雷达、声纳、通信、语音处理、图象处理、地震信号处理、生物医学电子学、数字音频和视频设备、电子测量仪器、噪声控制、电力系统的谐波分析、振动分析和故障诊断等方面,取得了突出的成就[9]。

傅立叶变换是一种将信号从时域变换到频域的变换形式,是声学、语音、电信和信号处理等领域中一种重要的分析工具[10]。离散傅立叶变换(DFT)是连续傅立叶变换(DFT)是连续傅立叶变换在离散系统中的表示形式。由于DFT的计算量很大,因此在很长一段时间内其应用受到很大的限制。直到1965年J.W.Coofy等学者提出并完成了DFT的快速算法FFT[11]。使DFT的运输大大简化,运算时间缩短1-2个数量级之多。快速傅立叶变换(FFT)技术是数字信号处理中的核心技术,它已广泛应用于数字信号处理的各个领域[12]。

该章介绍了DSP的展及特点,对FFT的发展也进行了说明。实现数据采集的方案也有很多种,经过比较,本文数据采集系统设计采用带有内部A/D的TMS320F2812-DSP 模式这种结构。

第2章系统总体方案设计

2.1系统框图

图2-1 数据采集示意图

2.2系统工作原理

1.数据采集对象本文的数据采集系统如图2-1所示,采集对象为50Hz左右的正弦波。该正弦信号源由TFG2050-DDS型函数发生器提供。该型号信号发生器能产生40mHz-50MHz的正弦波。

2.数据采集的信号调理如图2-1所示50Hz的正弦信号分成两部分,由于双极性信号不能直接接入TMS320F2812的A/D输入引脚,所以一部分要经过调理电路设计得到0~3V的信号,接入TMS320F2812的AD输入通道ADCH。

3.本文中TMS320F2812的电源设计采用TPS767D318作为POWER供给。选择SN74CBTD3384作为电平转换芯片。

4.本文中的外扩设计采用高速低电压的IS61LV5128-10T芯片作为系统的存储器件。具体设计在3.3.4系统RAM的外扩设计中将详细介绍。

5.FFT在TMS320F2812上的实现,并在集成开发环境CCS下进行软件仿真,进行验证了FFT算法的正确性。

2.3 小结

本章主要介绍了系统总体方案设计的整体结构,总的组成框架以及外围模块的简略概述,具体的详细设计将在第3章硬件部分和第4章软件部分阐述。

第3章系统硬件设计实现

3.1 基于TMS320F2812的数据采集设计

对于一个DSP应用系统,数据采集的重要性是十分显著的。它是DSP与外界连接的桥梁[13]。A/D转换器是采集通道的核心,也是影响数据采集系统速率和精度的主要因素,数据采集系统各器件的定时关系是严格的,以确保系统精度,DSP中的定时电路和逻辑控制电路按照各个器件的工作次序产生时序信号和依据时序信号产生逻辑控制信号[14]。

同传统A/D相比,嵌入式A/D有如下特点:在A/D模块的硬件资源配置好后,用户可用软件指令随时启动A/D采样,并获得A/D转换结果。同传统A/D不同的是,采集功能单元的硬件资源配置还有一部分是通过软件完成的。外界的模拟量通过传感器采集进来后,进入多路模拟选择器,经过采样保持,送到12位的模拟数字转换器,将转换结果经过多路选择开关进入结果寄存器中。来自外界传感器的输入模拟信号经过输入信号调理(信号调理是通过信号经过调理电路来实现的),多路模拟选择器(MUX),采样保持放大器(SHA),进入模拟数字转换器(ADC)转换为计算机可以接受的数字信号[15]。

图3-1 典型结构的数据采集系统框图

本文中TMS320F2812芯片上集成了多路模拟选择器(MUX),采样保持放大器(SHA),模拟数字转换器(ADC)以及计算机缓冲接口等功能。

1.多路模拟选择器(MUX)数据采集系统往往要对多路模拟量进行采集,在不要求高速采样的场合,一般采用公共的A/D转换器,分时对各路模拟量进行A/D转换,目的是简化电路,降低成本。可以用多路模拟选择开关轮流切换各路模拟量与A/D转换器间的通道,使得在一个特定的时间内,只允许一路模拟信号输入到A/D转换器,从而实现分时转换的目的。一般多路模拟选择开关有个模拟输入端,N个通道选择器,由N个选通信号控制选择其中一个开关闭合,使对应的模拟输入端与多路开关的输出端接通,让该模拟信号通过。有规律地周期性改变N个选通信号,可以按固定的序列周期性闭合各个开关,构成一个周期性分组的分时复用输出信号,由后面的A/D转换器分时复用对各通道模拟信号进行周期性转换。在F2812上有16个多路选择入口,即最多可以对16路信号进行分时复用转换。

2.采样保持器(SHA)A/D转换器完成一次转换需要一定的时间,在这段时间内希望A/D转换器输入端的模拟信号电压保持不变,以保证有较高的转换精度。这可以用采样

保持器来实现,采样保持器的加入,大大提高了数据采集系统的采样频率。F2812上拥有2个采样保持器(SHA)。

3.模数转换器(ADC)因为计算机只能处理数据信号,所以需要把模拟信号转换成数字信号,实现这一转换功能的器件是A/D 转换器。A/D 转换器是采样通道的核心,因此A/D 转换器是数据采集系统采样速率和精度的主要因素之一。F2812尽管有多个输入通道和两个排序器,但只有一个模数转换器。A/D 转换器是将一个模拟信号变成数字信号的电路,对于输入端模拟信号,A/D 转换器首先将输入模拟信号取样,为保证不产生取样过程的失真,取样频率必须满足取样定理的要求,所得取样信号时间上离散而在幅度上连续的信号序列。然后,对这个序列中的每个取样值进行量化,因为数字信号只能表示有限个数值,而取样信号的幅度值是连续的,这就需要将取样信号的幅度值用数字信号所能表示的有限个数值中最接近的一个来表示,这个过程称为量化。然后将已量化的信号用数字信号表示,从而完成模拟信号到数字信号的转换。

从信号理论可知,只要满足采样定理的条件,采样过程并不产生失真,即从采样信号序列可以完全恢复原来的模拟信号。但量化过程则必然产生失真,因为它改变了采样信号序列中各取样值的数值,称这种失真为量化失真或量化误差。量化可分为两种,均匀量化和非均匀量化。均匀量化是把输入信号的取值域按等距离分割的量化。对于均匀量化,如果输入信号的最大幅值确定,则数字信号的位数越多,则字越长,量化失真就越小,数字信号所能分辨的模拟信号的幅度变化就越细,表示该A/D 转换器的分辨率越高[16]。若假定输入模拟信号的最大幅度为A ,数字信号的字长N ,即每个取样值用N 个码元(N 个比特)表示,则该数字信号可以表示2N 个离散值,它能够准确表示的数值之间的间隔可由式2-1表示:

由于量化所产生的最大的量化误差由式2-2表示:

非均匀量化是根据信号的不同区间来确定量化间隔的。对于信号取值小的区间,其量化间隔也小;反之,量化间隔就大。它与均匀量化相比,有两个突出的优点。首先,当输入量化器的信号具有非均匀分布的概率密度(实际中常常是这样)时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根值基本上与信号抽样值成比例[17]。因此,量化噪声对大、小信号的影响大致相同,即改善了小信号时的信号量噪比。模数转换器的位数是ADC 的分辨率,在式(2-3)中,N 就代表模数转换器的位数,所以位数越多,量化电平越低,量化信号的每个台阶就越小,这样与模拟信号就更加接近。所以选择高分辨率的模数转换器,可以将量化噪 声减少到可以允许的程度。但从提高精度的角度出发模数转换器的位数与采样频率是相互制约的,所以要根据实际应用选择合适的ADC 。

3.2 TMS320F2812功能模块概述

TMS320C2000DSP 平台整合了高性能的DSP 内核、内部Flash 存储器、高精确度模拟外设、数字控制及通信外设等。为用户提供了单芯片实现高性能控制的解决方案,TMS320F2812主要功能模块如下图3-2所示[18]:

N A 2-1

?=(2-1)

(2-2)N

A 22(2-1)ε?±=±=

图3-2 TMS320F2812芯片引脚图

(1)Flash内存

C2000产品的内部Flash存储器大小为8~128KB。用户可以应用内部Flash存储器固化应用软件以及产品的升级换代。C2000 DSP提供分区(Sector)的Flash内存,允许改写每个分区,而不清掉整个Flash内存;此外C2000DSP采用密码保护程序代码,以保护用户的程序。

(2)事件管理器(Event Manager)

定时器/比较器模块减少了CPU完成事件定时、采样循环及PWM生成等任务的开销;可编程死区设置;捕捉单元和正交编码电路能够检测元件直接接口;PDP中断为系统提供无条件保护。

(3)模数转换模块(A/D Converter)

10位模拟/数字转换器(C24x)和12位模拟/数字转换器(C28x);LF240xA最快转换时间为500ns,F2812最快转换时间为80ns;外部模拟/数字转换及事件(EV)触发的模拟转换不需占额外CPU时间;具有双缓冲的结果寄存器,减少中断到取得转换结果所需要的时间;6个模拟输入通道;转换自动排序器可增加通道数目,而不需CPU介入。

(4)CAN模块

完整的CAN控制器,符合CAN2.0B规范;发送、接受标准帧(11位标志符)及扩展

帧(29位标志符);C24x有16个信箱,F2810、F2812有32个信箱;0-8位可编程数据长度;提供接收信箱、发送信箱及可配置的发送/接收信箱(信箱0及1);C28x系列提供低耗电模式,定时邮递(Time Stamping)功能;数字回路自测试模式;可编程通信速率;可编程中断控制。

(5)串行通信接口(Serial Communication Interface,SCI-UART)

异步通信格式(NRZ);可编程波特率;数据长度1-8位可编程;可编程停止长度1或2位;错误检测:极性错误、过载错误、帧错误、中止错误等;两种唤醒模式:线空闲唤醒及地址位唤醒;半双工或全双工操作;C24x有双缓冲器的接收及发送功能;C28x 有16层接受及发送缓冲器;独立的接收/发送中断;独立的接收/发送中断使能位。

(6)串行外围接口(Serial Peripheral Interface,SPI)

1-16位可编程数据长度(F/C240为1-8位);同步的发送/接收帧;主/从操作模式;支持多处理器通信;SPI时钟极性控制。

(7)C28x的多通道缓冲串行接口(McBSP)

全双工通信;双缓冲发送,三缓冲接收,允许连续数据流;支持128个通道的发送及接受;独立的发送时钟;多通道选择模式使能每个通道的块传输。

3.3 DSP硬件平台设计

DSP硬件平台设计主要包括以下几个部分:复位电路;时钟电路;JTAG接口电路以外扩存储,这几部分的设计主要保证DSP在稳定的环境下工作,充分实现DSP高速处理数据的能力,下面就对这几部分进行详细的介绍。

3.3.1复位电路设计

TMS32F2812的复位分为软件复位和硬件复位两种。软件复位是通过指令方式实现芯片的复位,而硬件复位是通过硬件电路实现复位。在硬件复位中主要有上电复位电路、手动复位电路、自动复位电路等。本系统采用上电复位电路,它是利用RC电路的延迟特性来产生复位所需要的低电平时间。电路如图3-3所示

0.1uF

图3-3 上电复位电路图

上电瞬间,由于电容C3上的电压不能突变,是RS仍为低电平,芯片处于复位状态,同时通过电阻R4对电容C3进行充电,充电时间常数由R4和C3的乘积确定。为了使芯片正常初始化,通常应保证RS低电平的时间至少持续3个周期。但是,在上电后,系统的晶体振荡器通常需要几百毫秒的稳定期,一般为100 ~200ms,因此由RC决定

的复位时间要大于晶体振荡器的稳定期。为了防止复位不完全,RC参数可以选择大一些。

3.3.2 时钟电路设计

为DSP芯片提供的时钟一般有两种方法:一种是使用外部时钟源的时钟信号,另一种方法是利用DSP芯片内部的振荡器构成时钟电路,在芯片X1和X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。本系统采用后者,电路如图3-4所示。

Y1

30M

图3-4 时钟电路图

晶体是晶体谐振器的简称,是一种压电石英晶体器件,具有一个固有的谐振频率,在恰当的激励作用下,以其固有频率振荡。振荡电路是为晶体提供激励和检测的电路。晶振将晶体,振荡器和负载电容集成在一起,其输出直接是一方波时钟信号。

3.3.3 JTAG接口电路设计

JTAG(Joint Test Action Group)接口是TI公司在其DSP中使用的基于边界扫描逻辑的仿真标准。它符合规范IEEE1149.1,能极其方便地提供硬件系统的在线仿真和测试。基于JTAG标准的仿真器给开发者提供了一个不改变目标平台系统结构的开发工具。另外JTAG仿真器还具有体积小、易安装、功能扩充性强和很高的兼容性等特点,使开发者可以随时随地地进行开发和调试。

当仿真头和JTAG目标芯片之间的距离超过6英寸时,仿真信号是要缓冲的。若小于6英寸,不必加缓冲。图3-5为DSP与JTAG接口连接图,其中的EMU0和EMU1信号必须通过上拉电阻连接到电源上,提供少于10us的信号上升时间,上拉电阻可取4.7KΩ。

图3-5 JTAG接口原理图

JTAG仿真大大方便了汇编语言程序的调试,它可实时的访问目标板上CPU的存储、器、寄存器以及I/O口等。调试软件的同时也可以调试硬件,给系统设计者来了很大的方便和灵活性。

3.3.4系统RAM的外扩设计

F2812数字信号处理器采用增强的哈佛总线结构,能够并行访问程序和数据存储空间。内部集成了大量的SRAM、ROM以及Flash等存储器,并且采用统一寻址方式(程序、数据和UO统一寻址),从而提高了存储空间的利用率,方便程序的开发。除此之外,F2812数字信号处理器还提供外部并行总线扩展接口,有利于开发大规模复杂系统。下面主要介绍F2812存储器寻址空间、外部存储器以及外设扩展接口及其应用。TMs320F2812存储器包括片上存储器和外部存储器接口两个部分[19]。

TMS320F2812与SRAM之间的连接:本系统SRAM采用高速低电压IS61LV5128-10T作为系统的存储器件,它与F2812之间根据管脚对应关系直接连接。

图3-6 SRAM接口图

3.4 TMS320F2812A/D模块概述

TMS320F28xADC模块是一个12位带流水线的模数转换器(ADC),模式转换单元的模拟电路包括前向模拟多路复用开关(MUXs)、采样/保持(S/H)电路、变换内核、电压参考以及其他模拟辅助电路。模式转换单元的数字电路包括可编程转换序列器、结果寄存器、与模拟电路的接口、与芯片外设总线的接口以及同其他片上模块的接口[20]。

模数转换模块ADC有16个通道,可配置为2个独立的8通道模块,分别服务于事件管理器A和B,两个独立的8通道模块也可以级联构成一个16通道模块。尽管在模数转换模块中有多个输入通道和两个排序器,但仅有一个转换器。F2810、F2811、F2812的ADC模块的功能框图如图3-8所示[21]:

图3-7 ADC模块功能图

两个8通道模块能够自动排序,每个模块可以通过多路选择器(MUX)选择8通道中的任何一个通道。在级联模式下,自动排序器将变成16通道。对于每个通道而言,一旦ADC转换完成,将会把转换结果存储到结果寄存器(ADCRESULT)中。自动排序器允许对同一个通道进行多次采样,用户可以完成过采样算法,这样可以获得更高的采用精度[21]。

ADC模块主要包括以下特点:

1.带内置采样/保持的12位模数转换内核;

2.快速转化时间(运行于25MHz的ADC时钟下为80ns);

3.同步采样和顺序采样模式;

4.多达16个的模拟输入通道(ADCIN0-ACCIN15);

5.自动排序能力,在一次转换可处理多达16个的“自动转换”。每个转换操作通过编程来选择16个通道的其中一个;

6.16个结果寄存器(可独立寻址)用来存储转换值;

7.输入模拟电压对应的数字值公式为:数字值=4095×(输入模拟值-

ADCLO)/3式中ADCL0为输入模拟电压为0时的输出值;

8.有多个触发源启动ADC转换(SOC);

(1)S/W:软件立即启动

(2)EV A:事件管理器A(在EV A中有多个事件源可启动AD转换)

(3)EVB:事件管理器B(在EVB中有多个事件源可启动AD转换)

(4)外部引脚:ADCSOC引脚

9.模拟输入范围:0~3V;

10.灵活的中断控制机制,允许在每一个或每隔一个转化序列结束(EOS)时产生中断;

11.排序器可工作在“启动/停止”模式,允许多个按时间排序的触发源同步转换;模数转换模块ADC排序器由两个独立的8状态排序器(SEQ1和SEQ2)构成,这两个排序器还可以级联构成一个16状态的排序器(SEQ)。这里的状态是指排序器内能够完成的ADC自动转换通道的个数。单排序器模式(级联构成16状态),双排序器模式(两个互相独立的8状态)。

3.5 调理电路设计

在系统中,调理电路主要负责调节输入的四路数据信号的信号电压,使之符合接下去信号的AD转换模块的电压要求范围,在0~3Vp-p之间。

同时考虑到实际情况,需采集的信号分交流和直流信号两种,因此系统为了能分别对交流信号或直流信号进行采集与处理,系统采用了一个三端口的跳线,作为直流信号和交流信号的采样转换选择装置,并通过这个跳线将调理后的信号输入到DSP中进行最后的采集和处理[22]。

在系统调理中,选用放大器ADOP37作为系统的调理电路的核心,由它对四路的数据信号进行调理。

在系统中选择ADOP37作为调理电路的放大器的理由是它具有如下这些优点[23]:

1.具有较低的噪声

2.频带宽度较宽

3.是一个高精度的运放

4.是个双极型的运放

5.模拟电压在15~-15V之间,输出的采样信号电压可在0~3V之间功耗较低,只有90mw当输入信号是交流信号时,系统的调理电路自动对其进行调理。图3-6所示,有两个变阻电阻,可对系统的调理放大倍数进行调节,增大或减小,在本系统中调理电路的反相增益0.1-10倍之间。

当输入信号是直流信号时,由于可以通过在数据采集时的整流电路进行调节数据电压的范围,所以可以直接跳过调理,而进入DSP中进行最后的采样处理。所以系统中,直接用一根导线将数据信号接入DSP。

系统调理电路如图3-6所示:

图3-8 调理电路图

此小节只介绍了十六路采集中的一路,其余十五路调理电路与此路调理电路原理一样,具体到各路设计在附录A的原理图中详细画出。

3.6 小结

本采集系统以TMS320F2812芯片为核心构建了数据采集系统平台,本章主要介绍了TMS320F2812上功能模块的简介,在硬件设计上更为细致的逐一对各硬件功能及连接进行介绍。通过硬件的设计和调试实现对输入信号的数据采集,为第4章进行FFT运算提供了正确的数据。

第4章TMS320F2812的FFT研究及仿真

傅立叶变换是一种将信号从时域变换到频域的变换形式,是声学、语音、电信和信号处理等领域中一种重要的分析工具。离散傅立叶变换(DFT)是连续傅立叶变换在离散系统中的表示形式,由于DFT的计算量很大,因此在很长一段时间内其应用受到很大的限制[24]。本文采用的TMS320系列DSP芯片的硬件资源使得FFT的实现更为方便,T 本章首先简要介绍数据采集的程序设计,然后分析FFT的基本原理最后是FFT在TMS320F2812上的实现及仿真。

4.1 数据采集的程序设计

运用TMS320F2812片内集成的12位A/D转换器进行数据采集。数集模块按照图3-5的主程序流程顺序,配合调用作者编写的相关子函数,完成信号的采集和传输。

图4-1 主程序流程图

数据采集模块进行必要的硬件连接之后,对模块加载规定范围内的电压,促使

DSP 芯片开始工作[25]。DSP 芯片F2812上电后,主程序首先调用初始化DSP 内核的子程序,在该子程序中完成禁止看门狗[15];设定基于锁相环的时钟模式,使得F2812的主频达到150MHz ;通过写高速外围时钟定标寄存器和低速外围时钟定标寄存器,完成系统时钟信号的设定;对外围时钟控制寄存器的第0、3、10位写1,使能各外设模块的时钟。紧接着,主程序禁止CPU 中断,对中断使能寄存器IER 和中断标志寄存器IFR 赋值,清除中断。随着主程序调用一系列的初始化程序,完成了相关功能寄存器的参数设定,如初始化PIE 中断程序、初始化PIE 中断矢量表程序、初始化外部扩展接口程序、初始化片内A/D 程序、初始化时间管理器EV A 程序。随后,主程序将A/D 中断入口地址、捕获中断入口地址装入PIE 中断矢量表中,开中断。

4.2 FFT 的基本原理 4.2.1 DFT 的基本原理

DFT 是连续傅立叶变换的离散形式。模拟信号x (t)的连续傅立叶变换(或 称为频谱)可表示为:

x (t)经抽样后变为x( nT),T 为抽样周期。离散信号x (nT)的傅立叶变换可以表示为:

式中,2/j N N W e π-=称为蝶形因子。式(4-2)为N 点的DFT 。由上式可见,计算所有

X(k)约需要2N 次乘法和2N 次加法,运算量很大。根据N W 蝶形因子的对称性和周期性:

对称性: 周期性:

图4-1是N=8时蝶形因子的对称性和周期性。

图4-2 W N 的对称性和周期性示意图

FFT 是DFT 的一种快速算法,其基本思想在于将长序列的DFT 分解为2个短序列

-X()=()jwt

t e dt ω

χ

-∞

?

(41)-10()(),0,1,...,1N nk N n X k x n w k N -

===-∑

(42)-/2k k N N N

W W +=-k

N k

N N W W +=(43)

-(44)-614

8

8w w =5

138

8

w w =41288

w w =311

88

w w =210

88

w w =19

88

w w =08

88

w w =71588

w w =

的DFT。这些序列的DFT可以组合就得到原来的DFT[26]。如N(为偶数)点的DFT先分解为2个N/2点的DFT序列,那么计算N点DFT就只需要N/2点的DFT所需的乘法次数。每个N/2点的DFT又可以分解为N/4点的DFT,从而又使乘法的计算量减少一半。上述方法可以反复使用。最小变换的点数即所谓的“基数”(radix)。基数为2的FFT 算法最小变换(或称蝶形)是2点DFT。一般地,对N点FFT,对应于N个输入样值,有N个频域样值与之对应。

4.2.2 频率抽取FFT(DIF)

另一种FFT算法是按频率抽取算法(Decimation-In-Frequency,DIF)FFT,在FFT分级过程中的每一级都要将输出的频域序列分成较小序列来处理,即在每一级都要对输出序列进行抽取[16]。频率抽取FFT算法的特点是每一级处理都是在时域里把输入序列依次按奇、偶一分为二分成较短的序列,还有一种算法是在频域里把序列分解为奇、偶的形式来进行计算,这就是所谓的频率抽取FFT算法。

4.3 FFT在TMS320F2812上的实现

FFT变换是非常流行的一种频域分析方法,它利用蝶形因子的旋转性和周期性的特点,大大减少了运算量,提高了DFT的计算效率[17]。DSP在实现FFT方面具有自身的优势:一方面,针对FFT变换中需要对原始顺序进行码位倒序排列,DSP控制器专门设计了反序间接寻址;另一方面,FFT变换需要进行的蝶形运算,需要指令系统能满足查表以及短时间内的累加相乘的需要,而DSP的间接寻址方法可以实现增(减)1或增(减)一个变址量,并且能在一个周期内完成乘和累加,这些都满足了FFT的运算需求。

FFT的库函数实现

在各个系列的DSP专门设计有可以被C语言直接调用的傅立叶变换的内联库函数,针对C28系列的DSP的FFTLibrary函数库(sprc081)在TI的官方网站可以下载到。该函数库安装后含有复数FFT和实数FFT两种汇编程序和源文件和库文件。利用该库函数可以加快软件开发速度。实际计算时,TI公司为了加快实数FFT,巧妙地使用了压缩算法:对2N点的数做N点复数FFT,最后再劈分还原,得到实数2N点实数FFT计算的真正结果[27]。

RFFT的计算流程:

(1)将fft.lib库文件添加到工程项目中,并包含相应的头文件,在头文件中有关于FFT 的一些结构及功能函数的声明。

(2)定义一个结构体RFFT32_fft=RFFT32_128P_DEFAULTS。该结构体为RFFT32类型。

(3)定义一个长整型数据长度为128的数组long DATA[128]用来存放数据,注意这里原始数据和经过FFT运算后的数据是放在同一数组里的,所以在进行FFT运算时要注意数据的保护问题。

(4)将采样后存放在数组中的复数序列进行位反序。

(5)进行FFT运算。

基于C28x的模块包括以下四个部:

(1)把2N 个实数包装成N个复数并且通过位反序方式使N个复数按“混序”排列。

(2)N点基-2复数FFT运算。

(3)分离函数运算。

简易数据采集系统的设计

简易数据采集系统设计 题目:二选一 1. 设计一个单片机控制的数据采集系统,要求A/D 精度12位,采样频率最高100KHz,输 入8路信号,分时复用A/D 芯片,将采集到的波形进行4K 的SRAM 存储,然后通过串行口发送给计算机 2. 设计一波形发生电路,计算机通过串行口向板卡发送波形电路,波形存储到板卡上的 SRAM 中,然后进行计算机控制的D/A 波形产生,板卡上用单片机进行控制 要求: 1. 选择器件,确定具体型号。 2. 画原理图。 3. 根据器件封装画PCB 图。 4. 写出相应的单片机和微机控制程序。 5. 写出详细的原理分析报告。 器件选择: TI 公司生产的8位逐次逼近式模数转换器ADC0809,8051,MAX232 原理图如下: 原理报告原理报告:: 采集多路模拟信号时,一般用多路模拟开关巡回检测的方式,即一种数据采集的方式。利用多路开关(MUX )让多个被测对象共用同一个采集通道,这就是多通道数据采集系统的实质。当采集高速信号时,A/D 转换器前端还需加采样/保持(S/H)电路。 待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等

环节的预处理。被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给A/D 转换器,需对其进行必要的处理,即信号调理。如对信号进行放大、衰减、滤波等。 通常希望输入到A/D 转换器的信号能接近A/D 转换器的满量程以保证转换精度,因此在直流电流电源输出端与A/D 转换器之间应接入放大器以满足要求。 本题要求中的被测量为0~5V 直流信号,由于输出电压比较大,满足A/D 转换输入的要求,故可省去放大器,而将电源输出直接连接至A/D 转换器输入端。 关于A/D 转换器的选取: 1.转换时间的选择 转换速度是指完成一次A/D 转换所需时间的倒数,是一个很重要的指标。A/D 转换器型号不同,转换速度差别很大。通常,8位逐次比较式ADC 的转换时间为100us 左右。由于本系统的控制时间允许,可选8位逐次比较式A/D 转换器。 2.ADC 位数的选择 A/D 转换器的位数决定着信号采集的精度和分辨率。 要求精度为0.5%。对于该8个通道的输入信号,8位A/D 转换器,其精度为 8 0.39%2 ?= 输入为0~5V 时,分辨率为 8 50.019611 22Fs N V v ==?? Fs v —A/D 转换器的满量程值 N —ADC 的二进制位数 量化误差为 8 50.0098(1)2 (1)2 22Fs N Q V v = = =?×?× ADC0809是8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC 部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。

(完整word版)软件详细设计文档模板

QR-RD-022(Ver1.2) Xxx系统 详细设计说明书 (内部资料请勿外传) 编写:日期: 检查:日期: 审核:日期: 批准:日期: XX公司 版权所有不得复制

文档变更记录

目录 1. 引言 (5) 1.1 编写目的和范围 (5) 1.2 术语表 (5) 1.3 参考资料 (5) 1.4 使用的文字处理和绘图工具 (5) 2. 全局数据结构说明 (5) 2.1 常量 (6) 2.2 变量 (6) 2.3 数据结构 (6) 3. 模块设计 (6) 3.1 用例图 (6) 3.2 功能设计说明 (6) 3.2.1 模块1 (6) 3.2.2 模块2 (7) 4. 接口设计 (8) 4.1 内部接口 (8) 4.2 外部接口 (8) 4.2.1 接口说明 (8) 4.2.2 调用方式 (8) 5. 数据库设计 (8) 6. 系统安全保密设计 (9) 6.1 说明 (9) 6.2 设计 (9) 6.2.1 数据传输部分 (9) 6.2.2 IP过滤分部 (9) 6.2.3 身份验证部分 (9) 7. 系统性能设计 (9) 8. 系统出错处理 (9)

1.1编写目的和范围 说明写这份详细设计说明书的目的。 本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。 1.2术语表 定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。 1.3参考资料 列出有关资料的名称、作者、文件编号或版本等。参考资料包括: a.需求说明书、架构设计说明书等; b.本项目的其他已发表的文件; 1.4使用的文字处理和绘图工具 文字处理软件:[编写设计文档使用的文字处理软件,如RedOffice ] 绘图工具:[使用的UML工具,如Rose、Jude、Visio] 2.全局数据结构说明 本章说明本程序系统中使用的全局数据常量、变量和数据结构。

多路数据采集系统设计毕业论文

多路数据采集系统设计毕业论文 第1章绪论 1.1 多路数据采集系统介绍 随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。 此外,计算机的发展对通信起了巨大的推动作用。算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。数据通信是计算机广泛应用的必然产物[2]。 数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。 数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等

工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印,显示,绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示。 由于RS-232在微机通信接口中广泛采用,技术已相当成熟。在近端与远端通信过程中,采用串行RS-232标准,实现PC机与单片机间的数据传输。在本毕业设计中对多路数据采集系统作了初步的研究。本系统主要解决的是怎样进行数据采集以及怎样进行多路的数据采集,并将数据上传至计算机[2]。 1.2 设计思路 多路数据采集系统采用ADC0809模数转换器作为数据采集单元和AT89C51单片机来对它们进行控制,不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高采集数据的灵敏度及指标。通过MAX232电平转换芯片实现单片机与PC 机的异步串行通信,设计中的HD7279实现了键盘控制与LED显示显示功能。本文设计了一种以AT89C51和ADC0809及RS232为核心的多路数据采集系统。 多路数据采集系统就是通过键盘控制选择通路,将采集到的电压模拟两转换成数字量实时的送到单片机里处理从而显示出采集电压和地址值,最终控制执行单片机与PC机的异步串行通信。 连接好硬件后,给ADC0809的三条输入通路通入直流电压。4-F键为功能键,4-E键为复位键,F键为确认键。1-3键为通道选择键,分别采集三个通道的数据值并实时显示出数值和地址值。结合单片机RS232串口功能还实现了与PC机的异

软件详细设计文档模板(最全面)

研发生产中心文档编号版本A1 密级商密A 项目名称Xx系统 项目来源 Xxx系统 详细设计说明书 (内部资料请勿外传) 编写:日期:检查:日期:审核:日期:批准:日期: XX公司 版权所有不得复制 文档变更记录

序号变更(+/-)说明作者版本号日期批准1 2

目录 1. 引言 (5) 1.1 编写目的和范围 (5) 1.2 术语表 (5) 1.3 参考资料 (5) 1.4 使用的文字处理和绘图工具 (5) 2. 全局数据结构说明 (7) 2.1 常量 (7) 2.2 变量 (8) 2.3 数据结构 (8) 3. 模块设计 (9) 3.1 用例图 (9) 3.2 功能设计说明 (10) 3.2.1 模块1 (10) 3.2.2 模块2 (11) 4. 接口设计 (12) 4.1 内部接口 (12) 4.2 外部接口 (12) 4.2.1 接口说明 (12) 4.2.2 调用方式 (12) 5. 数据库设计 (12) 6. 系统安全保密设计 (12) 6.1 说明 (12) 6.2 设计 (12) 6.2.1 数据传输部分 (12) 6.2.2 IP过滤分部 (13) 6.2.3 身份验证部分 (13) 7. 系统性能设计 (13) 8. 系统出错处理 (13)

1.引言 1.1背景 此文档的背景 1.2编写目的和范围 说明写这份详细设计说明书的目的。 本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。 1.3术语表 定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。 序号术语或缩略语说明性定义 1 PM Project Manager,项目经理 2 1.4参考资料 列出有关资料的名称、作者、文件编号或版本等。参考资料包括: a.需求说明书、架构设计说明书等; b.本项目的其他已发表的文件; c.引用文件、资料、软件开发标准等。 资料名称作者文件编号、版本资料存放地点 1.5使用的文字处理和绘图工具 文字处理软件:[编写设计文档使用的文字处理软件,如RedOffice ] 绘图工具:[使用的UML工具,如Rose、Jude、Visio]

软件详细设计文档模板(最全面)

Xxx系统 详细设计说明书 (内部资料请勿外传)编写:日期: 检查:日期: 审核:日期: 批准:日期: XX公司 版权所有不得复制 文档变更记录

目录 1. 引言错误!未定义书签。 编写目的和范围错误!未定义书签。 术语表错误!未定义书签。 参考资料错误!未定义书签。 使用的文字处理和绘图工具错误!未定义书签。 2. 全局数据结构说明错误!未定义书签。 常量错误!未定义书签。 变量错误!未定义书签。 数据结构错误!未定义书签。 3. 模块设计错误!未定义书签。 用例图错误!未定义书签。 功能设计说明错误!未定义书签。 模块1 错误!未定义书签。 模块2 错误!未定义书签。 4. 接口设计错误!未定义书签。 内部接口错误!未定义书签。 外部接口错误!未定义书签。 接口说明错误!未定义书签。 调用方式错误!未定义书签。 5. 数据库设计错误!未定义书签。 6. 系统安全保密设计错误!未定义书签。 说明错误!未定义书签。 设计错误!未定义书签。 数据传输部分错误!未定义书签。 IP过滤分部错误!未定义书签。 身份验证部分错误!未定义书签。 7. 系统性能设计错误!未定义书签。 8. 系统出错处理错误!未定义书签。

引言 背景 此文档的背景 编写目的和范围 说明写这份详细设计说明书的目的。 本详细设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。 术语表 定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。 参考资料 列出有关资料的名称、作者、文件编号或版本等。参考资料包括: a.需求说明书、架构设计说明书等; b.本项目的其他已发表的文件; 使用的文字处理和绘图工具 文字处理软件:[编写设计文档使用的文字处理软件,如RedOffice ] 绘图工具:[使用的UML工具,如Rose、Jude、Visio] 设计概述 任务和目标 需求概述 运行环境概述 条件与限制 详细设计方法和工具 系统详细需求分析 主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。 详细需求分析 详细功能需求分析 详细性能需求分析 详细资源需求分析 详细接口需求分析 详细系统运行环境及限制条件分析 总体方案确认 着重解决系统总体结构确认及界面划分问题。

FFT算法及IIR、FIR滤波器的设计

《DSP原理及其应用》实验设计报告 实验题目:FFT算法及滤波器的设计

摘要 随着信息科学的迅猛发展,数据采集与处理是计算机应用的一门关键技术,它主要研究信息数据的采集、存储和处理。而数字信号处理器(DSP)芯片的出现为实现数字信号处理算法提供了可能。数字信号处理器(DSP)以其特有的硬件体系结构和指令体系成为快速精确实现数字信号处理的首选工具。DSP芯片采用了哈佛结构,以其强大的数据处理功能在通信和信号处理等领域得到了广泛应用,并成为研究的热点。 本文主要研究基于TI的DSP芯片TMS320c54x的FFT算法、FIR滤波器和IIR滤波器的实现。首先大概介绍了DSP和TMS320c54x的结构和特点并详细分析了本系统的FFT变换和滤波器的实现方法。 关键词:DSP、TMS320c54x、FFT、FIR、IIR

Abstract With the rapid development of information science, data acquisition and processing is a key technology of computer applications, the main research of it is collection, storage and processing of information data. The emergence of the digital signal processor (DSP) chip offers the potential for the realization of the digital signal processing algorithm. Digital signal processor (DSP), with its unique hardware system structure and instruction system become the first tool of quickly and accurately realize the digital signal processing.DSP chip adopted harvard structure, with its powerful data processing functions in the communication and signal processing, and other fields has been widely applied, and become the research hot spot. This paper mainly studies the FFT algorithm based on TMS320c54x DSP chip of TI, the realization of FIR filter and IIR filter. First introduced the DSP and TMS320c54x briefly, then analyzed in detail the structure and characteristics of the system of the realization of FFT transform and filter method. Keyword: DSP、TMS320c54x、FFT、FIR、IIR

软件项目详细设计文档示例模版.doc

XXX软件/项目/系统 详细设计说明书 拟制日期 评审人日期 批准日期 编写单位或个人

修订历史

目录 XXX软件详细设计说明书 (1) Revision Record 修订记录 (2) 1引言 (3) (3) 2 3 (5) 4总体方案确认 4.1系统总体结构确认 (5) 4.2系统详细界面划分 (5) 4.2.1应用系统与支撑系统的详细界面划分 (5) (5) 5 6、 7非功能性设计8 (8) 9环境配置 (8)

1引言 1.1编写目的 说明编制的目的是,大体上介绍一下软件系统中各层次中模块或子程序、以及数据库系统的设计考虑,表明此文档是主要是为编码人员提供服务,并且其他类型的项目参与人员也可以通过此文档对软件/项目有更深入了解。 1.2背景 说明此软件或系统的项目背景、需求背景、开发目的等,还可以列出参与人员等相关信息。 1.3参考资料 列出本文档中引用的文献、资料、标准等相关信息(一般是具有出版或版权性质的文件)。 1.4术语定义及说明 列出文档中用到的和开发有关,或与行业、业务、需求有关的专业术语,并进行解释。 2设计概述 2.1任务和目标 说明详细设计的任务及详细设计所要达到的目标。 2.1.1需求概述 对所开发软件的概要描述, 包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。 2.1.2运行环境概述 对本系统所依赖于运行的硬件,包括操作系统、数据库系统、运行库、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。 2.1.3条件与限制 详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。 2.1.4详细设计方法和工具 简要说明详细设计所采用的方法和使用的工具,如数据库设计工具、界面设计工具、原型设计工具等。 3系统详细需求分析 主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。

数据采集系统设计

目录 摘要 (1) 1 引言 (2) 1.1 数据采集系统的简介. (2) 1.2 课程设计内容和要求 (3) 1.3 设计工作任务及工作量的要求 (3) 2 内容提要 (3) 3 系统总体方案 (3) 3.1 系统设计思路 (3) 3.2 系统总体框图 (4) 4 硬件电路设计及描述 (4) 4.1 8253芯片及工作原理 (4) 4.1.1 基本组成及工作原理 (4) 4.1.2 8253与系统连接 (5) 4.2 ADC0809内部功能与引脚介绍 (5) 4.2.1 引脚排列及各引脚的功能 (6) 4.2.2 ADC0809工作方式 (7) 4.2.3 ADC0809与系统连接 (8) 4.3 单片机89C51的引脚与功能介绍 (8) 4.4 8255并行口芯片基本组成及工作原理 (10) 4.4.1 8255的内部结构 (11) 4.4.2 8255的工作方式 (12) 4.2.3 8255与系统连接 (12) 4.5 LED显示部分接线及工作原理 (13) 4.5.1 LED显示工作原理 (13) 4.5.2 LED显示部分接线 (14) 4.6 总体电路图 (14) 5 软件设计流程及描述 (15) 5.1 主程序设计思路 (15)

5.2 部分程序设计流程图 (16) 5.2.1 8253程序流程图 (16) 5.2.2 8255程序流程图 (17) 5.2.3 数据处理流程图 (17) 5.2.4 LED显示流程图 (17) 5.3 汇编语言程序清单 (18) 5.4 仿真结果 (21) 6 课程设计体会 (21) 参考文献 (23)

摘要 数据采集是从一个或多个信号获取对象信息的过程。随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。 本课程设计采用89C51系列单片机,89C51系列单片机基于简化的嵌入式控制系统结构,具有体积小、重量轻,具有很强的灵活性。设计的系统由硬件和软件两部分构成,硬件部分主要完成数据采集,软件部分完成数据处理和显示。数据采集采用AD0809模数转换芯片,具有很高的稳定性,采样的周期由可编程定时/计数器8253控制。完成采样的数据后输入单片机内部进行处理,并送到LED显示。软件部分用Keil软件编程,操作简单,具有良好的人机交互界面。程序部分负责对整个系统控制和管理,采用了汇编语言进行了判别通道、数据采集处理、数据显示、数据通信等程序设计,具有较好的可读性。 随着计算机在工业控制领域的不断推广应用,将模拟信号转换成数字信号已经成为计算机控制系统中不可缺少的重要环节,因此数据采集系统有着重要的意义。

实数FFT算法的设计及其C语言实现

实数FFT算法的设计及其C语言实现 目前国内有关数字信号处理的教材在讲解快速傅里叶变换(FFT)时,都是以复数FFT为重点,实数FFT算法都是一笔带过,书中给出的具体实现程序多为BASIC或FORTRAN程序并且多数不能真正运行。鉴于目前在许多嵌入式系统中要用到FFT运算,如以DSP为核心的交流采样系统、频谱分析、相关分析等。本人结合自己的实际开发经验,研究了实数的FFT算法并给出具体的C语言函数,读者可以直接应用于自己的系统中。 首先分析实数FFT算法的推导过程,然后给出一种具体实现FFT算法的C语言程序,可以直接应用于需要FFT运算的单片机或DSP等嵌入式系统中。 1 倒位序算法分析 按时间抽取(DIT)的FFT算法通常将原始数据倒位序存储,最后按正常顺序输出结果X(0),X(1),...,X(k),...。假设一开始,数据在数组float dataR[128]中,我们将下标i表示为(b6b5b4b3b2b1b0)b,倒位序存放就是将原来第i个位置的元素存放到第(b0b1b2b3b4b5b6)b 的位置上去.由于C语言的位操作能力很强,可以分别提取出b6、b5、b4、b3、b2、b1、b0,再重新组合成b0、b1、b2、b3、b4、b5、b6,即是倒位序的位置。程序段如下(假设128点FFT): /* i为原始存放位置,最后得invert_pos为倒位序存放位置*/ int b0=b1=b2=b3=b4=b5=6=0; b0=i0x01; b1=(i/2)0x01; b2=(i/4)0x01; b3=(i/8)0x01; b4=(i/16)0x01; b5=(i/32)0x01; b6=(i/64)0x01; /*以上语句提取各比特的0、1值*/ invert_pos=x0*64+x1*32+x2*16+x3*8+x4*4+x5*2+x6; 大家可以对比教科书上的倒位序程序,会发现这种算法充分利用了C语言的位操作能力,非常容易理解而且位操作的速度很快。 2 实数蝶形运算算法的推导 我们首先看一下图1所示的蝶形图。

软件开发功能模块详细设计文档

功能模块详细设计说明书 编写目的................................................... 项目背景................................................... 定义....................................................... 参考资料................................................... 2.总体设计.................................................... 需求概述................................................... 软件结构................................................... 3.程序描述.................................................... 功能....................................................... 性能....................................................... 输入项目................................................... 输出项目................................................... 算法....................................................... 程序逻辑................................................... 接口....................................................... 存储分配................................................... 限制条件................................................... 测试要点...................................................

数据采集软件设计方案

数据采集软件设计方案 1背景 由于尾矿监控系统的数据来源复杂,而且数据格式多样,而对于一个监控软件来说,如果要涉及到复杂的数据采集及其处理过程的话,对于软件本身运行的稳定性或造成一定的负担,而且也不利于于软件的后续开发和后期维护。 所以需要一个统一的数据采集程序,来为尾矿监控系统所涉及到的数据源进行整合,处理。把复杂的来源,格式多样的数据整合为单一来源,标准格式的数据,从而提高尾矿监控系统的可靠性。 2设计思路 从目前对数据源的分析情况来看,尾矿监控系统的数据主要有以下几种: 全站仪的采集数据,其数据存放在全站仪自己的SQL Server 数据库中。 内部位移,浸润线等监控数据( BGK的设备),其数据是放在采集软件运行的本地ACCESS数据库文件中。 气象, 水文等监控数据(WAGO设备),其数据源为通过它的WAGO Server 软件提供的OPC DA数据。 摄影头视频数据,存放在海康自己的视频录像机上面。 其他人为观测的数据。 其中,摄像头实时监控数据由海康提供控件,直接从海康设备上获取,其他人为观测数据由用户手动输入,通过尾矿监控系统软件直接存放到数据库。 剩下的三类数据,也是尾矿监测系统需要用到的主要数据,则由本软件来负责处理。主要处理思路如下图。

数据采集软件通过不同的接口分别从全站仪,BGK设备和WAGO设备采集数据。并根据各自的数据格式对数据进行分析,并将分析处理后的标准数据存放到尾矿监测系统的数据库。 3软件结构 数据采集软件采用模块化设计,其系统架构如下图:

如图所示,软件总共分为四层: 数据接口层:主要用于和设备进行数据交互,目前需要接入全站仪,BGK,WAGO 数据;并且存入数据接口将数据保存到数据库。由于考虑到以后的扩展性,数据接口层的数据接口要能做到可配置化,即能通过添加模块的方式增加其他类型的数据接入。 数据处理层:配合数据接口,对采集上来的数据的数据格式进行处理,转换为标准格式。也需要做到可配置化。 数据交互层:由于考虑到数据的复杂性,所以软件内部的数据交互采用XML作为标准交互格式,即交互数据统一为XElement对象。 表现层:也就是用户界面,用户要能够通过用户界面对一些参数进行配置,如:全站仪数据库地址,用户名,密码;ACCESS数据库路径;OPC服务器名;存入数据库地址等等。 根据软件架构图,可将软件分为以下四个功能模块: 3.1全站仪模块 主要负责采集处理全站仪数据,由于全站仪数据是保存到SQL Server数据库中,所以处理过程相对简单,只需要从SQL数据库中将需要的数据读取出来,调整为标准格式,保存到尾矿监测系统的数据库中。 3.2BGK模块 主要负责从BGK设备采集数据,BGK数据是存放在本地ACCESS数据库文件中,那就需要先建立ACCESS数据库文件的本地磁盘映射,然后再通过ODBC驱动从中读取数据,保存到尾矿监测系统的数据库中。 3.3WAGO模块 WAGO是通过WAGO OPC Server软件采用OPC DA协议进行交互的,所以需要采用OPC SDK 连接到WAGO的OPC服务器端,通过OPC协议进行数据采集,并将其转换为标准格式,保存到尾矿监测系统的数据库中。

数据采集系统的设计与实现

长江大学工程技术学院 课程设计报告
课设题目
课程名称




学生姓名




指导教师


数据采集系统的设计与实现 汇编语言+微型计算机技术
信息系
2012 年 8 月 28 日~2012 年 9 月 9 日

目录
目录 长江大学工程技术学院 ..................... 错误!未定义书签。 一、设计目的 ............................. 错误!未定义书签。 二、设计内容 ............................. 错误!未定义书签。 三、硬件设计及分析 ....................... 错误!未定义书签。
1.总体结构图......................... 错误!未定义书签。 2.各部件端口地址设计及分析 ............ 错误!未定义书签。 3.各部件的组成及工作原理 .............. 错误!未定义书签。 四、软件设计及分析 ....................... 错误!未定义书签。 1.总体流程图......................... 错误!未定义书签。 2.主要程序编写及分析.................. 错误!未定义书签。 五、系统调试 ............................. 错误!未定义书签。 1.调试环境介绍........................ 错误!未定义书签。 2. 各部件的调试....................... 错误!未定义书签。 3.调试方法及结果...................... 错误!未定义书签。 六、总结与体会 ........................... 错误!未定义书签。 七、附录 ................................. 错误!未定义书签。

基于matlab的FFT算法程序设计

数字通信课程设计报告书 课题名称 基于matlab 的FFT 算法程序设计 姓 名 学 号 院 系 物理与电信工程系 专 业 电子信息工程 指导教师 2010年 01 月15日 ※※※※※※※※※ ※ ※ ※※ ※※ ※※ ※※※※※ ※※ 2007级数字通信 课程设计

基于matlab的FFT算法程序设计 0712401-36 李晔 (湖南城市学院物理与电信工程系通信工程专业,益阳,413000) 一、设计目的 1.通过该设计,进一步了解MATLAB软件。 2.通过该设计,进一步熟悉MATLAB的语法规则和编辑方式。 3.通过该设计,掌握傅里叶变换的含义和方法。 二、设计的主要要求 掌握Fourier变换,解了关于MATLAB软件在数字信号处理方面的应用,熟悉MATLAB的语法规则和编程。用MATLAB实现快速Fourier变换。 三、整体设计方案 对信号x=sin(2*pi*f0*t)进行频谱分析,用MATLAB仿真。选取抽样频率为fs=100Hz,依照下列条件用MATLAB软件对信号xt进行傅里叶变换y=fft(xt,N)并绘制频谱图,观察所产生的六幅频谱图进行对比,并进行分析。 四、程序设计 fs=100;%设定采样频率 N=128; n=0:N-1; t=n/fs; f0=10;%设定正弦信号频率

%生成正弦信号 x=sin(2*pi*f0*t); figure(1); subplot(321); plot(t,x);%作正弦信号的时域波形 xlabel('t'); ylabel('y'); title('正弦信号y=2*pi*10t时域波形'); grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 m=length(y); f=(0:m/2-1)'*fs/m;%进行对应的频率转换 figure(1); subplot(322); plot(f,mag(1:m/2));%做频谱图 axis([0,100,0,80]); xlabel('频率(Hz)'); ylabel('幅值'); title('正弦信号y=2*pi*10t幅频谱图N=128'); grid; %求均方根谱 sq=abs(y); figure(1); subplot(323); plot(f,sq(1:m/2)); xlabel('频率(Hz)'); ylabel('均方根谱');

系统设计文档模板

系统设计说明书(架构、概要、详细)目录结构 虽然这些文档一般来说公司都是有模板的,但我写这些文档以来基本上是每写一次就把目录结构给改一次,应该说这是因为自己对这些文档的理解开始加深,慢慢的越来越明白这些文档的作用和其中需要阐述的东西,觉得这三份文档主要阐述了一个系统的设计和实现过程,从系统分解为层次、层次内的模块以及相互的接口、模块分解为对象以及对象的接口、实现这些对象接口的方法。这次又整了一份,^_^,欢迎大家指正。 XXX架构设计说明书 (架构设计重点在于将系统分层并产生层次内的模块、阐明模块之间的关系)一.概述 描述本文的参考依据、资料以及大概内容。 二.目的 描述本文编写的目的。 三.架构设计 阐明进行架构设计的总体原则,如对问题域的分析方法。 3.1.架构分析 对场景以及问题域进行分析,构成系统的架构级设计,阐明对于系统的分层思想。 3.2.设计思想 阐明进行架构设计的思想,可参考一些架构设计的模式,需结合当前系统的实际情况而定。 3.3.架构体系 根据架构分析和设计思想产生系统的架构图,并对架构图进行描述,说明分层的原因、层次的职责,并根据架构图绘制系统的物理部署图,描述系统的部署体系。 3.4.模块划分 根据架构图进行模块的划分并阐明模块划分的理由,绘制模块物理图以及模块依赖图。

3.4.1.模块描述 根据模块物理图描述各模块的职责,并声明其对其他模块的接口要求。。 3.4.2.模块接口设计 对模块接口进行设计,并提供一定的伪代码。 XXX概要设计说明书 (概要设计重点在于将模块分解为对象并阐明对象之间的关系) 一.概述 描述本文的参考依据、资料以及大概内容。 二.目的 描述本文的编写目的。 三.模块概要设计 引用架构设计说明书中的模块图,并阐述对于模块进行设计的大致思路。 3.1.设计思想 阐明概要设计的思想,概要设计的思想通常是涉及设计模式的。 3.2.模块A 3.2.1.概要设计 根据该模块的职责对模块进行概要设计(分解模块为对象、描述对象的职责以及声明对象之间的接口),绘制模块的对象图、对象间的依赖图以及模块主要功能的序列图,分别加以描述并相应的描述模块异常的处理方 法。 3.2.2.模块接口实现 阐明对于架构设计中定义的模块接口的实现的设计。 XXX详细设计说明书 (详细设计重点在于对模块进行实现,将模块的对象分解为属性和方法,并阐述 如何实现) 一.概述

基于完整数据采集系统设计方案

基于完整数据采集系统设计方案 简介 可编程逻辑控制器(PLC)是很多工业自动化和过程控制系统的核心,可 监控和控制复杂的系统变量。基于PLC 的系统采用多个传感器和执行器,可测量和控制模拟过程变量,例如压力、温度和流量。PLC 广泛应用于众多不同应用,例如工厂、炼油厂、医疗设备和航空航天系统,它们需要很高的精度,还 要保持稳定的长时间工作。此外,激烈的市场竞争形势要求必须降低成本和缩 短设计时间。因此,工业设备和关键基础设施的设计人员在满足客户对精度、 噪声、漂移、速度和安全的严格要求方面遇到了严峻的挑战。本文以PLC 应用为例,说明多功能、低成本的高度集成ADAS3022 如何通过更换模拟前端(AFE)级,降低复杂性、解决多通道数据采集系统设计中遇到的诸多难题。这 种高性能器件具有多个输入范围,非常适合高精度工业、仪器、电力线和医疗 数据采集卡应用,可以降低成本和加快产品面市,同时占用空间很小,易于使用,在1 MSPS 速率下提供真正的16 位精度。 PLC 应用示例 在工业应用中,模拟输入模块可获取和监控恶劣环境中的远程传感器信号,例如存在极端温度和湿度、振动、爆炸化学物品的环境。典型信号包括具 有5 V、10 V、±5 V 和±10 V 满量程范围的单端电压或差分电压,或者0 mA 至20 mA、4 mA 至20 mA、±20 mA 范围的环路电流。当遇到具有严重电磁干扰(EMI)的长电缆时,通常使用电流环路,因为它们本 身具有良好的抗扰度。 模拟输出模块通常控制执行器,例如继电器、电磁阀和阀门等,以形成 完整自动化控制系统。它们通常提供具有5 V、10 V、±5 V 和

FFT算法研究及基2-FFT算法的C语言实现

毕业设计 [论文] 题目:FFT算法研究及基2-FFT算法的C语言实现学院:电气与信息工程学院 专业:电气工程及其自动化 姓名:XXX 学号:XXXXXX 指导老师:XXX 完成时间:2015年06月01日

摘要 离散傅立叶变换(DFT)常常用于计算信号处理。DFT算法可以得到信号的频域特性,因为该算法在计算上是密集的,长时间的使用时,计算机不能实时进行信号处理。所以DFT被发现之后的相当长时间内是没被应用到实际的项目。到了二十世纪六十年代中期一种新的计算方法被研究者发现出来,它就是FFT。FFT 并不是一种新的获取频域特征的方式,而是离散傅里叶变换的一种快速实现算法。 数字信号处理在当今科技发展中发展很迅速,不但是在传统的通信领域,其他方面也经常用到。利用快速傅里叶变换,实现了信号频域的变换处理。对于信号的处理,往往会和数学中的算法联系到一起。如果处理得当,将会对气象,地理信息等的发展,起到举足轻重的作用,同时对世界其他领域的发展有很大的促进作用。 关键词: FFT算法,C语言,编译实现

Abstract Discrete Fourier Transform (DFT) is often used to calculate the signal processing to obtain frequency domain signals. DFT algorithm can get the frequency domain characteristics of the signal, because the algorithm is computationally intensive, long-time use, the computer is not conducive to real-time signal processing. So DFT since it was discovered in a relatively long period of time is not to be applied to the actual projects until a new fast discrete Fourier calculation method --FFT is found in discrete Fourier transform was able to actually project has been widely used. FFT is not a new way to get the frequency domain, but the discrete Fourier transform of a fast algorithm. Fast Fourier Transform (FFT) is a digital signal processing important tool that the time domain signal into a frequency-domain signal processing. matched filtering has important applications. FFT is a discrete Fourier transform (DFT) is a fast algorithm, it can be a signal from the time domain to the frequency domain. Some signals in the time domain is not easy to observe the characteristics of what is, but then if you change the signal from the time domain to the frequency domain, it is easy to see out of. This design is required to be familiar with the basic principles of FFT algorithm, based on the preparation of C language program to achieve FFT algorithm real number sequence. Keywords: FFT algorithm, C language compiler to achieve

java的开发详细设计文档模板

一卡通管理程序说明 详细设计说明书 作者:唐庆龙 完成日期:2009/10/7 签收人:老师 签收日期:2009/10/10 修改情况记录:

目录 1 引言 (1) 1.1 编写目的 (1) 1.2 背景 (1) 1.3 定义 (1) 1.4 参考资料 (1) 2 程序系统的结构 (1) 3 程序1(标识符)设计说明 (2) 3.1 程序描述 (2) 3.2 功能 (2) 3.3 性能 (2) 3.4 输入项 (2) 3.5 输出项 (2) 3.6 算法 (3) 3.7 流程逻辑 (3) 3.8 接口 (3) 3.9 存储分配 (3) 3.10 注释设计 (3) 3.11 限制条件 (3) 3.12 测试计划 (3) 3.13 尚未解决的问题 (4) 4 程序2(标识符)设计说明 (4)

1 引言 1.1 编写目的 说明编写这份详细设计说明书的目的,指出预期的读者范围。 1.2 背景 说明: a.待开发的软件系统的名称; b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。 1.3 定义 列出本文件中用到的专门术语的定义和缩写词的原词组。 1.4 参考资料 列出要用到的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2 程序系统的结构 用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。

相关主题
文本预览
相关文档 最新文档