当前位置:首页 > 嵌入式 > 嵌入式硬件

1 引言  移相电路在现代通讯技术、波形调制和雷达扫描等许多方面有着大量的运用。目前实现方式大致可分为模拟和数字2类。模拟移相器的电路较为复杂、线性差、响应时间慢,抗电磁干扰能力差。而数字移相器主要分2类[1]:第一类是运用直接数字式频率合成技术dds。另一类是利用单片机计数延时的方法实现。其中使用dds的移相器的实现精度大多依照"360°/2°"的方式实现,即其能够实现180°,90°,45°,22.5°,11.25°等精度[2]。另外其实现电路也较为复杂;而第二类利用单片机虽然可以实现较高精度的移相,但使用的单片机属于硬核ip[2],在大规模集成和使用权问题上十分不方便。本文介绍的基于可编程数字控制方法的移相原理,其精度可以通过精度控制输入信号任意赋予(在本文中精度调制为1°来说明)。此原理的电路采用采样电路和精度为1°的360倍倍频器等进行延时输出波形,方法简便,电路结构简单,能够配合任意工艺特性加以实现,且能够方便地集成到大规模电路中去。2 基本原理  本系统是基于数字倍频器进行延时操作而实现的移相。实现原理是把输入模拟波形(如正弦信号)的周期tin转化为原来的1/data,tin/data即为移相精度,data值通过精度控制输入信号赋值。当data为360时,精度为1°;当data为720时,精度为0.5°;若要更小的精度,可依此类推。本文中为便于显示移相波形,把精度设置为1°。则精度为tin/360,所用的倍频器倍频因子即为360。这样经n个tin/360延时(n为移相的具体数值,由记时控制输入信号d赋值),再输出波形。和原波形相比就形成了移相。从实现的电路方面来讲,要把输入波形周期变为原来的1/360,或者说把输入波形的频率变为原来的360倍,最直接的办法就是采用倍频器。而数字倍频器的输入是数字信号,则应先把模拟量转化为数字量,这就需要一个模拟比较器。在得到倍频输出信号后,为了要得到希望的n值,还应在倍频器后添加数字定时输出计数器,以输出延时控制信号。最后把模拟信号输入a/d电路,通过rom存储,再在延时控制信号的作用下延时输出数字量,再经过d/a电路还原为模拟量,最终实现移相操作。其中倍频器具有360倍倍频能力。  输入模拟信号(如正弦波)经过信号比较器,波形电压与零伏比较后,高于零伏的电压段转化为高电平,低于的转化为低电平,这样输入信号就转化为周期相同的数字信号。a/d,rom,d/a和一些控制电路构成移相输出控制模块。其中移相控制部分的倍频器,定时输出计数器构成可编程数字控制部分,都可以通过硬件语言编译实现。2.1数字倍频器  这里使用的数字倍频器(电路如图2所示)的算法是基于采样的原理来实现[4],理论上能够实现任意倍倍频,这里为方便说明和显示波形,设置为360倍,即倍频因子为360,精度为1°。  当信号a经过比较器后,a转化为具有相同周期的数字信号da,他们的周期均为tclk_in。通过引入高频时钟信号(其周期为thf_clk)采样,以此来计数在一个tclk_in中含有的thf_clk的个数,把这个结果记为nhf。则有:nhf=tclk_in/thf_clk (1)
由于倍频因子是360,所以对于倍频后的结果clk_div_n1有:nhf_of_clk_dive_n1=nhf/360 (2)tclk_div_n1=nhf_of_clk_dive_n1×thf_clk (3)tclk_div_n1为倍频后倍频器输出波形的周期,nhf_of_clk_dive_n1为一个tclk_div_n1中含有的采样信号周期的个数。联立式(1),(2),(3),可得:tclk_div_n1=tclk_in/360 (4)亦即:fclk_in×360=fclk_div_n1 (5)  从而实现了360倍倍频。tclk_div_n1就是信号a相移27π/360(即1°)时所占的时间间隔。图3是本倍频器的仿真波形(这里把倍频因子固定为360)。在每次输入信号周期变化后,都按照新的周期进行360倍倍频这里应说明的几点是:

  data就是精度控制信号,不难看出,实际上他也就是倍频器的倍频因子。当data=360时,移相精度为1°。那么当倍频因子改变时,移相精度随之而改变。若data为720,则移相精度为0.5°;若data为3 600,则移相精度为0.1°。这些都可以通过改变精度控制信号data来实现,从而达到精度可变的目的。  (2)reset为复位信号,在输入信号da(也就是电路图中信号clk_in)时应先复位。  (3)每隔一个tclk_in,nhf就会被重新计算一次,并与上次的结果作比较,这样输出信号cal_dif会在输入信号clk_in的周期发生变化时(也就是两个nhf数值不一样时),输出一个高电频。这个高电频就是下两个模块数字定时输出计数器和数模混合输出控制电路中一部分模块的复位信号,从而达到倍频器输出信号周期自调节的目的。  (4)式(1)~式(5)的推导实际上都忽略了除法中的余数问题。当式(1)除不尽时要考虑余数的四舍五入问题。式(2),式(4)应修改为:nhf_of_clk_dive_n1=nhf/360 (6)tclk_in=360×tclk_div_n1+r (7)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