




免费预览已结束,剩余24页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专题二 经典模块设计 分频器设计 专题内容 1 分频器的原理2 二进制分频器的设计3 偶数分频器的设计4 奇数分频器的设计5 占空比可调的分频器的设计6 小数分频器的设计 1 分频器的原理 分频器就是对较高频率的信号进行分频 得到较低频率的信号 常见的分频器有二进制分频器 偶数分频器 奇数分频器 占空比可调的分频器和小数分频器 分频系数 倍率 rate fin fout 2 二进制分频器的设计 二进制分频就是对输入时钟进行2的整数次幂分频 设计原理 rate 2N N是整数 定义一个N位的计数器 对输入的时钟脉冲进行计数 计数结果的第N 1位就是对输入时钟的2的N次幂分频 将相应的位数取出即可得到分频时钟 二进制分频器的VHDL源程序 Libraryieee Useieee std logic 1164 all Useieee std logic unsigned all Useieee std logic arith all Entityfdivisgeneric N integer 3 rate 2N N为正整数port clkin INstd logic clkout OUTstd logic Endfdiv Architectureaoffdivissignalcnt std logic vector N 1downto0 Beginprocess clkin beginif clkin eventandclkin 1 thencnt cnt 1 endif endprocess clkout cnt N 1 Enda 仿真结果 从波形图可以看到 clkout是clkin的8分频 也就是2的3次幂分频 如果要产生其他次幂分频 直接修改generic类属变量参数即可 3 偶数分频器的设计 rate even 偶数 占空比50 设计原理 定义一个计数器对输入时钟进行计数 在计数的前一半时间里 输出高电平 在计数的后一半时间里 输出低电平 这样输出的信号就是占空比为50 的偶数分频信号 例如 6分频 计数值为0 2输出高电平 计数值为3 5输出低电平 偶数分频器的VHDL源程序 1 Libraryieee Useieee std logic 1164 all Useieee std logic unsigned all Useieee std logic arith all Entityfdivisgeneric N integer 6 rate N N是偶数port clkin INstd logic clkout OUTstd logic Endfdiv Architectureaoffdivissignalcnt integerrange0ton 1 Beginprocess clkin 计数beginif clkin eventandclkin 1 thenif cnt n 1 thencnt cnt 1 elsecnt 0 endif endif endprocess process cnt 根据计数值 控制输出时钟脉冲的高 低电平beginif cnt n 2 thenclkout 1 elseclkout 0 endif endprocess Enda 偶数分频器的VHDL源程序 2 Libraryieee Useieee std logic 1164 all Useieee std logic unsigned all Useieee std logic arith all Entityfdivisgeneric N integer 6 rate N N是偶数port clkin INstd logic clkout OUTstd logic Endfdiv Architectureaoffdivissignalcnt integerrange0ton 2 1 signaltemp std logic Beginprocess clkin beginif clkin eventandclkin 1 thenif cnt n 2 1 thencnt 0 temp NOTtemp elsecnt cnt 1 endif endif endprocess clkout temp Enda 仿真结果 从波形图可以看到 clkout是clkin的6分频 如果要产生其他分频 直接修改generic类属变量参数即可 4 奇数分频器的设计 rate odd 奇数 占空比50 设计原理 定义两个计数器 分别对输入时钟的上升沿和下降沿进行计数 然后把这两个计数值输入一个组合逻辑 用其控制输出时钟的电平 这是因为计数值为奇数 占空比为50 前半个和后半个周期所包含的不是整数个clkin的周期 例如 5分频 前半个周期包含2 5个clkin周期 后半个周期包含2 5个clkin周期 奇数分频器的VHDL源程序 Libraryieee Useieee std logic 1164 all Useieee std logic unsigned all Useieee std logic arith all Entityfdivisgeneric N integer 5 rate N N是奇数port clkin INstd logic clkout OUTstd logic Endfdiv architectureaoffdivissignalcnt1 cnt2 integerrange0toN 1 beginprocess clkin beginif clkin eventandclkin 1 then 上升沿计数if cnt1 N 1 thencnt1 cnt1 1 elsecnt1 0 endif endif endprocess process clkin beginif clkin eventandclkin 0 then 下降沿计数if cnt2 N 1 thencnt2 cnt2 1 elsecnt2 0 endif endif endprocess clkout 1 whencnt1 N 1 2orcnt2 N 1 2else 0 enda 仿真结果 从波形图可以看到 clkout是clkin的5分频 如果要产生其他分频 直接修改generic类属变量参数即可 5 占空比可调的分频器的设计 占空比为m n设计原理 定义一个计数器 对输入时钟脉冲进行计数 根据计数值来判断输出高电平还是低电平 例如 占空比为3 10的偶数分频器 当计数值为0 2时 输出高电平 当计数值为3 9时 输出低电平 占空比可调的分频器VHDL源程序 Libraryieee Useieee std logic 1164 all Useieee std logic unsigned all Useieee std logic arith all Entityfdivisgeneric n integer 10 m integer 3 占空比m n rate n port clkin INstd logic clkout OUTstd logic Endfdiv architectureaoffdivissignalcnt integerrange0ton 1 beginprocess clkin beginif clkin eventandclkin 1 thenif cnt n 1 thencnt cnt 1 elsecnt 0 endif endif endprocess clkout 1 whencnt melse 0 enda 仿真结果 从波形图可以看到 clkout是clkin的10分频 且占空比为3 10 如果要产生其他分频 直接修改generic类属变量参数即可 6 小数分频器的设计 时钟源与用户所需的频率不成整数倍关系 此时可采用小数分频器进行分频 比如 分频系数为2 5 3 5等半整数分频器 设计原理 先设计两个不同分频比的整数分频器 然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值 例如 10 1分频 可以设计出9次10分频 1次11分频 这样总的分频值为 F 9 10 1 11 9 1 10 1这种实现方法 由于分频器的分频值不断改变 因此分频后得到的信号抖动较大 实际应用中不常用 而当分频系数为N 0 5时 可控制扣除脉冲的时间 而不是一次N分频 一次N 1分频 这样可以得到一个稳定的脉冲频率 半整数分频器 N 0 5 的设计框图 分频系数为N 0 5的半整数分频器电路可由一个异或门 一个模N计数器和一个二分频组成 半整数分频器VHDL源程序 libraryieee useieee std logic 1164 all useieee std logic unsigned all useieee std logic arith all ENTITYfdivISgeneric N integer 5 分频系数N 0 5PORT clkin INSTD LOGIC 时钟源clkout BUFFERSTD LOGIC 输出时钟 ENDfdiv ARCHITECTUREaOFfdivISSIGNALclk div2 STD LOGIC SIGNALcount integerrange0toN 1 BEGINclk clkinXORdiv2 clkin与div2异或后作为模N计数器的时钟PROCESS clk BEGINIF clk eventANDclk 1 THENIF count 0 THENcount N 1 置整数分频值Nclkout 1 ELSEcount count 1 模N计数器减法计数clkout 0 ENDIF ENDIF ENDPROCESS PROCESS clkout BEGINIF clkout eventANDclkout 1 THENdiv2 NOTdiv2 输出时钟二分频ENDIF ENDPROCESS ENDa 仿真结果 从波形图可以看到 clkout是clkin的4 5分频 如果要产生其他分频 直接修改generic类属变量参数即可 任意整数分频 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYPULSEISPORT CLK INSTD LOGIC D INSTD LOGIC VECTOR 7DOWNTO0 FOUT OUTSTD LOGIC END ARCHITECTUREoneOFPULSEISSIGNALFULL STD LOGIC 中间信号 溢出标志信号FULLBEGINP REG PROCESS CLK VARIABLECNT8 STD LOGIC VECTOR 7DOWNTO0 BEGINIFCLK EVENTANDCLK 1 THENIFCNT8 11111111 THENCNT8 D 当CNT8计数计满时 输入数据D被同步预置给计数器CNT8FULL 1 同时使溢出标志信号FULL输出为高电平ELSECNT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南丹县农业机械化服务中心招募特聘农技员的通知(1人)笔试备考试题及1套参考答案详解
- 2025年度中国地质调查局自然资源综合调查指挥中心招聘社会在职人笔试备考试题及答案详解参考
- 2024安全监察人员通关题库【考试直接用】附答案详解
- 2023年度江苏安全技术职业学院单招《语文》考前冲刺练习含答案详解【轻巧夺冠】
- 2025年迪庆州中级人民法院聘用制书记员及聘用制辅警招聘笔试模拟试题及参考答案详解一套
- 2025年怀化市溆浦县事业单位招聘65人笔试高频难、易错点备考题库及完整答案详解1套
- 年度安全生产演练培训课件
- 子宫内膜癌腹水转移课件
- 年度安全培训正式文件课件
- 年度安全培训依据课件
- 体育与健康教学设计《手倒立前滚翻》
- NISP一级考前模拟训练题库200题(含答案)
- JJG 20-2001标准玻璃量器
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 《大数据平台部署与运维》课程标准(含课程思政)
- 英语中的时间表达(示范课例)
- 项目产品研发各阶段质量控制输出文件
- 脊柱外科进修汇报
- 《史记》上册注音版
- 苏州大学文学院语言学纲要课程笔记
- 危重症患者护理文书书写规范-课件
评论
0/150
提交评论