找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2179|回复: 1
打印 上一主题 下一主题
收起左侧

自动调焦系统论文

[复制链接]
跳转到指定楼层
楼主
ID:274137 发表于 2018-1-10 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目录
摘要        3
ABSTARCT        4
第一章        绪论        5
1.1课题背景和意义        5
1.2 概述        6
1.3 国外研究现状        7
1.4 国内研究现状        8
1.5  本论文的主要研究内容        9
第二章 调焦理论简介及电磁兼容原理介绍        9
2.1 调教理论        9
2.1.1测距法实现        10
2.1.2 聚焦检测法        11
2.1.3基于灰度熵值法的自动调焦算法        12
2.1.4 聚焦检测阈值判断法        13
2.2 电磁兼容原理简介        13
2.3 电磁兼容技术在PCB中的应用        13
2.5 本章小结        15
第三章 调焦电路的硬件设计        16
3.1 总体方案        16
3.2 器材简介        17
3.2.1 芯片介绍        17
3.3   本设计简介。        18
3.1.1上拉电阻存在的理由        19
3.4 电路设计        20
3.4.1 FPGA电路设计        20
3.4.2 串口电路        21
3.4.3 稳压电路设计        22
3.5 电机控制理论        23
3.5.1 L297 芯片        23
3.5.2   L297各引脚功能说明        23
3.5.3  L297驱动相序的产生        24
3.5.4 L298N 功能简介        25
3.5.5 L298N 工作方式        26
3.6 电路的PCB设计        27
3.6 本章小结        28
第四章 串口通信程序设计        29
4.1  编程环境        29
4.1.1 硬件语言 Verilog HDL 特点        29
4.1.2 Verilog HDL的设计流程        30
4.2 编译环境的设计特点        31
4.3 Quartus 开发设计流程        32
4.4  串口通信设计思路        32
4.5 串口通信部分代码        33
第五章 电路的调试与系统分析        35
5.1 系统仿真结果        35
5.2 系统调试过程        35
5.2.1 调试过程简介        35
5.2.2 调试过程的收获和感触        36
5.3 实验调试工作图示        36
5.3.1 电装工作台        36
5.3.2 电调实验室和设备        37
5.3.3 实物电路板        37
5.4 展望与总结        38
致谢        39
参考文献        40

摘要随着超大规模集成电路的发展以及现代光学仪器设备在智能化、简便化方面的突破,令数字光学设备迅速普及。数字信号处理理论的成熟与发展使得基于数字信号处理方式的自动调焦成为可能。
本设计使用FPGA作为数字信号处理与系统控制的核心器件。由计算机经过USB转串口连接向FPGA输入数字图像信号的灰度值与标准灰度值得差,由FPGA分析并向L297发送控制信息,并有l298n芯片对电流进行放大,控制电机转动方向以及转速。实现对焦、
系统硬件部分以FPGA为核心,搭载JTAG串口输入及MAX3232数据传输芯片。FPGA由REG1117-5V芯片实现稳压。还有L297和L298N等组合电机控制芯片,联合对电机进行驱动控制。由于L298N是控制电机的模拟芯片,其供电与其他芯片分开,本设计模拟与数字供电分开,并用0欧姆电阻连接实现共地。
软件部分使用Verilog HDL语言对FPGA进行程序设计,实现其上电复位和对输入控制信号的反应,并根据对图像灰度值的分析,向L297发送指令,控制电机的正转反转和转动步数,实现自动对焦


ABSTARCTThe digital optical equipments become popular, with the development of very-large-scale integrated circuits and the major breakthrough of the modern optical equipments in intelligentization and simplific process. The automatic focusing which based on digital signal processing can be realized.

第一章 绪论1.1课题背景和意义自动调焦,又称为自动对焦、自动聚焦。其技术在照相器材(数字摄像机和数码照相机)、医学仪器(显微镜、内窥镜)、军用观测设备(弹迹跟踪设备,高空侦察机)以及各种基于机器视觉的智能系统中有着广泛的应用。
早期的自动调焦系统使用的是基于镜头与被摄目标之间距离测量的测距方法。由于这种方法设备庞大、结构复杂,并不能满足日常需求。因此只在极少数特定环境下(如航空摄影)才能够使用。
将自动调焦技术引入照相机的尝试始于1963年。当时就有人试制过自动调焦的样机,但是限于技术水平,该样机电路复杂、机构体积庞大,始终不能如愿。自动调焦技术真正应用在照相机上,是在上世纪七十年代以后。特别是微电子技术工艺突破性的技术发展,为自动调焦技术的发展创造了极为有利的条件。自从1977年世界上第一台自动调焦相机(柯尼卡C35AF)问世以来,自动调焦技术发展突飞猛进,己经在各类相机上得以应用,并且日益更新和完善[1]。
现代的光学仪器设备向着功能的复杂化、智能化、操作的简便化发展,使得操作者经过简单的了解就能够熟练地操作设备。自动调焦系统既可以减轻操作者的劳动强度,减少或避免操作者因反复调焦造成视觉疲劳引起的主观误差,又省去了复杂的调焦动作,大大方便了操作者。同样,由于调焦是获得清晰图像的必不可少的条件,基于机器视觉的各种自动化设备也具有自动调焦功能,如各种产品的外观自动检测系统。
近年来,随着大规模集成电路技术、数字化技术和数字图像处理技术的飞速发展,许多数字化成像系统越来越普及,模拟图像也可以被方便、高速、低成本地数字化,这些图像能方便的被送入计算机(或者专用的电路系统)中做各种变换、分析、处理,图像的高速处理己经成为可能。基于数字图像处理的自动调焦系统便迅速发展并成熟起来。相对于传统的自动测距调焦系统,基于数字图像处理的自动调焦系统由于成本低、体积小、速度快的优势,已成为主要的自动调焦方式。广泛应用于生产生活中。基于数字图像处理的自动调焦系统的核心是自动调焦电路和自动调焦算法。
1.2 概述自动调焦领域目前的研究方向是通过数字图像,经软件判别来实现自动调焦这一目标。相对于其他自动调焦方式,基于数字图像处理判定图像清晰度的自动调焦方式是当前研究的热点。本文研究对象主要是自动调焦电路的设计与实现。
在基于数字图像处理自动调焦系统中,一种方法是离焦深度法,该方法通过获取两幅或以上不同离焦位置的图像,事先对成像系统建立合适的数学模型,结合成像系统的各种参数,推算出目标物体的离焦深度,从而判断出焦点位置实现调焦。这种方式目前还不成熟,主要原因是在实际应用中成像系统的数学模型在理论上还不能精确的确定(只能近似的估计),导致误差极大;且要求目标图像满足某种要求,限制了应用的范围:不同的镜头相关数学模型不同,即使是同种型号相关参数也有一定出入。因此,这种方式目前还处于理论研究和实验室应用中。
另一种方法是通过计算机(或者专用的电路系统)对采集到一系列的数字图像,对每一帧图像进行处理,判断调焦是否准确,即成像是否清晰,并给出反馈信号控制镜头的运动,直到采集的图像达到最清晰,最终完成调焦,这种方法通常称为对焦深度法,这种方式己经基本成熟,实用的自动调焦系统都采用了这种方式。本设计亦采用这种方式。
与测距调焦法和离焦深度调焦法相比,基于数字图像处理判定图像清晰度的自动调焦方式(即对焦深度法)充分利用了数字信号处理的硬件高速度和软件灵活性[6],具有以下优点:
(1)适应面广。由于图像是一切成像系统的根本结果,因此该方法的适应面最广,任何成像系统均可以采用基于图像清晰度评价的自动调焦方式。
(2)稳定性好。该方法的输入是成像系统生成的图像,不依赖于其他因素,因此干扰因素少,且可以控制。
(3)有巨大的改进潜力。由于现代微电子技术的巨大进步,这种方式在成本上可以不断降低,芯片体积上不断缩小以及性能上(计算速度)不断提高。
(4)可以提供多种算法选择及配置。不同的算法及参数具有不同的运算量和灵敏度,这些都可以根据实际需要来通过软件配置,具有很好的灵活性。
基于数字图像处理判定图像清晰度的自动调焦法虽然前景光明,但目前还存在以下问题:
(1)目前的图像清晰度评价算法有限,且存在各种缺点。
(2)实时性有待提高。由于带有自动调焦功能的成像系统通常具有很高的实时性,对于许多应用,现有自动调焦技术的实时性还无法满足。而且,随着微电子技术的不断发展,成像器件(图像传感器)的性能飞速发展,从三十万像素到千万像素的商品化应用仅用了不到5年时间,40亿像素的图像传感器也已经研制成功。对大容量图像的处理要花费较长的时间,往往不能够满足需求。
(3)图像清晰度评价算法对焦距变化的敏感程度,这个指标直接关系到调焦的精度和灵敏度,且不同的应用场合,对灵敏度的要求不同,因此现有自动调焦系统的迁移性还不够好。
1.3 国外研究现状国外对于自动调焦领域的研究相对国内来说起步比较早,更多的关注面向高精度的直接自动调焦系统在实际中的应用。
德国卡尔斯鲁厄大学研制的微操作系统中的视觉系统包含三个部分:光学显微镜、全局CCD摄像机和局部CCD摄像机。全局视觉系统用来观察显微机器人的工作空间并判断机器人的位置和方向,能够将机器人定位在视野中,精度达到0. 5毫米。局部视觉系统对被测对象的位置定位精度亦为毫米级。它是采用多次聚焦的办法解决小焦深的问题,即采集连续的几幅图像,把各自精确聚焦的部分合并成一幅图像,作为识别算法的输入,最终实现系统调焦的视觉功能[7]。
1970年美国斯坦福大学J. M. Tenenbaum[8]开展了计算机视觉系统的自动调焦研究,该系统根据图像的边缘特征提取离焦信号,通过调制阈值梯度作为自动聚焦评价函数,实现了比较好的聚焦效果。1983年,英国瑞丁大学物理系Grembeby. J. B[9]提出了调制传递函数作为离焦判据,这一判据目前已经被光学界普遍接受,成为评价图像品质的一种标准,并应用于医疗内诊照相系统的自动调焦中;1987年,Ren. C. Luo[9]提出了两个简单的快速算法,对漫反射物体在一定程度上实现自动调焦,这两个算法后来成功的应用到了机器人视觉系统的自动调焦系统中;1988年,Carnegie Mellon University的Lawrence Firestone[10]等四人对己有的聚焦评价函数在处理组织图像、正弦图像和随机图像的性能进行了对比分析,对并行图像处理技术在自动调焦系统中的应用也做了深入研究。
  随着自动调焦技术理论研究的日益完善和CCD技术的迅猛发展,国外也越来越广泛地将CCD和自动调焦技术用于工业图像监控和调焦领域。美国90年代末期开发了基于网络技术的零件在线检测和监控系统。日本开发了一套焊缝在线自动定位检测系统,该系统能够在机械手焊接过程中,通过CCD采集焊缝图像并通过微机处理,从而控制机械手自动定位焊接,定位精度可以达到0.lmm[11]。
