FPGA开发及应用(微课版)课件 U5-信号幅度测量显示仪_第1页
FPGA开发及应用(微课版)课件 U5-信号幅度测量显示仪_第2页
FPGA开发及应用(微课版)课件 U5-信号幅度测量显示仪_第3页
FPGA开发及应用(微课版)课件 U5-信号幅度测量显示仪_第4页
FPGA开发及应用(微课版)课件 U5-信号幅度测量显示仪_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目5——信号幅度测量显示仪任务要求项目五高速信号发生器测量并使用数码管显示正弦波的最大值、最小值、峰峰值等参数参数指标波形正弦波频率10Hz~500KHz测量参数最大值、最小值、峰峰值幅值范围-4V~4V精度0.1V显示以V为单位,保留小数点后1位8位数码管显示例0000003.2或-000003.2任务要求任务回顾项目3、4任务回顾设计核心或设计切入点:计数器组织逻辑信号幅度测量系统5.1节幅度测量系统设计(只测量不显示)项目1~4中FPGA均是构造输出信号;本章中FPGA主要是对输入信号进行处理。5.2节SignalTap辅助分析电路(1种排除设计的测试手段)5.1节的处理的数据来自.vt虚构的数据,是基于仿真层面的验证,实际中还须观察ADC采集值是否正常,例如

图示凹陷;SignalTap这种FPGA免费的内嵌式测试仪可以以波形方式观看ADC采集值。5.3节动态数码管驱动电路(FPGA设计的进阶)1)数码管驱动电路-是一个以计数器为核心进阶应用。2)数码管驱动电路作为之后章节显示环节的必备电路。项目5组织逻辑幅度测量电路5.1幅度测量系统(设计与仿真)5.2SignalTap辅助分析幅度测量电路动态数码管驱动电路组织逻辑5.3.3大四加三优化动态数码管驱动电路*(强调应用,弱化设计原理)5.3.1数码管显示分析、电路设计5.3.2Sources&Probes测试数码管5.3.3幅度测量显示电路组织逻辑本章重点幅值测量电路中的“最值检测”筛选和保存;SignalTap工具;数码管驱动电路。谢谢大家!5.1幅值测量电路设计信号幅值测量设计要求任务要求参数指标波形正弦波频率10Hz~500KHz测量参数最大值、最小值、峰峰值幅值范围-4V~4V精度100mV测量结果-5V~5V用0~100代替,例:3.2V用(3.2+5)×10=82代替5.3节显示时1)除以10用强制拼接小数点解决2)再做减法还原数值5.1幅值测量电路设计5.1章节安排1、ADC器件及相关参数;2、幅值测量数学误差分析;

1)测量误差分析(和ADC有关)

2)ADC器件选型及延时分析;3、幅值测量电路设计思路;4、幅值测量电路设计与仿真;1-ADC器件及相关参数幅值测量设计关键突破点-ADC

信号幅值的测量是信号处理领域中一个重要的应用,在现实世界中,大多信号都是模拟量,例如电压、电流、温度、湿度、压力、声音等信号,而FPGA只能处理数字量,因此需要将一种能将模拟量转换为数字量器件——模数转换器ADC(Analog-to-digitalconverter)。

ADC作为模拟信号和FPGA的桥梁,也是现代微电子数字通讯系统、测量系统等中必不可少的模块。ADC和DAC是一个功能相反的器件。(1)ADC模型1-ADC器件及相关参数

一种理想的3位电压型线性ADC模块,其输入的模拟信号值和输出二进制值的关系如左图,图示的ADC假想可以对输入0~5V的电压值进行线性转换,对应输出二进制的值为000~111共8种值。(2)ADC与DAC对比点

段点

点1-ADC器件及相关参数

DAC的输入输出是“点对点”,而ADC是“段对点”,这就涉及到一个量化误差问题,量化问题稍后详细讨论。(3)ADC芯片通用端口及ADC模块1-ADC器件及相关参数ADC器件的常见端口:

待测模拟信号输入端口和数字转换结果输出端口是必须的

往往还有参考电压端口、幅度溢出标志位端口,以及使能等数字端口等

(4)ADC器件参数-分辨率1-ADC器件及相关参数分辨率指ADC所能分辨模拟输入信号的最小变化量。设ADC位数N为3位,满量程电压为FSR,则分辨率定义为:图示为例,其分辨率为A/D转换器的精度是指有实际输出数字量对应的理论模拟输入电压与实际模拟输入电压之差,它包含有量化误差、偏移误差、非线性误差、满刻度误差等。一般意义上的精度特指的量化误差,理想情况下,误差是分辨率的一半。

(5)ADC器件参数-精度图示为例,其精度为

1-ADC器件及相关参数

(6)ADC器件参数-转换速度

1-ADC器件及相关参数

转换速度指ADC每秒将输入的模拟信号转换成数字信号的次数,其单位为Ksps或Msps(kilo/MillionSamplesperSecond)。

按照转换速度可以将ADC分为:●超高速(转换时间<330ns);●高速(转换时间<20µs);●中速(转换时间20-300µs);●低速(转换时间>300µs);等种类。常用的模数转换器模块根据数字端口分为并行和串行,根据是否有时钟信号又分为同步和异步。

对于测量速度要求比较高的场合,一般选择并行ADC。例如声音信号、通信等。对于精度要求极高,速率不做特别要求的场合一般选择串行ADC。例如热电偶、心电信号测量。

(7)ADC分类

位数典型产品最高速率通道并行/串行时钟接口?说明8PCF8591

4串行I2C内含4路ADC和和1路DAC,IIC通信协议,通信速率取决于IIC协议的速率8AD928032Msps1并行有德州仪器知名型号83PA928032Msps1并行有国产、代替AD9280、性能优异8ADC0832

