FPGA数据采集与回放系统设计论文[推荐五篇]

时间:2022-04-25 01:04:38下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《FPGA数据采集与回放系统设计论文》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《FPGA数据采集与回放系统设计论文》。

第一篇:FPGA数据采集与回放系统设计论文

FPGA数据采集与回放系统设计论文

在个人成长的多个环节中,大家或多或少都会接触过论文吧,论文是我们对某个问题进行深入研究的文章。怎么写论文才能避免踩雷呢?下面是小编为大家整理的FPGA数据采集与回放系统设计论文,欢迎阅读,希望大家能够喜欢。

1系统及其原理

基于通用信号处理开发板,利用FPGA技术控制AD9233芯片对目标模拟信号采样,再将采样量化后的数据写入USB接口芯片CY7C68013的FIFO中,FIFO写满后采用自动触发工作方式将数据传输到PC机。利用VC++6.0软件编写上位机实现友好的人机交互界面,将传输到PC机上的数据进行储存和实时回放。本系统主要实现以下两大功能:1)ADC模块对目标模拟信号进行采样,利用FPGA技术将采样后的数据传输到USB接口芯片CY7C68013的FIFO中存储。2)运用USB2.0总线数据传输技术,将雷达回波信号数据传输到PC机实时回放。分为应用层、内核层和物理层3部分。应用层和内核层主要由软件实现。应用层采用VC++6.0开发用户界面程序,为用户提供可视化操作界面。内核层基于DriverWorks和DDK开发系统驱动程序,主要起应用软件与硬件之间的桥梁作用,把客户端的控制命令或数据流传到硬件中,同时把硬件传输过来的数据进行缓存。物理层主要以FPGA为核心,对USB接口芯片CY7C68013进行控制,通过USB2.0总线实现对中频信号采集。系统设计采用自底向上的方法,从硬件设计开始逐步到最终的应用软件的设计。

2硬件设计

FPGA在触发信号下,控制ADC采样输入信号,并存入FIFO中。当存满时,将数据写入USB接口芯片CY7C68013,同时切换另一块FIFO接收ADC转换的数据,实现乒乓存储,以提高效率。FPGA模块的一个重要作用是控制USB接口芯片CY7C68013。当ADC采样后,数据进入FPGA模块,FPGA控制数据流将其写入CY7C68013的FIFO中,以便于USB向PC机传输。CY7C68013的数据传输模式采用异步slaveFIFO和同步slaveFIFO切换模式。通过实测,前者传输速度约为5~10Mbit/s,后者传输速度最高可达20Mbit/s,传输速度的提高可通过更改驱动程序的读取方式实现。

3软件设计

3.1USB驱动程序设计

USB2.0总线传输技术最高速率可达480Mbit/s。本系统采用批量传输的slaveFIFO模式。CY7C68013芯片内部提供了多个FIFO缓冲区,外部逻辑可对这些端点FIFO缓冲区直接进行读写操作。在该种传输模式下,USB数据在USB主机与外部逻辑通信时无需CPU的干预,可大大提高数据传输速度。Cypress公司为CY7C68013芯片提供了通用的驱动程序,用户可根据需求开发相应的固件程序。

3.2FPGA模块程序设计

系统中FPGA模块的'核心作用是控制AD9233芯片进行采样。AD9233作为高速采样芯片,其最高采样速率达125Mbit/s,最大模拟带宽为650MHz。通过改变采样速率可使该系统采集不同速率需求的信号,扩展了该系统的应用范围。描述FPGA控制USB数据写入接口芯片FIFO的状态机如图6所示。状态1表示指向INFIFO,触发FIFOADR[1:0],转向状态2;状态2表示若FIFO未满则转向状态3,否则停留在状态2;状态3表示驱动数据到总线上,通过触发SLWR写数据到FIFO并增加FIFO的指针,然后转向状态4;状态4表示若还有数据写则转向状态2,否则转向完成。

3.3上位机设计

为实现人机交互,利用VC++MFC在PC机上编写了可视化操作界面,即上位机。上位机既用于数据采集的控制,同时也用于采集数据的实时回放。上位机界面如图7所示。上位机主要功能:

1)按下“检测USB”按钮,可检测USB是否连接正常,并显示USB基本信息。

2)按下“开始采集”按钮,可将采集的数据传输到PC机并实时回放数据波形;再次按下“开始采集”按钮,可暂停数据波形回放。

3)按下“保存数据”按钮,可将采集的数据以*.dat文件的形式存储到PC机硬盘。

4)按下“结束采集”按钮,可关闭采集系统并退出界面;或按下“确定”和“取消”按钮,也可直接退出界面。

4系统实测

为了测试数据采集与回放系统,利用通用信号处理开发板设计了DDS模块。该DDS模块产生一个正弦波作为测试信号,通过AD9744芯片转换后变为模拟信号输出,并将此输出信号接至示波器以便验证系统。数据采集与回放系统的实物图及系统实测波形与回放波形。

5结束语

通过实际测试,基于FPGA的数据采集与回放系统达到了预期设计的要求。此系统能够对目标模拟数据进行采集,并能对采集的数据实时回放,且可将数据以*.dat文件的形式存入PC机硬盘;系统具有高速的采集传输功能,上位机能够实时、动态地回放数据;信号采集板和处理板共用一套硬件,避免了重复制板,在实际调试时可方便地在信号采集与信号处理的工作模式间来回切换,提高了工作效率。原驱动程序官方版本为了满足通用性和稳定性的要求,限制了传输速率,本设计开发了相应的USB驱动程序,提高了传输速率。

第二篇:单位数据采集系统用户手册

西安市医疗保险数据采集系统(单位端)

西安市医疗保险管理信息系统

单位数据采集子系统

用 户 手 册

Ver 1.0

沈阳东软软件股份有限公司

二零零二年四月 西安市医疗保险数据采集系统(单位端)

目 录.............................................................2 版权声明............................................................3 第一章 系统概要介绍................................................5

§1.1 系统进入说明..................................................................................................................5

§1.2 系统主界面介绍..............................................................................................................5 §1.3 系统主要功能介绍..........................................................................................................5

第二章 缴费工资...................................错误!未定义书签。

§2.1 界面布局如下:..............................................................................................................6 §2.2 操作说明..........................................................................................................................6

第三章 医疗保险数据采集............................................8

§3.1界面布局如下图:...........................................................................................................8 §3.2操作说明:.......................................................................................................................9

第四章 其他........................................................9

§4.1 实用工具........................................................................................................................10 §4.2 窗口................................................................................................................................11 §4.3 退出................................................................................................................................11 §4.4 帮助................................................................................................................................11

西安市医疗保险数据采集系统(单位端)

版权声明

西安市医疗保险信息管理系统Ver1.00版权归沈阳东软软件股份有限公司所有,任何侵犯版权的行为将被追究法律责任。未经沈阳东软软件股份有限公司的书面准许,不得将本手册的任何部分以任何形式、采用任何手段(电子的或机械的,包括照相、复制或录制)、或为任何目的,进行复制或扩散。