1.4 国内研究现状虽然国内对自动调焦系统的研究起步比国外晚,但也取得了丰硕的成果。1985年,上海光学仪器研究所采用光学自准直法研制出用于集成电路光刻机的自动调焦装置。1986年,哈尔滨工业大学光学仪器教研室研制出激光CCD零件自动识别检测系统,并利用自准直法研制出卫星照相设备中的自动调焦系统,精度达到10μm[12]。1992年,该所又研制完成图像检测式频带切割差动比较CCD自动调焦系统,使我国在图像检测自动调焦领域内的研究跟国外80年代的研究水平相当[13]。上海激光技术研究所利用像散法对光盘录放机的显微系统进行了自动调焦研究。清华大学李庆祥教授等人利用内光路偏心光束法对线宽测量仪器的显微系统进行了自动调焦,实现了士500μm调焦范围内的0.1μm的调焦精度,该水平处于国际先进水平[9]。天津大学在使用CCD摄像技术对生物进行自动筛选时,采用图像处理方法对自动调焦技术进行了相应的研究[14]。杭州电子科技大学的陈国全老师在数字图像自动调焦系统的研究上取得了一定的成果。此外,浙江大学、南京航空航天大学、北京邮电大学等根据具体的系统对显微镜自动调焦方法也进行了深入研究。  
1.5 本论文的主要研究内容本设计从图像处理的角度提出对焦,主要涉及内容在于FPGA与PC机的串口通信部分以及FPGA控制L297,L298N组合步进电机控制模块。实现从PC机发出指令到FPGA产生控制信号,最后由步进电机控制模块执行操作的一系列工作,完成调焦工作。分析研究FPGA对电机控制开关信号输出方面的能力。
本设计主要包括以下几个章节:
第1章 介绍本设计的背景和意义以及国内外研究现状。
第2章 对本设计使用的相关理论进行简介,重点介绍电磁兼容原理。
第3章 描述本设计的硬件部分,对芯片资料进行总结,设计硬件电路并绘制PCB电路图。
第4章 叙述本设计的串口通信设计及电机控制原理。
第5章 介绍调试过程和感触。

第二章 调焦理论简介及电磁兼容原理介绍2.1 调教理论和传统的自动对焦方法相比,基于图像处理的自动聚焦有着无可比拟的优势,具有高度集成化!智能化!低功耗和高速处理的显著特征"在自动聚焦方法的未来发展中,图像处理方法是最具发展前景的,它指示了自动聚焦技术的发展趋势"。

图2.1 自动调焦算法流程
从基本原理来说自动调焦可分为两类:基于镜头与被摄目标之间距离测量 的测距方法和基于调焦屏上成像清晰的聚焦检测方法。

2.1.1测距法实现测距方法的自动调焦主要有三角测量法、红外线测距法和超声波测距法。
(1)三角测量法。其测距原理如图2.7所示。左边的反射镜是局部镀膜反射镜,
图2.2 三角测量法原理
只用中间一小块反射右边来的光线,其余大部分视场透射前方直接进入的光线,这样在调焦平面上的影像如图2.7左下角所示。右边的反射镜在电路控制下转动,反射镜的起始位置和左边的反射镜平行,调焦平面上有光电元件进行探测,当透射影像和反射影像重合的时候,可动反射镜的摆动角α/2和物点A的距离D之间有如下关系:
                D=b/tan (α/2×2)                        (2.1)
