利索能及
我要发布
收藏
专利号: 202210087578X
申请人: 浙江理工大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于方法包括以下步骤:

步骤一,设计基于UDP协议的主站和基于EtherCAT协议的从站数据传输系统;

步骤二,调用IP核FIFO方法和异步双口RAM方法处理主站涉及到的驻留数据跨时钟域部分;

步骤三,使用二分频使能锁存方式处理从站非驻留数据的跨时钟域传输。

2.根据权利要求1所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:所述的主从站数据传输系统中,在主站到从站之间以及从站到从站之间的传输采用EtherCAT协议。

3.根据权利要求1所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:所述主站中包括以太网接收报文缓冲模块rcv_buffer、ARP报文接收模块arp_rcv、IP报文接收模块ip_rcv、缓冲连接模块nwk_tx_abt、UDP报文接收模块udp_rcv、UDP报文发送模块udp_send、ARP报文发送模块arp_send、IP报文发送模块ip_send、ARP缓存模块Mac_cache、icmp应答报文模块icmp_reply和以太网发送报文模块mac_tx_abt;

以太网接收报文缓冲模块rcv_buffer的输出端分别和ARP报文接收模块arp_rcv、IP报文接收模块ip_rcv的输入端连接,IP报文接收模块ip_rcv的输出端分别和UDP报文接收模块udp_rcv、icmp应答报文模块icmp_reply的输入端连接,icmp应答报文模块icmp_reply的输出端和UDP报文发送模块udp_send的输出端分别与缓冲连接模块nwk_tx_abt的两个输入端连接;

ARP报文接收模块arp_rcv的输出端分别和ARP缓存模块Mac_cache的输入端、ARP报文发送模块arp_send的一个输入端连接,同时,ARP缓存模块Mac_cache的一个输出端和ARP报文发送模块arp_send的另一个输入端连接,ARP缓存模块Mac_cache和缓冲连接模块nwk_tx_abt的输出端分别与IP报文发送模块ip_send的两个输入端连接,IP报文发送模块ip_send和ARP报文发送模块arp_send的输出端分别和以太网发送报文模块mac_tx_abt的两个输入端连接。

4.根据权利要求1所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:所述步骤二中,对于计算机发送给主站的数据,在主站的以太网接收报文缓冲模块rcv_buffer中调用一个IP核,将数据缓存进异步FIFO存储模块中,将数据全部转换到主站网口0的发送时钟域下并传输给以太网接收报文缓冲模块rcv_buffer后面的各级模块中,直到数据传输到UDP报文接收模块udp_rcv中;

同时在UDP报文接收模块udp_rcv中编写异步双口RAM存储模块,将UDP报文的数据部分内容缓存进异步双口RAM存储模块中,完成主站网口0发送时钟域下的数据到主站网口1发送时钟域下的数据的跨时钟域处理。之后主站网口1发送时钟域下的数据用EtherCAT协议封装,最终从UDP报文接收模块udp_rcv发送给从站。

5.根据权利要求1所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:所述的步骤三中,在从站之间的传输构建二分频使能锁存跨时钟域方法电路,包括接收域rx domain、发送域tx domain、存储单元RAM、三个多路选择器、三个D触发器、由两个D触发器组成的移位寄存器和三个与门;接收域rx domain和发送域tx domain分别和存储单元RAM连接,接收域rx domain分别和两个多路选择器、三个D触发器、两个与门连接,上面的D触发器分别和存储单元RAM、移位寄存器、第三与门连接,移位寄存器分别和发送域tx domain、存储单元RAM、第三与门连接,和接收域rx domain连接的两个多路选择器分别和两个D触发器连接,两个D触发器分别与和接收域rx domain连接的两个与门连接,和接收域rx domain连接的两个与门均和存储单元RAM连接,剩余的多路选择器分别和存储单元RAM、存储单元RAM的数据读取端rdata、第三与门连接。

6.根据权利要求5所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:所述的二分频使能锁存跨时钟域方法电路,接收域rx domain的时钟输出端、使能信号输出端和数据输出端分别连接到存储单元RAM的时钟接收端rx_clk、写使能信号写入端wr_en和数据写入端wr_data,RAM的时钟发送端tx_clk、数据读取端rdata分别和发送域tx domain的时钟输入端、数据输入端连接;

