一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

串行数据传输电路及数据传输方法与流程

2022-07-23 06:36:14 来源:中国专利 TAG:


1.本发明属于数据传输技术领域,涉及一种串行数据传输电路及数据传输方法。


背景技术:

2.在消费电子、工业控制等领域,大量的外围子系统或接口转换器需要与cpu串行通信,如音频编解码器,模拟接口芯片,a/d和d/a转换器。不同的数据类型具有不同的时间特性,要求串行传输电路不仅速率高还要有非常高的灵活性。传统的串行传输电路在上述应用中仍存在着传输速率与灵活性无法兼顾的技术问题,急需一种高速率且灵活的串行数据传输电路方案。


技术实现要素:

3.针对上述传统技术中存在的问题,本发明提出了一种高速率且灵活的串行数据传输电路以及一种串行数据传输方法。
4.为了实现上述目的,本发明实施例采用以下技术方案:一方面,提供一种串行数据传输电路,包括发送端电路和接收端电路,发送端电路包括发送缓冲寄存器、发送移位寄存器、发送控制电路和发送中断单元,接收端电路包括接收移位寄存器、接收控制电路、接收备份寄存器、接收缓冲寄存器和接收中断单元;发送缓冲寄存器和接收缓冲寄存器分别用于通过数据总线连接至cpu,发送移位寄存器分别连接发送缓冲寄存器、发送控制电路和发送中断单元;接收移位寄存器连接接收控制电路,接收备份寄存器分别连接接收移位寄存器、接收缓冲寄存器和接收中断单元;发送缓冲寄存器用于存储待发送的数据字,发送移位寄存器用于保存当前正在发送的数据,发送控制电路用于将发送移位寄存器中的数据按位移至数据输出信号,发送中断单元用于指示cpu向发送缓冲寄存器写入新的数据;接收移位寄存器用于保存当前正在接收的数据,接收控制电路用于将数据输入信号的数据按位移至接收移位寄存器,接收备份寄存器用于备份接收移位寄存器中的数据,接收缓冲寄存器用于存储待读取的数据字,接收中断单元用于指示cpu从接收缓冲寄存器读取新的数据。
5.另一方面,还提供一种串行数据传输方法,应用于上述的串行数据传输电路,该方法包括步骤:复位发送缓冲寄存器、发送移位寄存器和发送控制电路,设置发送端的中断使能信号、字长参数、帧长参数、发送模式参数和通道模式参数;当发送就绪状态信号从无效跳变至有效时,发送中断单元向cpu发送中断信号,发送缓冲寄存器存储cpu通过系统总线写入的数据;在发送就绪状态信号无效且字发送完成信号有效时,若通道使能,则将发送缓冲寄存器中的数据拷贝到发送移位寄存器,并将发送就绪状态信号翻转为有效,将字发送完成信号翻转为无效;
若通道使能,则发送控制电路将发送移位寄存器中的数据按msb原则按位移至数据输出信号上;其中,每帧的第一个通道的第一位数据发送同时产生一个帧同步信号,每移位完成一个数据字则将字发送完成信号翻转为有效,若通道未禁止或未屏蔽,则按位移出的数据出现在上述数据输出信号上。
6.上述技术方案中的一个技术方案具有如下优点和有益效果:上述串行数据传输电路及数据传输方法,通过采用发送缓冲寄存器、发送移位寄存器、发送控制电路和发送中断单元构成的发送端电路,与接收移位寄存器、接收控制电路、接收备份寄存器、接收缓冲寄存器和接收中断单元构成的接收端电路,完成数据发送与接收功能。其中,在发送端,发送中断单元指示cpu向发送缓冲寄存器写入新的待发送的数据后,待通道使能即可直接将写入的数据拷贝进发送移位寄存器作为当前所需发送的数据,而发送控制电路则将发送移位寄存器中的数据按位移至数据输出信号,即可通过数据输出信号对外发送。数据发送速率较高且可支持多种工作模式。
7.在接收端,在外部有发送过来的数据输入信号时,接收控制电路可根据接收的帧同步信号将数据输入信号上的数据按位移至接收移位寄存器进行保存,然后通过接收备份寄存器进行拷贝备份,以供接收缓冲寄存器中已存数据被读取完成后接收来自接收备份寄存器的数据作为新的待读取的数据,进而由接收中断单元通知cpu继续从接收缓冲寄存器读取新的数据,数据接收速率较高且可支持多种工作模式。
8.相比于传统的串行传输电路,上述方案电路传输速率较高且支持灵活的工作模式,有效兼顾传输速率与灵活性,电路结构简洁且易用性较好。
附图说明
9.为了更清楚地说明本技术实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1为一个实施例中串行数据传输电路的结构示意图;图2为一个实施例中发送控制电路的结构示意图;图3为一个实施例中接收控制电路的结构示意图;图4为一个实施例中串行数据传输方法的流程示意图;图5为一个实施例中串行数据发送的步骤示意图;图6为另一个实施例中串行数据传输方法的流程示意图;图7为一个实施例中串行数据接收的步骤示意图;图8为一个实施例中使能且不屏蔽模式的数据发送示例的示意图;图9为一个实施例中屏蔽且禁止模式的数据发送示例的示意图;图10为一个实施例中使能且可屏蔽模式的数据发送示例的示意图。
具体实施方式
11.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不
用于限定本技术。
12.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
13.需要说明的是,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。
14.本领域技术人员可以理解,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
15.下面将结合本发明实施例图中的附图,对本发明实施方式进行详细说明。
16.针对传统串行传输电路在一些实际应用中仍存在着的传输速率与灵活性无法兼顾的技术问题,本技术提供了一种灵活的时分多路串行数据传输电路解决方案,可实现:1)使能且不屏蔽:数据帧内全部时间通道均被占用且有有效数据发送;2)屏蔽且禁止:屏蔽且禁止的时间通道释放出来供其他设备传输数据;3)使能且可屏蔽:数据帧内全部时间通道均被占用,但被屏蔽的通道无有效数据传输(作废)。本技术提供的串行数据传输电路具有灵活、简洁且易用等的优点。
17.为便于理解本技术的方案,在此提供了相关专业术语的定义说明:数据字(字):是数据传输的基本单位。如当字长参数(可记为xwdlen)=0、1、2、3、4或5时,字长分别为8、12、16、20、24或32位。
18.通道:一个通道是指连续传输一个字所占用数据输出信号(可记为dx)上的时间段。
19.数据帧:一组数据字连续传输所占用的通道。当帧长参数(可记为xwnum)= 0、1、2、3、4、5、6或7时,帧长分别为16、32、48、64、80、96或128,即帧长最大为128。
20.通道使能和禁止:一个通道使能时,对应时间段内允许有数据发送,发送控制电路允许发送移位寄存器中的数据逐位移出,但数据是否出现在数据输出信号dx上取决于该通道是否被屏蔽;一个通道禁止时,对应时间段内不允许有数据发送(dx状态为高阻)。
21.通道屏蔽:一个通道使能时对应时间段内允许有数据发送,若该通道未被屏蔽则数据出现在输出信号dx上;若该通道被屏蔽则数据不会出现在输出信号dx上(dx状态为高电平)。一个通道被禁止时同时被屏蔽。
22.工作模式:包括前述3种工作模式,由发送/接收模式参数(可记为xmode[1:0]/rmode[1:0])、发送/接收通道模式参数(可记为xcm[127:0]/rcm[127:0])控制。xcm/rcm中的每一位与一个通道对应:使能且不屏蔽:发送模式参数xmode=0(模式1)或接收模式参数rmode=0(模式1),发送通道模式参数xcm或接收通道模式参数rcm的设置无效。数据帧内全部时间通道均被占用且有有效数据传输。
[0023]
屏蔽且禁止:发送模式参数xmode=1(模式2)或接收模式参数rmode=1(模式2);发送通道模式参数xcm[i]=1(有效)或接收通道模式参数rcm[i]=1(有效),表示使能且不屏蔽通道i;发送通道模式参数xcm[i]=0(无效)或接收通道模式参数rcm[i]=0(无效),表示禁止
且屏蔽通道i。屏蔽且禁止的时间通道释放出来供其他设备传输数据。
[0024]
使能且可屏蔽:发送模式参数xmode=2(模式3)或接收模式参数rmode=2(模式3);发送通道模式参数xcm[i]=1(有效)或接收通道模式参数rcm[i]=1(有效),表示不屏蔽通道i;发送通道模式参数xcm[i]=0(无效)或接收通道模式参数rcm[i]=0(无效),表示屏蔽通道i。通道均使能,数据帧内全部时间通道均被占用,但被屏蔽的通道无有效数据传输(作废)。
[0025]
请参阅图1,在一个实施例中,本技术实施例提供了一种串行数据传输电路100,包括发送端电路12和接收端电路14。发送端电路12包括发送缓冲寄存器122、发送移位寄存器124、发送控制电路126和发送中断单元128。接收端电路14包括接收移位寄存器142、接收控制电路144、接收备份寄存器146、接收缓冲寄存器148和接收中断单元149。发送缓冲寄存器122和接收缓冲寄存器148分别用于通过数据总线连接至cpu。发送移位寄存器124分别连接发送缓冲寄存器122、发送控制电路126和发送中断单元128。接收移位寄存器142连接接收控制电路144,接收备份寄存器146分别连接接收移位寄存器142、接收缓冲寄存器148和接收中断单元149。
[0026]
发送缓冲寄存器122用于存储待发送的数据字。发送移位寄存器124用于保存当前正在发送的数据。发送控制电路126用于将发送移位寄存器124中的数据按位移至数据输出信号。发送中断单元128用于指示cpu向发送缓冲寄存器122写入新的数据。接收移位寄存器142用于保存当前正在接收的数据。接收控制电路144用于将数据输入信号的数据按位移至接收移位寄存器142。接收备份寄存器146用于备份接收移位寄存器142中的数据。接收缓冲寄存器148用于存储待读取的数据字。接收中断单元149用于指示cpu从接收缓冲寄存器148读取新的数据。
[0027]
可以理解,cpu是指上述串行数据传输电路100需与之开展串行通信(如数据收发)的系统/设备的微处理器,上述串行数据传输电路100的各电路结构部分之间的连接可以是通信连接,也可以是电连接,还可以是通信和电力混合方式的连接,具体可以根据应用场景的需要确定,只要能够实现各电路结构部分之间的数据与信号等的传输功能即可。上述串行数据传输电路100可以采用分立式的元件布局设计,也可以采用在基板上集成设计的布局设计,具体可以根据工艺要求进行选择。
[0028]
发送缓冲寄存器122(可记为dxr)可以是能够实现对待发送的数据字的存储功能的寄存器组件,其可以在发送就绪状态信号(可以记为xrdy)的控制下进行存储数据的更新,如接收cpu写入的新的待发送数据。发送移位寄存器124(可记为xsr)可以是能够实现对当前正在发送(移位)的数据的存储功能的寄存器组件,其操作状态可以由发送就绪状态信号xrdy和字发送完成信号(可以记为xwdone)控制,其数据来自对dxr中的数据拷贝。
[0029]
发送控制电路126可以但不限于采用微控制器、可编程逻辑电路或者其他控制芯片实现,只要能够实现所需的数据移位控制功能与字发送状态反馈功能等均可。为简洁示意,如图1中未画出电路的复位信号(可以记为rstn)、系统工作时钟(可以记为sysclk),本领域技术人员可以理解,在实际应用中还可为需要前述rstn和sysclk的各部件接入该信号与时钟,以保证其正常工作,该信号与时钟的接入方式,可与本领域中现有的复位信号与系统工作时钟添加方式同理理解。
[0030]
数据输出信号dx也即包含所需发送数据的对外传输信号,可以作为其他系统/设备中串行数据传输电路100的接收端的外部输入(也即数据输入信号)。发送中断单元128可
以是能够提供所需中断信号的电路元件或电路模块,其用于产生中断信号给到cpu,从而通知cpu可以向发送缓冲寄存器122写入新的数据。
[0031]
接收移位寄存器142(可记为rsr)可以是能够实现对当前正在接收(移位)的数据的存储功能的寄存器组件,其存储的数据来自外部数据输入信号dr中的数据。接收控制电路144可以但不限于采用微控制器、可编程逻辑电路或者其他控制芯片实现,只要能够实现所需的数据移位控制功能与字接收状态反馈功能等均可。接收备份寄存器146(可记为rbr)可以是能够实现数据备份存储功能的寄存器组件,其备份的数据来自rsr。
[0032]
接收缓冲寄存器148(可记为drr)可以是能够实现对待读取的数据字的存储功能的寄存器组件,其可以在接收完成状态信号(可以记为rrdy)的控制下进行存储数据的更新,如cpu通过数据总线读取完成已存的数据后,drr可接收来自rbr的新的待读取数据。接收中断单元149可以是能够提供所需中断信号的电路元件或电路模块,其用于产生中断信号给到cpu,从而通知cpu可以从drr读取新的数据。
[0033]
上述串行数据传输电路100,采用发送缓冲寄存器122、发送移位寄存器124、发送控制电路126和发送中断单元128构成的发送端电路12,与接收移位寄存器142、接收控制电路144、接收备份寄存器146、接收缓冲寄存器148和接收中断单元149构成的接收端电路14,完成数据发送与接收功能。其中,在发送端,发送中断单元128指示cpu向发送缓冲寄存器122写入新的待发送的数据后,待通道使能即可直接将写入的数据拷贝进发送移位寄存器124作为当前所需发送的数据,而发送控制电路126则将发送移位寄存器124中的数据按位移至数据输出信号,即可通过数据输出信号对外发送。数据发送速率较高且可支持多种工作模式。
[0034]
在接收端,在外部有发送过来的数据输入信号时,接收控制电路144可根据接收的帧同步信号将数据输入信号上的数据按位移至接收移位寄存器142进行保存,然后通过接收备份寄存器146进行拷贝备份,以供接收缓冲寄存器148中已存数据被读取完成后接收来自接收备份寄存器146的数据作为新的待读取的数据,进而由接收中断单元149通知cpu继续从接收缓冲寄存器148读取新的数据,数据接收速率较高且可支持多种工作模式。相比于传统的串行传输电路,上述方案电路传输速率较高且支持灵活的工作模式,有效兼顾传输速率与灵活性,电路结构简洁且易用性较好。
[0035]
在一个实施例中,发送缓冲寄存器122在发送就绪状态信号xrdy无效且字发送完成信号xwdone有效时,若发送控制电路126允许拷贝发送缓冲寄存器122中的数据,则拷贝待发送的数据字到发送移位寄存器124并翻转发送就绪状态信号xrdy和字发送完成信号xwdone。发送缓冲寄存器122在发送就绪状态信号有效时,可接收并存储cpu通过数据总线写入的待发送的数据字。
[0036]
具体的,发送缓冲寄存器122(以dxr[31:0]为例),当字长参数xwdlen=0、1、2、3、4或5时,dxr中数据字的有效位数分别为8、12、16、20、24或32位。发送就绪状态信号xrdy控制dxr的更新。当xrdy=1(有效)时,dxr可以接收新的数据。当cpu通过数据总线向dxr写入数据时,xrdy置为0(无效);当dxr中的数据拷贝到xsr时,xrdy置为1。具体实现了通过发送就绪状态信号xrdy控制dxr的更新功能。
[0037]
在一个实施例中,发送中断单元128在中断使能信号有效且发送就绪状态信号由无效跳变至有效时,向cpu发送中断信号;中断信号用于指示cpu向发送缓冲寄存器122写入
新的数据。
[0038]
具体的,当xrdy发生0—》1跳变时,发送中断单元128同时可以向cpu发出一个中断信号(可以记为xint)以通知cpu向dxr写入数据。发送中断单元128由中断使能信号(可以记为xinten)控制。当xinten=1(有效)时,若发送就绪状态信号xrdy发生0—》1跳变,则向cpu发出中断信号xint,从而完成向dxr写入数据的准确通知。
[0039]
在一个实施例中,发送移位寄存器124在字发送完成信号有效且发送就绪状态信号无效时,若发送控制电路126允许拷贝发送缓冲寄存器122中的数据,则拷贝发送缓冲寄存器122中的数据并翻转发送就绪状态信号和字发送完成信号。
[0040]
具体的,发送移位寄存器124(以xsr[31:0]为例)用于保存当前正在发送(移位)的数据,由发送就绪状态信号xrdy和字发送完成信号xwdone控制。当xwdone=1(有效)时(发送控制电路126已完成当前数据字的发送)且xrdy=0(无效)时(dxr中有新写入的数据),若发送控制电路126允许将dxr中的数据拷贝到xsr(也即通道使能),则拷贝数据的同时将xrdy置为1,将xwdone置为0,从而高效实现dxr向xsr的数据拷贝。
[0041]
在一个实施例中,如图2所示,发送控制电路126包括发送字计数器1261、发送移位计数器1263和屏蔽控制单元1265。发送字计数器1261连接发送移位寄存器124,发送移位计数器1263分别连接发送移位寄存器124和屏蔽控制单元1265。屏蔽控制单元1265用于决定从发送移位寄存器124移出的数据是否出现在数据输出信号。发送字计数器1261用于对发送移位寄存器124移出的数据进行帧长计数。发送移位计数器1263用于对发送移位寄存器124移出的数据进行字长计数。
[0042]
可以理解,发送控制电路126负责将xsr中的数据按位移至输出信号dx上。发送控制电路126可包括发送字计数器1261(可以记为字计数xwcnt,以xwcnt [6:0]为例)、发送移位计数器1263(可以记为移位计数xbcnt,以xbcnt [4:0]为例)和屏蔽控制单元1265。xwcnt和xbcnt分别由帧长参数xwnum和字长参数xwdlen控制。若xsr中的数据允许逐位移出(即通道使能),则xbcnt的计数从0增加到xwdlen-1时表示一个字发送完成;xwcnt的计数从0增加到xwnum-1时表示一个帧发送完成。对应通道禁止或屏蔽时,xbcnt和xwcnt依然继续计数以维持内部状态。
[0043]
而屏蔽控制单元1265决定移出的数据是否出现在数据输出信号dx上,若对应通道未禁止或屏蔽,则按位移出的数据出现在数据输出信号dx上,否则dx的状态为高阻(禁止时)或高电平(屏蔽时)。
[0044]
通过上述发送控制电路126高效实现了数据移位与发送控制。
[0045]
在一个实施例中,如图2所示,发送控制电路126的移位顺序为高位到低位依次移位,发送控制电路126在将发送移位寄存器124中的数据按位移至数据输出信号时,产生发送时钟并在每帧的第一个通道的第一位数据发送同时产生一个帧同步信号。
[0046]
具体的,发送控制电路126负责在将xsr中的数据按位移至输出信号dx上时,移位遵循msb(most significant bit)原则,即从高位到低位依次移位。发送控制电路126同时产生发送时钟clkx和发送帧同步信号fsx。clkx的频率和相位与系统工作时钟sysclk相同。在每帧的第一个通道的第一位数据发送的同时,产生一个帧同步信号fsx,以表示一个新的数据帧的开始。帧同步信号fsx高电平的维持时间为一个clkx时钟周期。数据输出信号dx上一位数据的有效时间也是一个clkx时钟周期。
[0047]
发送控制电路126还将产生字发送完成信号xwdone。每发送完一个字,信号xwdone上生一个高电平脉冲(xwdone=1),表示可以将dxr中的数据拷贝到xsr以进行下一个字的发送。
[0048]
通过上述数据移位控制,可高效且准确地完成每个字与帧的数据发送。
[0049]
在一个实施例中,接收移位寄存器142在外部输入的帧同步信号有效后,在接收控制电路144的移位控制下保存从数据输入信号上输入的数据。
[0050]
具体的,接收移位寄存器142(以rsr[31:0]为例)用于保存当前正在接收(移位)的数据。当外部输入的帧同步信号fsr上的高电平脉冲信号(有效)来临时,接收控制电路144将数据输入信号dr的数据按位移至rsr中。
[0051]
在一个实施例中,如图3所示,接收控制电路144包括接收字计数器1441和接收移位计数器1443。接收字计数器1441和接收移位计数器1443分别连接接收移位寄存器142。接收字计数器1441用于对接收移位寄存器142接收的数据进行帧长计数,接收移位计数器1443用于对接收移位寄存器142接收的数据进行字长计数。
[0052]
可以理解,当外部输入的帧同步信号fsr上的高电平脉冲信号来临时,接收控制电路144负责将数据输入信号dr的数据按位移至rsr中。接收控制电路144可包括接收字计数器1441(可以记为字计数rwcnt,以rwcnt [6:0]为例)和接收移位计数器1443(可以记为移位计数rbcnt,以rbcnt [4:0]为例)。rwcnt和rbcnt分别由帧长参数rwnum和字长参数rwdlen控制。rbcnt的计数从0增加到rwdlen-1时表示一个字接收完成; rwcnt的计数从0增加到rwnum-1时表示一个帧接收完成。对应通道禁止或屏蔽时,rbcnt和rwcnt依然继续计数以维持内部状态。
[0053]
通过上述接收控制电路144高效实现了数据移位与接收控制。
[0054]
在一个实施例中,接收控制电路144的移位顺序为高位到低位依次移位,接收控制电路144在每接收完一个字时,将字接收完成信号置为有效。
[0055]
具体的,接收控制电路144在每接收完一个字时,字接收完成信号rwdone上产生一个高电平脉冲(rwdone=1,表示信号有效),若当前通道使能且未屏蔽,表示可以将rsr中的数据拷贝到rbr中。通过上述数据移位控制,可高效且准确地完成每个字与帧的数据接收。
[0056]
在一个实施例中,接收备份寄存器146在字接收完成信号有效时,若通道使能且未屏蔽,则拷贝接收移位寄存器142中的数据进行备份。
[0057]
具体的,接收备份寄存器146(以rbr[31:0]为例)负责备份rsr中的数据。若当前通道使能且未屏蔽,当字接收完成信号rwdone有效时,将rsr中的数据拷贝到rbr中。
[0058]
在一个实施例中,接收缓冲寄存器148在接收完成状态信号无效时,接收接收备份寄存器146的数据并翻转接收完成状态信号。
[0059]
可以理解,接收缓冲寄存器148(以drr[31:0]为例)用于存储待读取的数据字。当字长参数rwdlen=0、1、2、3、4或5时,drr中数据字的有效位数分别为8、12、16、20、24或32位。接收完成状态信号rrdy控制drr的更新。
[0060]
具体的,当rrdy=0(无效)时,drr可以接收来自rbr的数据。接收数据的同时,rrdy置为1(有效);当cpu通过数据总线从drr中读取数据时,rrdy置为0。具体实现了通过接收完成状态信号rrdy控制drr的更新功能。
[0061]
在一个实施例中,接收中断单元149在中断使能信号有效时,若接收完成状态信号
由无效跳变至有效,则向cpu发送中断信号;中断信号用于指示cpu从接收缓冲寄存器148读取新的数据。
[0062]
可以理解,接收中断单元149可通过中断信号(可记为rint),通知cpu从drr读取新的数据,由中断使能信号(可记为rinten)控制。具体的,当rinten=1时,若rrdy发生0—》1跳变,则接收中断电路同时可以向cpu发出一个接收中断信号rint以通知cpu从ddr中读取数据,从而完成从ddr读取数据的准确通知。
[0063]
在一个实施例中,请参阅图4和5,还提供一种串行数据传输方法,应用于上述的串行数据传输电路,该方法包括如下数据发送处理步骤:s12,复位发送缓冲寄存器、发送移位寄存器和发送控制电路,设置发送端的中断使能信号、字长参数、帧长参数、发送模式参数和通道模式参数;s14,当发送就绪状态信号从无效跳变至有效时,发送中断单元向cpu发送中断信号,发送缓冲寄存器存储cpu通过系统总线写入的数据;s16,在发送就绪状态信号无效且字发送完成信号有效时,若通道使能,则将发送缓冲寄存器中的数据拷贝到发送移位寄存器,并将发送就绪状态信号翻转为有效,将字发送完成信号翻转为无效;s18,若通道使能,则发送控制电路将发送移位寄存器中的数据按msb原则按位移至数据输出信号上;其中,每帧的第一个通道的第一位数据发送同时产生一个帧同步信号,每移位完成一个数据字则将字发送完成信号翻转为有效,若通道未禁止或未屏蔽,则按位移出的数据出现在上述数据输出信号上。
[0064]
可以理解,关于本实施例串行数据传输方法中各相关术语的具体说明限定,可以参照上文中串行数据传输电路100的相应说明限定同理理解,在此不再赘述。
[0065]
具体的,如图5所示,数据发送部分的工作流程可划分为5个部分:初始化、数据写入、数据拷贝、移位控制和屏蔽控制。其中,初始化:复位发送端的发送缓冲寄存器dxr、发送移位寄存器xsr、发送字计数器xwcnt和发送移位计数器xbcnt;设置发送端的中断使能信号xinten(如赋初值)、字长参数xwdlen(具体赋值可根据实际应用场景中所要求的字长来选择)、帧长参数xwnum(具体赋值可根据实际应用场景中所要求的帧长来选择)、发送模式参数xmode和通道模式参数xcm(可根据选择的发送模式进行设置)。
[0066]
数据写入:当发送就绪状态信号xrdy=1(有效)时,发送缓冲寄存器dxr可以接收新的数据。当xrdy发生0—》1跳变时,发送中断电路同时可以向cpu发出一个发送中断信号xint,以通知cpu通过数据总线向dxr写入数据。cpu收到中断通知后,向dxr中写入新的数据。写入新的数据同时将状态信号xrdy置为0(无效)。
[0067]
数据拷贝:当发送就绪状态信号xrdy=0(即发送缓冲寄存器dxr中有新写入的数据)、字发送完成信号xwdone =1(有效,表示发送控制电路已完成当前数据字的发送)时,若对应通道使能,则将发送缓冲寄存器dxr中的数据拷贝到发送移位寄存器xsr中,拷贝时同时将发送就绪状态信号xrdy置为1、字发送完成信号xwdone置为0(无效,表示发送控制电路未完成当前数据字的发送)。
[0068]
移位控制:若对应通道使能,发送控制电路将发送移位寄存器xsr中的数据遵循msb原则按位移至输出信号dx上。每帧的第一个通道的第一位数据发送时,帧同步信号fsx上产生一个高电平脉冲,表示一个帧的开始。
[0069]
发送移位计数器xbcnt从0增加到xwdlen-1时表示一个字发送完成;发送字计数器xwcnt从0增加到xwnum-1时表示一个帧发送完成。对应通道禁止或屏蔽时,xbcnt、xwcnt依然继续计数以维持内部状态。
[0070]
每发送移位完成一个数据字,信号xwdone上产生一个高电平脉冲,若下一个通道使能,表示可以将发送缓冲寄存器dxr中的数据拷贝到发送移位寄存器xsr以开始下一个字的移位控制。
[0071]
屏蔽控制:若对应通道未禁止或屏蔽,则移位控制中按位移出的数据出现在输出信号dx上,否则dx的状态为高阻(禁止时)或高电平(屏蔽时)。
[0072]
上述串行数据传输方法,通过应用上述串行数据传输电路100,在发送端,发送中断单元指示cpu向发送缓冲寄存器写入新的待发送的数据后,待通道使能即可直接将写入的数据拷贝进发送移位寄存器作为当前所需发送的数据,而发送控制电路则将发送移位寄存器中的数据按位移至数据输出信号,即可通过数据输出信号对外发送。数据发送速率较高且可支持多种工作模式,有效兼顾数据发送传输速率与灵活性。
[0073]
在一个实施例中,请参阅图6和图7,上述串行数据传输方法还可以包括如下数据接收的处理步骤:s11,复位接收移位寄存器、接收备份寄存器、接收缓冲寄存器和接收控制电路,设置接收端的中断使能信号、字长参数、帧长参数、接收模式参数和通道模式参数;s13,当外部输入的帧同步信号有效后,接收控制电路将数据输入信号的数据按位移至接收移位寄存器中;其中,接收控制电路在每接收完一个字时,将字接收完成信号置为有效;s15,若当前通道使能且未屏蔽,则在字接收完成信号有效时,将接收移位寄存器中的数据拷贝到接收备份寄存器中;s17,当接收完成状态信号无效时,将接收备份寄存器中的数据拷贝到接收缓冲寄存器中并将接收完成状态信号翻转为有效;s19,在中断使能信号有效时,若接收完成状态信号由无效跳变至有效,则接收中断单元向cpu发送中断信号;中断信号用于指示cpu从接收缓冲寄存器读取新的数据并将接收完成状态信号翻转为无效。
[0074]
可以理解,关于本实施例串行数据传输方法中各相关术语的具体说明限定,可以参照上文中串行数据传输电路100的相应说明限定同理理解,在此不再赘述。
[0075]
具体的,如图7所示,数据接收部分的工作流程也可划分为5个部分:初始化、接收控制、数据备份、数据缓冲和数据读取。其中,初始化:复位接收端的接收移位寄存器rsr、接收备份寄存器rbr、接收缓冲寄存器drr、接收字计数器rwcnt和接收移位计数器rbcnt。设置接收端的中断使能信号rinten(如赋初值)、字长参数rwdlen(具体赋值可根据发送端的字长来选择)、帧长参数rwnum(具体赋值可根据发送端的帧长来选择)、接收模式参数rmode和通道模式参数rcm(可根据选择的接收模式进行设置)。
[0076]
可选的,接收端的参数rwdlen、rwnum、rmode和rcm,分别与发送端的参数xwdlen、xwnum、xmode和xcm对应相同,以保证数据能够高效且正确接收。
[0077]
接收控制:当外部输入的帧同步信号fsr有效后,接收控制电路开始将数据输入信号dr的数据按位移至接收移位寄存器rsr中。接收移位计数器rbcnt从0增加到rwdlen-1时
表示一个字接收完成。接收字计数器rwcnt从0增加到rwnum-1时表示一个帧接收完成。对应通道禁止或屏蔽时,rbcnt和rwcnt依然继续计数以维持内部状态。
[0078]
每接收完一个字,字接收完成信号rwdone上产生一个高电平脉冲,若当前通道使能且未屏蔽,表示可以将接收移位寄存器rsr中的数据拷贝到接收备份寄存器rbr中。
[0079]
数据备份:若当前通道使能且未屏蔽,当字接收完成信号rwdone有效时,将接收移位寄存器rsr中的数据拷贝到接收备份寄存器rbr中。
[0080]
数据缓冲:当接收完成状态信号rrdy=0时,表示接收缓冲寄存器drr可以接收新的数据,接收备份寄存器rbr中有最新的数据,则将rbr中的数据拷贝到drr中,同时将信号rrdy置为1。
[0081]
数据读取:当接收完成状态信号rrdy=1时,表示接收缓冲寄存器drr中有新的数据。当rrdy发生0—》1跳变时,接收中断电路同时可以向cpu发出一个发送中断信号rint,以通知cpu通过数据总线读取drr中的数据。cpu收到中断通知后读取drr中的数据,同时将状态信号rrdy置为0。
[0082]
通过上述步骤,在接收端,在外部有发送过来的数据输入信号时,接收控制电路可根据接收的帧同步信号将数据输入信号上的数据按位移至接收移位寄存器进行保存,然后通过接收备份寄存器进行拷贝备份,以供接收缓冲寄存器中已存数据被读取完成后接收来自接收备份寄存器的数据作为新的待读取的数据,进而由接收中断单元通知cpu继续从缓冲寄存器读取新的数据,数据接收速率较高且可支持多种工作模式,有效兼顾数据接收传输速率与灵活性。
[0083]
在一些实施方式中,为了更直观且全面地说明上述串行数据传输电路及方法,下面提供了一些具体应用示例。需要说明的是,本说明书中给出的应用示例仅为示意性的,并非为本发明具体实施案例的唯一限定,本领域技术人员可以在本发明提供的实施案例的示意下,可采用上述提供的串行数据传输电路及方法,实现对不同应用场景的时分多路串行数据传输。
[0084]
图8~10给出了使能且不屏蔽模式、屏蔽且禁止以及使能且可屏蔽这3种模式的数据发送示例,数据接收过程依此类推。图8~10中,第x个字的第y位用wxby表示,如第0个字的第0位用w0b0表示。
[0085]
图8给出了使能且不屏蔽模式的数据发送示例。其中,部分参数设置如下:发送端的中断使能信号xinten=1,字长参数xwdlen=0(8位),帧长参数xwnum=0(16),发送模式参数xmode=0。该模式下,通道0~15使能且不屏蔽,16个通道的时间段均被占用且有有效数据发送。
[0086]
图9给出了屏蔽且禁止模式的数据发送示例。其中,部分参数设置如下:发送端的中断使能信号xinten=1,字长参数xwdlen=0(8位),帧长参数xwnum=0(16),发送模式参数xmode=1,通道模式参数xcm=0x0ff0f。该模式下,通道0~3和通道8~15使能且不屏蔽,对应的时间段被占用且有有效数据发送;通道4~7禁止且屏蔽,对应的时间段释放出来供其他设备发送数据,数据输出dx信号状态为高阻。
[0087]
图10给出了使能且可屏蔽模式的数据发送示例。其中,部分参数设置如下:发送端的中断使能信号xinten=1,字长参数xwdlen=0(8位),帧长参数xwnum=0(16),发送模式参数xmode=2,通道模式参数xcm=0x0ff0f。该模式下,通道0~3和通道8~15使能且不屏蔽,对应的
时间段被占用且有有效数据发送;通道4~7使能但屏蔽,对应的时间段被占用但无有效数据发送(数据作废),数据输出dx信号状态为高。
[0088]
应该理解的是,虽然图4至图7流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且图4至图7的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0089]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0090]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可做出若干变形和改进,都属于本技术保护范围。因此本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献