ImageVerifierCode 换一换
格式:DOCX , 页数:75 ,大小:4.46MB ,
资源ID:3143870      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3143870.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(毕业设计(论文)-基于zynq7010的数字存储示波器设计.docx)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

毕业设计(论文)-基于zynq7010的数字存储示波器设计.docx

1、摘 要 电子科技大学成都学院 毕 业 设 计 论 文 论文题目 基于ZYNQ7010的数字存储示波器设计 学生姓名 学  号 专  业 电子科学与技术 系(分院) 微电子技术系 指导教师 指导单位 电子科技大学成都学院 2016年6月制 摘 要 示波器作为传统的仪器仪表,在仪器设备中占有重要的地位。早期示波器采用模拟方式完成信号的采集以及显示,由于笨重和难以存储信号,价格居高不下的因素只应用在少数场合。如今绝大多

2、数示波器都是数字示波器,数字示波器又分为数字存储示波器,数字荧光示波器和采样示波器,其中数字存储示波器运用最为广泛。 如今示波器通常采用DSP,FPGA,POWER PC作为主控,从信息处理技术的发展来说,FPGA以其独特的并行处理方式而在信号采集的处理方面具有巨大优势。本设计采用XILINX公司的ZYNQ7010芯片,具有双核ARM A9处理器,A7的FPGA资源,以及高速互联总线AXI。运用嵌入式Linux充分发挥ARM双核A9的潜力,使用FPGA资源高速稳定的存储数字信号,并完成数字增益调节,平均电平的调节,软件触发,峰值,均值计算等功能。AXI总线完成ARM和FPGA的交互,数据传递

3、信号采集采用AD8138与AD9214,采样率高达80Mhz。 关键字:ZYNQ7010,AD9214,linux,FPGA III ABSTRACT ABSTRACT As the traditional instrument, oscilloscope holds a very important place. In early time, oscilloscope collects signal and displays by simulation, and it was just used in very few occasions for its heavy,

4、 high price and bad signal storage. Now days most oscilloscopes are digital oscilloscopes which includes digital storage oscilloscopes, digital phosphor oscilloscopes, and digital sampling oscilloscopes, and digital storage oscilloscopes are most widely used. DSP, FPGA, POWER PC are the main mast

5、er controls in oscilloscopes, from the developing of information processing technique, FPGA has big advantage in signal collection for its particular parallel processing. The chip ZYNQ7010 of this project comes from XILINX cooperation which has dual ARM A9 processor. Key Words: ZYNQ7010,AD9214,li

6、nux,FPGA III 目录 目录 第1章课题整体框架 5 1.1 课题任务 5 1.2 课题要求 5 1.3 研究意义 5 第2章设计方案 6 2.1 硬件部分 6 2.1.1 硬件开发环境 6 2.1.2 电源设计 6 2.1.3 信号采集电路设计 6 2.1.4 人机交互设计 6 2.1.5 主控核心板设计 7 2.2 软件部分 7 2.2.1 软件与逻辑开发环境 7 2.2.2 软件与逻辑开发语言介绍 8 第3章实现功能 9 3.1 实现功能描述 9 3.2 电路设计 9 3.

7、2.1 电源电路设计 10 3.2.2 信号调理、采集电路设计 11 3.2.3 数字部分电路设计 12 3.3 软件与逻辑系统设计 15 3.3.1 逻辑开发介绍 16 3.3.2 软件设计 20 第4章调试与实现 23 4.1 调试中遇到的重点与难点 23 4.2 解决方案 23 4.3 调试过程展示 23 4.3.1硬件调试 23 4.3.2 软件与逻辑调试、仿真 24 4.3.3 软件与逻辑、硬件整体调试 26 4.4 实物展示 27 第5章总结 29 致谢 31 附录 32 附录一:逻辑顶层代码设计 32 附录二:软件设计部