2串行有教科书中常见,适合进行ADC原理性学习,性能差。103PA103050Msps1并行有对标德州仪器知名型号ADS825E,性能优异12AD922665Msps1并行有速度高、精度准、价格高16AD7606200Ksps8可选有8通道,16位,精度高,适合采集直流信号、价格高24ADS125630Ksps8串行SPI8通道或4差分通道,SPI协议,精度超高,参数可配置1-ADC器件及相关参数

(1)测量误差分析-量化误差2-测量数学误差分析以输入范围为-5V~5V的8位ADC为例。分辨率为10000mV/28,值约为40mV。ADC量化误差为分辨率的一半,值为-20mV~20mV。量化误差可以通过选择更高位数的ADC器件来解决。

但应注意ADC器件的量程范围,必要时可通过以运算放大器为核心的放大电路、加减法电路来进行前级调理。

高精度ADC硬件成本更高,占用端口更多。

(1)测量误差分析-采样误差

2-测量数学误差分析若以32MHz采样率对1MHz正弦波信号进行采集,

对应0~2π共32采样点,采样点相位间隔为:采样时最坏情况:

如下图所示,某两个采样点(红色所示)恰位于最值两侧,采样最大值为:

误差小于0.5%。由于采样率不足引起的,称之为采样误差。后文将32MHz对500KHz采样称为64倍频采样

对频率为X的正弦波信号,若ADC模块采样率为X*N,,对应每个正弦波周期N个采样点,采样点相位间隔为

。采样最大值为

(1)测量误差分析-采样误差

相对采样率N8163264128256峰值/谷值/峰峰值采样误差绝对值最大值百分比7.61%1.92%0.48%0.12%0.03%0.01%不同相对采样率下采样误差理论值2-测量数学误差分析最坏情况下,最大误差

=采样误差

+量化误差

(1)测量误差分析-采样误差与量化误差

2-测量数学误差分析(1)测量误差分析-采样误差与量化误差

不同相对采样率、不同位数ADC的测量总误差绝对值2-测量数学误差分析正弦波幅值-4V~4V,ADC输入幅值范围-5V~5V相对采样率fs/f8位ADC

10位ADC峰值/谷值/峰峰值峰值/谷值/峰峰值采样误差量化误差总误差采样误差量化误差总误差百分率电压值(mV)电压值(mV)电压值(mV)百分率电压值(mV)电压值(mV)电压值(mV)87.61%608.8最大值量化误差+最小值量化误差20×2=40648.87.61%608.8最大值量化误差+最小值量化误差5×2=10618.8161.92%153.6193.61.92%153.6163.6320.48%38.478.40.48%38.448.4640.12%9.649.60.12%9.619.61280.03%2.442.40.03%2.412.42560.01%0.840.80.01%0.810.851200400010102400400010峰峰值的量化误差电压值=峰值量化误差电压值+谷值量化误差电压值;采样误差是一种比例,峰峰值和峰值或谷值的比例相等。(2)器件选型及延时分析-器件选型

位数典型产品最高速率通道并行/串行8PCF8591

4串行8AD928032Msps1并行83PA928032Msps1并行8ADC0832

2串行103PA103050Msps1并行12AD922665Msps1并行16AD7606200Ksps8可选24ADS125630Ksps8串行2-测量数学误差分析本章要求:测量正弦波的最大频率为500KHz,精度100mV,以0.1V为单位显示。1)以0.1V为单位显示,有50mV显示误差。2)则测量误差应<50mV。(测量误差=采样误差+量化误差

)2)ADC选型:选择8位ADC模块;

输入幅值范围-5V~5V;

最高工作频率500KHz*64=32MHz相对采样率fs/f8位ADC峰值/谷值/峰峰值采样误差量化误差总误差百分率电压值(mV)电压值(mV)电压值(mV)161.92%153.620×2=40193.6320.48%38.478.4640.12%9.649.61280.03%2.442.42560.01%0.840.8

(2)器件选型及延时分析-器件选型2-测量数学误差分析选取的某款以3PA9280芯片为核心的ADC模块结构示意图输入输出数学模型。

(2)器件选型及延时分析-延时分析参数极限值总结时钟高电平时间tCH14.7ns时钟周期不小于29.4ns,占空比50%综合考虑,时钟频率满足32MHz,占空比50%即可时钟低电平时间tCL14.7ns最高工作速率fC32MHz时钟时间不小于31.25ns时钟周期tC31.25nstc是fC的倒数,应注意tc大于2倍的14.7nsADC数字输出延时tOD25nsADC数字转换结果相对时钟上升沿的延时2-测量数学误差分析ADC芯片延时=25ns:可将3PA9280等效成一个D触发器,该触发器输出延时为25ns;输入的时钟高电平、低电平、周期分别为14.7、14.7、31.25ns。

(2)器件选型及延时分析-延时分析2-测量数学误差分析T1:时钟从FPGAPLLIP或分频器的触发器——>FPGA引脚ns级别,不妨认为约5ns

(2)器件选型及延时分析-延时分析2-测量数学误差分析T2:时钟FPGA引脚经由PCB走线——>ADC端口的延时PCB延时经验值为600mil/ns,1mm=39.37mil;也就是说PCB线长15.2mm会引起1ns的延时,假定FPGA芯片和ADC芯片相隔50mm,因此PCB引起的信号延时约合3ns。

(2)器件选型及延时分析-延时分析2-测量数学误差分析T3:3PA9280芯片数据(数字转换结果)相对时钟延时芯片数据手册查询为25ns

