|
发表于 2021-12-15 16:59:38
|
显示全部楼层
看此贴的人不少哦,楼主居然不解惑?
测试1553B RT to RTs(广播)传输功能
这个测试需求本身是成立的。
首先BC发出广播接收指令(RT_Addr:5'h1f,Dirction:1'b0,Sub_Addr:5‘h1,Word_Cnt:5'b1)
广播RT-->RTs消息指令对的第一条指令是广播接收指令,这里也没问题,此处要求所有支持广播接收的RTs的1号子地址接收31个数据,接收指令本身无问题。
而后连续的发发送指令(指定RT_A的Addr为5'h05,Dirction:1'b1,Sub_Addr:5‘h1,Word_Cnt:5'b1)
此处编辑的发送指令:要求5号专有地址的RT发送1号子地址的31条数据,指令本身没有问题。问题出在上一条广播接收指令后连续的发发送指令。估计出这个问题主要有这些方面:
1)1553B总线的广播消息是一个发送者(可以是BC、也可以是RT)发送一次,所有支持广播接收的RTs接收,是一次单点-->多点的传输,不是单点-->单点的轮询多次传输,我想这就是楼主连续发发送指令的原因;
2)1553B总线是命令/响应型总线,总线信息传输以消息为单位,每条消息一定由BC发起,但此消息传输的数据源和目的不一定是BC,这就是RT-->RT的传输。这里有个概念,每条成功的消息一定有两方参与,BC发起并管理消息;RT响应消息。
3)1553B总线属于最大限制的保守总线,意思只允许在总线上传输规范规定的共计10种消息格式。这不是一个规范没有明确禁止就可以干的总线,而是一个只能干规范明确允许的事儿的总线
正确的广播RT --> RTs传输测试,BC以无字间隔的方式(RT_Addr:5'h1f,Dirction:1'b0,Sub_Addr:5‘h1,Word_Cnt:5'b1)+(指定RT_A的Addr为5'h05,Dirction:1'b1,Sub_Addr:5‘h1,Word_Cnt:5'b1)发送出去,关闭发送,然后RT_A在BC发完指令字后按规范规定的4~12us内发出状态字和连续的数据字。
|
|