一种与16位微处理器应用系统连接的计数器ip核及其实现计数器计数控制的方法_5

文档序号:9396666阅读:来源:国知局
【主权项】
1. 一种与16位微处理器应用系统连接的计数器IP核,其特征在于:该计数器IP核包 括数据输入输出与命令字分解存储控制模块(II ),脉冲200分频器(III),计数处理控制模块 (IV),计数器溢出标志控制模块(V),输入门控选择控制模块(VI); 所述数据输入输出与命令字分解存储控制模块(II)与16位微处理器应用系统(I )、计 数处理控制模块(IV)、计数器溢出标志控制模块(V)和输入门控选择控制模块(VI)连接; 所述脉冲200分频器(III)还与16位微处理器应用系统(I )和计数处理控制模块(IV) 连接; 所述计数处理控制模块(IV)还与16位微处理器应用系统(I )、计数器溢出标志控制模 块(V)和输入门控选择控制模块(VI)连接; 所述数据输入输出与命令字分解存储控制模块(II)在输入的片选信号为低电平的条 件下,如果写信号有效,按照16位微处理器应用系统(I )给定的计数器或计数器命令字的 地址,获得计数器运行的工作模式分频倍数编码命令字,状态控制命令字,16位计数器或 32位计数器的计数参数,并按照计数参数、计数器编号、工作模式分频倍数编码和状态控制 分别予以存储和输出,还输出写工作模式分频倍数编码信号、写状态控制信号和写计数器 参数信号;如果读信号有效向16位微处理器应用系统(I )传输计数器实时计数值; 所述脉冲200分频器CHI)对16位微处理器应用系统(I )的时钟脉冲进行分频,其输 出作为计数处理控制模块(IV)的计数器计数控制操作的滤波基准时钟脉冲; 所述计数处理控制模块(IV)在写工作模式分频倍数编码信号的作用下,按照计数器编 号存储该计数器的工作模式,滤波基准时钟分频倍数的编码值;在写状态控制信号的作用 下,按照计数器编号存储该计数器的状态控制信号;在写计数器参数信号的作用下,按照计 数器编号存储该计数器的计数参数;所述计数处理控制模块(IV)在计数器IP核外部输入 的计数处理控制运行时钟脉冲CLK II的作用下,控制计数处理控制模块(IV)的运行,按照 脉冲200分频器(m)输出的一个滤波基准时钟脉冲周期完成所有已启动计数器的一次处 理,包括每个计数器的状态控制处理,工作模式的判断处理,当滤波基准时钟的个数达到一 个16位/32位计数器所设置的滤波基准时钟倍数值时,从计数器IP核外部读入该计数器 的计数输入信号,进行一次滤波处理,如果判断是一次有效地计数脉冲,则对该计数器的实 时计数参数值进行加1操作,产生溢出时,对实时计数参数值自动重装载计数参数,并输出 溢出标志信号;在数据输入输出与命令字分解存储控制模块(II)输入的片选信号为低电平 的条件下,如果读信号有效,按照16位微处理器应用系统(I )给定的计数器的地址,直接读 出该计数器的实时计数参数值经数据输入输出与命令字分解存储控制模块(II)传输到16 位微处理器应用系统(I )的数据总线,一次能够读出16位计数器的实时计数参数,32位计 数器的实时计数参数需要分时两次予以读出;在16位微处理器应用系统(I )输出的复位 信号作用下,停止所有计数器的计数操作; 所述计数器溢出标志控制模块(V)输出16位/32位计数器的高电平为有效的溢出信 号;计数处理控制模块(IV)输出的16位计数器的溢出信号由低电平变换为高电平时,存储 该计数器溢出标志为高电平;如果该计数器溢出标志为高电平,清溢出标志由高电平转换 为低电平,存储该计数器溢出标志为低电平;在写工作模式分频倍数编码信号的作用下,计 数器溢出标志控制模块(V)按照寄存器编号存储32位计数器工作模式的信息,封锁该32 位计数器低16位的溢出信息保持为低电平; 所述输入门控选择控制模块(VI)在写工作模式分频倍数编码信号作用下,按照计数器 编号存储该计数器的工作模式,根据该计数器工作模式所确定的门控功能要求和输入的门 控电平,控制输入门控选择控制模块(VI)输出的门控信号。2. 如权利要求1所述的一种与16位微处理器应用系统连接的计数器IP核,其特征在 于:所述数据输入输出与命令字分解存储控制模块(II)包括16位双向数据选通三态门组 (1),读写信号控制模块(2),计数参数寄存器(3),计数器编号寄存器(4),工作模式分频倍 数编码寄存器(5),状态控制寄存器(6); 所述16位双向数据选通三态门组(1)分别与16位微处理器应用系统(I )、读写信号 控制模块(2)、计数参数寄存器(3)、计数器编号寄存器(4),工作模式分频倍数编码寄存器 (5) ,状态控制寄存器(6)和计数处理控制模块(IV)连接; 所述读写信号控制模块(2)还与16位微处理器应用系统(I )、计数参数寄存器(3)、计 数器编号寄存器(4),工作模式分频倍数编码寄存器(5),状态控制寄存器(6)、计数处理控 制模块(IV)、计数器溢出标志控制模块(V)和输入门控选择控制模块(VI)连接; 所述计数参数寄存器(3)还与计数处理控制模块(IV)连接; 所述计数器编号寄存器(4)还与16位微处理器应用系统(I )、计数处理控制模块(IV)、 计数器溢出标志控制模块(V)和输入门控选择控制模块(VI)连接; 所述工作模式分频倍数编码寄存器(5)还与16位微处理器应用系统(I )、计数处理控 制模块(IV)、计数器溢出标志控制模块(V)和输入门控选择控制模块(VI)连接; 所述状态控制寄存器(6)还与16位微处理器应用系统(I )、计数处理控制模块(IV)和 计数器溢出标志控制模块(V)连接; 所述数据输入输出与命令字分解存储控制模块(II)的读写信号控制模块(2)在片选信 号为低电平的条件下,如果写信号有效,发出16位双向数据选通三态门组(1)写信号,选通 16位微处理器应用系统(I )数据总线的数据输入;产生写计数器编号信号,并判断输入的 地址值,如果是计数器参数的地址值,将该地址值写入计数器编号寄存器(4),产生写计数 器参数信号,将数据总线的16位数据写入计数参数寄存器(3);如果是计数器命令字地址, 判断命令字的第15位是否为"0",如果第15位是"0",产生写计数器编号信号,将16位数 据总线的第2位~第5位数据写入计数器编号寄存器(4),产生写工作模式分频倍数编码信 号,将数据总线的第〇位、第1位、第6位~第9位写入工作模式分频倍数编码寄存器(5), 产生写状态控制信号,将16位数据总线的第10位、第11位和第14位写入状态控制寄存器 (6) ;如果第15位是"1",则计数器命令字是状态控制命令字,产生写计数器编号信号,将16 位数据总线的第2位~第5位数据写入计数器编号寄存器(4),产生写状态控制信号,将数 据总线的第10位、第11位和第14位写入状态控制寄存器(6);如果读信号有效,发出16位 双向数据选通三态门组(1)读信号,将计数处理控制模块(IV)的计数器IP核内部输出数据 总线的数据传输到16位微处理器应用系统(I )的数据总线。3. 如权利要求2所述的一种与16位微处理器应用系统连接的计数器IP核,其特征 在于:所述计数处理控制模块(IV)包括计数器计数控制操作模块(47),地址选通控制I (48),16位计数参数双端口存储器(49),地址选通控制II (50),16位计数实时参数双端口 存储器(51 ),地址选通控制III (52 ),6位工作模式分频倍数编码双端口存储器(53 ),地址选 通控制IV (54),3位状态控制双端口存储器(55),6位计数滤波参数移位存储器(56); 所述计数器计数控制操作模块(47)分别与脉冲200分频器(III)、计数器溢出标志控制 模块(V)、输入门控选择控制模块(VI)、地址选通控制I (48)、16位计数参数双端口存储器 (49)、地址选通控制II (50)、16位计数实时参数双端口存储器(51)、地址选通控制111(52)、 6位工作模式分频倍数编码双端口存储器(53 )、地址选通控制IV (54 )、3位状态控制双端口 存储器(55)和,4位计数滤波参数移位存储器(56),计数器IP核外部输入的计数输入信 号和计数处理控制运行时钟脉冲CLK II连接; 所述地址选通控制I (48)还与数据输入输出与命令字分解存储控制模块(II)和16位 计数参数双端口存储器(49 )连接; 所述16位计数参数双端口存储器(49)还与数据输入输出与命令字分解存储控制模块 (II)和16位计数实时参数双端口存储器(51)连接; 所述地址选通控制II (50)还与16位微处理器应用系统(I )、数据输入输出与命令字 分解存储控制模块(II)和16位计数实时参数双端口存储器(51)连接; 所述16位计数实时参数双端口存储器(51)还与数据输入输出与命令字分解存储控制 丰旲块(II)连接; 所述地址选通控制III(52)还与数据输入输出与命令字分解存储控制模块(II)和6位 工作模式分频倍数编码双端口存储器(53)连接; 所述6位工作模式分频倍数编码双端口存储器(53)还与数据输入输出与命令字分解 存储控制模块(II)连接; 所述地址选通控制IV(54)还与数据输入输出与命令字分解存储控制模块(II)和3位 状态控制双端口存储器(55)连接; 所述3位状态控制双端口存储器(55)还与数据输入输出与命令字分解存储控制模块 (II)、16位微处理器应用系统(I )的复位信号连接;如果输入的复位信号为有效的复位信 号,复位3位状态控制双端口存储器(55 ),停止所有计数器的计数。4.如权利要求3所述的一种与16位微处理器应用系统连接的计数器IP核,其特征 在于:所述计数器溢出标志控制模块(V)包括非门(7),MO工作模式位寄存器组(8),溢出 清零脉冲控制器(9),与非门I (10),D触发器I (11),与门I (12),与非门11(13),D触发 器II (14),与非门 111(15),D 触发器 111(16),与门 II (17),与非门IV(18),D 触发器IV(19), 与非门V (20),D触发器V (21),与门111(22),与非门VK23),D触发器VK24),与非门VE (25),D触发器W(26),与门1¥(27),与非门麗(28),0触发器麗(29),与非门:0((30),0触发 器仅(31),与门¥(32),与非门乂(33),0触发器乂(34),与非门)(1(35),0触发器)(1(36), 与门VK37),与非门XII(38),D触发器XIK39),与非门XIII(40),D触发器XIIK41),与门VE (42),与非门 XIV (43),D 触发器XIV (44),与非门 X V (45),D 触发器XV (46); 所述非门(7)的输入端与数据输入输出与命令字分解存储控制模块(II)的状态控制寄 存器(6)的MO输出端连接,输出端与MO工作模式位寄存器组(8)的一个输入端连接; MO工作模式位寄存器组(8)的另三个输入端分别与16位微处理器应用系统(I )的复 位信号输出端、数据输入输出与命令字分解存储控制模块(II)的读写信号控制模块(2)的 写工作模式分频倍数编码信号输出端和计数器编号寄存器(4)的计数器编号输出端连接, 输出端分别与门I (12)、与门II (17)、与门111(22)、与门IV(27)、与门V (32)、与门VK37) 和与门W(42)的一个输入端连接; 溢出清零脉冲控制器(9)的三个输入端分别与数据输入输出与命令字分解存储控制 模块(II)的读写信号控制模块(2)的写状态控制信号输出端、状态控制寄存器(6)的清溢 出标志输出端和计数器编号寄存器(4)的计数器编号输出端连接,输出端分别和与非门I (10),与非门II (13),与非门IIK15),与非门IV (18),与非门V (20),与非门VK23),与非门 W (25),与非门VID (28),与非门IX (30),与非门X (33),与非门XI (35),与非门XIK38),与 非门XIIK40),与非门XIV (43),与非门X V (45)的一个输入端连接;输出端还和D触发 器I (11),D触发器II (14),D触发器111(16),D触发器IV(19),D触发器V (21),D触发器 VI (24),D触发器VE (26),D触发器VID (29),D触发器IX (31),D触发器X (34),D触发器XI (36),0触发器乂11(39),0触发器乂111(41),0触发器乂1¥(44)和0触发器乂¥(46)的数据 输入端连接; 与非门I (10)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器I (11)的时钟信号输入端连接; D触发器I (11)的数据输出端和与门I (12)的另一个输入端连接; 与门I (12)的输出端作为16位计数器0的溢出标志输出信号与16位微处理器应用 系统(I )连接; 与非门II (13)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器II (14)的时钟信号输入端连接; D触发器II (14)的数据输出端作为16位计数器1/32位计数器0的溢出标志输出信号 输出端与16位微处理器应用系统(I )连接; 与非门111(15)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器III (16)的时钟信号输入端连接; D触发器III(16)的数据输出端和与门II (17)的另一个输入端连接; 与门II (17)的输出端作为16位计数器2的溢出标志输出信号与16位微处理器应用 系统(I )连接; 与非门IV (18)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器IV (19)的时钟信号输入端连接; D触发器IV (19)的数据输出端作为16位计数器3/32位计数器1的溢出标志输出信号 输出端与16位微处理器应用系统(I )连接; 与非门V (20)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器V (21)的时钟信号输入端连接; D触发器V (21)的数据输出端和与门111(22)的另一个输入端连接; 与门III(22)的输出端作为16位计数器4的溢出标志输出信号与16位微处理器应用 系统(I )连接; 与非门VK23)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器VI (24)的时钟信号输入端连接; D触发器VI(24)的数据输出端作为16位计数器5/32位计数器2的溢出标志输出信号 输出端与16位微处理器应用系统(I )连接; 与非门W(25)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器W (26)的时钟信号输入端连接; D触发器W(26)的数据输出端和与门IV (27)的另一个输入端连接; 与门IV (27)的输出端作为16位计数器6的溢出标志输出信号与16位微处理器应用 系统(I )连接; 与非门VDK28)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器VDK29)的时钟信号输入端连接; D触发器VDK29)的数据输出端作为16位计数器7/32位计数器3的溢出标志输出信号 输出端与16位微处理器应用系统(I )连接; 与非门IX(30)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器IX (31)的时钟信号输入端连接; D触发器IX (31)的数据输出端和与门V (32)的另一个输入端连接; 与门V (32)的输出端作为16位计数器8的溢出标志输出信号输出端与16位微处理 器应用系统(I)连接; 与非门X (33)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器X (34)的时钟信号输入端连接; D触发器X (34)的数据输出端作为16位计数器9/32位计数器4的溢出标志输出信号 输出端与16位微处理器应用系统(I )连接; 与非门XK35)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器XI (36)的时钟信号输入端连接; D触发器XI (36)的数据输出端和与门VI (37)的另一个输入端连接; 与门VI (37)的输出端作为16位计数器10的溢出标志输出信号与16位微处理器应用 系统(I )连接; 与非门XIK38)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输出 端与D触发器XIK39)的时钟信号输入端连接; D触发器XIK39)的数据输出端作为16位计数器11/32位计数器5的溢出标志输出信 号输出端与16位微处理器应用系统(I )连接; 与非门XIIK40)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输 出端与D触发器XIIK41)的时钟信号输入端连接; D触发器XIIK41)的数据输出端和与门W(42)的另一个输入端连接; 与门VIK42)的输出端作为16位计数器12的溢出标志输出信号输出端与16位微处理 器应用系统(I)连接; 与非门XIV(43)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输 出端与D触发器XIV (44)的时钟信号输入端连接; D触发器XIV (44)的数据输出端作为16位计数器13/32位计数器6的溢出标志输出 信号输出端与16位微处理器应用系统(I )连接; 与非门X V (45)的另一个输入端与计数处理控制模块(IV)的溢出标志输出端连接,输 出端与D触发器X V (46)的时钟信号输入端连接; D触发器X V (46)的数据输出端作为16位计数器14的溢出标志输出信号输出端与16 位微处理器应用系统(I )连接。5. -种与16位微处理器应用系统连接的计数器IP核的计数器计数控制操作的方法, 其特征在于:它是运用权利要求4所述的一种与16位微处理器应用系统连接的计数器IP 核来实现计数器计数控制操作的方法; 所述计数器计数控制操作的具体步骤为: SlOl :清滤波基准时钟脉冲的倍数u数组存储单元、移位V数组存储单元,计数器编号 值j ; sl〇2 :滤波基准时钟脉冲下降沿触发程序执行1次; sl03 :判断计数器编号值j是否等于或大于15,如果j的值等于或大于15,则进入步骤 sl04,否则进入sl05 ; sl〇4 :设置计数器编号值j=0,返回步骤sl02 ; S105 :判断启/停信号是否等于1,如果启/停信号=1,该计数器计数工作,进入步骤 sl〇9,否则该计数器处于停止计数工作状态,进入步骤sl06 ; sl06 :判断清计数当前值是否等于0,如果清计数当前值=0,则进入步骤sl07,否则进 入步骤s 108 ; sl07 :清除该计数器计数存储单元的值,进入步骤sl08 ; sl08 :计数器编号值j加1,返回步骤sl03 ; sl09 :该计数器的滤波基准时钟脉冲分频倍数加I :u(j)= u(j)+l,进入步骤SllO ; SllO :判断该计数器工作模式,如果工作模式MlMO=IO,门控16位计数器,进入步 骤sill ;如果工作模式MlMO=OO,无门控的16位计数器,进入步骤sll6 ;如果工作模式 MlMO=Ol,无门控的32位计数器,进入步骤sll2 ;如果工作模式MlMO=Il,则选择门控的32 位计数器,进入步骤sll3; sill :判断该16位计数器的门控信号是否为0,如果门控信号等于0则返回步骤sl08, 否则进入步骤sll6 ; sll2 :判断该32位计数器编号j的低2位是否等于00,如果等于00则进入步骤sl41, 否则返回步骤sl08 ; sll3 :判断该32位计数器编号j的低2位是否等于00,如果等于00则进入步骤sl41, 否则返回步骤sl08 ; sll4:判断该32位计数器的门控信号是否为0,如果门控信号等于0则进入步骤sl41, 否则进入步骤sll5 ; sll5 :计数器编号j加2 :j=j+2,返回步骤sl03 ; sll6 :判断该16位计数器的分频倍数的编码,如果分频倍数的编码为0000,进入步骤 sl32 ;如果分频倍数的编码为0001,则进入步骤sll7 ;如果分频倍数的编码为0010,则进入 步骤sll8 ;如果分频倍数的编码为00
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1