一种与16位微处理器应用系统连接的计数器IP核,包括数据输入输出与命令字分解存储控制模块,脉冲200分频器,计数处理控制模块,计数器溢出标志控制模块和输入门控选择控制模块;本发明专利技术应用FPGA设计计数器IP核硬连接控制电路,计数器IP核有15个16位计数器,其中14个能够组成7个32位计数器,一个命令字设置一个计数器的工作模式,计数滤波基准时钟分频倍数,工作状态控制;本发明专利技术除16位微处理器对计数器进行功能和状态设置、计数参数传输、读计数当前值操作之外,不占用16位微处理器程序执行时间;每个16位/32位计数器具有自动重新装载计数参数功能;能够满足数量众多计数器计数与计数控制系统的需求。
【技术实现步骤摘要】
本专利技术涉及一种与16位微处理器应用系统连接的计数器IP核及其实现计数器计 数控制的方法,尤其涉及一种基于FPGA并行处理的特点,应用FPGA设计硬连接电路组成的 能够与16位微处理器应用系统连接的计数器IP核及其实现计数器计数控制的方法。
技术介绍
在大规模计数控制或其它需要应用众多计数器的16位微处理器应用系统中,将 使用大量的计数器,扩展计数器个数有三种实现方式:第一种方式是应用微处理器中的一 个计数器的计数值作为基准计数值,采用计数中断方式编程,设置基准计数值的倍数变量, 该计数值倍数变量也是扩展计数器的标识变量,编程方法主要有2种,第1种方法是执行一 次计数器中断服务函数计数值倍数变量加1,并与设置的基准计数值的倍数值比较,如果计 数值倍数变量已达到设置的基准计数值的倍数值,对计数值倍数变量清〇,然后执行该扩展 计数器计数值溢出的程序;或专门设置一个扩展计数器的标识变量,当计数值倍数变量已 达到设置的基准计数值的倍数值时,对计数值倍数变量清〇,置1计数器的标识变量,在主 函数的程序中判断该计数器的标识变量是否为"1",如果是,则清0该计数器的标识变量, 执行一次该扩展计数器计数值溢出的处理函数;第二种方式是微处理器与计数器扩展芯片 连接扩展16位计数器; 以上二种实现方式存在如下不足之处: 1. 应用基准计数器的计数中断方法,CPU响应和退出基准计数器中断服务程序占用 CPU运行时间;基准计数值越小,计数器系统需要扩展的计数器越多,将占用CPU运行时间 越长,对其它程序模块的执行速度产生严重的影响; 2. 第二种方式采用微处理器外扩专用计数器芯片,所需的计数器越多,外扩专用计数 器芯片就越多,16位微处理器应用系统的电路规模就越大; 第三种方式是采用不可编程的硬件计数,其每个计数器用独立的硬件电路实现;采用 这种方式实现计数功能,所需的计数器越多,电路规模就越大,且维护工作量大。
技术实现思路
本专利技术的目的在于充分应用FPGA的并行处理功能,提供一种基于FPGA的与16位 微处理器应用系统连接的计数器IP核及其实现计数器计数控制的方法,计数器IP核内部 有15个16位计数器,也可以应用14个16位计数器设置成为7个32位计数器,每个16位 计数器或32位计数器能够输出溢出信号,能够编程设置门控信号控制计数器的工作,计数 器的工作模式,选择十六种计数输入脉冲的滤波参数,该计数器IP核只需要经过初始化编 程的一条命令设置每个计数器的工作运行方式,计数时间到产生计数溢出信号时,计数器 IP核能够自动重新装载计数参数;计数过程不占用16位微处理器程序执行的时间,能够实 现对数量多达15个16位计数器或1个16位计数器和7个32位计数器的计数与计数控制 等优点,以克服已有计数方式实现技术所存在的不足。 为解决上述技术问题,本专利技术采取的技术方案是:一种与16位微处理器应用系统 连接的计数器IP核,其特征在于:该计数器IP核包括数据输入输出与命令字分解存储控制 模块,脉冲200分频器,计数处理控制模块,计数器溢出标志控制模块,输入门控选择控制 丰吴块; 所述数据输入输出与命令字分解存储控制模块与16位微处理器应用系统、计数处理 控制模块、计数器溢出标志控制模块和输入门控选择控制模块连接; 所述脉冲200分频器还与16位微处理器应用系统和计数处理控制模块连接; 所述计数处理控制模块还与16位微处理器应用系统、计数器溢出标志控制模块和输 入门控选择控制模块连接; 所述数据输入输出与命令字分解存储控制模块在输入的片选信号为低电平的条件下, 如果写信号有效,按照16位微处理器应用系统给定的计数器或计数器命令字的地址,获得 计数器运行的工作模式分频倍数编码命令字,状态控制命令字,16位计数器或32位计数器 的计数参数,并按照计数参数、计数器编号、工作模式分频倍数编码和状态控制分别予以存 储和输出,还输出写工作模式分频倍数编码信号、写状态控制信号和写计数器参数信号;如 果读信号有效向16位微处理器应用系统传输计数器实时计数值; 所述脉冲200分频器对16位微处理器应用系统的时钟脉冲进行分频,其输出作为计数 处理控制模块的计数器计数控制操作的滤波基准时钟脉冲; 所述计数处理控制模块在写工作模式分频倍数编码信号的作用下,按照计数器编号存 储该计数器的工作模式,滤波基准时钟分频倍数的编码值;在写状态控制信号的作用下,按 照计数器编号存储该计数器的状态控制信号;在写计数器参数信号的作用下,按照计数器 编号存储该计数器的计数参数;所述计数处理控制模块在计数器IP核外部输入的计数处 理控制运行时钟脉冲CLK II的作用下,控制计数处理控制模块的运行,按照脉冲200分频 器输出的一个滤波基准时钟脉冲周期完成所有已启动计数器的一次处理,包括每个计数器 的状态控制处理,工作模式的判断处理,当滤波基准时钟的个数达到一个16位/32位计数 器所设置的滤波基准时钟倍数值时,从计数器IP核外部读入该计数器的计数输入信号,进 行一次滤波处理,如果判断是一次有效地计数脉冲,则对该计数器的实时计数参数值进行 加1操作,产生溢出时,对实时计数参数值自动重装载计数参数,并输出溢出标志信号;在 数据输入输出与命令字分解存储控制模块输入的片选信号为低电平的条件下,如果读信号 有效,按照16位微处理器应用系统给定的计数器的地址,直接读出该计数器的实时计数参 数值经数据输入输出与命令字分解存储控制模块传输到16位微处理器应用系统的数据总 线,一次能够读出16位计数器的实时计数参数,32位计数器的实时计数参数需要分时两 次予以读出;在16位微处理器应用系统输出的复位信号作用下,停止所有计数器的计数操 作; 所述计数器溢出标志控制模块输出16位/32位计数器的高电平为有效的溢出信号;计 数处理控制模块输出的16位计数器的溢出信号由低电平变换为高电平时,存储该计数器 溢出标志为高电平;如果该计数器溢出标志为高电平,清溢出标志由高电平转换为低电平, 存储该计数器溢出标志为低电平;在写工作模式分频倍数编码信号的作用下,计数器溢出 标志控制模块按照寄存器编号存储32位计数器工作模式的信息,封锁该32位计数器低16 位的溢出信息保持为低电平; 所述输入门控选择控制模块在写工作模式分频倍数编码信号作用下,按照计数器编号 存储该计数器的工作模式,根据该计数器工作模式所确定的门控功能要求和输入的门控电 平,控制输入门控选择控制模块输出的门控信号。 其进一步技术方案是:所述数据输入输出与命令字分解存储控制模块包括16位 双向数据选通三态门组,读写信号控制模块,计数参数寄存器,计数器编号寄存器,工作模 式分频倍数编码寄存器,状态控制寄存器; 所述16位双向数据选通三态门组分别与16位微处理器应用系统、读写信号控制模块、 计数参数寄存器、计数器编号寄存器,工作模式分频倍数编码寄存器,状态控制寄存器和计 数处理控制模块连接; 所述读写信号控制模块还与16位微处理器应用系统、计数参数寄存器、计数器编号寄 存器,工作模式分频倍数编码寄存器,状态控制寄存器、计数处理控制模块、计数器溢出标 志控制模块和输入门控选择控制模块连接; 所述计数参数寄存器还与计数处理控制模块本文档来自技高网...
【技术保护点】
一种与16位微处理器应用系统连接的计数器IP核,其特征在于:该计数器IP核包括数据输入输出与命令字分解存储控制模块(Ⅱ),脉冲200分频器(Ⅲ),计数处理控制模块(Ⅳ),计数器溢出标志控制模块(Ⅴ),输入门控选择控制模块(Ⅵ);所述数据输入输出与命令字分解存储控制模块(Ⅱ)与16位微处理器应用系统(Ⅰ)、计数处理控制模块(Ⅳ)、计数器溢出标志控制模块(Ⅴ)和输入门控选择控制模块(Ⅵ)连接;所述脉冲200分频器(Ⅲ)还与16位微处理器应用系统(Ⅰ)和计数处理控制模块(Ⅳ)连接;所述计数处理控制模块(Ⅳ)还与16位微处理器应用系统(Ⅰ)、计数器溢出标志控制模块(Ⅴ)和输入门控选择控制模块(Ⅵ)连接;所述数据输入输出与命令字分解存储控制模块(Ⅱ)在输入的片选信号为低电平的条件下,如果写信号有效,按照16位微处理器应用系统(Ⅰ)给定的计数器或计数器命令字的地址,获得计数器运行的工作模式分频倍数编码命令字,状态控制命令字,16位计数器或32位计数器的计数参数,并按照计数参数、计数器编号、工作模式分频倍数编码和状态控制分别予以存储和输出,还输出写工作模式分频倍数编码信号、写状态控制信号和写计数器参数信号;如果读信号有效向16位微处理器应用系统(Ⅰ)传输计数器实时计数值;所述脉冲200分频器(Ⅲ)对16位微处理器应用系统(Ⅰ)的时钟脉冲进行分频,其输出作为计数处理控制模块(Ⅳ)的计数器计数控制操作的滤波基准时钟脉冲;所述计数处理控制模块(Ⅳ)在写工作模式分频倍数编码信号的作用下,按照计数器编号存储该计数器的工作模式,滤波基准时钟分频倍数的编码值;在写状态控制信号的作用下,按照计数器编号存储该计数器的状态控制信号;在写计数器参数信号的作用下,按照计数器编号存储该计数器的计数参数;所述计数处理控制模块(Ⅳ)在计数器IP核外部输入的计数处理控制运行时钟脉冲CLKⅡ的作用下,控制计数处理控制模块(Ⅳ)的运行,按照脉冲200分频器(Ⅲ)输出的一个滤波基准时钟脉冲周期完成所有已启动计数器的一次处理,包括每个计数器的状态控制处理,工作模式的判断处理,当滤波基准时钟的个数达到一个16位/32位计数器所设置的滤波基准时钟倍数值时,从计数器IP核外部读入该计数器的计数输入信号,进行一次滤波处理,如果判断是一次有效地计数脉冲,则对该计数器的实时计数参数值进行加1操作,产生溢出时,对实时计数参数值自动重装载计数参数,并输出溢出标志信号;在数据输入输出与命令字分解存储控制模块(Ⅱ)输入的片选信号为低电平的条件下,如果读信号有效,按照16位微处理器应用系统(Ⅰ)给定的计数器的地址,直接读出该计数器的实时计数参数值经数据输入输出与命令字分解存储控制模块(Ⅱ)传输到16位微处理器应用系统(Ⅰ)的数据总线,一次能够读出16位计数器的实时计数参数,32位计数器的实时计数参数需要分时两次予以读出;在16位微处理器应用系统(Ⅰ)输出的复位信号作用下,停止所有计数器的计数操作;所述计数器溢出标志控制模块(Ⅴ)输出16位/32位计数器的高电平为有效的溢出信号;计数处理控制模块(Ⅳ)输出的16位计数器的溢出信号由低电平变换为高电平时,存储该计数器溢出标志为高电平;如果该计数器溢出标志为高电平,清溢出标志由高电平转换为低电平,存储该计数器溢出标志为低电平;在写工作模式分频倍数编码信号的作用下,计数器溢出标志控制模块(Ⅴ)按照寄存器编号存储32位计数器工作模式的信息,封锁该32位计数器低16位的溢出信息保持为低电平;所述输入门控选择控制模块(Ⅵ)在写工作模式分频倍数编码信号作用下,按照计数器编号存储该计数器的工作模式,根据该计数器工作模式所确定的门控功能要求和输入的门控电平,控制输入门控选择控制模块(Ⅵ)输出的门控信号。...
【技术特征摘要】
【专利技术属性】
技术研发人员:蔡启仲,潘绍明,柯宝中,李克俭,
申请(专利权)人:广西科技大学,
类型:发明
国别省市:广西;45
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。