基于X V C协议的Z e d b o a r d平台远程更新与调试
朱琛1,沈小波1,周志刚2
(1.中国电子科技集团公司第五十八研究所,无锡214000;2.中国船舶重工集团公司第702研究所)
摘要:船舶雷达数据处理设备是许多科研院所面对庞大的雷达数据而研发的处理设备㊂此类处理设备属于船用设备,且设备中处理板卡众多㊂为了在不打开设备的情况下,脱离专用的U S B J T A G下载电缆对处理板中的F P G A进行远端升级,本文提出一种虚拟线缆协议,通过以太网,利用Z e d b o a r d平台的P S端控制P L端生成的J T A G接口对其进行远程更新与调试的方法㊂该方案成本较低,易于拓展,同时也提高了更新可靠性㊂
关键词:X V C协议;Z e d b o a r d;J T A G接口;T C P/I P;远程更新与调试
中图分类号:T N919文献标识码:A
R e m o t e U p d a t i n g a n d D e b u g g i n g o f Z e d b o a r d P l a t f o r m B a s e d o n X V C P r o t o c o l
Z h u C h e n1,S h e n X i a o b o1,Z h o u Z h i g a n g2
(1.T h e58R e s e a r c h I n s t i t u t e o f C h i n a E l e c t r o n i c s T e c h n o l o g y G r o u p C o r p o r a t i o n,W u x i214000,C h i n a;
2.T h e702R e s e a r c h I n s t i t u t e o f C h i n a S h i p b u i l d i n g I n d u s t r y C o r p o r a t i o n)
A b s t r a c t:T h e s h i p r a d a r d a t a p r o c e s s i n g e q u i p m e n t i s d e v e l o p e d b y m a n y s c i e n t i f i c r e s e a r c h i n s t i t u t e s i n t h e f a c e o f h u g e r a d a r d a t a.T h i s k i n d o f p r o c e s s i n g e q u i p m e n t b e l o n g s t o m a r i n e e q u i o m e n t,a n d t h e r e a r e m a n y p r o c e s s i n g b o a r d s i n t h e e q u i p m e n t.T h i s s t u d y a i m s t o d e s i g n a n d i m p l e m e n t r e m o t e u p d a t i n g a n d d e b u g g i n g m u l t i-f i e l d p r o g r a mm a b l e g a t e a r r a y f o r t h e d e t e c t o r w i t h o u t o p e n i n g t h e e q u i p-m e n t,s e p a r a t e f r o m t h e s p e c i l a U S B-J T A G d o w n l o a d c a b l e.I n t h e p a p e r,a n e t w o r k b a s e d Z e d b o a r d̓s p r o c e s s i n g s y s t e m i s u s e d t o a c c e p t c o n f i g u r a t i o n f i l e s v i a n e t w o r k a n d g e n e r a t e J T A G b y Z e d b o a r d̓s p r o g r a mm a b l e l o g i c s e q u e n c e t o F P G A b y m e a n s o f X i l i n x v i s u a l c a b l e p r o t o c o l.T h e r e m o t e u p d a t i n g a n d d e b u g g i n g o
f m u l t i-F P G A a r e r e a l i z e d.T h i s m e t h o d i m p r o v e s t h e r e l i a b i l i t y o f r e m o t e u p d a t i n g a n d d e b u g g i n g o f F P G A s a n d i s e a s y t o e x t e n d w i t h l o w c o s t.
K e y w o r d s:X V C p r o t o c o l;Z e d b o a r d;J T A G i n t e r f a c e;T C P/I P;r e m o t e u p d a t i n g a n d d e b u g g i n g
0引言
早期的船舶雷达设备和其他电子设备一样经历过电子管和晶体管的元件阶段㊂随着大规模集成电路的出现,现在的船舶导航雷达处理单元,大多采用高性能的F P G A 进行数据采集及加速㊂当大量模块单元需要升级时,需要拆卸机箱,耗时耗力[1]㊂
考虑到对设备进行程序更新及版本升级,拆卸设备工作量较大且更新时易出错,本文设计了一种基于X V C (X i l i n x V i r t u a l C a b l e)的协议,通过以太网,配合A R M+ F P G A混合架构的Z Y N Q7000系列板卡,利用G P I O口模拟J T A G接口进行远程更新调试的方案㊂该方案操作简单,无需额外开发T C P/I P软件,基于网络的通信能够保证足够远距离的灵活可靠的数据传输,还能对F P G A进行远程H a r d w a r e M a n a g e r调试㊂同时,通过简单的J T A G链路连接可以完成远端多片F P G A在线升级及调试㊂1系统架构
本设计采用Z e d b o a r d平台嵌入式开发板,其基于X i l-i n x Z Y N Q7000系列芯片㊂Z Y N Q7000采用A R M+ F P G A架构,具有高度集成性,整个系统具有丰富的处理器和扩展资源,用户可以根据需求将不同的模块连接起来,实现自定义逻辑功能[2],因而非常利于多片F P G A远程更新与调试㊂Z e d b o a r d开发板实物图如图1所示㊂
通过A R M处理器中网络口控制A X I(A d v a n c e d e X-t e n s i b l e I n t e r f a c e)总线,将更新程序发送到F P G A端,F P-G A端例化一个J T A G接口对光纤接口板进行更新与调试[3]㊂设计实现远程更新船舶雷达设备中光纤接口板(核心芯片为x c7k325t),整体架构图如图2所示㊂
2基于Z e d b o a r d平台的P L端开发
在Z e d b o a r d平台上进行P L(P r o g r a mm a b l e L o g i c)端开发,核心是通过G P I O口实现J T A G模块功能㊂J T A G
图1 Z e d b o a r d
开发板实物图
图2 设计整体架构图
模块功能主要是通过器件内部的T A P (T e s t A c c e s s P o r t
,图3 F P G A 端设计架构
测试访问端口)对芯片内部的寄存器进行访问㊂T A P 控制器包含一个具有16个状态的自动状态机,
对数据寄存器D R (D a t a R e g i s t e r )和指令寄存器I R (I n s t r u c t i o n R e g
-s i t e r
)进行相关操作㊂本设计中需要4个I P 核:p r o c e s s i n g _s y
s t e m 7_0㊁a x i _i n t e r c o n n e c t _0㊁p r o c _s y s _r e s e t _0和a x i _j t a g _0㊂p r o c e s s -i n g _s y s t e m 7_0为Z Y N Q 7000的系统I P 核㊂a x i _i n t e r -c o n n e c t _0为A X I 总线中转I P 核㊂p r o c _s y
s _r e s e t _0为系统连接其他A X I 的复位I P 核㊂a x i _j t a g
_0为G P I O 配置J T A G 时序I P 核㊂F P G A 端的设计架构图如图3所示㊂
P S (P r o c e s s i n g S y s t e m )端通过A X I 总线对a x i _j t a g
_0进行数据传输,主要是内核中寄存器的读写,本文中a x i
_j t a g _0内核设计了5个寄存器,即[31ʒ0]s l v _r e g
0㊁[31ʒ0]s l v _r e g 1㊁[31ʒ0]s l v _r e g 2㊁[31ʒ0]s l v _r e g
3㊁[31ʒ0]s l v _r e g 4,分别对应数据传输长度L E N G T H ㊁J T A G 总线的TM S 信号数据㊁J T A G
总线的T D I 信号据㊁J T A G 总线的T D O 信号数据及P S 端传输有效E N A B L E
信号㊂通过开发软件设置a x i _j t a g _0的I
P 核寄存器起始地址为0x 43C 0_0000,
长度为64K B ㊂最后R T L 分析综合㊁
实现并生成二进制文件,给P S 端提供软件设计的硬件平台㊂
3 基于Z e d b o a r d 的嵌入式L i n u x 平台开发
本设计基于Z e d b o a r d 开发板,在P S 端移植嵌入式
L i n u x 系统,并需要在开发应用程序中实现X V C 虚拟网
络功能㊂
3.1 引导程序的移植
嵌入式操作系统都会采用引导程序来引导内核,本设
计使用u b o o t 作为启动引导[5]㊂由于使用Z Y N Q 系列芯片,在引导操作系统与之前单纯的只含有A R M 架构的
芯片有所不同,需要在u b o o t 之前增加F S B L .e l f 及s y
s -t e m.b i t 文件,其L i n u x 系统启动过程如图4所示㊂并对
u b o o t 进行相应配置,
主要包含内核镜像㊁设备树㊁文件系统㊁网络地址㊁加载方式等信息,配置启动方式为Q S P I 启动,Q S P I 的存储文件及地址分配如图5所示
图4 Z Y N Q 7000
系统启动过程
图5 Q S P I 内部存储文件及地址分配
3.2 移植L i n u x 内核及生成设备树及文件系统
L i n u x 内核是嵌入式系统的关键部分
[4]
㊂由于嵌入
式系统比较精简,通常需要对L i n u x 内核进行裁剪㊂
下载L i n u x 内核进行相应的配置,编译生成z I m a g
e 文件㊂Z Y N Q 7系列芯片的A R M 内核是通过设备树形式
的数据结构来配置系统启动的设备参数[
5]
㊂本设计需要在官方提供的设备树d e v i c e t r e e .d t b 中增加J T A G 接口I P 核的信息,代码如下:
&a m b a
r a n g e s ;  a x i _j t a g _0:a x i j t a g
@43C 00000{  c o m p a t i a b l e ="g
e n e r i c u i o ";    r e g =<0x 43C 000000x 10000>;  }
;};文件系统为嵌入式系统及设备提供文件输入输出等
文件管理功能,本设计不展开叙述,编译生成文件系统
r a m d i s k 8M.i m a g e .g
z 压缩包[6]
㊂在启动过程中,u b o o t 会将此文件加载到内存中,并将内存地址传递给内核,待内核启动时,即可同时运行文件系统[
7]
㊂3.3 X V C 应用程序设计
X V C 协议是一种基于T C P /I P 的虚拟线缆协议
[8]
,
允许用户通过网络访问X i l i n x F P G A 的J T A G 接口并对
其进行高效率的远程更新与调试㊂
X V C 协议内容简单,
使用方便,其基本内容可总结为如下三条指令[9]
,如表1所列㊂
表1 函数指令功能
函数名功 能
g
e f i n f o ()获取X V C 服务的版本信息㊁t m s 及t d i 字节
向量一次能够移位的最大长度
s h i f t (n u m b i t s ,t m s v e c t o r ,t d i v e c t o r )以字节向量T M S v e c t o r 和T D I v e c t o r 的形式
发送n u m _b i t s 个二进制数给X V C
linux系统地址
服务器s e t t c k
()设置通信协议周期成纳秒,返回值为实际周
期值
本设计实现的X V C 服务器功能主要通过T C P /I P 协
议以及内存映射来进行数据交互㊂首先打开U I O 设备即
在系统中生成a x i _j t a g _0的设备,并进行内存映射;然后进行T C P /I P 通信需要的一些初始化的工作,
建立通信,通过h a n d l e _d a t a ()函数来交互数据㊂X V C 服务器程序设计如图6所示㊂
图6 X V C 服务器程序设计流程图
h a n d l e _d a t a ()函数内利用m e m c m p ()及m e m c p y
()实现命令识别及应用层与设备的数据交互㊂h a n d l e _d a t a
()
函数内部设计如图7所示
图7 h a n d l e _d a t a
()函数流程图X V C 协议具体实现内容如下:由于V i v a d o 软件每次
发送s h i f t 指令的最大长度为2048字节,
故设置接收缓存区b u f f e r 大小为2048,而发送缓存区r e s u l t 大小为1024㊂网络设置包括创建s o c k e t ()进行网络通信,并设置其通信协议为T C P ,非阻塞模式,端口号为2542,并为其分配I P 地址和MA C 地址㊂打开s o c k e t ()并监听网络连接请求㊂从s o c k e t
()接收6个字节数据到缓存区,如果与字符串s h i f t 相同,则继续读取4字节的内容作为n u m _b i t s
,并转换为n r _b y
t e s ㊂接着按该字节数分别读取T M S v e c t o r 和T D I v e c t o r 到接收缓存区b u f f e r ,之后通过m e m c p y
()将数据映射到a x i _j t a g _0设备的寄存器中,a x i _j t a g
_0模块将读到的寄存器数据赋值给TM S 和T D I 引脚,同时产生周期性的T C K 信号㊂a x i _j t a g _0模块检测到T
D O 引脚上的信号写入寄存器s l v _r e g 3,应用层通过m e m c p y ()读到寄存器,发送给P C ㊂P C 验证收到的T D O 数据无误,继续通过s h i f t 指令发送下一个数据包㊂由此便实现了一个完整的J T A G 数据链路,从而实现远程P C 由网络将配置数据
通过模拟的J T A G 接口配置给F P G A 的过程㊂
4 测试验证及总结
利用V i v a d o 软件中的H a r d w a r e M a n a g
e r 进行远程更新,首先通过S D K 软件将系统启动所需要的文件烧写
进Z e d b o a r d 平台,启动L i n u x 系统㊂在Z e d b o a r d 运行
X V C 服务程序,等待P C 通过网络配置F P G A ㊂在V i v a d o 的T C L c o n s o l e 输入以下命令:
>>c o n n e c t _h w _s e r v e r
>>o p e n _h w _t a r g
e t -x v c _u r l 192.168.1.10:2542从图8中可以看出,已经成功连接到光纤接口板,网
络I P 地址为192.168.1.10,端口号为2542
图8 实验结果
该设计具有可扩展性,可以拓展为多F P G A 远程更
新与调试,只需要在逻辑设计时加入多个J T A G 模块,并在X V C 应用层程序中更改相应的设备,
即可实现多个F P G A 远程更新与调试㊂随着船用雷达的不断更新换代
以及多功能化的实现,设备的更新在所难免,本设计给后续升级提供了可靠便捷的保障,已在某型号舰载设备上使用,对今后工业化设备在线升级算法㊁远程更新程序,具有重要引导意义
参考文献
[1]陶吉怀.基于S O P C 的船用雷达处理单元研究与设计[D ].
成都:电子科技大学,2013.
[2]文华武.基于以太网的F P G A 远程程序升级系统的设计与研
究[D ].重庆:重庆大学,2012.
[3]王利军,张超.基于C P U 实现F P G A 远程更新[J ].
信息通信,2013,20(6):4445.
[4]薛乾,曾云,张杰.基于X V C 网络协议的多F P G A 远程更新与调试[J ].核技术,2015,38(12).
[5]3G P P T S 36.322.R a d i o L i n k C o n t r o l (R T C )p
r o t o c o l [S ],2015.[6]余婷婷.嵌入式文件系统的研究与设计[D ].武汉:武汉理工大学,2007.
[7]华抒军.基于Z e d b o r a d 的软件无线电软件平台的设计与实
现[J ].软件,2015,36(10):5760.
[8]X i l i n x .X i l i n x v i r t u a l c a b l e o v e r v i e w ,2015.
[9]X i l i n x .X i l i n x v i r t u a l c a b l e r u n n i n g o n Z y n q 7000u s i n g t
h e p
e t a l L i n u x t o o l s ,2015.朱琛(工程师),主要研究方向为F P G A 逻辑设计及嵌入式硬件设计;沈小波(工程师),主要研究方向为雷达信号处理系统;周志刚(工程师),主要研究方向为嵌入式L i n u x 系统及应用㊂
(责任编辑:薛士然 收稿日期:2020-06-18
)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。