2024年6月3日发(作者:)

  中 国 科 学 院 上 海 天 文 台 年 刊

2009

年 总第

30

期 

ANNALSOFSHANGHAIOBSERVATORYACADEMIASINICA

 

No.30,

 

2009

DBBC

数字部分控制功能的设计与实现

吴亚军

1,2

3

 项 英 张秀忠 赵融冰

提  要

111

(

1.

中国科学院上海天文台

,

上海

200030;

 

2.

中国科学院研究生院

,

北京

100049

)

宽带数字化

VLBI

记录终端是国际

VLBI

服务组织

(

IVS

)

VLBI2010

发展计划的关键设备。上

海天文台进行了数字基带转换器

(

DBBC

)

的研究。

DBBC

由模拟射频部分和数字部分两大模块组

成。数字部分控制功能主要实现

FPGA

加载、

BBC

参数设置和读取、系统工作状态的监视等功能。

该文研究了以

XilinxFPGA

为平台构建基于

PowerPC

(

硬核

)

PCI

总线

(

OPB_PCI

软核

)

的嵌入式

系统

,

接收控制计算机命令

,

并作相应的处理以实现数字部分控制功能。

主题词

:DBBC

—控制功能—

FPGA

PowerPC

OPB_PCI

分类号

:P228.6,TP273

1

 引 言

甚长基线干涉测量技术

(

VeryLongBaselineInterferometry,VLBI

)

是现代天文观测中分辨

率最高的观测手段。

VLBI

数据采集系统作为

VLBI

台站的主要设备

,

承担着频段选择、数据采

集、数据编码、数据记录等任务。宽带数字化

VLBI

记录终端是国际

VLBI

服务组织

(

IVS

)

VL

2

BI2010

发展计划的关键设备

,

用来替代维护艰难、国际上已不再生产的模拟基带转换器

(

Ana

2

logBase

2

BandConverter,ABBC

)

。数字终端在更高的频率上将模拟信号数字化

,

FPGA

(

FieldProgrammableGateArray

)

DSP

为处理器

,

利用丰富的数字信号处理技术

,

实现将中频

的数字信号转化为数字的基带信号。

目前国际上进行

VLBI

宽带数字化终端研究的主要有欧洲的

EVNDBBC

(

DigitalBase

2

BandConverter,

数字基带转换器

)

、美国的

DigitalBackend

(

DBE

)

、日本的

ADS3000

系列和中

国的

DBBC

。其中欧洲较早开始相关的研究

,

目前正在研制

EVNDBBC.2

。其

DBBC

对四

512M

1024M

带宽的中频模拟信号采样后

,

经过数字混频、

FIR

(

FiniteImpulseResponse,

[4

7,12]

有限冲激响应

)

滤波等处理

,

实现数字下变频。美国的

DBE

将中频信号数字化后

,

采用

多相滤波加

FFT

(

FastFourierTransform,

快速傅立叶变化

)

的复数调制滤波器组来划分频带

,

[8

10]

前该项目进展到研制

DBE2

的阶段。日本的

K5

系统数据采集系统为

ADS

系列

,

其早期

产品有

ADS1000

ADS2000

ADS1000

提供一个通道

512M

带宽的数据

,

专用于测地

VLBI

ADS2000

16

通道的输入

,

每个通道由

64M

AD

采样器量化

,

产生一个通道的输出。其最

新的系统是

ADS3000Plus,

该系统的算法部分也是由

FPGA

实现

,

可以通过对

FPGA

的重新配

收稿日期

:2009

2

02

2

23;

 修回日期

:2009

2

03

2

24

3国家自然科学基金

(

No.10503009

)

项目资助课题。

[4]

[1

3]

52

中国科学院上海天文台年刊             

2009

置实现不同的应用。目前提供的

16

通道样机能够用于传统的测地

VLBI

观测。该系统还处

[11]

于研制阶段。

因为探月二期工程和天文观测的需要

,

上海天文台也在进行数字终端

DBBC

的研制

,

采用

了类似欧洲的方式。整个

DBBC

由两部分———模拟射频部分和数字部分组成。模拟射频部分

提供宽带

(

512M

带宽

)

的中频信号和与氢钟同步的

1024M

时钟信号。数字部分分为数字信号

处理部分和控制部分。数字信号处理部分通过数字算法实现数字下变频

,

该部分完全在

Xil

2

[12

14]

inxFPGA

内实现

。控制部分主要实现

FPGA

加载、

BBC

参数设置和读取、系统工作状态

的监视等控制功能。

DBBC

数字部分为基于

cPCI

总线的凌华工控机

,

在其

PCI

插槽上插入

1

块商用

CPU

主卡

5

块自行研制的板卡

(

四块信号处理板和一块信号综合板

)

CPU

主卡运行

linux

操作系

,

通过

cPCI

总线对其他的板卡进行

FPGA

加载和参数的配置。每一块数字信号处理板上有

一块高速

A/D

、一块

XilinxVirtex4FX60

和四块

XilinxVirtex4LX160,

其中

FX60

芯片中有一个

PowerPC

处理器的硬核。

1

表示

DBBC

数字部分的主要部件

,

其中虚线框内部分在信号处理板上实现。模拟中

频信号经过

A/D

后成为数字信号

,

被依次送到四块

LX160

芯片做信号处理

,

得到具有一定带

宽的基带信号。信号综合板对基带信号作选择后将其送到

VLBI

数据记录设备

(

比如

Mark5B

)

。而对于控制部分

,FX60

芯片接收控制计算机的指令后

,

根据该指令控制相应的

LX160

芯片内的数字信号处理部分。

1

 

DBBC

数字部分主要部件

Fig.1

 

BasicComponentsofDigitalpartofDBBC

本文拟讨论在信号处理板的

FX60

芯片内

,

ISE

EDK

集成开发环境为工具

,

搭建基于

PowerPC

处理器的硬件平台

,

通过

PCI

控制器的

IPCore

(

OPB_PCI

)

与工控机的

PCI

总线相连

,

总第

30

期         吴亚军等

:DBBC

数字部分控制功能的设计与实现

53

实现与工控机的信息交互

;

PowerPC

,

C

语言编写程序实现控制功能。在本设计中

,

PowerPC

处理器、

DDR

控制器、

PCI

总线控制器、串口控制器以及其他功能模块在一片

FX60

片内实现

,

有较高的集成度

,

使得信号处理板的设计和制作更为方便、可靠性更高

,

同时也降低

了成本。

2

 硬件平台的建立

DBBC

控制部分由

XilinxVirtex4FX60FPGA

芯片和一些外围器件组成。图

2

是其实现框

,

虚线方框内功能在

FX60

内实现。在该设计中

,

借助于

OPB_PCI,

控制计算机可以通过

PCI

总线间接访问

DDR,

PowerPC

可以通过

PLB

(

ProcessorLocalBus,

处理器本机总线

)

总线直

接访问

DDR,

这样以

DDR

为中介实现了控制计算机和

PowerPC

的通信

;PowerPC

通过

FPGA

配置模块能够加载用于信号处理的

LX160

芯片

;GPIO

(

GeneralPurposeI/O,

通用输入输出

)

以实现

PowerPC

LX160

的通信

,

从而执行其他的控制功能。下面将分别介绍各模块。

2

 

DBBC

控制功能硬件平台框图

Fig.2

 

HardwarePlatformofDBBCControllingPart

PowerPC

处理器

:

内嵌于在

FX60

PowerPC405,32

RISC

硬核。

PLB

总线接口

:

用于

PowerPC405

内核与高性能设备的连接。

OPB

总线接口

:

片上外设总线

,

内核通过

OPB

来访问低速和低性能的系统资源。它不是

直接连接到处理器内核。处理器内核借助于“

PLBtoOPB

”桥

,

通过

OPB

访问外设

;OPB

总线

控制器的外设可以借助“

OPBtoPLB

”桥

,

通过

PLB

访问存储器。

54

中国科学院上海天文台年刊             

2009

  

DDR

控制器

:

该控制器由

Xilinx

MPMC

(

multi

2

portedmemorycontroller

)

工具生成

,

用于

连接

PLB

总线和外围

DDR

内存。

FPGA

配置模块

:

EDK

集成开发环境中生成的用户定制

IP,

作为

PLB

总线的外设

,

其功

能是从

PCI

总线上接收

LX160

的配置文件并对

LX160

做配置。

OPB_PCI:32bit

OPB

总线和

PCI

总线的连接桥。该桥实现

OPB

总线和

PCI

总线

(

控制

计算机的总线

)

的连接以及地址空间的映射。

GPIO:

作为通用

I/O,

实现

OPB

总线与其他外设的连接。在本设计中

,

主要用于连接实现

信号处理算法的

FPGA

芯片

LX160

下面将分别介绍几个重要模块的配置。

2.1OPB_PCI

的配置

IP

核由

Xilinx

公司提供

,

符合

PCI2.2

标准

,

支持

33/66MHz

32/64

位数据的传输。关

于该

IP

核的详细资料请查阅参考文献

[15]

。在本设计中采用

33MHz,32bit

OPB_PCI

的外围接口信号可分为两类

:PCI

侧信号和

OPB

侧信号。前者是符合

PCI

总线

规范的标准信号。该核的功能就是实现

PCI

侧信号和

OPB

侧信号的转换。在本设计中

,OPB

_PCI

设置为

PCI

总线的从设备

,

DDR

的内存地址映射为

PCI

总线的地址

,

实现

PCI

总线对

DDR

的访问。主要的配置如下

:

(

1

)

设备

ID

和发行商的

ID:

用于在整个计算机系统中唯一标识本设备。系统要靠这一标

识来对其进行驱动程序的映射

,

只有硬件配置标识和驱动程序里面的标识相符时

,

设备才能被

正确地驱动。由于

FPGA

芯片是

Xilinx

公司生产的

,Xilinx

公司的

ID

0x10EE,

设备

ID

只要

与系统中其他设备不冲突即可。

(

2

)

地址空间的映射

:

在本设计中

,PCI

总线的地址空间由控制计算机的操作系统分配

,

该地址空间的访问要转换成对

DDR

的访问

,

如果

DDR

在内存中基地址为

0x0,

则将

PCI

总线

[16]

OPB

总线的转换地址设置为

0x0

可实现上述目标。

2.2DDR

控制器的配置

在本设计中

DDR

内存由两片

InfineonHYB25D256160BT-7

芯片组成

,

64MB

的存储空

,

每片

16bits

位宽

,

一起组成

32bits

位宽。

DDR

控制器由

MPMC

工具生成。在使用该工具

,

选择正确的

FPGA

型号、

DDR

芯片型号以及

CPU

时钟、

DDR

工作时钟、总线类型等。在本

设计中

,PowerPC405

的时钟为

300MHz,PLB

总线时钟和

DDR

工作时钟均为

100MHz

该控制器外围接口信号有三部分

:

时钟相关信号、

DDR

侧信号和

PLB

侧信号。时钟相关

信号用来产生控制器工作时钟

,

包括输入时钟、

90

°相移时钟和倍频时钟

,

在设计中由

DCM

(

digitalclockmanagement,

数字时钟管理器

)

提供。

DDR

侧信号连接到

DDR

芯片的对应端口。

该控制器的功能是在通过

PLB

总线访问

DDR

,

PLB

总线信号转换成

DDR

的信号。

2.3GPIO

的配置

GPIO

与信号处理的

FPGALX160

相连接

,

实现对数字算法部分的控制

,

分为两部分

:

数据

线和控制线。数据线为

34bits

双向总线

,

控制线为

12bits

单向总线。而每组

GPIO

最多

32bits,

输入输出可以控制

,

因此需要两组

GPIO,

第一组位宽为

32bits,

方向为双向

,

全部用作数据线

;

第二组位宽为

14bits,

其中低两位用于数据线、其余用于控制线。

总第

30

期         吴亚军等

:DBBC

数字部分控制功能的设计与实现

55

3

 控制功能软件设计

  控制部分软件的设计目标是在控制计算

机将控制操作命令通过

PCI

总线送到

DDR

,PowerPC405

DDR

中读取控制命令

,

根据

命令的类型

,

执行相应的操作

,

主要的操作有

:

配置

FPGALX160

、设置

BBC

通道参数、读取

BBC

通道参数和监测系统工作状态。

该部分全部在

EDK

(

EmbededDevelop

2

mentKit

)

中开发

,

C

语言编写程序。在本设

计中没有使用操作系统

,

standalone

模式

,

该模式下

,

开发的多个任务串行执行

,

而且

EDK

函数库提供硬件初始化和自带

IP

的底层

