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

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

但固网短信存在两方面的“瓶颈”;在终端和内容上均有缺失。在终端方面是价格问题,应该考虑如何将价格降到用户可以接受的范围。  
本系统就是针对这样的市场需求而设计。它需要1个满足系统要求的微处理器、1个大的字库来支持。同时,该芯片必须控制在一定面积下,以降低成本。  

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




1 与MCS51兼容的微控制器设计  

Intel MCS51系列是一种8位微处理器。外部程序与数据存储器的寻址范围可达到64K.MCS51有5个中断源,其中2个为外部中断源,每个中断源的优先级是可编程的。为了满足固网短信系统功能需求。主要对MCS51进行如下三方面的扩展。SFR扩展、存储器扩展,外部中断扩展。  

1.1 SFR扩展  

为了与MCS51兼容。把FSK、DTMF中的控制寄存器和状态寄存器MCS51的SFR统一编址。这样8051管理、控制、监视FSK、DTMF时,可将FSK、DTMF对应的地址看作是片内数据存储器的直接地址。因此,可以使用片内数据存储器相同的操作方法,不用增加指令来完成这些功能,这种结构的扩展可以看作是MCS51内部总线的扩张和把FSK、DTMF看成MCS51的两个扩展的内部模块,结构如图1所示。


  
1.2 存储器扩展  

因为固网系统需要一个庞大的字库来支持,所以MCS51的64KB存储能力是不够的。通过添加一个MMU模块,将CPU该存能力扩展到2MB。当CPU访问外部存储器时,先用16位的逻辑地址高位进行页表查询,得到相应的扩展地址,然后将扩展地址和逻辑地址的低位一起构成21位的物理地址,来完成对外部存储器的操作,数据通路如图2所示。  

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算法的计算公式如下:  


  
3 其它外围电路  

该系统除了MCS51.FSK、DTMG外,再加上门控时钟。看门狗、数字调制/解调等其它电路就构成了完整的以MCS51为核的单片集成系统。


  
门控时钟主要功能就是在系统工作时提供系统时钟;在系统空闲时,使系统处于下电状态,所有的时钟都关掉,所有的操作也就停止,直到系统被唤醒,这样就将系统功耗降低到最小值。  

看门电路是一个可编程的逻辑电路,它可以被用作系统监视器,也可以只作为一个简单的计时器。同时它的时间宽度可以通过编程来设成2 12、2 13、2 18或2 21个时钟宽度。  

结语  

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

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表