(2)器件选型及延时分析-延时分析2-测量数学误差分析T4:数据从ADC端口——>FPGA引脚延时与T2相等,均是PCB延时,值相等,约合3ns。(PCB线长15.2mm会引起1ns的延时,假定FPGA芯片和ADC芯片相隔50mm)

(2)器件选型及延时分析-延时分析2-测量数学误差分析T5:数据从FPGA端口达到内部电路的延时T5是FPGA引脚到内部电的延时,也就是FPGA的inputdelaytime,一般约为5ns,具体值可以由后期时序仿真获得。如果T1~T5合计恰好等于1/32MHz,即31.25ns,则所有打入FPGA内部触发器的值都不满足触发器的建立时间或保持时间,则采集的数据全部出错。(2)器件选型及延时分析-延时分析2-测量数学误差分析T1~T5:预估5ns、3ns、25ns、3ns、5ns,合计41ns>31.25ns(1/32MHz,即31.25ns)

,不会出现建立、保持时间不满足。(2)器件选型及延时分析-延时分析从FPGA输出的第1个时钟上升沿算起,信号在第几个时钟才能被打出FPGA内部的寄存器?2-测量数学误差分析T1~T5:预估5ns、3ns、25ns、3ns、5ns,合计41ns>31.25ns(1/32MHz,即31.25ns)

,不会出现建立、保持时间不满足。(2)器件选型及延时分析-延时分析2-测量数学误差分析时钟频率降低,会出现时序风险吗?(1)电路框架-思考1)待测正弦波频率为500KHz,需要测量多久?2)待测正弦波频率为10Hz,需要测量多久?4)测量正弦波最大值思路?答:2us答:100ms答:和本地暂存值比较5)正弦波VPP降低怎么办?答:本地暂存最值定时复位3-幅值测量电路设计思路3)待测正弦波频率为10Hz~500KHz,需要测量多久?答:100ms(1)电路框架-初设与完善缺陷:测量结果每100ms更新,送至数码管会导致数码管每秒更新10次。

直观感受是刷新太快晃眼。3-幅值测量电路设计思路时钟:取正弦波最大频率500KHz的64倍频=值32MHz,恰好是3PA9280最高工作速率回想万用表等测量仪器屏幕显示数值,一般200~300ms更新一次能保证刷新的实时性,直观感受仪器灵敏;数值更新速率合适,视觉效果佳。最大值检测时序规划(2)电路时序-最大值检测3-幅值测量电路设计思路信号名称位宽功能描述赋值条件AD_MaxTemp_r8每个0~MAX,ADC的最大值暂存值if:当cnt_xms_r==MAX,

AD_MaxTemp_r<=0;else:若当前ADC值大于(小于)自身则更新自己,反之保持不变。AD_Max_r8每个0~MAXADC的最大值if:当cnt_xms_r==MAX

AD_Max_r<=AD_MaxTemp_r否则:

AD_Max_r<=AD_Max_rVMax_o7电压值(0~100代表0~10.0V)如果:当cnt_xms_r==0将AD_Max_r换算成电压传VMax_o否则:

VMax_o自身保持不变最值(最大值、最小值、峰峰值)检测时序规划(2)电路时序3-幅值测量电路设计思路信号名称位宽功能描述赋值条件AD_MaxTemp_rAD_MinTemp_r8每个0~MAX,ADC的最大值暂存最小值暂存if(cnt_xms_r==MAX)则清零/置全1;else:若当前ADC值大于(小于)自身则更新自己,反之保持不变。AD_Max_rAD_Min_rAD_PP_r8每个0~MAX,ADC的最大值最小值峰峰值if(cnt_xms_r==MAX)

AD_Max_r<=AD_MaxTemp_r

AD_Min_r<=AD_MinTemp_r

AD_PP_r<=AD_MaxTemp_r-AD_MinTemp_relse:前三者保持不变VMax_oVMin_oVPP_o7电压值(0~100代表0~10.0V)if:当cnt_xms_r==0

将AD_Max_r、AD_Min_r、AD_PP_r换算成电压传给VMax_o、VMin_o、VPP_oelse:后三者保持不变data_valid_o1电压更新标志和VMax_o、VMin_o、VPP_o同步更新。即cnt_xms_r==0时为1,其余为0测量周期:应介于200~300ms,既不会因显示更新太快晃眼,也不会显得系统反应迟钝。时钟周期:1/(32MHz);计数范围:200~300ms/(1/32MHz)=0.25~0.3*32M=6.4M~9.6M=0110_0001_1010_1000_0000_0000~1001_0010_0111_1100_0000_0000

取最接近的全1二进制值111_1111_1111_1111_1111_1111,

合计262.144ms计数器

