司用静态CMOS技术集成的DSP芯片,属于TMS320C2000系列。这是一种低功耗器件,采用了改进的哈佛结构,有1条程序总线和3条数据总线,有高度并行性的算术逻辑单元ALU、专用硬件逻辑、片内存储器、片内外设和高度专业化的指令集,从而使该芯片速度高、操作灵活。TMS320F206有224K的寻址能力、3个外部中断、1个同步串口和一个异步串口,最高时钟为40MHz。由于每秒需处理数据2Mbit,每个符号采样两次,所以实际数据速率是4Mbps。通过其算法来估计其运算量,40MIPS的处理能力完全可以满足其要求。在设计中使用了1个外部中断,一个异步串口。异步串口和PC机的串口相连接,将DSP计算结果送回到PC机显示。
时钟记数模块
该模块主要作用有以下几个:
①对二分频后的2MHz时钟信号用100MHz的时钟进行记数;
②用100MHz时钟对2MHz信号记数,产生误差脉冲;
③对展宽后的误差脉冲用100MHz的时钟进行记数;
④产生与数据存储模块接口的写时钟和写使能信号;
⑤将2MHz的记数值和展宽的误差脉冲记数值通过一路8位的数据总线分时输出。
此模块的设计主要是用一块XILINX公司的CPLD XC95108来完成的。
脉冲展宽模块
脉冲展宽模块是为了提高测试抖动的精度,这是本设计中非常关键的一个模块。本设计测试抖动其实就是精确地测试出每个周期的时间,只有测试的时间精度提高,最终测试抖动才能达到要求的精度。若无脉冲展宽电路,仅用100MHz的时钟记数的话,则单个周期的测时的最大误差将会是20ns,这样根本无法满足抖动测试的精度要求。
为了测出小于度量单位的一个物理量的值,我们很容易地想到只要将该物理量放大一个固定的倍数后,使该放大后的物理量可测,此时只要测出该物理量后除以该放大倍数,即可得到原先的物理量的值。该模块的设计就利用了这样的思路。具体是利用LM234产生两个恒流源,分别做为一个电容的充电电流和放电电流。利用充放电电流的不同产生斜率不同的充电曲线,再与一参考电压进行比较,即可得到一展宽的脉冲。具体的脉冲展宽电路是用两个三级管完成充放电工作和比较电路。三级管的型号是2SC3357,2SC3357是高频三级管,其工作频率可达到2GHz。选用高频三级管对此设计相当重要,因为要测的误差脉冲其时间只有几个ns。
数据存储模块
数据存储模块主要是作为时钟记数模块所记数据的缓冲器,在时钟记数模块和数据处理模块之间充当接口。正如前面所介绍的,选用了一片选进先出(FIFO)芯片,型号是IDT72230。此型号的FIFO具有2K×8的存储空间。在FIFO的数据全满后,由IDT72230的FF(全满标志引脚)向数据处理模块发送中断请求信号。而数据处理模块中的DSP会从FIFO中将这2K数据读出来。
数据处理模块
数据处理模块以DSP为核心,来对记数器记得的值进行处理,最终算得Jitter的值。DSP中用到了中断口IT1,当FIFO满时,从FIFO中读出2K个数据。而DSP与外部的通信则用的是异步串口。
调试
由于系统工作于较高的频率,计数器为100MHz,DSP为40MHz,DSP的外围设备一般为20MHz,最高为40MHz,因而在系统设计中,必须注意高频影响。
在布线时,特意把数据和地址成组布线,以降低对其它信号的影响。对一些关键的控制线。如存储器读写信号和FIFO读写信号,在其两边都加上了地线保护特别是FIFO的读写信号,由于其对干扰特别敏感。对一些较长的引线,可串接一个30Ω的小电阻或加终端匹配以减小反射。
在软件设计中,采用C语言和汇编语言混合编程。具体的编程方法可查阅DSP的手册。TI公司还提供了一个运行库(RuntimeLib)。用TI公司的JATG调试器进行调试时,在DSP程序中调用运行库的函数,可以打开PC机上的文件获取数据,或将DSP的数据传入PC机并存入文件,或通过PC机键盘向DSP传递信息和发送命令,从而为调试带来了极大的方便。
由于在本设计中采用了DSP技术,使得开发的周期大为缩减,系统的灵活性也大大增强。随着数字处理芯片(DSP)处理速率的加快,外围通讯能力的加强,以及数字信号处理的实时性的需要,其应用范围必将越来越广泛。
发布者:小宇