采集系统.docx
- 文档编号:26206408
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:13
- 大小:412.37KB
采集系统.docx
《采集系统.docx》由会员分享,可在线阅读,更多相关《采集系统.docx(13页珍藏版)》请在冰豆网上搜索。
采集系统
基于FPGA的模拟信号采集系统设计
摘要:
在信号采集系统中,FPGA是整个系统的控制核心,控制系统的相关功能模块完成对信号的采集和处理任务。
基于FPGA的模拟信号采集系统具有开发周期短、设计灵活、成本低、可靠性高等特点,可见FPGA是实现模拟信号采集和处理的理想架构,具有十分广阔的应用前景。
Abstract:
Inthesignalacquisitionsystem,FPGAisthecontrolcoreofthewholesystem,thecontrolsystemoftherelevantfunctionmoduleofsignalacquisitionandprocessingtask.AnalogsignalacquisitionsystembasedonFPGAhasshortdevelopmentcycle,designflexible,lowcostandhighreliabilityfeatures,visibleFPGAistheidealarchitecturetorealizeanalogsignalacquisitionandprocessing,hastheverybroadapplicationprospects.
随着大规模的集成电路和计算机科学的飞速发展,数字技术已经渗透到了各个技术邻域。
目前数字系统设计正朝着容量大、体积小、重量轻、速度快的方向发展。
FPGA技术的发展使这一趋势成为可能和必然。
近年,FPGA已成为工业控制系统中的关键部件,就信号采集邻域而言,基于FPGA的数据采集系统能使信号采集速度、转换速率以及内部处理能力都要远远超过传统的单片机。
在硬件设计方案中主控芯片采用FPGA所有的逻辑控制功能。
这是因为FPGA具有以下特点:
1)易扩展。
本系统功能模块较多,利用大封装FPGA并行输入输出管脚,很容易构成各种规模的应用系统。
2)控制功能强。
硬件描叙语言Verilog的描述能力和抽象能力很强,用来描述集成电路的功能和结构,并经过不同级别的验证来形成不同级别的IP内核模块,具有很强的控制功能。
3)集成化程度高。
SOPC的系统设计能更好的提高FPGA的集成度,能够更好的与NIOSII结合方便设计,使总体设计达到了小型化的要求。
一、总体设计
模拟信号的采集系统,实时快速采集模拟信号,在工业上的应用广泛,如图1-1所示
1、模拟信号
为了方便设计选择了一个可滑动精确电阻,通过改变电阻的阻值达到改变其电压,这样方便连续模拟信号的选取。
2、ADC模数转换
模数转换器将输入的连续模拟信号转换成数字信号,采用的模数转换芯片是TLC549。
图1-1模拟信号采集系统结构图
TLC549是TI公司生产的一种低价位、高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现A/D转换,其转换速度小于17us,最大转换速率为40000HZ,4MHZ典型内部系统时钟,电源为3V至6V。
它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统。
图1-2TLC549引脚封装示意图
工作原理:
当/CS变为低电平后,TLC549芯片被选中,同时前次转换结果的最高有效位MSB(A7)自DATAOUT端输出,接着要求自I/OCLOCK端输入8个外部时钟信号,前7个I/OCLOCK信号的作用,是配合TLC549输出前次转换结果的A6-A0位,并为本次转换做准备:
在第4个I/OCLOCK信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个I/OCLOCK信号的下降沿使片内采样/保持电路进入保持状态并启动A/D开始转换。
转换时间为36个系统时钟周期,最大为17us。
直到A/D转换完成前的这段时间内,TLC549的控制逻辑要求:
或者/CS保持高电平,或者I/OCLOCK时钟端保持36个系统时钟周期的低电平。
由此可见,在自TLC549的I/OCLOCK端输入8个外部时钟信号期间需要完成以下工作:
读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次A/D转换开始。
其工作时序图为图1-3
图1-3TLC549模数转换工作时序
3、数据采集硬件设计
模拟信号数据采集硬件系统设计是基于Altera公司的CycloneII系列EP2C70F896C6芯片。
数据采集硬件系统的结构图如图1-4所示。
图1-4模拟信号数据采集硬件系统结构图
二、详细设计
1、模数转换
模数转换器TLC549电路原理图如图2-1所示,它的引脚5、6、7是串行接口,与FPGA核心单元相连接,引脚2则是模拟信号的输入端。
REF+是基准电压,模拟电压的采集就是可变电阻R10的2脚与地之间电压。
图2-1TLC549模数转换原理图
2、硬件系统设计
1)SOPC它是用可编程逻辑技术把整个系统放到一块硅片上,来用于嵌入式系统的研究和电子信息处理.SOPC是一种特殊的嵌入式系统,它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能但它不是简单的SOC,它也是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
完整的基于NiosII的SOPC系统是一个软硬件复合的系统,因此在设计时可分为硬件和软件两部分。
NiosII的硬件设计是为了定制合适的CPU和外设,在SOPCBuilder和QuartusII中完成。
在这里可以灵活定制NiosII CPU的许多特性甚至指令,可使用Altera公司提供的大量IP核来加快开发NiosII外设的速度,提高外设性能,也可以使用第三方的IP核或VHDL来自行定制外设。
完成NiosII的硬件开发后,SOPCBuilder可自动生成与自定义的NiosIIPCU和外设系统、存储器、外设地址映射等相应的软件开发包SDK,在生成的SDK基础上,进入软件开发流程。
用户可使用汇编或C,甚至C++来进行嵌入式程序设计,使用GNU工具或其它第三方工具进行程序的编译连接以及调试。
对于添加Sopc系统首先选择NiosIIProcessor添加CPU模块,还有其他相关的模块JTAGUART模块,JTAGUART是SOPC提供的一个IPCORE,字面意思是基于JTAG的UART。
在SOPC中选择了JTAGUART,就像在nios中实现了一个串口,可以作为一个标准的输入输出设备,加上IDE提供的HAL,可以用printf()及scanf()实现PC与niosCPU的交互,以一种非常有用的调试工具。
添加SDRAM控制器是同步动态随机存取內存、Flash模块、EPCSSerialFlashController串行存储器、三态桥Avalon-MMTristateBridge(由于Flash的数据总线是三态的,所以NiosIICPU与Flash进行连接时需要添加Avalon总线三态桥)、UART串口。
Sopcbuilder设计如图2-2所示
图2-2sopcbuilder系统设计
在本系统中需要添加TLC549模数转换器,这个是系统中最主要的功能构件,其作用是将采集到的模拟信号进行A/D转换,该构件是自设构件,从菜单添加构件后,如图2-3所示。
添加的自设构件还有7段数码管显示构件,该构件的功能是能够使A/D转换的数值在上面显示出来。
其构件的添加示意图如图2-4所示。
图2-3TLC549构件的添加图2-47段数码管显示构件
2)创建顶层原理图模块
添加PLL模块,锁相环路是一种反馈控制电路其特点是:
利用外部输入的参考信号控制环路内部振荡信号的频率和相位。
因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。
锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。
PLL通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的,在比较的过程中,锁相环电路会不断根据外部信号的相位来调整本地晶振的时钟相位,直到两个信号的相位同步。
在数据采集系统中,锁相环是一种非常有用的同步技术,因为通过锁相环,可以使得不同的数据采集板卡共享同一个采样时钟。
因此,所有板卡上各自的本地80MHz和20MHz时基的相位都是同步的,从而采样时钟也是同步的。
因为每块办卡的采样时钟都是同步的,所以都能严格地在同一时刻进行数据采集。
添加集成的niosII系统
图2-5SOPC集成的NIOSII系统
3)NiosII系统软件设计
NiosII处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。
设计者能够用AlteraQuartusII开发软件中的SOPCBuilder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加NiosII处理器核的数量。
使用NiosII软件开发工具能够为NiosII系统构建软件,即一键式自动生成适用于系统硬件的专用C/C++运行环境。
NiosII集成开发环境(IDE)提供了许多软件模板,简化了项目设置。
模拟信号采集系统的主程序:
#include
#include“system.h”
#include“io.h”
#include“unistd.h”
intmain()
{
unsignedintvoltage,ad_data;
while
(1)
{
ad_data=IORD_8DIRECT(ADC_TLC_BASE,0)&0x00ff;
voltage=3300*ad_data/256;
printf(“voltage=%4dmV\n”,voltage);
IOWR_8DIRECT(SEG_78LED_BASE,4,voltage%10);
IOWR_8DIRECT(SEG_78LED_BASE,5,(voltage/10)%10);
IOWR_8DIRECT(SEG_78LED_BASE,6,(voltage/100)%10);
IOWR_8DIRECT(SEG_78LED_BASE,7,(voltage/1000)%10);
usleep(1000000);
}
return0;
}
图2-6采集框图
模拟电压的输出电压值成比例的输入至TLC549,采集到的数据打印显示。
三、测试结果
通过示波器检测到ADC_clock和ADC_data(10011100)波形:
ADC_DATA和ADC_CS的波形:
调节电阻阻值输入不同的模拟信号,采集到的信号和电阻两端的电压值相等
电压计算公式为Vadin=Vref *ad_data/256,电位器电压在0-2.5v之间,所以数码管显示00-ff。
在这个系统中Vadin=3300*ad_data/256
四、总结
基于FPGA的软核NiosII的SOPC设计的模拟信号采集系统可以作为数据采集前段,应用于其它对多路数据采集的实时性和同步性要求较高的监测系统中。
与传统的基于单片机,DSP的数据采集系统相比,它具有运行稳定可靠、实时性强、功耗低、体积小、成本低等优点。
在本次设计中,设计过程中问题出现了不少,其中好多问题以前都没有涉及到,在sopc系统设计过程当中诸多参数需要更改,通过查资料以及不断的尝试,一步一步的更改使系统能够更好的运行。
参考文献:
[1]周振安等编著,数据采集系统的设计与实践,地震出版社,2005.05
[2]倪伟新主编,信号采集系统,中国水利水电出版社,2012.04
[3]邵钟武等编,数据采集系统,石油大学出版社,1994.04
[4]刘波文,张军,何勇编著,FPGA嵌入式项目开发,北京航空航天大学出版社,2012.06
[5]EDA先锋工作室吴继华,蔡海宁,王诚编著,人民邮电出版社,2011.02
[6]任爱锋,初秀琴,常存编著,基于FPGA的嵌入式系统设计,西安电子科技大学出版社2004.
[7]潘松,黄继业等,SOPC实用教程.清华大学出版社,2005
[8]AlteraCorporation.NiosIISoftwareDeveloper’sHandbook.NII5V2-6.0[Z].2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 采集 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)