当前位置:首页 > 电源 > 数字电源
[导读]本文提出了一种基于FPGA和USB接口的验光仪控制系统设计方案,该方案中的全自动电脑验光的接口设计是在原先验光仪的基础进行了改进,设计了基于FPGA的全自动电脑控制系统,并采用了先进的USB技术连接设备与电脑,提高了数据传输速率,增加了定位精度,并且缩短了验光过程的时间。

  1.引言

  近些年来,近视已经严重影响了人们的健康。为了准确的了解近视患者眼睛的近视程度,为近视者配出更加合适的眼镜,验光仪器成为了眼镜零售行业必不可少的设备。目前市场上主流电脑验光仪并不能完全实现验光过程的自动化,问题主要表现在以下三个方面:

  ①定位速度慢;②定位精度差;③自动化水平低.

  为了解决以上问题,本设计对原有的电脑验光仪进行了改进,采用运行速率快,稳定性高的FPGA控制步进电机驱动芯片,实现了验光仪的三轴联动;运用行程开关实现了极点间的自动往返。为了保护电路安全,设计了板间的光电隔离电路;并且采用先进的USB技术使电脑和设备进行通信,增加了数据的传输率,提高了设备的可控性.

  2.系统硬件整体设计

  控制系统是验光仪的控制核心,它不但要实现对多轴步进电机的运动和光源控制,还要实现与上位机信息的交互和其他重要功能。验光仪的主控制板的设计由EP3C16Q240C8最小系统扩展而成,根据FPGA功能实现及相关外设扩展对插针接口进行适当更改,并添加了USB通信接口、步进电机驱动模块和行程开关信号输入端的光电隔离电路。验光仪控制系统的主控制板硬件电路设计框图如图1所示。

  

 

  主控制板中FPGA使用的是Altera公司生产的Cylone III系列芯片EP3C16Q240C8N,该芯片拥有15,408个逻辑单元;可以提供516,096字节的RAM;另外芯片内部还自带有4个锁相环,可以保证系统时钟信号在高速运行时的稳定性。步进电机驱动芯片选择使用Allergo公司生产两相步进电机专用驱动芯片SLA7042M,它能够实现超平滑低速驱动。为了实现主芯片和外部设备通信,控制板需要将3.3V和5V的电平相互转换,系统使用TI公司生产的16位3.3V-5V电平转换芯片SN74ALVC164245.USB接口控制芯片采用PDIUSBD12,它集成了SIE FIFO存储器、收发器以及电压调整期,适用于许多的外部设备。

  3.Verilog硬件功能实现

  Verilog HDL是一种硬件描述语言,主要用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模.FPGA芯片是验光仪主控制板的核心部件,本设计方案中使用Verilog HDL在FPGA上实现下位机与上位机的信息交互、多轴联动步进电机运动平台的控制、对光源的控制等功能,FPGA内部功能模块如图2所示。

  

 

  1)USB接口控制模块:FPGA内部USB固件程序,实现FPGA与上位机USB接口通信。

  2)时钟模块:对外部的16MHz时钟进行分频、倍频处理,产生FPGA工作所需各种频率的时钟信号。

  3)指令分析模块:分析收到的上位机指令,根据规定的指令协议,产生执行命令并将执行指令发送到各个执行模块。[!--empirenews.page--]

  4)步进电机控制模块:执行FPGA送达的三轴步进电机控制指令,对各轴的电机进行细分、变速控制,最终通过给步进电机专用驱动芯片发送不同的命令实现电机的三轴联动。

  5)光源控制模块:控制光学系统的5个LED红外光源和3个视觉辅助光源3个视觉辅助光源引导人眼注视方向,5个LED红外光源辅助系统的对焦功能。

  4.上位机应用程序及驱动程序的实现

  本电脑验光仪控制系统上位机软件主要负责完成视频图像采集和处理的功能,在预处理的基础上完成形态学的处理、目标识别和光斑参数计算输出等一系列指令,并将指令通过USB接口传输给下位机。由于该设备不是一个类设备,说以要使设备正常工作,还需要编写专门的驱动程序和软件。

  4.1 驱动程序的编写

  驱动程序的编写使用一些驱动开发的专用工具,例如Driver Studio、WinDriver等。

  Driver Studio3.2进行开发,开发步骤这里就不一一列举,应该注意的是要在USB Vendor ID和USB Product ID中输入和固件中设备描述一致的信息。由于选用的是Philips的PDIUSBD12芯片,所以设备的Vendor ID固定为0×0471.

  使用Driver Studio的Driver Wizard生成驱动框架后,可以根据需要使用Visual C++6.0对Driver Wizard生成的工程文件中的函数进行修改,还有就是对自定义的IO控制接口函数进行处理和厂商请求的编写。完成这些后,就可以对驱动程序进行编译了,成功编译驱动程序后,将它和Driver Studio自动生成的。inf文件放在同一目录下,在查找驱动的时候指定这个目录就可以了。

  4.2 上位机应用程序的编写

  由于设备使用USB接口进行上位机与设备进行通信,所以上位机应用程序要通过USB驱动实现对设备的访问,编写上位机的应用程序必须符合USB驱动定义的接口规范。一般来说,使用Driver Wizard生成一个驱动工程后,会同时生成一个ioctl.h的文件,这个文件就是建立应用程序和驱动之间的桥梁,它定义了驱动程序的接口,在编写应用程序的时候需要将它引用进去。

  上位机应用程序整体划分6个区域,视频显示区域、(直接控制)操作区域、MOTOR控制区域、LED控制区域、实时处理(数据)显示区域、状态反馈数据显示区域。

  本系统人机交互功能在windows平台上使用VC++6.0编译环境设计完成,可以直观显示跟踪对焦过程,并进行简单控制的可视化人眼跟踪控制程序,通过人机界面实现对人眼跟踪系统的完全控制。完成的人机交互界面(上位机应用程序),具体实现代码不再敖述。

  5.系统的搭建及测试

  全自动电脑验光仪控制系统整体分为上位机和下位机两部分,通过USB总线进行连接通信,配合完成整个系统功能。通过VC6.0++开发环境编程实现windows平台的上位机软件,可通过其人机交互界面对设备进行控制。上位机软件实现了对电脑验光仪机头内CCD摄像头的控制、对视频数据的实时采集处理、下发各种控制指令、显示数据信息等功能。

  在搭建好的工作平台上进行完整的系统测试,结果如图3所示,在人机交互界面可以清晰完整的观察到已完成跟踪后采集的图像。

  

 

  通过对测试结果分析,本控制系统可以很好的完成跟踪任务,识别准确、跟踪迅速、对焦精确,充分验证了本系统的可行性,基本达到了设计预期。

  6.结束语

  本方案利用PC和FPGA配合设计出了一套完整的控制系统,充分发挥了PC机在图像处理、人机交互方面的特长以及FPGA硬件资源多、可重构性强的特点,极大的提高了系统的实时处理能力,缩短了跟踪时间,提高了跟踪效率。经系统的测试表明本方案设计的电脑验光仪控制系统将会是整个验光仪系统中不可缺少的一部分。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着嵌入式的快速发展,在工控、通信、5G通信领域,FPGA以其超灵活的可编程能力,被越来越多的工程师选择。近日,米尔电子发布2款FPGA的核心板和开发板,型号分别为:基于紫光同创Logos-2系列PG2L100H的MYC...

关键字: FPGA 核心板 开发板

在某FPGA系统中,对电源系统进行调试,在同样的测试条件下,发现其中有一块板相对其它的板功耗总偏大,进而对其进行调试分析。

关键字: 电源 纹波调试 FPGA

UART(Universal Asynchronous Receiver/Transmitter)是一种通信协议,用于在电子设备之间传输数据。它是一种串行通信协议,意味着数据位按顺序一个接一个地传输。

关键字: FPGA UART串口通信

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA

对于大规模数据处理,最佳性能不仅取决于原始计算能力,还取决于高存储器带宽。 因此,全新 AMD Alveo™ V80 计算加速卡专为具有大型数据集的内存受限型应用而设计,这些应用需要 FPGA 硬件灵活应变能力以实现工作...

关键字: 自适应计算 FPGA

8b10b编码作为数字通信领域中的一项重要线路编码方案,其核心理念在于将每8位数据映射到10位编码中。这个映射过程严格按照特定规则进行,旨在保证编码中的电平转换足够,以维持信号的直流平衡,并提供足够的时钟信息,使接收端能...

关键字: FPGA 8b/10b编码 IC设计

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

2024 年5月13日 – 专注于推动行业创新的知名新品引入 (NPI) 代理商™贸泽电子 (Mouser Electronics) 是英特尔®产品的全球授权代理商。英特尔®宣布正式成立Altera™,作为其独立运营的全...

关键字: FPGA 人工智能 以太网

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC
关闭
关闭