用FPGA实现多路PWM输出的接口设计与仿真

发布者:风轻迟最新更新时间:2007-08-06 来源: 电子工程师关键字:数字  滤波  算法  扩展 手机看文章 扫描二维码
随时随地手机看文章

0 引言

在许多嵌入式系统的实际应用中,需要扩展FP-GA(现场可编程门阵列)模块,将CPU实现有困难或实现效率低的部分用FPGA实现,如数字信号处理、硬件数字滤波器、各种算法等,或者利用FPGA来扩展I/O接口,如实现多路PWM(脉宽调制)输出、实现PCI接口扩展等。通过合理的系统软硬件功能划分,结合优秀高效的FPGA设计,整个嵌入式系统的效率和功能可以得到最大限度的提高。

在电机控制等许多应用场合,需要产生多路频率和脉冲宽度可调的PWM波形。本文用Altera公司FPGA产品开发工具QuartusⅡ,设计了6路PWM输出接口,并下载到FPGA,实现与CPU的协同工作。

1 FPGA概述

PLD(可编程逻辑器件)可分为SPLD(简单可编程逻辑器件),CPLD(复杂可编程逻辑器件)和FPGA,其实它们只是在起初有一些差别,现在的区别已经比较模糊了,PLD可统称为FPGA。目前世界上有十几家生产CPLD/FPGA的公司,知名度较大的有Altera,Xil-inx,Lattice,Actel等,其中Altera和Xilinx占有了60%以上的市场份额。

Altera公司是最大PLD供应商之一,20世纪90年代以后发展很快。主要产品有:MAX3000/7000、FLEX10K、APEX20K、ACEX1K、StratiX、Cyclone等。开发软件为MaxplusⅡ和QuartusⅡ。普遍认为其开发工具MaxplusⅡ和QuartusⅡ是最成功的FPGA开发平台之一,配合使用Altera公司提供的免费OEM HDL综合工具可以达到较高的效率。

对于系统设计人员来说,FPGA是一种可以自己编程的芯片。它从芯片制造厂商那里出来时是内部没有连线的。用户可以进行设计输人(电路图输入、状态机输入或者HDL输入);然后进行仿真和验证;接着用一些专用软件(如Synopsys FPGA-Compiler、Synplici-ty Synplify、Examplar Leonardo等)进行逻辑综合;最后使用各个FPGA厂商自身的后端实现的软件(如Al-tera Quartus、Xilinx ISE等)进行布局布线,生成一个配置所需设计的电路连线关系的二进制流文件,通过一根连接PC机和FPGA芯片的下载线,将配置文件下载到芯片中。

本文以使用QuartusⅡ软件设计PWM为例,介绍FPGA设计的流程,它包括设计输入、约束输入、逻辑综合、逻辑验证(综合后仿真)、布局布线(器件实现)和器件验证(版图后仿真)等几部分。

2 多路PWM的设计实现

PWM技术最初是在无线电技术中用于信号的调制,后来在电机调速中得到了很好的应用。在直流伺服控制系统中,通过专用集成芯片或中小规模数字集成电路构成的传统PWM控制电路往往存在电路设计复杂、体积大、抗干扰能力差以及设计困难、设计周期长等缺点,因此PWM控制电路的模块化、集成化已成为发展趋势。它不仅可以使系统体积减小、重量减轻且功耗降低,同时可使系统的可靠性大大提高。随着电子技术的发展,特别是ASIC(专用集成电路)设计技术的日趋完善,数字化的EDA(电子设计自动化)工具给电子设计带来了巨大变革,在电机控制等许多应用场合,需要产生多路频率和脉冲宽度可调的PWM波形,这可通过FPGA丰富的硬件资源和可以配置I/O引脚来实现。嵌入式系统中FPGA的应用设计关键是系统软硬件功能的划分。

图1是实现的3路PWM硬件结构框图。CPU通过数据线向FPGA写入定时常数控制PWM的频率、初始相位和占空比,并通过外部启动信号控制PWM的启动。

根据图1,写出实现相应功能的Verilog程序描述。部分源程序如下:


图2显示了QuartusⅡ中新建一个项目/文件时可选的设计输入(在Software Files和Other Files标签中还要其他设计输入方法选择),该窗口从菜单"File"→"New"打开,图中显示了"Device Design files"标签下的设计输入方法有AHDL(Altera 公司开发的HDL语言)、方块图/原理图、EDIF、Verilog和VHDL输入方法。另外在"Software Files''和"Other Files"标签下还有TCL语言、波形图等其他输入方法。

3 逻辑仿真和器件验证

行为级仿真是在HDL源代码设计完成之后,通过设计测试平台文件(激励和测试矢量)来验证设计的正确性。逻辑仿真是在逻辑综合之后,对生成的门级网表进行验证。测试平台文件与采用行为级仿真的测试平台文件,这样能够保证设计验证的一致性。并且,逻辑验证是一种理想的门级网表,不存在延时信息。器件验证也称版图后仿真,它是在FPGA实现之后,提取出门级网表和延时信息进行验证,测试平台文件与行为级一样。器件验证结果是比较接近真实硬件的结果。完全通过这3层的验证,基本上可以保证设计的结果与测试平台文件一致。

