适于底层协议栈开发的数据采集与仿真系统

发布者:创新火花最新更新时间:2010-05-08 来源: 黄建尧, 刘开华, 李 琨关键字:FPGA  底层协议栈  数据采集  仿真 手机看文章 扫描二维码
随时随地手机看文章

  随着软件无线电思想与技术的发展,现代数字通信系统中,越来越多地使用DSP等数字信号处理器结合高速AD、DA转换器进行OSI 7层通信体系模型中物理层(信号的调制、解调)和数据链路层(信道编、解码)部分的数据处理工作。近年来,数字信号处理理论发展迅猛,数字信号处理器工作频率及能力不断提高,数字通信系统中越来越多的工作能够通过DSP来完成,因而DSP本身的程序结构也越来越复杂。由于通信信号(尤其是无线通信)本身具有很强的实时性、随机性的特点,造成DSP的输入数据缺乏规律性,一闪即逝,从而导致相应的处理程序出现了问题不易复现,且问题难于追踪、捕捉,这就给DSP的程序设计与调试带来了较大困难。针对这一问题,本文根据一般底层通信协议栈的数据处理方法,设计了一套适合于对底层协议栈进行开发和调试的数据采集与仿真系统,以达到追踪、再现问题并查找程序缺陷的目的。

  1 数据采集系统

  数据采集系统主要完成从正在工作中的通信终端中采集数据的任务。

  1.1 采集点的选择

  整个通信系统中有多个数据采集切入点可选,可以对中频信号直接采样,也可以对基带信号采样,还可以通过模拟系统中的AD数据接收时序,直接接收AD输出数据。但前两种采集点不能确保采集到的信号数据与DSP输入数据完全一致,而模拟AD数据时序的方式则可能影响DSP与AD之间的主从关系,影响DSP协议栈的正常运行,而且各种外部中断的采集也比较困难。因而最为稳妥的方式是DSP通过数据总线输出其接收到的数据。这种方法的缺点是需要占用DSP少量资源,但这与协议栈运行相比,完全可以忽略不计,不计不会影响协议栈本身的运行。

  1.2 硬件连接

  参考文献[1]对各种数据采集系统进行了分析比较,并指出USB总线为数据采集卡与PC机较理想的接口,因此选用CY68013A作为USB接口芯片。采用1片FPGA进行DSP与CY68013A之间数据格式的转换,CY68013A固件程序存放在E2PROM中,通过I2C总线连接,连接方式如图1所示。

  其中,DSP除了输出16位数据总线之外,还引出7位地址线(A0~A6),用以区分不同的数据类型。FPGA须将DSP外部总线输出的数据格式转换为CY68013A外部GPIF可兼容的格式。

  1.3 FPGA程序设计

  CY68013A外部GPIF端口可作为数据输入端口的仅有16位(FD0~FD15),而DSP输出的信息数据一共有23位(16位数据线D0~D15和7位地址线A0~A6),故而需要将多出的7位地址信息嵌入到数据中去。将1个16位数据拆分成2个,每个数据中的低8位(FD0~FD7)用于存储原数据信息(D0~D7或D8~D15),高7位(FD8~FD14)存放地址类型信息(A0~A6),最高位(FD15)用于标识当前数据中FD0~FD7是原数据的D0~D7或是D8~D15,具体格式如图2(b)所示。CY68013A GPIF端口使用内部48 MHz时钟,根据参考文献[2],每个GPIF信号周期为20.83 ns,二者时钟不同步,FPGA为了与高速设备兼容,需要使用更高的时钟源。因此,为了保证GPIF能够采集到RDY信号,FPGA输出的信号至少需要保持1.5个GPIF信号周期。GPIF每次从外部读取数据存入FIFO需要6个状态,故而每个输出数据间隔应大于6个GPIF信号周期。以TI公司C55系列DSP为例,主频时钟144 MHz,与FPGA连接的为EMIFS外部总线,则FPGA转换信号时序如图2所示。其中,图2(a)为DSP EMIFS输出时序, 图2(b)为经FPGA转换后的CY68013A GPIF输入时序及数据格式。

  考虑到DSP输出数据时钟可能较CY68013A GPIF采集时钟快,因而FPGA需要设计内置的FIFO存储器,用于缓存DSP输出的数据。[page]

  1.4 USB固件设计

  由于CY68013A内置的8051内核时钟周期较慢,不适于高速传输,因而采集程序中仅使用8051进行初始化配置,而不干预数据传输过程。CY68013A通过外部GPIF读取数据存入FIFO中,FIFO满时通过USB传入PC机。采用Cypress公司提供的通用程序框架以及图形化GPIF设计工具,参照图2(b)的时序,编辑GPIF波形。USB总线选择传输大量数据时比较常用的Bulk传输模式,硬件配置程序采用Cypress公司提供的程序模板,参考文献[3]对该模板进行了详细说明,这里不再赘述,程序框架与参考文献[4、5]类似。

  1.5 PC机接收程序

  USB接口驱动程序可直接使用Cypress公司提供的ez-usb驱动。由于ez-usb驱动没有提供高级的文件操作IO方式,因而需要调用比较底层的DeviceIoControl函数来处理。考虑到Bulk传输方式完全是由主机端(PC机)发起读操作,从机端(采集板)只能被动地等待,而当CY68013A内置的FIFO写满之后,如果主机不能及时地发起读操作,则FIFO不再接收数据写入操作,因而会有少量的数据丢失。对于底层协议栈调试,这种少量的数据丢失可能引起程序流程错误,是不能接受的。因此PC机端接收程序应采用多线程处理方式,将接收USB数据的工作列为单独的线程,并将其优先级设置为实时性最高的THREAD_PRIORITY_TIME_CRITICAL,防止接收数据过程被系统中其他进程打断,以确保每次读操作能够及时发出。同时也要保证负责数据采集的PC机操作系统中同时运行的进程尽量少,关掉不必要的后台进程。

  PC机接收到的数据先存入临时文件中,以备后续解析、仿真程序使用。临时文件以字(16 bit)为单位存储,每个数据用2个字来表示,低字节在前,与FPGA转换后的数据格式一致,如表1所示。

  2 仿真系统

  仿真系统使用采集系统采集到的数据,再现通信终端中的协议栈运行状态,便于开发者随时检查程序错误,对程序进行调试。

  2.1 系统框架

  要想再现底层协议栈运行状态,除了保证协议栈整体输入、输出一致外,最大的难度在于系统的定时,要能够准确再现各种事件的发生时刻。基于软件无线电技术的数字通信系统大都采用过采样方式,AD/DA速率都比较高而且稳定,因而底层协议栈也大多以AD/DA的输入、输出中断作为系统定时。当通信终端作为接收机时,底层协议栈需要以AD采样数据作为其他部分(信道估计与均衡、解调、信道解码等)的驱动数据;作为发射机时,DA输出数据是底层协议栈的最终输出结果,需要仿真程序进行验证。故而仿真程序可以采用AD/DA中断来划分程序运行的最小时间片,其他各种事件的发生都通过中断个数来计时,仿真程序通过判断AD/DA数据的个数调用各程序函数来再现底层协议栈运行状况及数据流向。这样就可以在不增加开销的情况下,尽最大可能保证仿真程序与实际DSP中运行的协议栈一致,方便再现问题。

  2.2  输出数据

  根据1.1节所选择的数据采集点,需在DSP的底层协议栈代码中输出仿真时所用的数据: (1)需要输出的为前端AD/DA数据,以及底层协议栈与上层协议栈之间的交互数据,这是底层通信协议栈接收、发射信息时所需的输入数据与最终的输出结果; (2)其他外围设备产生的中断和输入数据也会影响底层协议栈流程,是仿真时所必须的部分;(3)底层协议栈各任务挂起、运行、结束等状态变化需要输出,以保证仿真程序运行时刻与实际情况一致。另外,在2次AD/DA中断之间会发生多次变化的全局变量也需要输出,以弥补时间片划分的不足。

  2.3  数据解析

  1.5节中所存储的接收数据不方便直接用于仿真,需要进行格式转换。根据2.1节中所述系统框架,所有事件通过AD/DA数据计时,故而除AD/DA数据外,其他类型数据需要记录AD/DA数据个数信息,作为时间戳,因而可将所有数据分为两大类:AD/DA数据和非AD/DA数据。为仿真方便,将这2种类型数据分别存放于2个文件中。在解析数据时,需要将1.3小节中为了与CY68013A兼容而通过FPGA拆分开的2个16位数据重新合并为1个,并将不同类型的数据分开。AD/DA数据一般长度固定,由AD/DA转换器分辨率(位数)而定,例如,AD/DA数据为16位,每次中断输出1个数据,则解析后的数据格式如表2所示。

[page]

  非AD/DA数据根据程序需求,长度不固定,可在协议栈程序输出数据中包含长度信息,也可在接收程序与输出程序中提前规定好数据长度。例如,非AD/DA数据以字为单位,数据长度为N,则解析后的数据格式如表3所示。

  由于底层协议栈需要兼顾外围硬件控制,各种外部中断比较多,很可能会打断数据输出,因而在解析数据时,需要考虑各种数据之间的嵌套。为此,可以对每种数据采用单独的缓冲区,待解析到1条完整数据之后再存入文件中,同时还要保证文件中各种非AD/DA数据按照发生时间的先后顺序排列。其流程如图3所示。

[page]

  2.4 系统仿真

  系统仿真之前,首先要将运行于DSP中的底层协议栈代码转换为PC机上可运行的代码,一般DSP大多采用C语言和汇编语言相结合的方式进行开发,C代码基本上不需要进行大量修改,而汇编代码需要根据其工作原理,转译成C代码。系统仿真时采用2.3节中解析后的数据文件作为输入,按照2.1节定义的仿真系统框架,以AD/DA数据为驱动,通过判断非AD/DA数据的发生时刻(AD/DA数据计数值)来调动底层协议栈各部分任务运行,以达到再现协议栈运行状况、调试程序的目的。仿真流程如图4所示。有些硬件操作需要底层协议栈控制,仿真时可以按照“[发生时间] 硬件操作内容”的格式写到文件中作为仿真程序的输出。这样通过查询输出文件,各种硬件操作的先后关系一目了然,更形象化,有利于发现硬件控制上的逻辑错误。

  本文设计了一种专门用于底层协议栈开发的数据采集与仿真系统,利用USB高速传输特点以及物理连接的便利性,采用CY68013A进行数据传递,充分利用其GPIF资源,使用FPGA进行格式转换。文中对仿真系统的整体框架和数据转换细节进行了详细说明。该系统可用于各种类型协议栈调试,便于追踪、再现问题。经过实验验证,系统可承受100 Mb/s的实时数据流,在数字集群手持终端开发中进行了广泛应用,不仅降低了协议栈的开发难度,而且缩短了开发周期,有很高的实用性。

  参考文献

  [1]  刘泽西,程晶晶,孔力.基于USB2.0接口的高速实时数据采集系统[J].测控技术,2007,26(2):34-37.

  [2]  Cypress Semiconductor Corporation.CY7C68013A, CY7C-68014A, CY7C68015A, CY7C68016A, EZ-USB FX2LP  USB microcontroller high speed USB peripheral controller[EB/OL]. http://www.cypress.com/?rID=14181,2009-05-22.

  [3]  梁鸿翔,王润田.基于USB2.0的同步高速数据采集器的设计[J].电子技术应用,2004,31(8):13-15.

  [4]  安荣,任勇峰,李圣昆.基于FPGA和USB2.0的数据采集系统[J].仪器仪表与传感器,2009(3):49-51.

  [5] 周彬,牛俊邦,魏娇.基于USB2.0低功耗实时数据采集系统的设计[J].仪器仪表与传感器,2009(4):33-35.