8、分代码 46 V 第1章 课题整体框架 第1章课题整体框架 1.1 课题任务 基于XILINX zynq7010 完成数字存储示波器软硬件设计。 1.2 课题要求 通过原理图和PCB的设计,焊接调试,搭建整机硬件平台。在运行Linux嵌入式操作系统的ZYNQ7010双核ARM A9中进行软件和驱动的编写,对PL进行配置和控制,在TFT显示器上恢复波形。使用PL完成数据采集,处理,存储。 1.3 研究意义 随着嵌入式设备走入我们的生活之中,应用于各种苛刻的场合。对于嵌入式处理器的要求就更为严格,ARM和FPGA此时异军突起,ARM应用于低功耗,低成本,高性能,F

9、PGA应用于信号处理,算法实现。ARM加FPGA的结构已经广泛运用于各种信号采集板卡,通信设备之中。所以XILINX推出了ZYNQ7000系列,该器件集成ARM软件可编程性与FPGA的硬件可编程性,优势互补,使嵌入式设备的开发进入一个新的高度。让我们期待ZYNQ7000在数字存储示波器这样的既具有人机交互接口和界面,又有高速信号处理的应用平台上会产生什么样的优秀表现。 第2章 设计方案 第2章设计方案 2.1 硬件部分 2.1.1 硬件开发环境 本设计原理图和PCB的绘制使用Altium Designer 2013 ,友好的交互界面,众多的快捷操作和工具,大大减少了硬件开

10、发的周期。在制板之后的焊接调试过程中使用了烙铁,信号源,高速示波器,频谱仪,万用表等工具,合理使用各种测试工具可以提高软硬件开发测试的效率。 2.1.2 电源设计 电源是硬件设计的重中之中,根据不同的需求合理设计电源才能满足硬件性能指标。在本设计中有众多的芯片需要供电,供电电压,功耗,纹波要求不尽相同。所以电源设计中采用12V-1.5A直流供电,使用LDO降压至9V,5V,3.3V,采用DC-DC开关电源集成块输出正负双5V电源给运放供电。 2.1.3 信号采集电路设计 信号采集电路是数字示波器的瓶颈,其中ADC芯片最为昂贵的部分,ADC芯片的采样速率和精度增长一倍,价格往往增加数

11、倍,因此在设计信号采集电路时完全发挥ADC的性能。在本设计中ADC芯片选择ADI公司的AD9214,采样精度为10位,采样率80Mhz,完全能够满足本设计的设计指标,并且还有相同型号不同采样率的芯片可以选择,避免硬件升级时的改动。由于AD9214是差分信号输入,在AD9214前添加一个AD8138单端转差分芯片。AD8138具有320Mhz通带,完全满足ADC的指标,还具有增益调节和共模电压调节功能,可以省去部分运放,减少PCB的设计难度。 2.1.4 人机交互设计 人机交互设计是提供一个友好的使用体验,方便直观的使用各种功能,设置参数,查看信息,回传数据和文件。本设计采用TFT液晶显示

12、模块,具有320x240的分辨率,还集成电阻式触摸功能。输入使用独立按键,此外还可以使用以太网在linux终端中输入命令进行控制和查看参数,通过tftp回传文件。 2.1.5 主控核心板设计 主控板设计优劣是能否发挥整体性能和使用体验的核心环节,在本设计中先后更换,对比过多种方案。目前比较成熟的方案有: 1:ARM作为主控芯片,优势是价格便宜,开发速度快,外设多,交互方便,缺陷是采样不稳定,采样速度慢,不能很好地发挥ADC性能。 2:ARM与FPGA,通过并行总线传输数据。优势是可以两种器件优势互补,很好地做到人机交互,又能稳定快速的采集,存储数据,完全发挥ADC的性能。缺点是电源供

13、电复杂,占用PCB面积大,连线多,稳定性下降。并行总线占用大量管脚,带宽小。 本设计综合考量各种设计方案,最终选用第二种方案的思路,但又有自己的独特之处,规避了第二种方案的缺点,采用XILINX公司推出的ZYNQ7010可扩展架构芯片, 之所以叫做可扩展架构,是因其拥有双核ARM A9处理器和各种外设和引脚的PS部分,还拥有A7资源的FPGA的PL部分,ARM在其中占主导地位,FPGA可以认为ARM的可编程外设。PS可以独立于PL运行,并且是在PS运行之后再使用PS加载FPGA,这就是这颗可扩展架构芯片的独特之处。核心板采用Z-turn开发板,具有一颗ZYNQ7010芯片,DDR3存储器,1

