找回密码
 注册
关于网站域名变更的通知
查看: 361|回复: 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的配置,相关片内设备的初始化等。4 [2 w1 Z/ W- M) f( W0 ?. g
  1C6678及其结构
8 M6 m* ^" `% J8 |7 N  C6678是ti公司多核处理器中的一款8核浮点型DSP,最高工作频率达到1.25GHz,单核可以提供40GMAC定点计算或者20GFLOP浮点计算能力,单个芯片可以提供320GMAC或者160GFLOP计算能力。C6678的片内结构如图1所示。% I) _' K1 C% }+ m
4 {% O; A3 {# Y  d6 M; S9 q0 P  Z4 Q2 m

: m% d0 W5 B! N5 y( I
% h: m8 r: W+ K# a' V) `$ qC6678的每个核具有32KB的程序、32KB的数据以及512KB的2级Cache存储空间,芯片片内具有一个4MB的共享SRAM。C6678具有DDR3控制器接口,可以外接DDR3,直接寻址范围达到8GB。C6678的片内外设有RapidIO、PCIe、EMIF以及SPI、I2C总线等接口。这些接口通过片内的高速互联总线和各个处理器交互数据。
4 B# }! O- v. }( j  和网络相关的片内设备如图1右下角灰色模块所示,主要包括两个对外的SGMII接口、以太交换和网络交换模块,以及用于数据管理的安全加速器和包加速器,是为了快速检测数据的校验以及协议是否遵循网络标准,对于错误的数据直接丢弃.降低CPU的负担。为了加快网络和CPU的数据交换,片内的队列管理器用于管理网络包或者网络帧的缓存,分发等功能。这些数据都采用数据包DMA读/写,不需要CPU参与。
3 ]% j: o* e) c# X0 k1 g& }  C6678的其他片内设备包括PLL、仿真口、信号量、电源管理和复位管理等模块。其中PLL配置CPU和外设的工作时钟;仿真口用于连接仿真器,实现对软件运行的监控;信号量实现对DSP/BIOS操作系统中信号量的控制;电源管理实现整个芯片电流电压的控制;复位管理配
- m' e: L' e9 g  置启动的方式,硬复位进行全启动,软复位进行部分启动。
4 h2 `/ }& E3 z* M  2CDCM6208及其结构
4 S7 x% F; s: L: W' q- f  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接口写入就完成整个芯片的配置。
9 Y4 x5 c& o' O6 z% f$ n  CDCM6208的内部结构如图2所示。从图中可以看出,可选两路时钟输入后,首先经过一个14倍频器,作为参考时钟驱动片内VCO产生时钟信号。为了提高时钟相位噪声,倍频后信号经过一个片内的滤波器,该滤波器可以由片内提供阻容电路设置。VCO时钟功分到两路预分频器,预分频器只能4、5或者6分频。预分频后时钟再次进入后期的分频器。每个预分频器功分到两个小数分频器和一个整数分频器。分频后信号驱动后输出。从图2右边输出可以看出,整数分频器输出的Y0和Y1两路时钟频率一样,Y2和Y3时钟频率一样。小数分频的Y4~Y7可以各自设置CDCM6208的这种时钟配置限制了其应用,但好处是降低了功耗,目前这种配置满足绝大部分多核处理器的要求,尤其是TI公司的C66系列以及AK2系列多核DSP可以实现无缝连接。1 a4 m+ M5 e4 f: F
4 s! g6 N3 |8 {, `4 M

8 j* Y! Y8 j' o$ ~* E; L3 y2 r( y6 N: I* W, ^' x2 F: u! u% ^; }
3硬件设计- u, v9 p5 U) }$ k
  根据TMS320C6678的应用,所需要的时钟如图3所示。6 A) j: ~0 \, r; w! P1 r
  其主要时钟包括:①内核运行时钟,该时钟输入是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。
- D: H2 w0 X& Q+ `+ l  ③PCIe接口时钟和PA_SS网络加速器时钟,这两路时钟都是输入100MHz,内部倍频后相应的工作时钟,满足各自接口传输时钟要求。④DDR3时钟,该时钟输入为66.667MHz,倍频20或者25倍,工作在1333.33MHz或者1666.7MHz。这些时钟在DSP片内都各有独立的PLL电路设置,其工作原理和设置方法基本一致。图3中的单独25MHz是专门为千兆网提供的工作时钟,由一个单独的晶体提供。C6678还提供一路时钟输出信号,默认输出为核时钟的1/6,图中为16.667MHz,输出时钟可以检测C6678是否正常工作。: {& {1 O3 f5 ^% ]* J
. L# _) F- x5 g& J0 x# I
; x7 r9 u3 ~( j& o+ T
1 I$ R) s/ W& S  {; l

. f( d3 D) J6 y' y由于C6678的核时钟由CDCM6208提供,所以对CDCM6208的设置只能由另外一个处理器完成,只要该处理器具有SPI或者I2S接口即可。本文使用低功耗的DSP芯片C6747来实现多CDCM6208的设置。C6747和CDCM6208的接口如图4所示,采用标准4线制SPI接口控制,为了避免干扰提高传输可靠性,在SPI的片选信号的写信号分别上拉和下拉,这样在空闲下其引脚状态不会被干扰。在控制CDCM6208之前,需要对其进行复位,图中使用一个通用GPIO引脚控制,当CDCM6208配置成功后,会提供一个状态检测信号,该信号连接到C6747的GPIO引脚,用来判断是否正确配置。图中C6747还使用一个引脚控制CDCM6208的低功耗设置,当该引脚为高时,CDCM6208进入低功耗模式。+ a- A- a' k# N
  4软件设计0 U. b- a% f! [
  由于系统采用C6747控制CDCM6208时钟信号,所以C6747的软件是系统整个初始化的关键,C6747的初始化软件主要包括对CDCM6208的复位、配置和检测以及对C6678的复位、C6678外挂Flash的复位等工作。整个系统的软件流程如图5所示。
: q- Z# N! Y5 A) U
& y* {& U, ?8 Q; }- k" m2 |! ^上电启动后,C6747软件加载成功后,复位CDCM6208,为确保复位成功,C6747要等待10ms才能通过SPI接口配置CDCM6208。配置完成后,C6747可以查询CDCM6208的状态输出引脚,检测是否配置成功。如果配置失败,重复复位、配置、检测这几个步骤。配置成功后,表明CDCM6208已经输出准备时钟到C6678,但在此之前,C6678仍然处于复位状态。由于C6678的程序保存在片外Flash中。所以,C6747要首先复位Flash,等待其复位后,再复位C6678,查询C6678的输出状态,确定C6678是否正常下作。如果输出不正常,仍然重复复位Flash、复位C6678和检测这几个步骤,直到初始化成功。5 r0 W& {+ j  y/ q1 G9 u2 f. ?
  结语
5 K8 b7 H- Z/ D' W. K. }/ |  多核处理器由于其接口丰富,运行频率较高,对时钟设计要求较高,一般要求一个高精度的时钟通过分频/倍频方式产生多路时钟到相应的接口。本文以多核数字信号处理器C6678为应用对象,通过CDCM6208产生多路时钟,提供到多核DSP的核时钟、DDR3、RapidIO等时钟信号。通过单核低功耗小成本处理器C6747实现对整个时钟电路的复位、设置和检测。本文介绍的时钟配置方法具有通用性,对同类产品的时钟设计方案具有一定的参考价值。
; M- u' Q+ i! B
+ z, Z7 P0 k& E! s' R
, M  c+ ?; ^. m& K

& b6 t/ O2 H7 N$ L) x

% F& P9 F4 h: }& G8 t- s# L

( ?% z) ]4 }& j% |7 C
  v( [9 Y- j; G

, k5 S/ v4 r) j+ \( L( r

该用户从未签到

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-10-13 00:06 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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