立即注册
查看: 533|回复: 3

[资料] 基于FPGA的高速计数器设计

已绑定手机
发表于 2023-5-31 17:56:19 | 显示全部楼层 |阅读模式 来自 广东省深圳市
高速计数器HSC High Speed Counter)用来累计比PLC扫描频率高得多的脉冲输入,利用其产生的中断事件完成预定的操作,在现代自动控制领域中有着重要的应用价值。本文介绍一种利用FPGA设计的16位高速计数器,有15种工作模式,其计数频率可达100kHz以上,在工业控制器中具有较大的应用价值。考虑到计数器的多工作模式,在VHDL语言程序设计中,采用层次化设计的方式。
2  高速计数器的顶层设计
高速计数器的设计中主要考虑了以下几方面的
问题:①双方向计数,即加法计数和减法计数。②复位功能,内部控制或外部控制。③启动功能,内部控制或外部控制。④初值装载,在内部启动信号控制下同步装入初值。⑤计数位数,16位。⑥工作频率大于100kHz。⑦时钟功能,单时钟、加时钟和减时钟、相位差90°的1×和4×方式AB时钟。⑧中断信号,溢出中断、计数转向中断和外部复位中断。⑨接口方式,8位数据总线等。其顶层设计的结构框图如图1所示。在图1中,MCU控制器接口电路,主要完成与MCU的接口控制,其内部的控制寄存器cwd各位实现对HSC工作模式的控制,计数初值寄存器conf0、conf1用于寄存16位计数初值,计数值寄存器cou0、coul主要用于存放当前的计数值,预置计数值寄存器comf0、comf1用于存放预置计数值,当预置值等于计数值时,预置值比较器中断信号coint=0,使中断寄存器intc的D3位置1,同时外部中断标志位int为0,产生外部中断请求;i0、i1、i2、i3为4个计数脉冲输入端;高速计数模块为整个设计的核心。


图! 高速计数器的顶层设计图

图! 高速计数器的顶层设计图


图1 高速计数器的顶层设计图


3  高速计数器的第二层设计
在高速计数器的第二层设计中,主要完成对16位计数器工作模式的控制,其设计结构框图如图2所示。它主要由16位计数器模块PO和各控制模块P1、P2、P3、P4、P5、P6等组成。

图2 高速计数器的第二层设计图.png

图2 高速计数器的第二层设计图

3.1  各端口特性及计数模式
3.1.1  端口特性
在图2中,各端口信号的特性如下:
①计数器的时钟信号clock,上升沿有效。
②计数输入控制信号a0、a1、a2、a3,对应计数器的输入端i0、i1、i2、i3。
③计数方向控制信号fx,对应于状态控制寄存器cwd的D6位,为计数器工作在0~2模式时的方向位,fx=1加法计数,fx=0减法计数。
④时钟使能信号cpn,对应于状态控制寄存器cwd的D7位,cpn=1,时钟有效,cpn=0,时钟无效,用于控制计数器的启动和停止。
⑤A、B相计数模式的选择位se,对应于状态控制寄存器cwd的D5位,用于在9~10工作模式中选择1×模式和4×模式,se=1时4×模式,se=0时1×模式。
⑥计数模式选择字4位)cw,对应于状态控制寄存器cwd的D3D2D1D0位,其工作模式与模式选择字的关系如表1所示。
⑦计数器计数初值couf0,coufl,为2×8位计数器的计数初值输入端。
⑧计数器溢出中断标志位ovint,ovint=0表明计数器满值 如计数)和零值  减计数)。
⑨计数方向改变中断标志位fxint,fxint=0表明计数方向改变。
⑩系统复位中断标志reint,reint=0系统复位。
⑪计数器计数值q0、q1,为2×8位当前计数值输出端。

3.1.2  计数器工作模式
在状态控制字cwd低4位码D3D2D1D0的控制下,计数器有12种工作模式。工作模式如表1所示。
表1  计数器的工作模式

表1 计数器的工作模式

表1 计数器的工作模式


游客,如果您要查看本帖隐藏内容请回复



已绑定手机
发表于 2023-6-9 08:53:57 | 显示全部楼层 来自 广东省深圳市
谢谢资料分享。。。。。。。。。。。。。
已绑定手机
发表于 2023-7-12 09:04:49 | 显示全部楼层 来自 广东省深圳市
谢谢资料分享。。。。。。。。。。
已绑定手机
发表于 2023-7-24 17:40:05 | 显示全部楼层 来自 北京市
学习学习!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
微信客服扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表