14、0M/100M网络设备。 2.2 软件部分 2.2.1 软件与逻辑开发环境 1.Xlinx Vivado 14.4 :ZYNQ7010器件的开发环境,比Xlinx旧开发工具ISE综合实现效率高,界面更友好。使用该软件配置PS外设,进行FPGA代码的综合实现。 2.modesim 6.6d :使用其对FPGA代码进行仿真,通过编写仿真代码,输入仿真激励,观察波形和输出文件可以发现代码的bug,提高调试的效率。因为FPGA综合实现需要消耗大量时间,只通过上板调试是很不现实的,也难以发现故障的源头。 3.Matlab 2014a: Matlab是一款强大的数学工具,因为本设计涉及到

15、数字信号处理,故采用该软件对算法的实现进行仿真,在确认算法层面是可行之后再编写Verilog代码进行工程实现。同时使用该软件生成modesim仿真激励文件,对modesim仿真输出文件进行波形分析,以及对本设计存储的信号进行分析,也是有效的辅助调试手段。 4. Vivado SDK 14.4 :嵌入式Linux下c语言开发环境。 2.2.2 软件与逻辑开发语言介绍 Verilog HDL: 它是一种硬件描述语言(Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完

16、成的逻辑功能。在ZYNQ7010的PL开发中采用该语言进行设计。 C语言:它是一门通用计算机编程语言,既提供许多低级处理的功能,但仍然保持着良好的跨平台的特性,具有很好的可移植性,可以应用于嵌入式处理器的平台。在本设计中,C语言用于ZYNQ7010中PS部分的软件编程。 SHELL脚本语言:该脚本语言是解释型语言,运行之前不需要编译,在文本处理方便有很大的优势,命令简单易学,还提供数组、循环、条件以及逻辑判断等功能,甚至可以用来编写程序。在本设计中用来编写代码对PL进行调试。 73 第3章 实现功能 第3章实现功能 3.1 实现功能描述 在ZYNQ7010核心板构成的主

17、控电路中,通过接插件连接底板上的电源部分、信号采集的模拟电路部分、独立按键部分、TFT液晶显示部分构成了整个设计的硬件。在ZYNQ7010上运行嵌入式Linux系统,在系统之中实现DDR3、以太网、TFT屏幕,按键等驱动。通过Liunx驱动配置PL的bit文件,通过AXI接口配置PL中的模块工作寄存器,让PL中的信号采集,增益控制,触发等功能运行。PS通过AXI接口回读PL中RAM存储的信号,并显示在TFT屏上,完成整个系统的稳定运行。 3.2 电路设计 硬件电路设计概述,本设计中硬件设计采用自底向上的设计思路,采用模块化的设计方式,先设计好各个硬件模块,然后再完成顶层布局布线。设计步骤

18、有(1)器件选型。(2)原题图设计。(3)绘制封装。(4)PCB中分别对电源,信号采集,数字电路等模块进行布局和手工布线。(5)对设计好的模块进行互联,GND与敷铜的设计。(6)制板,焊接。(7)测试硬件性能,更换不同参数器件达到性能最优化。经过上述七个步骤,电路设计基本完成。硬件电路设计框图如图3-1所示: 图3-1 硬件电路设计框图 上图所示的电路中包含ESD静电保护、输入电压钳位保护、AD8138单端转差分、DAC8411和OPA188运放组成的增益调节、共模电压调节电路、ADC9214模数转换电路、正负双5伏开关电源电路、线性稳压9V,5V,3.3V电源电路、8位独立按键、

19、TFT液晶显示电路、主控板接口电路。 3.2.1 电源电路设计 在本设计中,输入电源采用直流12伏1安,对输入电源的要求非常低,通用性也很好,随处可见,即插即用。将12v电源转换为5v,3.3v,正负双5v给不同设备供电,分别采用LDO线性稳压或者DC-DC集成块,同时不同设备对电源纹波的要求不同,也采用了相对应的电容滤波和π型滤波进行处理。如图3-2所示,这是电源部分的设计。 图3-2 电源电路设计图 该电源部分工作方式不同分为两部分: (1)线性稳压电源:采用LM7809将12V降压至9V,然后再使用LM7805降压至5V,提供给主控板使用,将9V采用2片AMS11

20、17-3.3降压至3.3v,分别给TFT液晶显示器和模拟电路供电,这种电源纹波小,没有开关噪声干扰到信号采集电路,但是工作效率低下,发热量极大。 (2)开关电源:采用A1205S-1W集成块将12v输入转换为正负双5伏输出,该集成块采用DC-DC隔离降压方式,电压转换效率高,发热量小,集成度高。缺点是输出纹波大,电磁干扰会影响旁边的模拟电路。在本设计中该电源用来给运放供电,其实这是非常不明智的选择,该电源会有很大的输出纹波和开关噪声,作为运放电源会在输出信号中引入该电源噪声,但是为了让输入电源简洁统一,故采用这种方案,经过π型LC滤波器的处理,电源噪声已经很小。 3.2.2 信号调理、采

21、集电路设计 外部信号在通过SMA接口进入示波器后,首先经过ESD静电防护器件,防止静电对脆弱的模拟器件造成损害。接着经过一对肖特基二极管构成的电压钳位电路,将输入到运放的电压钳位到正负5V,防止大信号对运放造成失效。由于AD9214的输入为差分信号,同时对输入幅度和输入共模电压有限制。因此我们在AD9214前增加一个AD8138单端转差分器件,将输入信号从单端输入转换为差分输出,同时AD8138具有共模电压调节功能和增益调节功能。为了实现对AD8138的共模电压调节和增益调节进行程控,采用DA8411数模转换器和OPA188运放构成的电压保持电路来对AD8138的差分输出的增益和共模电压进行

22、程序控制。最后差分信号在AD9214模数转换器中以80Mhz的采样率被转换为10位的数字信号,在FPGA提供的时钟上升沿被输入到FPGA部分进行处理。信号调理和采集电路如图3-3所示: 图3-3 信号调理和采集电路 主要器件性能介绍: (1) AD9214: AD9214是一款10位单芯片模数转换器(ADC),采用3.3 V单电源供电,内置一个片内采样保持电路,专门针对低成本、低功耗、小尺寸和易用性进行了优化。该产品的转换速率最高可达105 MSPS,在整个工作范围内具有杰出的动态性能。 该ADC只需一个3.3 V(2.7 V至3.6 V)单电源和一个编码时钟就能充分发挥工

23、作性能。对于大多数应用来说,无需外部基准电压源或驱动器件。数字输出为TTL/CMOS兼容,单独的输出电源引脚支持3.3 V或2.5 V逻辑接口。时钟输入为TTL/CMOS兼容。可通过进入省电模式,将总功耗降至30 mW。在省电模式下,数字输出被置为高阻状态 (2)AD8138:AD8138可以用作单端至差分放大器或差分至差分放大器。它像运算放大器一样易于使用,并且大大简化了差分信号放大与驱动。该器件采用ADI公司转悠的XFCB双极性工艺制造,-3DB带宽为320MHZ,提供差分信号,谐波失真在现有差分放大器中最低。AD8138具有独特的内部反馈特性,可以提供输出增益和相位匹配平衡,从而抑制

24、偶数阶谐波。内部反馈电路则可以使外部增益设置电阻不匹配的任何相关增益误差最小。 AD8138的差分输出有助于平衡差分ADC的输入,使ADC性能达到最高。该器件无需使用具有高性能ADC的变压器,并保留低频和直流信息。在VOCM 引脚上施加电压便可调整差分输出的共模电平,从而使驱动单电源ADC的输入信号可轻松实现电平转换。快速过载恢复则可确保采样精度。 (3)DAC8411:DAC8411是德州仪器推出的16位高精度,单通道,低功耗,小封装数模转换器,采用最大支持50Mhz的SPI接口,0至5.5v的宽范围电压输出,单电源供电。 (4)OPA188: OPA188 运算放大器使用德州仪器

25、 (TI) 拥有自主知识产权的自动归零技术来提供低偏移电压(25μV,最大值),以及时间和温度范围的接近零漂移。 这个微型、高精度、低静态电流放大器提供高输入阻抗和摆幅为电源轨 15mV 之内的轨到轨输出。 输入共模范围包括负电源轨。 单电源或者双电源可在 +4V 至 +36V(±2V 至 ±18V)的范围内使用,单通道版本采用尺寸小外形晶体管 (SOT)23-5,微型小外形尺寸 。 3.2.3 数字部分电路设计 模拟信号经过ADC后转换成数字信号被送入ZYNQ7010核心板,经过PL的处理和存储,通过PS部分让TFT液晶显示屏恢复出波形,期间可以通过按键调节波形的各种信息,以及设置,还

26、可以通过电脑终端直接使用命令进行设置。数字部分电路设计框架如下图3-4所示: 图3-4 数字部分电路设计框架 构成模块介绍: ZYNQ7010平台Z-turn核心板。Z-turn Board是深圳市米尔科技有限公司推出的一款以Xilinx Zynq-7010(兼容7020)作为主处理器的嵌入式开发板。Z-turn Board采用Xilinx最新的基于28nm工艺流程的Zynq-7000 All Programmable SoC平台,将ARM处理器和FPGA架构紧密集成。该产品拥有双核ARM Cortex-A9 MPCore的高性能,低功耗特性,在设计中能更好的满足各种工业需要。

27、同时提供各种成熟的硬件解决方案而且提供Linux操作系统在内的丰富软件资源,通过配套的设计工具,帮助嵌入式软件人员充分发挥软硬件协同优势,实现超越传统架构的创新设计。下图3-5为Z-turn核心板硬件结构图: 图3-5 Z-turn核心板硬件结构图 核心板硬件参数如图3-6所示: 图3-6核心板硬件参数 TFT液晶显示模块 TFT -LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT -LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设

28、置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT -LCD 也被叫做真彩液晶显示器。 独立按键 底板上使用核心板接插件扩展了8个独立按键做为简单操作的控制信号,一个轻触按键使用一个10k上拉电阻和一个100NF滤波电容,防止按键抖动造成多次触发。 在本设计中使用核心板底部的1.27mm排针与底板连接,底板通过排针给核心板供电以及扩展8个独立按键、TFT显示屏,底板数字部分扩展如图3-7所示: 图3-7底板数字部分扩展 3.3 软件与逻辑系统设计 要使用ZYNQ7010进行软件与逻辑开发,由于其架构

29、的独特性,我们首先来了解这颗芯片的设计架构,以便于我们对功能的合理划分。要知道ZYNQ7010当中有哪些可用资源,然后发现哪些功能适合软件去实现,哪些功能适合逻辑去实现,以及软件与逻辑如何协调工作。如图3-8所示,这是ZYNQ7010的架构图。 图3-8 ZYNQ7010的架构图 从上图中,我们可以发现,ZYNQ7010中的PS部分具有一颗完整ARM芯片所有的硬件资源,包括ARM双核A9、通过AXI总线挂接的各种外设,时钟管理,存储器管理单元,与外界相连的PAD管脚。PL部分是通过AXI总线与PS进行交互,换一种说法就是:PL是硬件可编程的ARM外设。正是这种独特的架构,让PS和PL

30、既可以独立运行,也可以进行组合,优势互补。 在介绍完ZYNQ7010独特的架构之后,我们来看看这种架构的优势之一——启动方式。ZYNQ7010的启动方式与普通的ARM架构芯片类似,下面按照时间顺序进行介绍: 在器件上电运行后,处理器自动开始Stage-0 Boot,也就是执行片内BootROM中的代码 2. BootROM会初始化CPU和一些外设,以便读取下一个启动阶段所需的程序代码,FSBL(First Stage Bootloader)。 不过这又有一个问题了----之前说到,Zynq支持多种启动设备,BootROM怎么知道从哪个启动设备里去加载FSBL?这就得靠几个特殊的MIO引

31、脚来选择了, BootROM会去读取MIO[2..8],从而确定启动设备,将选定设备的头192Kbyte内容,也就是FSBL,复制到OCM(On Chip Memory)中,并将控制器交给FSBL。 3. FSBL启动时可以使用整块256Kb的OCM,当FSBL开始运行后,器件就正式由咱自己控制了。Xilinx提供了一份FSBL代码,如果没什么特殊要求,可以直接使用。 1). 使用XPS提供的代码,继续初始化PS 2). 将bitstream写入PL(配置FPGA),不过这一步也可以以后再做 3). 将接下来启动用的Second Stage Bootloader(SSBL,一般就是U

32、Boot一类的东西),或者裸奔程序,复制到内存中 4). 跳到SSBL运行去 4. 接下来的步骤就没啥特别了,Uboot开始运行,初始化好Linux启动环境,然后开始运行Linux系统。 3.3.1 逻辑开发介绍 逻辑开发采用自底向上的设计流程,既先设计好底层功能模块,然后再在顶层进行模块互联,使顶层文件简洁明了,工程架构清晰,方便进行调试,以及故障排查。在逻辑设计中涉及到连续的数据流处理,故采用了流水线和乒乓操作的设计思想,让稳定的数据流可以被连续的处理和存储。逻辑设计框架如图3-9所示: 图3-9 逻辑设计框图 逻辑模块设计详细介绍如下: A,zynq_ps_wrap

