电子产业一站式赋能平台

PCB联盟网

搜索
查看: 4107|回复: 3
收起左侧

DSP + ZYNQ核心板,是如何实现核间通讯呢?|基于DSP + ZYNQ评估板TL6678ZH-EVM

[复制链接]

678

主题

902

帖子

8293

积分

高级会员

Rank: 5Rank: 5

积分
8293
发表于 2021-3-16 18:38:54 | 显示全部楼层 |阅读模式
上篇推文为大家介绍了创龙科技(Tronlong)最新推出的DSP + ZYNQ评估板TL6678ZH-EVM,由核心板和底板构成,核心板(SOM-TL6678ZH)集成了C6678和Zynq-7045/7100两款不同架构的处理器。: J7 S% w& v6 `' M, V9 K8 O

8 F3 \5 W$ y: z

- ?1 h2 s5 O! C6 A  k' f- G那么这款DSP + ZYNQ核心板,是如何实现核间通讯呢?
2 J' b6 |0 C! M; N" ]: f, x+ z( R- w4 B1 `7 b7 J2 Z/ }
9 `/ C# S5 A1 ?: ]. a: c4 T
​
" e0 h2 t; N5 e! p
$ o& u7 T% L0 X- r
# a4 h; d0 V6 |3 J& E
核心板简介
% n/ N6 S5 X2 B( f: D& j& K  uSOM-TL6678ZH是一款基于TIKeyStone架构C6000系列TMS320C6678八核C66x定点/浮点DSP,以及Xilinx Zynq-7000系列XC7Z045/XC7Z100 SoC处理器设计的高端异构多核工业级核心板。TMS320C6678每核心主频可高达1.25GHz,XC7Z045/XC7Z100集成PS端双核ARM Cortex-A9 + PL端Kintex-7架构28nm可编程逻辑资源。核心板内部DSP与ZYNQ通过SRIO通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIe、HyperLink、EMIF16、USB、CAN、UART、GTX等通信接口。
! N; f4 j) b3 J* g​) s, q. R5 j+ n$ B: X$ i  A0 i" T
​
& ~, b% Y' S, z5 m* r$ ~( K* X* `- D0 V( ^
3 U$ x# u" h8 [7 c. |+ ]' ], n
1 B$ Y2 H$ C9 h. k$ i& d0 C. k' c
: n$ f4 _! q8 m- X( B, `+ Y! `0 X2 ]
本文主要介绍DSP + ZYNQ基于SRIO的通信案例。9 t+ J1 r6 T5 Z- f
案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点site.tronlong.com/pfdownload
3 u4 t# R# M% y- V( ?
- q! w# }5 g4 j! j6 E
4 V0 j% s8 W% @8 q0 Y& Y$ G! o, b
. {" i) t/ _, U3 e# r
9 k* e) B. y3 t: X1 F) e
1 SRIO简介SRIO(Serial Rapid I/O)是高速串行RapidIO通信接口,常用于DSP与DSP、DSP与FPGA之间的数据高速传输。SRIO引脚占用数量少,支持多点传输,速率可配置为1.25Gbps、2.5Gbps、3.125Gbps和5Gbps。
3 f* E- c$ Y. R! ]% f' ySRIO包含三层结构协议,即物理层传输层、逻辑层。
$ s7 j6 j0 l9 P" R4 k- _(1) 逻辑层:定义包的类型、大小、物理地址、传输协议等必要配置信息。6 d* R0 b5 G% [; `9 F
(2) 传输层:定义包交换、路由和寻址规则,以确保信息在系统内正确传输。6 B9 ]. p. T$ r
(3) 物理层:包含设备级接口信息,如电气特性、错误管理数据和基本流量控制数据等信息。
! A9 {4 B# A/ _7 m8 D' G# i* iRapidIO体系结构如下:" I& U: V% S+ e  L  u' j
( q) @) e$ e, X9 V7 q

1 ~; {6 R5 x/ |9 _1 ^. M3 ?1 A" X2 E" k" }9 `

( V5 c3 \' w0 H! I+ k7 h! y​" ?- X. d9 M# W" R! j9 k
​2 v2 ], u" @8 m% ^' p. M: U# r

/ X' f  C( G$ x: W* o5 p5 E5 Y* J

( z2 G4 S/ e$ n. X: u, N4 X2 SRIO通信案例
/ l& Q0 a1 N- i; V: c
0 N( Q$ ]5 W8 e  e2 @
  J6 z% N5 s5 z6 A+ \  Z; e9 R
4 O" n$ q4 U& \' U$ _" ?8 _
2.1 关键代码2.3.1 DSP工程(1) 程序配置说明。1 `# ]3 C% U( v
​" ^) m1 }9 ?! H& U# o& D! g

; R# X& o% L$ C
/ Q7 i' K$ H2 u6 X  m

$ z: c( I8 |" L1 h6 s/ y3 f4 k; G
: w9 z+ X) g0 R3 b

7 G3 d3 y/ K6 O  r5 Q- B8 o1 v

3 ~2 G6 c0 }4 D  S& S(2) 使能SRIO PSC,初始化SRIO子系统,SRIO通信测试。
9 h' H+ |- u, _. T& [
) J% m) h" d, w( s$ b
# n- L" O- \7 w4 b+ c
​
( T' N$ v5 P1 c) k+ t
  v+ v' ^& }- C$ Z

4 C( Z9 ^8 X( ]- P, M: ?' K6 G4 \; G2 A0 d$ q% M

9 E0 Z$ f' m7 i7 n- g9 S4 x$ ?  R$ ~; l. y

2 x, ?8 S7 N% V/ ^; ]; _; U0 z​7 _! \5 x8 z+ p7 d1 f
4 g# ^' t* @& |

7 t6 V+ k& Q* D% W/ s  U' N+ Q4 ], P$ p; l% X

, M! h. Q0 `6 l/ g​
- g9 K, Y! h; |$ A% W& @) R7 ~; }$ Z3 O' h/ _9 l

0 z5 f. ]( u  ?( O" q2 Q' g* g: o$ E( a
) y# G. F' X' }* f7 `$ J# b, R
; D2 P2 o7 @$ \& q- k, o
* c5 w7 m& j; d: \' B  z
(3) 以NWRITE + NREAD和SWRITE + NREAD模式进行SRIO通信测试,单次读写大小为transfer_size,单位为Byte。w_format_type写格式类型在main函数中调用srio_test()传入。
. \- Y$ [2 P) l2 j$ c' D+ {4 ]
* p: S/ Y9 H' \; `

. q3 R1 ?0 ]- _- b* r7 O' \  E. w' y- [: U, y( n
5 p# T) _& n$ E4 C7 ^- H# \. p
​" h1 F# c5 r, {: w0 n- |, a
8 o; W' J6 C- p: z8 r  `; b& o
6 G  D5 i  k% w/ [- [9 }) ~* v: O
& M" [. W& C4 y; P

. l$ h7 t( Y! B% U4 K" A  D* B6 w- v- o8 H1 x9 Q6 d; q" C+ h* i

# t1 N8 v5 R  m: Q  J$ Y- x(4) SRIO写测试流程。- E5 R6 a$ h% u1 h4 x

' u! z  k9 G" W

- u$ g" R  |4 d) T$ h3 @+ C) z, M# }3 t8 f) S! b% M$ c$ q4 w& P
* `% M5 b/ y6 _* B5 D* T
​
5 G/ j% ?* a' t) n) ~( Z# h( h​
1 K9 k. p" y. e​
) @7 H$ N8 M$ W
1 `) X) Z9 r/ ~. ]2 C( M% T- X+ c8 n
4 @: O" J" f; q, b; A4 m! r/ I
* `3 u8 h7 a5 m% ]% g0 ]

1 z+ \) }& Z2 M/ K5 H% l7 M' L" c2 ?* {$ n% W7 h8 L( c
8 F3 h7 H% j, K7 p/ N2 d
(5) SRIO读测试流程。
0 u7 V! s0 \, S6 t
2 o, U) Z$ x2 y+ T# _$ _9 G% d

0 p. @. |, }  V7 m7 d  ]
+ L2 i3 v2 \" E+ G: q+ D: O* h" X! `

, ]% O0 H9 L) E2 t, C# G, s. `​/ D) p1 J1 m7 e( o- p/ r
​2 w+ c0 M2 G+ _6 q% p
​
2 f  V- A! h! x1 {- b+ {% M6 W1 a: _2 N
1 o. O- u. f; `: S' q

  c6 L4 ]. T6 e6 W
  r* N1 E8 Y* C6 U- T

0 a1 N2 N) Y7 j, k
( C3 Q8 K8 k% `5 L- p9 E
8 g/ D" F$ f2 |4 j
( S* C5 B4 U) v; {; O2 y7 G& O/ p$ H  @
2.3.2 ZYNQ工程(1) 端口定义。
, U! e: E7 e" x) L0 z( C6 H5 n8 c7 {8 ^3 Z
" D; U: J5 t% _  q  ?2 I( {
+ S1 R1 N! |3 P% X
0 a! U" M8 `9 g8 l- }4 N" U
​
( J  |. j  J- L1 U( \" j( Z9 S: ~, ~! `5 B! A; Q
( F8 B+ U% [& B2 p$ i+ y, E; P
6 N: @3 _/ p' M

4 q/ [' v1 T/ d) ]% l" C0 Z2 a" a6 K' m- i0 V/ d

' n; ^" E  P) F(2) 使用STARTUPE2原语提供的EOS作为系统复位信号,CFGMCLK(65MHz)作为系统时钟。$ K8 Q3 R+ A) p$ ^1 A- _
0 {* B- c( N1 D' X. L0 S6 Z
5 l& p# y2 g- E& _
4 F6 @  h# O+ K- b9 ^

1 T8 ]8 [! {" t. o1 o5 m9 x​6 g' A% l% I. q; O. w+ H6 C1 Z: B
, x' W' F2 e0 C6 N+ C- {; @
% n- W3 L( `6 v$ z/ o+ Z. G

0 \! e( h& L4 R! o
: T% M! a. R- _/ h4 L1 t$ E
. H1 b: E$ W5 |* }, j

2 ?0 k3 U2 `, f9 m" P/ h(3) 例化Serial RapidIO Gen2 IP核。
6 d$ m4 e$ S  u( ~3 G% K4 a" C5 A/ E& ^
& _) d3 t  X% i4 o# i
; d: Y( M, x" ?) ]9 [0 D
/ H; i6 i# t( G: S0 f$ X
​
, q2 i! P8 S2 f4 h
+ `9 |+ A  R  {+ {
/ @$ D, d! [/ f6 O
8 t0 [$ G2 S0 q9 @/ |; H* P- P
# O3 i7 m) g- z& V/ _

- J$ H& w3 e& H2 ?

) h; c6 u. @% y  x; A5 i7 ?( H( `- s! C$ [6 h: C9 Z6 d

4 H/ S9 c2 j( y​0 P' g% ^* O; _7 ]) L6 W( n' y

* r0 M! }/ y, Y$ n; p' M3 B* F

1 y. s4 K" C* C8 l/ a% v+ k
& U' C' K  T- t7 h

- n  j" J- K: H' F& ]4 X: O! k0 ~' f9 ]/ u9 [, g2 V
; m7 b' ~2 P& T; p, N
​4 w8 g. g$ X3 R5 e. c! ^8 |
- c; J* T; e! R" w' K
7 k6 m2 o6 n6 ?7 s! V( x& }# D3 K
+ J5 h* B( e/ R
, h. o4 Z6 N# ^: L$ a1 W
  B( E( v# L4 U9 J# \; v, h
# |/ M* I, d6 w/ d' m+ n
其中Serial RapidIO Gen2 IP核输出的log_clk为125MHz。
  w8 _6 F7 T" K  ~& i. h+ x8 c( Y" _$ m, y

7 C' t7 Z& F8 g9 I, A5 I8 }9 g# [4 m$ @

3 e9 e2 ?6 U$ g; Q​6 p, v( [0 ?! i6 [" q
! G3 x- \2 w3 K) W; f. @2 J

$ {" t. X8 `. U. Y7 @* S& v6 {9 W, l* y( @# ]5 r: w- n" y

5 W" x- y) \4 t1 B( G+ a6 l( d( M$ s* x: N/ r

( b$ K; k; v3 J/ k1 k$ i! m; B(4) 调用srio_response_gen模块,其接口与Serial RapidIO Gen2 IP核连接。
8 V& y$ V7 K! H& ]/ ~! I4 y. U( e" Q4 t( [! ]1 Y& L9 K

  M7 N6 E0 l# ~' f8 X( h. [
" s0 ]% M: b% G5 X% V) ~

, z  P! f1 m7 J7 X5 V" L6 n4 x; r​8 q+ Y; F) o0 C2 }; K
+ w. c9 q: o) }% F! G# h' J- W" T
+ e; f& Z7 w) l
! b  B3 v' O6 ^# X7 v
& l; ^( \) r; O0 w/ M
​8 ~0 z2 V! O+ H6 @' c
​+ w, {, F" n" \& c

0 t& ]% e3 m3 Z% ?" h
/ Y) W9 Y" V& G& S, h7 {, a) p
SRIO详细开发说明请参考产品光盘“6-开发参考资料\TI官方参考文档\”目录下的《Serial Rapid IO (SRIO) User Guide.pdf》文档。5 z% @+ V' V; f  z
备注:关于本案例涉及的IP核、模块的配置详细说明,可下载产品资料进行查看。! D  `0 E8 g& N5 @

7 J: D, s1 I$ i/ }6 A5 n* X6 z8 o- A8 h
1 U( D! l# M" x

; @3 C& c- W7 \( Z2.2 案例功能评估板DSP端和ZYNQ PL端进行SRIO通信测试,并统计读写速率。评估板DSP端作为Initiator,评估板ZYNQ PL端作为Target。SRIO默认配置为x4模式,每个通道速率5Gbps,并分别使用NWRITE + NREAD和SWRITE + NREAD模式进行测试。ZYNQ PL端使用一个36Kbit的BRAM作为设备存储空间,将DSP端发送的过来数据储存至BRAM。: U8 O$ E3 I- h# y& k3 r& T+ w# E, P, c
2.3 案例测试先加载运行ZYNQ PL端程序,再运行DSP端程序,CCS Console窗口将打印测试结果。8 \/ ]' M3 N6 b$ k! ]
NWRITE + NREAD模式:NWRITE= 12.50Gbps  NREAD= 7.74Gbps
4 l* c+ ~- t# WSWRITE + NREAD模式:SWRITE= 12.49Gbps   NREAD= 7.74Gbps+ R: h# s) |, V8 B+ M7 m
备注:由于写测试仅统计发送数据至SRIO FIFO的时间,读测试统计发送读请求并等待Target发送数据完成的时间,因此写速率将比读速率高。
+ I" B; ~( H  S: ?" ]
- {+ v& E: J  ]  h  [5 ]
( B% \( |# b4 o( Z  l0 n% _

6 Y2 w; l1 z, q5 c- _, Y, D) |

# y$ n! [/ d& ?6 f/ }​
4 K& }& N' |2 X! H* @; z
2 j6 I; A  @' V" @! k. o9 G) k

. Z1 y. w! S0 m# a" }7 A0 s
6 g  W; [) H1 J
  ~/ T: S3 n# Z! p
* Y- U/ ^2 N! T( l
9 L% |/ L) P# M* u; r* {( _) ^

0 Z' U/ L! h& V7 E. F0 p% i' X! ~1 H​3 S; p! r2 C6 t2 \8 {
​( S6 k: m" B2 u& d) Q" H* W- [

+ e1 n0 e- \( C3 X

" b* B) F+ `3 T1 i4 u2 u. w# t( R
# ?8 S# @& D! A0 \
嵌入式DSP、ARM、FPGA多核技术开发,学习资料下载:http://site.tronlong.com/pfdownload
回复

使用道具 举报

0

主题

13

帖子

34

积分

一级会员

Rank: 1

积分
34
发表于 2021-11-4 23:36:35 | 显示全部楼层
功能能性替代6678的国产多核定点和浮点数字处理器,国产替代是趋势,需要的联系QQ:191321088
回复 支持 反对

使用道具 举报

0

主题

12

帖子

52

积分

一级会员

Rank: 1

积分
52
发表于 2021-11-9 10:53:05 | 显示全部楼层
感谢分享。
回复 支持 反对

使用道具 举报

0

主题

15

帖子

44

积分

一级会员

Rank: 1

积分
44
发表于 2022-1-12 09:23:57 来自手机 | 显示全部楼层
6666666666
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表