基于FPGA+单片机的调焦变倍系统设计

发布者:创新思绪最新更新时间:2012-05-11 来源: 现代电子技术 关键字:现场可编程门阵列  调焦变倍  限位点 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    在光电测量领域中,常常需要使用长焦距、大口径的光学相机进行目标探测。这种相机由于变倍比比较大,为了使不同距离的目标均能在像面成清晰的像,除了需要控制倍率的变化外,还需要对聚焦位置进行微调。以往对这种光学相机变倍调焦的控制比较常用的方法是采用单片机来完成。采用单片机控制的优点在于编程方法简单、易于实现。缺点在于由于需要控制监测的信号有变倍电机的驱动信号、调焦电机的驱动信号、变倍电机分别走到两头的两个限位信号、调焦电机分别走到两头的两个限位信号,这些信号均要实时控制监测,因此通常需要采用查询的方法进行编程处理,这种方法的好处在于能够及时地控制相机的变倍调焦,缺点在于由于频繁的查询硬件状态,使得单片机始终处于繁忙的工作状态,工作效率低。此外由于单片机是以固定周期进行查询,这常常导致检测到电机运行到限位状态与停止电机运动存在时间差,该时间差可导致电机处于堵转状态,易于损坏电路板及电机。
    本文设计了一种光学相机调焦变倍控制系统,此系统以FPGA+单片机(MCU)为核心芯片,其中控制电机运行的命令通过中断的方式发出,保证电机实时接到命令即运动起来,当电机到达限位位置FPGA得到限位状态,马上发出停止信号,断掉电机管脚上的电,使电机马上停止下来。此方法同以往方法相比的好处在于控制电机的实时性更强,能够有效地控制相机变倍调焦机构的运动、停止,同时避免电机堵转,以致烧毁电机或电路板。

1 硬件组成
    基于FPGA+单片机的调焦变倍系统主要包括MCU、通信模块、FPGA(可编程逻辑器件)模块、电机驱动模块、光耦模块、电机组成,其组成框图如图1所示。其中MCU采用AD公司的ADU812,该款芯片除具有单片机的通用功能外,还具有AD转换功能,当光学镜头需要实时回传当前位置信息时,可通过把电位计同电机连接到一起,把电位计的输出端接到该MCU的AD输入口,通过程序可读到当前电机转到的位置;通信模块采用16C650,该通信模块可把MCU的并行数据信号转变为串行信号传递出去;FPGA采用EP1K100-208I,电机驱动模块采用L298,该芯片具有两路电机驱动信号输出,可同时驱动两路电机;光耦模块采用欧姆龙的EP470,该光耦模块接法简单,并且模块上具有灯光指示,通过灯光可知道当前状态;电机采用瑞士电机。

a.jpg[page]

1.1 工作原理
    人机交互模块通过通信模块向MCU发送调焦变倍命令,MCU通过中断接收到命令,实时传递给FPGA,FPGA接到命令后,依照命令向调焦变倍驱动电路发送相应的逻辑电平,调焦变倍驱动电路接到相应逻辑后,向相应的控制电机发送正转反转电压,使电机根据命令正转或反转。当电机转到限位位置时,光耦模块作为传感器检测到相应电机转到限位位置,把限位状态传递给FPGA,FPGA接到限位信号立刻向调焦变倍驱动电路发送信号,使其输出为零电压,电机立即停止转动。这里使用FPGA完成控制的优点在于通过对FPGA编程即可实现调焦变倍;监测电机转动位置;实时停止电机转动并行实现,当电机转动到限位位置能及时迅速地使电机停止。
1.2 FPGA控制模块及电机驱动模块
    FPGA具有高集成度、高可靠性以及开发工具智能化等特点,目前逐步成为复杂数字电路设计的理想首选。此外FPGA可以通过编程实现硬件的逻辑功能,大大减少了硬件设计的复杂程度。因此本文以FPGA为核心器件进行调焦变倍驱动电路的设计,这里选用ALTERA公司的EP1K100 -208I,采用VHDL语言编程生成调焦变倍控制信号、限位信号检测逻辑、电机驱动模块使能控制信号。系统上电后,当MCU接收到人机交互机构发来的调焦变倍控制命令后,立即把该命令传递给FPGA,FPGA接到控制命令,转换成实际控制信号传递给电机驱动模块,电机驱动模块接到控制信号,产生相应的电压驱动电机转动,实现相机调焦变倍的控制。FPGA对电机驱动模块的控制原理图如图2所示。其中MFOCUS STOP、FOCUS STOP分别为FPGA向电机驱动模块发出的变倍电机和调焦电机控制使能信号;MFOCUS+、MFOCUS-为FPGA发送的变倍控制信号,FOCUS+、FOCUS-为FPGA发送的调焦控制信号;变倍电机+和变倍电机-为电机驱动模块输出的控制变倍电机转动的电压,调焦电机+和调焦电机-为电机驱动模块输出的控制调焦电机转动的电压。当相应电机转到限位点时,FPGA向对应使能端发送低电平信号,则无论相应的电机控制信号是何种状态,对应的电机驱动模块中的电压输出信号均为零电平,电机停止运动。当电机没有运动到限位点时,对应的使能端被FPGA置为高电平,FPGA通过向变倍控制端和调焦控制端发送相应信号,控制电机驱动模块输出相应电压。FPGA发送的使能信号、电机控制信号及电机驱动模块输出的电压的对应关系如表1和表2所示。其中X表示为任意电平。

b.jpg

c.jpg

[page]

d.jpg


1.3 MCU模块及通信模块
    在本设计中MCU主要作为通信管理芯片,实现与人机交互模块进行通信。操作者通过人机交互模块向通信模块发送变倍调焦命令,通信模块把该命令转发给MCU,MCU以中断方式接收命令实时传递给FPGA,FPGA对电机驱动模块进行控制,从而实现变倍调焦控制。FPGA对光耦模块的状态进行检测,并把该状态通过MCU模块和通信模块传递给人机交互模块,使操作者能掌握当前相机状态。因为人机交互模块发送数据较频繁,为了防止MCU出现死机现象,这里没有直接应用人机交互模块的通信口与MCU的串口连在一起,而是通过通信模块把二者联系起来。这里通信模块采用了一片16C650,该芯片优点在于内部具有32字节的FIFO,可起到数据缓存的作用,使MCU能够稳定可靠地接收数据。
1.4 光耦模块
    光耦模块主要起到实时检测当前电机是否运行到限位点的作用,如果电机没有运行到限位点,光耦模块向FPGA输出0电平,当电机运行到限位点时光耦模块向FPGA输出1电平。为了便于观察和调试,这里选用欧姆龙的EX470P型光耦,该光耦通过指示灯,可指示出光耦当前输出状态。

2 软件设计
    本文软件设计主要对MCU和FPGA进行编程。其中对MCU编程主要应用C语言进行,对FPGA主要应用VHDL语言编写。其中MCU程序框图如图3所示。FPGA程序流程框图如图4所示。

[page]

e.jpg



3 结论
    本文介绍了一种基于FPGA的连续可变焦距相机的变倍调焦系统,该系统同以往单纯使用MCU完成变倍调焦功能的系统相比,采用FPGA控制调焦、变倍,能够更快地实现控制电机运动、停止,对于防止电机因为运动到限位位置没有及时发出停止操作而产生堵转,进而造成电机毁坏或控制系统毁坏具有一定效果,因此具有一定应用价值。

关键字:现场可编程门阵列  调焦变倍  限位点 引用地址:基于FPGA+单片机的调焦变倍系统设计

上一篇:单片机控制的DBPL编码信号源系统设计
下一篇:STC12系列单片机简易编程器制作

推荐阅读最新更新时间:2024-03-16 12:59

