一种总线接口式网卡芯片控制系统技术方案

技术编号:38209921 阅读:10 留言:0更新日期:2023-07-21 17:00
本发明专利技术为一种总线接口式网卡芯片控制系统,属于集成电路应用领域。本发明专利技术包括作为主控的FPGA和被控的网卡芯片,所述FPGA包括软处理器核、APB总线模块以及接口模块,其中,软处理器核作为CPU,APB总线模块通过AXI总线与软处理器核相连并受软处理器核控制;接口模块用于保证APB总线模块在网卡芯片的时序约束下实现对网卡芯片寄存器的读写操作。本发明专利技术能够克服外设时序限制对APB时钟频率的制约,解除二者之间的耦合,提高CPU的主频及效率。提高CPU的主频及效率。提高CPU的主频及效率。

【技术实现步骤摘要】
一种总线接口式网卡芯片控制系统


[0001]本专利技术属于集成电路应用领域,具体涉及一种总线接口式网卡芯片控制系统。

技术介绍

[0002]网卡芯片,又称网络接口控制器(network interface controller)芯片,是一类集成了TCP/IP协议栈、TCP卸载引擎、以太网MAC和PHY的专用集成电路,广泛应用于家庭网络设备、安防设备、嵌入式服务器等场景。总线接口式网卡芯片,是使用地址和数据总线与主CPU进行通信的网卡芯片,从图1中可以看出,网卡芯片的ADDR[9:0]和DATA[15:0]分别是10位宽度的地址总线引脚和16位宽度的数据总线引脚,/CS、/WR、/RD分别表示低电平有效的片选引脚、写使能引脚、读使能引脚。图2和图3分别是网卡芯片的读操作时序图和写操作时序图。表1和表2分别表示网卡芯片的读操作时序限制和写操作时序限制。
[0003]MicroBlaze是VIVADO提供的能在FPGA上运行的软处理器核,通过与其他IP(如APB总线桥)组合搭建功能电路,在此基础上,在VITIS中使用C程序编程即可实现对外围设备的控制。
[0004]AMBA标准是ARM提出的专用于高性能嵌入式处理器的通信标准,按速度由高到低,可划分为AHB、ASB、APB。APB总线可以降低功耗、减少外围设备接口的复杂性,因此适合于带宽要求不高、无需流水总线接口的外设。其中,基于AMBA3标准的APB3协议主要包括如下信号:
[0005](1)PCLK:APB总线时钟信号,上升沿采样。
[0006](2)PRESETn:APB总线复位信号,低电平有效。
[0007](3)PADDR:APB总线地址,32位宽度。
[0008](4)PSEL:APB从设备片选信号,高电平有效。
[0009](5)PENABLE:APB使能信号,高电平有效。
[0010](6)PWRITE:APB读写控制信号,高电平执行写操作,低电平执行读操作。
[0011](7).PWDATA:APB写数据总线信号,32位宽度。
[0012](8)READY:准备好信号,高电平有效。
[0013](9)PRDATA:APB读数据总线信号,32位宽度。
[0014]在传统的设计中,因VIVADO中的IP集成器仅提供同步类型的APB桥接器,因而APB的时钟频率与处理器MicroBlaze的主频总是保持相同。而外设的网卡芯片的读写操作时序制约了APB的速度,例如,从表1可知,一次完整的写操作至少需要93ns。为了使得在PENABLE为高电平的两个时钟周期内完成写操作,设计APB时钟频率为10MHz(周期是100ns,可满足一次完整的网卡写操作),如此处理器MicroBlaze的速度会降低为10MHz,严重制约了MicroBlaze的性能的发挥。

技术实现思路