:23位自溢计数器。(4)电路关键参数-计数器位宽3-幅值测量电路设计思路测量结果计算最大值、最小值、峰峰值合称最值,记为Vm。本节任务要求,Vm测量精度0.1V。记FPGA测量Vm对应的值为AD,由AD计算的幅值为:1)取余对256=2N=28取商,可用“>>8”位代替。优点:“>>”代替“/”,大大节省FPGA逻辑资源;提高电路最高速度上限。2)四舍五入处理不考虑小数,FPGA取商运算一般用取商“/”,取商会舍弃余数,余数最多255,接近100mV。假设AD×100为是10位宽,列举值XX_0000_0000~XX_0111_1111,低8位<128(或<50mV),应四舍舍弃,故直接取商XX_1000_0000~XX_1111_1111,低8位≥128(或≥50mV),应五入进1,故取商后再+1(4)电路关键参数-测量结果计算3-幅值测量电路设计思路操作演示4-幅值测量电路设计与仿真操作演示电路总结4-幅值测量电路设计与仿真谢谢大家!项目5内容安排5.1幅值测量电路的设计(与仿真)5.2SignalTap测试幅值测量电路5.3幅值测量电路显示5.2SignalTap辅助分析电路5.2SignalTap辅助分析电路SignalTap辅助分析信号幅值测量电路设计要求使用SignalTap工具观测ADC实际采样值;峰值、谷值、峰峰值测量结果,以及计数器等内部信号;并根据测量结果对ADC进行软件校准。任务要求5.2SignalTap辅助分析电路内容安排1、SignalTap简介; 1)验证工具选择。 2)SignalTap原理。2、SignalTap使用前瞻(SignalTap使用步骤概述);3、SignalTap操作演示;4、幅值测量电路参数校准1-SignalTap简介仿真可以仿真电路端口、内部绝大部分信号,且有ps级别的时序图。幅值测量电路小节中.vt文件中的正弦信号是一种假想的时序,其难以完全无误的模仿出FPGA芯片外部ADC模块电路及PCB走线的准确时序。为解决以上问题,应再进行测试,以弥补仿真的不足。

(1)验证工具选择-(1/4)仿真通道数量有限,常见的是双通道示波器。不能测试FPGA内部的信号。例如ADC采集值打入FPGA内部寄存器是否恰巧处于建立时间和保持时间之间,进而因触发器亚稳态而导致数据出错。示波器更适合分析模拟信号。(1)验证工具选择-(2/4)示波器1-SignalTap简介适合测试数字矢量信号,通道足。只能测试FPGA芯片端口及外部信号,不能测试FPGA内部信号。

必要时可以用引脚引出FPGA内部信号,但并不能准确反映FPGA内部时序。需要单独购买。(1)验证工具选择-(3/4)逻辑分析仪设备1-SignalTap简介适合测试数字矢量信号,通道足。免费。消耗的是FPGA内部的逻辑资源和存储器资源,普通下载器即可实现计算机与FPGA连接。只能测试FPGA芯片端口和内部信号,不能测试FPGA外部信号。

必要时可以将FPGA外部信号通过导线接入FPGA引脚测试。(1)验证工具选择-(4/4)Quartus自带SignalTap工具1-SignalTap简介逻辑分析仪功能与原理了解逻辑分析仪原理,有助于理解SignalTap的原理。逻辑分析仪软件设置阈值电压、采样时钟频率、采样深度;同时可观看采集波形。(2)SignalTap原理1-SignalTap简介SignalTap功能与原理1、SignalTap是什么?●SignalTap逻辑分析器是由Altera公司开发的一个在线、片内信号分析的工具;●SignalTap与逻辑分析仪功能类似,用来辅助开发者设计、验证电路,常用于解决仿真无法解决的问题。●SignalTap是系统级调试工具,可以实时捕获、显示信号。●设计者可以在Quartus软件中配置需捕获的信号、开始捕获信号的时间(或触发条件)以及捕获数据量;●可以将数据从器件的存储器块通过JTAG端口上传至Quartus的SignalTap上位机对话框直接观测。●单个FPGA器件支持多达1024个通道和128K数据缓存量。2、SignalTap包含两个内容。1)通过界面配置而生成的可以直接下载到FPGA内部的“SignalTap电路”;2)Quartus软件中集成的“SignalTap上位机对话框”。(2)SignalTap原理1-SignalTap简介SignalTap功能与原理SignalTap是Quartus软件中内嵌的一个常用工具,通过相关设置可以实时观看FPGA端口和内部信号,以确保系统的设计规范性和完整性类似外部逻辑分析仪,SignalTap也包含采集、缓存、传输三部分电路,其利用FPGA内部的逻辑单元以及RAM资源实时地采集、缓存,并利用FPGA的下载器(如USBBlaster)完成信号的上传。(2)SignalTap原理1-SignalTap简介1、SignalTap和Modelsim的区别?前者是测试范畴,后者是仿真范畴。2、SignalTap和逻辑分析仪设备的区别?前者是利用FPGA内部资源构建的等效的逻辑分析仪,后者是独立的设备;前者只能测试FPGA端口和内部信号,后者只能测试FPGA端口和外部信号。前者免费,后者需要一定的硬件费用。(2)SignalTap原理1-SignalTap简介SignalTap使用的是FPGA内部的资源,其深度、采样时钟等均可以配置,因此其等效成一个IP核电路,故而应参与编译。其应与原始电路进行相关连接,故而应先完整设计原始电路。使用SignalTap的一般流程是1):设计人员对原始电路完成设计、仿真、编译;2):新建SignalTap对话框并完成配置得到配置.stp(文件/电路);3):将.stp(文件/电路)添加到工程中进行重新编译(系统会提示);4):通过SignalTap对话框下载(包含.stp的)电路到FPGA;5):在SignalTap对话框中控制(FPGA内部的.stp的电路)、观测被测信号的波形;6):若待观测信号功能正常,将逻辑分析仪从工程中移除、重新编译、下载,以减少FPGA的资源消耗。反之,根据观测结果定位设计缺陷,并返回第一步对电路进行重新设计。(1)SignalTap使用步骤2-SignalTap使用前瞻(2)测试电路例化2-SignalTap使用前瞻●而data_AD_i是端口信号,端口信号正常不意味着传输至内部寄存器后是正常的。5.1节“最值测量模块”中的第一级电路并非触发器,而是比较器、选择器等电路。●SignalTap容易添加并观测端口信号、触发器信号。wire型等信号容易被编译优化。SignalTap应该添加哪个ADC信号?(2)测试电路例化2-SignalTap使用前瞻解决思路:端口信号data_AD_i在FPGA内部先经过触发器data_AD_r[7:0]缓存。改进实施:在顶层代码中添加操作步骤:1、幅值测量电路例化;2、SignalTap配置;3、测试;4、根据测试结果修改电路。3-SignalTap操作演示操作演示(3)SignalTap操作演示3-SignalTap操作演示SignalTap窗口总结3-SignalTap操作演示两个层级的触发条件第1层级(基本触发条件):单个信号的触发条件。第2层级(高级触发条件):多个信号触发条件的逻辑关系,或更复杂的触发条件。总结3-SignalTap操作演示两个层级的触发条件第1层级(基本触发条件):单个信号的触发条件。总结触发信号参数或选项描述基本触发条件选项位宽永久/不关心1/N是无论信号为何值均触发采集,是默认选项高电平/低电平1/N其含义是一旦采样时钟上升沿时采集到该信号为1(或0),则满足基本触发条件;上升沿/下降沿/双边沿1其含义是一旦采样时钟上升沿时采集到该信号当前值为1且上次值为0,代表上升沿,则满足基本触发条件;下降沿同理;双边沿是上升沿或下降沿值对比(判断是否等于)