基于DSP和FPGA的磁浮列车同步485通信方式
在高速磁浮交通系统中,车载测速定位单元对车辆的位置和速度进行实时测量,并将位置和速度信号通过无线电系统传送至地面上的牵引控制系统和运行控制系统,以用于长定子直线同步电机牵引的反馈控制,以及车辆运行的指挥和安全防护。测速定位单元是牵引和运控系统闭环控制的核心与关键。 测速定位单元紧邻悬浮电磁铁及长定子绕组和铁心,处于悬浮磁场和牵引磁场中,电磁环境非常复杂,这对其通信设备的电磁兼容性能提出了很高的要求。另外,为满足牵引控制系统的需求,测速定位信号的精度要求相当高。因此,测速定位信号传输的速度、实时性及可靠性都面临挑战。基于以上考虑,本文提出了基于DSP和FPGA的磁浮列车同步485通信方式的研究,以解决上述挑战。 同步485的实现
[工业控制]
Altium针对NanoBoard推出原型设计外设电路板
日前,Altium宣布针对其基于FPGA的开发板NanoBoard 推出了全新原型设计外设插件板。 全新电路板可配合固定 FPGA的 NanoBoard 3000 以及完全可重构的NanoBoard NB2 这两款产品进行工作。该产品将于12月份以3片或20片装开始供货,用户可通过 Altium 在线分销商合作伙伴进行订购。 有了这块电路板,用户无需再为电路原型设计创建特殊的定制PCB板。板载连接器可插入 NanoBoard板上,直接连接到NanoBoard 上的主控FPGA 的 I/O管脚 以及通用 NanoBoard 资源,包括电源与 JTAG 线路等。设计人员可非常方便地将定制电路与标准 NanoBoa
[嵌入式]
基于FPGA的宽带数字信道化接收机的设计
现代电磁信号环境越来越复杂密集,要求电子战接收机必须具有很宽的处理带宽、高灵敏度、大动态范围、多信号并行处理和大量信息实时处理的能力。而数字信道化接收机不仅可以较好地满足上述要求,还可实现监视信道内信号的全概率截获。   数字信道化过程是宽带数字接收机的核心,目前广泛采用基于多相滤波的数字信道化结构。这种结构先用高速的模数转换器(A/D)进行数据采样,得到的高速数据流经抽取降低数据速率后进入多相滤波器组,该滤波器组是由一个原型滤波器调制到多个支路。现场可编程门阵列(FPGA)中丰富的乘法器、锁存器及数字信号处理算法IP核等资源,可以非常灵活地实现宽带数字信道化接收处理算法。本文采用基于多相滤波器的结构实现了一种高效高速的宽带数
[嵌入式]
基于<font color='red'>FPGA</font>的宽带数字信道化接收机的设计
链接产业与人才,英特尔FPGA中国创新中心的创新人才培养之道
当前,5G、人工智能、自动驾驶等技术快速发展,应用场景也愈加广泛,这背后,有着灵活高效、高性能、低功耗等优势的可编程芯片FPGA功不可没。随着应用场景的扩大,FPGA的市场规模也迎来快速增长。IDC预计,全球传统FPGA市场规模将在2024年达到71.55亿美元。作为FPGA高需求国家之一,中国FPGA应用市场的发展被广泛看好,这也意味着我们需要更多FPGA人才,来满足日益增长的市场需求,助力科技事业发展。 近日,由英特尔FPGA中国创新中心和英特尔FPGA大学计划联合发起的 第一届“芯云未来——‘FPGA菁英挑战赛’高校进行时”(以下简称:菁英挑战赛)正式启动 , 面向 在校大学生进行FPGA基础知识普及和行业推广,帮助学生
[嵌入式]
链接产业与人才,英特尔<font color='red'>FPGA</font>中国创新中心的创新人才培养之道
英特尔FPGA 加速人工智能发展,助力深度学习应用于微软必应
人工智能 (AI) 正在革新各行各业,改变数据的管理和解释方式,而且将帮助人们和企业更快地解决实际难题。 今天的 微软必应智能搜索(Intelligent Search)*新闻 展示了英特尔® FPGA(现场可编程门阵列)技术正如何有效支持全球最先进的一些人工智能平台。借助实时人工智能,必应 (Bing)搜索引擎不仅能够提供标准搜索结果,还能满足用户的更多需求,帮助其快速了解所需知识和信息。必应智能搜索将提供答案而非网页,支持系统理解词语和词语背后的意思,以及搜索的上下文和意图。(观看 视频 ,了解英特尔FPGA助力微软的必应*智能搜索详情。) 在这个以数据为中心的世界,用户对搜索引擎提出了比以往更高的要求。先进的英特尔技
[嵌入式]
FPGA全局时钟资源相关原语及使用
FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM(Block Select RAM)的时延和抖动都为最小。为了适应复杂设计的需要,Xilinx的FPGA中集成的专用时钟资源与数字延迟锁相环(DLL)的数目不断增加,最新的Virtex II器件最多可以提供16个全局时钟输入端口和8个数字时钟管理模块(DCM)。 与全局时钟资源相关的原语常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG、IBUFGDS、BUFG、BUFGP、BUFGCE、BUFGMUX、BUFGDLL和DCM等。 1. IBUFG即输
[嵌入式]
基于PC104总线的2FSK调制器的设计与实现
  嵌入式计算机系统在现代工业控制中发挥着越来越重要的作用,它具有便携、可靠、低功耗、通用、易扩展等诸多优点。使用嵌入式系统进行工业控制要涉及到计算机数据的传输、采集、调制解调等一系列问题。      本调制器是一种基于PC104总线的嵌入式系统的外围设备,嵌入式计算机系统通过PC104总线将数据发送到端口,调制器接收数据并进行调制后,将信号输出到受控设备,从而对相应设备起到控制的功能。在本调制器的硬件电路中使用FPGA,提高了系统的通用性。       1 总体结构      该调制器实现的功能主要包括:识别并接收总线发送的数据;根据不同地址控制信号将数据按路区分(共四路);每路分别将数据按照连续调制的方式进行2FSK调制;对调
[嵌入式]
基于PC104总线的2FSK调制器的设计与实现
莱迪思ECP5 FPGA实现低功耗周边嵌入式视觉系统
莱迪思半导体(Lattice)近日宣布ECP5 FPGA解决方案,应用于智能监控和汽车领域中的周边网络嵌入式视觉应用。莱迪思持续且更加地投入于工业和汽车市场,低功耗、小尺寸的ECP5 FPGA系列产品能够加速中央处理器(CPU),提供车牌辨识功能与影像增强功能,实现智能交通监控。此外,ECP5 FPGA还可提供进阶驾驶辅助系统(Advanced Driver Assistance System, ADAS)360度环景影像拼接以及3D连接功能。 莱迪思半导体产品营销总监Deepak Boppana表示,基于低功耗和小尺寸特性,该公司ECP5 FPGA为灵活的智能互联和加速应用,是周边网络的理想选择。随着周边网络应用的智能化程度不断
[半导体设计/制造]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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