行为仿真和器件仿真也可直接在QuartusⅡ中进行,其中输入激励波形和输出观察节点在QuartusⅡ波形输入窗口进行设置,在设计通过功能仿真后,需要进一步选择器件仿真以验证设计的正确性。器件仿真时包含了所选择的对应FPGA估算延时或实际延时信息,故仿真速度较功能仿真慢很多。通过仿真可以及早发现设计中的错误,并根据具体情况进行修改,包括修改硬件实现架构、设计代码、约束条件等一个或多个方面。器件仿真通过后,则可以将设计下载到芯片,进行硬件功能验证。

图3是对应PWM的功能仿真结果波形。从图3中可以看出,在564 ps时刻CPU向PWM写入新的控制常数后,下一个周期的PWM输出占空比立刻发生了相应改变。

图4是相应设计在QuartusⅡ下编译通过后进行器件仿真的波形,由图4可见,其时序功能正确。通过器件下载编程方法下载到相应的FPGA,就可以结合整个嵌入式系统进行硬件调试。



4 结束语


在FPGA开发软件中完成设计以后,软件会产生一个最终的编程文件,QuartusⅡ中是.pof或.sof。现在的FPGA基本都采用在系统编程方式,对于EEP-ROM/Flask/SRAM工艺的在系统可编程FPGA,厂家提供编程电缆,如Altera公司提供的下载电缆类型有ByteBlasterⅡ并口下载电缆、USB BlasterTMUSB口下载电缆、MasterBlaster 通信缆线(USB或RS-232端口)等,其配置方式可以有主动/被动串行配置方式、JTAG方式等。电缆一端装在计算机的相应接口上,另一端接至PCB(印制电路板)上的编程插头,它向系统板上的器件提供配置或编程数据,这就是所谓的ISP(在线系统编程)。

在电机控制等许多应用场合,需要产生多路频率和脉冲宽度可调的PWM波形,本文通过使用Altera公司FPGA产品开发工具QuartusⅡ,设计了6路PWM输出接口,并下载到FPGA,实现与CPU的协同工作。在嵌入式系统中通过FPGA扩展系统功能的设计是一种有效的方法。

关键字:数字  滤波  算法  扩展 引用地址:用FPGA实现多路PWM输出的接口设计与仿真

上一篇:高清电视音频解码的定点DSP实现
下一篇:基于数字信号处理的远方保护设备

推荐阅读最新更新时间:2024-05-02 20:37

掀起“数字健康”革命浪潮 颠覆医疗保健行业
    你知道吗,智能手机不只是你最好的朋友,还可能是你的私人教练、医疗实验室,甚至成为你的医生。“数字健康”正成为当下技术产业的关注焦点,无论是默默无闻的新创企业,还是赫赫有名的IT巨擘,都摩拳擦掌,希望在健康产品的消费大潮中淘金。谷歌预言,未来20年里,新技术与生命科学的碰撞,将改变医疗保健行业的面貌。 【改变世界的伟大事业】     在斯坦福大学校园一角坐落着新创公司Theranos,这里曾是“脸谱”的一间办公室。创始人伊丽莎白·霍尔姆斯今年30岁,却已经为Theranos付出了11年心血。     十九岁那年,她从斯坦福大学工程系退学,开始创业。和偶像史蒂夫·乔布斯一样,她自信满满,好像一个强大的“磁场”,对周
[医疗电子]
使用8051微控制器的数字电压表的实现方法
数字电压表是一种测量电信号电压的电子仪器。它用于各种应用,包括电子、电力系统和自动化领域。在本文中,我们将讨论使用8051微控制器的数字电压表的实现。 8051微控制器是一种广泛使用的微控制器,适用于各种应用。它具有 4KB 片上 ROM、128 字节片上 RAM、32 个 I/O 引脚和一个 16位定时器。微控制器可以用汇编语言或高级语言(如C)进行编程。 该微控制器具有多种特性,非常适合用作数字电压表,例如内置ADC(模数转换器)和8位定时器。 所需组件 要使用 8051 微控制器构建数字电压表,我们需要以下组件: 8051微控制器(AT89C51)。 LCD 显示屏 –(7 段 4 位)。 模数转换器(ADC0804 I
[单片机]
使用8051微控制器的<font color='red'>数字</font>电压表的实现方法
H.264数字压缩格式引发视听技术的革命
    长久以来,MPEG-2一直是全世界范围内最使用广泛的家用标准清晰度数字视频内容压缩格式。有线电视系统运营商、卫星电视广播公司、地面数字电视广播网络和DVD所使用的都是MPEG-2格式。      除使用MPEG-2格式外,所有这些视频播放方法都有一些共同点。它们都采用封闭的内容播放和消费系统。例如,消费者不可能将从有线电视系统运营商那里接收到的内容方便地转换到移动媒体播放器上并在旅行途中观看。     但这种情况已经开始发生改变。市场上出现了一些新型的内容播放系统和回放设备。越来越多的消费者可以选择在起居室以外的地点观看视频内容,例如在家中的其它房间、在汽车上、在PC机上、在便携式媒体播放器上,或者在手机上。 
[嵌入式]
数字电位器和数模转换器的区别
 1 引言   利用数字输入控制微调模拟输出有两种选择:数字电位器和数/模转换器(DAC),两者均采用数字输入控制模拟输出。通过数字电位器可以调整模拟电压;通过DAC既可以调整电流,也可以调整电压。电位器有三个模拟连接端:高端、抽头端(或模拟输出)和低端(见图1a)。DAC具有队应的三个端点:高端对应于正基准电压,抽头端对应于DAC输出,低端则可能对应于接地端或负基准电压端(见图1b)。      DAC和数字电位器存在一些明显区别,最明显的差异是DAC通常包括一个输出放大器/缓冲器,而数字电位器却没有。大部分数字电位器需要借助外部缓冲器驱动低阻负载。有些应用中,用户可以轻易地在DAC和数字电位器之间做出选择;而有些
[工业控制]
<font color='red'>数字</font>电位器和数模转换器的区别
一阶二阶电路滤波器的软件方式实现
MATLAB中进行软件滤波仿真 我身边有些朋友说现在在学校学习什么拉氏变换,Z变换,傅立叶变换没有用,传递函数没有用,差分方程没有用,只是纸上谈兵,我这里先就传递函数和拉氏变换和差分方程介绍几点不自量力的看法,我们学习拉氏变换主要是为了从脱离时域,因为时域分析有它的难度指数,我们从时域映射到S域,目的只有一个,那就是简化计算,正如我们在时域要计算卷积过来,卷积过去,我们把它映射到S域过后,就是乘积过来积乘过去,相对来说,乘积要比卷积的积分要温柔的多,然后我们在S域里面得到结论过后,再将其反映射回到时域,然后自然地在时域使用其所得的结论了。 以下仅举两个例子,就一阶惯性惯性滤波器和二阶滤波器的算法实现做简要介绍,如下,我们很容易写出
[电源管理]
一阶二阶电路<font color='red'>滤波</font>器的软件方式实现
基于C8051F单片机的数字倾角传感器设计
  1 引言   随着市场需求和科技的发展,人们对工程、机械、航空、航海设备的可靠性和稳定性提出了更高的要求,其中姿态测量是一项重要的指标。倾角传感器是测量关于某一基准面的倾斜角或者是姿态的装置。目前,市场上已有单轴、双轴、三轴的倾角传感器,但大多都价格昂贵或者体积较大。本文提出以双轴传感器SCA100t 和C8051F 单片机实现的设计,可大大降低系统成本,不但可以构成一个单独的数字输出传感器,也可以作为一个测量模块,嵌入到测量控制系统中,广泛应用于机器人控制、平台姿态(俯仰和滚转)测量、双轴加速度测量等系统中。   2 硬件电路设计   整个系统结构如图1 所示。可分为供电电路、角度测量和数据采集与输出等。系统采用宽电源
[单片机]
基于C8051F单片机的<font color='red'>数字</font>倾角传感器设计
基于人工免疫网络和AR模型的聚类与预测算法
1 引言     人工免疫系统是在生物免疫系统理论的基础上发展起来的,是利用生物免疫原理和思想建立的人工模型,具有多样性、分布性、动态性、鲁棒性等特点。人工免疫系统可以解决模式识别、数据挖掘、故障诊断、信息安全、优化计算等领域的诸多问题,已经成为继神经网络、模糊逻辑和演化计算之后的热点研究内容 。     人工免疫网络(aiNet)是利用免疫理论中的克隆选择、亲和力成熟和免疫网络理论等构建的网络模型。作为人工免疫系统范畴内的重要应用模型,它具有噪声耐受、无教师学习、自组织等优点,受到了国内外学者的广泛关注,研究成果涉及数据处理、优化学习和故障诊断等领域。     自回归模型(AR模型)具有线性体系结构,和ARMA模型相
[测试测量]
数字仪表的检修方法和修理技巧
数字式仪表具有很高的灵敏度和准确度,其应用几乎遍及所有企业。但由于其故障出现呈多因素,且遇到问题的随机性大,没有太多规律可循,修理难度较大。因此,本人将多年工作实际中所积累的一些修理经验整理出来,以供从事本专业的同仁参考。 一、修理方法 寻找故障应先外后里,先易后难,化整为零,重点突破。其方法大致可分为以下几种: 1.感觉法 凭借感官直接对故障原因做出判断,通过外观检查,能发现如断线、脱焊、搭线短路、熔丝管断、烧坏元件、机械性损伤、印刷电路上铜箔翘起及断裂等;可以触摸出电池、电阻、晶体管、集成块的温升情况,可参照找出温升异常的原因。另外,用手还可检查元件有否松动、脚管是否插牢,转换开关是否卡带;可以听到和嗅到有无异声、异味。
[测试测量]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved