找回密码
 注册
关于网站域名变更的通知
查看: 381|回复: 3
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-10-22 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
多核处理器是最近快速发展的电子器件,单个芯片内集成了多个同构或者异构的处理器,使得其计算处理能力得到较大幅度的提高。DSP处理器由于其具有较高的数字处理能力,得到较广泛的应用。多核DSP芯片以目前性能较高的TMS320C66系列为例,其中TMS320C6678(以下简称C6678)含有8个处理器。这些处理器可以独立工作,也可以并行联合工作。当它们联合工作时,相互之间通信和握手就非常重要,尤其是在对时间要求较高的场合,时钟的稳定和同步就非常关键。时钟的稳定和同步对系统设计、时钟源、时钟分配、电路布线、时钟线屏蔽等都提出较高的要求。  本文利用CDCM6208时钟分配芯片,以此输出多路时钟,提供到8核DSP芯片C6678,提供出DSP核工作时钟、ddr3数据读写时钟、RapidIO和PCIe数据传输时钟、千兆网络加速器等时钟信号。文中介绍了详细的电路设计、时钟芯片配置以及多核DSP的配置,相关片内设备的初始化等。
* |0 a7 d" T( A: H" C* H# U9 a$ a  1C6678及其结构
2 `2 l6 Z& M7 C2 U4 N+ `  C6678是ti公司多核处理器中的一款8核浮点型DSP,最高工作频率达到1.25GHz,单核可以提供40GMAC定点计算或者20GFLOP浮点计算能力,单个芯片可以提供320GMAC或者160GFLOP计算能力。C6678的片内结构如图1所示。
0 V6 s8 P. [! \3 I0 u  a- J, }+ b9 ]  u2 w: j
  r, w7 T& E1 d, o7 @. k1 A

3 @/ [3 Q( g+ n$ [' b9 }* J) Q# e7 BC6678的每个核具有32KB的程序、32KB的数据以及512KB的2级Cache存储空间,芯片片内具有一个4MB的共享SRAM。C6678具有DDR3控制器接口,可以外接DDR3,直接寻址范围达到8GB。C6678的片内外设有RapidIO、PCIe、EMIF以及SPI、I2C总线等接口。这些接口通过片内的高速互联总线和各个处理器交互数据。5 v/ `/ Z. q8 u7 F: G/ s, T  a
  和网络相关的片内设备如图1右下角灰色模块所示,主要包括两个对外的SGMII接口、以太交换和网络交换模块,以及用于数据管理的安全加速器和包加速器,是为了快速检测数据的校验以及协议是否遵循网络标准,对于错误的数据直接丢弃.降低CPU的负担。为了加快网络和CPU的数据交换,片内的队列管理器用于管理网络包或者网络帧的缓存,分发等功能。这些数据都采用数据包DMA读/写,不需要CPU参与。5 _5 ]% m5 f1 }  y, c- F0 Z, m
  C6678的其他片内设备包括PLL、仿真口、信号量、电源管理和复位管理等模块。其中PLL配置CPU和外设的工作时钟;仿真口用于连接仿真器,实现对软件运行的监控;信号量实现对DSP/BIOS操作系统中信号量的控制;电源管理实现整个芯片电流电压的控制;复位管理配
0 O# W5 \' n8 \0 X! x8 ~2 S! O  置启动的方式,硬复位进行全启动,软复位进行部分启动。
$ n" u: M: B' @5 \  2CDCM6208及其结构
1 i/ B' Z: e  a9 m* y/ r. l" H  CDCM62xx系列芯片是TI公司针对多核处理器专门开发的时钟产生、驱动和分配芯片。CDCM6208是该系列的第二代产品,相比于第一代CDCM6208的最大优点就是功耗大幅度降低,从第一代的2~3W降低到0.5W左右。而其功能、指标和体积没有弱化。CDCM6208有两路可选时钟输入,8路时钟输出。8路输出中的4路只能做整数倍分频,另外4路可以做小数倍分频,满足多核芯片的各种不同的时钟需求。8路时钟支持LVPECL、CML、HCSL以及LVDS信号电平,最大支持800MHz的时钟频率,满足RapidIO和PCIe这些高速接口需求。时钟抖动小于265fs。其控制可以通过标准的SPI或者I2S接口实现,非常方便灵活。TI公司提供针对该芯片专门开发的图形化控制软件,用户选择所要设置的时钟工作方式、输出频率等参数,该软件生成其内部寄存器的值,通过SPI或I2S接口写入就完成整个芯片的配置。! Y" W' Y& b2 P7 U' f5 y
  CDCM6208的内部结构如图2所示。从图中可以看出,可选两路时钟输入后,首先经过一个14倍频器,作为参考时钟驱动片内VCO产生时钟信号。为了提高时钟相位噪声,倍频后信号经过一个片内的滤波器,该滤波器可以由片内提供阻容电路设置。VCO时钟功分到两路预分频器,预分频器只能4、5或者6分频。预分频后时钟再次进入后期的分频器。每个预分频器功分到两个小数分频器和一个整数分频器。分频后信号驱动后输出。从图2右边输出可以看出,整数分频器输出的Y0和Y1两路时钟频率一样,Y2和Y3时钟频率一样。小数分频的Y4~Y7可以各自设置CDCM6208的这种时钟配置限制了其应用,但好处是降低了功耗,目前这种配置满足绝大部分多核处理器的要求,尤其是TI公司的C66系列以及AK2系列多核DSP可以实现无缝连接。
; Z! {9 k1 B, m3 J0 h. H; j# y- i+ Q( @$ k5 J

5 E+ Z! T( K5 o# J# T& {0 k) o( C" k+ v0 e( f% g
3硬件设计% l8 k9 {7 i  F4 R/ u; ]
  根据TMS320C6678的应用,所需要的时钟如图3所示。
/ l' v: Y. \8 a3 C6 W: V  其主要时钟包括:①内核运行时钟,该时钟输入是100MHz,DSP片内PLL将其锁定到工作频率,最高为1GHz,最低为700MHz。②RapioIO接口和HyperLink超级连接接口工作时钟,这两路时钟输入都为312.5MHz,RapioIO倍频4、8、10、16,工作在1.25GHz、2.5GHz、3.125GHz和5GHz。HyperLink倍频到40、80、100、160,工作在12.5GHz、25GHz、31.25GHz和50GHz。" i3 u" z. z" [1 B' e+ N6 V
  ③PCIe接口时钟和PA_SS网络加速器时钟,这两路时钟都是输入100MHz,内部倍频后相应的工作时钟,满足各自接口传输时钟要求。④DDR3时钟,该时钟输入为66.667MHz,倍频20或者25倍,工作在1333.33MHz或者1666.7MHz。这些时钟在DSP片内都各有独立的PLL电路设置,其工作原理和设置方法基本一致。图3中的单独25MHz是专门为千兆网提供的工作时钟,由一个单独的晶体提供。C6678还提供一路时钟输出信号,默认输出为核时钟的1/6,图中为16.667MHz,输出时钟可以检测C6678是否正常工作。
6 x) e5 E9 K; P/ u- V# [8 q
+ Z# Z+ ^0 X; l8 k
1 x" }; P9 _, C0 R2 {
- f9 s3 ]  B* P! o, _4 z6 q  |; t
3 T  x$ @6 L& @% q
由于C6678的核时钟由CDCM6208提供,所以对CDCM6208的设置只能由另外一个处理器完成,只要该处理器具有SPI或者I2S接口即可。本文使用低功耗的DSP芯片C6747来实现多CDCM6208的设置。C6747和CDCM6208的接口如图4所示,采用标准4线制SPI接口控制,为了避免干扰提高传输可靠性,在SPI的片选信号的写信号分别上拉和下拉,这样在空闲下其引脚状态不会被干扰。在控制CDCM6208之前,需要对其进行复位,图中使用一个通用GPIO引脚控制,当CDCM6208配置成功后,会提供一个状态检测信号,该信号连接到C6747的GPIO引脚,用来判断是否正确配置。图中C6747还使用一个引脚控制CDCM6208的低功耗设置,当该引脚为高时,CDCM6208进入低功耗模式。
5 U. `( e% i5 E: Q) ]  4软件设计
9 T) P* a1 L  r5 d- G0 q+ B2 D  由于系统采用C6747控制CDCM6208时钟信号,所以C6747的软件是系统整个初始化的关键,C6747的初始化软件主要包括对CDCM6208的复位、配置和检测以及对C6678的复位、C6678外挂Flash的复位等工作。整个系统的软件流程如图5所示。* x6 D. L1 r9 J6 b0 I9 D: r

5 B7 s. R7 V% b7 ]: ~! Q! `上电启动后,C6747软件加载成功后,复位CDCM6208,为确保复位成功,C6747要等待10ms才能通过SPI接口配置CDCM6208。配置完成后,C6747可以查询CDCM6208的状态输出引脚,检测是否配置成功。如果配置失败,重复复位、配置、检测这几个步骤。配置成功后,表明CDCM6208已经输出准备时钟到C6678,但在此之前,C6678仍然处于复位状态。由于C6678的程序保存在片外Flash中。所以,C6747要首先复位Flash,等待其复位后,再复位C6678,查询C6678的输出状态,确定C6678是否正常下作。如果输出不正常,仍然重复复位Flash、复位C6678和检测这几个步骤,直到初始化成功。6 _, @) r2 v% H5 H& r
  结语. B" J! ?- w4 v$ ?
  多核处理器由于其接口丰富,运行频率较高,对时钟设计要求较高,一般要求一个高精度的时钟通过分频/倍频方式产生多路时钟到相应的接口。本文以多核数字信号处理器C6678为应用对象,通过CDCM6208产生多路时钟,提供到多核DSP的核时钟、DDR3、RapidIO等时钟信号。通过单核低功耗小成本处理器C6747实现对整个时钟电路的复位、设置和检测。本文介绍的时钟配置方法具有通用性,对同类产品的时钟设计方案具有一定的参考价值。7 L3 M  f* ]' g0 M, L3 [" A% E
7 v! ?8 i# Y8 p' y  L; |0 P' z6 |% V

" [8 o5 e' \! f0 K2 L, _( A7 B9 ~
2 L3 G( c4 @4 U+ [- v

. e" b$ c5 A- _3 r- O

1 m3 Z9 ^3 q6 {/ O3 Q! \  e1 i8 P
" t9 l) s) M/ Y
% R' |. F& _: a& u) Z/ w

该用户从未签到

2#
发表于 2021-10-22 11:29 | 只看该作者
为了避免干扰提高传输可靠性,在SPI的片选信号的写信号分别上拉和下拉,这样在空闲下其引脚状态不会被干扰

该用户从未签到

3#
发表于 2021-10-22 13:07 | 只看该作者
allegro 丝印大小

该用户从未签到

4#
发表于 2021-10-22 16:33 | 只看该作者
多核处理器由于其接口丰富,运行频率较高,对时钟设计要求较高
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 01:34 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表