(C)copyright 2000—2003沈阳东软软件股份有限公司。版权所有,翻制必究。

是沈阳东软软件有限公司的注册商标。

单位数据采集系统用于单位报盘,各单位操作员在使用本系统时必须详细阅读此说明书,严格按照操作规范;如果因为操作员的失误而造成数据的不准确性,其后果由操作员自行负责。

西安市医疗保险数据采集系统(单位端)

阅读指南

〖手册目标〗

本手册是沈阳东软软件股份有限公司的软件产品——西安市医疗保险管理信息系统单位数据采集子系统的用户手册。本手册详细介绍了该系统的操作过程。

〖阅读对象〗

本手册是为西安市医疗保险信息管理系统单位数据采集子系统涉及的医疗保险参保单位相关的操作人员编写的。用户在使用西安市医疗保险信息管理系统单位数据采集子系统之前,应该首先阅读本手册,以避免误操作。

西安市医疗保险数据采集系统(单位端)

第一章

系统概要介绍

§1.1 系统进入说明

正确安装单位数据采集子系统(在桌面有快捷图表):企业数据采集,点击即启动本系统。

§1.2 系统主界面介绍

双击图标后出现如下主界面:

§1.3 系统主要功能介绍

系统包括的功能有:

单位年审:完成参保职工在每年工资变更时的维护工作。新参保人员上报:采集本次要进入医疗保险信息库中的数据。单位基本信息变更:完成对医疗保险信息库中的单位信息的修改。

西安市医疗保险数据采集系统(单位端)

第二章 单位年审

该业务主要是用于对参保职工工资变更时由单位批量的修改后再报盘给医疗保险管理事业处。主要是在每年年审的时候使用!

§2.1 界面布局如下:

图2-1 §2.2 操作说明

1.点击【取档】按钮,出现如下的选择文件的选择文件的窗口:

西安市医疗保险数据采集系统(单位端)

图2-2 选择一个扩展名为dbf的文件,然后打开,如果数据格式不是很符合规范或不是有效的导出数据,会出现一些提示,禁止用户导入。选择确定,取出数据,如图2-3:

图2-3 在此基础上修改数据,修改完毕后,点击【保存】按钮,进行数据准确性校验并且保存,然后出现如图2-2的界面,把数据重新存储为一个扩展名为dbf的文件,用于上报医保处。

【单位名称输入】如需在打印“工资申报花名册”报表时,在表头添加单位名称,则需在此录入单位名称。

【打印】把所有的数据打印出来;

【清屏】清除屏幕,使窗口回到如图2-1界面。

【关闭】关闭此窗口,进行其他业务的工作。如果数据修改,也会提示保存!注意:修改数据时要格外仔细,以免造成数据的不准确性。【查询】点击此查询按钮的时候,弹出如2-4的查询条件窗口:

西安市医疗保险数据采集系统(单位端)

图2-4 输入姓名或者身份证号然后按【确定】按钮可以查找出对应的数据,并定位光标到符合条件的行,如果没有符合条件的数据,则查询不出!

第三章 新参保人员上报

该业务主要是用于一个新参保单位的员工批量新参保时的数据采集。

§3.1界面布局如下图:

图3-1 8 西安市医疗保险数据采集系统(单位端)

§3.2操作说明:

点击【添加】按钮,出现如下界面:

图3-2 在此界面下录入一个新参保人员的基本信息,录入完后,再按【添加】按钮再次添加一个新参保人员的基本信息。

如果发现其中某条信息不正确,则选中其中该条信息,按【删除】按钮就可以删除光标所在行的信息,注意:删除时要十分小心,以免误操作!

在数据正确无误的录入完毕后,按【存盘】按钮,出现如图3-2所示的界面,把所有数据存为一个扩展名为dbf的文件,用于上报医保处。

【打印】把所有数据打印出来;

【关闭】关闭该窗口,进行其他的业务操作。关闭窗口的时候会提示保存数据!注意:录入数据时要格外小心,如果由于录入员疏忽造成数据不准确,其后果由录入员自行负责。

【取上次存档文件】紧接上次保存文件进行数据录入。

第四章 单位信息变更

该业务主要是用于单位基本信息的变更修改。西安市医疗保险数据采集系统(单位端)

§4.1界面布局如下图:

图4-1 §4.2操作说明:

在此界面下录入单位需要变更的基本信息,录入完后,再按【添加】按钮再次添加一个新参保人员的基本信息。

如果发现其中某条信息不正确,则选中其中该条信息,按【清屏】按钮就可以删除光标所在行的信息,注意:删除时要十分小心,以免误操作!

在数据正确无误的录入完毕后,按【存盘】按钮,出现如图3-2所示的界面,把所有数据存为一个扩展名为bg的文件,用于上报医保处。

【打印】把所有数据打印出来;

【关闭】关闭该窗口,进行其他的业务操作。关闭窗口的时候会提示保存数据!注意:录入数据时要格外小心,如果由于录入员疏忽造成数据不准确,其后果由录入员自行负责。

第五章

其他

§5.1 实用工具

为了方便操作员,程序中集成了windows操作系统的工具:计算器和记事本。西安市医疗保险数据采集系统(单位端)

§5.2 窗口

可以改变窗口的几种显示方式,用户可以根据自己的需要选择。

§5.3 退出

退出系统操作。

§5.4 帮助

关于,可以查阅一些基本信息,如系统信息,软件版本信息等,如下图:

图5-1 11

第三篇:基于USB的数据采集系统的研究与设计--总结

基于 USB 的数据采集系统的研究与设计

目前,市场上有几百种 USB 设备,包括 USB 集线器、打印机、扫描仪器、存储器、数码相机和调制解调设备等。在数据采集系统中应用 USB2.0 接口总线,首先计算机系统要支持 USB2.0 协议。目前计算机几乎都支持 USB1.1 协议,如果支持 USB2.0 协议,那么系统的 USB 主机就必须包含USB2.0 根集线器,用于给系统提供一个或多个设备端口;同时,系统还必须安装相应的驱动程序。

USB总线的物理连接和电气特性

USB数据传输采用四根电缆,其中两根(D+、D-)是用来传送数据的串行通道,另两根(VBUS、GND)是符合标准的电源线,为下游的USB设备提供电源。其中,D+、D-是串行数据通信线,它支持两种数据传输速率,对于高速外设,USB以全速 12Mbps或高速 480Mbps传输数据;对于低速外设,USB则以 1.5Mbps的传输速率传输数据。USB总线会根据外设情况在不同的传输模式中自动地转换。VBUS通常是+5V电源,GND是地线。

USB 的电源

USB 的电源主要包括两方面:

电源分配:即 USB 的设备如何通过 USB 总线获得主机提供的电源; 电源管理:即通过电源管理系统,USB 的系统软件和设备如何与主机协调工作。

(1)电源分配

每段 USB 都在电缆上提供了数量有限的电源。主机向与它直接相连的 USB 设备提供电源,并且每个 USB 设备都有自己的电源。那些完全依靠电缆提供能源的设备称作“总线功能”设备。相反,那些有

另外电源的设备称作“自供电”设备。而且,集线器也可为连接在它上面的 USB 设备提供电源。

(2)电源管理

USB 主机与 USB 系统有相互独立的电源管理系统。USB 的系统软件和主机的电源管理系统相互作用,处理系统的电源事件,如挂起和恢复等。另外,USB 设备还有额外的功耗管理特性,允许软件对他们进行功耗管理。USB 总线拓扑结构

USB将USB设备和USB主机连接在一起。USB的物理互连是一个分层的星形拓扑结构,集线器在每个星形的中心。每段线路都是主机与集线器或功能设备之间,或者集线器与另一个集线器或功能设备之间的点对点连接 USB通信流

USB 在主机的软件和 USB 功能设备之间提供了通信服务。功能设备根据不同的客户软件与功能设备的相互作用对通信流有不同的要求。通过将 USB 功能设备的各种通信流分离,USB 能更好地全面利用总线。通信流利用总线访问来完成主机和功能设备之间的通信。通信流在设备的端点中止,设备的端点可以

识别所有通信流。

USB 逻辑设备对 USB 系统来说是一个端点的集合。接口是端点聚集而成的端点集,是功能设备的体现。USB 系统软件用默认的控制管道管理设备。客户软件用管道束(与端点集相关)来管理接口。客户软件要求数据通过USB在主机上的缓冲区和USB设备上的端点之间移动。而在 USB 上移动之前,由主机控制器(或者 USB 设备,由传输方向决定)将数据进行封装。当总线访问是在 USB 上移动数据包时,主机控制器也协同操作。

设备端点(Device Endpoint)

端点是 USB 设备唯一可识别的部分,是主机和设备间通信流的终点,每个 USB 逻辑设备都由独立端点集(这个集合就是接口)组成。当设备连接时,系统为每个逻辑设备分配了唯一的地址,设备的每个端点在设计时就给定了一个由设备决定的唯一的标识符—端点号。每个端点都有由设备决定的数据流方向。设备地址、端点号和方向的组合允许唯一指定一个端点,每个端点都单一的连接,支持一个方向的数据流输入(从设备到主机)或输出(从主机到设备)。

管道

USB管道是设备端点和主机软件之间的联系。管道可以通过存储器的缓冲区在主机软件与设备端点

之间传输数据。有两种相互独立的管道通信模式:

1.流:在管道中传输的数据没有 USB 定义的结构。

2.消息:在管道中传输的数据有某些 USB 定义的结构,只能用于控制传输。

帧和微帧(Frames and Microframes)

USB 工作在全速/低速状态时,主机控制器每隔 1 毫秒发送一帧数据;而工作在高速状态时,主机控制器每隔 125 微秒就发送一帧数据。一帧(或微帧)数据可包含几种事务。USB 数据传输类型是从 USB 系统软件的管理角度来描述的。传输(Transfer)是指在客户软件和它的功能模块之间的一个或多个信息传输的总线事务。传输类型决定于客户软件和它的功能模块之间的数据流特性。USB 定义了 4 种传输类型,以满足在总线上进行不同类型的数据的传输需要。

USB数据传输类型

批量传输用于传输突发的大量的数据,全速模式时以 8,16,32 或 64 字节(高速模式时是 512 字节)的信息包传送。由于对出错的数据自动的进行重发,批量数据可确保无误发送。

控制传输至少有两个阶段:建立阶段和状态阶段。控制传输也可以根据不同的情况选择是否需要在建立阶段和状态阶段包含一个数据阶段。

中断传输主要用于定时查询设备是否有中断数据要传输,是一种主机定时侦听设备。设备的端点

模式器的结构决定了它的查询频率,在 1-255ms 之间。中断传输在高速时的数据载荷可达 1023 字节,在全速时的载荷量小于 64 字节。中断传输主要应用于键盘、操纵杆和鼠。

同步传输用于保证时间优先的数据流,如音频和视频数据流,传输的时间对于数据来说是非常必要的条件,在全速模式时,一个同步包包含 1023 字节;在高速模式时,一个同步包包含 1024 字节。

数据采集系统的硬件

数据采集系统在总体上分为硬件和软件两大部分。数据采集系统的硬件部分

主要包括芯片的选择、数据采集和传输电路以及电源转换电路等。数据采集系统的软件部分主要由三部分组成:USB 固件程序(Firmware)、USB 设备驱动程序以及应用程序;三部分程序之间相互协作来完成整个采集系统的功能。

USB芯片选择

目前 USB 芯片大致分为 5 大类型:

1)单独运作的 USB 接口芯片;

2)内含 USB 单元的微处理器(MPU);

3)特定的接口转芯片,如 USB 转 RS-232 或 USB 转 ATA/ATAPI 等;

4)PC 端或主机端的 USB 控制器;

模数转换芯片的选择

目前,随着数据采集应用的日益普遍,为了满足不同场合和分辨率的要求,模数转换芯片也是种类繁多。选择 A/D 转换芯片需要考虑器件本身的性能和具体的应用要求。选择 A/D 转换芯片要考虑一些参数指标,如芯片精度、芯片的转换速度和芯片的转换量程等。

1)精度:与系统测量的信号范围有关,但估算时要考虑到其他因素,转换器位数应该比总精度要求的最低分辩率高一位。常见的 AD 器件有 8 位,10 位,12 位,14 位,16 位等。

2)速度:应根据输入信号的最高频率来确定,保证转换器的转换速率要高于系统要求的采样频率。

3)模拟信号类型:通常 AD 器件的模拟输入信号都是电压信号,而 DA 器件输出的模拟信号有电压和电流两种。

为了匹配 USB2.0 的高速传输特性,满足广泛的实际需要,本设计选用的是采样速度快、分辨率高的 A/D 转换器 MAX125。

数据采集系统的固件程序设计

固件程序主要负责完成两项任务:一是作为驻留在设备中的内部应用程序,响应主机的列举请求,实现配置设备并将设备的配置信息(如支持哪些传输类型和端点)告知主机,进而为主机和设备之间进行数据通信做好准备工作:二是作为整个设备的控制中心,根据用户应用系统的特定要求,实现对外围设备的具体控制。USB控制器芯片借助CPU执行固件程序来控制芯片的活动,以实现数据传输功能。固件的设计就是使在USB总线上的传输能获得快速的、有效的数据传输速度。它的操作方式与硬件联系紧密,包括USB设备的连接、列举、重列举、USB协议和中断处理等。

列举和重列举

列举和重列举是 USB 设备的一个非常重要的机制。是在初始阶段必须经历的阶段,只有这两个过程成功的完成,USB 设备才可能实现系统中设计的功能,否则,设备只能是一个主机不能识别的最原始的设备,或者是功能不完全的设备。

设备端点的配置