33、per,zynq_ps_wrapper是PS部分硬件设计模块,采用Block Design设计方式,类似于原理图设计,调用ZYNQ7 processing System(PS部分硬核)、。提供50Mhz的时钟和复位,IRQ中断输入,MPU接口,DDR控制器接口。zynq_ps_wrapper设计图如图3-10所示: 图3-10 zynq_ps_wrapper设计图 B,clk_pro_zynq, clk_pro_zynq是PL时钟管理模块,时钟输入为PS的锁相环分频时钟gpmc_clkn,频率为50Mhz,还有PS输出的复位信号fpga_rst_n。通过调用IP core产生三路时钟输

34、出(80Mhz,5Mhz,160Mhz)以及复位信号。时钟管理模块化是大型FPGA工程的必要措施,为了让时钟稳定,减少时钟树的分支,简洁的时钟设计显得尤为重要,这就需要从系统层面规划时钟。下图3-11为时钟管理设计介绍: 图3-11时钟管理设计 C,mpu_itfc,MPU接口模块,PS使用AXI总线对PL的自定义寄存器的读写控制,存储器的信息访问。软件通过操作这些寄存器实现对PL各个模块的功能配置。 D,AD9214_itfc,AD9214接口模块,AD9214采用并行接口,主机提供采样时钟,10位精度的采样数据在下一个时钟的上升沿输出。在示波器这样的只关心数据是否连续,不关

