发明内容
为解决上述技术问题,本发明实施例提供一种交调仪多总线通信系统,使用工控板,通过PC104总线,使用FPGA对所述PC104总线进行扩展的多总线通信方式,提交了通信速度,节约了通信资源。
技术方案如下:
一种交调仪多总线通信系统,包括:
工控机;
通过PC104总线与所述工控机相连接,用于对所述PC104总线进行总线扩展的FPGA扩展板;
分别与所述FPGA扩展板相连接,用于产生频率信号并控制输出功率的第一信源模块和第二信源模块;
与所述FPGA扩展板相连接,将所述第一信源模块及第二信源模块产生的信号进行放大,并在所述第一信源模块及第二信源模块的控制下产生输出功率,进入被测设备,产生互调信号的功放模块;
与所述FPGA扩展板相连接,对所述功放模块在被测设备中产生的互调信号进行检测的接收机模块。
上述的系统,优选的,还包括:
与所述FPGA扩展板相连接,用于控制信号切换及辅助所述第一信源模块、第二信源模块、功放模块和接收机模块进行工作的辅助模块。
上述的系统,优选的,所述FPGA扩展板包括:总线隔离芯片、参考时钟、FPGA芯片和供电电源;
其中:所述总线隔离芯片与所述FPGA芯片相连接,用于保护所述FPGA芯片稳定传输数据;
所述参考时钟与所述FPGA芯片相连接,为所述FPGA芯片提供心跳时钟;
所述供电电源与所述FPGA芯片连接,为所述FPGA芯片供电;
所述FPGA芯片用于对所述PC104总线逻辑时序进行转换。
上述的系统,优选的,所述工控机为ZiBO-i3270工控机。
上述的系统,优选的,所述功放模块包括第一功率放大器和第二功率放大器;
所述第一功率放大器和第二功率放大器用于对所述第一信源模块及所述第二信源模块产生的信号进行放大。
上述的系统,优选的,所述FPGA扩展板通过编写FPGA程序实现对所述PC104总线的扩展,具体包括:
总线扩展、串行接口扩展和IO控制口扩展。
上述的系统,优选的,所述FPGA扩展板对所述PC104总线进行扩展后,扩展的总线包括:I-BUS总线、SPI总线和I2C总线。
上述的系统,优选的,所述FPGA扩展板对所述PC104总线进行扩展后,扩展的串行接口包括UART控制口。
上述的系统,优选的,所述FPGA扩展板对所述PC104总线进行扩展后,扩展的IO控制口包括IO控制口。
上述的系统,优选的,所述PC104总线包括:控制信号线、地址信号线和数据信号线。
由以上本发明实施例提供的技术方案可见,本发明提供的一种交调仪多总线通信系统,其中交调仪中使用了工控板,通过PC104总线,使用FPGA扩展板通过编写FPGA程序对所述PC104总线进行扩展,实现总线时序的转换;解决了工控板总线通信方式短缺的问题,丰富了外围设备的通信方式和IO端口;同时FPGA的通信频率高,提高了总线的速率和吞吐量;另外FPGA扩展板可以独立于工控板,单独完成对外围模块进行同步或异步的控制和通信,不占用主控板CPU的资源,还可以对设备进行并行控制通信。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本申请实施例提供的一种交调仪总线通信系统的结构示意图如图1所示,包括:工控机101、FPGA扩展板102、第一信源模块104、第二信源模块105、功放模块106和接收机模块107;
其中:所述工控机101可采用ZiBO-i3270工控机;工控机101是交调仪的主控设备,使用了Intel的CPU,预装windows XP操作系统,具备PC104总线接口。本申请实施例提供的工控机101可以采用具备PC104总线的其它多种工控机;
FPGA扩展板102通过PC104总线103与所述工控机101相连接;负责对工控机PC104总线进行总线扩展;本申请实施例提供的FPGA扩展板可将PC104总线转换成多种总线数据或者控制信号,进行数据传输和控制;
PC104总线103是工控板101对外的扩展接口,PC104总线包括三种信号线:控制线111,地址线112和数据线113;
第一信源模块104和第二信源模块105分别与所述FPGA扩展板102相连接,所述第一信源模块104和第二信源模块105分别用于产生一定频率的信号,并能够控制输出功率;
功放模块106与所述FPGA扩展板102相连接,用于根据所述第一信源模块104和第二信源模块105的控制,分别将所述第一信源模块104和第二信源模块105产生的信号放大后,以一定的功率输出,进入被测设备,在被测设备中产生互调信号;
接收机模块107与所述FPGA扩展板102相连接,用于检测功放模块106输出的信号在被测设备中产生的互调信号。
上述系统中,功放模块106包括第一功率放大器109和第二功率放大器110;
所述第一功率放大器109和第二功率放大器110用于对所述第一信源模块104及所述第二信源模块105产生的信号进行放大。
本申请实施例提供的交调仪多总线通信系统中,还设置有辅助模块108;
辅助模块108与所述FPGA扩展板102相连接,用于控制射频信号的切换,并辅助所述第一信源模块104、第二信源模块105、功放模块106和接收机模块107进行工作。
本申请实施例提供的交调仪多总线通信系统中,FPGA扩展板102,是沟通工控机和其它各个模块的桥梁,辅助工控机对交调仪各个模块进行控制和数据传输,是整个数字通信最核心的部分。
为了更加清晰的FPGA扩展板对总线的扩展过程进行描述,本申请实施例提供FPGA扩展的原理组成示意图如图2所示,FPGA扩展板包括:总线隔离芯片201、50MHz参考时钟203、FPGA芯片202和供电电源204;
图2详细说明了FPGA扩展板通过FPGA编程将PC104总线协议转换为其它总线协议的过程。
50MHz参考时钟203,为FPGA芯片202提供心跳时钟。
总线隔离芯片201,隔离外围设备和FPGA芯片202连接的电平,保护FPGA芯片202,稳定传输的数据;
供电电源204可为DC-DC电源,用于为FPGA扩展板供电,提供的电压有:1.8V,2.5V,3.3V,5V,12V;
FPGA芯片202用于PC104总线和其它总线逻辑时序的转换。
本申请实施例提供的交调仪通信系统的多总线扩展原理图如图3所示,图3说明了FPGA扩展板通过编写FPGA程序实现了如下的总线和控制线类型的时序转换,可以相互进行数据通信;
FPGA扩展板,当前扩展的总线和控制口列表如下:
扩展的总线:I-BUS总线、SPI总线和I2C总线(也叫做IIC总线);
扩展的串行接口:UART控制口;
扩展的IO控制口:IO控制口。
本申请实施例提供的FPGA扩展板扩展的总线和控制口的读写及控制时序过程分别如图4~图9所示;
首先对本申请实施例提供的PC104总线8位数据读写时序图进行描述,图4说明了工控板产生的PC104总线逻辑时序,通过编写FPGA程序,对PC104总线时序进行解析。如图4所示,
当WRITE控制时,FPGA从PC104总线接收数据;当READ控制时,FPGA往PC104总线发送数据;
BCLK:为PC104总线的系统时钟,频率为8MHz,信号由工控机产生。
BALE:为PC104总线的地址锁存控制信号,信号由工控机产生;
AEN:为PC104总线的地址使能信号,信号由工控机产生;
SA0-SA19:为PC104总线的地址线,这里只是用了SA0-SA15,为16位地址线,信号由工控机产生;
IOR,IOWC:为PC104总线的读写控制线,信号由工控机产生;
SD0-SD7:为PC104总线的数据线,读取时:信号由FPGA芯片产生。写数据时:信号由工控机产生。这样实现了数据的收发传送;
其中以上时序过程中:每个读写周期为4个时钟脉冲。
本申请实施例提供的FPGA扩展板扩展的SPI总线读写时序图如图5所示,FPGA产生的SPI读写时序图,注解如下:
图5详细说明了,【PC104总线时序】<------>【SPI总线时序】,相互转化的过程:
(A)FPGA解析PC104总线的协议,接收数据后,将该数据转化为SPI协议的总线时序,将数据往下传送;
(B)FPGA产生SPI读取时序,读取到数据后,转换为PC104总线的时序,把数据回传给工控机;
SCK:SPI总线时钟;
CLKPOL:定义了时钟脉冲的相位模式,CLKPOL=0时,SCK产生先高后低的相位时钟脉冲;CLKPOL=1时,SCK产生线低后高的相位时钟脉冲;
MOSI:主出从入,往从设备写数据;
MISO:主入从出,从从设备读取数据;
SS#:为从设备片选信号线。
本申请实施例提供的FPGA扩展板扩展的I2C总线读写时序图如图6所示;FPGA产生的I2C读写时序图,注解如下:
图6详细说明了,【PC104总线时序】<------>【I2C总线时序】,相互转化的过程:
(A)FPGA解析PC104总线的协议,接收数据后,将该数据转化为I2C协议的总线时序,将数据往下传送;
(B)FPGA产生I2C读取时序,读取到数据后,转换为PC104总线的时序,把数据回传给工控机;
SDA:I2C总线的数据线,负责数据的读写传送;
SCL:I2C总线的时钟线,提供总线的同步时钟;
I2C数据帧格式:
START:数据帧的起始标志位;
ADDRESS:为7位从设备的地址数据;
R/W:为I2C总线读写控制位;
ACK:为I2C总线地址传送的应答码;
DATA:为8位总线传送的数据;
ACK:为I2C总线数据传送的应答码;
STOP:为I2C总线数据传送完成的结束标志位。
本申请实施例提供的FPGA扩展板扩展的USRT接口读写时序图如图7所示,FPGA产生的UART读写时序图,注解如下:
图7详细说明了,【PC104总线时序】<------>【UART时序】,相互转化的过程:
(A)FPGA解析PC104总线的协议,接受数据后,将该数据转化为UART协议的时序,将数据往下传送;
(B)FPGA产生UART读取时序,读取到数据并进行缓冲,等待工控机通过PC104总线读取数据;
RX/TX:UART的收发数据线,负责数据的读写传送;
CLOCK:UART的时钟线,兼容常用的波特率数据传送;
UART数据采样,使用8倍的时钟采样1个bit。当CLOCK完成64(8*8=64)个时钟脉冲时,就可以完成D0-D7,8个bit的数据采样,合1个Byte的数据的收发。
本申请实施例提供的FPGA扩展板扩展的I-BUS总线读写时序图如图8所示;FPGA产生的I-BUS读写时序图,注解如下:
图8详细说明了,【PC104总线时序】<------>【I-BUS总线时序】,相互转化的过程:
(A)FPGA解析PC104总线的协议,接收数据后,将该数据转化为I-BUS总线协议的时序,将数据往下传送;
(B)FPGA产生I-BUS读取时序,读取到数据后,转换为PC104总线的时序,把数据回传给工控机;
CLK:I-BUS总线时钟;
SA[0-15]:16位地址线;
SD[0-15]:16位地址数据线;
CS:总线片选信号;
IOR#:读信号控制线;
IOW#:写信号控制线;
读取数据时:
(1)SA[15:0]把地址数据放到地址总线上;
(2)CS片选信号拉低,使能并占用总线;
(3)IOR#读信号拉低,T3一个时钟脉冲,采样数据总线上的数据;
(4)SD[15:0]把数据总线上的数据读取出来,完成一个读取数据的控制逻辑;
写数据时:
(1)SA[15:0]把地址数据放到地址总线上;
(2)CS片选信号拉低,使能并占用总线;
(3)IOW#写信号拉低,T3一个时钟脉冲,完成把数据放到数据总线的动作;
(4)SD[15:0]把数据放到数据总线,完成一个写数据的控制逻辑。
本申请实施例提供的FPGA扩展板扩展的IO读写时序图如图9所示;FPGA产生IO控制原理图,注解如下:
图9详细说明了,【PC104总线时序】<------>【IO控制】,相互转化的过程:
(A)FPGA解析PC104总线的协议,接受数据后,将1个字节的数据的每一位,和FPGA的管脚关联起来,控制FPGA管脚IO的电平;
(B)FPGA将IO管脚的状态映射为数据,转换为PC104总线的时序,把管脚状态数据回传给工控机。
1Byte:1个字节的数据;
B[0-7]:将1Byte数据转换为每一位的IO的控制信号。Bx=1时,管脚是高电平,Bx=0时,管脚为低电平。
通过以上描述可知,本申请实施例提供的交调仪多总线通信系统,采用FPGA(Field-programmable gate array,现场可编程门阵列)对PC104总线进行扩展,通过编程实现硬件总线时序的转换,从而达到多总线通信,沟通工控板和外围各模块的目的。
扩展出如下总线:I-BUS(Internal BUS),SPI总线(Serial Peripheral Interface Bus),I2C总线(Inter IC Bus)
扩展出如下功能接口:UART(Universal asynchronous receiver/transmitter),IO(Input and Output)。
本申请实施例提供的系统具有以下有益效果:
通过扩展把PC104总线的通信数据转换到I-BUS,SPI,I2C,UART,IO等的通信方式,进行数据传送和控制;
FPGA逻辑器件,多达几百个IO口,极大地丰富了普通的IO端口。
这里FPGA使用了50MHz的晶振,同时FPGA可以对时钟进行倍频或者分频,匹配不同频率的总线,可以提高总线的速率;同时FPGA可以使用内部RAM对数据进行缓冲,提高了数据的吞吐量;
FPGA能够独立进行工作,不依赖工控板的CPU,对外围设备进行独立控制;
FPGA是基于硬件的逻辑实现,它是并行独立执行的,可以对外围设备进行并行控制。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。