基于FPGA器件EP1C6Q240C8实现运动控制卡的应用方案

作者:365真人游戏 发布时间:2020-08-26 22:19

  实现对伺服电机的控制。由于其结构较为复杂,因此在工作时,存在高频响应慢、控制精度低等缺点。本文提出一种以和算法通过对FPGA 的编程实现。这样,既能很好地克服传统运动控制存在的缺点,又在灵活性和移植性等方面得到了很大的提高。

  本文所述的运动控制卡是PCI(peripheral component interconnect)接口卡,用Altera公司生产的型号为EP1C6Q240C8的FPGA作为编程逻辑器件,实现所有的硬件算法和反馈信号的检测。采用脉冲加方向的闭环控制方式对电机进行控制。整个运动控制卡系统可用图1 描述。

  运动控制卡硬件电路描述和设计时,严格按照同步时序设计原则,而且核心电路用D触发器实现,电路的主要信号由时钟的上升沿触发器产生。这样可以很好地避免毛刺,并且在布局后仿真和用高速逻辑分析仪采样实际工作信号皆无毛刺。在高速变化的分频倍数数据流控制时,为了保证整个系统的分频输出的实时性,采用如图2 所示的“乒乓操作”技巧。在奇数(2n+1)个缓冲周期时,输入的数据流缓冲到RAMⅠ和从RAMⅡ取出数据到运算模块。在第偶数(2n)个缓冲周期,将数据流缓冲到RAMⅡ,将RAM1 里的数据通过“数据输出选择单元”的选择,送到最后的分频和计数的运算模块进行计算输出。如此循环,周而复始。这种流水线式算法,可以完成数据的无缝缓冲与处理。

  本文所述的运动控制卡共涉及总线控制器、分频器、定时器、反馈控制等4 个模块,其原理图如图3 所示。总线] 局部总线]、地址译码和数据流控制,使PCI 数据总线上的数据正确地被译码到各分控制模块进行运算输出。定时器实现硬件定时,计算机通过驱动程序给运动控制卡输入一时间值和一个表示计时开始的控制字,运动控制卡开始计时,在计时完成时,通过产生硬件中断方式[6],进入中断服务程序,从而实现电机的转角准确定位。我们还可以把一些用户代码作为中断处理子程序,来实现定时切换或运算的功能。分频器实现工作频率(40MHz) 的分频工作,得到控制电机转速的脉冲频率。反馈控制模块实现电机的输出补偿和状态监控功能,可通过读取误差从而实现修正,以此来提高系统控制精度。这些模块在FPGA 内部采用原理图(Schematic Diagrams)+VHDL 语言结合的方式进行描述,使逻辑层次更加明确和可读性更强。

  运动控制卡输出的不同脉冲频率来实现电机转速的控制,因此脉冲频率的响应速度决定了整个电机的控制精度。这就必然要求我们在设计算法时,要充分考虑分频算法的实时性。本文提出一种基于加二计数器的分频算法,能很好地解决此问题。其算法具体流程图如图4 所示。取锁相输出时钟作为设计的全局时钟,同时用两个单口RAM来交叉刷新分频倍数。加二计数器对输入时钟进行上升沿计数,并对其计数值进行比较判断,如果计数值大于等于两倍的分频倍数,输出为‘1’,否则为‘0’。实现分频器功能。分频器输出即为运动控制卡控制电机转速的脉冲(clk_out)。

  整个运动控制卡采用脉冲加方向的控制方式,实现电机的转速和方向的控制。为了保证电机的控制精度,在运动控制卡输出脉冲至电机的驱动器的同时,运动控制卡从编码器中读出反馈脉冲和方向。这样,只要设计两个计数器同时对输出脉冲和反馈脉冲进行计数,并且对两个计数器的计数值进行判断和求差,然后根据求出的差值进行循环插补,即可实现电机的闭环控制。

  Ⅱ软件自带的SignalTap Ⅱ进行仿真调试,它是一种基于逻辑分析核的嵌入式逻辑分析仪,在使用时,调试人员无需外接专用仪器,就可以通过对FPGA 器件内部所有信号和节点的捕获,来实现对系统故障的分析和判断,整个调试过程非常直观、方便。SignalTap Ⅱ在采集时钟的上升沿处采集数据,采集时钟的设置不恰当,有时候会得到不能准确反映设计的不期望数据状态,Altera 建议最好使用全局时钟。文中给出以全局时钟gclk 作为采集时钟,1 级触发,并且以RESULT = ELD({HOLD,1})作为触发逻辑,其运行分析结果如图5 所示。值得注意的是,在调试完成后,需将SignalTapⅡ文件移除设计目录,以免浪费资源。

  从图5 的调试结果来看,运动控制卡的整个控制服从于总线仲裁逻辑。PCI 和FPGA 数据交换在READY=0 时进行,总线LD 上数据在READY=0 时有效。分频倍数

  值改变,分频输出频率即刻作相应改变,满足设计目标。对电机行程(journey1和journey2)、报警(alarm)、零位(zero)和伺服(servo)等外部信号的检测和判断。对反馈回来的时钟进行检测计数。由于PCI 和FPGA 交换数据均发生在系统时钟的上升沿。所以在数据交换过程中,必然会存在一个小于1 个时钟周期的延迟误差。4 结束语

  本文所述的运动控制卡具有如下特点:①数据输入输出口采用光隔离技术,来避免一些不必要的干扰;②FPGA采用独立的40MHz 时钟和

  设计,保证了系统的时钟稳定;③采用加二分频算法,提高分频输出的实时性;④FPGA 作为核心处理芯片,减少了硬件成本、简化了硬件设计、实时性得到提高;⑤通过状态检测和反馈模块,实现电机的状态检测和误差修正;⑥设计中断定时模块,实现电机的转角控制。责任编辑:gt

  理解Verilog编码技巧掌握FPGA中状态机的写法掌握非重叠序列检测代器Verilog代码编写

  PE内部采用硬件多线程技术,每个 PE中有多个硬件线程,硬件线程是指享有独立的程序计数器、寄存器和存....

  随着高速铁路的迅速发展以及机车车辆的现代化发展趋势,对列车总线的可靠性、安全性、通讯实时性的要求进一....

  在SoC系统的设计及使用过程中,对其内部行为的实时监控十分重要,目前普遍通过监控端和目标系统间的监控....

  整个系统以FPGA作为核心控制单元并完成视频信号的中值滤波工作;以DSP作为整个系统的核心处理单元对....

  虽然好处多多,USB Type-C 接口的设计中也存在一些隐患,主要是两个 CC 端和两个 SBU ....

  LabVIEW是一种基于图形程序的虚拟仪器编程语言,与传统仪器相比,虚拟仪器技术以计算机为平台,在程....

  实际上,软件测试过程与整个软件开发过程基本上是平行进行的。测试计划早在需求分析阶段即应开始制定,其他....

  基于高云半导体GW1NRF-4的蓝牙模块尺寸为19x20mm,包括GW1NRF-4器件,以及必需的无....

  本文介绍了Σ-Δ型ADC和DAC的特点及构成,并详细论述了Σ-Δ型立体声ADA电路TLC320AD7....

  除此之外,桌面版十代酷睿的接口将会更换为 LGA1200,不兼容前代。首发主板包括 Z490、B46....

  我正在使用Artix 7 FPGA板(xc7a200t fbg676)。 我有一个mcs文件(及其相关的prn文件),它是使用Vivado 2015...

  米格电机维修常见故障 起动伺服电机前需做的工作有哪些? 1)测量绝缘电阻(对低电压电机不应低于0.5M)。...

  TI工程师: 我想在将TMS320C6A816X的local bus引入fpga,然后用dma方式从fpga里的memory中读数据,想了解一下...

  目前针对数字下变频,除了采用多片DSP组成并行处理模块外,一般都探索采用下变频处理的高效算法。本文针....

  由于卷积码优良的性能,被广泛应用于深空通信、卫星通信和2G、3G移动通信中。卷积码有三种译码方法:门....

  在科学研究、通信和一些自动控制中,经常需要精确定时的连续脉冲信号,用于产生测试信号或控制用的时序。脉....

  光电轴角编码器是一种采用光电方法,将机械转角转换成数字电信号输出的数字测角装置。它可以和显示装置或计....

  扩频通信系统是将基带信号的频谱扩展到很宽的频带上,然后进行传输,通过增大频带宽度来提高信噪比的一种系....

  本文将FPGA技术和DSP单片系统设计技术结合起来,设计了一种新型四通道超声探伤数据采集处理系统,由....

  红外热成像技术在军事领域得到广泛的应用。但是通常的热成像系统的瞬时视场都很小,为了扩大视界通常采用光....

  标准时钟(由晶振电路产生)加于进制可编程的n进制计数器,其溢出脉冲加于可预置初值的地址计数器,生成波....

  虚拟仪器的设计方法和实现步骤与一般软件的设计方法和实现步骤基本相同,只不过虚拟仪器设计时要考虑硬件部....

  网际协议(Internet Protocol) 是互联网进行网际互连的基础。随着互联网服务的快速发展....

  对于Flash,项目中选择了Intel公司的Intel StrataFlash系列的256-Mbit....

  采用ADI公司的可变增益放大器、数字可控增益放大器和FPGA实现大动态范围的自动增益控制,这两个增益....

  PLD/FPGA是近几年集成电路中发展最快的产品。由于PLD性能的高速发展以及设计人员自身能力的提高....

  随着设计复杂度的增加,使用IP核已经成为一种常用的设计方法。QuartusⅡ软件提供的Megafun....

  FPGA是一种可编程逻辑器件,它具有良好性能、极高的密度和极大的灵活性,外围电路简单可靠等特性。因此....

  这么庞大的接口显然可以支持更高级的特性,比如八通道 DDR4 内存,比如 PCIe 4.0,还有可能....

  随着空间探测技术的发展,空间的等离子体成分探测显得越来越重要,尤其对现在正在进行的深空探测,如探月计....

  SelectIO接口使用IDDR原语执行4x异步过采样。 时钟由MMCM或PLL原语生成,并通过BUFG时钟网络路由,...

  嗨, 我想使用MMCM时钟生成模块来实时和动态地改变Artix FPGA中的相移。 但我见过Xilinx UG472& ...

  红苹果PE90FH高清数字矩阵是用于高清/标清、数字/模拟等多种视频上墙的专用设备。系统核心基于超大....

  近日,国产民用航空业传来大喜讯,经过几年研发和试飞,国产大飞机 ARJ21 交付国内三大航空公司,开....

  从端侧来讲,手机屏幕的面积越来越大,目前已基本可以支持720P或1080P。随着柔性屏幕的扩展以及观....

  物理隔离网闸(以下简称网闸)是一种采用物理隔离技术,由带有多种控制功能专用硬件在电路上切断网络之间的....

  在CCD图像采集中,需要对图像采集系统的性能进行评估,而由于CCD相机的研制时间长,研制成本高,并且....

  视频对象运动检测是从视频序列中提取出有意义的运动对象,它是视频检索、多媒体内容描述以及基于内容的视频....

  POS-PHY Level 4(PL4)是用于在物理层和链路层之间传输分组和信元的通用接口,支持多种....

  赛灵思表示,该款 FPGA 为卫星和太空应用提供更优秀的辐射耐受能力(Radiation Toler....

  实现这一编程思想的转变,是因为 FPGA 借助 OpenCL 实现了编程,程序员只需要通过 C/C+....

  本文采用FPGA实现了IDE硬盘接口协议。系统提供两套符合ATA-6规范的IDE接口,一个与普通ID....

  为了适应通信应用要求的多样性, 需要一种可以实现快速设计、快速验证、快速移植的软硬件验证与测试平台。....

  DDR SDRAM的原理及特点:DDR SDRAM不需要提高时钟频率就能加倍提高SDRAM的速度,因....

  Prodigy 云系统是一套多功能、可扩展的 FPGA 原型系统。单个标准服务器机架可建构多达 32....

  使用 CrossLink FPGA 进行设计时,要先问自己一些基本的问题,然后顺着答案设计基本架构。....

  除了支持全新的制造平台,莱迪思还依托其低功耗、小尺寸 FPGA 领先开发商的行业经验,在系统设计的各....

  如图所示为本设计的城市交叉路口智能交通控制系统示意图,交叉路口的交通分为东西方向和南北方向,其中南北....

  基于团队的协同化 FPGA 设计并不是一个新的概念,但是底层架构和布线依赖于 FPGA 的其他部分,....

  质量。质量是每一家芯片公司的生命线,“我们有专门的质量部门,有这方面的专业人士;此外,FPGA 的测....

  ertus™-NX 是莱迪思 Nexus 技术平台上的第二款产品,它将为更广泛的应用带来 FD-SO....

  从 RSP 接口来 10 位二进制补码数据 I1 和 Q1,与求指数模块传送来的预放大增益 GAIN....

  在 EDA 问世之前,设计人员必须通过手工完成电路设计和布线等基础工作。随着芯片集成度提高和性能的多....

  方案 1:利用公式 H(s)=R(s)/E(s),以冲击函数为激励,则输出信号的拉氏变换与系统函数相....

  在之前的文章中,就介绍过 FPGA 在数据中心里的一些典型的应用实例。比如,微软就在自家的数据中心里....

  【个人的学习资料汇总贴】 MYMINIEYE:60天FPGA工程师入门就业项目实战特训营(视频+开发板) ...

  嗨专家, 我有一个名为WAKEUP_N的信号,它有一个单独的上拉至3.3V辅助电压,总是3.3V,无论FPGA上电还是...

  你好, 我目前正在修改电路设计,用xc7z045 FPGA取代xc7z020 FPGA。 目前的设计使用与Zedboard相同的电源排...


365真人游戏
© 2013 北京格林吉能源科技有限公司.版权所有