|
楼主
查看: 2717回复: 0
发表于 2018-12-19 20:26:35
只看该作者
本帖最后由 Pencent 于 2019-1-7 11:50 编辑
本设计给出了以 CycloneII 型 FPGA EP2C8 为核心的多功能计数器的基本原理与实现方案。FPGA 片内包括测频模块,测相模块,DDS 查表模块及 NIOSII 处理器; NIOS 核调节频率字与相位字控制 DDS 查表模块并经片外高速 DA DAC900 输出正弦波。测频测相模块的片外输入采用 TI 公司的宽带运放 OPA699 放大,并使用 TL3116 构建迟滞比较器整形为方波送入FPGA 片内,由可编程逻辑在 FPGA 内部组建的测频测相逻辑单元,采用等精度测量方法测得结果并送 NIOS 核处理,在 LCD 上显示。经测试,频率测试范围达到 1Hz~14MHz,准确度达0.1ppm,相位测量范围 0~360°准确度 1°,信号灵敏度达到 8mvRMS。
方案论证与设计
1.1 方案设计
1.1.1 频率测量方案
方案一:快速傅里叶变换
数据由 AD 离散后,经 FIR 滤波,送入基-4 快速傅里叶变换引擎进行多级蝶形运算,从 3组 ROM 表中取出旋转因子乘入每次蝶形运算,对每级计算输入数据进行定浮点动态指数处理,在蝶算单元之外对存放每级输入输出数据的多组双口 RAM 的地址用逻辑模块进行调序来实现连贯的 log4N 级蝶算。对所得正弦余弦结果,通过 CORDIC 算法,经大面积逻辑单元的移位及流水线操作得到信号在整数倍基频处的模量。即完成时域到频域的转换。 方案二:等精度计数 :等精度计数 将正弦信号进行迟滞比较转化为同频率的方波信号,在 FPGA 内,通过逻辑模块实现等精度频率测量并送 NIOS 核处理。测得 1s 左右闸门时间内整周期待测信号的时间段中,低频待测信号和高频参考信号周期累计数之比,乘以参考频率即得带测信号频率。
对于以上两种方案进行比较,方案一速度快,可达到实时性测量,测量频率范围宽,但因频率分辨率完全依靠离散傅里叶变换的点数。逻辑单元和 RAM 的限制使得 FFT 不可能达到高频率分辨率,仅适合多频率混合时的测频。而方案二可在极小的消耗下实现非常精确的分辨率,在信号失真度较小,且外围环境稳定时是测频的理想方案。
1.1.2 相位测量方案
方案一:将两路同频信号在时域叠加,经 FFT 运算后,求得频域实部与虚部的模量之比的反正切值,即为正交分离下的正弦余弦相位差,作处理得到两路正弦相位差。
方案二:将被测的两路正弦波信号经比较器整形成方波信号,利用异或门电路进行鉴相处理,将得到的脉冲序列经过 AD637 真有效值-直流转换芯片,测出该脉冲序列的有效值,该有效值与脉冲序列的占空比成正比,从而反推出两信号的相位差。
方案三:测得两同频率待测信号对应跳沿的时间差中时钟脉冲的个数,与整周期时钟脉冲数比较,从而得出相位差。
比较三种方案,方案一在二分之一取样频率内整倍取样频率时的幅值可轻易达到的 8 位以上分辨率,因而计算出的相位准确度较高,但在时域上将两信号叠加所引入的误差难以很好控制,导致最终效果差。方案二在低频段时,AD637 响应不平坦,转换精度有限。方案三在两信号相差较小或频率较高时,将导致相差时间计数脉冲数量不足,导致下降,但其实现简单方法简单可靠,误差最小。
1.1.3 移相信号发生器方案
方案一:使用成品 DDS 芯片 AD9851,AD9851 是 ADI 公司的一款成品 DDS 发生芯片,该芯片的相位累加器为 32 位,而相位分辨率仅有四位,换算为仅有 16 种相移角度。
方案二:在 FPGA 内建查找表实现的程控 DDS 模块。在相位字的基础上频率字自累加作为ROM 表地址,查表输出数据到 DA;
比较两种方案,方案一移相能力无法满足本题需要;方案二的控制更灵活。
1.2 主要器件型号
本设计中使用的主要器件为 TI 公司制造,分别为输出正/负可变电压集成三端稳压块LM317/LM337,低压差线性稳压芯片 TPS78633,TTL 集成施密特触发器 SN74LS14, 宽带高增益限压放大器 OPA699,单电源 Rail-to-rail 双运OPA2350,以及超快低功耗精密比较器TL3116。3 端 1.5A 可调正/负电压稳定器 LM317/LM337 具有高达 1.5A 的最大输出电流,内置过热、过流保护和短路保护,宽输入电压范围(最高 40V),全温度范围内最大 0.7%的温度系数,其具有极大的灵活性,与稳定性,为系统提供±5V 电源。单输出低压差 1.5A 线性稳压器 TPS78633 具有高达 1.5A 的最大输出电流,具有超低噪声、高电源抑制比等优点,0.4V 的低压差使其能够在 5V 的电源下稳定提供可靠的 3.3V 系统电源,其内置的过流过热保护提高的系统的稳定性。OPA699 是宽带高增益限压放大器,其高增益稳定的特性、典型 1400V/us 的压摆率和260MHz 的带宽增益积满足了本方案所要求的高增益(10 倍)、宽带(1Hz~10MHz)。OPA699配合外部电阻构成的增益共 100 倍的两级前级放大器能够将最小 10mVrms 的小信号放大到整形系统所要求的范围。TL3116 是一款低功耗、超高速精密电压比较器,10ns 的建立时间能够满足本方案要求的 10MHz 信号比较,并有一定的裕度,3mV 的失调电压充分保证了比较门限的精度,14.7mA 的通道消耗电流降低了系统能耗,5V 的输出电平兼容后级整形电路。本方案中 TL3116用来构造迟滞比较器将前级送来的放大后的信号转换为方波信号。
SN74LS14 是一款 TTL 集成 6 施密特反相器,在本方案中用来做后级信号整形输入至FPGA。
二 系系系统实现
2.1 原理分析与硬件电路图
该系统由 FPGA 片上数字部分及其片外模拟环境组成:
总系统框图为:
2.1.1 相位差测量模块
相位测量部分的实现原理为:通过测量两路波形异或时间和整周期时间内参考脉冲数之比以及超前滞后情况来求得相位差。具体时序如图。
为避免由于斯密特触发器导致的方波占空比不为 50%时对相位测量所造成的麻烦,首先对两路方波按周期交替取高低电平,再对处理后的两路待测方波取异或,对一周期区域内参考脉冲及异或区域内的参考脉冲分别计数。(图中结果分别为 100 和 56)异或区域脉冲的一半比上整周期脉冲数,即为相位差。同时在第一个待测方波的上升沿判断超前滞后情况并给出标记。经一周期测量后数据和标记保持至下次复位,待 NIOS 读取。
2.1.2 频率测量模块
频率部分采用等精度测量法。在整周期的待测信号时间内同时对待测信号和参考脉冲进行周期计数。由两周期数之比及参考脉冲频率可得频率测量结果,逻辑时须如图:
在外界复位后,对参考脉冲 s_clk 进行计数,提供 1s 的参考时间 second(图中仅为 1/500脉冲时间)。在 1s 参考时间内取整周期的待测信号,此过程的时间由 frq_second 标记,在这段时间内同时对待测信号和参考信号进行按令一路参考信号 clk 进行计数。为了避免两路参考信号相位差较小时导致的不稳定因素及误差,两路参考信号分别使用 NIOS 核时钟及同频率-72°的 SDRAM 时钟。所测得待测信号与参考信号周期数保持至下次复位,等待 NIOS 读取。
2.1.3 相移产生部分:
数字部分由 FPGA 内部通过 Matlab 的 Simulink 建立基于延迟查表的 DDS 为两路频率相位可调的正弦信号。单个 DDS 模块如图:
综合考虑到低频频率需求及逻辑资源消耗,选取 1024 点的 10 位宽 ROM 表及 32 位的频率字与相位字,频率字经一级乒乓延迟后自累加,并加上相位字,削去溢出位,取高 10 位作为 ROM 表的地址。DDS 模块直接输出数据到片外高速 DA,经过缓冲放大输出,作为相位计部分的被测信号。
2.1.4 频率计片外调理部分:
输入信号幅度要求为 10mVrms~5Vrms,频率范围为 1Hz~10MHz。信号的幅度小,频率高,跨度范围大。我们才用了比较简便的办法,将输入的小信号进行足够倍数的放大,而大信号则被二极管箝位,保护了运放。
频率部分框图
输入信号采用了 50 欧电阻+双 1N4148 高速二极管的箝位方式,保证了输入放大器的信号的幅度在正负二极管压降的范围内。若采用对电源和地的箝位方式则运放有可能工作在超电源电压的状态下,导致不稳定。
两级放大均采用了 TI 公司的宽带运放 OPA699 构成同相 10 倍放大器。本方案要求运放的带宽大于 10MHz,带宽增益积大于 100MHz,压摆率大于 314V/us。而 OPA699 的各项指标为带宽 260MHz,高增益稳定工作,带宽增益积 1000MHz,压摆率 1400V/us,满足方案要求并有裕度。 放大器输出要被整形为正方波信号才能被 FPGA 识别。信号整形采用了 TI 公司的超高速低功耗比较器 TL3116 和 SN74LS14。由于信号的最低频率低,上升缓慢,若采用过零比较则会造成比较器多次翻转产生错误,而具有双门限的迟滞比较器则能很好解决此问题。比较器输出被 74LS14 进一步整形输入 FPGA。
题目要求频率计的输入范围能达到 10mVrms~5Vrms,对应的峰峰值为 28mV~14V。为使电路后级施密特触发器能够正常工作并识别脉冲,信号幅度最大的放大值为 110 倍,故前级采用了两级 11 倍共 121 倍的同相放大,并采用 7414 施密特触发器对信号进行整形。对运放的选型要求,放大倍数 11 倍,带宽 10Mhz,同时为避免小信号时的直流漂移对整形的影响,必须采用低失调运放。运放选用了 TI 公司的 OPA699 宽带高增益运算放大器,其1400Mhz 带宽增益积,高增益特性,典型 1.5mV 的失调,能够很好的满足本题的需要,特别是需要运放进行饱和放大时,较低的过载恢复时间能够减小运放带来的波形失真。1400V/uS的高压摆率能最大提高波形的前沿。
电路测试时发现前级电路的输入频率与输出方波脉冲频率在低频段有较大误差。输入信号 500Hz 而读数却有 2000 多。示波器观察放大器输出发现,放大器输出有明显毛刺。 分析后得出,由于方案采用了饱和放大的做法,以至前一级放大器在过零点的噪声毛刺被后级放大器放大到可使比较器翻转的幅度,导致产生毛刺脉冲,计数错误。而在高频段由于毛刺宽度窄,信号上升沿陡以及系统带宽的原因被忽略掉。 因此我们采取了在施密特触发器整形前加装一级 RC 低通滤波器的简便做法,将低频段(<100KHz)毛刺滤掉,而在高频段将滤波器断开,减小高频信号的损耗。实践表明,该改进取
得良好效果。
2.2 软件设计流程
另:开机校准。如有更精确频率的信号源(如温补晶振),可选择开机外部校准,即接入外部信号源,输入准确频率值,系统会根据测试结果对精度进一步校正。最后得到的值以开机外部校准为参考。默认情况下为系统已进行过的内部校准。
系统测试与误差分析
片外部分测试
见附件
附录
|
|