流示例接口
什么是流样例接口?
在硬件上,一次处理一整帧数据在内存和面积上都有很高的成本。为了节省资源,串行处理在HDL设计中是可取的。无线HDL Toolbox™块每次操作一个样本,而不是一个帧。这些块接受和返回数据作为一个连续的样本流和控制信号。控制信号表示帧边界。该协议模拟了真实系统的特征,包括样本和帧之间的非活动间隔。
流样例接口如何工作?
控制协议使用开始和结束信号来标记每一帧,并使用有效信号来指示要处理哪些样本。无线HDL工具箱流样本协议允许您配置样本之间和帧之间的空闲循环数。空闲周期模拟了现实系统的突发特性。
该协议允许不同大小的帧,比如由于同步更改而进入系统的小帧或部分帧。
为什么使用流样例接口?
格式独立
使用这个接口的块不需要配置一个精确的帧大小或不活动间隔的选项。此外,如果更改了设计的输入数据计时,则不需要更新每个块。相反,只需在序列化步骤更新一次流配置。有些块仍然需要一个最大帧大小参数来分配内存资源。
错误宽容
通过使用带有控制信号的流样本接口,每个无线HDL工具箱块在帧开始信号处对一组新的样本开始计算。无论块是否接收到前一帧的结束信号,都会对新帧进行计算。
该协议允许微小的计时错误。如果开始和结束信号之间的有效和无效循环的数量不同,块继续正确操作。该协议使系统对短帧和同步变化具有弹性。
无线HDL工具箱编码器块需要最小的帧间间距来容纳码字的插入。turbo和卷积解码器块要求在下一帧到达之前对前一帧进行解码(断言了帧结束信号)。极性、LPDC和RS编码器和解码器块提供一个信号,指示该块何时准备好接收新帧的开始。
示例流转换
使用帧样本块,将有框的数据转换为符合此协议的样本和控制信号流。控制信号分组在总线数据类型称为samplecontrol
.
的帧样本块可以序列化固定大小的帧。如果您的框架大小不同,请使用whdlFramesToSamples
函数将框架数据转换为样本向量和控制信号®.然后将矢量导入到Simulink中®.使用示例控制总线创建器块来创建samplecontrol
公共汽车在您的模型。
如果您的数据已经是串行格式的,请设计自己的逻辑来从现有的串行控制方案生成这些控制信号。
支持的样例数据类型
无线HDL工具箱块有一个输入和输出端口,样本
,表示流样例数据。这些块每次从输入中捕获一个样本,并每次生成一个样本用于输出。示例可以是这些受支持的数据类型之一。
港口 | 描述 | 数据类型 |
---|---|---|
样本 |
表示一个样本的标量整数值。 该协议还允许表示单个样本的整数值向量,例如涡轮编码样本。 |
支持的数据类型包括:
|
流采样控制信号
无线HDL工具箱块有一个输入和输出端口,ctrl
,为与每个样本相关的帧控制信号。这三个控制信号表示样本的有效性和帧的边界。控制信号端口是非虚拟总线数据类型,称为samplecontrol
.有关总线数据类型的详细信息,请参见样品控制总线.
串行采样接口时序图
时序图说明了流样例协议。它显示了一个六样本输入帧和控制信号和数据信号的等效序列。
输入帧是([1 2 3 4 5 6])'
,并且序列化器被配置为在有效的示例周围插入空闲循环:
一个空闲周期之间的样本
三帧之间的空闲循环
一个值表示每个示例(默认输出大小)
方法可以指定这些参数帧样本块或whdlFramesToSamples
函数。
控制信号开始
而且结束
对于帧的第一个和最后一个有效样本分别为1。的有效的
对于每个有效输入样本,信号为1。的有效的
对于插入到样本之间和帧之间的空闲周期,信号为0。六样本帧现在由超过15个周期的流数据表示。
使用下一帧输出信号
的NR极地编码器,NR极地译码器,NR LDPC编码器,NR LDPC译码器,RS译码器每个块都提供一个输出信号来指示该块何时准备好接收新帧的开始。这个信号是必要的,因为在内部计算的某些阶段,这些块不能接受新的帧,而这些阶段的延迟可以随输入端口的值而变化。
港口 | 描述 | 数据类型 |
---|---|---|
nextFrame | 布尔标量,指示块何时可以接受新帧的开始 |
布尔 |
此波形显示NR极地编码器块处理几个帧。的nextFrame输出信号是0
当块正在处理数据时,和1
当块准备好接收新帧的开始时。游标显示了随着输入值的变化而变化的延迟K而且E端口值。对于第一个坐标系,给定K而且E值时,块必须确定这些值的消息长度和信息位映射。这个配置阶段意味着块需要一段时间才能准备好接受下一个输入帧。对于具有相同值的后续帧K而且E,块准备得更快,因为它不需要重新计算配置。
如果块接收到输入开始信号而nextFrame是0
,块丢弃正在处理的帧并开始处理新数据。此波形显示NR极地编码器输入帧(3)应用于nextFrame是0
.block丢弃正在进行的帧(2),并正常处理新的帧(3)。
如果块接收到无效的输入帧,例如,如果帧大小不在支持的范围内,则块设置nextFrame来1
输入后的一个循环结束信号。此行为表明输入帧被丢弃。此波形显示NR极地编码器输入帧(1)没有相应的期望样本数K而且E值。波形显示nextFrame信号设置为1
在输入之后结束第一帧的信号。block丢弃正在进行的帧(1),并正常处理新的帧(2)。