本申请涉及半导体测试,特别是涉及一种测试机通信系统、通信方法和测试机。
背景技术:
1、半导体自动化测试,指的是利用自动测试设备(automatic test equipment,ate)对被测器件(device under test,dut)的各项参数指标进行检测,剔除残次品以控制半导体器件的出厂品质。在实际的应用中,上位机会跟测试机的资源板卡不断的进行数据交互,读取寄存器的数据。在需要读取某一寄存器的时,上位机直接发起读命令,通信板卡接收一次资源板卡的应答数据后,都需要发起一次中断命令至上位机,上位机再发起下一条读命令,延时较长,存在通信效率低的缺点。
技术实现思路
1、基于此,有必要针对上述问题,提供一种可提高通信效率的测试机通信系统、通信方法和测试机。
2、本申请第一方面提供一种测试机通信系统,包括上位机和通信板卡,所述通信板卡包括dma操作模块、pio操作模块和中断模块;所述中断模块与所述dma操作模块、所述pio操作模块和所述上位机分别连接,所述上位机连接所述dma操作模块和所述pio操作模块;
3、所述pio操作模块缓存寄存器数据包,并在所述上位机配置的寄存器读命令数量与寄存器数据包个数相同时,控制所述中断模块发出第一中断请求命令;所述寄存器数据包为各资源板卡响应所述上位机同步下发的n条寄存器读请求命令,读取各资源板卡的寄存器的值并组包得到;
4、所述dma操作模块在所述上位机配置的寄存器读命令数量与所述寄存器数据包个数相同时,将所述寄存器数据包写入所述上位机内存中,并控制所述中断模块发出第二中断请求命令;
5、所述上位机响应所述第一中断请求命令,发起pio读命令;所述pio操作模块解析所述pio读命令,将所述寄存器数据包写入所述上位机;或所述上位机响应所述第二中断请求命令,从所述上位机内存读出所述寄存器数据包。
6、在其中一个实施例中,所述通信板卡还包括:仲裁模块,连接所述pio操作模块、所述dma操作模块和各所述资源板卡,将n条所述寄存器数据包缓存,并仲裁至所述pio操作模块或所述dma操作模块。
7、在其中一个实施例中,所述上位机内具有驱动;
8、所述驱动响应所述上位机下发的n条寄存器读请求命令,判断待读取n条寄存器数据包的数据总量是否超过预设数据量;
9、若数据总量大于或等于预设数据量,则所述驱动配置使能信号,以控制所述仲裁模块将所述寄存器数据包仲裁至所述dma操作模块;
10、若数据总量小于预设数据量,则所述驱动控制所述仲裁模块将所述寄存器数据包仲裁至所述pio操作模块。
11、在其中一个实施例中,所述通信板卡还包括:
12、aurora ip核,通过axi接口连接仲裁模块,还通过光纤连接各所述资源板卡,将各所述资源板卡的寄存器数据包上传至所述仲裁模块。
13、在其中一个实施例中,所述通信板卡还包括:
14、pcie ip核,通过pcie总线连接所述上位机的驱动,还连接所述pio操作模块、所述dma操作模块和所述中断模块,下发n条寄存器读请求命令,上传所述第一中断请求命令或所述第二中断请求命令,还用于下发所述pio读命令。
15、在其中一个实施例中,上位机还用于在获取所述寄存器数据包后,根据所述寄存器读请求命令的发送顺序对所述寄存器数据包进行排序拼接组合,得到排序后的数据包,去除排序后的数据包的数据头,输出至user api函数。
16、本申请第二方面提供一种测试机通信方法,包括:
17、pio操作模块缓存寄存器数据包,并在上位机配置的寄存器读命令数量与寄存器数据包个数相同时,控制中断模块发出第一中断请求命令;所述寄存器数据包为各资源板卡响应所述上位机同步下发的n条寄存器读请求命令,读取各资源板卡的寄存器的值并组包得到;
18、dma操作模块在所述上位机配置的寄存器读命令数量与所述寄存器数据包个数相同时,将所述寄存器数据包写入所述上位机内存中,并控制所述中断模块发出第二中断请求命令;
19、所述上位机响应所述第一中断请求命令,发起pio读命令,所述pio操作模块解析所述pio读命令,将所述寄存器数据包写入所述上位机;或,所述上位机响应所述第二中断请求命令,从所述上位机内存读出所述寄存器数据包。
20、在其中一个实施例中,该方法还包括:
21、驱动响应所述上位机下发的n条寄存器读请求命令,判断待读取n条寄存器数据包的数据总量是否超过预设数据量;
22、若数据总量大于或等于预设数据量,则所述驱动配置使能信号,以控制仲裁模块将所述寄存器数据包仲裁至所述dma操作模块;
23、若数据总量小于预设数据量,则所述驱动控制仲裁模块将所述寄存器数据包仲裁至所述pio操作模块。
24、本申请第三方面提供一种测试机,包括上述的测试机通信系统。
25、在其中一个实施例中,测试机还包括多个资源板卡,各所述资源板卡连接所述通信系统;各所述资源板卡根据所述上位机下发的寄存器读请求命令,读取对应寄存器的值并组包得到寄存器数据包发送至所述通信系统。
26、上述测试机通信系统、通信方法和测试机,在各资源板卡响应上位机同步下发的n条寄存器读请求命令,读取各资源板卡的寄存器的值并组包得到寄存器数据包后,通过测试机通信系统的pio操作模块缓存寄存器数据包,并在上位机配置的寄存器读命令数量与寄存器数据包个数相同时,控制中断模块发出第一中断请求命令,或dma操作模块在上位机配置的寄存器读命令数量与寄存器数据包个数相同时,将寄存器数据包写入上位机内存中,并控制中断模块发出第二中断请求命令。上位机响应第一中断请求命令,发起pio读命令,pio操作模块解析pio读命令,将寄存器数据包写入上位机,或上位机响应第二中断请求命令,从上位机内存读出寄存器数据包。可以支持上位机对资源板卡进行批量寄存器数据读操作,通过pio操作模块或dma操作模块采用相应的方式进行中断请求,实现一次中断完成批量寄存器数据读操作,节约中断响应时间,减少读数据延时,提高了通信效率。
1.一种测试机通信系统,其特征在于,包括上位机和通信板卡,所述通信板卡包括dma操作模块、pio操作模块和中断模块;所述中断模块与所述dma操作模块、所述pio操作模块和所述上位机分别连接,所述上位机连接所述dma操作模块和所述pio操作模块;
2.根据权利要求1所述的测试机通信系统,其特征在于,所述通信板卡还包括:仲裁模块,连接所述pio操作模块、所述dma操作模块和各所述资源板卡,将n条所述寄存器数据包缓存,并仲裁至所述pio操作模块或所述dma操作模块。
3.根据权利要求2所述的测试机通信系统,其特征在于,所述上位机内具有驱动;
4.根据权利要求2所述的测试机通信系统,其特征在于,所述通信板卡还包括:
5.根据权利要求2所述的测试机通信系统,其特征在于,所述通信板卡还包括:
6.根据权利要求1-5任一项所述的测试机通信系统,其特征在于,上位机还用于在获取所述寄存器数据包后,根据所述寄存器读请求命令的发送顺序对所述寄存器数据包进行排序拼接组合,得到排序后的数据包,去除排序后的数据包的数据头,输出至user api函数。
7.一种测试机通信方法,其特征在于,包括:
8.根据权利要求7所述的方法,其特征在于,还包括:
9.一种测试机,其特征在于,包括权利要求1-6任意一项所述的测试机通信系统。
10.根据权利要求9所述的测试机,其特征在于,还包括多个资源板卡,各所述资源板卡连接所述通信系统;各所述资源板卡根据所述上位机下发的寄存器读请求命令,读取对应寄存器的值并组包得到寄存器数据包发送至所述通信系统。