当前位置:首页 > 测试测量 > 测试测量
[导读] Linux是开放源代码、网络化的操作系统,具有稳定、高效、内核可自由配置等特点。采用Linux 操作系统作为开发平台与采用VxWorks 和Windows 作为开发平台相比不仅有免费的优势,而且对于发展核心技术,提高信息安全有

 Linux是开放源代码、网络化的操作系统,具有稳定、高效、内核可自由配置等特点。采用Linux 操作系统作为开发平台与采用VxWorks 和Windows 作为开发平台相比不仅有免费的优势,而且对于发展核心技术,提高信息安全有着极其重要的意义,是自主研发的一个方向。随着我国天气雷达的快速发展,天气雷达在民用和军事领域的应用越来越广泛。目前,天气雷达高速数据采集、传输等功能大都基于Windows平台进行开发实现,实现由Windows平台向Linux平台的转换,对于发展中国自主知识产权气象软件核心技术, 提高信息安全有着极其重要的意义。本文基于Linux 操作系统(2.6.23内核),实现了天气雷达高速数据采集及处理,对天气雷达系统由Windows平台向Linux平台移植具有参考价值。

1 数据采集系统分析

1.1 工作原理

天气雷达高速数据采集系统由I/Q数据采集、FIFO缓冲、FPGA控制模块及PCI总线芯片PLX9054组成,系统结构框图如图1所示。
 

其核心部分为FPGA控制模块,主要实现4个功能:(1)根据雷达量程和距离分辨率调整AD采样时钟的频率;(2)控制AD两路采样数据写入FIFO 缓冲以及DMA 传输时从FIFO中连续读出数据; (3)与PCI总线控制芯片PLX9054 进行控制交互, 实现局部总线的读写控制、地址译码和中断触发;(4)与PLX9054 进行数据交互,使用FPGA内部RAM保存控制天气雷达发射机和接收机工作的命令及数据,完成对雷达工作的控制。

I/Q数据采集输出数据速度为2.4 Mb/s(I、Q数据各为24 bit),通过FPGA控制,合并写入到FIFO缓冲。FIFO缓冲为32 bit、深度为16 KB的数据缓存,有效位为24 bit;与计算机总线的接口采用32 bit的PCI总线接口芯片PLX9054,PC机通过它完成与数据采集系统的数据交互。

1.2 PC机与采集系统数据访问

1.2.1 局部地址分配

PC机与天气雷达高速数据采集系统的数据访问通过PCI总线芯片PLX9054实现,访问目标为FIFO缓冲和FPGA片内RAM。对FIFO缓冲和FPGA片内RAM分配不同局部地址,通过对局部地址总线进行译码确定需要访问的目标。FIFO 数据采用DMA传输方式连续读出, 每次传输长度最大为8 KB,因此,设置FIFO空间32 bit局部地址范围为0x20000000~0x2000FFFF,映射空间为PCI 地址空间bar2。

FPGA片内RAM位宽为32 bit, 采用局部地址范围为0x40000000~0x400FFFFF。映射空间为PCI地址空间bar3。

1.2.2 数据访问方式

FIFO缓冲为可编程FIFO,由FPGA根据片内存储的雷达参数进行控制。当FIFO中数据达到设置的大小时,触发PCIPLX9054引发PCI中断,通过该中断向驱动程序申请发起DMA 传输。驱动程序响应该中断后设置PCIPLX9054的DMA寄存器, 发起方向从局部总线到PCI总线的DMA传输,完成FIFO数据向PC机的传输。

FPGA片内RAM通过PCI地址映射,使用IO操作方式进行数据读写访问。

2 Linux程序实现

天气雷达高速数据采集系统基于Linux2.6内核平台程序,由基于PCI总线的设备驱动程序、数据采集及处理程序组成。

2.1 设备驱动程序实现

设备驱动程序的功能是在Linux2.6系统平台下,通过对PCI总线控制芯片PLX9054的控制,实现PC机与采集板的数据交互,实现雷达采集数据的实时接收及雷达工作状态的控制。从功能结构上,设备驱动主要由设备装载及初始化、提供给用户层的接口函数、中断及DMA数据传输三部分组成。

2.1.1 设备装载及卸载

设备装载和卸载即是Windows系统中设备驱动安装和卸载。在Linux2.6中,装载和卸载主要通过调用系统提供的PCI总线驱动注册函数pci_register_drive和注销函数pci_unregister_driver来实现,其注册的driver数据结构如下:

static struct pci_driver plx9054_pci_driver = {

.name = 'pci9054',

.id_table = plx9054_pci_tbl,

.probe = plx9054_probe,

.remove = plx9054_remove,

};

当系统引导时,高速数据采集系统板上电后,板上PCI总线固件对PLX9054设备进行缺省配置,为设备的每个地址区域分配好资源。装载函数在驱动中用module_init声明,进行设备的初始化工作,调用PCI总线驱动注册函数,根据id_table定义的信息对PCI设备PLX9054进行探测识别,完成PLX9054设备驱动的PCI总线注册,然后调用驱动注册的probe函数,完成PLX9054设备使能、PCI地址空间映射、PLX9054设备数据结构初始化、设备注册(注册为字符设备)等操作。卸载函数用module_exit声明,是装载的逆过程,通过调用PCI总线驱动卸载函数,继而调用注册的remove函数、注销设备及PCI地址空间映射、释放分配给设备的数据结构空间等操作,完成系统资源释放。

2.1.2 设备接口函数

设备接口函数为用户提供与设备进行交互的不同功能接口,主要完成用户与设备的读、写及设备控制访问等功能,其数据结构设计为:

static const struct file_operations plx9054_fops = {

.owner = THIS_MODULE,

.open = plx9054_open, /*打开设备*/

.release = plx9054_close, /*释放设备*/

.ioctl = plx9054_ioctl, /*IO操作*/

.read = plx9054_read, /*读设备*/

};

这个数据结构在设备装载过程中,作为设备注册的参数完成与设备挂接、使用户在系统调用中能访问到上述关联的设备接口函数。

设备打开函数plx9054_open完成以下操作:设备私有数据结构内存空间分配及初始化,DMA连续物理内存空间申请,为天气雷达最大距离探测采集数据的大小;调用pci_map_single将分配的DMA内存空间映射为用于DMA传输地址;DMA数据缓冲区分配(容量为2 MB),缓冲区保存每次DMA传输中获取的数据;调用request_irq对中断函数p9054_interrupt进行中断号申请;对天气雷达工作参数进行缺省配置,启动雷达工作。设备释放函数PLX9054_close完成的操作与设备打开函数与PLX9054_open相反。IO操作函数PLX9054_ioctl通过sys_ioctl系统调用,完成用户与设备的信息查询、雷达工作参数配置与查询,如驱动软件版本号、雷达当前工作各参数配置和查询,主要用于对FPGA中RAM内存空间的雷达工作参数数据访问。由于这部分数据对访问速度要求不高,使用IO操作能很好地满足设计要求。读设备函数PLX9054_read将驱动DMA数据缓冲区中的数据实时读取到用户空间缓冲区内,完成采集数据从设备到用户的读取操作。

2.1.3 中断处理及DMA传输

中断处理及DMA传输是驱动的核心部分,它的设计质量直接影响到雷达采集数据能否正确、实时地从采集系统板传送到设备驱动缓冲区,并实时被用户获取。中断处理工作流程如图2所示。

 

由于DMA数据缓冲区远大于每次DMA数据传输大小,这对于雷达数据采集中因用户读取数据延迟而导致的缓冲区溢出有较好的抑制作用,而相对于现有计算机平台,2 MB内存容量已足够。DMA数据缓冲区设计为循环缓冲区,使用读、写指针维护,在中断处理中更新其写指针,在PLX9054_read中更新其读指针,采用溢出则覆盖的机制,既方便管理,节省资源,同时又可对溢出进行计数,很方便进行实时性能的测试。

2.2 数据采集处理程序实现

数据采集处理程序是雷达高速数据采集系统的应用处理程序,完成雷达高速数据采集及对采集数据的数字信号处理、输出天气雷达生成一次产品。其主要流程如图3所示。

 

在采集I/Q数据时,I/Q两路数据采用交叉采集方式存入FIFO缓冲中,每路数据有效位为23,最高位为符号位。因此,在采集数据处理中需对读取的数据进行I/Q数据分离,即将采集数据恢复为原始I、Q两路数据,同时将24 bit数据转换为32 bit数据方式存储,以满足后面数字信号处理要求。

在软件设计中,不同数字信号处理功能采用不同数字信号处理函数实现,在采集数据获取前进行选择配置,数字信号处理功能增加可通过增加相关的数字信号处理函数来满足,以方便功能的完善和移植。通过对I/Q数据分离后获得的数据进行相关数字信号处理即可获得天气雷达中的一次产品,如功率和反射率等。

本文基于Linux2.6平台,设计实现了天气雷达高速数据采集系统的驱动和数据采集及对采集数据的数字信号处理,并在现有天气雷达上完成了调试验证。目前,本设计已成功地应用在现有的天气雷达中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