DS31256的分数级T1 (FT1)环回检测

时间:2010-01-22

  摘要:介绍了利用DS31256的接收BERT (误码率测试)功能实现分数级T1 (FT1)上环回或下环回检测(V.54)的方法,并给出了示例代码。

  概述

  这篇应用笔记介绍了利用DS31256的接收BERT功能实现分数级T1 (FT1)上环回或下环回检测(V.54)的方法,详细说明请参考分数级T1.403附录B规范。所提供的算法和示例代码简化了DS31256终用户的设计。

  DS31256只有一个BERT引擎,但有16个V.54引擎(每端口一个)。因此,当测试端口多于一个时,软件带宽必须能够处理多路复用技术。

  算法

  图1和图2所示流程图详细说明了上环回、下环回的操作流程。假设只有端口0查找FT1模板。基本算法设置BERT查询上环回模板。同步后,这个算法检测并确保BERT同步于可编程周期(例程中为0.6秒),然后查找一个全“1”模板。下环回例程中采用相同的同步、检验,随后是全“1”模板。

  本例中选择0.6秒周期确保BERT同步,但这个时间周期必须根据sync_loop函数运行的快慢进行调整。
  图1. FT1 (上环回与下环回)检测流程

  图2. FT1 (上环回与下环回)检测流程(续)

  示例代码中函数调用定义

  在进入特定程序前,必须了解一些假设条件,程序中需要下列函数。
  1.write_reg (addr, data)—将特定数值写入指定的DS31256寄存器

  addr = DS31256寄存器相对于芯片基地址的偏移量

  data = 需要写入寄存器的数据

  2.read_reg (addr)—读取DS31256特定地址的寄存器并返回值:

  addr = DS31256寄存器相对于芯片基地址的偏移量

  3.write_ind_reg (addr, data)—将特定数据写入指定的DS31256间接寻址寄存器,然后在返回前等待寄存器的“忙”位被清除:

  addr = 要写入数据的间接寻址寄存器

  data = 写入指定的间接寻址寄存器的数据

  4.read_ind_reg (addr, i)—读取指定地址的DS31256间接寻址寄存器并返回数值:

  addr = DS31256寄存器相对于芯片基地址的偏移量

  i = 索引

  5.标准的C语言打印函数printf
  函数示例代码

  FT1测试函数


  1. 打印测试状态信息函数

  2. 配置FT1函数

  该例程假设端口0用于FT1检测。

  3. 执行FT1测试函数



  4. 在BERT寄存器中建立模板

  5. 建立环回模式函数


  结论

  本应用笔记介绍了如何使用DS31256的接收BERT功能,从例程和软件算法可以看出实施FT1上回环和下回环检测非常简单。


  
上一篇:视频转码技术与系统要求相匹配
下一篇:用中档FPGA实现高速DDR3存储器控制器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料