1无意义N对象:主要针对矢量信号触发条件;描述:当该信号值等于设置的对比值时,则满足基本触发条件。操作:选择图5-25所示的InsertValue选项,在弹出的如图5-26对话框中设置对比值以及对比值显示格式(十进制、十六进制等)。值比较判断是否>、≥、<、≤、==

1无意义N对象:主要针对矢量信号触发条件;描述:当该信号值和“设置的对比值”满足设置的比较(大于、大于等于、等于、小于等于、等于)条件,或者满足设置的值区间时,则满足基本触发条件。操作:只有当高级触发条件逻辑关系Triggercondition被设置为Comparison时才能激活值比较触发条件(Compare...)。有singleValuecomparison(大于、大于等于、等于、小于等于、等于)选项和Intervalcheck(值区间)选项。3-SignalTap操作演示两个层级的触发条件第2层级(高级触发条件):多信号的触发条件的逻辑关系,或更复杂的设置。总结举例:cnt_xms_r为值对比触发条件(7FFFF0),data_AD_i值对比触发条件(FF)信号触发条件逻辑运算描述BasicAND基本触发条件的逻辑与。举例:只有cnt_xms_r为7FFFF0,且data_AD_i为FF时触发采集BasicOR基本触发条件的逻辑或。举例:只要cnt_xms_r为7FFFF0,或data_AD_i为FF时触发采集Comparison描述:该模式下可以激活下拉菜单中的值比较触发条件(Compare...),以便为信号设置比较(大于、大于等于、等于、小于等于、等于)条件,甚至值区间。Advanced如果触发类型选择Advanced,则设计者必须为逻辑分析仪建立触发条件表达式。在SignalTap窗口中,使用高级触发条件编辑器(AdvancedTriggerConditionEditor),用户可以在简单的图形界面中建立非常复杂的触发条件。设计者只需要将运算符拖动到触发条件编辑器窗口中,即可建立复杂的触发条件。Advanced模式常用于复杂的触发设置。4-幅值测量电路参数校准ADC器件的非理想性1)量程误差(主要)如ADC芯片外调理电路的放大倍数不精准;如ADC芯片的参考电压不精准。2)中值偏差(主要)

如ADC芯片外双电源调理电路不对称。

如ADC芯片外部加减法调理电路不精准。

如ADC芯片的参考电压不精准。3)非线性(次要)

●主要是ADC外部放大调理电路线性度有偏移。

●ADC芯片自身线性有偏移。总结3谢谢大家!项目5内容安排5.1幅值测量电路的设计(与仿真)5.2SignalTap测试幅值测量电路5.3幅值测量电路显示5.3.1、动态数码管驱动电路设计(原理性学习)5.3.2、Sources&Probes测试动态数码管;5.3.3、大四加三算法优化动态数码管驱动电路(项目实用)&幅值测量显示电路。5信号幅度测量显示仪5.3.1数码管驱动电路设计与验证任务要求动态数码管驱动电路设计要求

完成6位动态数码管的驱动电路设计;

●数据显示范围000000~999999;

●可显示小数点符号“.”;

●可显示负号符号“-”。

●整体电路有使能端,可控制显示开启或关闭(全灭)。

●复位时数码管全亮”8.8.8.8.8.8.”,以完成硬件自检。内容安排1、动态数码管扫描原理单个数码管内部结构;单个数码管外围功率驱动电路;多位数码管外围功率驱动电路,及扫描原理。2、动态数码管主体(数值)显示功能电路设计分析;初步设计(竞争冒险显示混乱);改进设计(消影)。

3、动态数码管完整显示功能(负号、小数点)电路设计分析;4、动态数码管完整显示功能(负号、小数点)电路设计、仿真操作演示;5.3.1数码管驱动电路设计与验证1、动态数码管扫描原理数码管是一种亮度足、性价比高、简易的显示器件。为了降低设计的难度,本节采取自底向上的设计方法,先完成数字主体部分的显示设计。然后在此基础上再增加“小数”、“正负符号”、“使能”、“复位自检”等显示功能。因不同电路的系统时钟频率要求不同,例如项目4、6、7系统的主频分别为125MHz、200MHz、25.175MHz。一个系统多个时钟,容易造成系统的亚稳态。因此,希望设计一种逻辑资源占用少、时钟频率范围广(最高时钟速率高)、便于移植(端口规范)的数码管驱动电路。数码管驱动电路设计要点单个数码管内部构造1)最为常见的数码管是“8字型”的8段数码管;●8段数码管包含“a、b、c、d、e、f、g、dp”8个段,●7段数码管无“dp”段。●由7个条状,1个点状的发光二极管构成2)共阳极或共阴极两种。●共阴极:所有发光二极管阴极短接,阳极单独接出●共阳极:所有发光二极管阳极短接,阴极单独接出3)图中a~dp顺序杂乱,优点:无任何交叉线,便于生产制造(1)单个数码管内部结构1、动态数码管扫描原理