端点配置是在TD_Init()函数中实现的。USB数据通过端点缓冲区进入FX2 和从FX2 中取出。为了保证 480Mb/s高速的传输速率,外部逻辑经常在没有FX2 内嵌的CPU参与的情况下,直接与端点FIFO交换数据。USB设备启动时,要配置端点使它获得足够的带宽和FIFO深度,使数据传输更加平稳和高速。

当应用程序要求CPU处理外部逻辑和USB之间的数据流时(或者根本就没有连接外部逻辑时),固件可以将端点缓冲区作为RAM块或(使用特定的自动增量指针)FIFO访问。

设备驱动程序的组成驱动程序是一些例程的集合,它们被动的存在,等待主机系统软件(PnP管理器、I/O管理器、电源管理器等)来调用或激活它们。WDM驱动程序的功能模块基本由五个部分组成:入口例程,即插即用例程,分发例程,电源管理例程和卸载例程。

1.入口例程:处理驱动程序的初始化;

2.即插即用例程:处理 PnP 设备的添加,删除和停止;

3.分发例程:处理用户应用程序发出的各种 I/O 请求;

4.电源管理例程:处理电源管理请求;

5.卸载例程:处理驱动程序的卸载。

USB 设备驱动程序的开发

目前,用于开发设备驱动程序的工具大概有以下几种:

1.直接使用Windows DDK:这种方法开发难度大,而且有很多烦琐的工作要作,大部分都是通用的基础性的工作,但是,使用这种方法,需要对WDM驱动程序的整体结构有一个很好的认识和把握。

2.使用Driver studio:工具难度会低一些,工具软件己经作了很多基础性的工作。也封装了一些细节,使用者只需要专心去执行需要的操作。但由于封装的问题,可能会带来一些bug,有可能导致项目的失败。

3.使用Win Driver:几乎没有难度(从开发驱动的角度)。很容易,但只能开发硬件相关的驱动,事实上所写的只是定制和调用了它提供的通用驱动而已,工作效率不是很高。但开发花费的时间很少。

第四篇:虚拟仪器数据采集应用论文

虚拟仪器是以一种全新的理念来设计和发展的仪器,他是90年代发展起来的一项新技术,主要用于自动测试、过程控制、仪器设计和数据分析等领域,其基本思想是在仪器设计或测试系统中尽可能用软件代替硬件,即“软件就是仪器”,他是在通用计算机平台上,根据用户需求来定义和设计仪器的测试功能,其实质是充分利用计算机的最新技术来实现和扩展传统仪器的功能。

虚拟仪器的特点和构成 1.1 虚拟仪器的特点

与传统仪器相比,虚拟仪器具有高效、开放、易用灵活、功能强大、性价比高、可操作性 好等明显优点,具体表现为:

智能化程度高,处理能力强 虚拟仪器的处理能力和智能化程度主要取决于仪器软件水平。用户完全可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。

复用性强,系统费用低 应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能的测试分析仪器,如同一个高 速数字采样器,可设计出数字示波器、逻辑分析仪、计数器等多种仪器。这样形成的测试仪 器系统功能更灵活、更高效、更开放、系统费用更低。通过与计算机网络连接,还可实现虚 拟仪器的分布式共享,更好地发挥仪器的使用价值。

可操作性强,易用灵活 虚拟仪器面板可由用户定义,针对不同应用可以设计不同的操作显示界面。使用计算机的 多媒体处理能力可以使仪器操作变得更加直观、简便、易于理解,测量结果可以直接进入数 据库系统或通过网络发送。测量完后还可打印、显示所需的报表或曲线,这些都使得仪器的 可操作性大大提高而且易用、灵活。

1.2 虚拟仪器的构成 虚拟仪器的构建主要从硬件电路的设计、软件开发与设计2个方面考虑。

硬件电路的设计主要根据用户所面对的任务决定,其中接口设计可选用的接口总线标准包 括Gp IB总线、VXI总线等。推荐选用VXI总线。因为他具有通用性强、可扩充性好、传输速 率高、抗干扰能力强以及良好的开放性能等优点,因此自1987被首次推出后迅速得到各大仪 器生产厂家的认可,目前VXI模块化仪器被认为是虚拟仪器的最理想平台,是仪器硬件的发 展方向。由于VXI虚拟仪器的硬件平台的基本组成是一些通用模块和专用接口。因此硬件电 路的设计一般可以选择用现有的各种不同的功能模块来搭建。通用模块包括:信号调 理和高速数据采集;信号输出与控制;数据实时处理。这3部分概括了数字化仪 器的基本组成。将具有一种或多种功能的通用模块组建起来,就能构成任何一种虚拟仪器。例如使用高速数据采集模块和高速实时数据处理模块就能构成1台示波器、1台数字化仪或 1台频谱分析仪;使用信号输出与控制模块和实时数据处理模块就能构成1台函数发生器、1台信号源或1台控制器。专用接口是针对特定用途仪器需要的设计,也包括一些现场总线 接口和各类传感器接口。系统的主要硬件包括控制器、主机箱和仪器模块。常用的控制方案 有GpIB总线控制方式的硬件方案、MXI总线控制方式的硬件方案、嵌入式计算机控制方式的 硬件方案3种。VXI仪器模块又称为器件(devices)。VXI有4种器件:寄存器基器件、消 息基器件、存储器器件和扩展器件。存储器器件不过是专用寄存器基器件,用来保存和传输 大量数据。扩展器目前是备用件,为今后新型器件提供发展通道。将VXI仪器制作成寄存器 基器件,还是消息基器件是首先要做出的决策。寄存器基器件的通信情况极像VME总线器件,是在低层用二进制信息编制程序。他的明显优点在于速度寄存器基器件完全是在 直接 硬件控制这一层次上进行通信的。这种高速通信可以使测试系统吞吐量大大提高。因此,寄 存器基器件适用于虚拟仪器中信号/输出部分的模块(如开关、多路复用器、数/模转换输出 卡、模/

数转换输入卡、信号调理等)。消息基器件与寄存器基器件不同,他在高层次上用A SCII字符进行通信,与这种器件十分相似是独立HpIB仪器。消息基器件用一组意义 明确的 “字串行协议”相互进行通信,这种异步协议定义了在器件之间传送命令和数据所需的挂钩 要求。消息基器件必须有CpU(或DSp)进行管理与控制。因此,消息基器件适用于虚拟仪器 中数字信号处理部分的模块。

软件的开发与设计包括3部分:VXI总线接口软件、仪器驱动软件和应用软件(软面板)。软件结构如图1所示。

VXI总线接口软件由零槽控制器提供,包括资源管理器、资源编辑程序、交互式控制程序和 编程函数库等。该软件在编程语言和VXI总线之间建立连接,提供对VXI背板总线的控制和支 持,是实现VXI系统集成的基础。

仪器驱动程序是完成对某一特定仪器的控制与通信的软件程序,也即模块的驱动软件,他 的设计必须符合Vpp的2个规范,即Vpp3.1《仪器驱动程序结构和模型》和Vpp3.2《仪器 驱动程序设计规范》。

