摘要:多核数字信号处理器(DSP)具有丰厚的外设接口,每个外设接口具有各自独立的参阅时钟。因为多核DSP具有较快的数据处理才干,对外设接口的时钟要求较高。当多个接口协同作业时,对时钟的同步要求较高。本文介绍了多核数字信号处理器丁MS320C6678的时钟规划,经过时钟芯片CDCM6208供给多路不同作业频率的时钟信号到DSP,文中介绍了时钟芯片的初始化和设置以及具体的软硬件规划办法。
导言
多核处理器是最近快速开展的电子器件,单个芯片内集成了多个同构或许异构的处理器,使得其核算处理才干得到较大起伏的进步。DSP处理器因为其具有较高的数字处理才干,得到较广泛的运用。多核DSP芯片以现在功用较高的TMS320C66系列为例,其间TMS320C6678(以下简称C6678)含有8个处理器。这些处理器能够独立作业,也能够并行联合作业。当它们联合作业时,相互之间通讯和握手就十分重要,尤其是在对时刻要求较高的场合,时钟的安稳和同步就十分要害。时钟的安稳和同步对体系规划、时钟源、时钟分配、电路布线、时钟线屏蔽等都提出较高的要求。
本文运用CDCM6208时钟分配芯片,以此输出多路时钟,供给到8核DSP芯片C6678,供给出DSP核作业时钟、DDR3数据读写时钟、RapidIO和PCIe数据传输时钟、千兆网络加速器等时钟信号。文中介绍了具体的电路规划、时钟芯片装备以及多核DSP的装备,相关片内设备的初始化等。
1 C6678及其结构
C6678是TI公司多核处理器中的一款8核浮点型DSP,最高作业频率到达1.25 GHz,单核能够供给40GMAC定点核算或许20G FLOP浮点核算才干,单个芯片能够供给320G MAC或许160G FLOP核算才干。C6678的片内结构如图1所示。
C6678的每个核具有32 KB的程序、32 KB的数据以及512 KB的2级Cache存储空间,芯片片内具有一个4MB的同享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能够完结无缝衔接。
3 硬件规划
依据TMS320C6678的运用,所需求的时钟如图3所示。
其首要时钟包含:①内核运转时钟,该时钟输入是100 MHz,DSP片内PLL将其确认到作业频率,最高为1GHz,最低为700 MHz。②RapioIO接口和HyperLink超级衔接接口作业时钟,这两路时钟输入都为312.5MHz,RapioIO倍频4、8、10、16,作业在1.25 GHz、2.5GHz、3.125 GHz和5 GHz。HyperLink倍频到40、80、100、160,作业在12.5 GHz、25 GHz、31.25 GHz和50 GHz。
③PCIe接口时钟和PA_SS网络加速器时钟,这两路时钟都是输入100MHz,内部倍频后相应的作业时钟,满意各自接口传输时钟要求。④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时钟信号,所以C6747的软件是体系整个初始化的要害,C6747的初始化软件首要包含对CDCM6208的复位、装备和检测以及对C6678的复位、C6678外挂Flash的复位等作业。整个体系的软件流程如图5所示。
上电发动后,C6747软件加载成功后,复位CDCM6208,为保证复位成功,C6747要等候10 ms才干经过SPI接口装备CDCM6208。装备完结后,C6747能够查询CDCM6208的状况输出引脚,检测是否装备成功。假如装备失利,重复复位、装备、检测这几个过程。装备成功后,标明CDCM6208现已输出预备时钟到C6678,但在此之前,C6678依然处于复位状况。因为C6678的程序保存在片外Flash中。所以,C6747要首要复位Flash,等候其复位后,再复位C6678,查询C6678的输出状况,确认C6678是否正常下作。假如输出不正常,依然重复复位Flash、复位C6678和检测这几个过程,直到初始化成功。
结语
多核处理器因为其接口丰厚,运转频率较高,对时钟规划要求较高,一般要求一个高精度的时钟经过分频/倍频办法发生多路时钟到相应的接口。本文以多核数字信号处理器C6678为运用目标,经过CDCM6208发生多路时钟,供给到多核DSP的核时钟、DDR3、RapidIO等时钟信号。经过单核低功耗小成本处理器C6747完结对整个时钟电路的复位、设置和检测。本文介绍的时钟装备办法具有通用性,对同类产品的时钟规划方案具有必定的参阅价值。