新闻中心

EEPW首页>嵌入式系统>设计应用> 以MCS51为内核构造的单片集成系统

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

作者: 时间:2012-06-29 来源:网络 收藏

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

结语

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


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