历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2021年03月17日 | 基于STM32和CPLD可编程逻辑器件的等精度测频

2021-03-17 来源:eefocus

传统的频率测量方法在实际应用中有较大的局限性,基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化,传统的直接测频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低。本文中提出一种基于ARM与CPLD宽频带的数字频率计的设计,以微控器STM32作为核心控制芯片,利用CPLD可编程逻辑器件,实现闸门测量技术的等精度测频。


本设计的技术指标:


测频范围:1Hz~200MHz,分辨率为0.1Hz,测频相对误差百万分之一。


周期测量:信号测量范围与精度要求与测频功能相同。


占空比测量:准确度99%。


计数范围:0~1000000000,可手动暂停、复位。


功耗大小:5V×250mA= 1.25W。


等精度测频原理


常用的直接测频方法主要有测频法和测周期法两种。测频法就是在确定的闸门时间Tw内,记录被测信号的变化周期数(或脉冲个数)Nx,则被测信号的频率为:fx=Nx/Tw。测周期法需要有标准信号的频率fs,在待测信号的一个周期Tx内,记录标准频率的周期数Ns,则被测信号的频率为:fx=fs/Ns。这两种方法的计数值会产生±1个字误差,并且测试精度与计数器中记录的数值Nx或Ns有关。为了保证测试精度,一般对于低频信号采用测周期法,对于高频信号采用测频法。但由于测试时很不方便,又提出了等精度测频方法。等精度测频方法是在直接测频方法的基础上发展起来的,它的闸门时间不是固定值,而是被测信号周期的整数倍,即与被测信号同步。等精度测频系统的控制时序图如图1所示。

图1 等精度测频系统的控制时序图


在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后,预置闸门关闭信号(下降沿)到来时,计数器并不立即停止计数,而是等到被测号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间r与预置闸门时间r1并不严格相等,但差值不超过被测信号的一个周期。设在一次实际闸门时间r中,计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns,标准信号的频率为fs,则被测信号的频率如式(1)所示。

被测信号的频率


图2为等精度测频逻辑框图,CNT1和CNT2是两个可控计数器,标准频率信号fs信号从CNT1的时钟输入端CLK输入,经整形后的被测信号fx从CNT2的时钟输入端CLK输入。每个计数器中的CEN输入端为时钟使能端,控制时钟输入。当预置门信号为高电平(预置时间开始)时,被测信号的上升沿通过D触发器的输出端,同时启动两个计数器计数;同样,当预置门信号为低电平(预置时间结束)时,被测信号的上升沿通过D触发器的输出端,同时关闭计数器的计数。

图2 等精度测频逻辑框图


系统硬件设计


使用ST公司的32bit处理器STM32F103C8作为主控芯片与高可靠性的可编程逻辑器件EPM240T100C5结合设计成频率计。


STM32F103C8的功能特点如下:(1) 最高频率可达72MHz,自带128/64KB的FLASH,1.25DMIPS/MHz,可以访问0等待周期的存储器。(2)供电电压范围为2.0~3.6V了,内嵌8MHz高速晶体振荡器,也可外部时钟供给,本系统采用CPLD时钟分频供给。(3)下载模式可采用串行线调试(SWD)接口和JTAG接口,本系统采用JTAG下载接口。


EPM240T100C5的功能特点如下:(1)支持内部时钟频率300MHz,本系统使用有源晶振50MHz供给。(2)片内电压调整器支持3.3V、2.5V或1.8V电源输入,本系统使用3.3V电压供给。(3)下载模式使用10针JTAG接口。


1 系统硬件结构框图


系统通过对STM32F103C8微控器的控制,经SPI总线向CPLD芯片EPM240T100发送数据和命令来控制内部逻辑单元。EPM240T100使用外部有源晶振50MHz供给,经4分频12.5MHz作为CPU的输入时钟。该系统的硬件结构如图3所示。其包括主控芯片模块、JTAG下载模块、复位电路模块、上位机显示模块、被测量输入模块。

图3 系统框图


2 系统的数字电路设计


微控器原理如图4所示。本系统处理器使用STM2F103C8,时钟由CPLD分频供给CPU,通过SPI方式将数据和命令传送给CPLD,而后用串口RS232发送到上位机显示

图4 微控器原理图

推荐阅读

史海拾趣

场效应半导体(Cmos)公司的发展小趣事

高通(Qualcomm)在移动通信领域的迅猛发展也离不开CMOS技术的支持。高通在CMOS技术研发方面投入了大量资源,成功地将CMOS技术应用于其移动通信芯片产品中。这些芯片产品以其卓越的性能和出色的功耗控制而广受手机制造商的青睐。随着移动通信技术的不断进步,高通在CMOS技术方面的创新也不断推动着移动通信产业的发展。

Clulite公司的发展小趣事
  1. 创业初期
    • 描述Clulite公司的创始人或核心团队如何识别电子行业中的某个市场机遇。
    • 讲述他们是如何筹集初始资金,设立公司,并开发出第一款产品或解决方案的。
    • 可以提及公司在初创阶段面临的挑战,如技术难题、市场竞争等。
  2. 技术创新
    • 讲述Clulite如何通过研发创新,推出了一款颠覆性的产品或技术,从而获得了市场认可。
    • 详细描述这一创新过程,包括研发团队的努力、关键技术的突破等。
    • 提及这一创新如何帮助公司在市场上取得了竞争优势。
  3. 市场拓展
    • 描述Clulite如何逐步扩大市场份额,从地区市场走向全国乃至国际市场。
    • 可以讲述公司如何建立销售网络、与合作伙伴建立合作关系,以及参与行业展会等活动来推广品牌和产品。
    • 提及公司在市场拓展过程中遇到的挑战和应对策略。
  4. 品质管理
    • 讲述Clulite如何注重产品质量和客户体验,通过严格的质量控制流程来提升产品可靠性。
    • 描述公司如何建立完善的售后服务体系,为客户提供及时、专业的支持。
    • 提及这些举措如何帮助公司赢得了客户的信任和口碑。
  5. 可持续发展
    • 讲述Clulite如何关注环境保护和社会责任,推动公司的可持续发展。
    • 描述公司如何采取环保措施,减少生产过程中的污染排放。
    • 提及公司如何参与社会公益事业,回馈社会。

