接口电路仿真的算法分析及实现

最新更新时间:2013-06-10来源: EDN关键字:仿真  A/D  转换电路 手机看文章 扫描二维码
随时随地手机看文章
  1 引言

  系统仿真是近30年才发展起来的一门新兴学科,它通过对所研究系统的认识和了解,抽取其中的基本要素,建立与现实系统相对应的仿真模型,并通过系统模型实验去研究一个已经存在的或者正在设计的系统的过程。Matlab是一种功能强大的的仿真工具,它包括众多的功能各异的工具箱、以矩阵和数组为基本单位的编程语言,为数学计算和试验数据分析提供了极大的便利。Siumlink是MATLAB的一个共生产品,包括丰富的模块资源和工具箱资源,具有相对独立的功能和使用方法,提供了建模、分析和仿真各种动态系统的交互环境,建立仿真模型后可以很容易地通过改变仿真参数,得到不同参数的仿真结果。结合MATLAB 和Simulin的特点,可以实现各种电路的仿真。

  在构建仿真电路时,有些可以直接调用Simulink模块,有些用Simulink模块难以实现的,可以通过编写Simulink 支持的S函数来完成。对于比较复杂的仿真电路,可以采用Simulink模块调用和编程混合的方式实现。本文所实现的A/D转换电路的仿真就是采用 Simulink模块调用和MATLAB编程混合的方式。

  2 A/D转换电路的仿真

  2.1A/D转换电路的的仿真

  模/数(A/D)转换电路的任务是将连续变换的模拟信号转换为离散的数字信号,以便于数字系统进行处理,模/数转换一般要完成采样、量化和编码等几个过程。

  采样是在连续变化的模拟量上按一定的规律(周期地)取出其中的某一些瞬时值来代表这个连续的模拟量。为了保证采样信号不丢失的信息,即采样后的离散信号能代替或能恢复原来的连续信号,采样必须遵循采样定理,即对信号采样时,采样频率必须大于或等于信号最高频率的两倍。

  量化就是将f(nT)的所有值映射到数字量所表示的状态上。实际上,在量化过程中是将样本的幅值范围分为若干个量化层,每一个量化层对应一个量化输出,所有落于该量化层内的样本都统一取该量化输出值。量化层的数目与量化后编码的位数有关。

  2.1.1 采样功能的实现

  A/D转换就是一个量化的过程,它把采样后的模拟信号转换成数字量。在实际工作中,A/D转换首先要选定一个合适的编码方案,然后根据编码的位数确定量化层,从而确定采样频率。实现仿真电路的关键是采样模块的构建,由于Simulink的模块难以构建采样功能,采样模块主要是通过编写Simulink支持的S函数实现的。S函数有固定的程序格式,S函数的实现包括初始化、连续状态微分、计算输出和仿真终止。可以用MATLAB语言可以编写S函数,也可以使用C 语言、C++和Fortran 等语言编写。S函数使用一种特殊调用规则来实现用户与Simulink的内部解法器进行交互,并且这种交互可以适用于不同性质的系统。S函数模块存放在 Functions&Tables模块库中,通过此模块可以创建包含S函数的Simulink模块。S函数文件名区域要填写S函数的文件名。S函数参数区填入S函数所需要的参数。

  本系统假定输入的模拟信号周期为2,编写了4个S函数,分别为sf_ad4、sf_ad8、sf_ad16、sf_ad32,对应的采样时间分别为 0.5、0.25、0.125、0.0625,即采样频率分别是信号最高频率的四倍、八倍、十六倍和三十二倍。下面以sf_ad32函数为例,说明其算法及实现程序。

  首先,设模拟信号是周期为2的Sine波,且用连续的时间函数f(t)表示,采样就是周期地取f(t)的瞬时值。根据采样定理,对每个周期的模拟信号采样32次,则采样的时间就为0.0625(2/32)的倍数。完成一个周期的采样时间为0.0625*n(0<=32,n 为整数),延时为0。采样后将相应值输出,但信号在量值上仍然是连续的,需将f(nT)的所有值映射到数字量所表示的状态上,这种过程为量化。在量化过程中是将样本的幅值范围分为若干个量化层,每一个量化层对应一个量化输出,所有落在该量化层内的样本都统一取该量化输出值。本实例中,采用4位编码,则有 24=16个量化层。在编码过程中采用从1000到0111的编码,来输出相应的量化值。其源代码如下:

  function[sys,x0,str,ts]=sf_ad32(t,x,u,flag)
  switch flag,
   case 0,
    [sys,x0,str,ts]=mdlInitializeSizes;
   ………
   case 9,
    sys=[];
   otherwise
    error([unhandle flag=,num2str(flag)]);
  end
   function[sys,x0,str,ts]=mdlInitializeSizes
  sizes=simsizes;
  sizes.NumContStates=0;
  sizes.NumDiscStates=0;
  sizes.NumOutputs=1;
  sizes.NumInputs=1;
  sizes.DiRFeedthrough=1;
  sizes.NumSampleTimes=32;
  sys=simsizes(sizes);
  x0=[];
  str=[];
  ts=[
   0.0625 0
   0.125 0
   0.0625*3 0
   0.25 0
   ………
   0.0625*31 0
   2 0 ];
  function sys="mdlUpdate"(t,x,u)
  sys=x;
  function sys="mdlOutput"(t,x,u)
  sys=u;

  其中,sys依照flag的值返回不同的结果,x0为初始状态值,str用于设置输出矢量为一个空矩阵,ts采用两列的矩阵来设置采样时间和延迟,sf_ad4是S函数的函数名,t为目前仿真中的实现时间,x为状态矢量,可为空,u为输入矢量,flag为S函数行为标示。

  sf_ad8、sf_ad16、sf_ad32的S函数类似于sf_ad4,不同的就是采样时间的个数和ts的采样时间和延迟矩阵。调用S函数时首先将所需的S函数模块拖入调用模块(Simulink->User-Defined Functions->S-Function)并设置S函数的参数,参数设置对话框如图1所示。

图1 S函数的调用


  2.1.2 A/D转换仿真电路的构建

  A/D转换仿真电路由“模拟信号发生器”模块、“选择采样函数1~4”模块、“结果显示”模块和“A/D转换电路”子系统组成,如图2所示。

  “选择采样函数1~4”模块是选择采样频率,构建过程为:在Matlab的命令窗口中输入命令Simulink打开Simnlink Library Browser子窗口,选中左边目录栏中的Simulink库后单击子目录Sources,右边的子窗口显示相应的Sources库中的模块集,选中 Constant常数模块并拖入所建的仿真模块中(简单表述为Simulink->Sources->Constant,后文同此),双击此模块出现参数设置框,输入所要选择函数对应的编号1~4。“模拟信号发生器”模块和“结果显示”模块通过直接调用模拟信号发生器和示波器构建。“A/D转换电路”子系统内部主要是由1个选择开关和四个S函数组成。“采样电路”子系统的构建首先是调用一般的子系统(Simulink->Ports&Subsystems->Subsystem),然后双击此子系统,在子系统的内部生成1个选择开关,拖入四个S函数,把选择开关与四个S函数相连。

图2 “A/D转换”仿真系统的主界面


  2.1.3 A/D转换电路的仿真结果

  运行仿真电路时,由“模拟信号发生器”模块产生各种模拟输入信号,通过“选择采样函数1~4”模块选定采样频率,结果在“结果显示”模块显示。
选择采样函数为4,则A/D转换的采样时间为0.0625,选定输入信号分别为正弦波和随机波。运行此仿真系统后的结果如图3、图4所示。

 

 图3 输入信号为正弦波的运行结果 图4 输入信号为随机波的运行结果

  3 结束语

  本文作者创新点:由于Simulink的模块库中,缺少各种可编程接口芯片模块,将Simulink 和MATLAB编程混合应用到A/D、D/A转换电路的仿真,结果表明仿真效果良好。这种方法可以应用于多种控制电路、通信电路等系统的仿真中。仿真电路的工作过程类似于真实的硬件,而且更便宜、更灵活,也很容易进行恢复,避免了操作错误造成的损失,按每个单位一年减少五千元计算,具有明显的经济效益和社会效益。

关键字:仿真  A/D  转换电路 编辑:探路者 引用地址:接口电路仿真的算法分析及实现

上一篇:雷达天线电源故障检测电路的设计
下一篇:光纤放大器( EDFA )的调试与维护

推荐阅读最新更新时间:2023-10-17 15:44

HOLTEK推出HT66F018 Enhanced A/D Flash MCU
Holtek Enhanced A/D Flash Type MCU系列新增HT66F018,此颗MCU为HT66F0172/HT66F0174的延伸产品,提供较丰富的系统资源,符合工业上-40℃ ~ 85℃工作温度与高抗噪声的性能要求,可广泛的应用于各式家电产品。 HT66F018的系统资源为4Kx16 Flash程序内存,SRAM 192 Bytes、32 Byte EEPROM,内建比较器,12-bit ADC及I/O 18个,内建3组Timer Module PTM、CTM及STM,有Capture、Compare、Timer/Event、Single Pulse Output、PWM等5种模式,可适用于众多家
[单片机]
HOLTEK推出HT66F018 Enhanced <font color='red'>A</font>/<font color='red'>D</font> Flash MCU
RFID在Rifidi中的仿真研究
射频识别(Radio Frequency Identification,RFID)技术,作为快速、实时、准确采集与处理信息的高新技术和信息标准化的基础,已经被公认为本世纪十大重要技术之一。 本课题主要讲述射频识别(RFID)在仿真软件Rifidi中的仿真应用。RFID是一种新型的自动识别技术,具有很多优点。但由于在射频识别 (RFID)读写器和天线的安装过程中,实施人员有时要绞尽脑汁地满足速率要求和反复调试各种方案才能达到最好的读取效果。另外,即便实施人员已经设计了一种安装方案并调试成功,但是该方案在实际应用中究竟有多大的作用依然是个未知数,一旦不能满足实际应用的需要,调整方案所带来的“回滚”不仅会耗费大量的人力、物力,更有可
[网络通信]
基于FPGA 的谐波电压源离散域建模与仿真
摘要: 用于 电能计量 的谐波电压源要求具有很强的谐波合成能力,因此,对采样频率要求较高。目前,绝大多数谐波电压源装置采用 DSP 作为控制 芯片 。DSP 虽然有着很强的信号处理能力,但其采样率不高,不能满足电能计量用谐波电压源采样精度的要求。对此,提出了将FPGA 应用于谐波电压源的研究中,采用基于SPWM 的双闭环PI控制策略,在VHS-ADC 高速信号处理平台上搭建离散域控制模型并进行仿真。仿真结果表明,输出波形稳定,具有较小的畸变率,说明了基于FPGA 进行谐波电压源研究的可行性。    0 引言   近年来,由于电力 电子 装置等非线性负荷的大量增加,电力系统的谐波污染越来越严重,严重地影响了电能计量的准确
[嵌入式]
基于FPGA 的谐波电压源离散域建模与<font color='red'>仿真</font>
嵌入式软件系统测试中的仿真系统结构设计
1 嵌入式系统概述 嵌入式系统是以计算机技术为基础,以应用为中心,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 嵌入式软件是基于嵌入式系统设计的软件,是计算机软件的一种,同样由程序及文档组成,可细分成系统软件、支撑软件、应用软件三类。嵌入式软件大量应用于家用、工业、商业、通讯和国防领域。我国目前在嵌入式应用软件方面具有优势。在嵌入式系统中,软件的工作量约占全部工作量的80%,其中测试与验证的工作量占软件工作量的70%。 1.1 嵌入式软件特点和测试难点 嵌入式系统开发有其自身的特点。通常,在嵌入式系统软件中,底层驱动程序、操作系统和应用程序的界线是不清晰的,有时甚至混编在一
[测试测量]
嵌入式软件系统测试中的<font color='red'>仿真</font>系统结构设计
基于矩角控制的PMSM伺服系统仿真与设计
1 引言     PMSM以其高效性、高转矩惯量比、高能量密度而受到诸多关注,因而在数控机床、军工、航天等领域逐渐得到广泛应用。交流步进传动控制是将位置控制、速度控制和伺服控制等不同的传动控制方式有机结合,使PMSM的气隙磁动势由连续的旋转磁场变为离散的步进磁场。对离散的步进磁动势进行控制,可获得良好的速度控制,还可进一步取得精确的位置控制,从而形成高性能的交流传动控制系统。电力电子技术的应用使系统具有离散控制的基本特征,使传统的运动控制思想得到突破。它打破了连续与离散、速度与位置、旋转与步进的严格界限,形成了一种统一的交流步进控制理论。 2 步进控制与矩角控制理论 2.1 步进控制理论     PMSM的步进控制的中心思想是将
[嵌入式]
12位A/D转换器ADS7804与51单片机的接口及程序设计
1 基本特点 在计算机控制系统及各类用单片机(或微处理器)构成的智能仪器仪表中,外部的各种模拟信号必须通过A/D转换器变换为数字信号后才能送入计算机。与8位和16位的A/D转换器相比,12位A/D转换器以其较高的性能价格比而在仪器仪表中得到广泛的应用。ADS7804芯片采用28脚0.3英寸PDIP(塑料双列直插式)封装,两列管脚间距为0.3英寸,比一般DIP28封装窄一倍,所以俗称瘦型DIP;ADS7804采用单5V电源供电;芯片内部含有采样保持、电压基准和时钟等电路,可极大简化用户的电路设计和硬件开锁,并可提高系统的稳定性。ADS7804采用CMOS工艺制造,转换速度快、功耗低(最大功耗为100mW)。该A/D转换器采用逐次逼近
[单片机]
12位<font color='red'>A</font>/<font color='red'>D</font><font color='red'>转换</font>器ADS7804与51单片机的接口及程序设计
“恐怖谷”定律魔咒,是否会阻挡仿真机器人发展
  不知道大家是否知道“恐怖谷”?恐怖谷理论是1969年由日本机器人专家森昌弘提出假设,当机器人与人类相像超过95%的时候。由于机器人与人类在外表﹑动作上都相当相似,所以人类亦会对机器人产生正面的情感;直至到了一个特定程度,他们的反应便会突然变得极之反感。人形玩具或机器人的仿真度越高人们越有好感,但当达到一个临界点时,这种好感度会突然降低,越像人越反感恐惧,直至谷底,称之为恐怖谷。   而这一切,可能当机器人的外表和动作和人类的相似度继续上升的时候,人类对他们的情感反应亦会变回正面,贴近人类与人类之间的移情作用。   正应为这“恐怖谷”理论,许多机器人专家在制造机器人时,都尽量避免“机器人”外表太过人格化,
[机器人]
采用SAA7110和AL250集成芯片TV/VGA转换电路
    摘要: 介绍了一种要用SAA7110视频信号解码芯片和AL250视频扫描同步信号倍频芯片设计的电视信号到计算机VGA信号的转换电路,并给出了硬件电路设计方法和I2C总线单机编程控制方法。     关键词: 解码器 倍频器 SAA7110 AL250 I2C总线 基于CRT(阴极射线管)的电电视机和计算机监视器具有相同的基本工作原理和相似的外形,但电视信号(TV)与计算机监视器的VGA信号之间存在很大差别,使得这两种显示设备无法通用。Averlogic公司视频处理芯片AL250具有视频信号倍频作用,可与Philips公司前端视频解码芯片SAA7110配合组成TV/VGA转换电路,其输出信号可以直接输入
[应用]
小广播
热门活动
换一批
更多
最新电源管理文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved