当激光打标机CH451检测到有按键按下时,DOUT引脚就输出低电平通知 FPGA。然后FPGA发出读取键值的操作命令0111XXXXXXXXB,X表示其值为О和1都可以,CH451不对其进行译码而只对高四位译码,又操作命令由低位开始输入,在LOAD信号上升沿加载,因此可以将操作命令简化为0111B。
读取按键键值的时序图如图4.11所示,DOUT由高电平变为低电平向辅助处理器FPGA发出中断请求,FPGA检测中断后,发送读取键值的操作命令0111B,并将加载信号LOAD由低电平变为高电平;加载完命令后便立即从DOUT引脚读取键值的最高位K6,然后再依次读取K5~K0。
激光打标读取完键值后,DOUT引脚自动恢复为高电平,辅助处理器FPGA将7位键值K6~KO转换为16位键值,并向主处理器ARM 发送按键中断请求,得到响应后将16位键值输出给ARM。辅助处理器FPGA 从CH451读取的7位键值K6~K0,其最高位K6值为1,表示按键按下,为0表示按键已放开。
辅助处理器FPGA将7位键值转化为16位的键值时将高8位全部置。