·上一文章:基于MCU设计的离线锂电池充电器
·下一文章:基于单片机和PSD设计的数制化电源
当DSP发送数据时,FPGA的LINK口接收模块将收到的数据缓存到FIFO中,数据轮询状态机按顺序检查FIFO的存储状态。当FIFO内的数据满足RapidIO包最大负载(256 B)时,启动1次RapidIO数据发送操作。另外,由于LINK口传输协议不包含数据长度,所以1次LINK口传输的数据长度不可能正好是256 B的整数倍。如果当前FIFO内有低于256 B的数据,而当前LINK口又没有处于传输状态,也认为LINK口完成了1次数据发送,这时也启动一次RapidIO数据发送操作。
在每次启动RapidIO数据发送操作之前,配置寄存器模块会根据不同的DSP号将对应的路由信息输入给RapidIO的IP核。RapidIO的IP核负责将输入的路由信息和数据一起打包并发送出去。
在RapidIO的数据接收端,当RapidIO核接收到数据时,首先检查数据包包头中的目标板ID号信息。如果目标板ID号与本地的ID号一致,说明数据包是发往这个板卡的,然后RapidIO核将接收到的数据和DSP地址信息传递给数据分发状态机,由数据分发状态机根据地址信息将数据分发到对应的FIFO中。最后,由LINK口发送模块将数据传给目标DSP。
这种将不同的信号相互交织在不同时间段内,沿着同一个信道传输,在接收端再用某种方法将各个时间段内不同的信号提取出来的方式,类似于通信中的时分复用的机制。