- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电话通信系统中信号音的产生及其实现
设计目的
1.掌握CPLD可编程器件的编程和下载方法。
2.熟悉用CPLD可编程器件产生程控交换中信令信号的方法。
3.从设计中掌握一些基本技巧,提高自己的动手能力以及发现问题解决问题的能力。
设计要求
利用可编程器件CPLD对系统的全局时钟信号进行分频,产生程控交换系统中电话交换的4种信号音:
拨号音:连续发送的500Hz信号。
回铃音:1秒通,4秒断的5秒断续的500Hz信号。
忙音:0.35秒通,0.35秒断的0.7秒断续的500Hz信号。
振铃信号(铃流):以0.2秒通,0.2秒断,以0.2秒通,0.6秒断的1.2秒断续方式发送。
通过软件编程及仿真,正确实现以上四种信号音的发生,最终下载,并用示波器观察波形,验证程序及产生信号音的正确性。
设计原理
设计中我们用到的开发系统主频为50MHz,因设计要求产生500Hz及25Hz的信号音,故我们首先考虑把50MHz的主频进行分频。那么首先我们将50MHz的主频信号分频为500Hz,再将信号再次分频为25Hz。至此我们就可以容易地得到连续发送的500Hz的拨号音信号。那么要得到1s通4s断的5s断续的500Hz回铃音,首先我们要产生一个1s通4s断的矩形波,再将产生的信号与500Hz方波信号进行相与运算,那么得到的信号就是1s通4s断的5s断续的500Hz信号了。同理,要产生0.35s通,0.35s断的0.7s断续的500Hz忙音信号,就要首先产生一个0.35s通,0.35s断的方波信号,将之与500Hz方波信号相与就能实现;要产生1s通,4s断的5s断续方式发送的振铃音信号,那么首先需要将已产生的500Hz方波信号分频成10Hz,再将其与0.2s通,0.2s断,0.2s通,0.6s断的矩形波进行与运算,这样就能产生所需要的振铃音了。总而言之,此设计的要点就是如何把主频50MHz分频为500Hz,20Hz,10Hz,1Hz的方波及1s通,4s断的矩形波。只要将以上不同频率不同占空比的方波从主频分频产生,那么这个设计就能成功地实现。
调试及下载
有了设计方案,那么我们利用Quartus II这个软件设计平台,对设计方案进行程序设计,首先我们要产生一个500Hz的方波信号,因开发板的主频为50MHz,根据计算我们需对开发板主频进行100000分频,那么我们就可以得到500Hz方波了,再对所得方波进行25分频就很容得到20Hz的方波,再对500Hz方波进行50分频得到10Hz的方波,并对500Hz方波进行500分频得到1Hz的方波,再对所得1Hz信号进行计数翻转,便能得到1s通4s断的断续信号,对所得10Hz信号进行计数翻转,便能得到0.2秒送,0.2秒断,0.2秒送,0.6秒断的1.2秒不等间隔断续的信号,对所得20Hz信号进行计数翻转,便能得到0.35秒送,0.35秒断的0.7秒断续的信号,至此所有所需信号都已产生,再将对应信号相与并赋给相应输出信号,那么我们就可以从示波器上观察到设计要求中的4个信号音了。
程序设计如下:
1、分频程序:
PROCESS(CLK)--500HZ (50MHZ主频分频为500HZ)
VARIABLE COUNT1:INTEGER RANGE 0 TO 99999:=0;
BEGIN
IF RISING_EDGE(CLK)THEN
IF COUNT1=99999 THEN CLK500HZ=1;COUNT1:=0;
ELSIF COUNT150000 THEN CLK500HZ=0;COUNT1:=COUNT1+1;
ELSIF COUNT199999 THEN CLK500HZ=1;COUNT1:=COUNT1+1;
END IF;
END IF;
END PROCESS;
PROCESS(CLK500HZ)--20HZ (500HZ继续分频为20HZ)
VARIABLE COUNT2:INTEGER RANGE 0 TO 24:=0;
BEGIN
IF RISING_EDGE(CLK500HZ)THEN
IF COUNT2=24 THEN CLK20HZ=1;COUNT2:=0;
ELSIF COUNT213 THEN CLK20HZ=0;COUNT2:=COUNT2+1;
ELSIF COUNT224 THEN CLK20HZ=1;COUNT2:=COUNT2+1;
END IF;
END IF;
END PROCESS;
PROCESS(CLK500HZ)--10HZ (500HZ继续分频为10HZ)
VARIABLE COUNT3:INTEGER RANGE 0 TO 49:=0;
BEGIN
IF RISING_E
您可能关注的文档
最近下载
- 老头子做事总是对.docx VIP
- 国开小学语文教学研究-0021-期末机考复习资料.docx
- 2023年度选聘招标代理机构项目招标文件.doc
- 人教版九年级英语Unit 7 Teenagers should be allowed to choose their own clothes核心素养单元大单元教学设计.pdf
- 小学一年级数学上册期末考试试卷(人教版).doc VIP
- 云安全题库附有答案.docx
- 第19课 太阳与影子(教学课件)四年级科学上册(冀人版).pptx
- 统编版九年级道德与法治下册第二单元 世界舞台上的中国 大单元教学设计.docx
- 室内项目-HPA海波建筑设计.PDF VIP
- 大数据背景下企业财务管理的现状与对策.docx VIP
文档评论(0)