驱动。控制功能软件设计流程图如图

3

所示。

从系统上电软件程序开始运行

,

首先要扫描外

设并对所有外设作初始化

,

然后循环读取并执

行命令以及检测系统状态

,

直到系统断电程序

停止运行。

根据不同的命令类型有三个子程序可供

调用

,

分别实现上述三种操作

:

3

 控制部分软件流程图

intfpga_config

(

intbaseaddr

)

 配置

LX160;

Fig.3

 

TheSoftwareFlowofDBBCControllingPart

voidbbc_para_set

(

intbaseaddr

)

 设置

BBC

;voidbbc_para_read

(

intbaseaddr

)

 读取

BBC

参数。

在程序的运行中需要访问

DDR

GPIO

和用户定制的

FPGA

配置模块。其中

GPIO

EDK

提供的驱动访问

,

主要有下面的函数

:

Void

 

XGpio_mSetDataDirection

(

Xuint32BaseAddress,unsignedChannel,Xuint32Direc

2

tionMask

)

GPIO

/

写设置

Xuint32

 

XGpio_mGetDataReg

(

Xuint32BaseAddress,unsignedChannel

)

GPIO

Void

 

XGpio_mSetDataReg

(

Xuint32BaseAddress,unsignedChannel,Xuint32Data

)

GPIO

DDR

FPGA

配置模块的访问可以由通用的内存读写函数实现

:

Xuint32XIo_In32

(

XIo_AddressInAddress

)

       内存读

;

voidXIo_Out32

(

XIo_AddressOutAddress,Xuint32Value

)

 内存写

;

4

 系统测试

FX60

在系统上电后从

PROM

(

Programmableread

2

onlyMemory

)

读取配置文件完成自身加

载并开始运行软件程序。控制计算机发出命令后

,FX60

中的固件自动接收命令并根据命令类

56

中国科学院上海天文台年刊             

2009

型完成对

LX160

加载、

BBC

参数设置或读取、系统状态监视。图

4

是控制计算机的命令窗口。

在该窗口中

,

通过一些输入和点击操作

,

就可以完成

LX160

的配置和

BBC

参数的设置等功能

并接收

DBBC

数字部分工作状态的反馈。

4

 控制计算机的命令窗口

Fig.4

 

TheWindowofControllingComputer

DBBC

采集的数据通过

Mark5B

记录在硬盘中

,

Matlab

编写的程序处理记录的数据测试

DBBC

的性能

,

并与

ABBC

做比较。次页中图

5

2M

带宽的

ABBC

数据和

DBBC

数据的零基

线处理结果。每幅图有四幅子图

,

分别是两个通道的自相关幅度谱和互相关的幅度谱、相位

谱。从图中可看出

,DBBC

能得到零基线条纹

,

条纹与

ABBC

相当。从带通性能上看

,DBBC

低频部分和高频部分都有一部分衰减较大

,

ABBC

仅在高频部分有衰减

,

但是从整个带宽上

DBBC

的有效带宽略宽

,

而且带通更为平坦。从零基线条纹上看

,

目前

DBBC

两通道间的相

位一致性比

ABBC

,

两通道间的延时较大

,

这个问题相信可由数字算法部分更精细的设计来

解决

,

通过在相应通道内增加延时单元拉平各通道的延时

,

使得

DBBC

各通道的延时大致

相等。

5

 结  论

本文介绍了在

XilinxFX60FPGA

,

搭建基于

PowerPC

CPU

的嵌入式平台

,

其通过

PCI

总线接收控制计算机的指令

,

实现对

LX160

的配置以及设置

BBC

参数和读取

BBC

参数、对系

总第

30

期         吴亚军等

:DBBC

数字部分控制功能的设计与实现

57

统的工作状态进行监视等控制功能。整个设计在一块

FPGA

芯片内完成

,

具有很高的集成度

,

而且由于

FPGA

的可编程特性

,

使得系统的升级比较方便。

5

 

2M

带宽

ABBC

DBBC

零基线处理结果比较

Fig.5

 

Comparisonof2MbetweenABBCandDBBC

58

中国科学院上海天文台年刊             

2009

参 考 文 献

[1]

 

GinoTuccari,AlanWhitney,HansHinteregger

etal

.BackendSystems

2

Perspectivesin2010,IVS2004

GeneralMeetingProceedings,2004,80

84

[2]

 

ArthurNiell,AlanWhitney,BillPetrachenko

etal.

VLBI2010:CurrentandFutureRequirementsforGeodet

2

icVLBISystems,IVSMemoranda2006

2

008v01

[3]

 

GinoTuccari,AlanWhitney,HansHinteregger

etal.

TetsuroKondo.

System,IVSMemoranda2006

2

003v01

[4]

 

GinoTuccari,WalterAlef,AlessandraBertarini

etal.

DBBCDevelopmentStatus,in:ProgressinTechnology

DevelopmentandtheNextGenerationVLBISystem,The5thIVSGeneralMeetingProceeding,2008,376

380

[5]

 

pmentofaDigitalBaseBandConverter

(

DBBC

)

:basicElementsandPreliminaryRe

2

sults,in:NewTechnologiesinVLBI,ASPConferenceSeries,2003,306:

[6]

 

-aWideBandDigitalBaseBandConverter,IVS2004GeneralMeetingProceedings,

2004,234

237

[7]

 

GinoTucari,SalvatoreButtaccio,GaetanoNicotra

etal

mforVLBIDataProcess

2

.

DBBC-AFlexiblePlatfor

ing,IVS2006GeneralMeetingProceedings,2006,185

189

[8]

 

2010DigitalBackend

(

DBE

)

Requirements,IVSMemoranda2008

2

014v01

[9]

 

2

CostWidebandDigitalBack-EndsforLOFAR

2

eVLBI

2

SKA,IVS2004GeneralMeet

2

ingProceedings,2004,238

242

[10]

 

y,an,BrianFanous,HansF

etal

BandVLBIDigitalBackend

.

AWide

2

System,IVS2006GeneralMeetingProceedings,2006,72

76

[11]

 

MamoruSekido,YasuhiroKoyama,uctiontoK5System,FifthIVSTechnicalOpera

2

tionsWorkshop,2009

[12]

 

XiangYing,GinoTuccari,plementationinDBBC,IVS2006GeneralMeetingPro

2

ceedings,2006,190

194

[13]

 项英

.VLBI

数据采集终端中数字基带转换器的研究和设计

(

博士学位论文

)

,

上海

:

中国科学院上海

IVS-WG3ReportontheBackend

天文台

,2005

[14]

 

ZhangXiuzhong,WeiWenren,XiangYing

etal.

ProgressofWidebandVLBIDigitalSystemDevelopmentat

SHAO,ProgressinTechnologyDevelopmentandtheNextGenerationVLBISystem,The5thIVSGeneral

MeetingProceeding,2008,381

385

[15]

 

XilinxOPBPCIv1.02aUserGuide

[16]

 

XilinxOPBPCIFullBridge

(

v1.02a

)

Datasheet

总第

30

期         吴亚军等

:DBBC

数字部分控制功能的设计与实现

59

THEDESIGNOFCONTROLLINGIP

COREOFDBBCDIGITALPART

WUYa

2

jun

1,2

 

XIANGYing

 

ZHANGXiu

2

zhong

 

ZHAORong

2

bing

111

(

aiAstronomicalObservatory,ChineseAcademyofSciences,Shanghai200030;

teSchooloftheChineseAcademyofSciences,Beijing100049

)

Abstract

DBBC

(

DigitalBase

2

BandConverter

)

isthekeyequipmentofVLBI2010developmentplansof

theInternationalVLBIServiceforGeodesyandAstrometry

(

IVS

)

.BecauseofChina

slunarexplo

2

rationprogram,Ccon

2

sistsoftwoparts:trollingfunctionofdigitalpartis

responsibleforsuchtasks:configuringFPGA

(

FieldProgrammableGateArray

)

,settingBBCpa

2

rameters

(

frequencyandbandwidth

)

,readingBBCparametersandmonitoringthestatusofDBBC.

InthisarticleanembeddedsystembasedonPowerPC

(

hardcore

)

andPCIbuscontroller

(

soft

core

)

,whichareimplementedinXilinxFPGAFX60,ingtotheorderswhich

aresentbythecontrollingcomputer,theembeddedsystemexecutesdifferentprogramstoobtainthe

controllingfunction.

Keywords

 

DBBC

controllingpart

FPGA

PowerPC

OPB_PCI