[0015]本专利技术的目的在于提供一种总线接口式网卡芯片控制系统,克服传统设计中的外
设时序限制对APB时钟频率(也即MicroBlaze主频)造成的制约,解除二者之间的耦合,进而提高CPU的主频及效率。
[0016]为实现上述目的,本专利技术通过下述技术方案实现:
[0017]一种总线接口式网卡芯片控制系统,包括作为主控的FPGA和被控的网卡芯片,所述FPGA包括软处理器核、APB总线模块以及接口模块,其中,软处理器核作为CPU,APB总线模块通过AXI总线与软处理器核相连并受软处理器核控制;接口模块用于保证APB总线模块在网卡芯片的时序约束下实现对网卡芯片寄存器的读写操作。
[0018]进一步地,FPGA采用4字节对齐,软处理器核为MicroBlaze;APB总线模块的协议版本是基于AMBA3标准的APB3,其中:
[0019]PCLK频率与MicroBlaze的主频保持相同;
[0020]APB的32位总线地址PADDR中仅使用其低12位,其中PADDR[1:0]为保留位,用于四字节对齐,此外,使用PADDR[11:2]的数据传给网卡芯片的地址总线ADDR[9:0];
[0021]APB的32位写数据总线信号PWDATA中仅使用其低16位,用于向网卡芯片的数据总线DATA[15:0]传送数据;
[0022]APB的32位读数据总线信号PRDATA中仅使用其低16位,用于从网卡芯片的DATA[15:0]读取数据。
[0023]进一步地,当FPGA的CPU发起写操作时,APB总线模块的PSEL和PWRITE置为高电平,PADDR上输出寄存器的物理地址;经过一个PCLK周期,PENABLE跳变为高电平,PREADY为高电平时,数据PWDATA[15:0]传输给网卡芯片的DATA[15:0],DATA[15:0]的数据会在网卡芯片的采样时间内写入到地址为ADDR[9:0]的寄存器中;
[0024]当FPGA的CPU发起读操作时,APB总线模块的PSEL置为高电平,PWRITE置为低电平,PADDR上输出寄存器的物理地址;为了从速度较慢的DATA[15:0]中采样获得正确的数值并传输到APB总线模块的PRDATA[15:0],使用含有等待的读方式,即,当PSEL置为高电平一个PCLK周期后,PENABLE跳变为高电平时,先把PREADY信号拉低,直到网卡芯片的DATA[15:0]上的数据准备好后,才把PREADY信号拉高,并把DATA[15:0]的数据赋给PRDATA[15:0],此时完成读操作。
[0025]进一步地,CPU每执行完一次写操作或读操作后,均延迟一段时间,等待网卡芯片完成操作,再执行下一次操作。
[0026]进一步地,接口模块采用独热码定义7个状态,状态转移过程如下:
[0027]S0:空闲态;此状态下,当PSEL为高电平时,说明APB总线模块有读或写请求,状态转移到S1;
[0028]S1:开始态;此状态下,若PWRITE为高电平,说明APB总线模块是写请求,将/CS和/WR两个引脚拉低;否则,说明APB总线模块是读请求,将/CS和/RD两个引脚拉低;
[0029]S2:建立时间等待态;此状态下,若/WR为低,则等待T1时间后,跳转到S3;若/RD为低,则等待T2时间后,跳转到S3;
[0030]S3:数据采样态;此状态下,若/WR为低,将fetch信号置为高,此时CPU将PWDATA[15:0]赋值给DATA[15:0],跳转到S4;若/RD为低,从DATA[15:0]上读取数据到PRDATA[15:0],跳转到S4;
[0031]S4:片选时间等待态;此状态下,若/WR为低,则等待T3时间后,跳转到S5;若/RD为
低,则等待T4时间后,跳转到S5;
[0032]S5:完成态;此状态下,将/WR、/RD、/CS全部拉高,跳转到S6;
[0033]S6:片选间隔等待态;此状态下,等待T5时间后,跳转到S0。
[0034]本专利技术与现有技术相比,具有以下有益效果:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种总线接口式网卡芯片控制系统,其特征在于,包括作为主控的FPGA和被控的网卡芯片,所述FPGA包括软处理器核、APB总线模块以及接口模块,其中,软处理器核作为CPU,APB总线模块通过AXI总线与软处理器核相连并受软处理器核控制;接口模块用于保证APB总线模块在网卡芯片的时序约束下实现对网卡芯片寄存器的读写操作。2.根据权利要求1所述的一种总线接口式网卡芯片控制系统,其特征在于,FPGA采用4字节对齐,软处理器核为MicroBlaze;APB总线模块的协议版本是基于AMBA3标准的APB3,其中:PCLK频率与MicroBlaze的主频保持相同;APB的32位总线地址PADDR中仅使用其低12位,其中PADDR[1:0]为保留位,用于四字节对齐,此外,使用PADDR[11:2]的数据传给网卡芯片的地址总线ADDR[9:0];APB的32位写数据总线信号PWDATA中仅使用其低16位,用于向网卡芯片的数据总线DATA[15:0]传送数据;APB的32位读数据总线信号PRDATA中仅使用其低16位,用于从网卡芯片的DATA[15:0]读取数据。3.根据权利要求1所述的一种总线接口式网卡芯片控制系统,其特征在于,当FPGA的CPU发起写操作时,APB总线模块的PSEL和PWRITE置为高电平,PADDR上输出寄存器的物理地址;经过一个PCLK周期,PENABLE跳变为高电平,PREADY为高电平时,数据PWDATA[15:0]传输给网卡芯片的DATA[15:0],DATA[15:0]的数据会在网卡芯片的采样时间内写入到地址为ADDR[9:0]的寄存器中;当FPGA的CPU发起读操作时,APB总线模块的PSEL置为高电平,PWRITE置为低电平,PA...

【专利技术属性】
技术研发人员:刘文元
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1