通信人家园
标题: 有关AU-PTR的一个问题 [查看完整版帖子] [打印本页]
时间: 2004-4-13 20:42
作者: huhuhu
标题: 有关AU-PTR的一个问题
当AU-PTR=0时,如果出现一次负调整,payload会填充H3,那么下一帧的J1会在哪里呢?
在上一帧的782?AU-PTR无法指示。
继续填充H3?可能,那如果此时再次出现一次负调整,AU-PTR如何处理?
//bow
时间: 2004-4-13 20:56
作者: sdhbb
头要大了,好复杂(:
时间: 2004-4-14 09:23
作者: vincent.sh
那就误码了
时间: 2004-4-14 09:25
作者: liuyikuan
当AU-PTR=0时,如果出现一次负调整,payload会填充H3,
J1就在第一个H3的位置,
H1H2后10比特(AU-PTR)不再表示指针值,
而是将5个D比特反转(即为0101010101)表示减1操作。
下一帧的J1就在782的位置,
该帧的H1H2后10比特(AU-PTR)表示指针值为782。
另外,指针的调整是至少隔三帧才能再进行的,
也就是说不可能出现连续的指针调整,
即不可能连续2帧的H3字节都填充有效值。
大家看这样解释对吗?
[此贴子已经被作者于2004-4-14 9:25:45编辑过]
时间: 2004-4-14 10:07
作者: huhuhu
我认为PTR是不可以指示上一帧的782吧,PTR的范围就在它后面的0~782之间
时间: 2004-4-14 10:36
作者: liuyikuan
言之有理,我改一下你看如何,增加第三行,如下:
当AU-PTR=0时,如果出现一次负调整,payload会填充H3,
J1就在第一个H3的位置,
在782的位置还有1个J1,
H1H2后10比特(AU-PTR)不再表示指针值,
而是将5个D比特反转(即为0101010101)表示减1操作。
下一帧的J1就在782的位置,
该帧的H1H2后10比特(AU-PTR)表示指针值为782。
另外,指针的调整是至少隔三帧才能再进行的,
也就是说不可能出现连续的指针调整,
即不可能连续2帧的H3字节都填充有效值。
时间: 2004-4-14 11:30
作者: huhuhu
当AU-PTR=0时,如果出现一次负调整,payload会填充H3,
J1就在第一个H3的位置,
在782的位置还有1个J1,// 我觉得这不可能,782已被上一帧的payload占用
H1H2后10比特(AU-PTR)不再表示指针值,
而是将5个D比特反转(即为0101010101)表示减1操作。
下一帧的J1就在782的位置,//此时782的确空出来了,但是这个782是在上一个PTR的指示空间中,如果PTR指示782,实际会导致丢失一帧
该帧的H1H2后10比特(AU-PTR)表示指针值为782。
另外,指针的调整是至少隔三帧才能再进行的,
也就是说不可能出现连续的指针调整,
即不可能连续2帧的H3字节都填充有效值。
//这个我也只是瞎想的,否则payload没地方放啊,^_^
时间: 2004-4-14 12:06
作者: liuyikuan
有道理,这样我再改一下:
当AU-PTR=0时,如果出现一次负调整,payload会填充H3,
J1就在第一个H3的位置,
H1H2后10比特(AU-PTR)不再表示指针值,
而是将5个D比特反转(即为0101010101)表示减1操作。
下一帧的782位置有1个J1,//不过这个J1没有被任何指针值指出,
//该帧的H3字节为空,
该帧的H1H2后10比特(AU-PTR)表示指针值为782,//(这个位置已到了再下一帧)
另外,指针的调整是至少隔三帧才能再进行的,
也就是说不可能出现连续的指针调整,
即不可能连续2帧的H3字节都填充有效值。
不知道这样解释对不对?
[此贴子已经被作者于2004-4-14 12:06:18编辑过]
时间: 2004-4-14 13:35
作者: huhuhu
这样就丢了一帧了,不知道实际的chip究竟是如何实现的
不知道这个版上有没有做SDH芯片的
时间: 2004-4-14 15:28
作者: liuyikuan
收端对指针解码时,仅对连续3次以上收到的前后一致的指针进行解读,
事实上,
在发生指针调整时,接下来的几个J1的位置,
(一般为3个,只有在楼主说的情况下为4个),
并不是由指针解读而来,
而是,在调整前的J1位置上相对移动了3个字节,
在波形上表现为J1指示脉冲移动了3拍(19.44MHz),
即新的J1位置已知道了,
故不会丢帧了,
直到收到连续3次以上的前后一致的指针时,对指针的解读才和新的J1位置一致,
不知道这样解释可否?
时间: 2004-4-14 18:53
作者: huhuhu
在调整前的J1位置上相对移动了3个字节
如果是这样的话,不就是连续几帧都填充H3吗?
等过了几帧PTR再次负调整,似乎只能丢帧了
时间: 2004-4-15 11:09
作者: huhuhu
终于想明白是怎么回事了,下次有空再写出来^_^
时间: 2004-4-16 11:20
作者: emli
当前AU-PTR=0时,如果指针解释为负调整,即意味着本帧H3字节被用于填充数据,下一次的指针值则减为782,就是说下一帧收到的指针值是782,因为3帧不能再进行调整,也就是说至到第4帧才能再调整。如果之后一直没有调整,则指针值一直保持在782。
另外再给大家一个提示,对于指针的理解,你们必须得有一个概念,指针无非就是帮助找到净荷的,这样,指针位置也就是帮助定时的而已。
时间: 2004-4-16 12:37
作者: vincent.sh
看来我想得太简单了,现在越想越觉得头大,呵呵
欢迎大家继续讨论
时间: 2004-4-16 12:51
作者: huhuhu
to emli
如果减为782,则必然要丢一帧,我怀疑实际的chip真的这样做的吗?
时间: 2004-4-16 13:27
作者: 家园客人
乱说,我只能怪自己不能说清楚了。
因为我就是用FPGA设计指针处理,高阶和低阶都做过,对其变化了解的非常清楚。完全按照itu-t建议做的,那些ASIC也都是这样做的,要不怎么能互通,指针处理也可以做的很简单,但最基本的都还是要,因为要设计各个厂家互通的问题,这要和具体要求有关。关于指针处理,这已经没有什么技术可言了,早就是非常成熟的了。
我不知道你说要丢一帧,是如何得出的?
时间: 2004-4-16 18:21
作者: huhuhu
这很清楚啊,你自己画几个STM-1看看就知道了
要不你把FPGA put上来看看
时间: 2004-4-17 09:56
作者: 家园客人
头大的!第一帧的值为522。
时间: 2004-4-17 14:41
作者: 家园客人
第一帧的值为522-净荷的位置
时间: 2004-4-17 19:11
作者: huhuhu
中间都好处理,现在考虑的是极限情况
时间: 2004-4-18 18:11
作者: vincent.sh
好象还是没有明确答案嘛
我给固顶一段时间,欢迎继续讨论,尤其设备商里搞这一块研发的,应该很清楚。
时间: 2004-4-19 10:02
作者: huhuhu
谢谢斑竹
偶刚入行,以后还有很多问题要向大家请教哦
时间: 2004-4-19 10:13
作者: emli
我发觉这个东西确实很难用文字解释清楚,必须图文并茂。
我们用FPGA做的时候,肯定各种情况都要考虑的,其实只要真正理解的了,就会发现根本没有什么极限情况,如果你认为又极限情况,只能说明你没有渗透指针调整的原理
时间: 2004-4-19 12:31
作者: huhuhu
为什么没有极限情况?
你说这些对解决问题一点用也没有
如果你真的渗透了指针调整的原理,相信用文字也可以解释得很清楚
功夫到家,还在乎用的是剑还是刀吗?
时间: 2004-4-19 12:43
作者: huhuhu
搞不清楚指针调整是随波逐流式还是振荡式,
如果是振荡式就好解决了,
如果是随波逐流式,丢帧是不可避免的
时间: 2004-4-19 13:45
作者: emli
恕我见识短浅,你说的这两种,分别是指什么?
关于我的解释,已经在前面就回复了,你能不能理解那就不是我能决定的。
而且,我们对指针调整的理解都是源自于ITU-T的建议,如果你看了还是不能理解,那我也无能为力了。我个人认为,虽然指针调整的设计都比较成熟了,但是如果无法理解,最好就是面对面的探讨。这样可能更好些,不过BBS这个地方似乎不太合适。
我看了你的帖子,只能怪我自己理解能力差吧,反正我不太看得懂你的意思。
我是抱着一个真诚的态度在探讨技术问题,如果你愿意继续探讨下去,请加我的QQ:790552,我觉得这样交流可能会好很多。
时间: 2004-4-19 14:59
作者: huhuhu
我没有QQ,不好意思
不过我还是希望可以继续讨论下去,
期待更多人关注
时间: 2004-4-19 15:00
作者: huhuhu
我说的那两种,只是自己随便想想而已
不用去管它
时间: 2004-4-19 16:17
作者: emli
指针调整是传输中发生的正常事件,只要时钟频差在一定范围内,就不会出错。huhuhu提出的疑问,我再解释一遍。
当前指针为0时,如果指针解释为DEC,那么SPE信号(即VC4净负荷指示信号)指示H3时隙也用于填充数据而不是塞入字节。同时,当前指针值Active_Ptr减为782。该帧的J1位于H3时隙。因为3帧不能再进行调整,也就是说至到第4帧才能再调整。于是下一帧收到的H1H2指针值肯定为782,这和当前指针值Active_Ptr相等,指针解释为NORM。需要指出的是,这一帧的H3时隙是用于填充塞入字节的。SPE信号在H3时隙是低电平。如果之后一直没有调整,则指针值一直保持在782。
我说的这些,有哪个地方体现出了极限。这种调整方式在任何一个指针位置都是一样的,huhuhu说这里有极限,恐怕还是没有熟悉SDH的帧机构及其传输。
如果huhuhu还是不能理解,我确实无能为力了。
[此贴子已经被作者于2004-4-19 16:17:20编辑过]
时间: 2004-4-19 19:56
作者: huhuhu
你最好仔细想想,PTR从0变为了782,你可以看成0-1=782,也可以看成0+782=782,也就是PTR发生了一次跃迁跳过了一帧,这不是极限是什么,这怎么不会丢帧
时间: 2004-4-19 19:59
作者: huhuhu
如果这个问题真的不能定论,就由偶一个月后搞定吧
偶已经入行一个月了,相信再过一个月这种问题应该不在话下
时间: 2004-4-20 09:27
作者: emli
靠,有你娃这么想的,I服了U。
我先问你一个问题,你说的这些东西是针对指针解释模块,还是指针产生模块?
我以上的解释都是针对指针解释模块的。指针产生模块更简单。
“PTR从0变为了782,你可以看成0-1=782,也可以看成0+782=782,也就是PTR发生了一次跃迁跳过了一帧,这不是极限是什么,这怎么不会丢帧”
指针解释模块,Active_Ptr=0,当前帧解释为DEC时,Active_Ptr从0变为782,意味着,本帧J1从H3时隙开始,因为每一帧VC4的长度是固定的,这样必然本帧VC4结束在781的指针位置,那么下一帧VC4开始在782上,即J1位于782,指针Active_Ptr为782。
数据一直是连续的,丢帧?哪里?既然刚入行,就谦虚点。
时间: 2004-4-20 09:55
作者: huhuhu
莫要倚老卖老:)
就像你说的,下一帧开始在782,但是这个782传完之后才传下一帧的AU-PTR,这时AU-PTR所指示的值究竟是在它之前的782还是在它之后的782,我认为是之后的,所以紧接着本帧的那一帧会被丢弃,否则如此累积,再设想一个比较极限的情况,那就会出现某一帧的J1已传给对方,但这一帧的AU-PTR在100帧后才传给对方,这未免有点搞笑吧
时间: 2004-4-20 10:00
作者: emli
下一帧已经从782开始了,那么以后如果没有出现调整、新指针或者NDF,就一直保持这个时序,即每一帧VC4净负荷从指针位置782开始,结束在指针位置781。AU-PTR一直指示782,也就是说没一帧VC4的净负荷的第一个字节即J1都是在指针位置782。哪里有问题?
AU-PTR就是H1的最后两个bit和H2组成的,共10个比特,表示的值。指针解释是由一个状态机完成的。
时间: 2004-4-20 10:03
作者: huhuhu
虽然有名言 谦虚使人进步
但我从来就不谦虚,也一样进步
我认为使人进步的根源在于欲望,呵呵
时间: 2004-4-20 10:06
作者: emli
谦虚是种态度,欲望是种动力,这两者不矛盾。正所谓谦虚上进也。
时间: 2004-4-20 10:07
作者: huhuhu
是指示782,这个都没有异议
我是指0->782这个过程中会丢一帧,虽然所有的帧都传到宿方
但宿方取payload时,紧接着负调整传送的那一帧根本没有一个PTR指示
所以也就会被丢掉
时间: 2004-4-20 10:10
作者: huhuhu
好像人类的进步都不是一些谦虚的人做出的
而是一些充满欲望的狂放的疯子,呵呵
时间: 2004-4-20 10:14
作者: emli
这样吧,我将指针产生和指针解释放在一块说。
指针产生模块:Active_Ptr为0,如果FIFO门限大于某个值时,这个时候就会发生一次DEC,那么H3时隙用于传输数据,同时H1H2也会给出DEC的指示,也就是说D比特翻转。这帧发出去的H1H2值是D比特翻转的指示,同时Active_Ptr也会变为782,下一帧,H3时隙不再用于填充数据,而是填充塞入字节。发出去的H1H2值是782。
指针解释模块:Active_Ptr=0,当前帧解释为DEC时,Active_Ptr从0变为782,意味着,本帧J1从H3时隙开始,因为每一帧VC4的长度是固定的,这样必然本帧VC4结束在781的指针位置,那么下一帧VC4开始在782上,即J1位于782,指针Active_Ptr为782。
时间: 2004-4-20 10:18
作者: emli
疯子未必不谦虚。
谦虚也是相对的。
你无需向我谦虚。
时间: 2004-4-20 10:19
作者: emli
负调整传送的那一帧,怎么没有PTR指示,D比特翻转啊。老兄!
时间: 2004-4-20 10:28
作者: huhuhu
那取payload是否一定是在取得PTR之后?
时间: 2004-4-20 10:29
作者: emli
每一帧的净负荷位置当然得有每一帧的PTR来指示,所以肯定先指针解释,才会知道SPE。
时间: 2004-4-20 10:32
作者: emli
你可以想想N个排成列的大盒子里,可以有若干个小盒子前后移动。小盒子就是VC4,大盒子就是AU4。
某个小盒子可以跨在两个大盒子中间儿。
[此贴子已经被作者于2004-4-20 10:32:26编辑过]
时间: 2004-4-20 10:47
作者: emli
紧随其后的的那一帧,VC4开始在782,这个782,已经在指针解释DEC时就将Active_Ptr变为782了。
时间: 2004-4-20 10:48
作者: huhuhu
D翻转是要它到H3去取payload,紧随其后的从782开始的那一帧没有PTR指示
我来这样表示一下:
|PTR |->|payload|产生负调整,接收方从H3取payload
|____| |_______|<---------从这儿开始的782无PTR
|PTR |->|payload|此时PTR表示的值为782,它表示J1在
|____| |_______|<------------------------------
|PTR |->|payload|
|____| |_______|
[此贴子已经被作者于2004-4-20 10:46:12编辑过]
[此贴子已经被作者于2004-4-20 10:48:55编辑过]
时间: 2004-4-20 10:52
作者: huhuhu
也就是说翻转的那一帧的PTR同时取两次payload
时间: 2004-4-20 10:57
作者: emli
你这种说法是错误,因为数据是连续的,那么payload也是一个连续的信号,高电平表示VC4净负荷。指针解释就是为了产生这个信号,我们通常称之为SPE,或者叫PL也可。只要是PL信号高电平的时候,就将数据存入FIFO,同时指针解释还要帮助找到J1的位置。
时间: 2004-4-20 10:58
作者: emli
你说的帧到底是指什么?我觉得你对帧理解有混淆。VC4的帧不是STM的帧,边界都不一样。
时间: 2004-4-20 12:17
作者: huhuhu
payload怎么可能是连续的信号,现在假定就针对STM-1来说
payload就是VC4,传输时要加上SOH的
现在关注的是payload,我所说的帧实际是VC4
不过你的解释我现在算是看明白了,3x
但还有一个问题,如果源端发疯,连续两次进行PTR调整,
宿端将如何处之?
时间: 2004-4-20 12:57
作者: emli
payload不是个连续的信号,难道是间断啊?
高电平表示VC4净负荷,低电平则不是,只能说净负荷不是连续的而已,但是净负荷指示信号肯定是连续的。算了,这些都是文字带来的歧义,没什么好讨论的。
如果源端发生错误,连续两次进行PTR调整,宿端会出错,而且,源端连续两次进行调整,BIT翻转也无法表示。
时间: 2004-4-20 15:50
作者: huhuhu
再设想一种出错的情况
如果bit D翻转以后那一帧的PTR=翻转前的PTR-2的话,接收端取净荷是从PTR-1的位置还是PTR-2的位置?
时间: 2004-4-20 18:01
作者: emli
bit翻转是比较前后两帧收到的H1H2值,而ptr是内部自己保存的值,具体结果,自己想吧,我懒的说了,很简单,我不想说的再多了。
时间: 2004-4-20 21:19
作者: huhuhu
ok,说这么多已经够了,3x
时间: 2004-4-25 14:53
作者: fsxdxh
我是这样理解的:
AU-PTR=0时不管是怎样调整都叫正调整,不是负调整吧。负调整只有一个位置,那就是H3H3H3。即当AU-PTR=782时的一次反转,即是负调整,这时,信号进入H3字节。一般情况下,AU-PTR=782,而不是0。
通信人家园 (https://www.txrjy.com/) |
Powered by C114 |