当前位置:首页 > EDA > 电子设计自动化
[导读] 摘 要:为了取代传统利用单片机驱动微型打印机,使用Alt era 公司的FPGA 芯片EP3C25Q240C8N 设计驱动打印机的硬件控制电路,并正确控制微型打印机的工作时序。软件使用硬件描述语言VH DL 实现对微型打印机的时序控

 摘  要:为了取代传统利用单片机驱动微型打印机,使用Alt era 公司的FPGA 芯片EP3C25Q240C8N 设计驱动打印机的硬件控制电路,并正确控制微型打印机的工作时序。软件使用硬件描述语言VH DL 实现对微型打印机的时序控制,并通过Quar tus  软件平台下载到FPGA 调试通过,证明该方法行之有效,完全可以取代传统利用单片机来驱动微型打印机,且抗干扰性好,可靠性高,具有较强的可移植性。

  0   引  言

  FPGA 即现场可编程逻辑阵列。是在CPLD 的基础上发展起来的新型高性能可编程逻辑器件。FPGA的集成度很高,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。新一代的FPGA 甚至集成了中央处理器( CPU ) 或数字处理器( DSP) 内核,在一片FPGA 上进行软硬件协同设计,为实现片上可编程系统( SOPC) 提供了强大的硬件支持。对微型打印机的驱动,传统方法是使用单片机是实现对其的时序控制。随着FPGA 在各领域的普及使用,以及对微型打印机的需要,因此要实现FPGA 对微型打印机的时序控制。

  当前各ASIC 芯片制造商都相继开发了用于各自目的的HDL 语言,但是大多数都为标准化和通用化。惟一被公认的是美国国防部开发的VHDL 语言,它已成为IEEE ST D_1076 标准。另外从近期HDL语言发展的动态来看,许多公司研制的硬件电路设计工具业都逐渐向VHDL 语言靠拢,使得他们的硬件电路设计工具也能支持VHDL 语言。

  VHDL 语言可以支持自上而下和基于库的设计方法,而且还支持FPGA 的设计。

  1   微型打印机简介

  RD DH 型微型打印机采用热敏加热点阵打印方式,是一款体积小,打印速度快的打印输出设备。该型打印机可采用标准并行接口,RS 232 串行接口,T TL电平串口,485 接口,USB 接口,打印速度达到50 m/ s,分辨率为8 点/ mm,384 点/ 行,打印纸张采用57 mm热敏纸。可打印国标一、二级汉字库中全部汉字和西文字、图标共8 178 个。微型打印机并行接口与CENTRONICS标准接口兼容,可直接由微机并口或单片机控制。其26 线双排插座引脚序号如图1 所示。此26 个并口各引脚信号定义如表1 所示。



图1  双排插座引脚序号

表1   微型打印机26 并口各引脚定义


  对打印机的驱动主要是对其工作时序进行正确的控制,RD DH 型并行接口定时图如图2 所示。


图2   并行接口定时图

  2   总体系统设计

  使用Altera 公司的Cyclon ?系列的FPGA 芯片EP3C25Q240C8N 实现对RD DH 型微型打印机的硬件电路控制,使用Quar tus  开发工具,通过VHDL 语言实现对微型打印机的软件功能实现。

  2. 1   硬件电路设计

  如图3 所示为打印机与FPGA 的连接示意图。

  DATA 1~ DATA8 表示打印机的8 个数据位,他们的逻辑“1”表示高电平,逻辑“0”表示低电平;  STB 为数据选通触发脉冲,下降沿时读入数据;  ACK 为回答脉冲,低电平表示数据已被接受; BUSY 为高电平时表示打印机正忙,此时不接收数据。

  由于 ACK 和BUSY 输出的是5 V 的TT L 电平,而FPGA 的I/ O 口标准为3. 3 V LVCMOS 电平,因此这两个信号作为FPGA 的输入信号时,要进行分压,保证电路正常运行。


图3   FPGA 与打印机连接示意图

  2. 2   软件设计

  软件平台采用A ltera 公司的FPGA 开发平台Q uartus  。

  Quartus  提供了一种与器件结构无关的设计环境,设计者不需要精通器件的内部结构,只需要运用自己熟悉的输入工具( 如原理图输入或数字电路描述语言输入) 进行设计,利用Quar tus  可以将这些设计转换为最终结构所需要的格式。有关结构的详细知识已写入开发工具软件,设计人员无需手工优化自己的设计。软件的开发流程如图4 所示。


图4  软件开发流程图

  使用VHDL 硬件描述语言来进行软件设计。

  对微型打印机的驱动主要是对其工作时序进行正确的控制,利用VHDL 常见的状态机来实现对打印机的工作时序的控制,根据时序图1 所示的时序,状态机使用4 个状态,状态转换图如图5 所示。

  初始状态STA TE0 时,数据选通触发脉冲信号STB 置“1” ( 高电平) ,检测打印机是否正忙,如果打印机为空闲状态( busy= “0”) ,转入下一状态STAT E1,否则( busy = “1 ” ) 继续执行ST AT E0; 在状态STAT E1,将数据写入打印机,直接转入下一状态; 在状态STAT E2,将数据选通触发脉冲信号STB 置“0” ,打印机读数据,转入下一状态; 在状态ST ATE3,检测数据是否已经被接受,若数据已被接受( ACK = “0” ) ,打印机转入初始状态ST AT E0,等待接受新数据,若数据未被接受( ACK = “1” ) ,继续执行STAT E3 直到数据被接受。


图5   状态转换图

  3   结  语

  使用FPGA 与V HDL 硬件描述语言设计的微型打印机驱动,通过系统调试能够完成对打印机的时序控制,目前已经在某型测试仪中正常使用。该设计系统控制简单,抗干扰性强,可靠性高,移植性较好,能够用于任何使用FPGA 芯片的系统中,具有一定的应用前景。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