CN114356816A - 一种异步传输装置 - Google Patents
一种异步传输装置 Download PDFInfo
- Publication number
- CN114356816A CN114356816A CN202111617907.9A CN202111617907A CN114356816A CN 114356816 A CN114356816 A CN 114356816A CN 202111617907 A CN202111617907 A CN 202111617907A CN 114356816 A CN114356816 A CN 114356816A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- frame
- configuration
- asynchronous
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 128
- 239000000872 buffer Substances 0.000 claims description 60
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000008054 signal transmission Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
Abstract
本申请公开了一种异步传输装置,该装置包括:相互连接的主控模组和传输总线;数据发送模组和数据接收模组,分别通过数据接口与传输总线连接,以通过传输总线传输收发数据;配置模组,包括配置输入端和配置输出端,配置输入端通过配置接口与传输总线连接,配置输出端分别连接至数据发送模组和数据接收模组;其中,主控模组通过传输总线配置异步传输的波特率。上述方案,能够调整异步传输装置的波特率,从而有利于提升异步传输装置的传输速率。
Description
技术领域
本申请涉及电子信息技术领域,特别是涉及一种异步传输装置。
背景技术
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是异步串行通信口的总称。UART通常被集成于其他通讯接口的连结上,具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。在微控制器中,UART传送数据的速度范围为每秒几百位到1.5Mb;在嵌入式设计中,UART用于主机与辅助设备通信,例如,嵌入在ElanSC520微控制器中,通信的速度可以高达1.152Mbps。
但是,传统UART的传输速率较低,并且还受发送和接收线的距离的影响。
发明内容
本申请主要解决的技术问题是提供一种异步传输装置,能够调整异步传输装置的波特率,从而有利于提升异步传输装置的传输速率。
为了解决上述技术问题,本申请提供了一种异步传输装置,该装置包括:相互连接的主控模组和传输总线;数据发送模组和数据接收模组,分别通过数据接口与传输总线连接,以通过传输总线传输收发数据;配置模组,包括配置输入端和配置输出端,配置输入端通过配置接口与传输总线连接,配置输出端分别连接至数据发送模组和数据接收模组;其中,主控模组通过传输总线配置异步传输的波特率。
其中,配置模组包括:时钟生成模块,包括第一配置输入端和第一配置输出端,且第一配置输入端通过配置接口与传输总线连接,第一配置输出端分别连接至数据发送模组和数据接收模组,主控模组通过传输总线配置时钟频率;异步管理模块,包括第二配置输入端和第二配置输出端,且第二配置输入端通过配置接口与传输总线连接,第二配置输出端分别连接至数据发送模组和数据接收模组,主控模组通过传输总线配置分频系数和倍频系数。
其中,异步传输装置还包括缓存模组,且缓存模组与传输总线连接;其中,数据接收模组和/或数据发送模组以帧为单位,与缓存模组通过传输总线交互数据,且每帧数据包括至少一个字节,相邻帧之间存在帧间隔,且帧间隔的时长不低于预设时长。
其中,预设时长基于波特率配置,且预设时长不短于一帧数据的时长。
其中,数据接收模组用于在当前时刻至最新字节的接收时刻之间的间隔时长不低于预设时长时,基于已接收字节的总数量封装得到若干帧数据,并缓存至缓存模组。
其中,数据接收模组基于预设最大帧长和总数量封装得到若干帧数据;其中,在总数量不大于预设最大帧长的情况下,数据接收模组用于将已接收字节封装为一帧数据,并将配置模组中帧长寄存器设置为总数量;在总数量大于预设最大帧长的情况下,数据接收模组用于按照预设最大帧长将已接收字节封装为多帧数据,并将配置模组中帧长寄存器设置为预设最大帧长。
其中,数据接收模组包括顺序连接的异步接收模块、数据重组模块和第一缓存模块;其中,异步接收模块用于获取字节,数据重组模块用于封装重组已接收字节得到若干帧数据,第一缓存模块用于缓存若干帧数据。
其中,异步接收模块包括顺序连接的接收单元、接收状态单元、第一校验单元和数据输出单元,且接收状态单元与第一校验单元联合控制从接口单元处获取信号。
其中,数据发送模组用于从缓存模组取出各帧数据,并将每帧数据拆分为字节传输,以及在当前帧数据发送完毕的情况下,等待帧间隔的时长后再发送下一帧数据。
其中,数据发送模组包括顺序连接的第二缓存模块、数据拆分模块和异步发送模块;其中,第二缓存模块用于缓存各帧数据,数据拆分模块用于基于第二缓存模块的位宽,从第二缓存模块拉取若干字节,异步发送模块用于发送各个字节。
其中,异步发送模块包括顺序连接的数据输入单元、第二校验单元、发送状态单元和发送单元,其中,发送状态单元和第二校验单元联合控制向发送单元传输信号。
其中,数据接收模组在每个数据位周期采集预设数值个电平信号,并基于预设数值个电平信号中高电平和低电平各自的占比,确定对应数据位周期的最终电平。
其中,数据发送模组、数据接收模组和配置模组为IP核。
其中,异步传输装置由可编程化系统芯片实现,且数据发送模组、数据接收模组和配置模组由可编程化系统芯片的可编程逻辑部分实现,主控模组由可编程化系统芯片的处理系统部分实现,传输总线由可编程化系统芯片的片内总线实现。
上述方案,主控模组通过传输总线与数据发送模组和数据接收模组实现数据交互,通过在异步传输装置中设置配置模组,使得主控模组能够通过配置模组对异步传输的波特率进行配置,从而可调整异步传输装置的波特率,进而可调控异步传输装置的传输速率。
附图说明
图1是本申请提供的异步传输装置一实施例的结构示意图;
图2是本申请提供的异步接收模块一实施例的结构示意图;
图3是本申请提供的异步传输数据格式一实施例的示意图;
图4是本申请提供的数据接收模组接收的数据流一实施例的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,图1是本申请提供的异步传输装置一实施例的结构示意图。异步传输装置100包括主控模组10、传输总线20、数据发送模组30、数据接收模组40和配置模组50。主控模组10和传输总线20相互连接,数据发送模组30和数据接收模组40分别通过数据接口60与传输总线20连接,以使得主控模组10通过传输总线20实现与数据发送模组30和数据接收模组40之间的数据互通。配置模组50包括配置输入端51和配置输出端52,配置输入端51通过配置接口70与传输总线20连接,由于传输总线20与主控模组10连接,所以主控模组10能够通过传输总线20对配置模组50进行参数配置,其中,不对具体配置的参数进行限定,可根据实际使用需要具体设置,例如,主控模组10通过传输总线20配置时钟频率、分频系数或者倍频系数等;配置输出端52分别连接至数据发送模组30和数据接收模组40,从而使得主控模组10通过传输总线20配置数据发送模组30和数据接收模组40的工作模式或者监控数据发送模组30和数据接收模组40的工作状态等。
其中,本实施方式中,主控模组10通过传输总线20配置异步传输的波特率。也就是说,配置模组50的设置,能够使得主控模组10通过传输总线20对配置模组50的参数进行配置,从而实现对数据发送模组30和数据接收模组40的传输的波特率的控制,使得异步传输装置100能够被配置为任意不同的波特率。例如,在数据发送模组30和数据接收模组40的数据传输速率过低时,可利用主控模组10通过传输总线20控制数据发送模组30和数据接收模组40的波特率提高,从而提高数据发送模组30和数据接收模组40的数据传输速率,使得数据发送模组30和数据接收模组40能够用来高速传输数据(例如,能够用于1MB波特率以上的应用场景中)。
在一个实施方式中,主控模组10可以包括但不限于ARM(Advanced RISCMachines)处理器等,ARM处理器体积小、功耗低、成本低且性能优良。
在一个实施方式中,传输总线20可以包括但不限于AXI(即Advanced eXtensibleInterface)等,在此不做限定。在一个实施方式中,数据接口60可以包括但不限于AXI-HP接口等,在此不做限定。此外,配置接口70可以包括但不限于AXI-Lite接口等,在此不做限定。
请继续参阅图1,在一实施方式中,配置模组50包括时钟生成模块53和异步管理模块54,时钟生成模块53包括第一配置输入端531和第一配置输出端532,且第一配置输入端531通过配置接口70与传输总线20连接,第一配置输出端532分别连接至数据发送模组30和数据接收模组40,以使得主控模组10能够通过传输总线20对时钟生成模块53进行配置,以配置得到任意的时钟频率。其中,不对时钟频率的大小进行,可根据实际使用需要具体配置,例如,配置成48MHz的时钟频率。异步管理模块54包括第二配置输入端541和第二配置输出端542,且第二配置输入端541通过配置接口70与传输总线20连接,第二配置输出端542分别连接至数据发送模组30和数据接收模组40,以使得主控模组10通过传输总线20对异步管理模块54进行配置,以配置得到分频系数和倍频系数。其中,不对分频系数和倍频系数的大小进行,可根据实际使用需要具体配置,例如,分频系数和倍频系数配置成16等。也就是说,主控模组10能够通过传输总线20调整时钟频率、分频系数和倍频系数,用户可根据需要灵活调整时钟频率、分频系数和倍频系数的大小。
在一具体实施方式中,波特率=时钟频率/分频系数×倍频系数,主控模组10能够通过传输总线20调整时钟频率、分频系数和倍频系数,从而调整数据发送模组30和数据接收模组40的波特率,进而调整数据发送模组30和数据接收模组40的数据传输速率。传统UART收发模块的时钟频率低,使得其数据传输速率低,相比于传统UART收发模块,本申请的数据接收模组40和数据发送模组30的波特率更大且可灵活调整。在一具体实施方式中,数据发送模组30和数据接收模组40的最大数据传输速率可达到16Mbps以上,其最高数据传输速率受当前的时钟生成模块53的最大时钟频率限制。
在一个实施方式中,时钟生成模块53可以包括但不限于:PLL(Phase LockedLoop,锁相环)、MMCM(Mixed-Mode Clock Manager,混合模式时钟管理器)等,在此不做限定。时钟生成模块53的工作原理,可以参阅诸如PLL、MMCM等相关技术细节,字词不再赘述。
请继续参阅图1,在一实施方式中,异步传输装置100还包括缓存模组80,缓存模组80与传输总线20连接;其中,数据接收模组40以帧为单位,与缓存模组80通过传输总线20交互数据。数据接收模组40在接收到一个帧单位的数据后会产生一个中断并将数据缓存至缓存模组80中,主控模组10会响应这个中断,从缓存模组80中取出对应的数据,以便于后续对数据进行处理。由于传统的UART收发模块以字节为单位与缓存模组80通过传输总线20交互数据,会频繁地产生中断,使得主控模组10需要频繁响应这些中断,导致主控模组10负荷过重;举例来说,以数据接收模组40的数据接收速率为4Mbps为例,那么每4μs时间内就会产生一次中断,使得主控模组10每4μs就得响应一次中断。因此,相比于传统的UART收发模块,以帧为单位与缓存模组80通过传输总线20交互数据,能够大大降低主控模组10的中断响应时间,避免主控模组10频繁地响应这些中断,减轻主控模组10的负荷。在一个具体的实施方式中,缓存模组80可以包括但不限于DDR(Double Data Rate,双倍数据速率)等,如DDR3、DDR4等等,在此不做限定。
可以理解地,在其他实施方式中,数据发送模组30也可以以帧为单位,与缓存模组80通过传输总线20交互数据,或者数据发送模组30和数据接收模组40可以同时以帧为单位通过传输总线20交互数据,在此不做具体限定,可根据实际使用需要具体设置。
其中,每帧数据包括至少一个字节,相邻帧之间存在帧间隔,且帧间隔的时长不低于预设时长。数据接收模组40以帧为单位接收数据,相邻两帧数据之间设置有帧间隔,即超时机制,当数据接收模组40在接收完当前帧数据后,会等待至少一个帧间隔时间,再传输下一帧数据,即当数据接收模组40在接收完当前帧数据后,空闲状态会持续至少一个帧间隔时间再传输下一帧数据;同理,当数据发送模组30以帧单位发送数据时,当数据发送模组30在发送完当前帧数据后,会等待至少一个帧间隔时间再发送下一帧数据。
可选地,不对每帧数据的长度即每帧数据包括的字节数以及预设时长进行限定,可根据实际使用需要具体设置。在一实施方式中,预设时长可以是一默认值,如设置预设时长为150μs。在其他实施方式中,预设时长基于波特率设置,预设时长不短于一帧数据的时长,其中,不对一帧数据的时长不做限定,可根据波特率大小进行具体设置,例如,波特率较大,则一帧数据的时长相对设置小一点,而波特率较小时,则一帧数据的时长相对设置大一点。
请继续参阅图1,在一实施方式中,数据接收模组40用于在当前时刻至最新字节的接收时刻之间的间隔时长不低于预设时长时,基于已接收字节的总数量封装得到若干帧数据,并缓存至值缓存模组80。也就是说,在数据接收模组40的空闲等待时间时,不会继续传输帧数据,但会接收以单字节为单位的数据,并基于该间隔时长内接收到的字节的总数量封装得到若干帧数据,并将若干帧数据缓存值缓存模组80;在数据接收模组40将若干帧数据缓存至缓存模组80时会产生一个中断,具体为数据接收模组40以帧为单位通过数据接口60缓存至缓存模组80的某个缓存空间内,此时会产生一个中断以通知主控模组10,主控模组会响应这个中断,从缓存模组80中取出对应的帧数据,以便于后续对数据进行处理。
在一具体实施方式中,数据接收模组40基于预设最大帧长和总数量封装得到若干帧数据;其中,在总数量不大于预设帧长的情况下,数据接收模组40用于将已接收字节封装为一帧数据,并将配置模组80中帧长寄存器设置为总数量;举例来说,预设帧长为1024字节,数据接收模组40在当前时刻至最新字节的接收时刻之间的间隔时长不低于预设时长时,已接收字节的总数量为1023,所以数据接收模组40将已接收的1023字节封装为一帧数据,并将配置模组50中帧长寄存器值设置为1023。而在总数量大于预设最大帧长的情况下,数据接收模组40用于按照预设最大帧长将已接收字节封装为多帧数据,并将配置模组50中帧长寄存器设置为预设最大帧长;举例来说,预设帧长为1024字节,数据接收模组40在当前时刻至最新字节的接收时刻之间的间隔时长不低于预设时长时,已接收字节的总数量为1028,所以数据接收模组40将前1024字节封装为一帧数据,并将接收的字节超过1024部分自动分帧,作为下一帧数据,此时配置模组50中帧长寄存器值设置为1024。
请继续参阅图1,在一实施方式中,数据接收模组40包括顺序连接的异步接收模块41、数据重组模块42和第一缓存模块43。其中,异步接收模块41用于获取字节数据,数据重组模块42用于封装重组已接收字节而得到若干帧数据,第一缓存模块43用于缓存若干帧数据。具体地,异步接收模块41在接收了字节数据后传输至数据重组模块42;数据重组模块42在当前时刻至最新字节的接收时刻之间的间隔时长不低于预设时长时,基于已接收字节的总数量封装得到若干帧数据,并传输至第一缓存模块43;第一缓存模块43缓存接收到的若干帧数据,在第一缓存模块43缓存到第一个帧数据时会产生一个中断并通过传输总线20将该帧数据缓存至缓存模组80,以通知主控模组10,主控模组10会响应这个中断,从缓存模组80中取出对应的帧数据,以便于后续对帧数据进行处理。
在一个实施方式中,第一缓存模块43可以包括但不限于:FIFO(First InputFirst Output)存储器等,FIFO存储器容量大、体积小且价格便宜,具有灵活、方便且高效的特性,适用于高速数据采集、高速数据处理、高速数据传输等。在一具体实施方式中,数据接收模组40可包括两个第一缓存模块43,一个第一缓存模块43用于换若干帧数据,另一个第一缓存模块43用于缓存一帧数据的长度。
在一实施方式中,为了充分利用传输总线20的带宽,避免资源浪费,可以以8个字节为单位将一帧数据逐步缓存至缓存模组80。由于传输总线20的AXI-HP端口的位宽是64比特,无法将一帧数据同时缓存至缓存模组80,但以一个字节为单位将一帧数据逐步缓存至缓存模组80会造成传输总线20的带宽浪费且缓存速度较慢。所以,本实施方式中,将8个字节数据拼接成1个64比特的数据,从而逐步将一帧数据缓存至缓存模组80。
请参阅图2,图2是本申请提供的异步接收模块一实施例的结构示意图,在一实施方式中,异步接收模块41包括顺序连接的接收单元、接收状态单元、第一校验单元和数据输出单元,接收状态单元与第一校验单元联合控制从接口单元处获取信号。具体地,由于有些电平信号可能表示的是开始状态或者结束状态,所以此电平信号不能作为有效数据传输至异步传输装置100,所以接收状态单元会对电平信号进行检验,若电平信号为错误状态(例如,开始状态或者结束状态等),则清除之前接收的数据,并通知第一校验单元或者其他模块之前的数据有误,无须继续传输,从而实现接收单元和接收状态单元联合控制从接收单元获取电平信号;第一校验单元默认配置为奇校验,也可以根据需要设置为偶校验,以对传输至第一校验单元的数据的正确性进行检验,在检验无误后将数据传输至数据输出单元,以使后续主控模组10获取到该数据。在一具体实施方式中,在第一校验单元检验出数据有错误时,会通知主控模组10,以告知主控模组10有一个8比特的数据有误。在其他具体实施方式中,也可给每一8比特的数据进行标号,例如,第一个8比特数据记为1,第二个8比特数据记为2等,在后续主控模组10没有接收到标记为2的8比特数据时,确定标记为2的8比特数据有误。在其他实施方式中,在主控模组10确定有误的8比特数据对应编号后,可通知主控模组10重新传输该8比特数据。
请参阅图3,图3是本申请提供的异步传输数据格式一实施例的示意图,在一实施方式中,异步接收模块41的接收单元主要是围绕接收状态单元实现的,采用时钟是当前波特率的16倍,即16倍采样。在其他实施方式中,也可通过主控模组10调整波特率。
请继续参阅图1,在一实施方式中,数据发送模组30以帧为单位与缓存模组80通过传输总线20交互数据,数据发送模组30用于从缓存模组80取出各帧数据,并将每帧数据拆分为字节输出,以及在当前帧数据发送完毕的情况下,等待帧间隔的时长后再发送下一帧数据。也就是说,数据发送模组30在帧间隔时,不会继续发送帧数据,而是等待帧间隔的时长后再发送下一帧数据。具体地,主控模组10会将需要发送的帧数据缓存至缓存模组80的某个缓存空间,然后通知数据发送模组30,此时数据发送模组30会从缓存模组80中取出各帧数据,并将每帧数据拆分为字节,以字节为单位输出数据。
在一实施方式中,数据发送模组30包括顺序连接的第二缓存模块31、数据拆分模块32和异步发送模块33。第二缓存模块31用于缓存各帧数据;数据拆分模块32用于基于第二缓存模块31的位宽,从第二缓存模块31拉取若干字节数据;异步发送模块33用于发送各个字节数据。在一具体实施方式中,第二缓存模块31从缓存模组80中取出并缓存各帧数据,然后传输至数据拆分模块32;数据拆分模块32根据第二缓存模块31的位宽,从第二缓存模块31拉取若干字节数据,例如,第二缓存模块31的位宽为64比特,那么从第二缓存模块31拉取8个字节数据;异步发送模块33将拉取出的各个字节数据进行传输,待拉取出的各个字节数据传输完成后,再从数据拆分模块32拉取若干字节数据。
可以理解地,在其他具体实施方式中,第二缓存模块31从缓存模组80中取出并缓存各帧数据,然后传输至数据拆分模块32;数据拆分模块32将各帧数据拆分成单个字节数据;异步发送模块33将各个字节数据进行传输,直至传输完成。
在一个实施方式中,第二缓存模块31可以包括但不限于:FIFO(First InputFirst Output)存储器等,FIFO存储器容量大、体积小且价格便宜,具有灵活、方便且高效的特性,适用于高速数据采集、高速数据处理、高速数据传输等。在一具体实施方式中,数据发送模组30可包括两个第二缓存模块31,一个第二缓存模块31用于缓存若干帧数据,另一个第二缓存模块31用于缓存一帧数据的长度,实现了时钟域AXI-CLK到sys-clk的转换。
请继续参阅图2,在一实施方式中,异步发送模块33包括顺序连接的数据输入单元、第二校验单元、发送状态单元和发送单元,发送状态单元和第二校验单元联合控制向发送单元传输信号。具体地,数据输入单元接收数据并传输至第二检验单元;第二校验单元默认配置为奇校验,也可根据需要配置为偶校验,以对传输至第二校验单元的数据的正确性进行检验,在检验无误后将数据传输至发送状态单元,由于有些电平信号可能表示的是开始状态或者结束状态,所以此电平信号不能作为有效数据进行传输,所以发送状态单元会对电平信号进行检验,若电平信号为错误状态(例如,开始状态或者结束状态等),则清除之前接收的数据,并通知第二校验单元和其他模块之前的数据有误,无须继续传输,从而实现第二校验单元和发送状态单元联合控制向发送单元传输信号。在一具体实施方式中,在第二校验单元检验出数据有错误时,会通知主控模组10,以告知主控模组10有一个8比特的数据有误。在其他具体实施方式中,也可给每一8比特的数据进行标号,例如,第一个8比特数据记为1,第二个8比特数据记为2等,在发送单元没有接收到标记为2的8比特数据时,确定标记为2的8比特数据有误。在其他实施方式中,在发送单元确定有误的8比特数据对应编号后,可通知异步发送模块33重新传输该8比特数据。
请继续参阅图3,在一实施方式中,异步发送模块33的发送单元主要是围绕发送状态单元实现的,采用时钟是当前波特率的16倍,即16倍采样。在其他实施方式中,也可通过主控模组10调整波特率。其中,异步接收模块41和异步发送模块33的波特率保持一致。
请参阅图4,图4是本申请提供的数据接收模组接收的数据流一实施例的示意图,在一实施方式中,数据接收模组40在每个数据位周期采集预设数值个电平信号,并根据预设数值个电平信号中高电平和低电平各自的占比,确定对应数据位周期最终电平。其中,不对预设数值的大小进行限定,可根据实际使用需要具体设置,例如,预设数值为16。举例来说,如图3所示,以预设数值为16为例,数据接收模组40的异步接收模块41会时刻进行监控,在检测到低电平时,表示数据传输开始,当数据接收模组40采集到16个电平信号时,统计电平信号中高电平和低电平的数值,如果16个电平信号中,高电平的占比大于低电平的占比,例如,9次采集数据为1,7次采集数据为0,则表示接收的数据位是1即数据位周期的最终电平是高电平;而如果16个电平信号中,高电平的占比低于低电平的占比,例如,9次采集数据都为0,7次采集数据为1,则表示接收的数据位是0即数据位周期的最终电平是低电平。数据接收模组40通过采用“少数服从多数”的投票机制,不考虑电平的分布情况,而是将占比大的电平作为当前电平,提高了数据的容错率,降低了线缆长距离传输信号损耗和高速信号反射导致的高误码率即提高了抗误码率。
在一个实施场景中,数据发送模组30、数据接收模组40和配置模组50为IP核(即知识产权核),从而可以授权使用。
在一个实施场景中,异步传输装置100由可编程化系统单芯片(ProgrammableSystem on Chip,PSOC)实现,且数据发送模组30、数据接收模组40和配置模组50由可编程化系统单芯片的可编程逻辑(Programmable Logic,PL)部分实现,主控模组10由可编程化系统单芯片的处理系统(Processing System,PS)部分实现,传输总线20由可编程化系统单芯片的片内总线实现。示例性地,片内总线可以包括但不限于AXI等,在此不做限定。故此,通过PS侧高端处理器(如,双核ARM cortex A9内核),能够支持复杂语音处理算法,如语音识别、合成、增强以及多成员对话的数据交换,有利于提升通用性和灵活性。此外,由于PSOC平台通常具有丰富的接口,如网口、USB(Universal Serial Bus,通用串行总线)、串口、CAN(即Controller Area Network)、PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)、SRIO(即Serial Rapid I/O)等,故能够应用于不同场景,即可以作为插卡,也可作为专用功能的独立板卡存在。
在一个具体的实施场景中,异步传输装置100具体可以基于诸如Xilinx核心板而实现,其尺寸不超过40mm*35mm,可以实现5个16路I2S IP核功能,且该核心板的硬件成本较低,故有利于降低硬件成本,同时降低硬件尺寸,以及硬件功耗。
在一个具体的实施场景中,上述IP核还可以在任意FPGA(Field ProgrammableGate Array,现场可编程逻辑门阵列)实现,或者,还可以作为专用的硬核流片嵌入到通用处理器中。
区别于现有技术,本申请提供一种异步传输装置,该装置包括:相互连接的主控模组和传输总线;数据发送模组和数据接收模组,分别通过数据接口与传输总线连接,以通过传输总线传输收发数据;配置模组,包括配置输入端和配置输出端,配置输入端通过配置接口与传输总线连接,配置输出端分别连接至数据发送模组和数据接收模组;其中,主控模组通过传输总线配置异步传输的波特率。主控模组通过传输总线与数据发送模组和数据接收模组实现数据交互,通过在异步传输装置中设置配置模组,使得主控模组能够通过配置模组对异步传输的波特率进行配置,从而可调整异步传输装置的波特率,进而调控异步传输装置的传输速率。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (14)
1.一种异步传输装置,其特征在于,包括:
相互连接的主控模组和传输总线;
数据发送模组和数据接收模组,分别通过数据接口与所述传输总线连接,以通过所述传输总线传输收发数据;
配置模组,包括配置输入端和配置输出端,所述配置输入端通过配置接口与所述传输总线连接,所述配置输出端分别连接至所述数据发送模组和所述数据接收模组;
其中,所述主控模组通过所述传输总线配置异步传输的波特率。
2.根据权利要求1所述的装置,其特征在于,所述配置模组包括:
时钟生成模块,包括第一配置输入端和第一配置输出端,且所述第一配置输入端通过所述配置接口与所述传输总线连接,所述第一配置输出端分别连接至所述数据发送模组和所述数据接收模组,所述主控模组通过所述传输总线配置时钟频率;
异步管理模块,包括第二配置输入端和第二配置输出端,且所述第二配置输入端通过所述配置接口与所述传输总线连接,所述第二配置输出端分别连接至所述数据发送模组和所述数据接收模组,所述主控模组通过所述传输总线配置分频系数和倍频系数。
3.根据权利要求1所述的装置,其特征在于,所述异步传输装置还包括缓存模组,且所述缓存模组与所述传输总线连接;
其中,所述数据接收模组和/或所述数据发送模组以帧为单位,与所述缓存模组通过所述传输总线交互数据,且每帧数据包括至少一个字节,相邻帧之间存在帧间隔,且所述帧间隔的时长不低于预设时长。
4.根据权利要求3所述的装置,其特征在于,所述预设时长基于所述波特率配置,且所述预设时长不短于一帧数据的时长。
5.根据权利要求3所述的装置,其特征在于,所述数据接收模组用于在当前时刻至最新所述字节的接收时刻之间的间隔时长不低于所述预设时长时,基于已接收所述字节的总数量封装得到若干帧数据,并缓存至所述缓存模组。
6.根据权利要求5所述的装置,其特征在于,所述数据接收模组基于预设最大帧长和所述总数量封装得到所述若干帧数据;
其中,在所述总数量不大于所述预设最大帧长的情况下,所述数据接收模组用于将已接收所述字节封装为一帧数据,并将所述配置模组中帧长寄存器设置为所述总数量;在所述总数量大于所述预设最大帧长的情况下,所述数据接收模组用于按照所述预设最大帧长将已接收所述字节封装为多帧数据,并将所述配置模组中帧长寄存器设置为所述预设最大帧长。
7.根据权利要求5所述的装置,其特征在于,所述数据接收模组包括顺序连接的异步接收模块、数据重组模块和第一缓存模块;
其中,所述异步接收模块用于获取所述字节,所述数据重组模块用于封装重组已接收所述字节得到所述若干帧数据,所述第一缓存模块用于缓存所述若干帧数据。
8.根据权利要求7所述的装置,其特征在于,所述异步接收模块包括顺序连接的接收单元、接收状态单元、第一校验单元和数据输出单元,且所述接收状态单元与所述第一校验单元联合控制从所述接口单元处获取信号。
9.根据权利要求3所述的装置,其特征在于,所述数据发送模组用于从所述缓存模组取出各帧数据,并将每帧数据拆分为字节传输,以及在当前帧数据发送完毕的情况下,等待所述帧间隔的时长后再发送下一帧数据。
10.根据权利要求9所述的装置,其特征在于,所述数据发送模组包括顺序连接的第二缓存模块、数据拆分模块和异步发送模块;
其中,所述第二缓存模块用于缓存各帧数据,所述数据拆分模块用于基于所述第二缓存模块的位宽,从所述第二缓存模块拉取若干字节,所述异步发送模块用于发送各个所述字节。
11.根据权利要求10所述的装置,其特征在于,所述异步发送模块包括顺序连接的数据输入单元、第二校验单元、发送状态单元和发送单元,其中,所述发送状态单元和所述第二校验单元联合控制向所述发送单元传输信号。
12.根据权利要求1所述的装置,其特征在于,所述数据接收模组在每个数据位周期采集预设数值个电平信号,并基于所述预设数值个所述电平信号中高电平和低电平各自的占比,确定对应所述数据位周期的最终电平。
13.根据权利要求1所述的装置,其特征在于,所述数据发送模组、所述数据接收模组和所述配置模组为IP核。
14.根据权利要求1所述的装置,其特征在于,所述异步传输装置由可编程化系统芯片实现,且所述数据发送模组、所述数据接收模组和所述配置模组由所述可编程化系统芯片的可编程逻辑部分实现,所述主控模组由所述可编程化系统芯片的处理系统部分实现,所述传输总线由所述可编程化系统芯片的片内总线实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617907.9A CN114356816A (zh) | 2021-12-27 | 2021-12-27 | 一种异步传输装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617907.9A CN114356816A (zh) | 2021-12-27 | 2021-12-27 | 一种异步传输装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356816A true CN114356816A (zh) | 2022-04-15 |
Family
ID=81102880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111617907.9A Pending CN114356816A (zh) | 2021-12-27 | 2021-12-27 | 一种异步传输装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356816A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4761763A (en) * | 1985-06-28 | 1988-08-02 | Northern Telecom Limited | Rate adaptation circuit and method for asynchronous data on digital networks |
JPS63239579A (ja) * | 1987-03-27 | 1988-10-05 | Toshiba Corp | 携帯可能電子装置 |
US5742502A (en) * | 1995-04-25 | 1998-04-21 | Motorola, Inc. | Method and apparatus for generating synchronous data transmissions in a device having a universal asynchronous receiver/transmitter |
US6378011B1 (en) * | 1999-05-28 | 2002-04-23 | 3Com Corporation | Parallel to serial asynchronous hardware assisted DSP interface |
US20070226377A1 (en) * | 2006-02-09 | 2007-09-27 | Dell Products L.P. | Detecting parameters of a system UART and matching those parameters in a serial-over-LAN (SOL) UART |
US20080109581A1 (en) * | 2006-11-02 | 2008-05-08 | Honeywell International Inc. | Protocol independent bridge |
CN107451087A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于fpga的异同步可切换串口及使用方法 |
US20180152287A1 (en) * | 2016-11-29 | 2018-05-31 | Nxp B.V. | Serial data communications using a uart module and method therefor |
-
2021
- 2021-12-27 CN CN202111617907.9A patent/CN114356816A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4761763A (en) * | 1985-06-28 | 1988-08-02 | Northern Telecom Limited | Rate adaptation circuit and method for asynchronous data on digital networks |
JPS63239579A (ja) * | 1987-03-27 | 1988-10-05 | Toshiba Corp | 携帯可能電子装置 |
US5742502A (en) * | 1995-04-25 | 1998-04-21 | Motorola, Inc. | Method and apparatus for generating synchronous data transmissions in a device having a universal asynchronous receiver/transmitter |
US6378011B1 (en) * | 1999-05-28 | 2002-04-23 | 3Com Corporation | Parallel to serial asynchronous hardware assisted DSP interface |
US20070226377A1 (en) * | 2006-02-09 | 2007-09-27 | Dell Products L.P. | Detecting parameters of a system UART and matching those parameters in a serial-over-LAN (SOL) UART |
US20080109581A1 (en) * | 2006-11-02 | 2008-05-08 | Honeywell International Inc. | Protocol independent bridge |
US20180152287A1 (en) * | 2016-11-29 | 2018-05-31 | Nxp B.V. | Serial data communications using a uart module and method therefor |
CN107451087A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种基于fpga的异同步可切换串口及使用方法 |
Non-Patent Citations (1)
Title |
---|
韩怀宇;张建军;袁凤: "《基于FPGA状态机和片上总线的CompactPCI异步串口板设计方案》", 《电子产品世界》, 4 July 2014 (2014-07-04), pages 40 - 44 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131091B (zh) | 一种面向片上网络的片间互连方法和系统 | |
US20090259786A1 (en) | Data transfer system and method for host-slave interface with automatic status report | |
CN110471872A (zh) | 一种基于zynq芯片实现m-lvds总线数据交互系统和方法 | |
CN101788972A (zh) | 一种数据传输的系统与方法 | |
CN109165178B (zh) | 一种基于RapidIO的弹上系统SoC芯片间高速通信方法 | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
US20140119463A1 (en) | Scalable Multifunction Serial Link Interface | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN113312284A (zh) | 数据传输方法、装置、系统、存储介质及电子装置 | |
CN113792003A (zh) | 单总线通信单元、系统及方法 | |
US20040210687A1 (en) | Network for decreasing transmit link layer core speed | |
CN111130691B (zh) | 一种星载异步速率通信匹配装置 | |
CN219227609U (zh) | 基于光纤介质的jesd204b数据传输系统 | |
CN210155653U (zh) | 基于zynq芯片实现m-lvds总线数据交互装置 | |
WO2018102076A1 (en) | Controller-phy connection using intra-chip serdes | |
CN101702714B (zh) | 计算机系统中的基于信用的流动控制的方法、系统和设备 | |
CN114356816A (zh) | 一种异步传输装置 | |
CN218772141U (zh) | 双处理器电路及分布式控制系统的控制主板 | |
EP1361777B1 (en) | A synchronous communication protocol for asynchronous devices | |
CN205983449U (zh) | 一种基于pci‑e总线的数据传输装置 | |
CN117009276B (zh) | 一种基于axi总线的信号压缩传输的方法、装置及系统 | |
CN112835834A (zh) | 数据传输系统 | |
CN117234995B (zh) | 一种基于ahb总线的信号压缩传输的方法、系统及装置 | |
CN115866173B (zh) | 一种视频传输芯片 | |
WO2024066516A1 (zh) | 折叠屏系统和信号传输方法 |
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 |