35、心时延的平台上,我们可以认为一个时钟对应一个采样数据。该接口模块将80Mhz时钟经过OBUF之后输出给ADC,将数据同步到80Mhz的时钟下并输出。 E,trig_check, trig_check模块是提供软件触发功能,通过对ADC接口数据进行对比和处理,输出一个触发信号。该模块可以通过MPU接口使用软件选择触发的模式,有高电平触发,低电平触发,上升沿触发,下降沿触发可以选择。还可以使用软件清除已经触发的信号,也可以使能和禁能该模块。 F,cram_ram_cap, cram_ram_cap是信号存储模块,通过调用IP core生成两个131072深度、10位的双口ram,双口ram具有

36、两个接口,一个接口用来写数据,一个接口用来让MPU读取数据,两者互不干扰。这里采用两块ram来存储数据,是让两块ram交替存储数据,当ram1存储完数据后,ram2开始存储数据。同时输出指示信号,mpu接收到指示信号后通过mpu接口取回ram1数据。Ram2写满数据之后,ram1再存储数据,mpu取回ram2的数据。这样的设计是为了防止遗漏ADC的数据以及防止mpu取回旧的数据,造成波形紊乱(运行操作系统后,mpu的实时性变差),这是典型的乒乓操作设计思维的运用。该模块还可以根据软件的配置来进行数据的抽取,被抽取后的数据采样率减小,一块ram可以存储更长时间的数据。但是值得注意的是,根据奈奎施

37、特采样定理,当采样率低于2倍信号频率时,信号会失真,不能被恢复,这里需要合理的设置抽取倍数。同时抽取会使频谱产生镜像,当我们使用FFT分析数据的时候要使用FIR低通滤波器抑制频谱镜像。下图3-12是cram_ram_cap模块的示意图。 图3-12 cram_ram_cap模块示意图 G,d_gain, d_gain是数字增益、直流电平调整模块。调用乘法器的IP core来实现数字增益,使用加法器实现直流电平调整。数字增益和直流电平调整可以通过软件实现配置,调整后的数据通过mpu接口被mpu读取,并在TFT显示器上恢复成图像。 H,zynq.xdc, zynq.xdc文件是约束文

38、件,在该文件中定义端口使用的引脚、端口的电平,时钟的定义,周期约束,ADC源同步接口约束。 3.3.2 软件设计 一.Linux驱动。 测试驱动是否正常工作如裁图3-13所示: 图3-13 驱动文件目录 二.Linux内核相关代码目录如裁图3-14: 图3-14 内核代码目录裁图 三.Linux自定义驱动代码目录如裁图3-15: 图3-15 自定义驱动代码目录裁图 四.Shell脚本开发 A.在linux中使用Vi文本编辑器编写调试shell脚本语言。使用shell脚本语言编程实现读取PL中ram存储的数据并保存在ram_cap.txt文件中,并通