共阴极

共阳极(1)单个数码管内部结构1、动态数码管扫描原理字符段选值(以共阴极为例)abcdefgdp011111100101100000211011010311110010401100110510110110600111110711100000811111110911110110A11101110B00111110C10011100D01111010E10011110F10001110字符与段选值

共阴极

共阳极限流电阻的必要性和阻值1)发光二极管伏安特性曲线和普通二极管类似,但正向导通压降略有不同。

常见的红色发光二极管为1.7V,绿色为2.2V,根据材料和工艺等实际情况定。2)亮度调节:调节电压源电压值难度大,一般采取“加限流电阻”的方法。3)限流电阻阻值:以红色为例,发光二极管正常亮度时,电流为3~20mA,正向导通压降≈1.7V

因此,当电压U为3.3V时,限流电阻的阻值R=(3.3V-1.7V)/(3~20mA)=80Ω~530Ω。

(2)单个数码管外围功率驱动电路1、动态数码管扫描原理√FPGA与单个数码管的连接

(2)单个数码管外围功率驱动电路1、动态数码管扫描原理处理器端口一般模型示意图作为输入端口可等效成无穷大电阻作为输出端口1)输出逻辑0:内部接GND2)输出逻辑1:内部等效成直流稳压源+电阻

(电阻的作用:防止接错短路)FPGA与单个数码管的连接

(2)单个数码管外围功率驱动电路1、动态数码管扫描原理正常

亮度不匀

假设限流电阻80Ω。能量由FPGA芯片提供,8×20mA=160mA电流,如果扩招到6位数码管FPGA驱动能力不足;能量由FPGA芯片外部电源提供发光二极管压降固定1.7V留给电阻的电压1.6V,故总电流I固定亮不同字段亮度,各段电流/亮度不同发光二极管压降固定1.7V留给电阻的电压1.6V,故总电流I固定亮不同字段亮度,各段电流/亮度不同(3)多位数码管外围功率驱动电路及扫描原理-方案11、动态数码管扫描原理排除:占用端口太多每个数码管段选端子单独接入FPGA,共6×8=48个端子。各个数码管由各自段选控制,独立显示。优点:控制逻辑简单。缺点:占用大量FPGA引脚6位数码管外围功率驱动电路-静态接法6位数码管外围功率驱动电路-动态数码管相同段选端子合并,位选端子独立。共需6位+8段=14个FPGA引脚。原理:1)逐次选中某一位wei_o[X];dual_o显示wei_o[X]对应译码;3)分时复用(段选),逐位扫描。缺点:FPGA驱动能力不足。(3)多位数码管外围驱动电路及扫描原理-方案11、动态数码管扫描原理排除:FPGA驱动能力不足展望:FPGA只控制,不提供能量三极管转移电源供给来源

(2)单个数码管外围功率驱动电路1、动态数码管扫描原理能量由外部VCC/三极管提供电流流向:

外部VCC->三极管发射极->三极管集电极

->数码管二极管->限流电阻

->FPGA内部的GND能量由外部三极管提供电流流向:FPGA内部VCC->限流电阻

->数码管二极管

->三极管集电极->三极管发射极->FPGA外部GNDB点可控制数码管开启关闭

6位数码管外围功率驱动电路-动态数码管(经典方案)优点:共需6位+8段=14个FPGA引脚;缺点:需合理规划时序。原理:1)逐次选中某一位wei_o[X];dual_o显示wei_o[X]对应译码;3)周而复始,逐位扫描。注意事项(记忆):图示位选wei_o[]:0选中

(PNP反相作用)图示段选dual_o[]:字段为0亮(3)多位数码管外围驱动电路及扫描原理-方案11、动态数码管扫描原理6位数码管扫描原理(3)多位数码管外围驱动电路及扫描原理思考:以显示Data2Disp_i为199771为例,dual_o和wei_o如何变化?1、动态数码管扫描原理设计核心或设计切入点:计数器初步设计(1)主体显示功能-初步设计2、动态数码管主体显示功能电路设计分析移位代替计数器更精简初步设计缺陷-组合逻辑的竞争冒险现象(1)主体显示功能-初步设计2、动态数码管主体显示功能电路设计分析1、位选和段选延时不一致;2、位选自身、段选自身各信号延时不一致。3、ns级别差异。初步设计缺陷-组合逻辑的竞争冒险现象1、ns级别足以发光。2、例50MHz时钟(周期20ns),ns级竞争冒险大致发光平均功率为1ns/20ns。(1)主体显示功能-初步设计2、动态数码管主体显示功能电路设计分析改进设计-思路:降低计数器频率1、竞争冒险只可优化,但不能消除,是一个辅助手段。2、降低错误字段的平均功率占比是一个有效手段——降低计数器频率(分频器)。注:拍照和人眼直观观测效果有差异,照相机更灵敏。(1)主体显示功能-初步设计50KHz5KHz500Hz0Hz50MHz10MHz5MHz500KHz2、动态数码管主体显示功能电路设计分析(2)主体显示功能-改进设计2、动态数码管主体显示功能电路设计分析消影1)主要改进:分频器(红色)

降低错误字段平均功率2)位选、段选触发器(绿色)

