没有合适的资源?快使用搜索试试~ 我知道了~
The development of a use Verilog implementation PWM hardware ins...
需积分: 0 2 下载量 91 浏览量
2014-08-19
16:34:59
上传
评论 1
收藏 50KB DOC 举报
温馨提示
试读
7页
verilog生成PWM硬件设计
资源推荐
资源详情
资源评论
一个用 Verilog 实现 PWM 硬件的开发实例
2008-01-17 12:48:34 来源:嵌入式技术网
关键字: Verilog PWM 硬件
本文举例说明了一个使用 FPGA 的新设计流程,我们从中可以知道如何用软件实现
PWM,然后如何将该设计转换成一个可以在 FPGA 中运行的逻辑块,并能利用存储器映
射 I/O 接口通过软件完成对该逻辑块的控制。
软硬件划分
现在的情况与以前有所不同,软件工程师能够方便地参与到硬件设计中。不管是硬件模块
还是软件模块现在都可以用编程语言进行设计。众所周知,C 语言是嵌入式软件设计的通
用语言。在硬件设计方面,Verilog 则是流行的选择(用 VHDL 的人也很多)。Verilog 的语法
和结构与 C 编程语言非常相似,从本文的例子中也可以看到这一点。
同时,硬件的升级和修改也变得越来越方便。以前可以通过下载新的可执行映像文件升级
软件,但对硬件却行不通。现在情况不同了。就像软件开发人员能够快速编辑、重新编译
然后将新代码下载到存储器那样,使用可编程逻辑器件的硬件设计者也能做类似的事情。
可编程逻辑改变了嵌入式系统的设计方法,设计者可以像修改软件那样方便地修改硬件。
换句话说,在设计和调试阶段,设计者能够灵活选择软件方式或硬件方式来作为完成任务
的最佳方式。
设计者无需太多的硬件知识就可以利用 FPGA 供应商提供的工具轻松地开发出可编程逻辑
嵌入式系统。例如,Altera 公司的 SOPC Builder 能帮助系统设计师从已有的库中选择和配
置外围电路,并增加用来创建和连接外围电路的用户逻辑。加上一些可编程逻辑和硬件知
识,软件工程师就能够充分利用硬件的优势改进他们的系统。
PWM 软件
PWM 控制器会产生一连串脉冲。通常需要规定脉冲的周期和宽度。占空比被定义为脉冲
宽度与周期的比值。PWM 有着广泛的应用,大多数情况下用于控制模拟电路。因为数字
信号连续变化的速率相对较快(当然取决于信号周期),因此最终会形成一个用来控制模拟
设备的平均电压值。当 PWM 脉冲流应用于马达时,马达的转速就能正比于占空比(从 0%
到 100%)。如果占空比增加,马达转速就会提高,反之,如果占空比减小,马达的转速随
之也会降低。
用软件编写这样一个 PWM 控制器是相对比较容易的任务,但它有助于我们简明扼要地描
述如何用 Verilog 设计硬件。清单 1 给出了 PWM 的 C 代码。
清单 1:完全用软件实现的位脉冲 PWM 控制器。
void
pwmTask(uint32_t pulse_width, uint32_t period)
{
uint32_t time_on=pulse_width;
uint32_t time_off=period-pulse_width;
while (1)
{
pwm_output=1;
sleep(time_on);
pwm_output=0;
sleep(time_off);
资源评论
winterfell_w
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功