39、过tftp回传到电脑中,使使用者可以通过matlab分析数据。Ram_cap.sh脚本文件源码如图3-16所示: 图3-16 Ram_cap.sh脚本文件源码 B,danny_start脚本文件,该文件用于调用驱动初始化PL(下载bit文件),然后调用danny_test应用程序,实现示波器的功能。danny_start脚本文件源码如图3-17所示: 图3-17 danny_start脚本文件源码 五.C语言开发 使用Xilinx SDK提供的编译环境进行C语言的开发,实现TFT液晶屏的显示控制。使用MPU接口对PL进行配置,控制PL的工作状态,在适当的时候读取PL中ram

40、存储的数据,并驱动TFT显示器还原出波形。C语言代码工作流程如图3-18所示: 图3-18 C语言代码工作流程图 第4章 调试与实现 第4章调试与实现 4.1 调试中遇到的重点与难点 A.在硬件调试过程中,使用信号源输入单音信号,使用差分单头检查AD8138的差分输出时,发现单音信号上有一个稳定的噪声出现。经过艰苦的排查,发现是运放的电源有噪声,被引入到了AD8138的差分输出上。那么,难点就来了,我的运放电源采用开关电源的正负5v输出,无论我采用多大的电容都不能滤除300Khz处的开关噪声。 B.开发环境搭建过程中,Xilinx SDK 软件不能自定义makefile文

41、件,导致编译不成功。 4.2 解决方案 A.通过和从事电源设计的学长交流,尝试了多种滤波电路,最后采用π型低通滤波器成功的抑制了该开关电源的噪声。最后再用示波器观察AD8138的差分输出已经不能明显观察出有噪声的影响。 B.使用UltraEdit文本编辑器修改makefile文件,修改文件属性为只读。使用Xilinx SDK的命令键入窗口,输入命令将工作位置定位到当前目录,键入make命令编译所有文件。 4.3 调试过程展示 调试过程包括硬件调试,软件调试,逻辑代码仿真和调试,在调试过程中使用了大量的仪器设备,调试和仿真软件,还有编写脚本来调试逻辑模块功能。 4.3.1硬件调试

42、 硬件调试过程中使用了烙铁,万用表,电源,信号源,高速示波器,频谱仪等工具。 图4-1 模拟板焊接调试 图4-2 整机硬件调试 4.3.2 软件与逻辑调试、仿真 离散sin函数激励文件生成代码和波形如图4-3所示: 图4-3 sin函数激励文件生成代码和波形 激励文件频谱如图4-4所示: 图4-4 sin激励文件频谱 modelsim仿真过程如图4-5所示: 图4-5 modelsim仿真图 仿真波形与原波形对比如图4-6所示: 图4-6 仿真波形与原波形对比图 4.3.3 软件与逻辑、硬件整体调试 软件与逻辑、硬件整体调试如图4-

43、7所示: 图4-7 软件与逻辑、硬件整体调试 4.4 实物展示 逻辑设计原理图如下图4-8所示: 图4-8 逻辑设计原理图 模拟板PCB设计图如下图4-9所示: 图4-9 模拟板PCB设计图 整机设计图如下图4-10所示: 图4-10 整机设计图 第5章 总结 第5章总结 在本次设计过程中,应用到了很多我在学校和在公司里学到的知识,也在不断地突破自己的局限,尝试自己不了解的技术,不拘泥于现有的能力。我相信,毕业设计考察的不是自己在大学之中掌握了多少知识,而是考察是否掌握了自我学习,自我创新的精神。在本设计当中,我运用到了PCB和原理图绘制、焊

44、接、仪器的使用、数字信号处理及matlab、模拟电路设计、ARM处理器的运用、c语言的开发、FPGA开发、数字电路设计、信号与系统等课程。通过这次设计过程,我将所学的知识进行了运用和整合,同时也在努力学习新的知识,通过在厂商提供的案例和数据手册以及论坛,文库等方式快速的了解和运用新的器件和技术。 这次毕设我对自己提出了很高的要求,是一次对自我认知的过程,俗话说,知己知彼,百战不殆。认识到自己的水平,就有助于摆正自己的心态,希望这次毕业设计会给自己的校园生活交上一份满意的答卷。 致 谢 致谢 时光荏苒,忙碌而充实的大学时光就快戛然而止,大学教会我的不仅仅是知识,而是面向社会需要的

45、综合能力和素养。在此感谢母校老师孜孜不倦的付出, 对我们这些莘莘学子的悉心培养,授予我们学习和生活的能力。 然后感谢指导老师在大学四年中对我的谆谆教诲,在百忙之中答疑解惑,指点迷津,带领我们参与协会的管理和成长。在炎炎夏日当中与我们一同经历酷暑的考验,接受电子设计大赛的洗礼。正是在这些经历当中,我们茁长成长,不断提升自身的素养和能力。 感谢公司的导师,同时也是我的上司的言传身教,因为他的帮助,我迅速的适应了学生到员工心态的转变,同时我的专业知识也在不断地积累。可以说,学校让我学到的是如何去学习,导师教我的是如何学习成为公司和社会需要的人才。 学习到ZYNQ7000平台的开发需要感谢同事的

46、技术积累,Xilinx提供的技术文档,论坛开发者的开源精神。 附录 附录 附录一:逻辑顶层代码设计 删除 附录二:软件设计部分代码 //显示字符串 //x,y:起点坐标 //width,height:区域大小 //size:字体大小 //point_col:字色 //back_col: 背景色 //*p:字符串起始地址 void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u16 point_col,u16 back_col,u8 *p) { u8 x0=x;

47、 width+=x; height+=y; while((*p<='~')&&(*p>=' '))//判断是不是非法字符! { if(x>=width){x=x0;y+=size;} if(y>=height)break;//退出 LCD_ShowChar_color(x,y,*p,size,point_col,back_col,0); x+=size/2; p++; } } //更新数据 void lcd_data_change(unsig

48、ned char cap_sel,unsigned int change_len,unsigned int change_color,unsigned int data_place,unsigned int step_in) { unsigned int len; lcddisplay.old_color = lcddisplay.new_color; lcddisplay.old_len = lcddisplay.new_len; for(len =0;len

49、lcddisplay.old_data[len] = lcddisplay.new_data[len]; } lcddisplay.new_len =change_len; lcddisplay.new_color=change_color; if(cap_sel == 0) { for(len=0;len

50、 lcddisplay.new_data[len] = fpga_read(cap1_dout)>>1; } } else { for(len=0;len>1; } }

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服