矢量信号自身组合逻辑

导致的延时差异3)位选链路增加1级触发器(蓝色)

位选、段选链路延时配平(2)主体显示功能-改进设计2、动态数码管主体显示功能电路设计分析分频系数的选择①时钟频率上限:如果将时钟周期降低为数ms级别,竞争冒险为1ns<<数ms级别,不会造成显示混乱。②时钟频率下限:人眼有一定的视觉残影,一般认为一个显示像素每秒钟闪烁50次以上,视觉效果和静态显示无区别。20ms/6个数码管,每位数码管约合3.3ms切换1次,因此时钟频率下限约为300Hz。③时钟频率最佳区间:综上所述,时钟频率在300Hz~数KHz是最佳选择。④固定一个分频系数,提升电路的适配性假定各种项目系统主频为20~200MHz。分频系数:取(20MHz~200MHz)/(300Hz~1KHz)。

65535是一个不错选择,频率为305Hz~3052Hz,其对应16位自溢计数器可以简化电路同时又满足设计要求。1、小数点DotPos_i[5:0]单独控制段选dual_o[0]。2、符号位Sign_i“-”代号4’ha和十万位值二选一。3、EnDisp_i控制位选触发器全灭;4、复位“8.8.8.8.8.8.”自检

控制位选、段选、小数点触发器全亮

(1)完整显示功能-小数点3、动态数码管完整显示功能电路设计分析1、小数点DotPos_i[5:0]单独控制段选dual_o[0]。2、符号位Sign_i“-”代号4’ha和十万位值二选一。3、EnDisp_i

控制位选触发器全灭;4、复位“8.8.8.8.8.8.”自检控制位选、段选、小数点触发器全亮

(2)完整显示功能-符号位3、动态数码管完整显示功能电路设计分析1、小数点DotPos_i[5:0]单独控制段选dual_o[0]。2、符号位Sign_i“-”代号4’ha和十万位值二选一。3、EnDisp_i控制位选触发器全灭;4、复位“8.8.8.8.8.8.”自检

控制位选、段选、小数点触发器全亮

(3)完整显示功能-使能3、动态数码管完整显示功能电路设计分析1、小数点DotPos_i[5:0]单独控制段选dual_o[0]。2、符号位Sign_i“-”代号4’ha和十万位值二选一。3、EnDisp_i控制位选触发器全灭;4、复位“8.8.8.8.8.8.”自检

控制位选、段选、小数点触发器全亮

(4)完整显示功能-复位自检3、动态数码管完整显示功能电路设计分析希望读者按以下(1)、(2)、(3)顺序逐步练习

寄语3、动态数码管完整显示功能电路设计分析(1)笔者也是设计-改进-设计-......不断迭代寄语3、动态数码管完整显示功能电路设计分析(2)(3)操作步骤:1、电路设计代码框架;2、框架补充3、细节分析完善;4、仿真。4、动态数码管完整显示功能电路设计、仿真操作演示;演示操作演示谢谢大家!项目5内容安排5.1幅值测量电路的设计(与仿真)5.2SignalTap测试幅值测量电路5.3幅值测量电路显示

5.3.1、动态数码管驱动电路设计(原理性学习)5.3.2、Sources&Probes测试动态数码管;

5.3.3、大四加三算法优化动态数码管驱动电路(项目实用)

&幅值测量显示电路。5信号幅度测量显示仪5.3.2Sources&Probes测试动态数码管任务要求

(1)使用Sources&Probes工具测试数码管功能

●使能。正常显示或全灭

●数值”000000~999999”

●小数点“.”

●负号“—”(2)手动按键复位“8.8.8.8.8.8.”内容安排5.3.1、动态数码管驱动电路设计5.3.2、Sources&Probes测试动态数码管;

●Sources&Probes简介

●Sources&Probes操作步骤概要

●Sources&Probes测试动态数码管操作演示5.3.3、大四加三算法优化动态数码管驱动电路;&幅值测量显示电路。仿真:使用仿真可以验证数码管驱动电路逻辑是否和设计一致,但不能反映真实显示效果。例化:直接给值测试,需反复重新编译,且因小数点、使能、符号位等的组合形式较多,极为耗时。Sources&Probes调试工具:可以在线修改送入数码管驱动电路的参数,省时省力。类似于SignalTap,Quartus软件提供了In-SystemSourcesandProbes相关的“IP核”和“软件调试工具”,用户可以在Quartus软件界面修改相关参数并实时传输到电路中,方便用户在电路设计阶段调试电路。(1)、In-SystemSourcesandProbes-简介1、Sources&Probes简介AlteraIn-SystemSource&ProbesIP核电路

指该调试工具能够工作的前提是用户在设计好的电路上需要额外添加一个IP核。In-SystemSourcesandProbesEditor界面

是Quartus软件集成的一个调试工具,实现Quartus软件界面与FPGA中的IP核之间的数据交互,达到在上位机控制和监测应用电路的目的。(2)、In-SystemSourcesandProbes-两层含义1、Sources&Probes简介SignalTap的IP核

:隐式IP核;Sources&Probes的IP核:显式IP。In-SystemSourcesandProbes字面意思包含两种电路或功能。Sources,即通过界面实时发送数据至FPGA的IP核,间接为与IP核相连接的应用电路提供信号源;Probes,可以实时接收并显示FPGA应用电路中经由IP核发送到界面的信号,即为电路提供探针。(3)、In-SystemSourcesandProbes-两种功能1、Sources&Probes简介类似于SignalTap,SourcesandProbes是对“用户电路的监测与控制”,操作步骤如下:1)设计应用电路(动态数码管),并完成仿真等工作。2)设计顶层文件,根据实际需要创建调试IP核,并例化调试IP核和应用电路。3)全编译、分配引脚,再次全编译。(类似于SignalTap,使用的是FPGA内部的资源,故而应参与编译)4)打开In-SystemSourcesandProbesEditor界面,使用界面完成下载。

并使用界面监测Probes的值,或通过控制界面的Sources控制应用电路。In-SystemSourcesandProbes-操作步骤概要2、Sources&Probes操作步骤概要操作步骤:1、建立顶层工程。2、配置Sources&ProbesIP核;3、例化IP核与数码管驱动电路;4、编译,分配引脚、再编译;5、打开In-SystemSourcesandProbesEditor界面,

使用界面完成下载,并使用界面监测或控制应用电路。操作演示3、Sources&Probes测试动态数码管操作演示操作演示谢谢大家!5.3.3大四加三算法优化动态数码管驱动电路*任务要求5.1幅值测量电路的设计(与仿真)5.2SignalTap测试幅值测量电路5.3幅值测量电路显示

5.3.1、动态数码管驱动电路设计5.3.2、Sources&Probes测试动态数码管;

5.3.3、大四加三算法优化动态数码管驱动电路

&幅值测量显示电路。内容安排1、除法器分时复用——减少除法器方案。2、大四加三算法原理——代替除法器1)8421-BCD码2)大四加三原理(推导)3)大四加三算法改进的动态数码管驱动电路3、信号幅值测量显示仪综合电路1)电路框架2)操作演示5.3.1节逻辑资源消耗多主要原因1、除法器分时复用方案逻辑资源消耗多主要原因

用于分离“个位”、“十位”、“百位”等的取商、取余电路是LE逻辑资源消耗大的主要原因。第一:取余、取商本身就非常消耗FPGA逻辑资源;第二:多个取余、取商电路成倍消耗。解决方案解决方案1:使用1个除法器,分时复用;解决方案2:使用基于大四加三算法实现二进制-十进制转换电路,具体电路是以移位、比较、加法代替除法。注意:该算法只适用于分母是十的除法。只使用1个除法器(包含取商、取余),分6步完成“个位”、“十位”、“百位”等的取商、取余。(1)除法器分时复用方案原理1、除法器分时复用方案以199771为例reg型触发器wire型组合逻辑结果reg型触发器时间cnt_core_r除法器分子num_temp_r除法器分母固定10除法器商quo_temp_w(quotient,商)除法器余数remain_temp_w(remain,余数)个、十、百等触发器000001装值19977110199771-个位百千打入000010199771019977-十位个位打入0001001997101997-百位十位打入00100019910199-千位百位打入010000191019-十千位千位打入1000001101-百千位十千位打入1、除法器分时复用方案(2)除法器分时复用方案电路演示操作演示操作步骤:1、代码介绍;2、仿真分析;3、逻辑资源消耗;触发器位宽分子位宽:最大为首次除法时“待显示”的20位宽计数器;分母位宽:固定为十进制数值10,4位二进制。余数位宽:对10取余,余数0~9,4位宽。商

位宽:最大为首次除法时“待显示”的999999/10,99999对应17位宽二进制。(3)总结:除法器设计1、除法器分时复用方案关键代码(3)总结:除法器分时复用1、除法器分时复用方案几个版本数码管驱动电路逻辑资源消耗(3)总结:逻辑资源消耗对比?1、除法器分时复用方案动态数码管驱动电路版本LE(其中registers)5.3.1LED8S_V1取余取商1404(47)5.3.3(1)LED8S_V2除法器复用543(91)5.3.3(2)LED8S_V3大四加三算法???(??)二进制的含义(1)8421-BCD码2、大四加三算法原理二进制整数举例:0110_1011二进制的含义(小数)(1)8421-BCD码2、大四加三算法原理二进制小数举例:0110.1011二进制左移⇔放大2倍(×2)(1)8421-BCD码2、大四加三算法原理二进制:0110_1011二进制:1101_0110(0110_1011<<1)现规定一种二进制和十进制混合记数方式——8421-BCD码(二进制编码十进制数):1)最右侧起,依次用4位二进制表示1位十进制的个位、十位、百位......。2)每组四位内部用二进制表示,四位从右至左权值依次为1、2、4、8,为方便称内部权值,允许值范围是0~9。2)将每组四位二进制看做一个整体,看做一个10进制,这些组的二进制从右至左权值依次是1、10、100.....,为方便称外部权值。(1)8421-BCD码2、大四加三算法原理8421-BCD码举例:1001_0111,其中1)1001是一组,代表十进制十位,1001乘以内部权值(二进制),代表值9;2)0111是一组,代表十进制个位,0111乘以内部权值(二进制),代表值7;3)9代表十进制十位,乘以外部权值101,结果为90,

8代表十进制个位,乘以外部权值100,结果为7,

合计97。(1)8421-BCD码2、大四加三算法原理例1:二进制数据1111_1101(253)等价于0.1111_1101左移8位(2)左移举例1(253)2、大四加三算法原理规则

1)

数值=左侧8421BCD+右侧二进制2)保证下层为上层2倍目标左移8次得到最终8421-BCD码是分离的个、十、百等位例2:二进制数据1000_1101(141)等价于0.1000_1101左移8位(2)左移举例2(141)2、大四加三算法原理规则

1)

数值=左侧8421BCD+右侧二进制2)保证下层为上层2倍目标左移8次得到最终8421-BCD码是分离的个、十、百等位(2)左移总结(≤4)2、大四加三算法原理对于8421-BCD码的任意本四位而言,左移前如果≤4,无论移动前

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论