APP下载

多核DSP的多路同步时钟信号设计

2014-09-06汪安民韩道文

单片机与嵌入式系统应用 2014年5期
关键词:分频器倍频时钟

汪安民,韩道文

(1. 同方电子科技有限公司研究所,九江 332009;2. 解放军电子工程学院)



多核DSP的多路同步时钟信号设计

汪安民1,韩道文2

(1. 同方电子科技有限公司研究所,九江 332009;2. 解放军电子工程学院)

多核数字信号处理器(DSP)具有丰富的外设接口,每个外设接口具有各自独立的参考时钟。由于多核DSP具有较快的数据处理能力,对外设接口的时钟要求较高。当多个接口协同工作时,对时钟的同步要求较高。本文介绍了多核数字信号处理器TMS320C6678的时钟设计,通过时钟芯片CDCM6208提供多路不同工作频率的时钟信号到DSP,文中介绍了时钟芯片的初始化和设置以及详细的软硬件设计方法。

多核DSP;时钟;CDCM6208

引 言

多核处理器是最近快速发展的电子器件,单个芯片内集成了多个同构或者异构的处理器,使得其计算处理能力得到较大幅度的提高。DSP处理器由于其具有较高的数字处理能力,得到较广泛的应用。多核DSP芯片以目前性能较高的TMS320C66系列为例,其中TMS320C6678(以下简称C6678)含有8个处理器。这些处理器可以独立工作,也可以并行联合工作。当它们联合工作时,相互之间通信和握手就非常重要,尤其是在对时间要求较高的场合,时钟的稳定和同步就非常关键。时钟的稳定和同步对系统设计、时钟源、时钟分配、电路布线、时钟线屏蔽等都提出较高的要求。

本文利用CDCM6208时钟分配芯片,以此输出多路时钟,提供到8核DSP芯片C6678,提供出DSP核工作时钟、DDR3数据读写时钟、RapidIO和PCIe数据传输时钟、千兆网络加速器等时钟信号。文中介绍了详细的电路设计、时钟芯片配置以及多核DSP的配置,相关片内设备的初始化等。

1 C6678及其结构

C6678是TI公司多核处理器中的一款8核浮点型DSP,最高工作频率达到1.25 GHz,单核可以提供40 GMAC定点计算或者20G FLOP浮点计算能力,单个芯片可以提供320G MAC或者160G FLOP计算能力。C6678的片内结构如图1所示。

图1 C6678内部结构图

C6678的每个核具有32 KB的程序、32 KB的数据以及512 KB的2级Cache存储空间,芯片片内具有一个4 MB的共享SRAM。C6678具有DDR3控制器接口,可以外接DDR3,直接寻址范围达到8 GB。C6678的片内外设有RapidIO、PCIe、EMIF以及SPI、I2C总线等接口。这些接口通过片内的高速互联总线和各个处理器交互数据。

和网络相关的片内设备如图1右下角灰色模块所示,主要包括两个对外的SGMII接口、以太交换和网络交换模块,以及用于数据管理的安全加速器和包加速器,是为了快速检测数据的校验以及协议是否遵循网络标准,对于错误的数据直接丢弃,降低CPU的负担。为了加快网络和CPU的数据交换,片内的队列管理器用于管理网络包或者网络帧的缓存,分发等功能。这些数据都采用数据包DMA读/写,不需要CPU参与。

C6678的其他片内设备包括PLL、仿真口、信号量、电源管理和复位管理等模块。其中PLL配置CPU和外设的工作时钟;仿真口用于连接仿真器,实现对软件运行的监控;信号量实现对DSP/BIOS操作系统中信号量的控制;电源管理实现整个芯片电流电压的控制;复位管理配置启动的方式,硬复位进行全启动,软复位进行部分启动。

2 CDCM6208及其结构

CDCM62xx系列芯片是TI公司针对多核处理器专门开发的时钟产生、驱动和分配芯片。CDCM6208是该系列的第二代产品,相比于第一代CDCM6208的最大优点就是功耗大幅度降低,从第一代的2~3 W降低到0.5 W左右。而其功能、指标和体积没有弱化。CDCM6208有两路可选时钟输入,8路时钟输出。8路输出中的4路只能做整数倍分频,另外4路可以做小数倍分频,满足多核芯片的各种不同的时钟需求。8路时钟支持LVPECL、CML、HCSL以及LVDS信号电平,最大支持800 MHz的时钟频率,满足RapidIO和PCIe这些高速接口需求。时钟抖动小于265 fs。其控制可以通过标准的SPI或者I2S接口实现,非常方便灵活。TI公司提供针对该芯片专门开发的图形化控制软件,用户选择所要设置的时钟工作方式、输出频率等参数,该软件生成其内部寄存器的值,通过SPI或I2S接口写入就完成整个芯片的配置。

CDCM6208的内部结构如图2所示。从图中可以看出,可选两路时钟输入后,首先经过一个14倍频器,作为参考时钟驱动片内VCO产生时钟信号。为了提高时钟相位噪声,倍频后信号经过一个片内的滤波器,该滤波器可以由片内提供阻容电路设置。VCO时钟功分到两路预分频器,预分频器只能4、5或者6分频。预分频后时钟再次进入后期的分频器。每个预分频器功分到两个小数分频器和一个整数分频器。分频后信号驱动后输出。从图2右边输出可以看出,整数分频器输出的Y0和Y1两路时钟频率一样,Y2和Y3时钟频率一样。小数分频的Y4~Y7可以各自设置。CDCM6208的这种时钟配置限制了其应用,但好处是降低了功耗,目前这种配置满足绝大部分多核处理器的要求,尤其是TI公司的C66系列以及AK2系列多核DSP可以实现无缝连接。

图2 CDCM6208内部结构图

3 硬件设计

根据TMS320C6678的应用,所需要的时钟如图3所示。

图3 C6678的时钟信号

其主要时钟包括:①内核运行时钟,该时钟输入是100 MHz,DSP片内PLL将其锁定到工作频率,最高为1 GHz,最低为700 MHz。②RapioIO接口和HyperLink超级连接接口工作时钟,这两路时钟输入都为312.5 MHz,RapioIO倍频4、8、10、16,工作在1.25 GHz、2.5 GHz、3.125 GHz和5 GHz。HyperLink倍频到40、80、100、160,工作在12.5 GHz、25 GHz、31.25 GHz和50 GHz。③PCIe接口时钟和PA_SS网络加速器时钟,这两路时钟都是输入100 MHz,内部倍频后相应的工作时钟,满足各自接口传输时钟要求。④DDR3时钟,该时钟输入为66.667 MHz,倍频20或者25倍,工作在1333.33 MHz或者1666.7 MHz。这些时钟在DSP片内都各有独立的PLL电路设置,其工作原理和设置方法基本一致。图3中的单独25 MHz是专门为千兆网提供的工作时钟,由一个单独的晶体提供。C6678还提供一路时钟输出信号,默认输出为核时钟的1/6,图中为16.667 MHz,输出时钟可以检测C6678是否正常工作。

由于C6678的核时钟由CDCM6208提供,所以对CDCM6208的设置只能由另外一个处理器完成,只要该处理器具有SPI或者I2S接口即可。本文使用低功耗的DSP芯片C6747来实现多CDCM6208的设置。C6747和CDCM6208的接口如图4所示,采用标准4线制SPI接口控制,为了避免干扰提高传输可靠性,在SPI的片选信号的写信号分别上拉和下拉,这样在空闲下其引脚状态不会被干扰。在控制CDCM6208之前,需要对其进行复位,图中使用一个通用GPIO引脚控制,当CDCM6208配置成功后,会提供一个状态检测信号,该信号连接到C6747的GPIO引脚,用来判断是否正确配置。图中C6747还使用一个引脚控制CDCM6208的低功耗设置,当该引脚为高时,CDCM6208进入低功耗模式。

图4 C6747和CDCM6208的接口

4 软件设计

由于系统采用C6747控制CDCM6208时钟信号,所以C6747的软件是系统整个初始化的关键,C6747的初始化软件主要包括对CDCM6208的复位、配置和检测以及对C6678的复位、C6678外挂Flash的复位等工作。整个系统的软件流程如图5所示。

图5 软件流程

上电启动后,C6747软件加载成功后,复位CDCM6208,为确保复位成功,C6747要等待10 ms才能通过SPI接口配置CDCM6208。配置完成后,C6747可以查询CDCM6208的状态输出引脚,检测是否配置成功。如果配置失败,重复复位、配置、检测这几个步骤。配置成功后,表明CDCM6208已经输出准备时钟到C6678,但在此之前,C6678仍然处于复位状态。由于C6678的程序保存在片外Flash中。所以,C6747要首先复位Flash,等待其复位后,再复位C6678,查询C6678的输出状态,确定C6678是否正常工作。如果输出不正常,仍然重复复位Flash、复位C6678和检测这几个步骤,直到初始化成功。

结 语

[1] 丁有源,汪安民.基于多核任务并行处理的DSP软硬件设计[J].单片机与嵌入式系统应用,2012(5).

[2] Texas Instruments Inc. Clocking Design Guide for KeyStone Devices,2012.

[3] Texas Instruments Inc. 2:8 Clock Generator, Jitter Cleaner With Fractional Dividers (Rev. D) CDCD6208 Datasheet,2012.

Synchronous Multi-clocks Based on Multicore DSP

Wang Anmin1, Han Daowen2

(1. Research of Tongfang Science and Technology Ltd., Jiujiang 332009, China ;2. Electronic Engineering Institute of PLA)

These are many interfaces on multicore DSP, and each clock should be set independently. Higher frequency and steadiness is required for these clocks to fit the multicore DSP. These clocks are originated from one high precision reference clock. TMS320C6678 clock design is introduced, getting diversified clock based on CDCM6208. The paper introduces how to set CDCM6208, and the design of hardware and software is described.

multicore DSP;clock;CDCM6208

TP336

A

2013-11-22)

猜你喜欢

分频器倍频时钟
一种基于0.18μm SiGe工艺的8GHz前置分频器
高频、低相噪、双模分频器设计
别样的“时钟”
古代的时钟
一种面向高精度锁相环的小数分频器设计*
基于微波倍频源太赫兹频段雷达散射截面测量
有趣的时钟
KDP晶体三倍频晶面微观力学行为及加工性能
时钟会开“花”
脉冲单频Nd∶YVO4激光器及其倍频输出特性研究