技术领域
[0001] 本
发明涉及数据转化技术领域,特别涉及一种用于数据串行传输的并串、串并转换装置。
背景技术
[0002] 随着现代科技的发展,数据传输技术也得到了长足的发展,在数据传输的过程中,随着时钟
频率越来越高,并行传输时,并行
导线之间的相互干扰越来越严重,并行传输方式发展到了
瓶颈。而串行传输采用差分
信号(differential signal)传输技术,有效地克服了因天线效应对
信号传输线路形成的干扰,以及传输线路之间的串扰,使得串行传输能够获得很高的数据传输率,而受到广泛应用。
[0003] 现有的现场可编程
门阵列(Field Programmable Gate Array,简称“FPGA”)技术中,为了实现数据的串行传输,往往会先将
电路中的并行数据转
化成串行数据进行传输,再在传输结束时将串行数据重新转化为并行数据。其中,为了实现并串、串并转换,需要先将数据先放入保持寄存器,然后通过
控制信号在放进移位寄存器中进行缓存,最后通过计数器产生来
输出信号来将数据进行输出。
[0004] 但是依靠移位寄存器来缓存数据,存在以下问题:
[0005] 控制信号复杂。在FPGA设计中,控制信号不仅控制时钟频率的切换还要负责数据移位寄存器的移位、数据的缓冲、输出的计数控制等,这样会增加控制信号的复杂度。FPGA中控制信号是由组合电路构成,在高频时钟系统中控制信号会出现毛刺和误操作。
[0006] 时钟可调性小。现有的FPGA设计中串并转换和
并串转换中的输入时钟和输出时钟比是固定不变的,在遇到数据延时时其控制信号的设计会更加的复杂,在输入时钟和输出时钟中存在时钟偏移时都会导致数据转换的错误。
发明内容
[0007] 为了解决
现有技术中依靠移位寄存器来缓存数据存在的问题,本发明
实施例提供了一种用于数据串行传输的并串、串并转换装置。所述技术方案如下:
[0008] 本发明实施例提供了一种用于数据串行传输的并串、串并转换装置,包括:接收并行数据并将并行数据转换为串行数据输出的并串转换单元,和接收串行数据并将串行数据转化为并行数据输出的串并转换单元,
[0009] 所述并串转换单元包括:
[0010] 第一保持寄存器,用于缓存外部电路传输的并行数据;
[0011] 第一移位寄存器,用于将所述第一保持寄存器中缓存的并行数据转换成串行数据;
[0012] 第一先进先出
存储器,用于缓存所述第一移位寄存器生成的串行数据,并采用与写时钟不同的读时钟来控制缓存数据的输出;
[0013] 所述串并转换单元包括:
[0014] 第二先进先出存储器,用于缓存外部电路传输的串行数据,并采用与写时钟不同的读时钟来控制缓存数据的输出;
[0015] 第二移位寄存器,用于将所述第二先进先出存储器中缓存的串行数据转换成并行数据;
[0016] 第二保持寄存器,用于缓存所述第二移位寄存器中生成的并行数据。
[0017] 在本发明上述的装置中,在所述并串转换单元中,外部电路的DataInValid引脚与所述第一保持寄存器的Valid引脚电连接,来控制外部电路中的并行数据写入所述第一保持寄存器中;所述第一移位寄存器的Valid引脚与所述第一先进先出存储器的WCtr引脚电连接,当所述第一移位寄存器将并行数据转换成串行数据时,其Valid引脚会产生写入控制信号,以控制所述第一先进先出存储器写入串行数据;当所述第一先进先出存储器中写入串行数据时,其REmpty引脚和Usageing引脚分别产生非空信号和Usageing信号,所述Usageing信号表示所述第一先进先出存储器中储存串行数据的Bit数,外部电路通过非空信号和Usageing信号来控制所述第一先进先出存储器中缓存的串行数据的输出。
[0018] 在本发明上述的装置中,所述第一先进先出存储器采用同步模式或者异步模式工作,所述第一保持寄存器的clk引脚与外部电路中连通并行数据的
时钟信号的DataInClk引脚电连接,所述第一移位寄存器的clk引脚和所述第一先进先出存储器的Wclk引脚均与外部电路中连通写时钟信号的DataWClk引脚电连接,所述第一先进先出存储器的Rclk引脚与外部电路中连通读时钟信号的DATARClk引脚电连接。
[0019] 在本发明上述的装置中,当所述第一先进先出存储器采用同步模式时,外部电路的DataInClk引脚连通的并行数据的时钟信号频率fDataInClk、并行数据位宽N、所述第一先进先出存储器的Wclk引脚接收的写时钟信号频率fWclk、以及所述第一先进先出存储器的Rclk引脚接收的读时钟信号频率fRclk之间存在如下关系:
[0020]
[0021] 所述第一先进先出存储器的Wfull引脚分别与所述第一保持寄存器的Full引脚和所述第一移位寄存器的Full引脚连接,当所述第一先进先出存储器的Wfull引脚产生满标识时,会控制所述第一保持寄存器和所述第一移位寄存器暂停串行数据的输入。
[0022] 在本发明上述的装置中,当所述第一先进先出存储器采用异步模式时,外部电路的DataInClk引脚连通的并行数据的时钟信号频率fDataInClk、并行数据位宽N、所述第一先进先出存储器的Wclk引脚接收的写时钟信号频率fWclk之间存在如下关系:
[0023]
[0024] 所述第一先进先出存储器的Wfull引脚分别与所述第一保持寄存器的Full引脚和所述第一移位寄存器的Full引脚连接,当所述第一先进先出存储器的Wfull引脚产生满标识时,会控制所述第一保持寄存器和所述第一移位寄存器暂停串行数据的输入,并标识所述第一移位寄存器中并转串发生错误。
[0025] 在本发明上述的装置中,在所述串并转换单元中,外部电路的DATAInValid引脚与所述第二先进先出存储器的WCtr引脚电连接,来控制外部电路中的串行数据写入所述第二先进先出存储器中;所述第二先进先出存储器的RData引脚与所述第二移位寄存器的Data引脚电连接,所述第二移位寄存器的Ready引脚与所述第二先进先出存储器的RCtr引脚电连接,以控制所述第二先进先出存储器中的串行数据写入所述第二移位寄存器中;所述第二先进先出存储器的REmpty引脚和Usaging引脚分别与所述第二移位寄存器的Empty引脚和Use引脚电连接,以控制所述第二移位寄存器将串行数据转化为并行数据;所述第二保持寄存器的Active引脚和Ready引脚分别与外部电路的DataOutActive引脚和DataOutReady引脚电连接,用于控制外部电路读取所述第二保持寄存器中缓存的并行数据。
[0026] 在本发明上述的装置中,所述第二先进先出存储器采用同步模式或者异步模式工作,所述第二先进先出存储器的Wclk引脚与外部电路中连通写时钟信号的DATAWClk引脚电连接,所述第二移位寄存器的clk引脚和所述第二先进先出存储器的Rclk引脚均与外部电路中连通读时钟信号的DataRClk引脚电连接,所述第二保持寄存器的clk引脚与外部电路中连通并行数据的时钟信号的DataOutClk引脚电连接。
[0027] 在本发明上述的装置中,当所述第二先进先出存储器采用同步模式时,外部电路的DataOutClk引脚连通的并行数据的时钟信号频率fDataOutClk、并行数据位宽N、所述第二先进先出存储器的Wclk引脚接收的写时钟信号频率fWclk、以及所述第二先进先出存储器的Rclk引脚接收的读时钟信号频率fRclk之间存在如下关系:
[0028]
[0029] 在本发明上述的装置中,当所述第二先进先出存储器采用异步模式时,外部电路的DataOutClk引脚连通的并行数据的时钟信号频率fDataOutClk、并行数据位宽N、以及所述第二先进先出存储器的Rclk引脚接收的读时钟信号频率fWclk之间存在如下关系:
[0030]
[0031] 本发明实施例提供的技术方案带来的有益效果是:
[0032] 通过第一保持寄存器、第一移位寄存器、第一先进先出存储器构成并串转换单元,以实现并行数据转化为串行数据,在第一移位寄存器进行数据转化时,采用第一先进先出存储器构成数据缓冲区,可以有效简化第一移位寄存器控制信号的组成,而且,第一先进先出存储器可以采用与写时钟不同的读时钟来控制缓存数据的输出,使得并串转换单元的输入时钟和输出时钟可以处于不同时钟域,进而可以克服由于输入时钟和输出时钟中存在时钟偏移时都会导致的数据转换错误;同理,通过第二先进先出存储器、第二移位寄存器、第二保持寄存器构成串并转换单元,以实现串行数据转化为并行数据,在第二移位寄存器进行数据转化时,采用第二先进先出存储器构成数据缓冲区,可以有效简化第二移位寄存器控制信号的组成,而且,第二先进先出存储器可以采用与写时钟不同的读时钟来控制缓存数据的输出,使得并串转换单元的输入时钟和输出时钟可以处于不同时钟域,进而可以克服由于输入时钟和输出时钟中存在时钟偏移时都会导致的数据转换错误。
附图说明
[0033] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0034] 图1是本发明实施例提供的一种用于数据串行传输的并串、串并转换装置的结构示意图;
[0035] 图2是本发明实施例提供的一种并串转换单元的电路图;
[0036] 图3是本发明实施例提供的一种串并转换单元的电路图。
具体实施方式
[0037] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0038] 实施例
[0039] 本发明实施例提供了一种用于数据串行传输的并串、串并转换装置,参见图1,该装置包括:
[0040] 接收并行数据并将并行数据转换为串行数据输出的并串转换单元1,和接收串行数据并将串行数据转化为并行数据输出的串并转换单元2。
[0041] 参见图2,该并串转换单元1包括:
[0042] 第一保持寄存器11,用于缓存外部电路传输的并行数据。
[0043] 第一移位寄存器12,用于将第一保持寄存器11中缓存的并行数据转换成串行数据。
[0044] 第一先进先出存储器13,用于缓存第一移位寄存器12生成的串行数据,并采用与写时钟不同的读时钟来控制缓存数据的输出。
[0045] 参见图3,该串并转换单元2包括:
[0046] 第二先进先出存储器21,用于缓存外部电路传输的串行数据,并采用与写时钟不同的读时钟来控制缓存数据的输出。
[0047] 第二移位寄存器22,用于将第二先进先出存储器21中缓存的串行数据转换成并行数据。
[0048] 第二保持寄存器23,用于缓存第二移位寄存器22中生成的并行数据。
[0049] 在本实施例中,在串行数据转化成并行数据和并行数据转换成串行数据时均设置数据缓冲区(即采用了第一先进先出存储器13和第二先进先出存储器21),这个缓冲区可以简化控制信号、消除数据传输时出现的延时。第一先进先出存储器13和第二先进先出存储器21一方面可以作为数据缓冲区来起作用,另一方面,又采用与写时钟不同的读时钟来控制缓存数据的输出,使得该并串、串并转换装置的时钟可调。
[0050] 在本实施例中,上述装置的数据转化过程如下:
[0051] 先将外部电路中的并行数据缓存在第一保持寄存器11中;
[0052] 然后将第一保持寄存器11中缓存的并行数据通过第一移位寄存器12转化成串行数据;
[0053] 最后将转化好的串行数据缓存在第一先进先出存储器13中,并由第一先进先出存储器13传输至外部电路中用于传输串行数据的线路中。
[0054] 通过上述过程将并行数据转化成串行数据进行传输后,该装置还会接收串行数据并将其转化成原本的并行数据,具体过程如下:
[0055] 先将外部电路中的串行数据缓存在第二先进先出存储器21中;
[0056] 然后将串行数据通过第二移位寄存器22转化成并行数据;
[0057] 最后将转化好的并行数据缓存在第二保持寄存器23中,并由第二保持寄存器23传输至外部电路中。
[0058] 具体地,参见图2,在并串转换单元1中,外部电路的DataInValid引脚与第一保持寄存器11的Valid引脚电连接,来控制外部电路中的并行数据写入第一保持寄存器11中(其中隐含了外部电路的数据传输线与第一保持寄存器11的数据引脚Data引脚电连接);第一移位寄存器12的Valid引脚与第一先进先出存储器13的WCtr引脚电连接,当第一移位寄存器12将并行数据转换成串行数据时,其Valid引脚会产生写入控制信号,以控制第一先进先出存储器13写入串行数据(其中隐含了第一移位寄存器12的数据引脚Data引脚与第一先进先出存储器13的WData引脚电连接);当第一先进先出存储器13中写入串行数据时,其REmpty引脚和Usageing引脚分别产生非空信号和Usageing信号,该Usageing信号表示第一先进先出存储器13中储存串行数据的Bit数,外部电路通过非空信号和Usageing信号来控制第一先进先出存储器13中缓存的串行数据的输出。
[0059] 在本实施例中,外部电路的并行数据引脚Data[N-1,0](其中并行数据的宽度为N,N为大于1的正整数)与第一保持寄存器11的Data引脚电连接,用于传输并行数据,外部电路的Data In Valid引脚与第一保持寄存器11的Valid引脚电连接,用于产生Data In Valid信号来控制并行数据写入第一保持寄存器11中进行缓存。第一移位寄存器12的Valid引脚与第一先进先出存储器13的WCtr引脚电连接,第一移位寄存器12的Data引脚与第一先进先出存储器13的WData引脚电连接,第一移位寄存器12在进行并行数据转化为串行数据时,会产生写入控制信号,即控制第一先进先出存储器13写入串行数据的控制信号。在实际应用中,只需要标定并行数据有效为写入控制信号,就可以大大简化第一移位寄存器12的控制信号。第一先进先出存储器13的REmpty引脚与外部电路的DATA Out Valid引脚电连接,第一先进先出存储器13的Usageing引脚与外部电路的DataUsageing引脚电连接,第一先进先出存储器13的TCtr引脚与外部电路的DATA Out Ready引脚电连接,这样,外部电路通过第一先进先出存储器13产生的非空信号和Usageing信号来控制第一先进先出存储器13中缓存的串行数据的输出。此外,第一先进先出存储器13的WRst引脚(即写复位引脚)、第一移位寄存器12的Rst引脚(即复位引脚)、第一保持寄存器11的Rst引脚(即复位引脚)均与外部电路的DataWRst引脚电连接;第一先进先出存储器13的RRst引脚(即读复位引脚)与外部电路的DataR Rst引脚电连接。此外,第一先进先出存储器13的深度可以根据实际需求设定,这里不做限制。
[0060] 进一步地,第一先进先出存储器13可以采用同步模式或者异步模式工作,第一保持寄存器11的clk引脚(即时钟引脚)与外部电路中连通并行数据的时钟信号的Data In Clk引脚电连接,第一移位寄存器12的clk引脚(即时钟引脚)和第一先进先出存储器13的Wclk引脚(即写时钟引脚)均与外部电路中连通写时钟信号的DataWClk引脚(即数据写时钟引脚)电连接,第一先进先出存储器13的Rclk引脚(即读时钟引脚)与外部电路中连通读时钟信号的DATARClk引脚电连接。
[0061] 在本实施例中,第一先进先出存储器13连通的写时钟信号与读时钟信号不同,当第一先进先出存储器13采用同步模式时,写时钟信号与读时钟信号之间存在关联,当第一先进先出存储器13采用异步模式时,写时钟信号与读时钟信号之间不存在关联。
[0062] 进一步地,当第一先进先出存储器13采用同步模式时,外部电路的DataInClk引脚连通的并行数据的时钟信号频率fDataInClk、并行数据位宽N、第一先进先出存储器13的Wclk引脚接收的写时钟信号频率fWclk、以及第一先进先出存储器13的Rclk引脚接收的读时钟信号频率fRclk之间存在如下关系:
[0063]
[0064] 第一先进先出存储器13的Wfull引脚(即写满引脚)分别与第一保持寄存器11的Full引脚(即满信号引脚)和第一移位寄存器12的Full引脚连接,当第一先进先出存储器13的Wfull引脚产生满标识时,会控制第一保持寄存器11和第一移位寄存器12暂停串行数据的输入。
[0065] 进一步地,当第一先进先出存储器13采用异步模式时,外部电路的DataInClk引脚连通的并行数据的时钟信号频率fDataInClk、并行数据位宽N、第一先进先出存储器13的Wclk引脚接收的写时钟信号频率fWclk之间存在如下关系:
[0066]
[0067] 第一先进先出存储器13的Wfull引脚分别与第一保持寄存器11的Full引脚和第一移位寄存器12的Full引脚连接,当第一先进先出存储器13的Wfull引脚产生满标识时,会控制第一保持寄存器11和第一移位寄存器12暂停串行数据的输入,并标识第一移位寄存器12中并转串发生错误。
[0068] 具体地,参见图3,在串并转换单元2中,外部电路的DATAInValid引脚与第二先进先出存储器21的WCtr引脚电连接,来控制外部电路中的串行数据写入第二先进先出存储器21中,其中,外部电路的DATAIn引脚与第二先进先出存储器21的Wdata引脚电连接,第二先进先出存储器21的WFull引脚与外部电路的DATAInReady引脚电连接,这样第二先进先出存储器21通过WCtr引脚和WFull引脚来控制外部电路写入串行数据。第二先进先出存储器21的RData引脚与第二移位寄存器22的Data引脚电连接,第二移位寄存器22的Ready引脚与第二先进先出存储器21的RCtr引脚电连接,以控制第二先进先出存储器21中的串行数据写入第二移位寄存器22中。第二先进先出存储器21的REmpty引脚和Usaging引脚分别与第二移位寄存器22的Empty引脚和Use引脚电连接,以控制第二移位寄存器22将串行数据转化为并行数据,其中,Usaging引脚产生的Uasging信号表示的是第二先进先出存储器21中有效数据的Bit数。第二保持寄存器23的Active引脚和Ready引脚分别与外部电路的DataOutActive引脚和DataOutReady引脚电连接,用于控制外部电路读取第二保持寄存器
23中缓存的并行数据。此外,第二先进先出存储器21的RRst引脚(即读复位引脚)、第二移位寄存器22的Rst引脚(即复位引脚)、第二保持寄存器23的Rst引脚(即复位引脚)均与外部电路的DataRRst引脚电连接;第二先进先出存储器21的WRst引脚(即写复位引脚)与外部电路的DataWRst引脚电连接。
[0069] 在本实施例中,第二先进先出存储器21的深度可以根据实际需求设定,这里不做限制。
[0070] 进一步地,第二先进先出存储器21可以采用同步模式或者异步模式工作,第二先进先出存储器21的Wclk引脚与外部电路中连通写时钟信号的DATAWClk引脚电连接,第二移位寄存器22的clk引脚和第二先进先出存储器21的Rclk引脚均与外部电路中连通读时钟信号的DataRClk引脚电连接,第二保持寄存器23的clk引脚与外部电路中连通并行数据的时钟信号的DataOutClk引脚电连接。
[0071] 在本实施例中,第二先进先出存储器21连通的写时钟信号与读时钟信号不同,当第二先进先出存储器21采用同步模式时,写时钟信号与读时钟信号之间存在关联,当第二先进先出存储器21采用异步模式时,写时钟信号与读时钟信号之间不存在关联。
[0072] 进一步地,当第二先进先出存储器21采用同步模式时,外部电路的DataOutClk引脚连通的并行数据的时钟信号频率fDataOutClk、并行数据位宽N、第二先进先出存储器21的Wclk引脚接收的写时钟信号频率fWclk、以及第二先进先出存储器21的Rclk引脚接收的读时钟信号频率fRclk之间存在如下关系:
[0073]
[0074] 进一步地,当第二先进先出存储器21采用异步模式时,外部电路的DataOutClk引脚连通的并行数据的时钟信号频率fDataOutClk、并行数据位宽N、以及第二先进先出存储器21的Rclk引脚接收的读时钟信号频率fRclk之间存在如下关系:
[0075]
[0076] 本发明实施例通过第一保持寄存器、第一移位寄存器、第一先进先出存储器构成并串转换单元,以实现并行数据转化为串行数据,在第一移位寄存器进行数据转化时,采用第一先进先出存储器构成数据缓冲区,可以有效简化第一移位寄存器控制信号的组成,而且,第一先进先出存储器可以采用与写时钟不同的读时钟来控制缓存数据的输出,使得并串转换单元的输入时钟和输出时钟可以处于不同时钟域,进而可以克服由于输入时钟和输出时钟中存在时钟偏移时都会导致的数据转换错误;同理,通过第二先进先出存储器、第二移位寄存器、第二保持寄存器构成串并转换单元,以实现串行数据转化为并行数据,在第二移位寄存器进行数据转化时,采用第二先进先出存储器构成数据缓冲区,可以有效简化第二移位寄存器控制信号的组成,而且,第二先进先出存储器可以采用与写时钟不同的读时钟来控制缓存数据的输出,使得并串转换单元的输入时钟和输出时钟可以处于不同时钟域,进而可以克服由于输入时钟和输出时钟中存在时钟偏移时都会导致的数据转换错误。
[0077] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0078] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本发明的保护范围之内。