“软面板”设计就是设计具有可变性、多层性、自助性、人性化的面板,这个面板应不 仅同传统仪器面板一样具有显示器、LED、指针式表头、旋钮、滑动条、开关按钮、报警装 置等功能部件,而且应还具有多个连贯操作面板、在线帮助功能等。

虚拟仪器在数据采集中的应用

利用虚拟仪器制作数据采集器可以按照硬件设计、软件设计两个步骤来完成。

2.1 硬件设计

硬件设计要完成以下内容:

1)模/数转换及数据存储

设置具有通用性的数据自动采集系统,一般应满足能对多路信号尽可能同步地进行采集,为了使所采集到的数据不但能够在数据采集器上进行存储,而且还能及时地在采集过程中 将数据传送到上位机,选用存储量比较适中的先进先出存储器,这样既能满足少量数据存储 的需要,又能在需要实时传送数据时,在A/D转换的同时进行数据传送,不丢失任何数据。)VXI总线接口

VXI总线数据采集器通常可以利用两种VXI总线通用接口消息基接口和寄存器基接口。消 息基接口的作用是通过总线传送命令,从而控制仪器硬件的操作。通用寄存器基接口是由寄存器简单的读写来控制仪器硬件的操作。利用消息基接口进行设计,具体消息基接口的框图见图2。

3)采样通道控制

为了满足几种典型系统通道控制的要求,使通道的数量足够多,通道的选取比较灵活,可以利用寄存器电路、可预置计数器电路以及一些其他逻辑电路的配合,将采样通道设计成最多64路、最少2路可以任意选择,而且可以从任意一路开始采样,也可以到任意一路结束采样,只要截止通道号大于起始通道号就可以了。整个控制在虚拟仪器软面板上进行操作,通过消息基接口将命令写在这部分的控制寄存器中,从而设置计数器的初值以及采样的通道总数。

4)定时采样控制

由于不同的自动测试系统对采样时间间隔的要求不同,以及同一系统在不同的试验中 需要的采样时间间隔也不尽相同,故可以采用程控的方式将采样时间间隔设置在2 μs~13.0 ms之间任意选择,可以增加或减少的最小单位是2 μs。所有这些选择设置可以在虚拟仪器软面板上进行。

5)采样点数控制

根据不同测试系统的需求,将采样点数设计成可在一个比较大的范围中任意选择,该选择同样是在软面板上进行。

6)采样方式控制

总结各种自动测试系统的采样方式不外乎软件触发采样和硬件 触发采样。在硬件触发采样中又包括同步整周期采样和非同步整周期采样,这2种采样又可 以是定时进行的或等转速差进行的。所有这些采样方式,对于数据采集器来说都可以在软面 板上进行选择。

2.2 软件设计

软件是虚拟仪器的关键,为使VI系统结构清晰简洁,一般可采用组件化设计思想,将各部分彼此独立的软件单元分别制成标准的组件,然后按照系统的总体要求组成完整的应用系统,一个标准的组件化的虚拟仪器软件系统,如图3所示。

应用软件为用户提供了建立虚拟仪器和扩展其功能的必要工具,以及利用pC机、工作站的 强大功能。同时Vpp联盟提出了建立虚拟仪器标准结构库(VISA)的建议,为虚拟仪器的研 制与开发提供了标准。这也进一步使由通用的VXI数据采集模块、CpU/DSp模块来构成虚拟仪 器成为可能。

基于虚拟仪器的数据采集器的软件包括系统管理软件、应用程序、仪器驱动软件和I/O接 口 软件。以往这4部分需要用户自己组织或开发,往往很困难,但现在NI公司提供了所有这 四部分软件,使应用开发比以往容易得多。

下面简单介绍以NI公司的Lab Windows/CVI为开发环境,来进行VXI虚拟仪器的驱动程序开 发的方法。

第一步:生成仪器模块的用户接口资源文件(UIR)。用户接口资源、文件是仪器模块 开 发者利用Lab Windows/CVI的用户界面编辑器为仪器模块设计的一个图形用户界面(GUI)。一个Lab Windows/CVI的GUI由面板、命令按钮、图标、下拉菜单、曲线、旋钮、指示表以及 许多其他控制项和说明项构成。

第二步:Lab Windows/CVI事件驱动编程。应用程序开发环境Lab Windows/CVI中设计一个 用户接口,实际上是在用户计算机屏幕上定义一个面板,他由各种控制项(如命令按钮、菜 单、曲线等)构成。用户选中这些控制项就可以产生一系列用户接口事件(events)。例如,当用户单击一个命令按钮,这个按钮产生一个用户接口事件,并传递给开发者编写的C语 言驱动程序。这是运用了Windows编程的事件驱动机制。Lab Windows/CVI中使用不同类型的 控制项,在界面编辑器中将显示不同类型的信息,并产生不同操作的接口事件。在Lab Wind ows/CVI的开发平台中,对事件驱动进行C程序编程时可采用2种基本的方法:回调函数法和 事件循环处理法。

回调函数法是开发者为每一个用户界面的控制项写一个独立的用户界面的控制函数,当选中某个控制项,就调用相应的函数进行事件处理。在循环处理法中,只处理GUI控制 项所产生的COMMIT事件。通过Get User Event函数过滤,将所有的COMMIT事件区分开,识别 出是由哪个控制项所产生的事件,并执行相应的处理。

第三步:应用函数/VI集与应用程序软件包编写。应用函数/VI集需针对具体仪器模块 功能进行编程,应用程序软件包只是一些功能强大、需要完善的数据处理能力的模块才需要 提供,如波形分析仪模块、DSp模块等。结语

本文探讨了虚拟仪器的基本组成,以及实际的虚拟仪器软硬件设计的一般方法,这些方法经过实际设计工作运用证明是可靠的,可供系统工程技术人员在组建具体的基于VXI总线的虚拟仪器数据采集、测试时参考使用。

参考文献

1]赵勇.虚拟仪器软件平台和发展趋势[J].国外电子测量技术,2002,(1)

2]陈光禹.VXI总线测试平台[M].北京:电子科技大学出版社,1996

3]孙昕,张忠亭,薛长斌.集成VXI总线自动测试系统的方法[J].测控技术,1996,15(4)

4]张毅刚,彭喜元,姜宁达,等.自动测试系统[M].哈尔滨:哈尔滨工业大学出版社,2001

5]汪红.基于组件的虚拟仪器软件系统[J].微型计算机信息,2001,(1):76-77

第五篇:基于51单片机电子设计报告之波形信号采集,存储与回放系统设计

基于51单片机电子设计报告之 波形采集、存储与

回放系统

目录

一、设计任务求„„„„„„„„„„„ 3

二、系统方案论证与选择„„„„„„„ 6

三、系统硬件的设计„„„„„„„„ 10

四、系统软件的设计„„„„„„„„„12

五、参考文献„„„„„„„„„„„„14

六、结论„„„„„„„„„„„„„„15

