一种应用于串行总线分析仪器的can总线协议解码ip核的制作方法

文档序号:9870009阅读:616来源:国知局
一种应用于串行总线分析仪器的can总线协议解码ip核的制作方法
【技术领域】
[0001] 本发明设及一种串行总线分析技术,具体设及基于测试仪器系统的CAN总线协议 解码技术。
【背景技术】
[0002] 面对日益复杂的串行总线协议分析问题,现代测试仪器系统对串行总线协议分析 的要求越来越高,总线协议解码技术逐渐应用于串行总线协议分析设计中。
[0003] 总线协议解码技术可W对多种复杂的串行总线信号进行定性和定量的测试分析。 对于现代测试系统总线分析领域来说,总线协议解码技术有利于提高从总线数据中获取有 用信息的准确性、可靠性和灵活性,因此成为现代测试系统中不可或缺的技术,可W满足现 代高速复杂设备的测试需求。
[0004] 在现代总线协议分析领域中,面对日益复杂的串行总协议分析,总线协议解码技 术往往只是孤立地使用信号分析功能进行调试,孤立地使用模拟信号分析功能,不能做到 对信号进行数据域的协议分析。而且,CAN总线的数据类型繁杂,数据格式复杂,并且具有较 长的数据长度,从数据域的角度进行协议分析,总线协议解码技术可能无法满足复杂的测 试要求。因此CAN总线协议解码技术,在现代测试系统的串行总线分析领域有着迫切的应用 需求和实际意义。
[0005] 如何对CAN总线数据进行准确的协议解码,也是现代测试仪器系统开发和研制的 重点。

【发明内容】

