该课题通过对开放式数控技术的全面调研和对运动控制技术的深入研究,并针对国内运动控制技术的研究起步较晚的现状,结合激光雕刻领域的具体需要,紧跟当前运动控制技术研究的发展趋势,吸收了世界开放式数控技术和相关运动控制技术的最新成果,采纳了基于DSP和FPGA的方案,研制了一款比较新颖的、功能强大的、具有很大柔性的四轴多功能运动控制卡.该论文主要内容如下:首先,通过对制造业、开放式数控系统、运动控制卡等行业现状的全面调研,基于对运动系统控制技术的深入学习,在比较了几种常用的运动控制方案的基础上,确定了基于DSP和FPGA的运动控制设计方案,并规划了板卡的总体结构.其次,针对运动控制中的一些具体问题,如高速、高精度、运动平稳性、实时控制以及多轴联动等,在FPGA上设计了功能相互独立的四轴运动控制电路,仔细规划并定义了各个寄存器的具体功能,设计了功能完善的加/减速控制电路、变频分配电路、倍频分频电路和三个功能各异的计数器电路等,完全实现了S-曲线升降速运动、自动降速点运动、A/B相编码器倍频计数电路等特殊功能.再次,介绍了DSP在运动控制中的作用,合理规划了DSP指令的形成过程,并对DSP软件的具体实现进行了框架性的设计.然后,根据光电隔离原理设计了数字输入/输出电路;结合DAC原理设计了四路模拟输出电路;实现了PCI接口电路的设计;并针对常见的干扰现象,提出了有效的抗干扰措施.最后,利用运动控制卡强大的运动控制功能,并针对激光雕刻行业进行大幅图形扫描时需要实时处理大量的图形数据的特别需要,在板卡第四轴完全实现了激光控制功能,并基于FPGA内部的16KBit块RAM,开辟了大量数据区以便进行大幅图形的实时处理.
上传时间: 2013-06-09
上传用户:youlongjian0
当前,片上系统(SOC)已成为系统实现的主流技术。流片风险与费用增加、上市时间压力加大、产品功能愈加复杂等因素使得SOC产业逐渐划分为IP提供者、SOC设计服务者和芯片集成者三个层次。SOC设计已走向基于IP集成的平台设计阶段,经过严格验证质量可靠的IP核成为SOC产业中的重要一环。 GPIB控制器芯片是组建自动测试系统的核心,在测试领域应用广泛。本人通过查阅大量的技术资料,分析了集成电路在国内外发展的最新动态,提出了基于FPGA的自主知识产权的GPIB控制器IP核的设计和实现。 本文首先讨论了基于FPGA的GPIB控制器的背景意义,接着对FPGA开发所具备的基本知识作了简要介绍。文中对GPIB总线进行了简单的描述,根据芯片设计的主要思想,重点在于论述怎样用FPGA来实现IEEE-488.2协议,并详细阐述了GPIB控制器的十种接口功能及其状态机的IP核实现。同时,对数据通路也进行了较为细致的说明。在设计的时候采用基于模块化设计思想,用VerilogHDL语言完成各模块功能描述,通过Synplifv软件的综合,用Modelsim对设计进行了前、后仿真。最后利用生成的模块符号采取类似画电路图的方法完成整个系统芯片的lP软核设计,并用EDA工具下载到了FPGA上。 为了更好地验证设计思想,借助EDA工具对GPIB控制器的工作状态进行了软件仿真,给出仿真结果,仿真波形验证了GPIB控制器的工作符合预想。最后,本文对基于FPGA的GPIB控制器的IP核设计过程进行了总结,展望了当前GPIB控制器设计的发展趋势,指出了开展进一步研究需要做的工作。
上传时间: 2013-04-24
上传用户:rockjablew
感应加热电源以其环保、节能等优点在工业生产中得到了广泛的应用,逆变控制电路是直接影响感应加热电源能否安全、高效运行的关键因素。目前的感应加热装置很多采用模拟电路控制,而模拟控制电路触点多,焊点多,系统可靠性低,对一些元件的工艺性要求高,电路中控制参数不容易进行修改,灵活性较差。近年来随着微处理机的发展,数字式控制精确,软件设计灵活,因而整个控制系统容易实现,在感应加热领域中运用数字式控制已是一个发展方向。 本文在模拟逆变控制系统的基础上,在可编程逻辑器件(FPGA)上进行了数字式并联逆变控制系统的研究。 首先,本文针对感应加热并联逆变控制的数字化进行了详细的研究。在参阅国内外相关文献的基础上,结合已有模拟并联逆变控制电路的工作原理,设计了全数字锁相环、它激转自激扫频启动模块等逆变控制功能模块,并对各个模块进行了相关的数学分析和功能仿真,结果证明可以达到预定的功能指标和设计要求。 然后,分析了感应加热电源的整体工作流程,针对模拟控制电路中控制参数不易进行修改、灵活性较差等问题,设计了数据采集、存储、显示等功能模块,有利于系统的调试,参数修改等实际操作。 最后,以模拟逆变控制策略为基础,分析了数字控制器的控制要求和策略。由硬件状态机实现数字控制器的设计,完成对整个逆变控制系统的整体控制操作。通过自上而下的总体设计,将各个部分组合起来,构成一个SOC系统。在FPGA集成软件中进行了各部分和整体的仿真验证,结果证明该设计可以完成逆变控制的各项需求和预定的人机交互操作。
上传时间: 2013-07-09
上传用户:1222
随着印制电路板功能的日益增强,结构日趋复杂,系统中各个功能单元之间的连线间距越来越细密,基于探针的电路系统测试方法已经很难满足现在的测试需要。边界扫描测试(BST)技术通过将边界扫描寄存器单元安插在集成电路内部的每个引脚上,相当于设置了施加激励和观测响应的内建虚拟探头,通过该技术可以大大的提高数字系统的可观测性和可控性,降低测试难度。针对这种测试需求,本文给出了基于FPGA的边界扫描控制器设计方法。 完整的边界扫描测试系统主要由测试控制部分和目标器件构成,其中测试控制部分由测试图形、数据的生成与分析及边界扫描控制器两部分构成。而边界扫描控制器是整个系统的核心,它主要实现JTAG协议的自动转换,产生符合IEEE标准的边界扫描测试总线信号,而边界扫描测试系统工作性能主要取决与边界扫描控制器的工作效率。因此,设计一个能够快速、准确的完成JTAG协议转换,并且具有通用性的边界扫描控制器是本文的主要研究工作。 本文首先从边界扫描技术的基本原理入手,分析边界扫描测试的物理基础、边界扫描的测试指令及与可测性设计相关的标准,提出了边界扫描控制器的总体设计方案。其次,采用模块化设计思想、VHDL语言描述来完成要实现的边界扫描控制器的硬件设计。然后,利用自顶向下的验证方法,在对控制器内功能模块进行基于Testbench验证的基础上,利用嵌入式系统的设计思想,将所设计的边界扫描控制器集成到SOPC中,构成了基于SOPC的边界扫描测试系统。并且对SOPC系统进行软硬件协同仿真,实现对边界扫描控制器的功能验证后将其应用到实际的测试电路当中。最后,在基于SignalTapⅡ硬件调试的基础上,软硬件结合对整个系统可行性进行了测试。从测试结果看,达到了预期的设计目标,该边界扫描控制器的设计方案是正确可行的。 本文设计的边界扫描控制器具有自主知识产权,可以与其他处理器结合构成完整的边界扫描测试系统,并且为SOPC系统提供了一个很有实用价值的组件,具有很明显的现实意义。
上传时间: 2013-07-20
上传用户:hewenzhi
本文以误差和误差变化率为输入,利用模糊推理的方法实现了对PID参数的在线自动整定,并且在MATLAB环境下对该控制器进行了设计和仿真。从仿真结果可以看出,参数自整定模糊PID控制器控制效果优于
上传时间: 2013-04-24
上传用户:wanghui2438
本文提出了一种由单片微机控制的火灾自动探测报警控制器.将烟感、温度探测器接入单片微机,经单片微机逻辑判断,经专用声光报警集成电路来进行火灾报警、异常报警(烟感、温感其中之一动作)、故障报警,并发出不同的声光信号、显示出事故类型及位置.本控制器适用于总建筑面积不超过1000m2的各种地方,如图书馆、档案馆、计算机房等处.
上传时间: 2013-05-26
上传用户:hgy9473
太阳能LED路灯由太阳能电池、蓄电池、控制 器、LED灯及其恒流驱动电路等部分组成,如图I所示。太阳能电池板通常安装在灯杆顶上并朝着太阳,控制器和铅蓄电池安置在控制箱内,恒流驱动电路和LED都装在灯具内。本文就上述5大部件在使用中的关键问题进行探讨并给出数据,最后介绍恒流驱动源的实际使用电路。
上传时间: 2013-06-11
上传用户:362279997
使用_dsPIC_数字信号控制器的并网太阳能微型逆变器参考设计
上传时间: 2013-04-24
上传用户:hzy5825468
现在生活好了,很多家庭都用上了太阳能热水器,其应用太阳能,清洁无污染,实用价廉,深受喜欢。但市场上出售的大多太阳能热水器水满报警装置太简陋,只设了一条回水管,水从回水管流出来很容易被忽视,易造成水的浪费,而现在却出现了水满报警装置采用了水满自动报警。这种“水满信号”容易被发现,如文中图1报警电路所示,它代替回水管的使用,当太阳能水满时,报警器发出柔和的报警音以提醒水满,关闭阀门后,报警音自动停止。它克服了传统回水管易老化,易断,易堵,易冻,费水和水满无声容易遗忘而漫水的缺点等等。因效果好能发声报警并且在市场上价格也较低,所以自动水满报警器广泛应用于太阳能热水器、水箱及储水池等。 结合以上所述,太阳能热水器以节能、无污染等优点,逐渐为企事业单位和家庭广泛使用,但热水器水箱水位在使用时不易观测,有时突然出现中途断水情况,会给使用者带来诸多不便。为此我设计了太阳能热水器水位自动水满报警器,它能在水箱里储水不多,或加入冷水过多时,自动发出约30秒钟的音乐报警,同时配以下灯光指示。
上传时间: 2014-12-23
上传用户:hewenzhi
电路连接 由于数码管品种多样,还有共阴共阳的,下面我们使用一个数码管段码生成器(在文章结尾) 去解决不同数码管的问题: 本例作者利用手头现有的一位不知品牌的共阳数码管:型号D5611 A/B,在Eagle 找了一个 类似的型号SA56-11,引脚功能一样可以直接代换。所以下面电路图使用SA56-11 做引脚说明。 注意: 1. 将数码管的a~g 段,分别接到Arduino 的D0~D6 上面。如果你手上的数码管未知的话,可以通过通电测量它哪个引脚对应哪个字段,然后找出a~g 即可。 2. 分清共阴还是共阳。共阴的话,接220Ω电阻到电源负极;共阳的话,接220Ω电阻到电源+5v。 3. 220Ω电阻视数码管实际工作亮度与手头现有原件而定,不一定需要准确。 4. 按下按钮即停。 源代码 由于我是按照段码生成器默认接法接的,所以不用修改段码生成器了,直接在段码生成器选择共阳极,再按“自动”生成数组就搞定。 下面是源代码,由于偷懒不用写循环,使用了部分AVR 语句。 PORTD 这个是AVR 的端口输出控制语句,8 位对应D7~D0,PORTD=00001001 就是D3 和D0 是高电平。 PORTD = a;就是找出相应的段码输出到D7~D0。 DDRD 这个是AVR 语句中控制引脚作为输出/输入的语句。DDRD = 0xFF;就是D0~D7 全部 作为输出脚了。 ARDUINO CODECOPY /* Arduino 单数码管骰子 Ansifa 2011-12-28 */ //定义段码表,表中十个元素由LED 段码生成器生成,选择了共阳极。 inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; voidsetup() { DDRD = 0xFF; //AVR 定义PortD 的低七位全部用作输出使用。即0xFF=B11111111对 应D7~D0 pinMode(12, INPUT); //D12用来做骰子暂停的开关 } voidloop() { for(int i = 0; i < 10; i++) { //将段码输出PortD 的低7位,即Arduino 的引脚D0~D6,这样需要取出PORTD 最高位,即 D7的状态,与段码相加,之后再输出。 PORTD = a[i]; delay(50); //延时50ms while(digitalRead(12)) {} //如果D12引脚高电平,则在此死循环,暂停LED 跑 动 } }
上传时间: 2013-10-15
上传用户:baitouyu