接收域rx domain的时钟输出端分别和两个D触发器的时钟触发端连接,接收域rx domain的使能信号输出端分别与第一多路选择器和第二多路选择器的选择控制端以及第一与门和第二与门各自的一个输入端连接,同时接收域rx domain的使能信号输出端和上面的D触发器的输入端D连接;

第一多路选择器和第二多路选择器的输出端和两个D触发器的输入端D连接,两个D触发器的输出端Q分别和第一与门、第二与门各自的另一个输入端连接,同时两个D触发器的输出端Q分别和第一多路选择器、第二多路选择器各自的1路输入端连接,第一多路选择器的0路输入端连接输入低电平信号、第二多路选择器的0路输入端连接输入高电平信号;

上面的D触发器的输出端Q分别和存储单元RAM的使能信号读取端rd_en、第三与门的一个输入端连接,存储单元RAM的时钟发送端分别和上面的D触发器的时钟触发端、移位寄存器中的两个D触发器的时钟触发端连接,移位寄存器中的一个D触发器的输出端和第三与门的一个输入端连接,第三与门的输出端和第三多路选择器的选择控制端连接;

所述的存储单元RAM内部分为第一存储单元RAM[1]和第二存储单元RAM[0],第一与门和第二与门的输出端分别和第一存储单元RAM[1]和第二存储单元RAM[0]的写入端连接,第一存储单元RAM[1]和第二存储单元RAM[0]的读取端分别和第三多路选择器的1路输入端和

0路输入端连接,第三多路选择器的输出端与RAM的数据读取端rdata以及发送域tx domain的数据输入端连接相连,发送数据tx_data。

7.根据权利要求5所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:所述的移位寄存器中,第一个D触发器的输入端D和第二个D触发器的输出端Q连接,第二个D触发器的输入端D和第一个D触发器的输出端Q连接。

8.根据权利要求6所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:当接收域rx domain接收到数据流时,数据流中的接收使能信号rx_valid信号分别发送到上面的D触发器、第一多路选择器和第二多路选择器,数据流中的接收时钟rx_clk分别发送到两个D触发器,数据流中的接收数据rx_data发送到第一存储单元RAM[1]和第二存储单元RAM[0]进行存储;

首先,

若接收使能信号rx_valid信号为高电平,则接收使能信号rx_valid信号将作用于第一多路选择器和第二多路选择器,使得在两个D触发器接收到的接收时钟rx_clk处于上升沿时第一多路选择器和第二多路选择器的输出取反跳变,两个D触发器的输出端输出两个频率相同、相位相反的锁存使能信号latch_0和latch_1;

得到锁存使能信号的同时,接收使能信号rx_valid直接连接到存储单元RAM的写使能信号写入端wr_en,接收使能信号rx_valid分别和锁存使能信号latch_0和latch_1信号经过第一与门、第二与门进行逻辑处理:当第一与门的输出为高电平、第二与门的输出为低电平时,存储单元RAM选择将接收数据rx_data存储在第一存储单元RAM[1]中;

当第一与门的输出为低电平、第二与门的输出为高电平时,存储单元RAM选择将接收数据rx_data存储在第二存储单元RAM[0]中;

其次,

当接收使能信号rx_valid有效,即为高电平时,接收使能信号rx_valid输入到上面的D触发器,上面的D触发器的输出端Q的输出信号直接作为存储单元RAM的使能读取信号;

然后,

将使能读取信号rd_en输入到移位寄存器的两个D触发器中,

初始状态下,一个触发器的状态为0,0代表了输入的低电平,另一个触发器的状态为1,

1代表了输入的高电平;

在每个发送时钟tx clk的上升沿,两个D触发器的输出进行交互实现移位操作;整个移位寄存器输出两个触发器的总状态的的较低位shift[0]到第三与门中的一个输入端;

最后,

存储单元RAM的使能读取信号rd_en和移位寄存器输出的较低位shift[0]经第三与门进行相与操作:

当第三与门的输出为高电平时,则通过第三多路选择器选择读出第二存储单元RAM[0]中的数据;

当第三与门的输出为低电平时,则通过第三多路选择器选择读出第一存储单元RAM[1]中的数据;

第三多路选择器输出的数据Data_out作为跨时钟域同步后的数据。

9.根据权利要求8所述的一种基于同频异相时钟的非驻留数据跨时钟域方法,其特征在于:所述两个锁存使能信号latch_0和latch_1的频率正好是接收时钟rx_clk的频率的一半。