附录„„„„„„„„„„„„„„„16

附录 1 程序代码„„„„„„„„„„„„16 附录 2 硬件原理图„„„„„„„„„„„30 附录 3 PCB图(部分)„„„„„„„„„„32

一、设计任务求

<1>、任务

设计并制作一个波形采集、存储与回放系统,示意图如图1 所示。该系统能同时采集两路周期信号波形,要求系统断电恢复后,能连续回放已采集的信号,显示在示波器上。

<2>、要求

1.基本要求

(1)能完成对A 通道单极性信号(高电平约4V、低电平接近0V)、频率约1kHz 信号的采集、存储与连续回放。要求系统输入阻抗不小于10 kΩ,输出阻抗不大于1kΩ。

(2)采集、回放时能测量并显示信号的高电平、低电平和信号的周期。原信号与回放信号电平之差的绝对值≤50 mV,周期之差的绝对值≤5%。

(3)系统功耗≤50mW,尽量降低系统功耗,系统内不允许使用电池。2.发挥部分

(1)增加B 通道对双极性、电压峰峰值为100mV、频率为10Hz~10kHz 信号的采集。可同时采集、存储与连续回放A、B 两路信号,并分别测量和显示A、B 两路信号的周期。B 通道原信号与回放信号幅度峰峰值之差的绝对值≤10 mV,周期之差的 绝对值≤5%。

(2)A、B 两路信号的周期不相同时,以两信号最小公倍周期连续回放信号。

(3)可以存储两次采集的信号,回放时用按键或开关选择显示指定的信号波形。(4)其他。

<3>、说明

1.本系统处理的正弦波信号频率范围限定在10Hz~10kHz,三角波信号频率范围限定在

10Hz ~2kHz,方波信号频率范围限定在10Hz ~1kHz。2.预留电源电流的测试点。3.采集与回放时采用示波器监视。

4.采集、回放时显示的周期和幅度应是信号的实际测量值,规定采用十进制数字显示,周期以“ms”为单位,幅度以“mV”为单位。

<4>、评分标准

二、系统方案论证与选择

1、题目要求及相关指标分析

题目的要求是将待测信号进行数字存储,并通过普通示波器将被测信号显示出来。由于待测信号为模拟信号,存储过程为数字方式,故应该将模拟信号进行量化处理,然后存储到存储器中,当需要显示的时候,从存储器读出数据并恢复为模拟信号,并送往普通示波器Y输入端,在X输入端加入相应的扫描信号,采有X-Y方式观察信号的波形。因此,设计的重点是模拟信号的处理与采样、数字信号的存储、普通示波器的显示控制、系统的控制4个方面。

2、方案的比较与分析

1)采样方式

方案一:实时采样。实时采样是在信号存在期间对其采样。根据采样定理,采用速率必须高于信号最高频率分量的两倍。对于周期的正弦信号,一个周期内应该大于两个采样点。为了不失真的恢复原被测信号,通常一个周期内就需要采样八个点以上。

方案二:等效时间采样法。采用中高速模数转换器,对于频率较高的周期性信号采用等效时间采样的方法,即对每个周期仅采样一个点,经过若干个周期后就可对信号各个部分采样一遍。而这些点可以借助步进延迟方法均匀地分布于信号波形的不同位置。其中步进延迟是每一次采样比上一次样点的位置延迟△t时间。只要精确控制从触发获得采样的时间延迟,就能够准确地恢复出原始信号。等效时间采样虽然可以对很高频率的信号进行采样,可是步进延迟的采样技术与 电路较为复杂。再者,它只限于处理周期信号,而且对单次触发采样无能为力。实时采样可以实现整个频段的全速采样,因此本设计采用方案一。2)双踪显示方式

方案一:每个通道都有一套独立的ADC和存储器,双踪显示时,只需轮流选择不同通道的波形数据,就可以实现两路波形的同时显示。方案二:只使用一片ADC,一片存储器和一片DAC,在采样的时候,用存储器地址的最低位控制模拟开关。通过切换两路模拟信号,将采集到的数据分别存储到存储器的奇地址和偶地址上,双踪显示时通过扫描存储器中的数据即可将两路波形同时显示出来。方案二使用的硬件电路较少,故我们选择方案二。

3)触发方式选择

要使屏幕上显示稳定的波形,则需将被测信号本身或者与被测信号有一定时间关系的触发信号加到触发电路。触发源选择确定触发信号由何处供给。通常有三种触发源:内触发(INT)、电源触发(LINE)、外触发EXT)。题目要求选择内触发,即使用被测信号作为触发信号。方案一:采用数字触发方式。对波形信号进行采集,将采集到的波形数据和触发电平(可由键盘设置)进行比较,找到波形在上升过程中大于或等于该触发电平的点,即得到触发,此时开始对波形进行存储。因为本来就需要对波形信号进行采集,使用这种方法无需要增加额外的硬件电路,实现方便。但是,对波形每个周期只采集有限个点,不可能每次都能采集到等于触发电平的点(这时不得不以大于该电平的值为触发电平),从而使触发位置不稳定,连续触发时输出波形会有抖动现象。

方案二:采用模拟触发方式。通过比较器LM311将被测波形信号和触发电平进行比较,大于触发电平时输出为高电平,小于触发电平时则输出低电平,即可得到信号被整形后的脉冲序列,再在该脉冲序列的上升沿开始存储波形即实现了触发存储的功能。这种触发方式稳定,故我们采用了这种方案。4)水平和垂直位置的调节 a)水平移动的调节

方案一:由FPGA内地址累加器的输出控制数模转换器不断地输出锯齿波。在后级加一个加法器,调节滑动变阻器R的阻值,可以实现对锯齿波波形的直流电平叠加,从而达到调节显示器上波形左右位置的平移功能。

方案二:通过对双口RAM读出数据的起始地址的偏移控制来控制波形的左右移动。

方案一实现左右平移,电路简单,效果明显。但是一页屏幕的 波形通过这样的平移,就必然会将一部分的波形移动到示波器屏幕以外,同时将示波器的另一边变成空白。这样不符合实际数字示波器的功能要求。再者,它也实现不了auto的功能。而方案二方法新颖,对于波形在屏幕的满屏显示和auto的功能都可以轻易处理和简单实现。于是本设计采用方案二。b)垂直移动的调节

方案一与上述水平移动调节的方案一相同。方案二是直接对双口RAM的数据进行处理。譬如向上平移,可将波形的所有数据都加上一个偏移值,然后送到DAC0832,直接将输出的模拟信号加在y轴上。但这种方法的问题是当RAM中数据较大时,加上某一个偏移值后数据均达到255,则波形的上半部分就会被削平。而通过加法电路的调节则不会出现这个问题。故我们选用方案一。5)频率的测量

方案一:用单片机扫描存储在RAM中波形数据,找到波形的上升过零点位置或者波形数据的峰值,并记录此时的地址ADR1,在扫描下一个波形的上升过零点位置或者波形数据的峰值,并记录此时的地址ADR2,通过如下公式计算出波形的频率:

f = 1/[B×(ADR2-ADR1)/20] 其中,B为水平分辨率,单位为s/div。

方案二:等精度测量法

先将待测信号进行二分频,用此信号作为闸门。取FPGA内部40M信号作为基准信号,二分频后信号的上升沿开起计数器时钟计 数,下降沿关闭计数。由计得的数值来计算信号的频率。方案一计算的频率数据的精度不会很高,加上采样的不稳定,必将导致频率测量的不正确。而方案二测量的稳定性较高且数据较准确。故我们选用方案二测量信号的频率。

三、系统硬件的设计

DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。实验线路如图所示。

1.运算放大器

运算放大器有三个特点:

⑴开环放大倍数非常高,一般为几千,甚至可高达10万。在正常情况下,运算放大器所需要的输入电压非常小。

⑵输入阻抗非常大。运算放大器工作时,输入端相当于一个很小 的电压加在一个很大的输入阻抗上,所需要的输入电流也极小。

⑶输出阻抗很小,所以,它的驱动能力非常大。2.DAC0832的外部连接

DAC0832的外部连接线路如图10.10所示。

3.运算放大电路和低通滤波电路

LM324的5管脚与DAC0832的(IOUT2)12管脚相连,LM324的6管脚与DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连.第一级运算放大器的作用是将DAC0832输出的电流信号转化为 电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路-(R2/R1)倍。

实验表明,输出波形效果不错

四、系统软件的设计

本程序的程序流程图如下所示

13

五、参考文献

[1] 康华光.电子技术基础模拟部分(第五版).高等教育出版社,2005年.[2] 阎 石.数字电子技术基础(第五版).高等教育出版社,2005年.[3] 刘爱华 满宝元.传感器原理与应用技术.人民邮电出版社,2011年.[4] 马 彪.单片机应用技术.同济大学出版社,2010年.[5] 郭天祥.51单片机C语言教程.北京: 电子工业出版社,2012年.[6] 刘建清.轻松玩转51单片机C语言.北京航空航天大学出版社,2011年.[7] 彭 伟.单片机C语言程序设计实例100例.北京: 电子工业出版社,2011年.六、结论

本方案的系统设计符合2011 年全国大学生电子设计竞赛试题(H)题的要求。通过单片机控制一个数模转换器DAC0832将采集到的数据进行模数转并经过运算放大器LM324可以将其电流输出线性地转换成电压输出到外部设备示波器进而实现波形的采集存储与回放。附录„„„„„„„„„„„„„„„ 附录 1 程序代码„„„„„„„„„„„

/*******adc.h文件******/ #ifndef __ADC_H__ #define __ADC_H__ void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);bit LCD_Check_Busy(void);void LCD_Write_Com(unsigned char com);void LCD_Write_Data(unsigned char Data);void LCD_Clear(void);void LCD_Write_String(unsigned

char x,unsigned char y,unsigned char *s);void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data);void LCD_Init(void);void init1602(void);void Delay_Ms(unsigned int a);void ADC_Init(unsigned char CHA);unsigned char ADC_Read(void);#endif /*----------------名称:LCD1602.h 论坛:

修改:无

内容:

引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK-----------------*/ #ifndef __eeprom_H__ #define __eeprom_H__

bit LCD_Check_Busy(void);void LCD_Write_Com(unsigned char com);void LCD_Write_Data(unsigned char Data);void LCD_Clear(void);void LCD_Write_String(unsigned

char x,unsigned char y,unsigned char *s);void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data);void LCD_Init(void);#endif /*---

STC

International

Limited----------------一个完整的EEPROM 测试程序,用宏晶的下载板可以直接测试

STC12C5AxxAD 系列单片机 EEPROM/IAP 功能测试程序演示

STC12C52xxAD 系列单片机 EEPROM/IAP 功能测试程序演示

STC11xx 系列单片机 EEPROM/IAP 功能测试程序演示

STC10xx 系列单片机 EEPROM/IAP 功能测试程序演示---STC

International

Limited---------------------宏晶科技

设计 2009/1/12 V1.0--------------------

Mobile: Fax:

*** 0755-82944243-------------------------------------------------------

Tel: Web:

0755-82948412 www.xiexiebang.com---------------------------------------------本演示程序在STC-ISP Ver 3.0A.PCB 的下载编程工具上测试通过,EEPROM 的数据

在P1 口上显示, 如果要在程序中使用或在文章中引用该程序,请在程序中或文章中 注明使用了宏晶科技的资料及程序 */

#include #include #include “adc.H” unsigned int i=0,j;unsigned char guanji,cy,cy0,huifang=1;sbit kep1=P1^7;

typedef unsigned char INT8U;typedef unsigned int INT16U;//定义Flash 操作等待时间及允许IAP/ISP/EEPROM 操作的常数

//#define ENABLE_ISP 0x80 //系统工作时钟<30MHz 时,对IAP_CONTR 寄存器设置此值 //#define ENABLE_ISP 0x81 //系统工作时钟<24MHz 时,对IAP_CONTR 寄存器设置此值 //#define ENABLE_ISP 0x82 //系统工作时钟<20MHz 时,对IAP_CONTR 寄存器设置此值

#define ENABLE_ISP 0x83 //系统工作时钟<12MHz 时,对IAP_CONTR 寄存器设置此值

//#define ENABLE_ISP 0x84 //系统工作时钟<6MHz 时,对IAP_CONTR 寄存器设置此值

//#define ENABLE_ISP 0x85 //系统工作时钟<3MHz 时,对IAP_CONTR 寄存器设置此值

//#define ENABLE_ISP 0x86 //系统工作时钟<2MHz 时,对IAP_CONTR 寄存器设置此值

//#define ENABLE_ISP 0x87 //系统工作时钟<1MHz 时,对IAP_CONTR 寄存器设置此值

#define DEBUG_DATA 0x5A //本测试程序最终存储在 EEPROM 单元的数值 #define

DATA_FLASH_START_ADDRESS 0x00 //STC5Axx 系列 EEPROM 测试起始地址

union union_temp16 { INT16U un_temp16;INT8U un_temp8[2];}my_unTemp16;

INT8U Byte_Read(INT16U add);//读一字节,调用前需打开IAP 功能

void Byte_Program(INT16U add, INT8U ch);//字节编程,调用前需打开IAP 功能

void Sector_Erase(INT16U add);//擦除扇区

void IAP_Disable();//关闭IAP 功能 void Delay();void main(void){ unsigned char ram[100]={0};unsigned char b=0,c=0,a=0;// a = Byte_Read(0);//读EEPROM的值, 存到read_eeprom

//EA=1;//全局中断开 //EX0=1;//外部中断0开 //IT0=1;//边沿触发 //EX1=1;//外部中断1开 // IT1=1;//IT1=1表示边沿触发 init1602();ADC_Init(0);// ADC_Read();LCD_Write_String(1,0,“zhou yi chen ”);LCD_Write_String(1,0,“zhou yi chen ”);// LCD_Write_Char(3,1,'o');while(1){ for(i=0;i<100;i++){ ram[i]=Byte_Read(i);//读EEPROM的值,存到read_eeprom } LCD_Write_String(1,0,“U==4V ”);LCD_Write_String(1,1,“PINLV 1.017 KHZ ”);while(huifang==1&&kep1==1){ for(i=0;i<100;i++){ ADC_Init(1);a= ADC_Read();P3=ram[i];

//读read_eeprom } } while(kep1==0){ for(i=0;i<100;i++){ //if(i==0)//Sector_Erase(0);//区

ADC_Init(1);

a= ADC_Read();P3=a;ram[i]=a;//Byte_Program(i,a);//将EEPROM

EEPROM的值,存到擦除整个扇DEBUG_DATA 写入23

} }

for(i=0;i<100;i++){ if(i==0)Sector_Erase(0);//擦除整个扇区

Byte_Program(i,ram[i]);//将 DEBUG_DATA 写入 EEPROM } } }

//读一字节,调用前需打开IAP 功能,入口:DPTR = 字节地址,返回:A = 读出字节 INT8U Byte_Read(INT16U add){ IAP_DATA = 0x00;IAP_CONTR = ENABLE_ISP;//打开IAP 功能, 设置Flash 操作等待时间 IAP_CMD

= //IAP/ISP/EEPROM 字节读命令

0x01;

my_unTemp16.un_temp16 = add;IAP_ADDRH IAP_ADDRL

//EA = 0;IAP_TRIG = 0x5A;//先送 5Ah,再送A5h 到ISP/IAP 触发寄存器,每次都需如此

IAP_TRIG = 0xA5;//送完A5h 后,ISP/IAP 命令立即被触发起动 _nop_();//EA = 1;IAP_Disable();//关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态, //一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关 return(IAP_DATA);}

//字节编程,调用前需打开IAP 功能,入口:DPTR =

= =

my_unTemp16.un_temp8[0];my_unTemp16.un_temp8[1];//设置目标单元地址的高8 位地址 //设置目标单元地址的低8 位地址 字节地址, A= 须编程字节的数据

void Byte_Program(INT16U add, INT8U ch){ IAP_CONTR = ENABLE_ISP;//打开 IAP 功能, 设置Flash 操作等待时间 IAP_CMD

my_unTemp16.un_temp16 = add;IAP_ADDRH IAP_ADDRL

IAP_DATA = ch;//要编程的数据先送进IAP_DATA 寄存器 //EA = 0;IAP_TRIG = 0x5A;//先送 5Ah,再送A5h 到ISP/IAP 触发寄存器,每次都需如此

IAP_TRIG = 0xA5;//送完A5h 后,ISP/IAP 命令立即被触发起动 _nop_();

= 0x02;//IAP/ISP/EEPROM 字节编程命令

= =

my_unTemp16.un_temp8[0];my_unTemp16.un_temp8[1];//设置目标单元地址的高8 位地址 //设置目标单元地址的低8 位地址 //EA = 1;IAP_Disable();//关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态, //一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关 }

//擦除扇区, 入口:DPTR = 扇区地址 void Sector_Erase(INT16U add){ IAP_CONTR = ENABLE_ISP;//打开IAP 功能, 设置Flash 操作等待时间 IAP_CMD

my_unTemp16.un_temp16 = add;IAP_ADDRH IAP_ADDRL

//EA = 0;

= 0x03;//IAP/ISP/EEPROM 扇区擦除命令

= =

my_unTemp16.un_temp8[0];my_unTemp16.un_temp8[1];//设置目标单元地址的高8 位地址 //设置目标单元地址的低8 位地址 IAP_TRIG = 0x5A;//先送 5Ah,再送A5h 到ISP/IAP 触发寄存器,每次都需如此

IAP_TRIG = 0xA5;//送完A5h 后,ISP/IAP 命令立即被触发起动 _nop_();//EA = 1;IAP_Disable();//关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态, //一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关 }

void IAP_Disable(){ //关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态, //一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关

IAP_CONTR = 0;//关闭IAP 功能 IAP_CMD = 0;//清命令寄存器,使命令寄存器无命令,此句可不用

IAP_TRIG = 0;//清命令触发寄存器, 使命令触发寄存器无触发,此句可不用 IAP_ADDRH = 0;IAP_ADDRL = 0;}

void Delay(){ INT8U i;INT16U d=5000;while(d--){ i=255;while(i--);} } 附录 2 硬件原理图„„„„„„„„„„„

附录 3 PCB图(部分)„„„„„„„„„

下载FPGA数据采集与回放系统设计论文[推荐五篇]word格式文档
下载FPGA数据采集与回放系统设计论文[推荐五篇].doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    人才培养工作状态数据采集与管理论文

    摘要:《高等职业院校人才培养工作状态数据采集平台》(以下简称“数据平台”)是高职评估的重要组成部分,已被广泛应用于国家优质院校建设和创新发展行动计划等多个领域。“数据平......

    课程设计--基于FPGA的指纹采集接口设计与实现

    基于FPGA的指纹采集接口设计与实现 一、引言 相对于密码、证件等传统身份认证技术和诸如语音、虹膜、脸形、签名等其他生物特征识别认证技术而言,指纹识别认证是一种更为理......

    南京化工厂数据采集与程控调度机一体化系统

    南京化工厂数据采集与程控调度机一体化系统 一、企业介绍 南京化工厂隶属于中国石油化工集团公司,始建于1947年,是全国大型有机化工和精细化工生产骨干企业,原化工部确定的我国......

    单片机数据采集与双机通信系统的设计任务书

    智能仪器设计实习 设 计 任 务 书 题目单片机数据采集系统的设计专业、班级学号姓名主要内容、基本要求、主要参考资料等: 主要内容: 功能要求:完成单片机数据采集系统 1)使用单......

    信息采集系统设计说明书

    信息采集系统概要设计 整体网络拓扑 信息采集系统的总体网络拓扑如下图所示: 工程师站服务器公网采集站1采集站2... 网络结构说明 设备与采集站属于厂区内的同一个私有网络。......

    野外数据采集与巡护信息系统

    5.5.1.2 野外数据采集与巡护信息系统 5.5.1.2.1 需求分析 野外考察是获取数据资源的重要方法之一,它是保护自然保护区物种免受 人为破坏和开展大熊猫等物种的生态生物学研究......

    校舍管理系统数据采集工作经验总结3_20100715

    信息管理系统网络版运行试点工作经验总结 各位领导、各位同仁大家上午好! 首先感谢市领导给我们河北区这样一个试点机会。并有幸与大家一起进行交流。 下面我首先介绍一个我......

    基于VC的PLC数据采集管理系统

    龙源期刊网 http://.cn 基于VC的PLC数据采集管理系统 作者:李 波 舒朝君 江 彦 余 磊 刘永喜 胡玉庆 皮智敏 来源:《现代电子技术》2009年第06期......