发明内容
技术问题:本发明的目的是提供一种显示测试图形多通道时钟信号发生器。它以USB模块、现场可编程门阵列FPGA模块、时钟模块之间的数据传送,完成时钟信号发生过程中时钟数据的写入和读出。时钟数据写入实现时钟信号更新,时钟数据读出校验数据传输结果。
技术方案:本发明的显示测试图形多通道时钟信号发生器包括USB模块、FPGA模块、时钟模块;USB模块、FPGA模块、时钟模块顺序相串联连接;FPGA模块由数据接收/发送模块module FT245BM和数据写入/读出模块module FS6370组成。
USB模块经串行双向数据端USBDP、USBDM和并行双向数据端D0~D7转换和传输时钟数据,FPGA模块经并行双向数据端(USB_DATA[7..0])接收/发送时钟数据和串行双向数据端(sda)写入/读出时钟数据,时钟模块(3)经串行双向数据端OE/SDA传输时钟数据和多路时钟输出端CLK_A、CLK_B、CLK_C输出时钟信号。
在USB模块中,USB接口的串行双向数据端D+、D-经第二十七电阻、第二十八电阻接USB芯片FT245BM的串行双向数据端USBDP、USBDM,USB芯片FT245BM的并行双向数据端(D0~D7)接FPGA芯片EP2C20Q240C8N的第72、73、78、79、80、84、86、87脚,USB芯片FT245BM的读/写控制输入端nRD、WR接FPGA芯片EP2C20Q240C8N的第88、90脚,USB芯片FT245BM的接收/发送控制输出端接FPGA芯片EP2C20Q240C8N的96、97脚。
FPGA模块由数据接收/发送模块module FT245BM、数据写入/读出模块module FS6370组成;数据接收/发送模块module FT245BM的并行双向数据端USB_DATA[7..0]接FPGA芯片EP2C20Q240C8N的72、73、78、79、80、84、86、87脚,数据接收/发送模块(module FT245BM)的读/写控制输出端USB_RD、USB_WR接FPGA芯片EP2C20Q240C8N的88、90脚,数据接收/发送模块moduleFT245BM的接收/发送控制输入端USB_RXF、USB_TXE接FPGA芯片EP2C20Q240C8N的96、97脚;数据写入/读出模块module FS6370的复位输入端(reset)接数据接收/发送模块module FT245BM的复位输出端,数据写入/读出模块module FS6370的器件地址输入端raddr[7..0]接数据接收/发送模块moduleFT245BM的器件地址输出端raddr[7..0],数据写入/读出模(module FS6370的寄存器地址输入端addr[7..0]接数据接收/发送模块module FT245BM的寄存器地址输出端addr[7..0],数据写入/读出模块module FS6370的读/写控制输入端接数据接收/发送模块module FT245BM的读/写控制输出端,数据写入/读出模块moduleFS6370的数据输入端data[7..0]接数据接收/发送模块module FT245BM的数据输出端rdata[7..0],数据写入/读出模块module FS6370的数据输出端data_rm[7..0]接数据接收/发送模块module FT245BM的数据输入端idata[7..0];数据写入/读出模块module FS6370的串行双向数据端接FPGA芯片EP2C20Q240C8N的113脚,数据写入/读出模块module FS6370的时钟输出端接FPGA芯片EP2C20Q240C8N的114脚,数据写入/读出模块module FS6370的模式控制输出端接FPGA芯片EP2C20Q240C8N的111脚;数据接收/发送模块module FT245BM的时钟输入端和数据写入/读出模块module FS6370的时钟输入端并接FPGA芯片EP2C20Q240C8N的154脚,数据写入/读出模块module FS6370的掉电控制输出端(pd)接FPGA芯片EP2C20Q240C8N的8脚;
在时钟模块中,时钟芯片FS6370的输出使能/串口数据双向端经第三十八电阻接FPGA芯片EP2C20Q240C8N的113脚,时钟芯片FS6370的掉电输入/串行时钟输入端PD/SCL经第三十五电阻接FPGA芯片EP2C20Q240C8N的114脚,时钟芯片FS6370的模式选择输入端(MODE)经第三十九电阻接FPGA芯片EP2C20Q240C8N的111脚,时钟芯片FS6370的晶振驱动端XOUT经第三十六电阻(R36)接FPGA芯片EP2C20Q240C8N的154脚,模拟开关CD4053的数字控制输入端(Sa)接FPGA芯片EP2C20Q240C8N的8脚,模拟开关CD4053的模拟输入/输出端接电源+3.3V,模拟开关的模拟输入/输出端接时钟芯片FS6370的电源输入端,时钟芯片FS6370的时钟输出端CLK_A、CLK_B、CLK_C是三路时钟信号输出端。
有益效果:本显示测试图形多通道时钟信号发生器是国际首创,该发生器具有以下特点:
1.时钟信号的发生与更新基于FPGA控制,时钟芯片在编程模式和运行模式转换时无需手动跳线,时钟信号能在线连续更新。
2.时钟发生与更新时时钟芯片的三个通道时钟输出端可输出相同或不同频率的时钟信号。
3.时钟电路设计简单,时钟发生与更新灵活可靠,无需为了更新时钟信号而重新烧写图形程序。
具体实施方式
本发明的显示测试图形多通道时钟信号发生器包括USB模块1、FPGA模块2、时钟模块3顺序相串联连接,FPGA模块2由数据接收/发送模块(moduleFT245BM)、数据写入/读出模块module FS6370组成;USB模块1经串行双向数据端USBDP、USBDM和并行双向数据端D0~D7转换和传输时钟数据,FPGA模块2经并行双向数据端USB_DATA[7..0]接收/发送时钟数据和串行双向数据端sda写入/读出时钟数据,时钟模块3经串行双向数据端OE/SDA传输时钟数据和多路时钟输出端CLK_A、CLK_B、CLK_C输出时钟信号。
USB模块是数据传输通道(DTC)。USB接口的串行双向数据端D+、D-的串行数据经FT245BM转换为D0~D7的并行数据后与EP2C20Q240C8N相互传输数据。在USB模块中,USB接口的串行双向数据端D+、D-经R27、R28接USB芯片FT245BM的数据信号正、负端USBDP、USBDM,FT245BM的并行双向数据端D0~D7接FPGA芯片EP2C20Q240C8N的72、73、78、79、80、84、86、87脚,FT245BM的读/写控制输入端nRD、WR接EP2C20Q240C8N的88、90脚,FT245BM的收/发信号输出端nRXF、nTXE接EP2C20Q240C8N的96、97脚。
FPGA模块是数据传输主控单元(DTMCU)。module FT245BM准备数据和设置操作,并控制module FS6370的工作状态。在FPGA模块中,module FT245BM的并行双向数据端USB_DATA[7..0]接EP2C20Q240C8N的72、73、78、79、80、84、86、87脚,module FT245BM的读/写控制输出端USB_RD、USB_WR接EP2C20Q240C8N的88、90脚,module FT245BM的接收/发送控制输入端USB_RXF、USB_TXE接EP2C20Q240C8N的96、97脚;module FS6370的复位输入端reset接module FT245BM的复位输出端reset,module FS6370的器件地址输入端raddr[7..0]接module FT245BM的器件地址输出端raddr[7..0],module FS6370的寄存器地址输入端addr[7..0]接module FT245BM的寄存器地址输出端addr[7..0],module FS6370的读/写控制输入端rd、wr接module FT245BM的读/写控制输出端rd、wr,module FS6370的数据输入端data[7..0]接module FT245BM的数据输出端rdata[7..0],module FS6370的数据输出端data rm[7..0]接module FT245BM的数据输入端idata[7..0];module FS6370的串行双向数据端sda接EP2C20Q240C8N的113脚,module FS6370的时钟输出端scl接EP2C20Q240C8N的114脚,moduleFS6370的模式控制输出端mode接EP2C20Q240C8N的111脚,module FT245BM和module FS6370的时钟输入端clk接EP2C20Q240C8N的154脚,module FS6370的掉电控制输出端pd接EP2C20Q240C8N的8脚。
module FT245BM模块是数据接收/发送控制单元DRSCU。在moduleFT245BM中,执行时钟数据准备、目标地址设定和读写操作设置,其步骤如下:
(1)时钟数据接收开始校验;
(2)接收16个字节时钟数据、16个字节时钟数据放入数据缓冲区;
(3)置reset=″0″,禁止module FS6370启动;
(4)置FS6370的EEPROM地址至raddr[7..0];
(5)置rd=″0″、wr=″1″,module FS6370写操作设置;
(6)置reset=″1″、module FS6370启动;
(7)置FS6370的寄存器地址至addr[7..0]、addr[7..0]从00H以01H的递增量递增至0FH;
(8)依次提取数据缓冲区数据至rdata[7..0];
(9)16个字节时钟数据写入FS6370的EEPROM后重复步骤(3);
(10)FS6370的EEPROM地址加1、置EEPROM地址至raddr[7..0],写数据位变为读数据位;
(11)置rd=″1″、wr=″0″,module FS6370读操作设置;
(12)重复步骤(6);
(13)重复步骤(7);
(14)idata[7..0]依次读取FS6370的EEPROM中16个字节时钟数据;
(15)16个字节时钟数据读出后置rd=″0″、wr=″0″。
在module FS6370模块是数据写入/读出控制单元(DWRCU)。在moduleFS6370中,执行运行模式转换、传输时序设定和上电更新复位,其步骤如下:
(21)reset=″1″,启动;
(22)置mode=″0″,FS6370是编程模式;
(23)wr=″1″、rd=″0″、置pd″1″,写操作、FS6370上电;
(24)I2C总线数据传输时序开始,当scl=″1″时、sda=″1″变为sda=″0″;
(25)送raddr[7..0]的地址至sda;
(26)送addr[7..0]的地址至sda;
(27)送data[7..0]的一个字节时钟数据至sda;
(28)I2C总线数据传输时序结束,当scl=″1″时、sda=″0″变为sda=″1″;
(29)16字节时钟数据写入结束,wr=″0″、rd=″1″、置pd″1″,读操作、FS6370上电;
(30)重复步骤(24);
(31)重复步骤(25).;
(32)重复步骤(26).;
(33)送sda的一个字节时钟数据至data_rm[7..0];
(34)重复步骤(28).;
(35)16个字节时钟数据读出后wr=″0″、rd=″0″、置mode=″1″,FS6370是运行模式;
(36)置pd=″0″、再置pd″1″,FS6370掉电后再上电,FS6370的EEPROM中16个字节时钟数据调入控制寄存器。
时钟模块是时钟信号发生器CSG。多路时钟信号中可任选一路时钟信号,也可选二路或三路相同频率或不同频率的时钟信号。在时钟模块中,FS6370的输出使能/串口数据双向端OE/SDA经R38接EP2C20Q240C8N的113脚,FS6370的掉电输入/串行时钟输入端PD/SCL经R35接EP2C20Q240C8N的114脚,FS6370的模式选择输入端MODE经R39接EP2C20Q240C8N的111脚,FS6370的晶振驱动端XOUT经R36接EP2C20Q240C8N的154脚,模拟开关CD4053的数字控制输入端Sa接EP2C20Q240C8N的8脚,CD4053的模拟输入/输出端Ya接电源+3.3V,CD4053的模拟输入/输出端Za接FS6370的电源输入端VDD,FS6370的时钟输出端CLK_A、CLK_B、CLK_C是三路时钟信号输出端。