式中,b为基线长。系统可以计算出被摄目标和镜头之间的距离并驱动镜头运行到合适的位置,完成调焦。
(2)红外线测距法。该方法的原理类似于三角测量法,所不同的是由照相机主动发射红外线作为测距光源,并用红外发光二极管的转动代替可动反光镜的转动。
(3)超声波测距法。该方法是根据超声波在摄像机和被摄物之间传播的时间进行测距的。照相机上分别装有超声波的发射和接收装置,工作时由超声振动发生器发出持续时间约1/1000秒的超声波,覆盖整个画面的10%。超声波到达被摄体后,立即返回被接收器感知,然后由集成电路根据超声波的往返时间来计算确定调焦距离。
红外线式和超声波式自动调焦是利用主动发射光波或声波进行测距的,称之为主动式自动调焦[24]。
2.1.2 聚焦检测法(1)灰度熵值法。该方法是通过检测图像的轮廓边缘实现自动调焦的。图像的轮廓边缘越清晰,则它的亮度梯度就越大,或者说边缘处景物和背景之间的灰度熵值就越大。反之,离焦的像,轮廓边缘模糊不清,亮度梯度或灰度熵值下降;离焦越远,灰度熵值越低。利用这个原理,将两个光电检测器放在底片位置的前后相等距离处,被摄影物的像经过分光同时成在这两个检测器上,分别输出其成像的灰度熵值。当两个检测器所输出的灰度熵值相等时,说明调焦的像面刚好在两个检测器中间,即和底片的位置重合,于是调焦完成。
(2)相位法。该方法是通过检测像的偏移量实现自动调焦的。在感光底片的位置放置一个由平行线条组成的网格板,线条相继为透光和不透光。网格板后适当位置上与光轴对称地放置两个受光元件。网络板在与光轴垂直方向上往复振动。当聚焦面与网格板重合时,通过网格板透光线条的光同时到达其后面的两个受光元件。而当离焦时,光束只能先后到达两个受光元件,于是它们的输出信号之间有相位差。有相位差的两个信号经电路处理后即可控制执行机构来调节物镜的位置,使聚焦面与网格板的平面重合。
以上各种自动调焦方法各有其局限性。红外测距和超声波测距的调焦方法,当被测目标对红外光或超声波有较强的吸收作用时,将使测距系统失灵或调焦不准确;而灰度熵值法聚焦检测受光照条件的制约,当光线较弱或样本与背景明暗差别很小时,调焦就会有困难,甚至完全失去作用
2.1.3基于灰度熵值法的自动调焦算法灰度熵提取算法:
判断图像是否聚焦与图像的高频成分有关。当完全聚焦时,图像清晰,包含边缘信息的高频分量最多。通常,判断图像聚焦与否是通过焦距评价函数衡量的。常用的焦距评价函数有以下几种:高频分量法、平滑法、阈值积分法、灰度差分法、拉普拉斯像能函数等[25]。
灰度差分法是利用图像的相邻像素(左侧及上侧像素)差的绝对值之和作为焦距评价函数,即:
             (2.2)
式2.2中,f(x,y)表示第x行、第y列像索的灰度值,像素的相对位置如表2.1所示。实验中对于亮度比较均匀的图像,其聚焦效果不理想,为此本设计提出一种改进的灰度差分法作为焦距评价函数。其算法描述如下:
          (2.3)                                                                   
式2.3中选取了邻近的四个像素(左侧、左上侧、上侧及右上侧像素)作比较,增大了焦距评价函数的绝对值。搜索曲线尖锐,容易找到最佳位置[26]。
表2.1 图像中像素的相对位置
f(x-1,y-1)
   
f(x,y-1)
   
f(x+1,y-1)
   
f(x+2,y-1)
f(x-1,y)
   
f(x,y)
   
f(x+1,y)
   
f(x+2,y)
f(x-1,y+1)
   
f(x,y+1)
   
f(x+1,y+1)
   
f(x+2,y+1)
f(x-1,y+2)
   
f(x,y+2)
   
f(x+1,y+2)
   
f(x+2,y+2)

