CN110515879A - 一种异步传输装置及其传输方法 - Google Patents
一种异步传输装置及其传输方法 Download PDFInfo
- Publication number
- CN110515879A CN110515879A CN201910712528.4A CN201910712528A CN110515879A CN 110515879 A CN110515879 A CN 110515879A CN 201910712528 A CN201910712528 A CN 201910712528A CN 110515879 A CN110515879 A CN 110515879A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- transmission
- controller
- crc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种异步传输装置及其传输方法,包括发送数据通路和接收数据通路,所述发送数据通路包括配置寄存器、串行时钟生成模块、发送同步模块、数据暂存模块、发送控制器、数据移位模块、CRC生成模块、CRC移位模块和串行数据选择模块,所述接收数据通路包括接收控制器、数据移位模块、读同步模块和读数据寄存器。本发明只使用三根线与外部模块连接,传输的数据线较少,有效节省面积,同时降低数据在跨时钟域传输过程中出错的风险;发送数据移位操作与接收数据移位操作,共用同一个数据移位模块,实现分时复用,发送控制器和接收控制器可以分别在发送过程和接收过程中控制数据移位模块,有效节省设计面积。
Description
技术领域
本发明涉及数据传输领域,具体是一种异步传输装置及其传输方法。
背景技术
随着片上系统SOC的应用需求越来越丰富、越来越复杂、系统性能需求越来越高,IP核间的互连架构必须能够提供具有较低延迟和高吞吐率的服务,并且具有良好的可扩展性。SOC上的同步设计和多时钟设计的实现也非常普遍,IP核间的异步时钟域的数据交换非常频繁,如何保证高效可靠的异步数据交换,已成为系统性能的关键指标。现有技术中一般采用先进先出(FIFO)电路实现异步接口数据传输的方法,FIFO电路分为写入时钟域和读取时钟域两端,写入时钟域和读取时钟域相互隔离,在写入时钟域进行数据的写操作,在读取时钟域进行数据的读操作,写入时钟域和读取时钟域之间通过半满或全满信号进行通信。
系统级芯片将以往分立的CPU内核与各IP模块集成到一个芯片上,对其进行软硬件调试时,需要提供对CPU内核寄存器及各IP模块的访问和控制机制,用来实现设置断点和观察点,下载程序、读写存储器、读写芯片内的各寄存器等调试功能。基于IEEE1149.1的JTAG接口以其灵活性与可扩展性,已广泛用于系统级芯片测试、诊断和调试。JTAG的基本原理是在器件内部定义一个TAP,通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试,还可以通过JTAG接口配置内部用户寄存器,控制内部模块工作。
专利CN102185760A(标题为“一种单芯片异步通信接口”)中提出了一种单芯片异步通信接口的方法和装置。其特征在于,包括:时钟模块、输入输出控制器和同步模块,同步模块使用FIFO进行同步,其中输入输出控制器用于与外部异步网络进行异步握手通信,并产生控制信号控制时钟模块的启停,以及控制数据输入输出该同步模块。时钟模块用于向同步模块提供时钟信号,数据同步接口为多层数据同步接口,且每一层数据同步接口对应一个输入输出控制器,同步模块用于根据该控制信号和时钟信号,对输入的数据进行同步和处理,再由输入输出控制器输出到外部异步网络。单芯片异步通信接口通过多层数据同步块在时钟的驱动下,根据输入输出控制器的控制信号完成对输入的多维外部网络数据的同步和处理,并将处理后的数据输出至外部网络,而其它层数据同步接口,则根据相应的控制信号,直接将其内部存储的未经过处理的数据输出至外部网络,支持多维网络数据的处理和同步,从而满足了异步通信网络之间的数据同步和传输,进而实现网络中不同IP核之间的互连。
其优点是,输入输出控制器从外部网络接收数据到控制同步块输出经过处理后的数据后,可以关闭时钟模块,从而节省功耗,并支持多维网络数据的处理和同步;其缺点是,按照上述方法设计异步芯片时,需要根据实际需求确定存储器的实现门数,存储器实现门数一定的芯片只在一定数据传输量范围内适用,适用性不广。同步过程中需要先将数据输入先出存储器、输出数据时要先入先出存储器,需要缓存数据,占用资源多,装置面积大,控制复杂。
专利CN101493716B(标题为“异步接口的信号同步方法、电路和异步芯片”)提出了一种异步接口的信号同步方法、电路和异步芯片。其特征在于,包括:
外部锁存模块,用于通过将接收到的外部输入信号用输入时钟域进行锁存而生成第一信号;内部锁存模块,用于通过将第一信号用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号;反馈模块,用于通过将第一入端信号用输入时钟域进行多级锁存而生成反馈信号;同步信号生成模块,用于根据反馈信号生成同步信号。反馈模块包括:信号锁存子模块,用于将第一入端信号用输入时钟域进行多级锁存,得到最后一级有效锁存的第二入端信号和第二出端信号;反馈信号生成子模块,用于将第二出端信号的反相信号与第二入端信号进行逻辑与运算,并根据运算结果生成反馈信号。同步信号生成模块包括:上升沿检测子模块,用于对同步信号进行上升沿的检测,并将检测结果输出;下降沿检测子模块,用于对同步信号进行下降沿的检测,并将检测结果输出。根据反馈信号生成同步信号。根据生成的反馈信号,由信号选择器生成同步信号,该同步信号经输出时钟域进行多级锁存后由信号输出端输出。
其优点是,信号同步方法和电路,采用多级锁存器将外部输入信号由输入时钟域同步传输到输出时钟域,对状态和控制信号的传输效率较高;并且通过反馈电路生成反馈信号及时反馈,保证输出信号与输入信号达到一致,从而避免不定态的出现。其缺点是,其内部锁存模块依然要使用存储器,控制结构类似于异步FIFO的操作,同时其输入输出端口多,使得内部逻辑控制复杂,端口多,而且面积大。
单芯片通信接口的结构复杂,使用FIFO对数据进行同步处理,为实现多层数据同步,其同步接口设计得杂,时钟控制复杂,需重复对时钟进行打开或关闭操作,导致其接口面积偏大;异步接口的信号同步方法、电路和异步芯片同样是需要将外部信号锁存到存储器中,其操作类似于FIFO控制,同样导致其接口连线较多,使得内部逻辑设计控制更加复杂,增加装置面积和功耗。
发明内容
本发明的目的在于提供一种用于JTAG控制器与外部模块间的异步传输装置及其传输方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种异步传输装置,包括发送数据通路和接收数据通路,所述发送数据通路包括配置寄存器、串行时钟生成模块、发送同步模块、数据暂存模块、发送控制器、数据移位模块、CRC生成模块、CRC移位模块和串行数据选择模块,所述接收数据通路包括接收控制器、数据移位模块、读同步模块和读数据寄存器,所述数据移位模块分别连接接收控制器、读同步模块、CRC生成模块、串行数据选择模块、发送控制器和数据暂存模块,读同步模块还分别连接接收控制器和读数据寄存器,串行数据选择模块还连接到CRC移位模块,CRC移位模块还分别连接CRC生成模块和发送控制器,发送控制器还连接发送同步模块,发送同步模块还连接配置寄存器,配置寄存器还分别连接数据寄存模块和串行时钟生成模块。
作为本发明进一步的方案:所述配置寄存器和读数据寄存器还分别连接到JTAG控制器。
作为本发明进一步的方案:所述配置寄存器与读数据寄存器为定义在JTAG控制器内的用户寄存器。
作为本发明进一步的方案:所述配置寄存器的位宽为20位,包含2位分频系数,1位模块使能位,1位读写位,8位地址和8位数据,
所述读数据寄存器的位宽为9位,其中最高位为状态位并且低8位为读数据,所述最高位的高电平表示读数据有效,低电平表示读数据无效。
作为本发明进一步的方案:所述配置寄存器在TCK时钟下,用于解释其中数据,并控制发送数据暂存模块锁存要发送的地址和数据,以及读写信号,同时传输访问信号到发送同步模块,以及将分频系数传输到串行时钟生成模块;所述串行时钟生成模块,利用配置寄存器解释出来的分频系数,将TCK时钟进行分频,产生串行时钟SCLK,给后续模块使用;所述发送同步模块,通过从配置寄存器传输过来的访问信号,生成发送开始信号,并将其从TCK时钟域同步到SCLK时钟域,送给发送控制器;所述数据暂存模块在TCK时钟域下,将配置寄存器传输过来的读写信号、地址和数据,进行锁存,传输到数据移位模块;所述发送控制器,在SCLK时钟域下,通过发送开始信号,控制CRC生成模块,生成CRC数据,并生成发送数据使能信号和发送CRC使能信号,传输到数据移位模块和CRC移位模块;所述数据移位模块,通过发送控制器传输来的发送数据使能信号,将数据进行并串转换,由高位到低位,传输到串行数据选择模块;所述CRC生成模块,通过发送控制器发送数据控制信号控制数据移位模块传输过来的串行数据生成CRC校验码;所述CRC移位模块,通过发送控制器传输来的发送CRC使能信号,将CRC数据进行并串转换,由高位到低位,传输到串行数据选择模块;所述串行数据选择模块,按照先传输数据,后传输CRC校验码的顺序,把数据传输到外部模块。
作为本发明进一步的方案:所述接收控制器根据数据端口sdout的跳变产生接收使能信号,并将此信号传输到数据移位模块,同时生成状态信号,送给读同步模块;数据移位模块,根据接收使能信号,将传输进来的sdout,进行串并转换,并传输到读同步模块;读同步模块,进行由SCLK时钟域到TCK时钟域的同步,将数据移位模块传输过来的并行数据,以及接收控制器生成的状态信号,同步传输到读数据寄存器;读数据寄存器,在TCK时钟域下,把状态信号与并行数据送到JTAG接口,JTAG接口不断轮询读数据寄存器,直到其最高位为高电平,此时的低8位就是有效的读数据。
作为本发明进一步的方案:数据暂存模块输出的并行数据包含读写位、8位地址和8位数据组成的17位并行数据,所述17位并行数据在数据移位模块内插入起始位ST,并且在串行数据选择模块插入4位CRC校验位。
作为本发明进一步的方案:在SCLK时钟域下,所述接收控制器检测起始位ST以生成接收使能信号,并且所述数据移位模块根据所述使能信号接收所述8位数据。
作为本发明进一步的方案:一种采用所述异步传输装置的传输方法,通过JTAG接口控制已在JTAG控制器内部定义好的配置寄存器与读数据寄存器,分别按照写操作和读操作的需求来传输不同内容到配置寄存器中;当需要控制外部模块工作时,按照自定义的配置寄存器格式,发送分频系数串行时钟生成模块、发送使能位到发送同步模块、发送读写位、地址数据到数据寄存模块;当需要读出读数据寄存器的内容时,JTAG接口不断轮询读数据寄存器,通过访问不同的用户寄存器来实现与外部模块的异步通信。
作为本发明再进一步的方案:所述传输方法,具体步骤如下:
一.在所述发送数据通路中,所述配置寄存器在TCK时钟下,用于解释其中数据,并控制发送数据暂存模块锁存要发送的地址和数据,以及读写信号,同时传输访问信号到发送同步模块,以及将分频系数传输到串行时钟生成模块;
所述串行时钟生成模块,利用配置寄存器解释出来的分频系数,将TCK时钟进行分频,产生串行时钟SCLK,给后续模块使用;
所述发送同步模块,通过从配置寄存器传输过来的访问信号,生成发送开始信号,并将其从TCK时钟域同步到SCLK时钟域,送给发送控制器;
所述数据暂存模块在TCK时钟域下,将配置寄存器传输过来的读写信号、地址和数据,进行锁存,传输到数据移位模块;
所述发送控制器,在SCLK时钟域下,通过发送开始信号,控制CRC生成模块,生成CRC数据,并生成发送数据使能信号和发送CRC使能信号,传输到数据移位模块和CRC移位模块;
所述数据移位模块,通过发送控制器传输来的发送数据使能信号,将数据进行并串转换,由高位到低位,传输到串行数据选择模块;
所述CRC生成模块,通过发送控制器发送数据控制信号控制数据移位模块传输过来的串行数据生成CRC校验码;
所述CRC移位模块,通过发送控制器传输来的发送CRC使能信号,将CRC数据进行并串转换,由高位到低位,传输到串行数据选择模块;
所述串行数据选择模块,按照先传输数据,后传输CRC校验码的顺序,把数据传输到外部模块;
二.在所述接收数据通路中,接收控制器,根据数据端口sdout的跳变产生接收使能信号,并将此信号传输到数据移位模块,同时生成状态信号,送给读同步模块;
数据移位模块,根据接收使能信号,将传输进来的sdout,进行串并转换,并传输到读同步模块;
读同步模块,进行由SCLK时钟域到TCK时钟域的同步,将数据移位模块传输过来的并行数据,以及接收控制器生成的状态信号,同步传输到读数据寄存器;
读数据寄存器,在TCK时钟域下,把状态信号与并行数据送到JTAG接口,JTAG接口不断轮询读数据寄存器,直到其最高位为高电平,此时的低8位就是有效的读数据。
与现有技术相比,本发明的有益效果是:本发明只使用三根线与外部模块连接,传输的数据线较少,有效节省面积,同时降低数据在跨时钟域传输过程中出错的风险;本发明无需FIFO进行缓存,降低异步传输控制复杂度;按照自定义的数据格式进行异步传输,保证传输数据的可靠性;发送数据移位操作与接收数据移位操作,共用同一个数据移位模块,实现分时复用,发送控制器和接收控制器可以分别在发送过程和接收过程中控制数据移位模块,有效节省设计面积。
附图说明
图1为现有技术中一个典型的带异步传输装置的SOC架构图;
图2为本发明中异步传输装置的电路原理框图;
图3为本发明中异步传输装置中的配置寄存器的内容示意图;
图4为本发明中异步传输装置中的读数据寄存器内容示意图;
图5为本发明中串行发送数据格式图;
图6为本发明中串行接收数据格式图;
图7为本发明中发送数据通路的流程图;
图8为本发明中接收数据通路的流程图;
图中:1-JTAG控制器、2-异步传输装置、3-IP核(知识产权核)、4-MCU(微处理器)、5-配置寄存器、6-数据暂存模块、7-发送同步模块、8-串行时钟生成模块、9-发送控制器、10-数据移位模块、11-CRC生成模块、12-CRC移位模块、13-串行数据选择模块、14-接收控制器、15-读同步模块、16-读数据寄存器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示为现有技术中一个典型的带异步传输装置的SOC架构图,其中的IP核与JTAG接口之间通过异步传输装置进行数据传输,本发明提供如图1中的充当所示模块2作用的一种异步传输装置。
请参阅图2,作为本发明异步传输装置的一个具体实施例,包括发送数据通路和接收数据通路,发送数据通路负责整个跨时钟域发送数据的过程,通过在发送数据时自定义的编码方法来增加数据传输的效率和可靠性,接收数据通路负责从外部接收串行数据,进行串并转换,然后将数据传输到JTAG接口。
具体的,所述发送数据通路包括配置寄存器5、串行时钟生成模块8、发送同步模块7、数据暂存模块6、发送控制器9、数据移位模块10、CRC生成模块11、CRC移位模块12和串行数据选择模块13,所述接收数据通路包括接收控制器14、数据移位模块10、读同步模块15和读数据寄存器16,所述数据移位模块10分别连接接收控制器14、读同步模块15、CRC生成模块11、串行数据选择模块13、发送控制器9和数据暂存模块6,读同步模块15还分别连接接收控制器14和读数据寄存器16,串行数据选择模块13还连接到CRC移位模块12,CRC移位模块12还分别连接CRC生成模块11和发送控制器9,发送控制器9还连接发送同步模块7,发送同步模块7还连接配置寄存器5,配置寄存器5还分别连接数据寄存模块6和串行时钟生成模块8。所述配置寄存器5和读数据寄存器16还分别连接到JTAG控制器1。
配置寄存器5与读数据寄存器16是在JTAG控制器1内分别定义的两个用户寄存器,配置寄存器5的位宽为20位,包含2位分频系数,支持2,4,8,16分频;1位模块使能位,高电平为使能,低电平为禁止;1位读写位,高电平为写,低电平写读;8位地址,8位数据,如图4所示。读数据寄存器的位宽为9位,最高位为状态位,高电平表示读数据有效,低电平表示读数据无效;低8位为读数据,如图3和4所示。
更进一步的,所述配置寄存器5在TCK时钟下,用于解释其中数据,并控制发送数据暂存模块6锁存要发送的地址和数据,以及读写信号,同时传输访问信号到发送同步模块7,以及将分频系数传输到串行时钟生成模块8;所述串行时钟生成模块8,利用配置寄存器5解释出来的分频系数,将TCK时钟进行分频,产生串行时钟SCLK,给后续模块使用;所述发送同步模块7,通过从配置寄存器5传输过来的访问信号,生成发送开始信号,并将其从TCK时钟域同步到SCLK时钟域,送给发送控制器9;所述数据暂存模块6在TCK时钟域下,将配置寄存器5传输过来的读写信号、地址和数据,进行锁存,传输到数据移位模块10;所述发送控制器9,在SCLK时钟域下,通过发送开始信号,控制CRC生成模块11,生成CRC数据,并生成发送数据使能信号和发送CRC使能信号,传输到数据移位模块10和CRC移位模块12;所述数据移位模块10,通过发送控制器9传输来的发送数据使能信号,将数据进行并串转换,由高位到低位,传输到串行数据选择模块13;所述CRC生成模块11,通过发送控制器9发送数据控制信号控制数据移位模块10传输过来的串行数据生成CRC校验码;所述CRC移位模块12,通过发送控制器9传输来的发送CRC使能信号,将CRC数据进行并串转换,由高位到低位,传输到串行数据选择模块13;所述串行数据选择模块13,按照先传输数据,后传输CRC校验码的顺序,把数据传输到外部模块。
所述接收控制器14根据数据端口sdout的跳变产生接收使能信号,并将此信号传输到数据移位模块10,同时生成状态信号,送给读同步模块15;数据移位模块10,根据接收使能信号,将传输进来的sdout,进行串并转换,并传输到读同步模块15;读同步模块15,进行由SCLK时钟域到TCK时钟域的同步,将数据移位模块10传输过来的并行数据,以及接收控制器14生成的状态信号,同步传输到读数据寄存器16;读数据寄存器16,在TCK时钟域下,把状态信号与并行数据送到JTAG接口,JTAG接口不断轮询读数据寄存器16,直到其最高位为高电平,此时的低8位就是有效的读数据。
串行发送的数据格式如图5所示,支持8位寄存器地址,8位数据,4位CRC校验位的传输。数据暂存模块(模块6)输出的并行数据包含读写位(WR),8位地址和8位数据组成的17位并行数据;在数据移位模块(模块10)内插入起始位(ST);串行数据选择模块(模块13)插入4位CRC校验位,所以输出的串行数据为22位。因此对一个外部寄存器的读写需要发送22位的串行数据。
串行接收的数据格式如图6所示,在SCLK时钟域下,在接收控制器14,检测起始位(ST),生成接收使能信号;数据移位模块10,根据此信号接收8位串行数据。
作为本发明进一步的扩展,本发明还提供一种采用所述异步传输装置的传输方法,通过JTAG接口控制已在JTAG控制器1内部定义好的配置寄存器5与读数据寄存器16,分别按照写操作和读操作的需求来传输不同内容到配置寄存器5中;当需要控制外部模块工作时,按照自定义的配置寄存器5格式,发送分频系数串行时钟生成模块8、发送使能位到发送同步模块7、发送读写位、地址数据到数据寄存模块6;当需要读出读数据寄存器16的内容时,JTAG接口不断轮询读数据寄存器16,通过访问不同的用户寄存器来实现与外部模块的异步通信。
所述传输方法,具体步骤如下:
一.在所述发送数据通路中,通过JTAG接口配置的用户寄存器,在这部分进行数据同步锁存,并解释寄存器数据,根据分频系数生成串行时钟SCLK,以及生成发送过程所需要的控制信号,控制其他模块工作;具体过程和步骤如下:所述配置寄存器5在TCK时钟下,用于解释其中数据,并控制发送数据暂存模块6锁存要发送的地址和数据,以及读写信号,同时传输访问信号到发送同步模块7,以及将分频系数传输到串行时钟生成模块8;
所述串行时钟生成模块8,利用配置寄存器5解释出来的分频系数,将TCK时钟进行分频,产生串行时钟SCLK,给后续模块使用;
所述发送同步模块7,通过从配置寄存器5传输过来的访问信号,生成发送开始信号,并将其从TCK时钟域同步到SCLK时钟域,送给发送控制器9;
所述数据暂存模块6在TCK时钟域下,将配置寄存器5传输过来的读写信号、地址和数据,进行锁存,传输到数据移位模块10;
所述发送控制器9,在SCLK时钟域下,通过发送开始信号,控制CRC生成模块11,生成CRC数据,并生成发送数据使能信号和发送CRC使能信号,传输到数据移位模块10和CRC移位模块12;
所述数据移位模块10,通过发送控制器9传输来的发送数据使能信号,将数据进行并串转换,由高位到低位,传输到串行数据选择模块13;
所述CRC生成模块11,通过发送控制器9发送数据控制信号控制数据移位模块10传输过来的串行数据生成CRC校验码;
所述CRC移位模块12,通过发送控制器9传输来的发送CRC使能信号,将CRC数据进行并串转换,由高位到低位,传输到串行数据选择模块13;
所述串行数据选择模块13,按照先传输数据,后传输CRC校验码的顺序,把数据传输到外部模块;
二.需接收的数据端口sdout从外部传输进来,通过接收控制器14,产生接收使能信号和状态信号,控制数据移位和接收数据同步,接收数据成功后,将并行数据传输到JTAG接口,具体过程和步骤如下:在所述接收数据通路中,接收控制器14,根据数据端口sdout的跳变产生接收使能信号,并将此信号传输到数据移位模块10,同时生成状态信号,送给读同步模块15;
数据移位模块10,根据接收使能信号,将传输进来的sdout,进行串并转换,并传输到读同步模块15;
读同步模块15,进行由SCLK时钟域到TCK时钟域的同步,将数据移位模块10传输过来的并行数据,以及接收控制器14生成的状态信号,同步传输到读数据寄存器16;
读数据寄存器16,在TCK时钟域下,把状态信号与并行数据送到JTAG接口,JTAG接口不断轮询读数据寄存器16,直到其最高位为高电平,此时的低8位就是有效的读数据。
综上所述,本发明异步传输装置,只使用三根线与外部模块连接,传输的数据线较少,有效节省面积,同时降低数据在跨时钟域传输过程中出错的风险;发送数据移位操作与接收数据移位操作,共用同一个数据移位模块10,实现分时复用,发送控制器9和接收控制器14可以分别在发送过程和接收过程中控制数据移位模块10,有效节省设计面积。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种异步传输装置,其特征在于,包括发送数据通路和接收数据通路,所述发送数据通路包括配置寄存器(5)、串行时钟生成模块(8)、发送同步模块(7)、数据暂存模块(6)、发送控制器(9)、数据移位模块(10)、CRC生成模块(11)、CRC移位模块(12)和串行数据选择模块(13),所述接收数据通路包括接收控制器(14)、数据移位模块(10)、读同步模块(15)和读数据寄存器(16),所述数据移位模块(10)分别连接接收控制器(14)、读同步模块(15)、CRC生成模块(11)、串行数据选择模块(13)、发送控制器(9)和数据暂存模块(6),读同步模块(15)还分别连接接收控制器(14)和读数据寄存器(16),串行数据选择模块(13)还连接到CRC移位模块(12),CRC移位模块(12)还分别连接CRC生成模块(11)和发送控制器(9),发送控制器(9)还连接发送同步模块(7),发送同步模块(7)还连接配置寄存器(5),配置寄存器(5)还分别连接数据寄存模块(6)和串行时钟生成模块(8)。
2.根据权利要求1所述的异步传输装置,其特征在于,所述配置寄存器(5)和读数据寄存器(16)还分别连接到JTAG控制器(1)。
3.根据权利要求2所述的异步传输装置,其特征在于,所述配置寄存器(5)与读数据寄存器(16)为定义在JTAG控制器(1)内的用户寄存器。
4.根据权利要求3所述的异步传输装置,其特征在于,所述配置寄存器(5)的位宽为20位,包含2位分频系数,1位模块使能位,1位读写位,8位地址和8位数据,
所述读数据寄存器(16)的位宽为9位,其中最高位为状态位并且低8位为读数据,所述最高位的高电平表示读数据有效,低电平表示读数据无效。
5.根据权利要求2所述的异步传输装置,其特征在于,所述配置寄存器(5)在TCK时钟下,用于解释其中数据,并控制发送数据暂存模块(6)锁存要发送的地址和数据,以及读写信号,同时传输访问信号到发送同步模块(7),以及将分频系数传输到串行时钟生成模块(8);所述串行时钟生成模块(8),利用配置寄存器(5)解释出来的分频系数,将TCK时钟进行分频,产生串行时钟SCLK,给后续模块使用;所述发送同步模块(7),通过从配置寄存器(5)传输过来的访问信号,生成发送开始信号,并将其从TCK时钟域同步到SCLK时钟域,送给发送控制器(9);所述数据暂存模块(6)在TCK时钟域下,将配置寄存器(5)传输过来的读写信号、地址和数据,进行锁存,传输到数据移位模块(10);所述发送控制器(9),在SCLK时钟域下,通过发送开始信号,控制CRC生成模块(11),生成CRC数据,并生成发送数据使能信号和发送CRC使能信号,传输到数据移位模块(10)和CRC移位模块(12);所述数据移位模块(10),通过发送控制器(9)传输来的发送数据使能信号,将数据进行并串转换,由高位到低位,传输到串行数据选择模块(13);所述CRC生成模块(11),通过发送控制器(9)发送数据控制信号控制数据移位模块(10)传输过来的串行数据生成CRC校验码;所述CRC移位模块(12),通过发送控制器(9)传输来的发送CRC使能信号,将CRC数据进行并串转换,由高位到低位,传输到串行数据选择模块(13);所述串行数据选择模块(13),按照先传输数据,后传输CRC校验码的顺序,把数据传输到外部模块。
6.根据权利要求5所述的异步传输装置,其特征在于,所述接收控制器(14)根据数据端口sdout的跳变产生接收使能信号,并将此信号传输到数据移位模块(10),同时生成状态信号,送给读同步模块(15);数据移位模块(10),根据接收使能信号,将传输进来的sdout,进行串并转换,并传输到读同步模块(15);读同步模块(15),进行由SCLK时钟域到TCK时钟域的同步,将数据移位模块(10)传输过来的并行数据,以及接收控制器(14)生成的状态信号,同步传输到读数据寄存器(16);读数据寄存器(16),在TCK时钟域下,把状态信号与并行数据送到JTAG接口,JTAG接口不断轮询读数据寄存器(16),直到其最高位为高电平,此时的低8位就是有效的读数据。
7.根据权利要求6所述的异步传输装置,其特征在于,数据暂存模块(6)输出的并行数据包含读写位、8位地址和8位数据组成的17位并行数据,所述17位并行数据在数据移位模块(10)内插入起始位ST,并且在串行数据选择模块(13)插入4位CRC校验位。
8.根据权利要求7所述的异步传输装置,其特征在于,在SCLK时钟域下,所述接收控制器(14)检测起始位ST以生成接收使能信号,并且所述数据移位模块(10)根据所述使能信号接收所述8位数据。
9.一种采用如权利要求1-8任一所述异步传输装置的传输方法,其特征在于,通过JTAG接口控制已在JTAG控制器(1)内部定义好的配置寄存器(5)与读数据寄存器(16),分别按照写操作和读操作的需求来传输不同内容到配置寄存器(5)中;当需要控制外部模块工作时,按照自定义的配置寄存器(5)格式,发送分频系数到串行时钟生成模块(8)、发送使能位到发送同步模块(7)、发送读写位、地址数据到数据寄存模块(6);当需要读出读数据寄存器(16)的内容时,JTAG接口不断轮询读数据寄存器(16),通过访问不同的用户寄存器来实现与外部模块的异步通信。
10.根据权利要求9所述的传输方法,其特征在于,具体步骤如下:
一.在所述发送数据通路中,所述配置寄存器(5)在TCK时钟下,用于解释其中数据,并控制发送数据暂存模块(6)锁存要发送的地址和数据,以及读写信号,同时传输访问信号到发送同步模块(7),以及将分频系数传输到串行时钟生成模块(8);
所述串行时钟生成模块(8),利用配置寄存器(5)解释出来的分频系数,将TCK时钟进行分频,产生串行时钟SCLK,给后续模块使用;
所述发送同步模块(7),通过从配置寄存器(5)传输过来的访问信号,生成发送开始信号,并将其从TCK时钟域同步到SCLK时钟域,送给发送控制器(9);
所述数据暂存模块(6)在TCK时钟域下,将配置寄存器(5)传输过来的读写信号、地址和数据,进行锁存,传输到数据移位模块(10);
所述发送控制器(9),在SCLK时钟域下,通过发送开始信号,控制CRC生成模块(11),生成CRC数据,并生成发送数据使能信号和发送CRC使能信号,传输到数据移位模块(10)和CRC移位模块(12);
所述数据移位模块(10),通过发送控制器(9)传输来的发送数据使能信号,将数据进行并串转换,由高位到低位,传输到串行数据选择模块(13);
所述CRC生成模块(11),通过发送控制器(9)发送数据控制信号控制数据移位模块(10)传输过来的串行数据生成CRC校验码;
所述CRC移位模块(12),通过发送控制器(9)传输来的发送CRC使能信号,将CRC数据进行并串转换,由高位到低位,传输到串行数据选择模块(13);
所述串行数据选择模块(13),按照先传输数据,后传输CRC校验码的顺序,把数据传输到外部模块;
二.在所述接收数据通路中,接收控制器(14),根据数据端口sdout的跳变产生接收使能信号,并将此信号传输到数据移位模块(10),同时生成状态信号,送给读同步模块(15);
数据移位模块(10),根据接收使能信号,将传输进来的sdout,进行串并转换,并传输到读同步模块(15);
读同步模块(15),进行由SCLK时钟域到TCK时钟域的同步,将数据移位模块(10)传输过来的并行数据,以及接收控制器(14)生成的状态信号,同步传输到读数据寄存器(16);
读数据寄存器(16),在TCK时钟域下,把状态信号与并行数据送到JTAG接口,JTAG接口不断轮询读数据寄存器(16),直到其最高位为高电平,此时的低8位就是有效的读数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910712528.4A CN110515879B (zh) | 2019-08-02 | 2019-08-02 | 一种异步传输装置及其传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910712528.4A CN110515879B (zh) | 2019-08-02 | 2019-08-02 | 一种异步传输装置及其传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515879A true CN110515879A (zh) | 2019-11-29 |
CN110515879B CN110515879B (zh) | 2021-05-25 |
Family
ID=68624845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910712528.4A Active CN110515879B (zh) | 2019-08-02 | 2019-08-02 | 一种异步传输装置及其传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515879B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930683A (zh) * | 2020-08-04 | 2020-11-13 | 天津七所精密机电技术有限公司 | 一种适用于hdlc协议的同步串行收发器及其方法 |
CN113032319A (zh) * | 2021-03-30 | 2021-06-25 | 中车青岛四方车辆研究所有限公司 | 基于fpga的车载系统数据传输方法及同步高速串行总线结构 |
WO2024000911A1 (zh) * | 2022-06-28 | 2024-01-04 | 长鑫存储技术有限公司 | 数据转换电路及内存装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516392A (zh) * | 2013-06-21 | 2014-01-15 | 北京汉邦高科数字技术股份有限公司 | 一种异步串行数据的传输装置及方法 |
CN104809094A (zh) * | 2015-05-25 | 2015-07-29 | 中国电子科技集团公司第四十七研究所 | Spi控制器及其通信方法 |
US20170139866A1 (en) * | 2015-11-18 | 2017-05-18 | Doug Wallace | Systems And Methods Of In-Situ Digital Eye Characterization For Serial Data Transmitter Circuitry |
CN107451087A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于fpga的异同步可切换串口及使用方法 |
CN104317756B (zh) * | 2014-10-27 | 2018-04-27 | 北京元隆雅图文化传播股份有限公司 | 一种多功能便携数据卡和数据传输方法 |
WO2019139740A1 (en) * | 2018-01-09 | 2019-07-18 | Microsoft Technology Licensing, Llc | Extensible input stack for processing input device data |
-
2019
- 2019-08-02 CN CN201910712528.4A patent/CN110515879B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516392A (zh) * | 2013-06-21 | 2014-01-15 | 北京汉邦高科数字技术股份有限公司 | 一种异步串行数据的传输装置及方法 |
CN104317756B (zh) * | 2014-10-27 | 2018-04-27 | 北京元隆雅图文化传播股份有限公司 | 一种多功能便携数据卡和数据传输方法 |
CN104809094A (zh) * | 2015-05-25 | 2015-07-29 | 中国电子科技集团公司第四十七研究所 | Spi控制器及其通信方法 |
US20170139866A1 (en) * | 2015-11-18 | 2017-05-18 | Doug Wallace | Systems And Methods Of In-Situ Digital Eye Characterization For Serial Data Transmitter Circuitry |
CN107451087A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于fpga的异同步可切换串口及使用方法 |
WO2019139740A1 (en) * | 2018-01-09 | 2019-07-18 | Microsoft Technology Licensing, Llc | Extensible input stack for processing input device data |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930683A (zh) * | 2020-08-04 | 2020-11-13 | 天津七所精密机电技术有限公司 | 一种适用于hdlc协议的同步串行收发器及其方法 |
CN113032319A (zh) * | 2021-03-30 | 2021-06-25 | 中车青岛四方车辆研究所有限公司 | 基于fpga的车载系统数据传输方法及同步高速串行总线结构 |
CN113032319B (zh) * | 2021-03-30 | 2023-09-05 | 中车青岛四方车辆研究所有限公司 | 基于fpga的车载系统数据传输方法及同步高速串行总线结构 |
WO2024000911A1 (zh) * | 2022-06-28 | 2024-01-04 | 长鑫存储技术有限公司 | 数据转换电路及内存装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110515879B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9979432B2 (en) | Programmable distributed data processing in a serial link | |
US10423567B2 (en) | Unidirectional clock signaling in a high-speed serial link | |
CN110515879A (zh) | 一种异步传输装置及其传输方法 | |
CN109791530A (zh) | 多管芯硬件处理器和方法 | |
Bjerregaard et al. | An OCP compliant network adapter for GALS-based SoC design using the MANGO network-on-chip | |
Amde et al. | Asynchronous on-chip networks | |
CN105721057A (zh) | 高性能光中继器 | |
Furber et al. | Future trends in SoC interconnect | |
CN107015924A (zh) | 高性能互连物理层 | |
CN106294239B (zh) | 一种外围总线apb总线桥 | |
WO2022166427A1 (zh) | 用于互联裸芯的数据传输事件 | |
CN101599004B (zh) | 基于fpga的sata控制器 | |
EP0826179A1 (en) | Source synchronous clocked data link | |
CN110018975A (zh) | 移动装置及其接口方法 | |
CN110417780A (zh) | 定制化数据传输协议的多通道高速数据接口转化模块 | |
GB2442501A (en) | Sending and receiving serial data with parallel data conversion | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN102929329A (zh) | 片上系统间互连网络的动态重构方法 | |
CN107391332A (zh) | 一种存储系统及调试系统 | |
CN107070937B (zh) | 一种基于fpga的协议转换装置、方法 | |
WO2022266959A1 (zh) | 一种芯片测试电路和方法 | |
Pham-Thai et al. | A novel multichannel UART design with FPGA-based implementation | |
CN103309798B (zh) | 一种dsp调试装置 | |
CN112732611A (zh) | 一种基于axi的芯片互联系统 | |
Saastamoinen et al. | Interconnect IP for gigascale system-on-chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |