CN101770424A - 适于数字通信终端底层协议栈的数据采集与仿真系统 - Google Patents

适于数字通信终端底层协议栈的数据采集与仿真系统 Download PDF

Info

Publication number
CN101770424A
CN101770424A CN201010031305A CN201010031305A CN101770424A CN 101770424 A CN101770424 A CN 101770424A CN 201010031305 A CN201010031305 A CN 201010031305A CN 201010031305 A CN201010031305 A CN 201010031305A CN 101770424 A CN101770424 A CN 101770424A
Authority
CN
China
Prior art keywords
data
protocol stack
fpga
bus
underlying protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201010031305A
Other languages
English (en)
Other versions
CN101770424B (zh
Inventor
黄建尧
肖文雄
王长嵩
吴华荣
侯运林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin 712 Communication and Broadcasting Co Ltd
Original Assignee
Tianjin 712 Communication and Broadcasting Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin 712 Communication and Broadcasting Co Ltd filed Critical Tianjin 712 Communication and Broadcasting Co Ltd
Priority to CN2010100313050A priority Critical patent/CN101770424B/zh
Publication of CN101770424A publication Critical patent/CN101770424A/zh
Application granted granted Critical
Publication of CN101770424B publication Critical patent/CN101770424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种适于数字通信终端底层协议栈的数据采集与仿真系统。该系统包括DSP、数据采集系统和计算机仿真系统,数据采集系统包括FPGA和USB接口芯片以及与之对应的存储器,计算机仿真系统包括计算机以及运行于计算机之上的数据接收程序模块和系统仿真程序模块,DSP分别通过地址总线、数据总线、片选、写使能连接到FPGA上,FPGA的采集输出端连接到USB接口芯片的数据输入端,USB接口芯片通过USB总线连接到计算机上。采用数据采集系统直接与DSP高速数据总线相连的方式,能够保证采集到的数据与底层协议栈输入数据完全一致。由于数据总线读写速率极高,耗时极短,因而不会对底层协议栈运行造成影响。该系统适于对底层协议栈进行开发、调试,从而达到追踪、再现问题,查找程序缺陷的目的。

Description

适于数字通信终端底层协议栈的数据采集与仿真系统
技术领域
本发明涉及数字通信终端的数据采集与处理系统,特别涉及一种适于数字通信终端底层协议栈的数据采集与仿真系统。
背景技术
随着软件无线电思想与技术的发展,现代数字通信系统中越来越多的使用通用数字信号处理器(DSP)结合高速模/数(A/D)、数/模(D/A)转换器来进行通信体系模型中物理层(信号的调制、解调)和媒体接入层(信道编、解码)的部分数据处理工作。近年来,数字信号处理理论发展迅猛,数字信号处理器工作频率及处理能力不断提高,数字通信系统中越来越多的工作能够通过DSP来完成,因而DSP本身的程序结构也越来越复杂。由于通信信号(尤其是无线通信)本身具有很强的实时性、随机性特点,造成DSP的输入数据缺乏规律性,一闪即逝,从而导致相应的处理程序出现了问题不好复现,而且问题难于追踪、捕捉,这就给DSP的程序设计与调试带来了较大困难。
常见的嵌入式系统调试手段有JTAG仿真器调试、串口输出、通用输入输出端口(GPIO)输出等几种。
JTAG仿真器可以连接硬件电路,通过JTAG协议直接访问芯片内部寄存器,从而达到在线仿真的目的,可以设置断点调试程序。但是由于底层协议栈所处理的通信信号有很强的实时性和随机性,程序一旦出现异常,使用JTAG仿真器不具备实时调试能力,无法捕捉连续的信息,无法分析异常的前因后果,因而这种方式不适于底层协议栈调试。
串口输出是嵌入式系统远程调试最常用的一种方法,主要是因为串口是一种比较常用的通信端口,协议简单,大多数设备都支持,另外在计算机上处理串口数据也很容易。调试时,在目标程序中添加一些调试信息从串口输出,在计算机上通过接收到的串口数据可以比较容易的分析目标程序的流程。但这种方法一个致命的弱点就是串口速率很低,最高只能达到115200bit/s。而对于底层通信协议栈来说,从信道接收到的数据一般都有较高的数据率,一般都达到几Mbit/s甚至更高,如果需要跟踪每个数据的处理流程,那么串口速率显然是不够用的。
GPIO是另一种比较常见的嵌入式程序调试方法,程序通过设置几个GPIO引脚的状态,来表示某种流程或者结果,通过示波器来观察GPIO的信号变化情况,从而得到程序的运行状态。由于GPIO变化速率很快,因而这种方式能够跟踪高速信号,但其弱点是GPIO只能以电平的高低来表示两种状态,即使使用多个GPIO端口也只能表示有限的状态。一些算法的实现程序,调试时需要知道某一步计算结果的具体数值,这时候GPIO调试方式就无能为力了。
常见的数据采集系统一般通过A/D转换器直接采集模拟信号。整个通信系统中有多个数据采集切入点可选,可以对中频信号直接采样,也可以对基带信号采样,但这种采集方式,采集系统需要直接连接到终端模拟信号通路上,很可能由于匹配等原因造成原信号的失真,直接影响底层协议栈解调部分的正常运行。同时由于A/D转换器本身的差异,也不能保证采集系统采集到的数据与DSP的输入数据完全一致,那么就不能保证对底层协议栈运行状况再现时得到完全一致的数据流程。因而这种采集系统也不适合底层通信协议栈的调试。
发明内容
鉴于上述技术现状,本发明的目的是采用高速的数据采集系统,来收集底层协议栈的运行信息,之后根据收集到的信息,在计算机上进行分析,以再现当时底层协议栈的运行状况,方便查找问题。由此设计了适于数字通信终端底层协议栈的数据采集与仿真系统。
本发明为实现上述目的所采取的技术方案是:一种适于数字通信终端底层协议栈的数据采集与仿真系统,其特征在于:包括数字信号处理器、数据采集系统和计算机仿真系统,数据采集系统包括FPGA和USB接口芯片以及与之对应的FPGA程序存储器和USB接口芯片程序存储器,计算机仿真系统包括计算机以及运行于计算机之上的数据接收程序模块和系统仿真程序模块,所述的数字信号处理器分别通过地址总线、数据总线连接到数据采集系统内的FPGA上,FPGA的采集输出端连接到USB接口芯片的数据输入端口及写使能上,USB接口芯片通过USB总线连接到计算机仿真系统的计算机上,计算机上运行的数据接收程序模块与系统仿真程序模块连接。
本发明所产生的有益效果是:采用数据采集系统直接与数字信号处理器高速数据总线相连的方式,数字信号处理器将自身的输入数据以及其它相关运行状态通过数据总线发送至数据采集系统,能够保证采集到的数据与底层协议栈输入数据完全一致。由于数据总线读写速率极高,耗时极短,因而不会对底层协议栈运行造成影响。该系统适合于对底层协议栈进行开发、调试,从而能够达到追踪、再现问题,查找程序缺陷的目的。
附图说明
图1是本发明连接原理示意图并作为摘要附图;
图2是本发明工作程序流程图;
图3是本发明的FPGA格式转换时序图;
其中:图a是DSP EMIFS总线输出时序图;图b是CY7C68013A GPIF输入时序图;
图4是本发明系统仿真程序流程图;
图5是本发明数据接收程序模块中的数据解析程序流程图。
具体实施方式
以下结合附图对本发明作进一步说明。
为了满足高速采集的需要,数据采集系统可以采用PCI总线、USB总线等方式与计算机相连。采用PCI总线方式的采集卡应用比较广泛,也有很多优势。但是它需要将采集卡安装在计算机机箱内,受机箱内部复杂的电磁波干扰比较厉害,对于无线通信系统来说很可能会影响其正常工作。另一方面,PCI板卡安装和拆卸不方便,不利于对移动终端进行现场数据采集。USB总线方式具有即插即用、连接简便的特点,正好可以克服上述PCI总线的缺点,只是传输速率略低,理论上能够达到480Mbit/s,但这对于大多数应用来说已经足够,因而USB总线是数据采集卡与计算机比较理想的接口。
如图1所示,本系统包括数字信号处理器(DSP)、数据采集系统和计算机仿真系统,数据采集系统包括现场可编程门阵列(FPGA)和USB接口芯片以及与之对应的FPGA程序存储器和USB接口芯片程序存储器,计算机仿真系统包括计算机以及运行于计算机之上的数据接收程序模块和系统仿真程序模块,DSP分别通过地址总线、数据总线、片选、写使能连接到数据采集系统内的FPGA上,FPGA的采集输出端连接到USB接口芯片的数据输入端口及写使能上,USB接口芯片通过USB总线连接到计算机仿真系统的计算机上,计算机上运行的数据接收程序模块与系统仿真程序模块连接。
DSP输出数据格式与USB接口芯片输入数据格式不匹配,DSP输出数据不能直接通过USB接口芯片传输到计算机上,需要对其进行时序、逻辑转换,因而采用FPGA作为中间接口芯片,实现二者的数据匹配。
DSP的地址总线与数据总线连接到数据采集系统中的FPGA上,选择一组空闲的外部总线地址空间作为采集输出,将对应的片选(CS)与写使能(WE)连接到数据采集系统上。数据采集系统内部包含FPGA与USB接口芯片,以及与之对应的程序存储器。系统上电时,FPGA及USB程序存储器将内部存储的程序上载到对应的芯片中。FPGA与目标终端的DSP输出总线相连,另一端与USB接口芯片的数据输入端口相连。USB接口芯片通过USB总线连接到计算机上,计算机仿真系统中的数据接收模块通过USB总线接收数据,并将接收到的数据解析、存储成仿真数据文件,作为系统仿真模块的输入。
如图2所示,系统工作流程包括如下步骤:
(1)、目标终端底层协议栈运行的DSP将需要采集的各种数据通过总线发送到数据采集系统中的FPGA上;不同的地址用来区分不同的数据类型。
(2)、FPGA将DSP总线地址、数据格式及时序转换成USB接口芯片的输入格式及时序,发送到USB接口芯片的数据接收端口,并通过写使能信号通知USB接口芯片数据已经准备好,可以接收。
(3)、USB接口芯片对FPGA发送的数据进行缓存,并将其转换成USB总线格式,等待计算机发送读取指令时,将数据传送到计算机上。
(4)、计算机仿真系统中的数据接收模块通过底层驱动程序,接收USB总线数据,并进行解析,存储成仿真数据文件。
(5)、系统仿真程序模块以仿真数据文件作为输入数据,对DSP底层协议栈运行状况进行仿真再现,方便开发人员查找问题。
在实际应用中,目标终端的DSP为TI公司OMAP5910双核处理器中的C55x系列DSP芯片,FPGA选择Altera公司的EP1C3芯片,USB接口芯片采用Cypress公司的CY7C68013A芯片。DSP的低七位地址总线A0~A6,十六位数据总线(D0~D15),慢速外部存储器接口(EMIFS)的片选信号CS2,写使能(WE)信号连接到FPGA上。FPGA与CY7C68013芯片的十六位数据输入总线(FD0~FD15)以及写使能(RDY)相连。
CY7C68013A芯片外部通用可编程接口(GPIF)可作为数据输入端口的仅有十六位(FD0~FD15),而DSP输出的携带信息数据一共有二十三位(十六位数据线D0~D15和七位地址线A0~A6),故而需要将多出的七位地址信息嵌入到数据中去,将一个十六位数据拆分成两个,每个数据中的低八位(FD0~FD7)用于存储原数据信息(D0~D7或D8~D15),高七位(FD8~FD14)存放地址类型信息(A0~A6),最高位(FD15)用于标识当前数据中FD0~FD7是原数据的D0~D7,还是D8~D15,具体格式如图3中的b图所示。CY7C68013A芯片GPIF端口使用内部48MHz时钟,每个GPIF信号周期为20.83ns。而FPGA为了与高速设备兼容,需要使用更高的时钟源,二者时钟不同步,为了保证GPIF能够采集到RDY信号,FPGA输出的信号至少需要保持1.5个GPIF信号周期。GPIF每次从外部读取数据存入FIFO需要六个状态,故而每个输出数据间隔应大于六个GPIF信号周期。C55xDSP主频时钟144MHz,与FPGA连接的为EMIFS外部总线,则FPGA转换信号时序如图3所示,其中a图为DSPEMIFS输出时序,b图为经FPGA转换后的CY7C68013A芯片GPIF输入时序及数据格式。
由于CY7C68013A芯片内置的8051内核时钟周期较慢,不适于高速传输,因而采集程序中仅使用8051内核时钟进行初始化配置,而不干预数据传输过程。CY7C68013A芯片通过外部GPIF读取数据,存入其内部的先进先出(FIFO)存储器中,等待计算机从USB总线发出读取数据的指令时将FIFO中的数据通过USB总线传入计算机中。采用Cypress公司提供的通用程序框架以及图形化GPIF设计工具,参照图3中b图的时序,编辑GPIF波形。USB总线选择传输大量数据时比较常用的批量(Bulk)传输模式,硬件配置程序采用Cypress公司提供的程序模板。
计算机仿真系统在Windows操作系统下运行,其中的数据接收程序模块包括数据接收和数据解析两个部分,数据接收程序使用USB驱动程序接收数据,USB接口驱动程序可直接使用Cypress公司提供的ez-usb驱动,由于ez-usb驱动没有提供高级的文件操作IO方式,因而需要调用比较底层的DeviceIoControl函数来处理。考虑到Bulk传输方式完全是由主机端(计算机)发起读操作,从机端(数据采集系统)只能被动的等待,而当CY7C68013A芯片内置的FIFO缓存写满之后,如果主机不能及时的发起读操作,则FIFO不再接收数据写入操作,因而会有少量的数据丢失,对于底层协议栈调试来说,这种少量的数据丢失可能引起程序流程错误,是不能接受的。故而数据接收程序应采用多线程处理方式,将接收USB数据的工作列为单独的线程,并将其优先级设置为实时性最高的THREAD_PRIORITY_TIME_CRITICAL,防止接收数据过程被系统中其它进程打断,以确保每次读操作能够及时发出。同时也要保证计算机操作系统中同时运行的进程尽量少,关掉不必要的后台进程。
数据接收程序接收到的数据先存入临时数据文件中,以备数据解析程序使用。临时数据文件以字(十六位)为单位存储,低字节在前,每个数据用两个字来表示,与FPGA转换后的数据格式一致,每个字的低字节存储数据信息,高字节存储地址信息,如表1所示。
表1临时数据文件存储格式
Figure G2010100313050D00041
要想再现底层协议栈运行状态,除了保证底层协议栈整体输入、输出一致外,最大的难度在于系统定时,要能够准确再现各种事件的发生时刻。基于软件无线电技术的数字通信系统大都采用过采样方式,A/D、D/A速率都比较高而且稳定,因而底层协议栈也大多以A/D、D/A的输入、输出中断作为系统定时。再者通信终端作为接收机时,底层协议栈需要以A/D采样数据作为其它部分(信道估计与均衡、解调、信道解码等)的驱动数据;作为发射机时,D/A输出数据是底层协议栈的最终输出结果,需要仿真程序进行验证。故而仿真程序可以采用A/D、D/A中断来划分程序运行的最小时间片,其它各种事件的发生都通过中断个数来记时,仿真程序通过判断A/D、D/A数据的个数来调用各程序函数来再现底层协议栈运行状况及数据流向。这样就可以在不增加开销的情况下,尽最大可能保证仿真程序与实际DSP中运行的协议栈一致,方便再现问题。
由前所述,仿真时所用的数据需在DSP的底层协议栈代码中输出。首先需要输出的为前端A/D、D/A数据,以及底层协议栈与上层协议栈之间的交互数据,这是底层通信协议栈接收、发射信息时所需的输入数据与最终的输出结果。其次,其它外围设备产生的中断和输入数据也会影响底层协议栈流程,是仿真时所必须的部分。再次,底层协议栈各任务唤醒、挂起、运行、结束等状态变化需要输出,以保证仿真程序运行时刻与实际情况一致。另外,在两次A/D、D/A中断之间会发生多次变化的全局变量也需要输出,以弥补时间片划分的不足。
表1所示的接收数据不便直接用于仿真,需要进行格式转换。仿真时所有事件通过A/D、D/A数据记时,故而除A/D、D/A数据外,其它类型数据需要记录A/D、D/A数据个数信息,作为时间戳,因而可将所有数据分为两大类:A/D、D/A数据和非A/D、D/A数据。为了便于仿真,将这两种类型数据分别存放于两个文件中,作为系统仿真模块的输入文件。在解析数据时,需要将为了与CY68013A芯片兼容而通过FPGA拆分开的两个十六位数据重新合并为一个,并将不同类型的数据分开。A/D、D/A数据一般长度固定,由A/D、D/A转换器分辨率(位数)而定,本例中为十六位,每次中断输出一个数据,则解析后的数据格式如表2所示。
表2A/D、D/A数据存储格式
Figure G2010100313050D00042
非A/D、D/A数据根据程序需求,长度不固定,可在协议栈程序输出数据中包含长度信息,也可在接收程序与输出程序中提前规定好数据长度,例如非A/D、D/A数据以字为单位,数据长度为N,则解析后的数据格式如表3所示。
表3非A/D、D/A数据存储格式
Figure G2010100313050D00043
由于底层协议栈需要兼顾外围硬件控制,各种外部中断比较多,很可能会打断数据输出,因而在解析数据时,需要考虑各种数据之间的嵌套。为此可以对每种数据采用单独的缓冲区,待解析到一条完整数据之后再存入文件中,同时还要保证文件中各种非A/D、D/A数据按照发生时间的先后顺序排列。
如图5所示,数据接收程序模块的数据解析程序包括如下步骤:
(1)、首先在临时数据文件中读取一个字,判断最高位是否为1,若不为1,表示此数据低八位存储的是DSP发送的数据D0~D7,按照表1的存储格式,此时只收到一个数据中的第一个字(每个数据包含两个字),需要将其缓存;若最高位为1,则表示此数据低八位存储的是DSP发送数据的D8~D15,按照表1的存储格式,此时已经收全了一个数据中的两个字,需要将二者低八位合并为原始数据。将当前字最高位置0之后,则高八位仅表示数据类型信息A0~A6。
(2)、在缓冲区中从后向前搜索,是否找到高八位相同的数据,若找到,将当前低八位数据与找到的高八位数据合并为原始数据,并记录类型信息;若未找到,则表明当前数据或之前缓冲的数据中有错误发生,此时应报告错误信息。
(3)、判断已经合并好的数据类型是否为A/D、D/A数据,若为A/D、D/A数据,则存入A/D、D/A数据文件中,并将计数值加1;若为其它类型数据,则根据当前类型信息,查找与之匹配的缓冲区中是否已有数据存在,若已有数据存在,则将数据存入本类型缓冲区;说明此条数据正在发送过程中,判断已存在的数据个数是否已经达到此类型数据定义的长度,若已收到一条完整数据,则将此条完整信息封存。若缓冲区中没有数据存在,则说明当前数据为新的一条数据的开始,此时应开启新的缓冲区用来存储后来收到的同一类型数据,并记录当前的A/D、D/A计数值,以此作为本条信息的开始时间。
(4)、对已经封存的完整非A/D、D/A数据信息,需要按照时间发生的先后顺序,存入数据文件中。由于底层协议栈中断比较多,很有可能在发送仿真数据时被中断打断,同时在中断服务程序中需要发送另一类型的数据,这样就会造成某一条数据信息中插入其它类型数据。为了对这种情况进行正确解析,在收到一条完整非A/D、D/A数据之后,需要在所有正在处理的数据信息(包括已封存的完整数据和正在缓冲的不完整数据)中进行搜索,查找当前数据是否为最早的数据信息,如果是,则将当前数据存入非A/D、D/A数据文件中。之后继续搜索已经封存的完整数据,查找是否有完整数据的起始时刻在剩余的正在处理数据中最早,将此条信息数据接着存入非A/D、D/A数据文件中,如此反复搜索,直到所有完整数据信息搜索完毕,此时完成一个解析过程,之后在临时文件中读取下一个数据,开始一个新的解析过程,之后重复(1)~(4),如此往复直至临时数据文件解析完毕,解析程序结束。
系统仿真模块使用解析程序输出的仿真数据文件对底层协议栈运行情况进行仿真再现。系统仿真之前,首先要将运行于DSP中的底层协议栈代码转换为计算机上可运行的代码,一般DSP大多采用C语言和汇编语言相结合的方式进行开发,C代码基本上不需进行大量修改,汇编代码需要根据其工作原理,转译成C代码。系统仿真时以A/D、D/A数据为驱动,通过判断非A/D、D/A数据的发生时刻(A/D、D/A数据计数值)来调动底层协议栈各部分任务运行,以达到再现协议栈运行状况,调试程序的目的。
如图4所示,系统仿真模块的仿真程序包括以下步骤:
(1)、首先读取一条非A/D、D/A数据,记录当前数据的发生时刻;
(2)、读取一个A/D、D/A数据,并进行相关的处理,之后判断是否达到非A/D、D/A数据的发生时刻,若未达到,则继续读取下一个A/D、D/A数据,直到到达非A/D、D/A数据发生时刻为止;若已达到,则分析本条非A/D、D/A数据类型,并进行相关处理。分析非A/D、D/A数据的内容,调用协议栈相关程序处理本条数据。此时完成一个处理过程,之后再读取下一条非A/D、D/A数据,重复(1)~(2)步骤,直到非A/D、D/A数据文件处理完毕。
应用效果举例:例如大多数通信系统都会用到卷积码进行前向纠错编码,解码时需要采用维特比译码算法,计算路径度量,保留残留路径,若残留路径选择错误,则可能导致译码错误。采用本系统进行调试时,可在终端协议栈程序中输出维特比译码输入数据,以及每一条路径的度量值和残留路径选择结果,在仿真系统中对输入数据进行相同的译码运算,对比接收到的路径度量值和残留路径选择结果,若发现不一致,则可以确定在哪一步,哪一个比特译码时出现问题,这样有利于开发人员发现协议栈程序中的错误,能够快速、准确定位问题,可以提高开发效率。又如有些硬件操作需要底层协议栈控制,仿真时可以按照“[发生时间]硬件操作内容”的格式写到文件中,作为仿真程序的输出,这样通过查询输出文件,各种硬件操作的先后关系一目了然,更形象化,有利于发现硬件控制上的逻辑错误。

Claims (4)

1.一种适于数字通信终端底层协议栈的数据采集与仿真系统,其特征在于:包括数字信号处理器、数据采集系统和计算机仿真系统,数据采集系统包括FPGA和USB接口芯片以及与之对应的FPGA程序存储器和USB接口芯片程序存储器,计算机仿真系统包括计算机以及运行于计算机之上的数据接收程序模块和系统仿真程序模块,所述的数字信号处理器分别通过地址总线、数据总线、片选、写使能连接到数据采集系统内的FPGA上,FPGA的采集输出端连接到USB接口芯片的数据输入端口及写使能上,USB接口芯片通过USB总线连接到计算机仿真系统的计算机上,计算机上运行的数据接收程序模块与系统仿真程序模块连接。
2.根据权利要求1所述的适于数字通信终端底层协议栈的数据采集与仿真系统,其特征在于:系统工作流程包括如下步骤:
(1)、数字信号处理器将需要采集的各种数据通过总线发送到数据采集系统中的FPGA上;
(2)、FPGA将数字信号处理器总线的地址、数据格式及时序转换成USB接口芯片的输入格式及时序,发送到USB接口芯片的数据接收端口,并通过写使能信号通知USB接口芯片数据已经准备好,可以接收;
(3)、USB接口芯片对FPGA发送的数据进行缓存,并将其转换成USB总线格式,等待计算机发送读取指令时,将数据传送到计算机上;
(4)、计算机仿真系统中的数据接收程序模块通过底层驱动程序,接收USB总线数据,并进行解析,存储成仿真数据文件;
(5)、系统仿真程序模块以仿真数据文件作为输入数据,对数字信号处理器底层协议栈运行状况进行仿真再现。
3.根据权利要求1或2所述的适于数字通信终端底层协议栈的数据采集与仿真系统,其特征在于:数据接收程序模块中的数据解析程序包括如下步骤:
(1)、首先在临时数据文件中读取一个字,判断最高位是否为1,若不为1,将其缓存;若最高位为1,则将当前字最高位置0;
(2)、在缓冲区中是否找到高八位相同的数据,若找到,将当前数据低八位数据与找到数据的低八位数据合并为原始数据,并记录类型信息;若未找到,则报告错误信息;
(3)、判断已经合并好的数据类型是否为A/D、D/A数据,若为A/D、D/A数据,则存入A/D、D/A数据文件中,并将计数值加1;若为其它类型数据,则根据当前类型信息,查找与之匹配的缓冲区中是否已有数据存在,若已有数据存在,则将数据存入本类型缓冲区;若缓冲区中没有数据存在,则开启新的缓冲区,并记录当前的A/D、D/A计数值;
(4)、在收到一条完整非A/D、D/A数据之后,在所有正在处理的数据信息中进行搜索,查找当前数据是否为最早的数据信息,如果是,则将当前数据存入非A/D、D/A数据文件中,之后继续搜索已经封存的完整数据,查找是否有完整数据的起始时刻在剩余的正在处理数据中最早,将此条信息数据接着存入非A/D、D/A数据文件中,如此反复搜索,直到所有完整数据信息搜索完毕,之后重复(1)~(4)的步骤,直至临时数据文件解析完毕。
4.根据权利要求1或2所述的适于数字通信终端底层协议栈的数据采集与仿真系统,其特征在于:系统仿真程序模块包括以下步骤:
(1)、首先读取一条非A/D、D/A数据,记录当前数据的发生时刻;
(2)、读取一个A/D、D/A数据,之后判断是否达到非A/D、D/A数据的发生时刻,若未达到,则继续读取下一个A/D、D/A数据,若已达到,则分析本条非A/D、D/A数据类型,调用底层协议栈的仿真程序进行相关处理,之后重复(1)~(2)的步骤,直至非A/D、D/A仿真数据文件处理完毕。
CN2010100313050A 2010-01-05 2010-01-05 适于数字通信终端底层协议栈的数据采集与仿真系统 Active CN101770424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010100313050A CN101770424B (zh) 2010-01-05 2010-01-05 适于数字通信终端底层协议栈的数据采集与仿真系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010100313050A CN101770424B (zh) 2010-01-05 2010-01-05 适于数字通信终端底层协议栈的数据采集与仿真系统

Publications (2)

Publication Number Publication Date
CN101770424A true CN101770424A (zh) 2010-07-07
CN101770424B CN101770424B (zh) 2011-11-30

Family

ID=42503297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010100313050A Active CN101770424B (zh) 2010-01-05 2010-01-05 适于数字通信终端底层协议栈的数据采集与仿真系统

Country Status (1)

Country Link
CN (1) CN101770424B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963936A (zh) * 2010-09-09 2011-02-02 中国科学院长春光学精密机械与物理研究所 Dsp设备通过cf存储卡存储工作参数状态的方法
CN102664836A (zh) * 2012-03-29 2012-09-12 中国科学院计算技术研究所 一种用于宽带无线通信数字基带处理器的原型验证平台
CN102685439A (zh) * 2012-05-28 2012-09-19 上海海事大学 一种使用fpga实现图像数据传输控制的装置及方法
CN104991845A (zh) * 2015-06-24 2015-10-21 福州瑞芯微电子有限公司 多核芯片高速debug方法及装置
CN105068898A (zh) * 2015-06-24 2015-11-18 福州瑞芯微电子股份有限公司 USB type-C 高速debug方法及装置
CN105573901A (zh) * 2014-10-10 2016-05-11 京微雅格(北京)科技有限公司 一种fpga软件可达最高频率的混合搜索方法
CN105657255A (zh) * 2015-12-29 2016-06-08 合肥宏晶微电子科技股份有限公司 Usb免驱动视频采集卡数据采集方法
CN105760322A (zh) * 2016-02-29 2016-07-13 福州瑞芯微电子股份有限公司 一种多目标的高速debug电路
CN106326049A (zh) * 2016-08-16 2017-01-11 广东欧珀移动通信有限公司 一种故障定位方法及终端
CN106557440A (zh) * 2016-11-29 2017-04-05 青岛金思特电子有限公司 一种实现逻辑分析仪超大存储深度的系统及方法
CN111641708A (zh) * 2020-05-29 2020-09-08 山东超越数控电子股份有限公司 Dsp芯片传输数据的方法和装置
CN114064547A (zh) * 2021-11-15 2022-02-18 北京邮电大学 一种基于PCIe的通信协议栈硬件加速架构
CN114785631A (zh) * 2022-04-07 2022-07-22 潍柴动力股份有限公司 通信协议栈复用方法、通信方法、计算机设备及介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598354B (zh) * 2015-02-15 2016-05-25 浪潮电子信息产业股份有限公司 基于软硬架构的高端容错计算机fpga专用调试方法及其装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2727845Y (zh) * 2004-07-28 2005-09-21 中国科学院物理研究所 基于usb接口的平面位置控制和数据采集装置
CN101154183B (zh) * 2006-09-29 2011-12-28 上海海尔集成电路有限公司 一种微控制器嵌入式在线仿真调试系统
CN101408902A (zh) * 2008-10-06 2009-04-15 南京大学 基于fpga和usb总线的高速数据采集与传输方法
CN201583941U (zh) * 2010-01-05 2010-09-15 天津七一二通信广播有限公司 适于数字通信终端底层协议栈的数据采集与仿真系统

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101963936B (zh) * 2010-09-09 2012-09-19 中国科学院长春光学精密机械与物理研究所 Dsp设备通过cf存储卡存储工作参数状态的方法
CN101963936A (zh) * 2010-09-09 2011-02-02 中国科学院长春光学精密机械与物理研究所 Dsp设备通过cf存储卡存储工作参数状态的方法
CN102664836A (zh) * 2012-03-29 2012-09-12 中国科学院计算技术研究所 一种用于宽带无线通信数字基带处理器的原型验证平台
CN102664836B (zh) * 2012-03-29 2015-12-02 中国科学院计算技术研究所 一种用于宽带无线通信数字基带处理器的原型验证平台
CN102685439A (zh) * 2012-05-28 2012-09-19 上海海事大学 一种使用fpga实现图像数据传输控制的装置及方法
CN105573901B (zh) * 2014-10-10 2018-03-30 京微雅格(北京)科技有限公司 一种fpga软件可达最高频率的混合搜索方法
CN105573901A (zh) * 2014-10-10 2016-05-11 京微雅格(北京)科技有限公司 一种fpga软件可达最高频率的混合搜索方法
CN104991845A (zh) * 2015-06-24 2015-10-21 福州瑞芯微电子有限公司 多核芯片高速debug方法及装置
CN105068898A (zh) * 2015-06-24 2015-11-18 福州瑞芯微电子股份有限公司 USB type-C 高速debug方法及装置
CN105068898B (zh) * 2015-06-24 2018-12-18 福州瑞芯微电子股份有限公司 USB type-C高速debug方法及装置
CN104991845B (zh) * 2015-06-24 2018-10-23 福州瑞芯微电子股份有限公司 soc多核芯片高速debug方法及装置
CN105657255A (zh) * 2015-12-29 2016-06-08 合肥宏晶微电子科技股份有限公司 Usb免驱动视频采集卡数据采集方法
CN105760322B (zh) * 2016-02-29 2019-03-12 福州瑞芯微电子股份有限公司 一种多目标的高速debug电路
CN105760322A (zh) * 2016-02-29 2016-07-13 福州瑞芯微电子股份有限公司 一种多目标的高速debug电路
CN106326049A (zh) * 2016-08-16 2017-01-11 广东欧珀移动通信有限公司 一种故障定位方法及终端
CN106326049B (zh) * 2016-08-16 2019-07-19 Oppo广东移动通信有限公司 一种故障定位方法及终端
CN106557440A (zh) * 2016-11-29 2017-04-05 青岛金思特电子有限公司 一种实现逻辑分析仪超大存储深度的系统及方法
CN106557440B (zh) * 2016-11-29 2019-08-16 青岛金思特电子有限公司 一种实现逻辑分析仪超大存储深度的系统及方法
CN111641708A (zh) * 2020-05-29 2020-09-08 山东超越数控电子股份有限公司 Dsp芯片传输数据的方法和装置
CN114064547A (zh) * 2021-11-15 2022-02-18 北京邮电大学 一种基于PCIe的通信协议栈硬件加速架构
CN114064547B (zh) * 2021-11-15 2023-06-13 北京邮电大学 一种基于PCIe的通信协议栈硬件加速架构构建方法
CN114785631A (zh) * 2022-04-07 2022-07-22 潍柴动力股份有限公司 通信协议栈复用方法、通信方法、计算机设备及介质
CN114785631B (zh) * 2022-04-07 2023-12-15 潍柴动力股份有限公司 通信协议栈复用方法、通信方法、计算机设备及介质

Also Published As

Publication number Publication date
CN101770424B (zh) 2011-11-30

Similar Documents

Publication Publication Date Title
CN101770424B (zh) 适于数字通信终端底层协议栈的数据采集与仿真系统
CN102360329B (zh) 总线监控与调试控制装置及进行总线监控与总线调试的方法
CN100401267C (zh) 微处理器的片上动态跟踪方法
US7710969B2 (en) Rapid I/O traffic system
CN101493847A (zh) 一种通讯片上系统芯片追踪调试的方法及装置
CN101359309A (zh) 串行附接小型计算机系统接口硬盘状态指示装置及方法
CN101458725B (zh) 微控制器芯片及其调试方法
CN111258504B (zh) 一种基于sata接口固态硬盘的存储控制系统
CN109254883B (zh) 一种片上存储器的调试装置及方法
CN103593271A (zh) 一种片上系统芯片追踪调试的方法及装置
CN112035302B (zh) 一种总线数据的实时监控分析方法、装置及系统
CN101751327B (zh) 嵌入式处理器的跟踪调试方法
CN103777529A (zh) 一种速变信号采编器
WO2008053709A1 (fr) Dispositif et procédé de test de sélection de circuit intégré semi-conducteur
CN109902000B (zh) 变速多通道调试追踪系统、方法、设备及存储介质
CN103092119A (zh) 一种基于fpga的总线状态监视系统和方法
CN201583941U (zh) 适于数字通信终端底层协议栈的数据采集与仿真系统
CN103592599A (zh) 基于usb逻辑分析仪触发装置
CN202267954U (zh) 总线监控与调试控制装置
US7640376B2 (en) Method apparatus and computer programming product for direct memory access(DMA) technique on sequentially stored data
CN101998135A (zh) 移动电视信号采集及播放系统、控制方法
CN103092800B (zh) 一种数据转换实验平台
CN102645647A (zh) 雷达成像信号模拟器
CN114721983B (zh) 一种ddr4加速读写装置
US20060282719A1 (en) Unique Addressable Memory Data Path

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 300462 Binhai New Area, Tianjin economic and Technological Development Zone, North Street, No. 141

Patentee after: Tianjin 712 Communications Broadcasting Limited by Share Ltd

Address before: 300140 Hebei District new road, Tianjin, No. 185

Patentee before: Tianjin 712 Communication Broadcast Co., Ltd.