基于FPGA与ARM实时数据采集显示系统

基于FPGA与ARM实时数据采集显示系统摘要:针对同时满足高速的A/D采集、高速率的数据传输和实时显示且便于携带实际应用需要,研究设计了基于FPGA+ARM的实时数据采集的嵌入式平台。采用FPGA控制A/D完成高速数据采集,通过串口总线实现了平台内部FPGA和ARM之间指令的下达和数据的上传,最终实现在ARM上通过Qt应用程序对A/D采集的数据进行实时显示。关键词:FPGA;ARM;嵌入式Linux;串口通信;Qt中图分类号:TN911?34文献标识码:A文章编号:10047373X(2014)03?0151?04Displaysystemforreal?timedataacquisitionbasedonFPGAandARMLIChang?xing,WANGBo,HUZhen?hua(Xi,anShiyouUniversity,Xi,an710065,China)Abstract:Aimingatmeetingtheactualapplica-tionneedsofthehigh?speedADsampling,highratedatatransmissionandreal?timedisplayandportable,areal?timedataacquisitionbasedonFPGA+ARMembed-dedplatformisresearchedanddesigned,whichusesFPGAcontrolledADtorealizehighspeeddataacquisi-tion,theinternalinstructionissuedanddatauploadbetweenFPGAandARMisachievedbyserialbus・Fi-nallythereal?timedisplayofthedatacollectedbyADisrealizedontheARMbyQtapplication.Keywords:FPGA;ARM;embeddedLinux;serialportcommunication;Qt0引言目前,伴随着FPGA技术和嵌入式技术的进步,测量仪器也有着长足的发展。FPGA和ARM处理器凭借着在资源丰富、执行速率快、重量轻、体积小、可靠性高等优势,非常适合必须同时满足高速的A/D采集、高速率的数据传输和实时显示的应用场合。基于FPGA+ARM的实时数据采集的嵌入式平台,很好地解决了传统测量仪器采集速率低、体积庞大、实时性不足的缺点[1]。本文基于Altera公司的Cyclone系列EP1C3T144C8N的FPGA器件和ARM920T的处理器S3C2440A搭建了数据采集的架构平台。FPGA采用Altera公司的Cyclone系列的EP1C3T144C8,EP1C3T144提供2910个逻辑单元(LES),13个128X36位的M4KRAM模块,1个锁相环以及104个I/O口。S3C2440A是Samsung公司为普通应用和手持设备研发的一款高性能低功耗的微小型芯片,其内部搭载了由ARM公司设计的16/32位ARM920T的RISC处理器,这也是该款芯片的主要特点[2?3]o本文Linux下的应用程序GUI的设计采用Qt来进行。Qt是一个C++图形用户界面应用程序框架[4],由Nokia公司所开发。其优点在于能够跨多平台使用、丰富的应用程序编程接口(API)、面向对象的操作、大量的开发文档等。Qt/E即Qt/Embeded,是Qt的嵌入式版本。1系统结构系统结构框图如图1所示,由ARM发送开始采集的命令,通过串口下达给FPGA的串口接收模块,经过对命令进行解析,通过A/D控制模块控制A/D芯片开始数据采集,然后将采集到的数据存入FPGA内部的串口发送的FIFO进行数据缓冲,最后通过FPGA的串口发送模块将数据再传送给ARMoA/D芯片采用AnalogDevice公司的AD7899,是一款快速、低功耗、14位400KSPS模数转换器(ADC)o图1系统结构框图FPGA中数据采集控制部分的RTL级视图如图2所示,将其A/D的低8位作为数据输出,在FPGA的控制下锁存之后通过db7_i[7:0]存储到FPGA中的FIFO,当串口发送模块经过对FIFO的空满信号进行判断,在FIFO非空的情况下启动tx_start信号,以一定的波特率将数据发送到ARM上进行实时显示[5]。图2FPGA中数据采集控制部分的RTL级视图通过Modelsim仿真结果如图3所示,可以看到,在串口发送端口的数据tx_data与A/D所采集到的数据db7_i[7:0]—致。图3Modelsim仿真结果2FPGA与ARM的串口通信要完成FPGA与ARM的串口通信,完成命令的下达和数据的上传及数据的显示就必须完成两点:FPGA的串口与ARM上的Linux操作系统的通信;Linux操作系统与Qt应用程序的通信。2.1Linux串口驱动程序Linux操作系统是无法直接和外围串口进行数据通信的。因此,串口驱动程序就成为操作系统内核和串口之间的桥梁,它屏蔽的底层串口信息并将其在操作系统内核中抽象为设备文件的形式。串口驱动程序的主要作用归纳为:(1)初始化和释放串口;(2)将数据从内核空间中传给串口和将串口读取数据传递到内核;(3)读取来自Qt应用程序传给设备文件的数据;(4)返回Qt应用程序请求的数据。串...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?