章节FPGA即现场可编程逻辑阵列。是在CPLD的基础上发展一起的新型高性能可编程逻辑器件。FPGA的集成度很高,其器件密度从数万门到数千万门平均,可以已完成极为简单的时序与人组逻辑电路功能,限于于高速、高密度的高端数字逻辑电路设计领域。新一代的FPGA甚至构建了中央处理器(CPU)或数字处理器(DSP)内核,在一片FPGA上展开软硬件协同设计,为构建片上可编程系统(SOPC)获取了强劲的硬件反对。
对微型打印机的驱动,传统方法是用于单片机是构建对其的时序掌控。随着FPGA在各领域的普及用于,以及对微型打印机的必须,因此要构建FPGA对微型打印机的时序掌控。
当前各ASIC芯片制造商都陆续研发了用作各自目的的HDL语言,但是大多数都为标准化和通用化。惟一被普遍认为的是美国国防部研发的VHDL语言,它已沦为IEEESTD_1076标准。另外从近期HDL语言发展的动态来看,许多公司研制的硬件电路设计工具业都渐渐向VHDL语言投向,使得他们的硬件电路设计工具也能反对VHDL语言。
VHDL语言可以反对自上而下和基于库的设计方法,而且还反对FPGA的设计。1微型打印机概述RDDH型微型打印机使用热敏冷却图形打印机方式,是一款体积小,打印机速度快的打印输出设备。该型打印机可使用标准并行接口,RS232串行接口,TTL电平串口,485模块,USB模块,打印机速度超过50m/s,分辨率为8点/mm,384点/行,打印纸张使用57mm热敏纸。
可打印机国标一、二级汉字库中全部汉字和西文字、图标共8178个。微型打印机并行接口与CENTRONICS标准接口相容,可必要由微机并口或单片机掌控。
其26线双排插座插槽序号如图1右图。此26个并口各插槽信号定义如表格1右图。图1双排插座插槽序号表格1微型打印机26并口各插槽定义对打印机的驱动主要是对其工作时序展开准确的掌控,RDDH型并行接口定点图如图2右图。
图2并行接口定点图2总体系统设计用于Altera公司的Cyclon?系列的FPGA芯片EP3C25Q240C8N构建对RDDH型微型打印机的硬件电路掌控,用于Quartus开发工具,通过VHDL语言构建对微型打印机的软件功能构建。2.1硬件电路设计如图3右图为打印机与FPGA的相连示意图。DATA1~DATA8回应打印机的8个数据位,他们的逻辑“1”回应高电平,逻辑“0”回应低电平;STB为数据选通启动时脉冲,上升沿时读取数据;ACK为问脉冲,低电平回应数据已被拒绝接受;BUSY为高电平时回应打印机于是以整天,此时不接收数据。
由于ACK和BUSY输入的是5V的TTL电平,而FPGA的I/O口标准为3.3VLVCMOS电平,因此这两个信号作为FPGA的输出信号时,要展开分力,确保电路长时间运营。图3FPGA与打印机相连示意图2.2软件设计软件平台使用Altera公司的FPGA研发平台Quartus。
Quartus获取了一种与器件结构牵涉到的设计环境,设计者不必须通晓器件的内部结构,只必须运用自己熟知的输出工具(如原理图输出或数字电路描述语言输出)展开设计,利用Quartus可以将这些设计切换为最后结构所必须的格式。有关结构的详尽科学知识已载入开发工具软件,设计人员需要手工优化自己的设计。
软件的研发流程如图4右图。图4软件开发流程图用于VHDL硬件描述语言来展开软件设计。对微型打印机的驱动主要是对其工作时序展开准确的掌控,利用VHDL少见的状态机来构建对打印机的工作时序的掌控,根据时序图1右图的时序,状态机用于4个状态,状态切换图如图5右图。初始状态STATE0时,数据选通启动时脉冲信号STB改置“1”(高电平),检测打印机否于是以整天,如果打印机为空闲状态(busy=“0”),转至下一状态STATE1,否则(busy=“1”)继续执行STATE0;在状态STATE1,将数据载入打印机,必要转至下一状态;在状态STATE2,将数据选通启动时脉冲信号STB改置“0”,打印机读数据,转至下一状态;在状态STATE3,检测数据否早已被拒绝接受,若数据已被拒绝接受(ACK=“0”),打印机转至初始状态STATE0,等候拒绝接受新的数据,若数据并未被拒绝接受(ACK=“1”),继续执行STATE3直到数据被拒绝接受。
图5状态切换图3结语用于FPGA与VHDL硬件描述语言设计的微型打印机驱动,通过系统调试需要已完成对打印机的时序掌控,目前早已在某型测试仪中长时间用于。该设计系统控制非常简单,抗干扰性强劲,可靠性低,移植性较好,需要用作任何用于FPGA芯片的系统中,具备一定的应用于前景。
本文来源:竞博JBO官方网站入口-www.792586.com