一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

如何配置DS31256 HDLC控制器的各种环回模式?

来源:analog 发布时间:2023-08-29

摘要: 本应用笔记展示了如何配置DS31256 HDLC控制器的各种环回模式,以及如何在必要时进行验证和故障排除。

本应用笔记重点介绍DS31256环回模式的定义和功能。这些环回模式可以在通道化和非通道化模式下使用,具体取决于为给定端口配置了哪种模式。(请参阅DS31256数据表的第6节。)

本应用说明不包括DS31256的配置过程。有关配置和初始化帮助,请参考以下应用说明。

  • App Note 2867: DS31256的初始化步骤

  • App Note 2871: DS31256 HDLC控制器一步一步配置-配置模式

  • App Note 2872: DS31256 HDLC控制器一步一步配置-桥接模式


图1所示 第一层框图

环回模式

DS31256可以配置为本地环回模式或网络环回模式。

本地回路:在本地环回模式下,环回在DS31256内部。在发送和接收过程中,数据通过整个芯片。

网络回路:在网络环回模式下,环回只在第一层块中进行。数据永远不会写入主机内存。

如图1所示,有四种不同类型的环回可用于信道化和非信道化模式。

LLB(本地环回启用)
抵消/地址名字函数数据表部分
01 xxRP [n] CR接收端口n控制寄存器6.2

法学学士(位10):这个环回路由将数据传输回接收端口。它可以在信道化和非信道化端口工作模式下使用,包括端口0、1和2,工作速度高达52MHz。在本地环回启用后(如果提供了接收时钟),芯片会忽略DS31256的接收时钟输入。

UNLB(非信道化网络环回启用)
抵消/地址名字函数数据表部分
02年xxTP [n] CR发送端口n控制寄存器6.2

UNLB(比特10):这个环回将接收到的数据路由回发送端口。端口0 ~端口2不能用于高速模式。

另外两种环回模式是通过信道化端口寄存器数据(CP[n]RD)寄存器间接访问的。主机必须首先写入信道化端口寄存器数据间接选择(CP[n]RDIS)寄存器来选择它希望配置或读取哪个信道和信道化端口RAM。在上电时,主机必须写入所有已使用的R[n]CFG[j]和T[n]CFG[j]位置,以确保它们被设置为已知状态。

启用信道化本地环回
抵消/地址名字函数数据表部分
N/AR [n] CFG [j]
n = 0 ~ 15端口
j = 0- 27ds0
接收配置6.3

CLLB (Bit 10):启用环回将强制传输数据替换接收数据。必须为要回圈的所选通道设置此位。为了使环回活动,必须启用通道(RCHEN = 1),并且必须将通道设置为64bps模式(R56 = 0)。

CNLB(信道化网络环回启用)
抵消/地址名字函数数据表部分
N/AT [n] CFG [j]
n = 0 ~ 15端口
j = 0- 27ds0
传输配置6.3

CNLB (Bit 11):启用环回功能会强制接收数据替换传输数据。必须为要回圈的所选通道设置此位。这个位元覆盖TBERT、TFA0和TCHEN。

故障排除

为了确定和验证环回问题的原因,可以使用以下信息来帮助缩小调试过程。

  1. 使用本应用程序说明开头列出的应用程序说明中的序列和详细信息来初始化和配置DS31256。

  2. 检查线缆连接等硬件,或者使用网络环回方式测试设备的连通性。

  3. 只反转一个端口时钟,TP[n]CR。泰斯,RP [n] CR.RICE。当在高速非信道化端口上启用本地环回时,根据端口时钟频率的不同,可能会出现数据采样问题。这是因为时钟和数据信号在芯片内的传播延迟以这样一种方式对齐,从而导致数据在不稳定的情况下被采样。这个问题可以通过反转端口时钟来纠正,将数据采样点移动半个端口时钟周期。

  4. 将DS31256切换到本地环回模式可能会导致接收到垃圾。分配足够的缓冲区来保存传输的数据,包括任何可能的垃圾。

  5. 接收FIFO中的垃圾数据:每次在初始传输之前清空完成队列。在通道配置和启用后,DS31256的内部逻辑完成向新配置的过渡大约需要5帧周期,即625µs。一旦这个转换完成,HDLC通道就可以被置于环回模式。


启用本地环回模式后,垃圾数据可能会被写入Rx FIFO,很可能是高速模式。在发送数据之前,应按照以下步骤确保垃圾已被清除。同时在SDMA寄存器中也报告了一些错误。

  • 将缓冲区放入Rx-free队列中。

  • 等待DS3134/DS31256写入垃圾数据。

  • 处理Rx-done队列。


通道的第一个数据包可能是垃圾数据。例如,考虑一个发送了10个数据包的情况,并且在步骤1到3之后一切都是正确的。内存中可能有超过10个数据包,但只有最后10个数据包是有效的。在这种情况下,应该只检查内存中的最后10个数据包。它们是正确的数据。



声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: