发明名称 基于CPLD的电脑横织机控制器中电磁铁延时关断方法
摘要 本发明公布了一种基于CPLD的电脑横织机控制器中电磁铁延时关断方法。现有技术中电磁铁延时关断时间由ARM等芯片来处理,关断速度收到ARM芯片效率和频率的限制,无法做到高速,且关断延时时间的修改受到其他任务的影响,关断时间不精确。本发明方法中单片机发送电磁铁延时关断时间,CPLD接收到时间后将延时和所要控制的电磁铁地址保存到数据存储队列中同时导通对应地址的电磁铁,CPLD比对内部计数器的数值和数据存储队列的输出端数值,当两者数值相等时CPLD关断相对应的电磁铁同时删除数据存储队列输出端的数值。本发明缩短程序修改周期,提高电磁铁延时关断的速度,杜绝了烧毁电磁铁的现象。
申请公布号 CN102508451A 申请公布日期 2012.06.20
申请号 CN201110347803.0 申请日期 2011.11.07
申请人 杭州电子科技大学 发明人 黄继业;高明煜;黄健;曾毓;何志伟
分类号 G05B19/042(2006.01)I 主分类号 G05B19/042(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 基于CPLD的电脑横织机控制器中电磁铁延时关断方法,其特征在于该方法由单片机控制方法和CPLD控制方法组成;所述的单片机控制方法具体包括以下步骤:A1:单片机将自定义总线缓冲器上的最高三位置为100并向自定义总线以右对齐的方式填充电磁铁延时关断时间的二进制数值;A2:如果单片机内部存储数据是要控制动作三角电磁铁,则执行A3,否则执行A4;A3:单片机将自定义总线缓冲器上的最高三位置为011并向自定义总线缓冲器以右对齐的方式填充所要控制的动作三角电磁铁的地址的二进制数值; A4:单片机将自定义总线缓冲器上的最高三位置为010并向自定义总线缓冲器以右对齐的方式填充所要控制的选针电磁铁的地址的二进制数值;所述的CPLD控制方法包括延时保存电路控制方法、第一数据存储队列实现方法、第二数据存储队列实现方法、第一数据输出电路控制方法和第二数据输出电路控制方法;所述的延时保存电路控制方法具体包括以下步骤:B1:检测自定义总线缓冲器上的数据,如果自定义总线缓冲器上的高三位为100,则执行B2,否则继续执行B1;B2:CPLD将自定义总线缓冲器上的除高三位外的数据以右对齐的方式保存在保存自定义总线缓冲器上电磁铁延时关断时间的寄存器中;所述的第一数据存储队列实现方法具体包括以下步骤:C1:检测自定义总线缓冲器上的数据,如果自定义总线缓冲器上的高三位为010,则执行C2,否则继续执行C1;C2:把当前高速计数器的数值减去保存在保存自定义总线缓冲器上电磁铁延时关断时间的寄存器的数值作为第一数据存储队列的输入端,把保存自定义总线缓冲器上所要控制电磁铁对应的地址的寄存器作为第一数据存储队列的输入端的高位,同时导通保存自定义总线缓冲器上所要控制电磁铁对应的地址的寄存器对应的选针电磁铁;C3:如果第一数据存储队列满信号为1,则继续执行C3,否则执行C4;C4:将第一数据存储队列输入端的数据存入索引A所对应的地址中,索引A+1;C5:如果索引A=索引B‑1,则输出第一数据存储队列满信号为1;所述的第二数据存储队列实现方法具体包括以下步骤:D1:检测自定义总线缓冲器上的数据,如果自定义总线缓冲器上的高三位为011,则执行D2,否则继续执行D1;D2:把当前低速计数器的数值减去保存在保存自定义总线缓冲器上电磁铁延时关断时间的寄存器的数值作为第二数据存储队列的输入端,把保存自定义总线缓冲器上所要控制电磁铁对应的地址的寄存器作为第二数据存储队列的输入端的高位,同时导通保存自定义总线缓冲器上所要控制电磁铁对应的地址的寄存器对应的动作三角电磁铁;D3:如果第二数据存储队列满信号为1,则继续执行D3,否则执行D4;D4:将第二数据存储队列输入端的数据存入索引C所对应的地址中,索引C+1;D5:如果索引C=索引D‑1,则输出第二数据存储队列满信号为1;所述的第一数据输出电路控制方法具体包括以下步骤:E1:检测第一数据存储队列的输出端低位的数据,如果等于当前高速计数器的数值且第一数据存储队列为空信号为0,则执行E2,否则继续执行E1;E2:关断第一数据存储队列输出端高位所对应选针电磁铁;E3:索引B‑1;E4:如果索引B=索引A,则第一数据存储队列为空信号输出1,否则第一数据存储队列为空信号输出0;所述的第二数据输出电路控制方法具体包括以下步骤:F1:检测第二数据存储队列的输出端低位的数据,如果等于当前低速计数器的数值且第二数据存储队列为空信号为0,则执行F2,否则继续执行F1;F2:关断第二数据存储队列输出端高位所对应动作三角电磁铁;F3:索引D‑1;F4:如果索引D=索引C,则第二数据存储队列为空信号输出1,否则第二数据存储队列为空信号输出0。
地址 310018 浙江省杭州市下沙高教园区2号大街