基于FPGA与VHDL的微型打印机的驱动设计
使用VHDL硬件描述语言来进行软件设计。对微型打印机的驱动主要是对其工作时序进行正确的控制,利用VHDL常见的状态机来实现对打印机的工作时序的控制,根据时序图1所示的时序,状态机使用4个状态,状态转换图如图5所示。
初始状态STATE0时,数据选通触发脉冲信号STB置‘1’(高电平),检测打印机是否正忙,如果打印机为空闲状态(busy=‘0’),转入下一状态STATE1,否则(busy=‘1’)继续执行STATE0;在状态STATE1,将数据写入打印机,直接转入下一状态;在状态STATE2,将数据选通触发脉冲信号STB置‘O’,打印机读数据,转入下一状态;在状态STATE3,检测数据是否已经被接受,若数据已被接受(ACK=‘O’),打印机转入初始状态STATE0,等待接受新数据,若数据未被接受(ACK=‘1’),继续执行STATE3直到数据被接受。
3 结语
使用FPGA与VHDL硬件描述语言设计的微型打印机驱动,通过系统调试能够完成对打印机的时序控制,目前已经在某型测试仪中正常使用。该设计系统控制简单,抗干扰性强,可靠性高,移植性较好,能够用于任何使用FPGA芯片的系统中,具有一定的应用前景。
评论