微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 以MCS51为内核构造的单片集成系统

以MCS51为内核构造的单片集成系统

时间:06-29 来源:互联网 点击:

引言

随着电信市场的日益开放、竞争、运营商面蜊更大的压力,须提高投资回收效率,提高固定电话的ARPU值。中国移动推出出的短信息服务取得了很好的经济效果和社会效益,短信正以其特有的快捷和方便,影响着人们日常生活的许多方面。“固定电话信息化”和相关标准的出台,固定电话的厂商也推出类似的服务,从而实现传统电话的增值。

但固网短信存在两方面的“瓶颈”;在终端和内容上均有缺失。在终端方面是价格问题,应该考虑如何将价格降到用户可以接受的范围。

本系统就是针对这样的市场需求而设计。它需要1个满足系统要求的微处理器、1个大的字库来支持。同时,该芯片必须控制在一定面积下,以降低成本。

本文将着重介绍与MCS51兼容的微控制器的设计和DTMF解码中的数据处理。

1.3 外部中断的扩张

为了让系统能旧电故障等异常事件中断请求信号,保留了MCS51原来的两个外部中断源,同时增加了7个外部中断和相应的3个寄存器,分别用于锁存中断、屏蔽中断和对中断的优先级进行控制。如图3所示。

中断的实现,CPU在每一个机器周期预序检查每一个中断源,如果发现有中断请求且没有在处理相同或更高的优先级中断,CPU就处理该中断。先得相应的优先级状态位置位,然后捃一个硬件子程序。该子程序把中断处理程序的入口地址送到程序计数据。各中断源程序的入口地址如表1.中断处理程序从该地址开始一直执行到RETI指令为止,然后将相应的优先级级位清0.

表1 中断服务程序的入口地址

中 断 名 称中断入口
Fsk接收中断002B
Cas中断003B
Fsk发送中断003B
极性反转中断0043
摘机中断004B
门控时钟中断0053
看门狗中断005B

2 DTMF数据处理

DTMF解码数据处理主要完成两个功能,一是数据截取,一是DTMG解码。

2.1 数据截取

根据抽样速率和DTMG占空比及持续时间,可以对接收的数据进行截断。根据FFT的要求,前后两段数据之间应该有一定长度的公共部分。计算出截新的数据帧的长度为128字。为了减少面积,我们比较了几个方案。在不会出现溢出的情况下,最后采取了图4所示的设计方案。

数据截取由一个256字的双口RAM完成。复位时,对前32字清零。A/D采样的数据帧先放到写数据段1中,再放到写数据段2中,按照写数据段1和写数据段2交替写入数据。在每次写完一个数据段之后,产生一个数据改变脉冲。用来表明已完成1帧数据,可以进行数据读取,从而启动数据读取操作。

数据读取时,为了保证每次数据读取时与前后两段都有32字的公共部分,第一次从读数据段1中读出160字的数据,其前32字的数据为上一帧数据的最后32字的数据;下一次在读数据段2中读出160字的数据,然后两个数据段读出数据前后之间都有32字的共有数据。

2.2 DTMF解码

对于DTMF解码中用到的FFT,我们采用经典的Goertzel算法。其思想是利用简单的递归运算代替复杂的FFT运算,且只需要计算几个频率占上的值,大大简化了计算量,通过比较几个频率点上数值的大小和判断占空时间,就可确定发送的DTMG频率组合。为了减少设计中用到的乘法验证,在满足通信标准的前提下,将宽度降到12位。Goertzel算法的计算公式如下:

结语

该系统是一个典型的以MCS51为核心。加、DTMG以及门控时钟等外围电路组成的控制系统。我们采用自顶向下的设计方法。系统中所有功能模块均采用VHDL语言进行描述;用FPGA实现的集成系统替换原来的系统通过了功能测试。不但在可靠性上得到了提高,而且满足芯片面积的要求,达到降低成本的目的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top