基于网络编码的多信源组播通信系统,包括源代码,原理图等
in_ctrl_n(n:0、1、2、3) | 8 | input | 从MAC层输入的ctrlbus数据 |
in_wr_n(n:0、1、2、3) | 1 | input | 从MAC层输入的数据写使能信号(1为有效) |
in_rdy_n(n:0、1、2、3) | 1 | output | 输出至MAC层的准备信号(1为准备完毕,可以写入) |
out_data | 64 | output | 输出至forward模块的data数据 |
out_ctrl | 8 | output | 输出至froward模块的ctrl数据 |
out_wr | 1 | output | 输出至forward模块的写使能信号(1为写使能有效) |
out_rdy | 1 | input | 从forward模块输入的准备信号(1为准备好,可以写入)
|
本模块的功能描述以及内部数据处理的过程
功能描述:从MAC层的接口传来的数据信号写入到receivefifo中,每个接口接一个fifo,通过本模块的仲裁,循环查询每个fifo,如果每个fifo不为空则输出该fifo的数据到forward 模块。本次实验只用到接口1,其他接口实际上是没有数据输入,然而为了以后的可拓展设计,采取循环查询每个fifo,这样可以从每个接口进行数据读入数据,更合理。
④ 关键时序和状态机转化图
图3.3-3 input_arbiter时序图
2、forward模块
① forward模块的内部结构图如图3.3-4
图3.3-4
②本模块的输入输出信号列表及说明(如下例)
信号名称 | 位宽 bits | I/O | 描述 |
out_data | 64 | input | 从input_arbiter模块输出的data数据 |
out_ctrl | 8 | input | 从input_arbiter模块输出的ctrl数据 |
out_wr | 1 | input | 从input_arbiter模块输出的写使能信号(1为写使能有效) |
out_rdy | 1 | input | 输出至input_arbiter模块的准备使能信号(1为准备使能有效) |
out_data_n(n:0、1、2、3) | 64 | output | 输出至MAC层的data数据 |
out_ctrl_n(n:0、1、2、3) | 8 | output | 输出至MAC层的ctrlbus数据 |
out_wr_n(n:0、1、2、3) | 1 | output | 输出至MAC层的数据写使能信号(1为有效) |
out_rdy_n(n:0、1、2、3) | 1 | intput | 从MAC层输入的准备信号(1为准备完毕,可以写入) |
③ 本模块的功能描述以及内部数据处理的过程
(1)Forward模块下子模块Ip_Packet_Arbiter 定义6个寄存器变量分别为:Reg_0-Reg_5 宽度为64bit, 6个寄存器变量:Ctrl_0-Ctrl_5宽度为8bit.分别存储数据包的前48个字节数据和CtrlBus信息。以便对包头进行解析,并进行判断所属的类型。
(2)判断属于哪一类型的数据包,如果是非IP数据包则从Ip_packet_Arbiter模块发送一个信号Ip_Packet_Check的信号到Transmit模块,通过data信号线和ctrl信号线将数据传送到Transmit模块并转发到各个接口;
(3)如果属于iP数据包则进一步判断是属于编码后的数据包还是未编码的数据包,如果是编码后的数据包则和①做同样处理,如果是未编码的数据包,则进行相应的处理(更改modulheader、MAC的目标地址、Ip包头、添加NCP包头操作),然后将组合好的数据包头和Ctrlbus 和Ip_Packet_Check信号一起送到Transmit模块。在Transmit模块通过收到的Ip_Packet_Check信号进行判断是否需要对存放数据进行重新的封装并进行相应处理,然后进行转发操作。整个过程的流程图如图3.3-5
图3.3-5
④关键时序和状态机转化图
图3.3-6
⑤ froward模块下子模块Transmit的状态机以及描述如图3.3-7
图3.3-7
对整个状态机工作条件进行详细的描述如下: 当满足满足计数器counter=0的条件时,进入IDLE状态;counter计数器
- 一种基于电力线的家庭以太网络实现方法(10-10)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 面向大众市场的千兆位级收发器(05-04)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)
- 采用软处理器IP规避器件过时的挑战(05-04)
- WCDMA系统基带处理的DSP FPGA实现方案(01-02)