2.1.4 聚焦检测阈值判断法当图像聚焦良好时,图像边缘清晰,灰度熵值较大;当图像聚焦欠佳时,图像边缘模糊,灰度熵值较小。因此,可对图像灰度熵值范围进行判断,当灰度熵值大于某一阈值时,即可认为图像聚焦清晰。
2.2 电磁兼容原理简介电磁兼容(EMC)是一门新兴的综合性学科,它主要研究电磁干扰和抗干扰 的问题。电磁兼容性是指电子设备或系统在规定的电磁环境电平下不因电磁干扰而降低性能指标,同时它们本身产生的电磁辐射不大于检定的极限电平,不影 响其它电子设备或系统的正常运行,并达到设备与设备、系统与系统之间互不干扰、共同可靠地工作的目的。而电磁环境电平是受试设备或系统在不加电,于规定的试验场地和时间内,存在于周围空间的辐射和电网内传导信号及噪声的量值,这个电磁环境电平是由自然干扰源及人为干扰源的电磁能量共同形成的。 电子设备和系统的电磁兼容性指标已成为电子设备和系统设计在研制时的一 个重要的技术要求。现在已经有了抑制电子设备和系统的EMI的国际标准,统称为电磁兼容(EMC)标准,它们可以作为普通设计者布线和布局时抑制电磁辐射 和干扰的准则。对于军用电子产品设计者来说,标准会更严格,要求更苛刻。目前,电子器材用于各类电子设备和系统仍然以印制电路板为主要装配方式。实践 证明,即使电路原理图设计正确,印制电路板设计不当,也会对电子设备的可靠性产生不利影响。所以,保证印制电路板的电磁兼容性是整个系统设计的关键 。
2.3 电磁兼容技术在PCB中的应用目前产品的电磁兼容问题常常在检测机构对产品进行电磁兼容测试以后才 去解决,甚至当产品使用后出现问题时才去补救。这样做非但费时费力,而且不 能从根本上解决问题。因此, 应该在产品开发的最初阶段就进行电磁兼容设计。 由于PCB板上的电子器件密度越来越大,走线越来越窄,信号的频率越来越高,不 可避免地会引人 EMC(电磁兼容)和EMI(电磁干扰)的问题。所以,设计目的是使板上各部分电路之间没有相互干扰,并使印制板对外的传导发射和辐射发射尽 可能降低,达到有关标准要求。外部的传导干扰和辐射干扰对板上的电路基本无 影响, 实际上在设计中采取正确的措施常常能同时起到抗干扰和抑制发射的作用。在设计印制电路板布线时,首先要选取印制板类型, 然后确定元器件在板上的位置,再依次布置地线、电源线、高速信号线和低速信号线。(l)印制电路板的 选取。印制电路板有单面、双面和多层板之分。单面和双面板一般用于低、中密度布线的电路和集成度较低的电路。多层板适用于高密度布线、高集成度芯片 的高速数字电路。(2)元器件布置。首先应对板上的元器件分组,目的是对印制板上的空间进行分割,同组的放在一起,以便在空间上保证各组的元器件不至于相互干扰。一般先按使用电源电压分组,再按数字与模拟、高速与低速以及 电流大小等进一步分组。不相容的器件要分开布置, 例如发热元件远离关键集成 电路,磁性元件要屏蔽,敏感器件则应远CPU时钟发生器等等。连接器及其引脚应根据元器件在板上的位置确定。所有连接器最好放在印制板的一侧,尽量避免从两侧引出电缆,以便减小共模电流辐射 。高速器件(频率大于 10MHz或上升时间小于Zns的器件)尽可能远离连接器。1/0驱动器则应紧靠连接器,以免1/0信号在板上长距离走线,藕合上干扰信号。(3)地线的布置。布置 地线时首先考虑的问题是“分地”,即根据不同的电源电压,数字电路和模拟电路分别设置地线。在多层印制板中有专门的地线层,在地线层上用“划沟”的方法来分地。但是,分地并不是把各种地完全隔离,而是在适当的位置仍需把不 同 的地短接起来,以保证整个地线的电连续性,短接通道有时也形象地称之为 “桥”。桥应该有足够的宽度。布置地线时要注意以下几点:多层板信号层上的高速信号轨线不能横跨地线层上的沟。A/D变换器芯片如只有一个地线引脚,则 该芯片应安放在连接模拟地和数字地的桥上,避免数字信号回流绕沟而行连接 器不要跨装在地线沟上,因为沟两边的地电位可能差别较大,从而通过外接电缆产生共模辐射骚扰。双面板的地线通常采用井字形网状结构,即一面安排成梳形结构地线,另一面安排几条与之垂直的地线,交叉处用过孔连接。网状结构能减 小信号电流的环路面积。地线应尽可能地粗,以减小地线上的分布电感。(4)电源线的布置。印制板上的电源供电线由于给板上的数字逻辑器件供电,线路中存在着瞬态变化的供电电流,因此将向空间辐射电磁骚扰。供电线路电感又将引起 共阻抗藕合干扰,同时会影响集成片的响应速度和引起供电电压的振荡。一般采 用滤波去藕电容和减小供电线路特性阻抗的方法来抑制电源线中存在的骚扰。 双面板上采用轨线对供电。轨线对应尽可能粗,并相互靠近。供电环路面积应减 小到最低程度,不同电源的供电环路不要相互重叠。如印刷板上布线密度较高不 易达到上述要求,则可采用小型电源母线条插在板上供电。多层板的供电有专用 的电源层和地线层,面积大,间距小,特性阻抗可小于In。印制电路板上的供电线路应加滤波器和去祸电容。在板的电源引人端使用大容量的电解电容作低频 滤波,再并联一只陶瓷电容作高频滤波。板上集成片的电源引脚和地线引脚之 间应加陶瓷电容进行去藕,至少每3块集成片应有一个去藕电容。去藕电容应 贴近集成片安装,连接线应尽量短,最大不超过4cm。去藕回路的面积也应可能 减小。多层板的电源层和地线层之间的电容也参与去藕,主要是对频率较高的频 段而言的。如果层电容量不足,板上可再另加去藕电容。采用表面安装(STM)的 去祸电容可以进一步减小去藕回路的面积,达到良好的滤波效果。(5)信号线的 布置。不相容的信号线(数字与模拟、高速与低速、大电流与小电流、高电压与 低电压等)应相互远离,不要平行走线。分布在不同层上的信号线走向应相互垂直。这样 可以减少线间的电场 和磁场祸合干扰信号线的布置最好根据信号的流向顺序安排。一个电路的输出信号线不要再折回输人信号线区域。高速信号线要尽可能地短,以免干扰其他信号线。在双面板上,必要时可在高速信号线 两边加隔离地线。多层板上所有高速时钟线都应根据时钟线的长短,采用相应的屏 蔽措施。应考虑信号线阻抗匹配问题。所谓阻抗匹配就是信号线的负载应与信号线的特性阻抗相等。特性阻抗与信号线的宽度、与地线层的距离以及板材的介电常数等物理因素有关,是信号线的固有特性。阻抗不匹配将引起传输信号 的反射,使数字波形产生振荡,造成逻辑混乱。通常信号线的负载是芯片,基本 稳定。造成不匹配的原因主要是信号线走线过程中本身的特性阻抗的变化,例 如走线的宽窄不一,走线拐弯,经过过孔等。所以,布线时应采取以下措施,使得 信号线全程走线的特性阻抗保持不变:高速信号线布置在同一层上,不经过过 孔。一般数字信号线应避免穿过二个以上的过孔。信号线拐90°直角会产生特 性阻抗变化,所以拐角处应设计成弧形或轨线的外侧用两45°角连接。信号线不要离印制板边缘太近,留有的宽度应至少大于轨线层和地线层的距离, 否则会引起特性阻抗变化,而且容易产生边缘场,增加向外的辐射。时钟发生器如有 多个负载,则不能用树型结构走线,而应用蜘蛛网型结构走线,即所有的时钟负载直接与时钟功率驱动器相互连接。在印制板不允许有任何电气上没有连接并 悬空的金属存在,例如集成片上空闲的引脚、散热片、金属屏蔽罩、支架和板上没有利用的金属面等都应该就近接地线层。
2.5 本章小结 线路板设计阶段如果缺乏有效的手段分析电磁干扰,则产品可能通不过E M C 标准而不能进人生产。传统的尝试性方法仍是国内设计人员普遍采用 的方法 , 但各种各样的借助于计算机辅助设计的方法正应运而生Altium designer设计软件内部的自动布线软件包SPI CE仿真器相结合实现了具有E M C设计的PCB计算机辅助设计。从上面布线规则可知, 高速信号线要短,这可以通过配置长度 约束规则来实现。对于承载高速信号的走线网络可以采用菊花链拓扑,规定允许最 长走线。并行导线容易引起相互串扰,可以通过配置并行走线的最大长度来把 串扰限制在允许的范围之内。 由于导线的特性阻抗会引起公共阻抗干扰,所以采用Altium designer布线时,可以在信号完整性功能项设定中配置阻抗约束条件 来保证网络最大允许导线阻抗。同时,还可以通过设定信号完整性功能项中的上 冲、下冲、延迟时间约束来保证信号的完整。Altium designer的强大设计功能为 PCB电磁兼容的设计提供了一种手段当然,设计过程中需要跟据电磁干扰指标 去分析计算相应的布线参数,这也是该软件在电磁兼容设计中的不足之处 。


第三章 调焦电路的硬件设计3.1 总体方案 本设计的主要内容是对轮廓清晰的静止物体实现较好程度的调焦。
系统由PC机串口输入、FPGA系统、L297,L298N电机驱动电路组成。即由PC机完成对图像灰度值的分析;通过串口向FPGA输入离焦量并由FPGA产生控制信号向L297传达控制命令,并产生相关信号的控制波形,由L297产生开关信号控制电机转动;
自动调焦系统的组成如图3.1
图3.1 自动调焦系统的组成框图
在本设计中,FPGA芯片使用Atlera公司MAX7000S系列EPM7128芯片;电机控制电路选择L297和L298N组成的驱动模块。稳压芯片使用REG-1117 5V和 REG-1117 3.3V器件 对主要芯片进行供电。并使用MAX3232串口芯片完成串口通信。
本设计的特点在于PC机和FPGA的串口通讯,可以做到通过PC机对电路板的实时操控,控制步进电机的正反转,步进方式,及转动角度。
3.2 器材简介3.2.1 芯片介绍Altera公司生产的可编程逻辑器件具有良好的性能、极高的密度和非常大的灵活性。除了具有一般可编程逻辑器件的特点外,还具有改进的结构、先进的处理技术、现代化的开发工具以及多种宏功能模块可选用等众多优点。
(1)高性能
高性能体现在技术和结构上,Altera公司生产的器件采用铜铝布线的先进CMOS技术,具有非常低的功耗和相当高的速度,而且采用连续式互连结构,提供快速的、连续的信号延时。
(2)高密度逻辑集成
设计者总是寻求尽可能高的逻辑集成度,将更多的逻辑集成进更小的器件中来缩小印制板的尺寸和降低成本。具有高集成能力的可编程逻辑器件提供了优秀的解决方案。Altera公司生产的器件密度从300门到400万门,能很容易地集成现有的各种逻辑器件,包括小规模及大规模标准逻辑器件、PLD、FPGA或ASIC。高集成能力的可编程逻辑器件提供更高的系统性能,更高的可靠性,更低的成本。
(3)高性能价格比
Altera公司不断努力改进产品的开发和制造工艺,多年的经验积累使其处理技术和制造流程高度有效,使Altera公司能够提供高性能价格比的可编程逻辑器件。Altera公司生产的PLD的成本与门阵列相当。
(4)开发周期短
对许多设计工程师来说,时间是最宝贵的资源,Altera的快速、直观、易于使用的QuartusⅡ软件能够极大地缩短开发周期。使用QuartusⅡ软件进行设计输入、处理、校验以及器件编程快速、有效。
(5)对器件优化的IP解决方案
Altera公司提供已经制作完成,经过预先测试并优化了的IP宏功能模块,允许设计人员在一个器件中快速实现一定的功能而不必从基础的设计做起,宏功能模块大大地提高了设计效率。
(6)在线可编程
Altera系列器件具有在线可编程性,简化了样品设计开发过程及流水线生产过程,提高了设计的灵活性,并且能够快速有效地对产品进行现场升。Altera的ISP使用IEEE1149.1标准的JTAG测试端口,允许对器件进行编程,并且可以对印刷电路板(PCB)进行功能测试。同时,它还有被动串行下载模式(PS)在PS模式中,配置数据从数据源通过Byte Blaster下载线串行的送到FPGA中,配置数据的同步时钟由数据源提供[29]。
EPM7128是可编程的大规模逻辑器件,为ALTERA公司的MAX7000S系列产品,具有高阻抗、电可擦等特点,可用门单元为2500个,管脚间最大延迟为5ns,工作电压为+5V。
3.3   本设计简介。本设计采用JTAG下载模式,FPGA器件的配置是经过JTAG引脚TCK、TMS、TDI、TDO完成的,JTAG引脚说明如表3.2所示。
在调试过程中,由PC机发出离焦量信号。通过串口把指令发给FPGA,由FPGA根据指令向L297传达控制信号。控制L297的 half ,cw等信号的大小。控制电机的转动步数和转动方式。
所有基于JTAG的操作都必须同步于JTAG的时钟信号TCK。在TCK的上升沿读取或输出有效数据,有严格的建立和保持的时间关系的要求,因此一般情况下JTAG的时钟不会太高。JTAG边界扫描测试由测试访问端口的控制器管理,只要FPGA上电后电压正确,且JTAG链路完整,则JTAG电路可立即正常工作,清空JTAG配置寄存器等待外界响应。
在JTAG模式下,可以通过ByteBlasterⅡ并口下载电缆、ByteBlasterMV并口下载电缆、MasterBlaster串行/USB通信电缆和USB-Blaster下载电缆对器件进行配置。


表3.2 JTAG引脚功能说明
引脚
   
说明
   
功能
TDI
   
测试数据输入
    测试和编程数据串行输入指示引脚,数据在TCK的上升沿输入
TDO
   
测试数据输出
    测试和编程数据串行输出指示引脚,数据在TCK的下降沿输出。如果不从该引脚输出数据,该引脚为三态
TMS
   
测试模式选择
    输入引脚,提供控制信号以确定TAP控制器状态机的转换。状态机内的转换发生在TCK的上升沿,TMS必须在TCK的上升沿前建立,TMS在TCK的上升沿赋值
TCK
   
测试时钟输入
    时钟输入到BST电路,一些操作发生在上升沿,另一些操作发生在下降沿
TRST
   
测试复位输入
    低电平有效异步复位边界扫描测试电路。根据IEEE标准1149.1,TRST引脚为可选项
3.1.1上拉电阻存在的理由Altera公司不断优化JTAG模式中的上拉和下拉电路,这是随着FPGA内部的JTAG控制的发展而发展的。这些电阻有不可低估的作用,不但需要设计者在PCB上一个不漏,而且需要灵活应用。
1.保证电路的初始值。比如TCK信号采用下拉电阻。为什么采用下拉电阻,而不采用上拉电阻呢?因为下拉电阻使TCK信号的初始值为0,由于是时钟信号,可以保证时钟信号在初值后第一个边沿为上升沿,而JTAG控制电阻正是以TCK的上升沿向FPGA内部写配置数据的。

  2.这里的上/下拉电阻仅仅属于推荐值,并非确定值,目的是保证信号质量。以上拉电阻为例,如果上拉电阻为10K以上,由于管脚对地有一个等效电容,由于T=RC,C由器件的工艺决定,电阻越大,充放电时间越长,信号的上升沿就越缓慢,斜率就越小。上升时间如果超过JTAG控制电路的要求,向FPGA内部写数据就可能出错。那么,如果上拉电阻越小呢?会不会上升时间变小呢?是的。电阻变小,上升时间变小,斜率变大,但是却带来了另一个严峻的问题,如果电阻小到一定程度,信号将在上升沿出现上冲现象,情形严重时会出现信号的振铃。如果电阻太小,产生的倒灌电流超过器件IO的容限,JTAG控制电路会烧坏。
  那么,这个电阻究竟多大才满足一般PCB的要求呢?一般情况使用4.7K。
3.保证信号的驱动能力。前面提到,电阻越小,信号的斜率越小,同时信号的驱动能力越强。电阻越大,信号斜率越大,同时信号的驱动能力越 弱。这一点在JTAG菊花链电路中有及其重要的重要。
3.4 电路设计3.4.1 FPGA电路设计图3.2为FPGA的 JTAG下载口电路图。

图3.2  JTAG下载口电路图

图3.3为FPGA晶振时钟输入电路:

图3.3 FPGA晶振时钟电路
图3.4为FPGA电源电路:

图3.4 FPGA电源电路
3.4.2 串口电路本设计使用串口电路以便于数据通信。串口芯片使用3.3V供电的MAX3232 。其电路图如图3.7所示。

图3.7 串口电路
3.4.3 稳压电路设计本设计中L927,L298N, FPGA,MAX3232等芯片都是5V供电。本设计分别使用REG1117-3.3和REG1117-5将5.5V电压转换为3.3V和5V。其电路参见图3.6

图3.6电源电路

3.5 电机控制理论3.5.1 L297 芯片L297是意大利SGS半导体公司生产的步进电机专用控制器,它能产生4相控制信号,可用于计算机控制的两相双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式控制步进电机。芯片内的PWM斩波器电路可开关模式下调节步进电机绕组中的电机绕组中的电流。该集成电路采用了SGS公司的模拟/数字兼容的I2L技术,使用5V的电源电压,全部信号的连接都与TFL/CMOS或集电极开路的晶体管兼容。L297的芯片引脚特别紧凑,采用双列直插20脚塑封封装
。变换器是一个重要组成部分。变换器由一个三倍计算器和某些组合逻辑电路组成,产生 一个基本的八格雷码(顺序如图3所示)。由          图
变换器产生4个输出信号送给后面的输出逻辑部分,输出逻辑提供禁止和斩波器功能所需的相序。为了获
得电动机良好的速度和转矩特性,相序信号是通过2个            图3.17 L297引脚
PWM斩波器控制电动波器包含有一个比较器、一个触发器和一个外部检测电阻,如图4所示,晶片内部的通用振荡器提供斩波频率脉冲。每个斩波器的触发器由振荡器的脉冲调节,当负载电流提高时检测电阻上的电压相对提高,当电压达到Uref时(Uref是根据峰值负载电流而定的),将触发器重置,切断输出,直至第二个振荡脉冲到来、此线路的输出(即触发器Q输出)是一恒定速率的PWM信号,L297的CONTROL端的输入决定斩波器对相位线A,B,C,D或抑制线INH1和INH2起作用。CONTROL为高电平时,对A,B,C,D有抑制作用;为低电平时,则对抑制线INH1和INH2有抑制作用,从而可对电动机和转矩进行控制。
3.5.2   L297各引脚功能说明1脚(SYNG)——斩波器输出端。如多个297同步控制,所有的SYNC端都要连在一起,共用一套振荡元件。如果使用外部时钟源,则时钟信号接到此引脚上。
3脚(HOME)——集电极开路输出端。当L297在初始状态(ABCD=0101)时,此端有指示。当此引脚有效时,晶体管开路。
4脚(A)——A相驱动信号。
5脚(INH1)——控制A相和B相的驱动极。当此引脚为低电平时,A相、B相驱动控制被禁止;当线圈级断电时,双极性桥用这个信号使负载电源快速衰减。若CONTROL端输入是低电平时,用斩波器调节负载电流。
6脚(B)——B相驱动信号。
7脚(C)——C相驱动信号。
8脚(INH2)——控制C相和D相的驱动级。作用同INH1相同。
9脚(D)——D相驱动信号。
10脚(ENABLE)——L297的使能输入端。当它为低电平时,INH1,INH2,A,B,C,D都为低电平。当系统被复位时用来阻止电机驱动。
11脚(CONTROL)——斩波器功能控制端。低电平时使INH1和INH2起作用,高电平时使A,B,C,D起作用。
12脚(Vcc)——+5V电源输入端。
17脚(CW/CCW)—方向控制端。步进电机实际旋转方向由绕组的连接方法决定。当改变此引脚的电平状态时,步进电机反向旋转。
19脚(HALF/FULL)——半步、全步方式 选择端。此引脚输入高电平时为半步方式(四相八拍),低电平时为全步方式。如选择全步方式时变换器在奇数状态,会得到单相工作方式(单四拍)。
20脚(RESET)——复位输入端。此引脚输入负脉冲时,变换器恢复初始状态 (ABCD=0101)。
3.5.3 L297驱动相序的产生L297能产生单四拍、双四拍和四相八拍工作所需的适当相序。3种方式的驱动相序都可以很容易地根据变换器输出的格雷码的顺序产生,格雷码的顺序直接与四八拍(半步方式)相符合 ,只要在脚19输入一高电平即可得到。其波形图如图3.8所示。
   



图3.8 四相八拍模式波形图
通过交替跳过在八步顺序中的状态就可以得到全步工作方式,此时需在脚19接一低电平,前已述及根据变换器的状态可得到四拍或双四拍2种工作模式,如图9,10所示。
                                
图3.9 单四拍模式波形图                                                                                

                               图3.10 双四拍模式
3.5.4 L298N 功能简介L298有15引脚的Multiwatt和20引脚的双列直插两种封装。它是一个高电压,高电流的双桥驱动设计,可以接受标准逻辑电平,驱动像继电器、电磁阀、DC和步进电机等。有两个使能端来使设备自由的接受或者拒绝输入信号。每个桥的低晶体管发射源被连在了一起,相应的外部终端可被用于连接一个外部感应电阻。提供了一个额外的电源输入使逻辑工作在一个地电压。



                                  图3.11  L298N 常见封装
3.5.5 L298N 工作方式1电源输出部分
L298N集成两个输出部分(A;B).电源输出部分是一个桥式结构,它的输出通常可以驱动一个感应负载或者微分模式,这取决于它的输入部分。负载电流来源于检测端口所在的桥:一个额外的电阻(Rsa;Rsb)允许用来加强这个电流的变化强度。
1、2输入部分
每个桥通过输入端口IN1;IN2:ENA和IN3;IN4:ENB中的四个输入门所驱动的。当使能端为高电平时,输入信号设置(开启)桥式部分,当使能端为低电平时,输入部分抑制桥式部分。所有的输入信号均为逻辑电平。
2.建议
一个无极性电容,通常为100nf,必须在Vs与Vss和地之间连接并且尽可能靠近地端。当功率电源的大电容离IC太远时,另外一个小的必须尽量靠近L298N。感应电阻,不是线绕型,必须接在靠近IC的GND端口的VS的负极端的地。每一个输入端必须通过一条较短的路径与驱动信号相连。
启动和关闭:启动之前的电源电压和关闭之前的使能输入端必须接在低电位。
5.4 L297和L928N组合步进电机控制
297加驱动器组成的步进电机控制电路具有以下优点:使用元件少,组件的损耗低,可靠性高体积小,软件开发简单,并且计算机(或单片机)硬件 费用大大减少。L297与L298配合使用控制双极步进电机工作电流可达2.5A;如与L293E配套使用,步进电机绕组电流。图12为L297和L298组成的控制驱动器的线路图。
L297的特性是只需要时钟、方向和模式输入信号。相位是由内部产生的,因此可减轻计算机(或单片机)和程序设计的负担。L298芯片是一种高压、大电流双H桥式驱动器。
L297和L298组合控制驱动的步进电机可用于如打印机的托架位置、记录仪的进给机构,以及打字机、数控机床、软盘驱动器、机器人、绘图机、复印机、阀门等设备和装置。
连接方式参见下图

图3.12 L297和L298N 组合控制电路
3.6 电路的PCB设计图3.7为PCB电路图,图3.8为电路图实物图。


图3.17 PCB图

图3.13 PCB电路板
3.8图为实际电路图

3.6 本章小结本章节主要阐述了硬件设计的思路和芯片工作方式。串口通信方式是本设计的主要设计工作。实现了FPGA和PC机的实时通讯。并且可以分别对L297的不同输出信号进行独立控制。对电机的操作实现了独立化,精确化。
JTAG口的数据下载,保证了FPGA内部串口通讯程序可是随着设计者的需要进行修改,进而保证了FPGA控制信号产生方式的可操作性。


第四章 串口通信程序设计4.1  编程环境本设计所有控制、驱动、运算功能均有可编程芯片FPGA实现。本设计对FPGA编程使用Verilog HDL硬件描述语言和QuartusII9.0集成编译环境。
4.1.1 硬件语言 Verilog HDL 特点总体上说,Verilog HDL硬件描述语言具有以下优点:
(1)具有强大的描述能力
Verilog HDL既可以描述系统级电路,也可以描述门级电路;既可以采用行为描述、寄存器传输或者结构描述,也可以采用三者混合描述方式;同时也支持惯性延迟和传输延迟,可以方便地建立电子系统的模型。
(2)具有共享与复用的能力
Verilog HDL采用基于库的设计方法。库中可以存放大量预先设计或以前项目中曾经使用过的模块,从而大大减少了设计人员的工作量,缩短了开发周期。
(3)具有独立于器件的工艺设计能力
Verilog HDL允许设计人员生成设计而不需要首先选择器件;对于相同的设计描述,可以采取不同的器件结构来实现。
(4)具有良好的可移植性
对于同一个设计描述,Verilog HDL可以在不同仿真工具或综合工具之间进行自由移植,也可以在不同操作平台上执行。
(5)具有良好的性能评估能力
Verilog HDL独立于器件和工艺的设计和可移植性允许设计人员采用不同的器件结构和综合工具对设计进行评估。
(6)具有向ASIC移植的能力
Verilog HDL可以对高密度现场可编程逻辑器件进行编程。可以很容易的实现向ASIC的设计转变。
同样,Verilog HDL语言也存在一些不足:
(1)系统级抽象描述能力较差;
(2)某些场合不能准确的描述电路;
(3)综合工具生成的逻辑实现有时并不是最佳;
(4)综合工具的不同将导致综合质量的不同;
(5)不具有描述模拟电路的能力。   
4.1.2 Verilog HDL的设计流程Verilog HDL语言的设计流程主要包括以下六个步骤。
(1)设计规范的定义
采用Verilog HDL进行设计描述前,首先要对电子系统的设计目的和设计要求有明确、清晰的认识,然后形成具体设计规范的定义,设计规范的定义相当于系统设计的总体方案。
(2)采用Verilog HDL进行设计描述
采用Verilog HDL进行设计描述主要包括设计规划和程序编写。设计规划的主要任务是进行设计方式的选择以及是否进行模块划分。设计规划后,即可根据模块划分编写各个模块的Verilog HDL程序,再将各个模块的Verilog HDL程序组合,从而实现完整的Verilog HDL描述。
(3)Verilog HDL程序仿真
为节省时间,缩短开发周期,提早发现设计错误,在Verilog HDL程序编写完成后需要使用仿真器对Verilog HDL设计描述进行仿真。
(4)综合、优化和布局布线
综合是将设计的顶层描述转化成底层电路表示。通常,综合的结果会是网表或是逻辑方程。优化是指将设计的时延缩到最小并有效利用资源。布局布线是将综合优化后的逻辑规划到FPGA的逻辑结构中,然后将各逻辑单元放置到相应优化位置,最后在逻辑元胞和I/O口之间进行布线。
(5)布局布线后的仿真
不同于VHDL程序仿真,布局布线后的仿真不仅要对设计描述的逻辑功能进行验证,还要对设计描述的时序功能进行验证。
(6)器件编程
器件编程是将设计描述经过编译、综合、优化和布线布局后的结果,经过一定的映射转化成器件编程所需要的数据文件格式,然后通过烧片器或下载电缆将数据文件下载到器件的过程。

4.2 编译环境的设计特点
QuartusII开发软件是Altera公司为其FPGA设计的专用开发工具。QuartusII开发软件支持VHDL和Verilog HDL硬件描述语言的设计输入,基于图形的设计输入方式和集成系统设计工具,它可以把设计、综合、布局布线、系统验证全部都集成到无缝的开发环境中,其中还包括与第三方EDA工具的高效接口。其设计特点主要有以下七点:
(1)基于模块的设计方法
QuartusII开发软件提供了Logic Lock的基于模块的设计方法,便于独立设计和实施各种设计模块,且把模块集成到顶层工程时仍可保持各个模块的性能。
(2)更快的集成IP
QuartusII开发软件包含了SOPC Builder工具,可以针对可编程片上系统的各种应用自动完成IP核的添加、参数设置和连接等操作。
(3)在设计周期的早期对I/O管脚进行分配和确认
QuartusII开发软件可以进行预先的I/O管脚分配和验证操作。可以在任何时刻对I/O管脚分配进行修改而不用在次进行设计编译。
(4)拥有存储器编译器
QuartusII开发软件提供了存储器编译器,可以对FPGA中的嵌入式存储器进行管理。QuartusII4.0以上版本增加了对FIFO和RAM读操作的基于现有设置的波形动态生成功能。
(5)支持FPGA、CPLD以及基于Hard Copy的ASIC设计
QuartusII开发软件可以使用和FPGA完全相同的设计工具、IP核和验证工具,支持Hard Copy Stratix系列器件的开发。
(6)使用全新的命令行和脚本功能的自动化设计流程
可通过使用命令行和图形用户界面(GUI)独立运行QuartusII开发软件中的综合、布局布线、时序分析以及下载编程等模块。QuartusII开发软件还包括了工具命令语言接口对话框。
(7)Atera公司提供高级教程帮助了解QuartusII开发软件的功能特性
QuartusII开发软件提供了详细的帮助文件,涵盖了FPGA系统设计的所有领域,包括工程创建、输入设计、综合、布局布线、仿真、验证、时序分析在内的各种设计任务。
4.3 Quartus 开发设计流程Altera公司的QuartusII开发软件根据用户需求提供了一个完整的多平台开发环境,包括了整个可编程器件设计阶段的所有解决方案。其总体开发流程如图4.1所示。在设计流程每个阶段,QuartusII开发软件允许用户使用QuartusII开发软件的图形用户界面、EDA工具界面或行输入界面,在整个设计流程中可以使用这些界面的任意一个,也可以在不同设计阶段使用不同的界面[37]。
图4.1 QuartusII的开发流程

4.4  串口通信设计思路UART即通用异步收发器,是一种应用广泛的短距离串行传输接口。在应用中完全可以将UART模块集成在FPGA内部,从而实现FPGA与PC之间的异步串行通信。基本的UART通信只需要两条信号线:RXD接收端和TXD发送端,接受与发送全双工。
串口传输速率有多种选择,如:9600b/s、14400b/s、19200b/s、38400b/s等,在设计中因FPGA采用9600b/s。
首先是发送模块,因为串口为异步收发,顾发送模块只需将数据信号按固定时序发出即可,在数据链前加起始位,后面加停止位。为简化设计通信均采用八位数据,无校验位,一位停止位。
在接收时,因需要与外来信号同步进行识别,所以需要检测到起始位后,在进行数据采集,在检测起始位时,为保证检测到的信号的可靠性进行多次采样,只有当起始位信号为0保持一定时间才认为起始位有效。在采集数据是,为保证数据的可靠性,采用在数据信号稳定一段时间后采样,从而保证数据可靠。
4.5 串口通信部分代码module uart_RX(CLK_SYS,RST,RX,RX_DATA_OUT,bit_data,RX_over);
input      CLK_SYS;
input      RST;
output[7:0] RX_DATA_OUT;
output      RX_over;
input     RX;
input[15:0]     bit_data;
wire       CLK_SYS;
wire       RST;
reg[7:0]   RX_DATA_OUT;
reg        RX_over;
wire        RX;
wire[15:0]  bit_data;
reg[7:0]   RX_cnt;
reg[15:0]   bit_en;
reg clk_en;
reg[15:0] cnt;
always@(posedge CLK_SYS or negedge RST)
if(!RST)
  begin
        RX_cnt<=0;
   RX_over<=0;
   RX_DATA_OUT<=0;
        clk_en<=0;
  end
else
      case(RX_cnt)
                   0:if(RX==0) if(cnt==200)
                                       begin
                                                                  cnt<=0;
                                                                  clk_en<=1;
                                                                  RX_cnt<=1;
                                                                end
                                                        else
                                                          cnt<=cnt+1;
                   1:if(bit_en==bit_data)  begin RX_DATA_OUT[0]<=RX;RX_cnt<=2;  end
                   2:if(bit_en==bit_data)  begin RX_DATA_OUT[1]<=RX;RX_cnt<=3;  end
                   3:if(bit_en==bit_data)  begin RX_DATA_OUT[2]<=RX;RX_cnt<=4;  end
                   4:if(bit_en==bit_data)  begin RX_DATA_OUT[3]<=RX;RX_cnt<=5;  end
                   5:if(bit_en==bit_data)  begin RX_DATA_OUT[4]<=RX;RX_cnt<=6;  end
                   6:if(bit_en==bit_data)  begin RX_DATA_OUT[5]<=RX;RX_cnt<=7;  end
                   7:if(bit_en==bit_data)  begin RX_DATA_OUT[6]<=RX;RX_cnt<=8;  end
                   8:if(bit_en==bit_data)  begin RX_DATA_OUT[7]<=RX;RX_cnt<=9;  end
                   9:begin RX_over<=1;RX_cnt<=10;end
                        10:if(bit_en==bit_data)  if(RX==1)
                                  begin
                                    RX_cnt<=0;
                                    RX_over<=0;
                                                                  clk_en<=0;
                                  end
endcase
always@(posedge CLK_SYS or negedge RST)
if(!RST)
  bit_en<=0;
else
if(clk_en)
  if(bit_en==bit_data)
    bit_en<=0;
  else
    bit_en<=bit_en+1;
else
  bit_en<=0;
endmodule      

第五章 电路的调试与系统分析5.1 系统仿真结果本设计的仿真环境是QuartusII开发软件自带的波形仿真工具。 以下是系统各部分仿真结果
(目前没有仿真图。。。我在想办法弄一个!)
5.2 系统调试过程5.2.1 调试过程简介调试过程,可以说是千难万阻。板子焊接完成之后,进行了第一天的调试。第一步:
 测量了板子的供电情况,发现供电不正常。外接电源10V正常,但是稳压芯片不能正常工作,输出不是理想的5V,而是不稳定的2到3V。多方检测查不到原因所在,于是,拿出测试板,去掉负载单独测量。开始时候,工作依然不正常。决定返回PCB图纸查看原因,经过缜密的检查,发现,由于疏忽在PCB图纸中,稳压芯片不慎选择了镜像。使新品焊接时,输入鼠管脚接反,工作不正常。经过调整之后,FPGA,L297,L298N等芯片工作正常。
第二步:
JTAG口的检测。此部分调试正常。顺利由PC将串口通讯程序下载到板子中。
第三步:
串口通讯的调试,由于作者第一次进行实际的PCB的独立设计和器件的焊接。DB9接口的方向不慎颠倒,使得串口线无法接如电路。正当一筹莫展的时候,想到了一个解决办法。将串口架高,有飞线的方式改变板子与接口的连接顺序,达到正确的连接。
第四步:
由于开始查看资料的时候,选定的是贴片晶振。工作电压为3.3V,后来由于手边有现有的插脚晶振,所以将图纸的晶振封装改为DIP 14的标准封装。但是忘记了接入电源为3.3V。插脚晶振的启动电压为5V。导致晶振没有输出。
晶振的调节,此部分调节依旧由于经验不足,工作十分艰难。首先,作者由于涉及知识缺乏,看到MAX3232的接地管脚在接地之前连接了一个电容来滤波。所以自作聪明把晶振的GND管脚接电容和接地。导致晶振标准输出50MHz,实际输出在30MHz左右。此问题是作者本人十分惆怅,在测试板上反复测试。经过一下午的时间,终于查找出问题所在。
最终完成硬件部分的调试工作。使得PC经过串口可以控制L297,各输出管脚的电平高低。
5.2.2 调试过程的收获和感触经过10几天的调试工作,我深深的感觉到,硬件设计是一个十分考验人的耐心,细心,经验和知识储备的工作。在我第一次独立设计的过程中。遇到了好多茫然,不知所措的情况。很多只是都是书本上学习不到的。太多太多的细节需要注意。
   这个工作也是我意识到,细心是成功的关键。很多地方由于我的粗心大意,给自己和老师带来了很多麻烦,电路板的设计也是千疮百孔。给我深深的上了一堂课,让我明白,我将来所面临的工作和挑战。
   经过这半年的学习,我从一个对硬件设计毫不知情的门外汉,渐渐地走进了这个领域,单老师为我打开了一扇通往数字电路设计的大门。在她细心的教导之下,我现在熟练掌握了Altium designer和Quartus等软件的应用。学会了PCB印制电路板的设计规则,初步了解了实际设计的注意事项,也对电磁干扰等知识有了掌握。并且,可以独立使用示波器,万用表,并通过计算机串口和FPGA进行通信。遇到了很多调试中的问题,积累的很多经验。相信自己在将来的工作中可以很好的克服现在所遇到的问题。更快的步入正规设计者的行列。
5.3 实验调试工作图示5.3.1 电装工作台
5.3.2 电调实验室和设备
5.3.3 实物电路板
5.4 展望与总结随着电子设备的发展,对焦电路及步进电机控制已经成为一种广泛使用的技术。它简化了人们繁琐的工作,也精确了机械设备的控制。使人们的生活越来越方便,简单而实用。
本设计基于FPGA提出了对焦电路的控制方案。并由此设计了PCB图纸,并进行了后期焊接调试工作。硬件电路设计已经完毕,可以满足任务要求。实现对静止图像的对焦工作。PC指令收发顺利。FPGA工作正常,电机运转正常。软件部分主要实用Verilog 和上位机编程。实现了PC机与FPGA的实时通讯,并可以根据上位机的给出的离焦量,产生不同的控制信号来控制电机的转动方向和转动步数。
但是由于设计限制,本电路无法完成对运动图像的对焦以及灰度值运算的板级化。希望在将来的工作中,可以学习并完善调焦算法,实现调焦的快速实现。并设计视频处理芯片及外部暂存设备,完成对焦电路的便携化。
本次毕业设计能够实现步进电机的启停、正反转调节,通过本次毕业设计加强了我对软件编程和硬件设计的掌握,并且熟悉了L297、L298等芯片。步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等,所以说步进电机有着广阔的市场和远大的发展前景。
本次设计的进一步的工作,应该是放在对转速的更加精确的控制,比如驱动细分技术等,这样可以减少失步。另外没有对转速进行液晶显示,这不能不说是个遗憾,加上速度显示模块,整个系统肯定会更加的完整和人性化。

致谢本论文是在导师单金玲的悉心指导、严格要求下完成的。从论文的选题、到撰写、定稿,至始至终都得到了老师的细心指点和关注。特别感谢单老师对本论文的指导帮助。文中的很多观点和数据都是在单老师老师的具体指导和帮助之下得到的。老师严谨的治学态度,渊博的知识,深厚的学术功底,、对工作一丝不苟、孜孜不倦的精神值得我终生学习。并成为作者以后学习和工作上的榜样。值此论文完成之际,作者对单老师老师在学术上的无私教诲以及在学习和生活中给予的帮助表示最衷心的感谢和诚挚的敬意! 在本科学习和论文写作期间,得到了中科院先光学精密仪器研究所空间室其他老师的大力支持,同时在文献查阅、资料收集等方面还得到了同学李奎、李斌等同学的热心帮助和支持,他们对本文提出了宝贵的建议,在此一并向他们表示衷心的感谢! 在漫长的求学路上,我的父母、朋友倾注了无限的关怀与期望,他们给了我一贯的支持与理解,并为此付出了很多心血。本文能够顺利完成无不凝聚着他们的心血,愿本论文的完成能给他们带来欣慰。 限于本人的学识水平,文中的很多观点还不成熟,谬误之处在所难免,恳请各位老师、专家、同学批评指正。最后,作者对于在百忙之中抽出时间,精心评审本论文的各位专家、教授表示衷心的感谢!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:599677 发表于 2019-8-26 18:11 | 只看该作者
这个活,不好做,但是文档会比较好写
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表