- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可变分频器实验
预备知识
CPLD的基本编程技术;
预习Altera公司CPLD器件的结构、编程过程;
实验目的
可变分频器实现的基本方法;
可变分频器的输出占空比的控制方法;
实验仪器
JH5001型通信原理实验箱 一台;
MaxplusII开发环境 一台;
JTAG下载电缆 一根;
CPLD下载板 一块;
微机 一台;
示波器 一台;
实验原理
目前可变分频器大量使用在FPGA的电路设计中,它是一般电路设计不可缺少的组成部分,如频率合成器、时钟信号产生器、调制解调器的位定时恢复等电路。
下面给出一种可变分频器的实现方法:一般分频器是通过计数器完成,计数器的范围为0~(N-1),这里N为分频数。当计数器达到(N-1)时,对计数器进行复位,进入下一轮计数。通过改变N的大小,从而达到可变分频计数的目的,其结构如下图所示。
对于可变计数器的输出,一般尽量输出占空比为50%的方波信号。这是通过判决电路实现的:当计数器计数小于N/2时输出为1,其它为0。
注意:该实验在复接模块中完成
课题设计要求
在输入时钟为256KHz时,可在外部跳线器的控制下改变分频比,在程序中定义的几个变量为:
Main_CLK:输入 256KHz 主时钟;
Mode[1..0]:控制分频模式;
Counter_Out:分频器输出;
当 Mode[]=0:分频比为213;
当 Mode[]=1:分频比为187;
当 Mode[]=2:分频比为156;
当 Mode[]=3:分频比为15;
说明:
Mode[1..0]与复接模块的m_sel0、m_sel1相连;
Counter_Out在TPB01输出;
实验步骤
将JH5001二次开发光盘内的基本程序Counter.tdf及其它相关程序(在光盘的“2th\student_Counter”子目录下)拷入机器内,它为学生准备了基本的程序框架(变量定义、主程序入口,这些工作将便于老师对学生的程序进行检查)。注意,在Counter.acf文件中所有定义不要改动,特别是管脚定义、器件定义,否则会损坏器件。
在MaxplusII开发环境下,打开工程文件Counter.tdf。
学生参照实验原理在Counter.tdf文件中完成可变分频器的设计,并在计算机上完成仿真。经老师检查合格后,进入下一步:在下载板上烧录相应的器件。
将下载电缆的JTAG接口与下载板的双排针相连,注意连接方向(如果连接反了的话,可能会损坏器件,在操作上需小心)。下载板上的电源不能接反,其红线接+5V,黑线接地。加电,在MaxplusII环境下完成对CPLD的编程。
将JH5001复接模块上的UB01拔下,注意不要损伤管脚(该步骤一般最好由老师进行)。
将编程好的EPM7064器件插入实验箱上的UB01插座中进行功能检查。若不正确,重返步骤1进行。若正确则实验完成。
实验完成后将原来的器件插回原座中,复原JH5001实验箱。
需检查的功能
输入与输出时钟的分频关系;
在复接模块的m_sel0、m_sel1的控制下改变分频比;
计数器输出为方波信号(接近50%);
学生用程序
TITLE Counter;
SUBDESIGN Counter
(
%pcm input%
FSX_PCM,BCLKT,DT_PCM :INPUT;
%m sequence%
m_Sequence :INPUT;
%SW input%
SW[7..0] :INPUT;
%control mode%
Error_SEL[1..0] :INPUT;
%MUX output%
MUX_DT :OUTPUT;
MUX_CLK :INPUT;
Error_ind :OUTPUT;
%Test m sequence%
m_SEL[1..0] :INPUT;
m_test :OUTPUT;
Frame_Ind :OUTPUT;
)
VARIABLE
Main_CLK :LCELL;
Counter[7..0] :DFF;
Mode[1..0] :LCELL;
Counter_Out :LCELL;
%students pust defined variables at here%
学生定义的变量放在这里!
BEGIN
Main_CLK=MUX_CLK;
Mode[]=M_SEL[];
%
INPUT:
Main_CLK: input 256KHz clock
Mode[1..0]: Control counter mode
Counter_Out: Co
文档评论(0)