关键字:FPGA  底层协议栈  数据采集  仿真 引用地址:适于底层协议栈开发的数据采集与仿真系统

上一篇:基于FPGA的多路正弦波信号发生器专用芯片设计
下一篇:一种基于FPGA的NoC验证平台的构建

推荐阅读最新更新时间:2024-05-02 21:03

Altera Stratix II FPGA达到军用温度级标准
2007年3月29号,北京 ——Altera公司(NASDAQ: ALTR)今天宣布,其90nm高性能Stratix II FPGA器件系列所有封装型号均达到军用温度级标准。 Altera的Stratix和StratixII器件能够可靠地工作在商用、工业和军用温度级范围内,符合严格的规范标准。公司将工业级StratixII器件的工作范围扩展到-55°C至+125°C,达到军用温度级。与专用军事器件相比,标准工业器件应用在军事领域在价格和使用寿命上有很大的优势。StratixII系列的EP2S15、EP2S30、EP2S60和EP2S90等型号均支持军用温度工作范围。 Altera亚太区市场总监梁乐观认为:“对于军事应用设计人员而言
[新品]
三星电子为赛灵思生产45纳米可编程半导体
      世界最大的可编程半导体 (FPGA)的生产制造企业赛灵思公司与三星电子签约,指定三星电子为其45纳米可编程半岛体(FPGA)的供应商。这意味着,今后三星电子将利用45纳米工艺生产赛灵思公司的FPGA半导体。   三星电子系统LSI产业部副总裁Seo ByungBun表示“赛灵思公司是世界领先的可编程半导体解决方案企业,非常高兴与他们合作。”他还表示,三星将用世界最尖端科技、强大制造力和服务来打造赛灵思公司的高性能FPGA产品。   三星电子韩国器兴工厂拥有系统LSI专用的300毫米生产线,并具备高科技工艺和出色的生产制造能力,三星计划利用器兴工厂的S生产线进行相应的产品生产。   赛灵思公司发言人表示:“三
[嵌入式]
Xilinx和Brilliant电信推出基于FPGA网络时序方案
2007年12月13日,北京 ——赛灵思和Brilliant 电信宣布:针对下一代有线和无线网络推出业界第一个基于FPGA的电信级时序(Timing)解决方案。这一联合开发的解决方案为下一代通信网络设计人员提供了第一个嵌入式可编程解决方案。通过将时序功能集成到赛灵思FPGA器件中,这一解决方案可显著降低成本。在赛灵思Virtex 或 Spartan FPGA中实现的这一解决方案以两款知识产权(IP)内核—NGNTime 和 FemtoTime的方式提供。两款内核与业界主要标准网络时序协议(NTP)完全兼容,为IEEE 1588第2版或精确时间协议(PTP)提供了一个迁移路径。 通过支持广泛部署的NTP协议,并且为利用同一硬件过渡
[新品]
英特尔发布新的可编程加速卡D5005,已被HPE采用
英特尔今天宣布推出基于Stratix 10 SX FPGA的D5005可编程加速卡,已在HPE ProLiant DL3809 Gen10服务器中应用。 英特尔于2017年宣布推出可编程加速卡,作为在数据中心使用FPGA的综合平台,其中第一个产品由20纳米Arria 10 GX组成。2018年,英特尔宣布将推出采用更新的14nm FPGA的PAC,今天产品正式亮相,Hewlett Packard Enterprise(HPE)作为发布合作伙伴共同宣布推出。 新的英特尔FPGA PAC D5005加速器是PAC产品系列中的第二代产品,包含一个Stratix 10 SX FPGA。 PAC还附带英特尔的加速堆栈,提供驱动程序,
[嵌入式]
英特尔发布新的可编程加速卡D5005,已被HPE采用
Canyon Bridge收购Lattice 看好FPGA市场前景为原因之一
     集微网消息,据台湾媒体报道,美国莱迪思半导体(Lattice Semiconductor)传出已与具陆资背景的Canyon Bridge签署收购协议,交易完成后,莱迪思将继续以一间独立子公司型态经营。如果通过美国相关部门审核并经莱迪思股东大会通过,该交易可望在2017年上半完成。评论指出,虽然市场传出该购并案可能有大陆政府指导,但由于FPGA未来发展相当可期,看好该技术的前景也可能是收购目的。 莱迪思在FPGA上营收表现名列全球第三,仅次于赛灵思(Xilinx)及Altera,其主要产品包括消费性电子、通讯与工业等,同时推出USB Type C、智能型手机与平板等装置互连、影像传输解决方案、电源控制与无线通讯传输芯片。
[手机便携]
基于平台的FPGA显示设计方案可节省系统成本
  如今数字显示设备中引起成本变化的主要因素是显示屏。在设计阶段,不断推进基于平台的显示设计的决策可以大大减少采购成本。如果能支持多种显示屏尺寸,原始设备制造商(OEM)能从一个供应商那里得到较大的折扣。为了支持多种显示屏供应商的规范,OEM可以创建竞争形势以得到较低的价格。这两种方案节省的开支大于由于需要额外的器件而引起价格的上升,例如能实现基于平台设计的FPGA。此外,多个供应商的支持降低了连续供给的风险。 基于平台的显示设计的一些考虑   为了采用基于平台的方法获取最佳的成本节省和灵活性,系统设计者为系统挑选器件时须遵循下列准则:不同地方的对图形处理器的要求不同,可编程特性支持全球的多种标准和格式,加速终端产品
[电源管理]
基于平台的<font color='red'>FPGA</font>显示设计方案可节省系统成本
Microsemi推出下一代SmartFusion®2 SoC FPGA
致力于提供帮助功率管理、安全、可靠与高性能半导体技术产品的领先供应商美高森美公司(Microsemi Corporation,纽约纳斯达克交易所代号:MSCC)发布新的SmartFusion®2系统级芯片(system-on-chip,SoC)现场可编程门阵列(field programmable gate array,FPGA)系列。Microsemi下一代SmartFusion2 SoC FPGA设计用于满足关键性工业、国防、航空、通讯和医疗应用对先进安全性、高可靠性和低功耗的基本需求。SmartFusion2在单一芯片上集成了固有可靠性的快闪FPGA架构、一个166(MHz)ARM® Cortex™-M3处理器、先进的安全处
[嵌入式]
一款基于AD9650的高速数据采集系统设计
随着数字信号处理技术的发展,越来越多的信号处理环节可以通过后端的软件处理完成,但这反而使得电子设备对前端数据采集系统的要求不断提高。因为后端软件的处理效果归根结底依赖于数据中所包含的信息量,只有提高数据采集的动态性能,才能保障后端处理的效果。长期以来,在数据采集领域,高速大动态范围 ADC 系统的设计与实现始终是研究的热点。当雷达工作在高杂波的电磁环境中,探测对象的RCS或多普勒信息非常微弱时,就对设计实现高速大动态范围数据采集系统提出了迫切的需求。 目前,国内对高速大动态范围 ADC 数据采集系统设计主要依赖于芯片的指标而缺乏系统的研究和总结。本设计旨在通过优化系统设计,结合动态性能优越的模数转换芯片,实现一个高速大动态范围数据
[电源管理]
一款基于AD9650的高速<font color='red'>数据采集</font>系统设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved