信号完整性问题是高速PCB 设计者必需面对的问题。阻抗匹配、合理端接、正确拓扑结构解决信号完整性问题的关键。传输线上信号的传输速度是有限的,信号线的布线长度产生的信号传输延时会对信号的时序关系产生影响,所以PCB 上的高速信号的长度以及延时要仔细计算和分析。运用信号完整性分析工具进行布线前后的仿真对于保证信号完整性和缩短设计周期是非常必要的。在PCB 板子已焊接加工完毕后才发现信号质量问题和时序问题,是经费和产品研制时间的浪费。1.1 板上高速信号分析我们设计的是基于PowerPC 的主板,主要由处理器MPC755、北桥MPC107、北桥PowerSpanII、VME 桥CA91C142B 等一些电路组成,上面的高速信号如图2-1 所示。板上高速信号主要包括:时钟信号、60X 总线信号、L2 Cache 接口信号、Memory 接口信号、PCI 总线0 信号、PCI 总线1 信号、VME 总线信号。这些信号的布线需要特别注意。由于高速信号较多,布线前后对信号进行了仿真分析,仿真工具采用Mentor 公司的Hyperlynx7.1 仿真软件,它可以进行布线前仿真和布线后仿真。
上传时间: 2013-11-17
上传用户:sqq
注:1.这篇文章断断续续写了很久,画图技术也不精,难免错漏,大家凑合看.有问题可以留言. 2.论坛排版把我的代码缩进全弄没了,大家将代码粘贴到arduino编译器,然后按ctrl+T重新格式化代码格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脉宽调制波,通过调整输出信号占空比,从而达到改 变输出平均电压的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 个8 位精度PWM 引脚,分别是3, 5, 6, 9, 10, 11 脚。我们可以使用analogWrite()控 制PWM 脚输出频率大概在500Hz 的左右的PWM 调制波。分辨率8 位即2 的8 次方等于 256 级精度。但是有时候我们会觉得6 个PWM 引脚不够用。比如我们做一个10 路灯调光, 就需要有10 个PWM 脚。Arduino Duemilanove 2009 有13 个数字输出脚,如果它们都可以 PWM 的话,就能满足条件了。于是本文介绍用软件模拟PWM。 二、Arduino 软件模拟PWM Arduino PWM 调压原理:PWM 有好几种方法。而Arduino 因为电源和实现难度限制,一般 使用周期恒定,占空比变化的单极性PWM。 通过调整一个周期里面输出脚高/低电平的时间比(即是占空比)去获得给一个用电器不同 的平均功率。 如图所示,假设PWM 波形周期1ms(即1kHz),分辨率1000 级。那么需要一个信号时间 精度1ms/1000=1us 的信号源,即1MHz。所以说,PWM 的实现难点在于需要使用很高频的 信号源,才能获得快速与高精度。下面先由一个简单的PWM 程序开始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 这是一个软件PWM 控制Arduino D13 引脚的例子。只需要一块Arduino 即可测试此代码。 程序解析:由for 循环可以看出,完成一个PWM 周期,共循环255 次。 假设bright=100 时候,在第0~100 次循环中,i 等于1 到99 均小于bright,于是输出PWMPin 高电平; 然后第100 到255 次循环里面,i 等于100~255 大于bright,于是输出PWMPin 低电平。无 论输出高低电平都保持30us。 那么说,如果bright=100 的话,就有100 次循环是高电平,155 次循环是低电平。 如果忽略指令执行时间的话,这次的PWM 波形占空比为100/255,如果调整bright 的值, 就能改变接在D13 的LED 的亮度。 这里设置了每次for 循环之后,将bright 加一,并且当bright 加到255 时归0。所以,我们 看到的最终效果就是LED 慢慢变亮,到顶之后然后突然暗回去重新变亮。 这是最基本的PWM 方法,也应该是大家想的比较多的想法。 然后介绍一个简单一点的。思维风格完全不同。不过对于驱动一个LED 来说,效果与上面 的程序一样。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,这段代码少了一个For 循环。它先输出一个高电平,然后维持(bright*30)us。然 后输出一个低电平,维持时间((255-bright)*30)us。这样两次高低就能完成一个PWM 周期。 分辨率也是255。 三、多引脚PWM Arduino 本身已有PWM 引脚并且运行起来不占CPU 时间,所以软件模拟一个引脚的PWM 完全没有实用意义。我们软件模拟的价值在于:他能将任意的数字IO 口变成PWM 引脚。 当一片Arduino 要同时控制多个PWM,并且没有其他重任务的时候,就要用软件PWM 了。 多引脚PWM 有一种下面的方式: int brights[14] = {0}; //定义14个引脚的初始亮度,可以随意设置 int StartPWMPin = 0, EndPWMPin = 13; //设置D0~D13为PWM 引脚 int PWMResolution = 255; //设置PWM 占空比分辨率 void setup() { //定义所有IO 端输出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //随便定义个初始亮度,便于观察 brights[ i ] = random(0, 255); } } void loop() { //这for 循环是为14盏灯做渐亮的。每次Arduino loop()循环, //brights 自增一次。直到brights=255时候,将brights 置零重新计数。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是计数一个PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每个PWM 周期均遍历所有引脚 { if(i < brights[j])\ 所以我们要更改PWM 周期的话,我们将精度(代码里面的变量:PWMResolution)降低就行,比如一般调整LED 亮度的话,我们用64 级精度就行。这样速度就是2x32x64=4ms。就不会闪了。
上传时间: 2013-10-23
上传用户:mqien
Multisim可用于原理图输入、SPICE仿真、和电路设计,无需SPICE专业知识,即可通过仿真来减少设计流程前期的原型反复。Multisim可识别错误、验证设计,以及更快地原型。此外,Multisim原理图可无缝转换到NI Ultiboard中完成PCB设计。评估版软件不能打印图表以及导出最终Gerber文件。更多信息请访问ni.com/multisim/zhs/。
标签: Ultiboard Multisim NI 评估软件
上传时间: 2013-10-26
上传用户:xiaozhiqban
multisim10.0仿真软件破解版下载:【软件介绍】 Multisim本是加拿大图像交互技术公司(Interactive Image Technoligics简称IIT公司)推出的以Windows为基础的仿真工具,被美国NI公司收购后,更名为NI Multisim ,而V10.0是其(即NI,National Instruments)最新推出的Multisim最新版本。 目前美国NI公司的EWB的包含有电路仿真设计的模块Multisim、PCB设计软件Ultiboard、布线引擎Ultiroute及通信电路分析与设计模块Commsim 4个部分,能完成从电路的仿真设计到电路版图生成的全过程。Multisim、Ultiboard、Ultiroute及Commsim 4个部分相互独立,可以分别使用。Multisim、Ultiboard、Ultiroute及Commsim 4个部分有增强专业版(Power Professional)、专业版(Professional)、个人版(Personal)、教育版(Education)、学生版(Student)和演示版(Demo)等多个版本,各版本的功能和价格有着明显的差异。 NI Multisim 10用软件的方法虚拟电子与电工元器件,虚拟电子与电工仪器和仪表,实现了“软件即元器件”、“软件即仪器”。NI Multisim 10是一个原理电路设计、电路功能测试的虚拟仿真软件。 NI Multisim 10的元器件库提供数千种电路元器件供实验选用,同时也可以新建或扩充已有的元器件库,而且建库所需的元器件参数可以从生产厂商的产品使用手册中查到,因此也很方便的在工程设计中使用。 NI Multisim 10的虚拟测试仪器仪表种类齐全,有一般实验用的通用仪器,如万用表、函数信号发生器、双踪示波器、直流电源;而且还有一般实验室少有或没有的仪器,如波特图仪、字信号发生器、逻辑分析仪、逻辑转换器、失真仪、频谱分析仪和网络分析仪等。 NI Multisim 10具有较为详细的电路分析功能,可以完成电路的瞬态分析和稳态分析、 时域和频域分析、器件的线性和非线性分析、电路的噪声分析和失真分析、离散傅里叶分析、电路零极点分析、交直流灵敏度分析等电路分析方法,以帮助设计人员分析电路的性能。 NI Multisim 10可以设计、测试和演示各种电子电路,包括电工学、模拟电路、数字电路、射频电路及微控制器和接口电路等。可以对被仿真的电路中的元器件设置各种故障,如开路、短路和不同程度的漏电等,从而观察不同故障情况下的电路工作状况。在进行仿真的同时,软件还可以存储测试点的所有数据,列出被仿真电路的所有元器件清单,以及存储测试仪器的工作状态、显示波形和具体数据等。 NI Multisim 10有丰富的Help功能,其Help系统不仅包括软件本身的操作指南,更要的是包含有元器件的功能解说,Help中这种元器件功能解说有利于使用EWB进行CAI教学。另外,NI Multisim10还提供了与国内外流行的印刷电路板设计自动化软件Protel及电路仿真软件PSpice之间的文件接口,也能通过Windows的剪贴板把电路图送往文字处理系统中进行编辑排版。支持VHDL和Verilog HDL语言的电路仿真与设计。 利用NI Multisim 10可以实现计算机仿真设计与虚拟实验,与传统的电子电路设计与实验方法相比,具有如下特点:设计与实验可以同步进行,可以边设计边实验,修改调试方便;设计和实验用的元器件及测试仪器仪表齐全,可以完成各种类型的电路设计与实验;可方便地对电路参数进行测试和分析;可直接打印输出实验数据、测试参数、曲线和电路原理图;实验中不消耗实际的元器件,实验所需元器件的种类和数量不受限制,实验成本低,实验速度快,效率高;设计和实验成功的电路可以直接在产品中使用。 NI Multisim 10易学易用,便于电子信息、通信工程、自动化、电气控制类专业学生自学、便于开展综合性的设计和实验,有利于培养综合分析能力、开发和创新的能力。 multisim10.0激活码及破解序列号
上传时间: 2015-01-03
上传用户:daoyue
java实现的一个图书馆小软件,带有ROSE用例图分析。不错的学习资料yon
上传时间: 2015-02-01
上传用户:tuilp1a
这是一个软件工程的文档,详细介绍了如何用数据流图以及数据字典的分析方法开发一个图书馆管理信息系统。
上传时间: 2015-03-22
上传用户:qiao8960
Microsoft Visio 是微软公司生产的一个强大的图形设计软件,专门用于绘制比如数据库设计图、流程示意图、系统结构图的图形设计软件。如同其OFFICE系列软件一样,有着强大而繁多的功能,在程序和工程设计中被广泛的应用。
上传时间: 2014-12-04
上传用户:ruan2570406
Microsoft Visio 是微软公司生产的一个强大的图形设计软件,专门用于绘制比如数据库设计图、流程示意图、系统结构图的图形设计软件。如同其OFFICE系列软件一样,有着强大而繁多的功能,在程序和工程设计中被广泛的应用。
上传时间: 2013-12-23
上传用户:小鹏
Microsoft Visio 是微软公司生产的一个强大的图形设计软件,专门用于绘制比如数据库设计图、流程示意图、系统结构图的图形设计软件。如同其OFFICE系列软件一样,有着强大而繁多的功能,在程序和工程设计中被广泛的应用。
上传时间: 2014-11-24
上传用户:aix008
绘图软件,可以生成饼图,棒图,折线图以及相应的平面图和立体图
标签: 绘图软件
上传时间: 2013-12-09
上传用户:teddysha