深度解析基于FPGA控制的舵机程序

畅学单片机 ? 2018-01-25 08:54 ? 次阅读

心博天下娱乐平台 www.syycw.cn 舵机

一个常见的舵机有三个连接线。

黑色:电源地

红色:电源(5伏直流)

白色:控制引脚(PWM)

PWM控制舵机位置。伺服系统每20毫秒要有一个脉冲,以便获得正确的角度信息。脉冲宽度决定了舵机的角度运动范围。也就是说,我们可以通过发送1毫秒脉冲设置舵机到一端位置,发送2毫秒脉冲将其设置到另一个位置。

深度解析基于FPGA控制的舵机程序

控制波形

我们设计一个四个输入,一个输出的模块,如下图所示

控制模块

Clk:时钟信号

reset:复位信号

button_l:用于PWM占空比的增加

button_r:用于PWM占空比的减小

Pwm:输出信号驱动舵机。

首先,应该生成具有20毫秒周期的PWM信号,由于使用50MHz的时钟产生PWM,为了产生20ms信号,我们将定义一个名为counter的变量和一个名为upper的常数,它表示计数上边界。

Upper boundary : 20ms/20ns = 1000 000

constant upper :integer:=1000000;

………………………..

process(clk,reset)

begin

if reset = '1' then

pwm_reg

counter

duty_cycle

elsif clk='1' and clk'event then

pwm_reg

counter

duty_cycle

end if;

end process;

counter_next

控制信号占空比的值应是1毫秒至2毫秒之间。我们将定义两个常数命名dcycle_max和dcycle_min说明上下边界。

dcycle_max:显示脉冲宽度的最大值。

(2ms/clock period=2 ms/ 20 ns=100000)

dcycle_min:显示脉冲宽度的最小值。

(1ms/clock period=1 ms/ 20 ns=50000)

脉宽(占空比)在每个PWM周期中改变,因此我们定义了一个称为tick的变量。当tick为“1”时,占空比将发生变化。

signal tick : std_logic;

tick

定义了一个称为duty_in的常数,用于改变占空比。

VHDL代码

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity servo_pwm is

Port ( clk : in STD_LOGIC;

reset : in STD_LOGIC;

button_l : in STD_LOGIC;

button_r : in STD_LOGIC;

pwm : out STD_LOGIC);

end servo_pwm;

architecture Behavioral of servo_pwm is

constant period:integer:=1000000;

constant dcycle_max:integer:=100000;

constant dcycle_min:integer:=50000;

constant duty_in:integer:=200;

signal pwm_reg,pwm_next:std_logic;

signal duty_cycle,duty_cycle_next:integer:=0;

signal counter,counter_next:integer:=0;

signal tick:std_logic;

begin

process(clk,reset)

begin

if reset = '1' then

pwm_reg

counter

duty_cycle

elsif clk='1' and clk'event then

pwm_reg

counter

duty_cycle

end if;

end process;

counter_next

tick

process(button_l,button_r,tick,duty_cycle)

begin

duty_cycle_next

if tick='1' then

if button_l ='1' and duty_cycle >dcycle_min then

duty_cycle_next

elsif button_r ='1' and duty_cycle

duty_cycle_next

end if;

end if;

end process;

pwm

pwm_next

end Behavioral;

畅学单片机 技术专区

原文标题:FPGA控制舵机程序

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

开发FPGA的第一步,当然是选择一片符合设计需求的芯片

首先需要分析功能需求,然后在平衡资源与速度后,估计速度需求。同样也可以根据之前的设计来确定,根据FP....

的头像 FPGA极客空间 发表于 04-08 16:22 ? 274次阅读
开发FPGA的第一步,当然是选择一片符合设计需求的芯片

版主 你好,我在论坛查到FPGA的数字电压表的设计已经过期了。

发表于 04-08 14:42 ? 16次阅读
版主  你好,我在论坛查到FPGA的数字电压表的设计已经过期了。

解决FPGA一个解复用和时钟域转换问题

SERDES恢复出的数据进入FPGA有一个解复用和时钟域转换的问题,Stratix GX包含了专用电....

的头像 FPGA极客空间 发表于 04-08 08:46 ? 594次阅读
解决FPGA一个解复用和时钟域转换问题

基于UltraScale+FPGA可编程逻辑DCI互连盒设计

随着实施基于云的服务和机器到机器通信所产生的数据呈指数级增长,数据中心面临重重挑战....

的头像 FPGA开发圈 发表于 04-08 08:43 ? 566次阅读
 基于UltraScale+FPGA可编程逻辑DCI互连盒设计

一文知晓FPGA与ARM、DSP的不同点

FPGA并不是万能的。相对于串行结构处理器,其设计的灵活性是以工作量的增加为代价的。FPGA与ARM....

发表于 04-08 08:27 ? 86次阅读
一文知晓FPGA与ARM、DSP的不同点

基于FPGA的图像差分处理

基于FPGA的比特平面分层 基于单核Zynq 7Z007S的MiniZed? 开发套件 Xilinx....

的头像 电子发烧友网工程师 发表于 04-06 11:53 ? 274次阅读
基于FPGA的图像差分处理

基于verilog的计步器设计

发表于 04-05 09:59 ? 165次阅读
基于verilog的计步器设计

基于14纳米工艺的原型GPU,包含现场可编程门阵列

英特尔通过聘请业内最知名的AMD前GPU架构师Raja Koduri负责研发其独立GPU产品。

的头像 嵌入式资讯精选 发表于 04-04 08:52 ? 1384次阅读
基于14纳米工艺的原型GPU,包含现场可编程门阵列

因特尔Cyclone 10 LP FPGA评估板电路图集及PCB装配图

Intel公司的Cyclone 10 LP FPGA系列是低成本和低静态功耗的器件,提供高密度可编门....

发表于 04-04 08:15 ? 47次阅读
因特尔Cyclone 10 LP FPGA评估板电路图集及PCB装配图

美高森美PolarFire FPGA器件荣获《今日电子》和21ic.com颁发 “2017年度产品奖”

 致力于在功耗、安全、可靠性和性能方面提供差异化的领先半导体技术方案供应商美高森美公司(Micros....

的头像 人间烟火123 发表于 04-03 10:40 ? 1767次阅读
美高森美PolarFire FPGA器件荣获《今日电子》和21ic.com颁发 “2017年度产品奖”

采用Zynq UltraScale+MPSoC进行基于软件的创造性应用开发

ZCU104 评估套件可帮助设计人员为监控、高级驾驶员辅助系统 (ADAS)、机器视觉、增强实境 (....

的头像 FPGA开发圈 发表于 04-03 08:30 ? 2042次阅读
采用Zynq UltraScale+MPSoC进行基于软件的创造性应用开发

FPGA比CPU和GPU快的原因

CPU和GPU都属于冯·诺依曼结构,指令译码执行,共享内存。FPGA之所以比CPU、GPU更快,本质....

的头像 嵌入式资讯精选 发表于 04-02 17:52 ? 439次阅读
FPGA比CPU和GPU快的原因

fpga的图像mif文件vga显示问题,出来是白色一片

发表于 04-02 16:43 ? 139次阅读
fpga的图像mif文件vga显示问题,出来是白色一片

赛灵思Victor Peng:发明了FPGA再推出了一种碾压FPGA的新产品

2018 年 3 月 16 日,赛灵思又面向中国市场专门举行了一场信任 CEO 见面会,会上,已经在....

的头像 芯智讯 发表于 04-02 11:06 ? 292次阅读
赛灵思Victor Peng:发明了FPGA再推出了一种碾压FPGA的新产品

系统关键技术通用评估平台,轻松集成FPGA设计

系统设计有时十分复杂,需要充分了解许多不同的元件,如果解决方案的各环节可以进行原型制作并快速演示,就....

的头像 电子设计 发表于 04-02 09:33 ? 1974次阅读
系统关键技术通用评估平台,轻松集成FPGA设计

基于FPGA核心实施现代航空电子设计方法

本文将介绍一种基于现场可编程门阵列 (FPGA) 核心的实施体现了先进的现代航空电子设计方法。这项技....

的头像 电子设计 发表于 04-02 09:27 ? 1918次阅读
基于FPGA核心实施现代航空电子设计方法

DSP专家给你一个选择FPGA的理由

FPGA 对绝大多数的人来说相对有些陌生。经常有朋友问我,你们成天搞的这个 FPGA 到底是什么东西....

的头像 电子发烧友网工程师 发表于 03-31 08:20 ? 3120次阅读
DSP专家给你一个选择FPGA的理由

“2017中国电子工程师生活与工作状况调查”结果分析

今日发布“2011中国电子工程师生活与工作状况调查”结果。本次调查从2011年4月25日开始,至5月....

的头像 电子发烧友网工程师 发表于 03-31 07:14 ? 331次阅读
“2017中国电子工程师生活与工作状况调查”结果分析

FPGA时序约束简介

在简单电路中,当频率较低时,数字信号的边沿时间可以忽略时,无需考虑时序约束。但在复杂电路中,为了减少....

的头像 FPGA极客空间 发表于 03-30 13:42 ? 213次阅读
FPGA时序约束简介

【下载】《CPLD/FPGA的开发与应用》

发表于 03-29 17:11 ? 754次阅读
【下载】《CPLD/FPGA的开发与应用》

一文看懂舵机硬件pid电路原理

小车转向的控制机构。也就是控制小车的转向。它的特点是结构紧凑、易安装调试、控制简单、大扭力、成本较低....

的头像 电子魔法师 发表于 03-29 17:06 ? 707次阅读
一文看懂舵机硬件pid电路原理

怎么看FPGA管脚定义

发表于 03-29 10:53 ? 293次阅读
怎么看FPGA管脚定义

【下载】《FPGA高手设计实战真经100则》

发表于 03-28 17:14 ? 1174次阅读
【下载】《FPGA高手设计实战真经100则》

异步电路中时钟如何同步的多种方法

时钟是数字电路中所有信号的参考,特别是在FPGA中,时钟是时序电路的动力,是血液,是核心。

的头像 FPGA极客空间 发表于 03-28 17:12 ? 599次阅读
异步电路中时钟如何同步的多种方法

FPGA相比CPU在运算中的优势

FPGA相比于CPU,最大的优点在于速度,简单来讲,FPGA是靠控制每个时钟(Cycle)来驱动信号....

的头像 FPGA极客空间 发表于 03-28 17:10 ? 775次阅读
FPGA相比CPU在运算中的优势

技术控:FPGA中RAM使用技巧探索

FPGA中RAM的使用探索。以4bitX4为例,数据位宽为4,深度为4。

的头像 FPGA极客空间 发表于 03-28 17:07 ? 512次阅读
技术控:FPGA中RAM使用技巧探索

FPGA 如何支持智能搜索? 英特尔FPGA 加速人工智能发展

在这个以数据为中心的世界,用户对搜索引擎提出了比以往更高的要求。先进的英特尔技术可帮助 必应 利用强....

发表于 03-28 10:22 ? 134次阅读
FPGA 如何支持智能搜索? 英特尔FPGA 加速人工智能发展

高云半导体和ELDIS科技强强联合 进一步打开欧洲市场大门

高云半导体 科技股份有限公司今日宣布签约ELDIS科技有限公司为以色列授权代理商。此举标志着高云半....

发表于 03-28 10:19 ? 89次阅读
高云半导体和ELDIS科技强强联合 进一步打开欧洲市场大门

特朗普对华发起贸易战包括信息技术而中国没有反制的原因是什么

美国为何在许多自己的强项上制裁中国,中国又为何不对进口额超过石油的集成电路产品征收高关税呢?

的头像 电子发烧友网工程师 发表于 03-28 08:34 ? 5733次阅读
特朗普对华发起贸易战包括信息技术而中国没有反制的原因是什么

500亿晶体管!ACAP技术细节

ACAP 的核心是新一代的 FPGA 架构,结合了分布式存储器与硬件可编程的 DSP 模块、一个多核....

的头像 FPGA开发圈 发表于 03-27 11:04 ? 354次阅读
500亿晶体管!ACAP技术细节

Xilinx首次亮相的Virtex UltraScale+ HBM FPGA

随着人工智能、5G通信、大数据、云计算等应用的出现,人们对于通信带宽的要求也在不断的提高,这些应用需....

的头像 FPGA开发圈 发表于 03-27 11:02 ? 314次阅读
Xilinx首次亮相的Virtex UltraScale+ HBM FPGA

FPGA定点小数的常规格式、相对于浮点小数的优势与劣势

 Lattice的ECP3/ECP5系列FPGA内部集成了多个sysDSP架构的乘法器模块,基于sy....

的头像 电子技术应用ChinaAET 发表于 03-27 08:54 ? 294次阅读
FPGA定点小数的常规格式、相对于浮点小数的优势与劣势

特权同学海量fpga资料

发表于 03-26 16:16 ? 474次阅读
特权同学海量fpga资料

勇敢的芯伴你玩转Altera FPGA连载57:3-8译码器实验

发表于 03-26 16:13 ? 355次阅读
勇敢的芯伴你玩转Altera FPGA连载57:3-8译码器实验

赛灵思新CEO首秀 推新一代的FPGA架构ACAP

赛灵思公司第四任CEO Victor Peng 走马上任,他同时兼任公司总裁,Victor Peng....

发表于 03-26 14:34 ? 283次阅读
赛灵思新CEO首秀 推新一代的FPGA架构ACAP

基于FPGA的8比特图像的可比特平面分层

像素是由比特组成的数字。例如,在256级灰度图像中,每个像素的灰度是由8比特(也就是1个字节)组成。....

发表于 03-26 13:18 ? 72次阅读
基于FPGA的8比特图像的可比特平面分层

FPGA二值图像边界提取算法实现

我们使用3x3模板进行边界提取,所以当3x3九个点都是‘1’的时候,输出为‘1’,当九个点都是‘0’....

发表于 03-26 13:00 ? 113次阅读
FPGA二值图像边界提取算法实现

两种能够帮助工程师简化FPGA的电源解决方案

我不得不承认,随着时间的推移为 FPGA 供电变得越来越复杂,本文提供一些建议,希望可以帮助简化 F....

的头像 电子设计 发表于 03-26 09:08 ? 2155次阅读
两种能够帮助工程师简化FPGA的电源解决方案

以计数器为32位为例:FPGA中计数器设计探索

值得注意的是,以上测试是在资源足够频率不高的条件下测试的。根据经验,当资源使用较多,时钟频频较高时,....

的头像 FPGA极客空间 发表于 03-24 11:07 ? 1124次阅读
以计数器为32位为例:FPGA中计数器设计探索

fpga逻辑资源

发表于 03-24 11:04 ? 270次阅读
fpga逻辑资源

勇敢的芯伴你玩转Altera FPGA连载56:流水灯实例

发表于 03-23 21:38 ? 435次阅读
勇敢的芯伴你玩转Altera FPGA连载56:流水灯实例

信号完整性“案例:错误的设计带来的驱动能力问题”

找到问题根源后,根据测量结果修改 DSP 对 FLASH 空间的异步时序配置,以保证足够的裕量,问题....

的头像 PCB设计与学习 发表于 03-23 11:19 ? 341次阅读
信号完整性“案例:错误的设计带来的驱动能力问题”

FPGA如何成为新时代的“宠”儿,FPGA技术未来将会独领风骚

随着人工智能和深度学习对运算要求越来越高,人们逐渐认识到并行处理、低延时、低功耗和可重配置的重要性,....

的头像 FPGA技术联盟 发表于 03-23 11:14 ? 416次阅读
FPGA如何成为新时代的“宠”儿,FPGA技术未来将会独领风骚

基于FPGA的等位移多点采样原理

检测线圈和检测线路组成一个振荡器,当硬币通过币道时,线圈的电感会发生变化,引起检测电路振荡频率发生变....

发表于 03-22 10:47 ? 158次阅读
基于FPGA的等位移多点采样原理

从FPGA到ACAP 迎接数据中心的挑战

Victor Peng于2008年加入赛灵思,曾任赛灵思产品执行副总裁兼总经理,主要负责公司各种系列....

的头像 电子技术应用ChinaAET 发表于 03-22 09:17 ? 1189次阅读
从FPGA到ACAP 迎接数据中心的挑战

比特大陆不排除在世界范围收购几家芯片公司

比特币挖矿机,就是用于赚取比特币的电脑,这类电脑一般有专业的挖矿芯片,多采用烧显卡的方式工作,耗电量....

的头像 FPGA极客空间 发表于 03-21 10:00 ? 703次阅读
比特大陆不排除在世界范围收购几家芯片公司

硬件工程师发展的几个方向及要学习东西

总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件....

的头像 EDN电子技术设计 发表于 03-21 08:40 ? 780次阅读
硬件工程师发展的几个方向及要学习东西

Intel MAX 10 FPGA系列低成本开发方案大合集

Intel公司的MAX 10 FPGA系列采用TSMC 55nm NOR闪存技术,容量从2K到50K....

发表于 03-20 11:56 ? 235次阅读
Intel MAX 10 FPGA系列低成本开发方案大合集

如何合理优化FPGA架构设计及配方法

如果符合一些简单的设计原则,采用最新的Xilinx7系列FPGA架构上实现无线通信。Xilinx公司....

的头像 FPGA技术联盟 发表于 03-20 11:18 ? 430次阅读
如何合理优化FPGA架构设计及配方法

Xilinx推出革命性的新型自适应计算产品

加利福尼亚州圣何塞 —自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASD....

的头像 人间烟火123 发表于 03-20 10:21 ? 1877次阅读
Xilinx推出革命性的新型自适应计算产品

Xilinx CEO 描绘公司新愿景与战略蓝图

自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))总裁....

的头像 半导体动态 发表于 03-20 09:23 ? 1666次阅读
Xilinx CEO 描绘公司新愿景与战略蓝图

Xilinx首位华人CEO Victor Peng是何方神圣

自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))总裁....

发表于 03-20 04:39 ? 222次阅读
Xilinx首位华人CEO Victor Peng是何方神圣

PWM蜂鸣器驱动之FPGA在线下载配置图解

如图7.20所示,在弹出的Hardware Setup页面里,选择当前硬件为USB Blaster,....

的头像 电子技术应用ChinaAET 发表于 03-18 10:15 ? 563次阅读
PWM蜂鸣器驱动之FPGA在线下载配置图解

从汇编、C语言为起点,再到FPGA开发设计经验总结

在学习一门技术之前我们往往从它的编程语言入手,比如学习单片机时,我们往往从汇编或者C语言入门。所以不....

的头像 玩转单片机 发表于 03-17 09:19 ? 586次阅读
从汇编、C语言为起点,再到FPGA开发设计经验总结

典型高速系统应用框图举例

典型高速系统应用框图举例

的头像 FPGA极客空间 发表于 03-16 16:25 ? 622次阅读
典型高速系统应用框图举例

FPGA的电源管理不简单,五个设计死角一定不可忽视

关于为FPGA应用设计优秀的电源管理解决方案已经有许多技术讨论,因为这不是一项简单的任务。 此任务的....

的头像 模拟对话 发表于 03-16 11:57 ? 1787次阅读
FPGA的电源管理不简单,五个设计死角一定不可忽视

使用Xilinx可编程逻辑实现数据中心互连

随着实施基于云的服务和机器到机器通信所产生的数据呈指数级增长,数据中心面临重重挑战。这种增长毫无减缓....

的头像 赛灵思 发表于 03-16 10:17 ? 633次阅读
使用Xilinx可编程逻辑实现数据中心互连

FPGA是什么,中国FPGA市场及人才需求

从市场规模来看,全球FPGA近几年基本维持在50亿美元左右。当前,在国家大力支持集成电路产业发展的环....

的头像 FPGA极客空间 发表于 03-15 14:23 ? 883次阅读
FPGA是什么,中国FPGA市场及人才需求

在FPGA上跑二值图像膨胀算法程序代码

基于FPGA的二值图像的膨胀算法的实现 Xilinx 突破性技术与产品亮相 OFC 2018,大展光....

发表于 03-14 18:29 ? 385次阅读
在FPGA上跑二值图像膨胀算法程序代码

深度学习框架只为GPU? 答案在这里

目前大多数的机器学习是在处理器上完成的,大多数机器学习软件会针对GPU进行更多的优化,甚至有人认为学....

的头像 模拟对话 发表于 03-14 18:29 ? 2459次阅读
深度学习框架只为GPU? 答案在这里