[0006] 本发明是为了解决现有的协议解码技术对传输的数据进行协议解码的准确性和 可靠性低的问题,本发明提供了一种应用于串行总线分析仪器的CAN总线协议解码IP核系 统。
[0007] -种应用于串行总线分析仪器的CAN总线协议解码IP核,它包括输入接口控制模 块、CAN总线协议解码核屯、控制模块和输出接口控制模块;
[000引输入接口控制模块中内嵌一个1号AXI8位内存映射型从端口模块和一个数据输入 缓冲FIFO模块,用于将写入1号AXI8位内存映射型从端口模块的CAN总线数据读取出来,并 存储到数据输入缓冲FIFO模块中;
[0009] CAN总线协议解码核屯、控制模块,用于从数据输入缓冲FIFO模块中读取CAN总线数 据,并将读取的CAN总线数据进行解码后,发送至输出接口控制模块;
[0010] 输出接口控审臘块中内嵌一个2号AXI8位内存映射型从端口模块和一个数据输出 缓冲FIFO模块,用于将写入到数据输出缓冲FIFO模块中的解码结果通过2号AXI8位内存映 射型从端口模块读出。
[0011] 所述的CAN总线协议解码核屯、控制模块对读取的CAN总线数据进行解码的具体过 程为:
[001^ 步骤1、将读取的CAN总线的原始模拟数据进行中值滤波处理,去除毛刺;
[001引步骤2、将中值滤波处理后的CAN总线数据进行差分处理,获得差分后的CAN总线数 据化化i;
[0014]步骤3、计算差分后的CAN总线数据化tai中每个数据对应的时间标志,具体计算公 式如下:
(公式二),
[0016]其中,DataTimei代表第i个模拟数据的时间标志,SampRate代表总线数据采集的 采样率,i为整数,表示在整个采集的总线数据中,第i个模拟数据,DataSize表示总线数据 长度;
[0017]步骤4、根据设定的阔值化reshold,将差分后的具有时间标记的CAN总线数据 Datai转换成数字数据Dig;ma化i,具体转换过程如下: Di咨iLk;ta > Threshold ,.,
[001 引 I . ' .... . \,0<i< DaiaSize (公A ''); D 卿L>at€i重二Data^ < I hreshoi'J
[0019] 步骤5、在转换后的数字数据Digi化化1中查找帖的个数及每个帖的帖起始位置;
[0020] 步骤6、解码每一帖,从每一帖的帖起始位置开始计算该帖中每比特数据的电平, 直至帖结束位置,确定每帖CAN总线数据中每比特数据的电平后,根据CAN总线协议规范对 每帖CAN总线数据进行串行协议解码,翻译成与协议格式对应的文本内容,完成对CAN总线 的原始模拟数据的解码;其中,每比特数据的电平为显性电平或隐性电平。
[0021] 所述的步骤1中将读取的CAN总线的原始模拟数据进行中值滤波处理,去除毛刺的 具体过程为:
[0022] Datai = Data_HrData_l^i,0<i<Da1:aSize (公式一),
[002引其中,化tai代表做差分后的CAN总线数据,Data_出代表CAN总线上的高通道CAN_H 线上的总线数据,Data_Li代表CAN总线上的低通道CAN_L线上的总线数据。
[0024]所述的步骤5中找到每个帖的起始位置后,从帖起始位置开始计算该帖中每比特 数据的电平的具体过程为:
[00巧]首先,通过公式四获得平均值AverLe ve Ik,且
(公式四),
[0027]其中,AverLevelk表示第k位数据的1比特数字数据平均值,FrameSize表示一帖数 据中包含的比特数,k为整数,Poin证e巧it表示每比特数据中包含的数字数据个数;
[002引其次,将得到的平均值AverLevelk与设置的电平阔值化reshold_Bit作比较,判断 每比特数据电平是显性电平还是隐性电平,判断条件如下: D咕IJah:! Bill 二 l,A、\rL乂化'!,>Th!\'shold 孜
[0029] - " - f.l<k<l'-nm!cShc (公 AZ!.), 以脚i_公1'//. = 0, /1 化tZ"乂乂 < 7知-"'々化/(/_化7'
[0030] 其中,Digi化化_Bitk表示1比特数据的电平,DigiData_Bitk = 1中的1代表显性电 平,DigiData_Bitk=0中的0代表隐性电平。
[0031] 所述的电平阔值!'虹e sho I d_B i t为0.8。
[0032] 所述的解码帖类型为标准格式数据帖、扩展格式数据帖、标准格式遥控帖、扩展格 式遥控帖、错误帖或过载帖。
[0033] 所述的错误类型包括CRC错误、DLC错误和ACKLost错误。
[0034] 所述的与协议格式对应的文本内容包括解码帖类型、帖ID、数据长度、数据内容、 帖CRC W及错误类型。
[0035] 本发明带来的有益效果是,一种应用于串行总线分析仪器的CAN总线协议解码IP 核将采集到的CAN总线数据根据指定的CAN总线协议,翻译成与协议格式对应的文本内容。 在文本内容中具有时间标记,该时间标记能够和模拟波形对应。并且按照文本内容进行标 识(帖起始、帖结束、帖ID、数据及内容、帖类型、帖CRC),并且能够识别协议中的错误(CRC错 误、DLC错误、ACKLost错误),使得协议解码的准确性提高了5% W上和可靠性提高了5% W 上。
【附图说明】
[0036] 图1为本发明所述的一种应用于串行总线分析仪器的CAN总线协议解码IP核的原 理不意图;
[0037] 图2为本发明所述的一种应用于串行总线分析仪器的CAN总线协议解码IP核与上 位机和串行总线数据源模块连接关系结构图。
【具体实施方式】
【具体实施方式】 [0038] 一:参见图1说明本实施方式,本实施方式所述的一种应用于串行总 线分析仪器的CAN总线协议解码IP核,它包括输入接口控制模块1、CAN总线协议解码核屯、控 制模块2和输出接口控制模块3;
[0039] 输入接口控制模块1中内嵌一个1号AXI8位内存映射型从端口模块1-1和一个数据 输入缓冲FIFO模块1-2,用于将写入巧AXI8位内存映射型从端口模块1-1的CAN总线数据读 取出来,并存储到数据输入缓冲FIFO模块1-2中;
[0040] CAN总线协议解码核屯、控制模块2,用于从数据输入缓冲FIFO模块1-2中读取CAN总 线数据,并将读取的CAN总线数据进行解码后,发送至输出接口控制模块3;
[0041] 输出接口控制模块3中内嵌一个2号AXI8位内存映射型从端口模块3-1和一个数据 输出缓冲FIFO模块3-2,用于将写入到数据输出缓冲FIFO模块3-2中的解码结果通过2号 AXI8位内存映射型从端口模块3-1读出。
【具体实施方式】 [0042] 二:本实施方式与一所述的一种应用于串行总线分析 仪器的CAN总线协议解码IP核的区别在于,所述的CAN总线协议解码核屯、控制模块2对读取 的CAN总线数据进行解码的具体过程为:
[0043] 步骤1、将读取的CAN总线的原始模拟数据进行中值滤波处理,去除毛刺;
[0044] 步骤2、将中值滤波处理后的CAN总线数据进行差分处理,获得差分后的CAN总线数 据化化i;
[0045] 步骤3、计算差分后的CAN总线数据化tai中每个数据对应的时间标志,具体计算公 式如下:
(公式二),
[0047]其中,DataTimei代表第i个模拟数据的时间标志,SampRate代表总线数据采集的 采样率,i为整数,表示在整个采集的总线数据中,第i个模拟数据,DataSize表示总线数据 长度;
[004引步骤4、根据设定的阔值化reshold,将差分后的具有时间标记的CAN总线数据 Datai转换成数字数据Digi化化i,具体转换过程如下: DigiLkiki,二 \、Lkiia,> Threshold 入 。一、
[0049] . 么i<!)奶施i泌 (公'式二)., D咕 1-)加 1 二 O'LkWa <'l'hresh(,!(J
[0050] 步骤5、在转换后的数字数据Digi化化I中查找帖的个数及每个帖的帖起始位置;
[0051] 步骤6、解码每一帖,从每一帖的帖起始位置开始计算该帖中每比特数据的电平, 直至帖结束位置,确定每帖CAN总线数据中每比特数据的电平后,根据CAN总线协议规范对 每帖CAN总线数据进行串行协议解码,翻译成与协议格式对应的文本内容,完成对CAN总线 的原始模拟数据的解码;其中,每比特数据的电平为显性电平或隐性电平。
[0052] 本实施方式,通过步骤3可W在文本内容中进行时间标记,该时间标记能够和模拟 波形、转换后的数字数据对应。
[0053] 可W根据CAN总线的模拟数据大小决定阔值,保证阔值可W合理的将CAN总线数据 分成两个状态(〇、1)。
[0054] 步骤5中,在转换后的数字数据中,从0到化taSize查找帖起始(SOF)位置,CAN总线 空闲状态是隐性电平,每种格式帖的帖起始条件是一位显性电平。为了保证查找帖起始位 置的准确率,需要添加一个判断条件:因为每帖的帖结束化OF)段是连续7位隐性电平,先找 到连续7位隐性电平,满足运个判断条件就可W保证在总线空闲状态下查找帖起始,在空闲 状态下找到的第一位显性电平就是帖起始,即先确定找到化in巧erBi巧7个连
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1