中 国 科 学 院 上 海 天 文 台 年 刊
2009年 总第30期 ANNALS OF S HANGHA I OBSERVAT ORY ACADE M I A SI N I CA No.30, 2009
DBBC数字部分控制功能的设计与实现3
吴亚军1,2 项 英1 张秀忠1 赵融冰1
(1.中国科学院上海天文台,上海200030; 2.中国科学院研究生院,北京100049)
提 要
宽带数字化VLB I记录终端是国际VLB I服务组织(I V S)VLB I2010发展计划的关键设备。上海天文台进行了数字基带转换器(DBBC)的研究。DBBC由模拟射频部分和数字部分两大模块组
成。数字部分控制功能主要实现FPG A加载、BBC参数设置和读取、系统工作状态的监视等功能。
该文研究了以Xilinx FPG A为平台构建基于PowerPC(硬核)和PC I总线(OP B_PC I软核)的嵌入式
系统,接收控制计算机命令,并作相应的处理以实现数字部分控制功能。
主题词:DBBC—控制功能—FPG A—PowerPC—OP B_PC I
分类号:P228.6,TP273
1 引 言
甚长基线干涉测量技术(Very Long Baseline I nterfer ometry,VLB I)是现代天文观测中分辨率最高的观测手段。VLB I数据采集系统作为VLB I台站的主要设备,承担着频段选择、数据采集、数据编码、数据记录等任务。宽带数字化VLB I记录终端是国际VLB I服务组织(I V S)VL2 B I2010发展计划的关键设备,用来替代维护艰难、国际上已不再生产的模拟基带转换器(Ana2 l og Base2Band Converter,ABBC)。数字终端在更高的频率上将模拟信号数字化,以FPG A (Field Pr ogra mmable Gate A rray)或DSP为处理器,利用丰富的数字信号处理技术,实现将中频的数字信号转化为数字的基带信号[1~3]。
目前国际上进行VLB I宽带数字化终端研究的主要有欧洲的E VN DBBC(D igital Base2 Band Converter,数字基带转换器)、美国的D igital Backend(DBE)、日本的ADS3000系列和中国的DBBC。其中欧洲较早开始相关的研究,目前正在研制E VN DBBC.2[4]。其DBBC对四路512M或1024M带宽的中频模拟信号采样后,经过数字混频、F I R(Finite I m pulse Res ponse,有限冲激响应)滤波等处理,实现数字下变频[4~7,12]。美国的DBE将中频信号数字化后,采用多相滤波加FFT(F
ast Fourier Transfor m,快速傅立叶变化)的复数调制滤波器组来划分频带,目前该项目进展到研制DBE2的阶段[8~10]。日本的K5系统数据采集系统为ADS系列,其早期产品有ADS1000和ADS2000。ADS1000提供一个通道512M带宽的数据,专用于测地VLB I。ADS2000有16通道的输入,每个通道由64M的AD采样器量化,产生一个通道的输出。其最新的系统是ADS3000Plus,该系统的算法部分也是由FPG A实现,可以通过对FPG A的重新配
收稿日期:2009202223; 修回日期:2009203224
3国家自然科学基金(No.10503009)项目资助课题。
置实现不同的应用。目前提供的16通道样机能够用于传统的测地VLB I 观测。该系统还处
于研制阶段[11]。
因为探月二期工程和天文观测的需要,上海天文台也在进行数字终端DBBC 的研制,采用了类似欧洲的方式。整个DBBC 由两部分———模拟射频部分和数字部分组成。模拟射频部分提供宽带(512M 带宽)的中频信号和与氢钟同步的1024M 时钟信号。数字部分分为数字信号处理部分和控制部分。数字信号处理部分通过数字算法实现数字下变频,该部分完全在Xil 2
inx FPG A 内实现[12~14]。控制部分主要实现FPG A 加载、BBC 参数设置和读取、系统工作状态
的监视等控制功能。
DBBC 数字部分为基于cPC I 总线的凌华工控机,在其PC I 插槽上插入1块商用CP U 主卡和5块自行研制的板卡(四块信号处理板和一块信号综合板)。CP U 主卡运行linux 操作系统,通过cPC I 总线对其他的板卡进行FPG A 加载和参数的配置。每一块数字信号处理板上有一块高速A /D 、一块Xilinx V irtex4FX60和四块Xilinx V irtex4LX160,其中FX60芯片中有一个Po werPC 处理器的硬核。
图1表示DBBC 数字部分的主要部件,其中虚线框内部分在信号处理板上实现。模拟中频信号经过A /D 后成为数字信号,被依次送到四块LX160芯片做信号处理,得到具有一定带宽的基带信号。信号综合板对基带信号作选择后将其送到VLB I 数据记录设备(比如Mark5B )。而对于控制部分,FX60芯片接收控制计算机的指令后,根据该指令控制相应的LX160芯片内的数字信号处理部分
。
图1 DBBC 数字部分主要部件
Fig .1 Basic Components of D igital part of DBBC
本文拟讨论在信号处理板的FX60芯片内,以I SE 、EDK 集成开发环境为工具,搭建基于Po werPC 处理器的硬件平台,通过PC I 控制器的I P Core (OP B _PC I )与工控机的PC I 总线相连,
25中国科学院上海天文台年刊 2009年
实现与工控机的信息交互;在PowerPC 内,以C 语言编写程序实现控制功能。在本设计中,Po werPC 处理器、DDR 控制器、PC I 总线控制器、串口控制器以及其他功能模块在一片FX60芯片内实现,有较高的集成度,使得信号处理板的设计和制作更为方便、可靠性更高,同时也降低了成本。
2 硬件平台的建立
DBBC 控制部分由Xilinx V irtex4FX60FPG A 芯片和一些外围器件组成。图2是其实现框图,虚线方框
内功能在FX60内实现。在该设计中,借助于OP B _PC I,控制计算机可以通过PC I 总线间接访问DDR,而PowerPC 可以通过P LB (Pr ocess or Local Bus,处理器本机总线)总线直接访问DDR,这样以DDR 为中介实现了控制计算机和PowerPC 的通信;PowerPC 通过FPG A 配置模块能够加载用于信号处理的LX160芯片;GP I O (General Pur pose I/O,通用输入输出)可以实现PowerPC 与LX160的通信,从而执行其他的控制功能。
下面将分别介绍各模块。
图2 DBBC 控制功能硬件平台框图
Fig .2 Hard ware Platf or m of DBBC Contr olling Part
PowerPC 处理器:内嵌于在FX60的PowerPC405,32位R I SC 硬核。
P LB 总线接口:用于PowerPC405内核与高性能设备的连接。
OP B 总线接口:片上外设总线,内核通过OP B 来访问低速和低性能的系统资源。它不是直接连接到处理器内核。处理器内核借助于“P LB t o OP B ”桥,通过OP B 访问外设;OP B 总线控制器的外设可以借助“OP B t o P LB ”桥,通过P LB 访问存储器。
35总第30期 吴亚军等:DBBC 数字部分控制功能的设计与实现
45中国科学院上海天文台年刊 2009年
DDR控制器:该控制器由Xilinx的MP MC(multi2ported me mory contr oller)工具生成,用于连接P LB总线和外围DDR内存。
FPG A配置模块:在E DK集成开发环境中生成的用户定制I P,作为P LB总线的外设,其功能是从PC I总线上接收LX160的配置文件并对LX160做配置。
OP B_PC I:32bit的OP B总线和PC I总线的连接桥。该桥实现OP B总线和PC I总线(控制计算机的总线)的连接以及地址空间的映射。
GP I O:作为通用I/O,实现OP B总线与其他外设的连接。在本设计中,主要用于连接实现信号处理算法的FPG A芯片LX160。
下面将分别介绍几个重要模块的配置。
2.1O PB_PC I的配置
该I P核由Xilinx公司提供,符合PC I2.2标准,支持33/66MHz、32/64位数据的传输。关于该I P核的详细资料请查阅参考文献[15]。在本设计中采用33MHz,32bit。
OP B_PC I的外围接口信号可分为两类:PC I侧信号和OP B侧信号。前者是符合PC I总线规范的标准信号。该核的功能就是实现PC I侧信号和OP B侧信号的转换。在本设计中,OP B _PC I设置为PC I总线的从设备,将DDR的内存地址映射为PC I总线的地址,实现PC I总线对DDR的访问。主要的配置如下:
(1)设备I D和发行商的I D:用于在整个计算机系统中唯一标识本设备。系统要靠这一标识来对其进行驱动程序的映射,只有硬件配置标识和驱动程序里面的标识相符时,设备才能被正确地驱动。由于FPG A芯片是Xilinx公司生产的,Xilinx公司的I D为0x10EE,设备I D只要与系统中其他设备不冲突即可。
(2)地址空间的映射:在本设计中,PC I总线的地址空间由控制计算机的操作系统分配,对该地址空间的访问要转换成对DDR的访问,如果DDR在内存中基地址为0x0,则将PC I总线到OP B总线的转换地址设置为0x0可实现上述目标[16]。
2.2DD R控制器的配置
在本设计中DDR内存由两片I nfineon HY B25D256160BT-7芯片组成,共64MB的存储空间,每片16bits位宽,一起组成32bits位宽。DDR控制器由MP MC工具生成。在使用该工具时,选择正确的FPG A型号、DDR芯片型号以及CP U时钟、DDR工作时钟、总线类型等。在本设计中,PowerPC405的时钟为300MHz,P LB总线时钟和DDR工作时钟均为100MHz。
该控制器外围接口信号有三部分:时钟相关信号、DDR侧信号和P LB侧信号。时钟相关信号用来产生控制器工作时钟,包括输入时钟、90°相移时钟和倍频时钟,在设计中由DC M (digital cl ock manage ment,数字时钟管理器)提供。DDR侧信号连接到DDR芯片的对应端口。该控制器的功能是在通过P L
B总线访问DDR时,将P LB总线信号转换成DDR的信号。
2.3GP I O的配置
GP I O与信号处理的FPG A LX160相连接,实现对数字算法部分的控制,分为两部分:数据线和控制线。数据线为34bits双向总线,控制线为12bits单向总线。而每组GP I O最多32bits,输入输出可以控制,因此需要两组GP I O,第一组位宽为32bits,方向为双向,全部用作数据线;第二组位宽为14bits,其中低两位用于数据线、其余用于控制线。
图3 控制部分软件流程图Fig .3 The Soft w are Fl ow of DBBC Contr olling Part 3 控制功能软件设计
控制部分软件的设计目标是在控制计算
机将控制操作命令通过PC I 总线送到DDR
后,PowerPC405从DDR 中读取控制命令,根据
命令的类型,执行相应的操作,主要的操作有:
配置FPG A LX160、设置BBC 通道参数、读取
BBC 通道参数和监测系统工作状态。
该部分全部在E DK (E mbeded Devel op 2
ment Kit )中开发,以C 语言编写程序。在本设
计中没有使用操作系统,即standal one 模式,在
该模式下,开发的多个任务串行执行,而且
EDK 函数库提供硬件初始化和自带I P 的底层
驱动。控制功能软件设计流程图如图3所示。
从系统上电软件程序开始运行,首先要扫描外
设并对所有外设作初始化,然后循环读取并执
行命令以及检测系统状态,直到系统断电程序
停止运行。
根据不同的命令类型有三个子程序可供
调用,分别实现上述三种操作:int f pga _config (int baseaddr ) 配置LX160;void bbc_para_set (int baseaddr ) 设置BBC 参
数;void bbc_para_read (int baseaddr ) 读取BBC 参数。
在程序的运行中需要访问DDR 、GP I O 和用户定制的FPG A 配置模块。其中GP I O 由EDK 提供的驱动访问,主要有下面的函数:
Void XGp i o _mSet D ata D irecti on (Xuint32Base Address,unsigned Channel,Xuint32D irec 2
ti on Mask )GP I O 读/写设置
Xuint32 XGp i o_mGet D ataReg (Xuint32Base Address,unsigned Channel )读GP I O Void XGp i o _mSet D ataReg (Xuint32Base Address,unsigned Channel,Xuint32Data )写
linux内核设计与实现 pdfGP I O
DDR 和FPG A 配置模块的访问可以由通用的内存读写函数实现:
Xuint32X I o_I n32(X I o_Address I nAddress ) 内存读;
void X I o_Out32(X I o_Address Out A ddress,Xuint32Value ) 内存写;
4 系统测试
FX60在系统上电后从PROM (Pr ogra mmable read 2only Me mory )读取配置文件完成自身加载并开始运行软件程序。控制计算机发出命令后,FX60中的固件自动接收命令并根据命令类55总第30期 吴亚军等:DBBC 数字部分控制功能的设计与实现
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论