首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于FPGA+DSP架构的功率分析仪数据传输系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:电子科技大学

摘要:本发明公开了一种基于FPGA+DSP架构的功率分析仪数据传输系统,采用位宽转换模块对采集板卡发送的采集数据进行位宽转换,采集辅助数据获取模块在获取各个采集数据时同步获取相关的辅助数据,数据打包模块用于对各个采集板卡的采集数据和采集辅助数据进行打包,在打包过程中采用状态机进行控制,打包完成的数据通过AXI互联体发送给SRIOip核,然后发送至DSP模块。本发明可以实现多通道、速率自适应的数据传输,提高功率分析仪的数据传输效率。

主权项:1.一种基于FPGA+DSP架构的功率分析仪数据传输系统,其特征在于包括时钟生成模块,位宽转换模块,采集辅助数据获取模块,数据打包模块,AXI互联体,SRIOip核和DSP模块,其中时钟生成模块,位宽转换模块,采集辅助数据获取模块,数据打包模块,AXI互联体和SRIOip核在FPGA中实现;时钟生成模块用于根据实际需要生成FPGA内部时钟和多个同步采样时钟,其中同步采样时钟供功率分析仪数据采集系统中的M个采集板卡选择使用;位宽转换模块用于对M个采集板卡发送的采集数据进行位宽转换,将处理得到的数据发送至数据打包模块;位宽转换模块包括补零拼合模块和M个位宽转换FIFO,补零拼合模块对每个采集板卡的采集数据进行补零拼合处理得到拼合数据DATAm,m=1,2,…,M,然后发送至第m个位宽转换FIFO进行存储;补零拼合处理的具体方法如下:记第m个采集板卡中第n个采集通道的采集数据为datam,n,n=1,2,…,N,N表示采集板卡中的采集通道数量,对各个采集数据datam,n进行补零处理,令补零处理后的数据位宽为W1,得到采集数据data′m,n;然后将同一采集板卡的数据data′m,n进行拼合,得到数据位宽为W1×N的拼合数据DATAm,同时根据补零处理情况生成拼合数据DATAm的数据有效信号;各个位宽转换FIFO用于分别存储接收到的拼合数据DATAm,在存储的同时将拼合数据DATAm的数据位宽转换至预设数据位宽W2,并将其时钟域从FPGA系统时钟域转换至SRIOip核的时钟域;当所接收到的数据量大于数据打包模块中单个传输包数据量时,则将数据量指示信号srio_prog_empty置为无效,向数据打包模块输出数据,否则将数据量指示信号srio_prog_empty置为有效;采集辅助数据获取模块用于根据需要在获取各个采集数据时同步获取各个拼合数据DATAm相关的辅助数据EXDATAm,并发送至数据打包模块;数据打包模块包括M个打包模块,每个打包模块分别从对应位宽转换FIFO中读取对应拼合数据DATAm,从采集辅助数据获取模块接收拼合数据DATAm对应的辅助数据EXDATAm,按照SRIO协议的要求生成传输包并将传输包发送至AXI互联体;每个打包模块包括打包控制模块,包头生成模块,采集数据传输模块,采集辅助数据传输模块,门铃模块,数据包计数模块和隔离模块,其中:打包控制模块根据预设的打包控制状态机对包头生成模块,采集数据传输模块,采集辅助数据传输模块,门铃模块和数据包计数模块进行控制;打包控制状态机包括6个状态:空闲IDLE状态,传输准备TX_PRE状态,包头传输TX_HEAD状态,采集数据传输TX_DATA状态,采集辅助数据传输TX_EXDATA状态,门铃包传输DOORBELL状态,其中:空闲IDLE状态,为一次传输开始前的初始状态,功率分析仪上电启动时数据打包控制状态机自动进入该状态,当接收到预设的主控方发送的开启指令srio_tx_en后跳转进入传输准备TX_PRE状态;在传输准备TX_PRE状态下,打包控制模块将已传输数据包个数srio_tx_pkg_cnt与预设的一帧数据的数据包总数srio_tx_pkg_num进行比较,当srio_tx_pkg_cntsrio_tx_pkg_num时,进一步判断对应位宽转换FIFO的数据量指示信号srio_prog_empty是否有效,如果无效则保持当前状态,如果有效则跳转进入TX_HEAD状态;当srio_tx_pkg_cnt=srio_tx_pkg_num时,跳转进入门铃信号传输DOORBELL状态;在包头传输TX_HEAD状态下,打包控制模块控制包头生成模块生成包头数据包head_beat并通过隔离模块发送给AXI互联体;打包控制模块从数据包计数模块读取当前已传输数据包个数srio_tx_pkg_cnt,如果已传输数据包个数srio_tx_pkg_cnt=0,跳转状态到采集辅助数据传输TX_EXDATA状态;如果已传输数据包个数srio_tx_pkg_cnt0,跳转状态到采集数据传输TX_DATA状态;在采集数据传输TX_DATA状态下,打包控制模块控制采集数据传输模块生成一个有效电平持续时间为rd_en_cyc个时钟周期的读使能信号srio_rd_en并发送至对应的位宽转换FIFO,令位宽转换FIFO输出数据至采集数据传输模块,采集数据传输模块在接收到数据后生成采集数据传输包tx_datam并通过隔离模块发送给AXI互联体,其中读使能信号srio_rd_en的有效电平持续时间rd_en_cyc采用如下方式计算:rd_en_cyc=TX_SIZE+1×8fifo_width其中,fifo_width表示位宽转换FIFO的输出数据位宽;然后当检测到隔离模块输出的传输完成信号axis_tlast有效后,打包控制模块控制数据包计数模块令已传输数据包个数srio_tx_pkg_cnt加1,跳转进入传输准备TX_PRE状态,进行下一个数据包的传输;在采集辅助数据传输TX_EXDATA状态下,打包控制模块控制采集辅助数据传输模块从采集辅助数据获取模块读取辅助数据EXDATAm,生成采集辅助数据传输包tx_exdatam,并通过隔离模块发送给AXI互联体;当检测到隔离模块输出的传输完成信号axis_tlast有效后,打包控制模块控制数据包计数模块令已传输数据包个数srio_tx_pkg_cnt加1,跳转进入传输准备TX_PRE状态,进行下一个数据包的传输;在门铃包传输DOORBELL状态下,打包控制模块控制门铃包doorbell_beat并通过隔离模块发送给AXI互联体;当检测到隔离模块输出的传输完成信号axis_tlast有效后,打包控制模块控制数据包计数模块将已传输数据包个数srio_tx_pkg_cnt重置为0,跳转返回IDLE状态,表明一帧数据的传输已经完成;包头生成模块用于在各个数据包传输开始时生成包头head_beat并通过隔离模块发送给AXI互联体;包头head_beat中包含写入DSP模块的起始地址current_addrm以及包传输数据量TX_SIZE;起始地址current_addrm采用如下公式计算:current_addrm=base_addrm+TX_SIZE+1×srio_tx_pkg_cntm其中,base_addrm表示当前打包模块从DSP模块获取的当前帧的基地址,srio_tx_pkg_cntm表示当前打包模块已传输数据包个数;采集数据传输模块用于根据数据有效信号将从位宽转换FIFO接收的拼合数据DATAm按照SRIO协议的要求生成采集数据传输包tx_datam,并通过隔离模块发送给AXI互联体;采集辅助数据传输模块用于将从采集辅助数据获取模块接收的辅助数据EXDATAm按照SRIO协议的要求生成采集辅助数据传输包tx_exdatam,并通过隔离模块发送给AXI互联体;门铃模块用于在一帧数据传输完毕后生成门铃包doorbell_beat并通过隔离模块发送给AXI互联体;隔离模块将接收到的数据包进行隔离并转化成AXI4-Stream总线协议的格式传输至AXI互联体,每当隔离模块接收到数据包后,查询此时SRIOip核模块是否处于空闲状态,如果不处于则隔离模块继续等待,如果处于则表示隔离模块和SRIOip核模块握手成功,即可传输当前数据;在一个数据包传输完成前传输完成信号axis_tlast置为无效电平,待数据包传输完成后,将传输完成信号axis_tlast置为有效电平;AXI互联体用于将从数据打包模块中各个打包模块接收的数据有序传输至SRIOip核,AXI互联体中为每个打包模块设置一个缓存FIFO,用于在传输繁忙时对打包模块传输至AXI互联体的数据进行缓存;SRIOip核用于将接收到的数据在传输层与物理层进行编解码生成高速串行总线数据流,在物理层通过高速收发器GTX传输到DSP模块;DSP模块用于对接收到的数据流进行解析,从数据包包头中解析得到各个数据包的起始地址,将采集数据和采集辅助数据存储至对应地址的内存空间中,在收到门铃包后根据预先设置的方法确定下一帧数据的基地址并反馈至数据打包模块中对应打包模块。

全文数据:

权利要求:

百度查询: 电子科技大学 基于FPGA+DSP架构的功率分析仪数据传输系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。