请注意,这些故事需要根据Clulite公司的实际情况进行调整和补充。如果你需要更具体的内容,建议查阅Clulite公司的官方网站、新闻报道或行业分析报告,以获取更详细的信息和数据。

Analytic Instruments Corp公司的发展小趣事

Analytic Instruments Corp成立于XXXX年,最初由几位热衷于电子测量与分析技术的工程师创立。他们凭借对行业的深刻理解和敏锐的市场洞察力,研发出了一款具有创新性的电子测量仪器,该仪器在精度和稳定性上均优于市场上的同类产品。这一技术突破使得公司在创业初期就获得了市场的认可,为后续的发展奠定了坚实的基础。

Hirel Systems Ltd公司的发展小趣事

Analytic Instruments Corp成立于XXXX年,最初由几位热衷于电子测量与分析技术的工程师创立。他们凭借对行业的深刻理解和敏锐的市场洞察力,研发出了一款具有创新性的电子测量仪器,该仪器在精度和稳定性上均优于市场上的同类产品。这一技术突破使得公司在创业初期就获得了市场的认可,为后续的发展奠定了坚实的基础。

Aborn Electronics Inc公司的发展小趣事

在激烈的市场竞争中,成本控制是企业生存和发展的重要因素之一。Aborn Electronics深知这一点,因此在供应链管理上下了大力气。公司与多家优质供应商建立了长期稳定的合作关系,确保了原材料的稳定供应和质量可靠。同时,通过对生产流程的不断优化和改进,降低了生产成本,提高了生产效率。这些措施使得Aborn Electronics的产品在市场上更具竞争力。

ERNI公司的发展小趣事

进入20世纪60年代,ERNI开始关注连接器技术的发展。他们意识到,随着电子设备的日益复杂和多样化,对连接器技术的需求也将不断增长。因此,ERNI投入大量资源进行研发,终于在1967年成功开发出第一个背板连接器,这一创新技术迅速成为公司的核心产品,也为ERNI在连接器市场赢得了声誉。

问答坊 | AI 解惑

单片机 驱动 三极管 疑问???

没法贴,在这里口述一下, STC11F02E单片机(和51兼容),用P1_0脚输出,后接10K电阻,在后面是三极管3904(反向用)的基极,在后面接在RK1-L2-3V的一个控制脚上(set), 现在我想问的是我单片机输出高电平为什么只有0.7V左右,如果把电阻去掉就 ...…

查看全部问答>

FPGA中遇到的一个小问题

最近在编一个数字解调器,要用到数字低通滤波器,我找了一个核,但是在使用MegaWizard plug进行设置之后,元件的图形发生了变化,就是16个输入在图形上只显示了4个,中间的12个都用省略号代替了。不知道有没有人遇到过类似的情况没啊?我Google找过 ...…

查看全部问答>

Windows SDIO总线驱动的log

大家好。 我现在在开发一个SDIO设备,想实现为一个SDIO设备,而不是SD memory。 当我把它插到运行Windows XP的PC上时,Windows把它认成了一个磁盘。当我 试图查看该磁盘的属性时,没有任何属性显示出来。 我猜想应该是设备的硬件或者固件有问题 ...…

查看全部问答>

STM32的CAN通信时,RX方没有接收到数据,TX端却显示数据发送

在调试CAN通信,发现出现一个问题,详细描述如下为了调试方便,我把CAN总线上的节点简化到只有2个节点,一个收一个发。(1)当接收端滤波器设置为全接收,则可以接收到发送端数据,发送端显示发送成功。(2)当接收端滤波器设置了过滤条件,则 ...…

查看全部问答>

MSP430f149与74HC595相连的问题?

本人想用MSP430F149的SPI方式驱动74HC595,SPI方式中只能提供一个UCLK时钟信号,但74HC595要求有两个时钟信号:移位时钟和存储时钟,而且这两个时钟不能并联,最好移位时钟超前存储时钟一个时钟周期。请问各位大侠,此问题该如何解决?谢谢!!…

查看全部问答>

求助:16进制转换为10进制汇编程序

哪位大虾有16进制转换为10进制430汇编程序,可否提供一下,在下不甚感激。…

查看全部问答>

stm8s stvd 固件库 uart1 使用 错误

使用 stvd 实验 uart1 时 出现下面的错误 #error cgstm8 stm8s_clk.c:685 CLK_GetFlagStatus() PANIC! GENPUSH…

查看全部问答>

C2000 LaunchPad的SCI串口简单通信

#include #include Uint16 sendchar; Uint16 recechar; void sci_init() {    EALLOW;    GpioCtrlRegs.GPAMUX2.bit.GPIO28=1;    GpioCtrlRegs.GPAMUX2.bit.GPIO29=1;//设置GPIO28/29为通信端口    EDIS; ...…

查看全部问答>

请问TO-can package是什么封装方式,中文是什么?谢谢!!

TO-can package是什么封装方式,翻译成中文是什么?…

查看全部问答>