CN104133792B - 精简串行总线通信方法及系统 - Google Patents
精简串行总线通信方法及系统 Download PDFInfo
- Publication number
- CN104133792B CN104133792B CN201310160642.3A CN201310160642A CN104133792B CN 104133792 B CN104133792 B CN 104133792B CN 201310160642 A CN201310160642 A CN 201310160642A CN 104133792 B CN104133792 B CN 104133792B
- Authority
- CN
- China
- Prior art keywords
- address
- slave
- transmission
- main equipment
- dynamic operation
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种精简串行总线通信方法及系统,其中方法包括:初始化设置,为从属设备分配动态运行地址;主设备发送读写命令以及所述读写命令访问的传输地址,对从属设备进行数据访问;从属设备接收所述读写命令以及所述传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配;在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读写命令。本发明提供的精简串行总线通信方法及系统,在使用两根数据线的基础上完成了主设备对多个从属设备的寻址访问,解决了传统串行通信系统中多个从属设备的访问需要多个片选信号的问题,降低了系统传输成本及功耗。
Description
技术领域
本发明涉及数字通信领域,尤其涉及一种精简串行总线通信方法及系统。
背景技术
片上系统(System-on-a-chip,SOC)指的是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。随着数字通信技术的迅速发展,数字通信的速度越来越快,片上系统SOC的功能集成度也越来越高,一个SOC片上系统的应用涉及到各种周边辅助设备的访问和控制。
在现代简单串行数字通信系统中,总线结构中的主从通信采用众多协议。其中,串行外围设备接口总线(Serial Peripheral interface,SPI)和集成电路总线(Inter-Integrated Circuit,IIC)为代表被广泛应用到各种数字电路的设计之中,主要表现在主设备(Master)对从属设备(Slave)的配置和控制功能。SPI是一种高速的全双工同步的通信总线。它以主从方式工作,这种模式通常有一个主设备和一个或多个从属设备,需要至少4根线,事实上3根也可以,即用于单向传输时的半双工方式。在多个从属设备的系统中,每个从属设备需要独立的使能信号,所以在SPI总线中为了实现对多个从属设备的访问需要更多的片选信号;IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。IIC采用开漏输出(Open-Drain)模式的电路结构,需要上拉电阻才能实现输出高电平。
随着SOC片上系统功能的增多,多从属设备的总线共享的需求越来越高,通信速度越来越快,早期的SPI和IIC设备开始渐渐的显现出其应用的局限性。在SPI总线中为了实现对多个从属设备的访问需要更多的片选信号,对SOC的IO资源是一种考验;而IIC设备由于采用Open-Drain模式的电路结构,先天的局限性导致其传输速度仅有400kbps,并因为必需的上拉电阻引入了过多的功耗,对成本敏感的电子产品来说也带来了一定的成本。所以,传统的串行通信方法及系统已经无法在IO资源和高速传输以及功耗上获得更好的平衡。
发明内容
基于上述问题,本发明提供了一种精简串行总线(Reduced Serial Bus,RSB)通信方法及系统,在使用较少数据线的基础上实现了主设备对多个从属设备的寻址访问,降低了系统传输成本及功耗。
为实现本发明目的而提供的一种精简串行总线通信方法,包括以下步骤:
初始化设置,为从属设备分配动态运行地址;
主设备发送读写命令以及所述读写命令访问的传输地址,对从属设备进行数据访问;
从属设备接收所述读写命令以及所述传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配;
在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读写命令。
在其中一个实施例中,所述为从属设备分配动态运行地址,包括以下步骤:
主设备根据从属设备的固有地址,为每个从属设备分配一个动态运行地址;
主设备将所述动态运行地址发送至从属设备进行记录;
主从传输方向切换;
从属设备接收所述动态运行地址,并向主设备发送接收确认信息;
从主传输方向切换。
在其中一个实施例中,所述从属设备接收读写命令以及传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配之后,还包括以下步骤:
若判断接收到的所述传输地址与所述从属设备的动态运行地址不匹配,则进入休眠状态,等待下一次数据访问。
在其中一个实施例中,所述读写命令包括读命令;
所述在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读命令,包括以下步骤:
主从传输方向切换;
从属设备根据主设备发送的所述读命令,向主设备发送要读取的数据;
从主传输方向切换;
主设备接收所述从属设备发送的所述要读取的数据,结束数据读操作。
在其中一个实施例中,所述读写命令还包括写命令;
所述在判断接收到的所述设备存储地址与所述从属设备的动态运行地址相匹配后,识别所述传输地址并执行所述写命令,包括以下步骤:
主设备发送要写入的数据;
主从传输方向切换;
从属设备接收所述要写入的数据,并向主设备发送传输结果确认信息;
从主传输方向切换;
主设备接收所述传输结果确认信息,结束数据写操作。
相应地,本发明还提供了一种精简串行总线通信系统,包括主设备和从属设备,还包括初始化模块、数据传输模块、地址匹配模块以及执行模块,其中:
所述初始化模块,用于初始化设置,为从属设备分配动态运行地址;
所述数据传输模块,设置于所述主设备中,用于发送读写命令以及所述读写命令访问的传输地址,对从属设备进行数据访问;
所述地址匹配模块,设置于所述从属设备中,用于接收所述读写命令以及所述传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配;
所述执行模块,用于在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读写命令。
在其中一个实施例中,所述初始化模块包括动态地址分配单元、动态地址发送单元、第一切换单元、动态地址接收单元以及第二切换单元,其中:
所述动态地址分配单元,设置于主设备中,用于根据从属设备的固有地址,为每个从属设备分配一个动态运行地址;
所述动态地址发送单元,设置于主设备中,用于将所述动态运行地址发送至从属设备进行记录;
所述第一切换单元,用于进行主从传输方向切换;
所述动态地址接收单元,设置于从属设备中,用于接收所述动态运行地址,并向主设备发送接收确认信息;
所述第二切换单元,用于进行从主传输方向切换。
在其中一个实施例中,所述地址匹配模块包括判断子模块;
所述判断子模块,用于在判断接收到的所述传输地址与所述从属设备的动态运行地址不匹配后,使所述从属设备进入休眠状态,等待下一次数据访问。
在其中一个实施例中,所述读写命令包括读命令;
所述执行模块包括第三切换单元、第一发送单元、第四切换单元以及第一接收单元,其中:
所述第三切换单元,用于进行主从传输方向切换;
所述第一发送单元,设置于从属设备中,用于根据主设备发送的所述读命令,向主设备发送要读取的数据;
所述第四切换单元,用于进行从主传输方向切换;
所述第一接收单元,设置于主设备中,用于接收所述从属设备发送的所述要读取的数据,结束数据读操作。
在其中一个实施例中,所述读写命令还包括写命令;
所述执行模块还包括第二发送单元、第五切换单元、确认单元、第六切换单元以及第二接收单元,其中:
所述第二发送单元,设置于主设备中,用于向从属设备发送要写入的数据;
所述第五切换单元,用于进行主从传输方向切换;
所述确认单元,设置于从属设备中,用于接收所述要写入的数据,并向主设备发送传输结果确认信息;
所述第六切换单元,用于进行从主传输方向切换;
所述第二接收单元,设置于主设备中,用于接收所述从属设备发送的传输结果确认信息,结束数据写操作。
本发明的有益效果:本发明提供的精简串行总线通信方法及系统,通过初始化阶段的动态地址分配为从属设备分配动态运行地址,发送读写命令进行传输动作匹配,最终实现了在使用两根数据线的基础上完成主设备对多个从属设备的寻址访问,解决了传统串行通信系统中多个从属设备的访问需要多个片选信号的问题,降低了系统传输成本及功耗。
附图说明
图1为本发明精简串行总线通信方法的一个实施例的流程示意图;
图2为图1所示的本发明精简串行总线通信方法中的为从属设备分配动态运行地址的流程示意图;
图3为图1所示的本发明精简串行总线通信方法中的在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读命令的流程示意图;
图4为图1所示的本发明精简串行总线通信方法中的在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述写命令的流程示意图;
图5为本发明精简串行总线通信系统的一个实施例的结构示意图;
图6为图5所示的本发明精简串行总线通信系统中的初始化模块结构示意图;
图7为图5所示的本发明精简串行总线通信系统中的执行模块结构示意图;
图8为图5所示的本发明精简串行总线通信系统中的执行模块的另一结构示意图;
图9为图5所示的本发明精简串行总线通信系统的一个实施例的总线结构示意图;
图10为本发明精简串行总线通信方法及系统中所采用的基本传输协议示意图;
图11为本发明精简串行总线通信方法及系统中的主从、从主传输方向切换示意图;
图12为图10所示的本发明精简串行总线通信方法及系统中所采用的基本传输协议中起始位和校验位的示意图。
具体实施方式
下面结合说明书附图,对本发明实施例中的精简串行总线通信方法及系统的具体实施方式进行说明。
本发明实施例提供了一种精简串行总线通信方法,如图1所示,包括以下步骤:
S100,初始化设置,为从属设备分配动态运行地址;
需要说明的是,在本发明实施例提供的精简串行总线通信方法中,设计从属设备时,需要为从属设备设置一个固有地址。本发明实施例中的该固有地址由标准的CRC(15,7)码生成,并固化到从属设备中。当主设备对该从属设备做初始化操作时,首先要根据该固有地址为其分配一个动态运行地址。
举例说明,如图10所示:主设备根据从属设备的固有地址SADDR202动态的为其分配一个CRC(7,4)码作为传输过程中的动态运行地址RTSADDR203。使用CRC(15,7)码分配从属设备的固有地址,该码码距为5,生成多项式为G(X)=X8+X7+X6+X4+1;使用CRC(7,4)码分配从属设备的动态运行地址,该码码距为3,生成多项式为G(X)=X3+X+1。
S200,主设备发送读写命令以及所述读写命令访问的传输地址,对从属设备进行数据访问;
在读写数据的访问中,主设备发送读写命令以及所述读写命令访问的传输地址来进行多个从属设备的访问控制。
作为一种可实施方式,本发明实施例中的读写命令及地址配置命令均从CRC(7,4)码中指定,读命令为0x45,0x4E,0x53,写命令为0x27,0x2C,0x31。
S300,从属设备接收所述读写命令以及所述传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配;
作为一种可实施方式,如图12所示,主设备通过Start信号401来通知各从属设备传输开始。该信号为唯一特殊信号,任何从属设备在收到此信号时无条件进入地址匹配状态。
S400,在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读写命令。
从属设备根据主设备为其分配的动态运行地址RTSADDR来进行传输匹配,以识别当前主设备是否访问其存储空间。如果是,从属设备识别主设备需要访问的存储地址并根据命令信息接收或者发送相关的数据到主设备端,与主设备配合实现一主多从的总线结构。
本发明实施例所提供的精简串行总线通信方法,其实质是主设备采用对从属设备寻址的方式来选择要操作的从属设备以及要读写的地址空间,在使用较少数据线的基础上实现了对多个从属设备的寻址访问,解决了传统串行通信系统中多个从属设备的访问需要多个片选信号的问题,降低了系统传输成本及功耗。
如图9所示,主设备101使用信号线CK102和CD103来实现对从属设备104,从属设备105以及从属设备106等多个从属设备的访问控制。
较佳地,作为一种可实施方式,本发明实施例还提供了一种采用信号线CK102和CD103构成的总线结构,如图9所示。所述总线上最多可以容纳14个从属设备,IO资源丰富。
较佳地,作为一种可实施方式,所述精简串行总线通信方法的电路结构采用推免输出(Push-Pull)结构,无需上拉电阻,功耗低,传输速度快。
使用优异的PUSH-PULL电路结构将传输速度大大提升,由400Kbps提升至20Mbps以上,去除了传统电路中必要的上拉电阻,在减少成本的基础上还大大降低了传输功耗。
需要说明的是,本发明实施例所述的推免输出(Push-Pull)结构,为现有技术,此处不再详细说明。
较佳地,作为一种可实施方式,所述为从属设备分配动态运行地址,如图2所示,包括以下步骤:
S110,主设备根据从属设备的固有地址,为每个从属设备分配一个动态运行地址;
如图10所示,从属设备的固有地址由标准的CRC(15,7)码生成,并固化到从属设备中。主设备发送0x74命令201为从属设备分配运行地址,该0x74命令201同样由CRC(7,4)码生成,以保持传输的安全距离,然后发送选择的从属设备固有地址SADDR202通知所选从属设备接收随后发出的动态运行地址RTSADDR,在此阶段未匹配上的从属设备将进入休眠模式以等待下一次传输。
S120,主设备将所述动态运行地址发送至从属设备进行记录;
主设备发送从属设备的动态运行地址RTSADDR203,被选中的从属设备记录此地址以便后面的传输使用。
S130,主从传输方向切换;
主设备和从属设备进行一次CD103信号线上的传输方向切换动作HD204,将CD103信号的控制权交给从属设备。
S140,从属设备接收所述动态运行地址,并向主设备发送接收确认信息;
从属设备为了通知主设备其已收到该动态运行地址RTSADDR地址,其需要向主设备发送一个确认信息ACK205。
S150,从主传输方向切换。
在成功发送完毕确认信息之后,进行一次CD103信号上的传输方向切换DH206以将CD103信号的控制权交给主设备。这样就完成了初始化阶段的动态地址分配操作。接下来,从属设备将使用此过程中的动态运行地址RTSADDR203来进行传输地址匹配。
较佳地,作为一种可实施方式,所述从属设备接收读写命令以及传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配之后,还包括以下步骤:
S310,若判断接收到的所述传输地址与所述从属设备的动态运行地址不匹配,则进入休眠状态,等待下一次数据访问。
较佳地,作为一种可实施方式,所述读写命令包括读命令。
较佳地,作为一种可实施方式,所述从属设备在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读命令,如图3所示,包括以下步骤:
S410,主从传输方向切换;
S411,从属设备根据主设备发送的所述读命令,向主设备发送要读取的数据;
S412,从主传输方向切换;
S413,主设备接收所述从属设备发送的所述要读取的数据,结束数据读操作。
如图10所示,在一次完整的读操作过程中,主设备发送有CRC(7,4)码生成的读命令0x45,0x4E,0x53等212通知所有设备当前是一个读操作,该命令由标准的CRC(7,4)码生成以保持传输的安全距离。然后发送所选从属设备的传输地址RTSADDR213来选择要操作的设备,匹配上此地址的从属设备将进入之后的传输阶段,而未匹配此地址的从属设备将再次进入休眠,以等待下一次的传输开始。主设备发送完传输地址RTSADDR213之后发送需要访问的从属设备地址的起始地址DADDR214,然后与从属设备进行CD103信号的方向切换HD动作,然后接收从属设备发出的数据DATA段215,最终再以一次DH操作完成传输,控制权再次交给主设备手中,从而实现一次完整的数据读操作。
较佳地,作为一种可实施方式,所述读写命令还包括写命令。
较佳地,作为一种可实施方式,所述在判断接收到的所述设备存储地址与所述从属设备的动态运行地址相匹配后,识别所述传输地址并执行所述写命令,如图4所示,包括以下步骤:
S420,主设备向从属设备发送要写入的数据;
S421,主从传输方向切换;
S422,从属设备接收所述要写入的数据,并向主设备发送传输结果确认信息;
S423,从主传输方向切换;
S424,主设备接收所述传输结果确认信息,结束数据写操作。
如图10所示,在一次完整的写操作过程中,主设备发送有CRC(7,4)码生成的写命令0x27,0x2C,0x31等命令207通知所有从属设备当前是一个写操作,并发送所选从属设备的传输地址RTSADDR208来选择要操作的设备,匹配上此地址的从属设备将进入之后的传输阶段,而未匹配此地址的从属设备将再次进入休眠,以等待下一次的传输开始。主设备发送完传输地址之后发送需要访问的从属设备地址的起始地址DADDR209,然后根据不同的命令发送不等长度的数据DATA段210。
由于主设备同样需要从属设备做出传输结果的确认,主设备和从属设备需要完成一个HD切换204+确认信号ACK205+DH切换206的组合211,然后总线的控制权交由主设备,从而实现一次完整的数据写操作。
需要说明的是,本发明实施例中使用确认信号ACK机制来作为从属设备对主设备传输的确认信号,加强了正确传输的安全性。
较佳地,作为一种可实施方式,主设备和从属设备在传输中协同完成传输方向切换操作。
如图11所示,为一个CD信号线控制权从主设备方交到从属设备方的一个HD操作的转换示意图,下面对此过程进行详细说明:
图中的clk_do_m为最终传输到CD信号线上的clock时钟波形,在主设备和从属设备方的Data信号线上都会由一个输出使能信号data_oe_x和一个data输出信号data_do_x,信号的后缀m表示主设备,s表示从属设备,即data_oe_m表示主设备的输出使能信号,最终在CD上表现的信号为主设备和从属设备两边data_do的叠加。在主设备传输完最后一个比特LSB到其信号data_do_m上以后进入方向转换周期,此时主设备输出高电平并保持到一个半周期时间处,在进入HD转换周期的一个周期后,从属设备开启输出使能并输出高电平,这样在此后的半个周期内主设备和从属设备同时往CD信号线上输出高电平,达到电平一致;当进入HD转换周期的一个半周期之后,主设备停止输出信号,并将其信号输出使能data_oe_m拉低。设备在输出一个周期的高电平之后整个HD转换周期结束,从下一个周期开始,设备开始输出其数据的第一个比特MSB或者ACK信号。这样就完成了一次主设备到从属设备方向切换的整个过程。从属设备到主设备的切换过程基本类似。
较佳地,作为一种可实施方式,数据传输过程中使用奇偶校验中的偶校验C402。如图12所示,以增加传输过程的安全性。
基于同一发明构思,本发明实施例还提供了一种精简串行总线通信系统,包括主设备和从属设备,还包括初始化模块1、数据传输模块2、地址匹配模块3以及执行模块4,如图5所示,其中:
所述初始化模块1,用于初始化设置,为从属设备分配动态运行地址;
需要说明的是,在本发明实施例提供的精简串行总线通信系统中,设计从属设备时,需要为从属设备设置一个固有地址。本发明实施例中的该固有地址由标准的CRC(15,7)码生成,并固化到从属设备中。当主设备对该从属设备做初始化设置时,首先要根据该固有地址为其分配一个动态运行地址。
举例说明,如图10所示:主设备通过初始化模块根据从属设备的固有地址SADDR202动态的为其分配一个CRC(7,4)码作为传输过程中的动态运行地址RTSADDR203。使用CRC(15,7)码分配从属设备的固有地址,该码码距为5,生成多项式为G(X)=X8+X7+X6+X4+1;使用CRC(7,4)码分配从属设备的动态运行地址,该码码距为3,生成多项式为G(X)=X3+X+1。
所述数据传输模块2,设置于主设备中,用于发送读写命令以及所述读写命令访问的传输地址,对从属设备进行数据访问;
在读写数据的访问中,主设备通过数据传输模块发送读写命令以及所述读写命令访问的传输地址来进行多个从属设备的访问控制。
作为一种可实施方式,本发明实施例中的读写命令及地址配置命令均从CRC(7,4)码中指定,读命令为0x45,0x4E,0x53,写命令为0x27,0x2C,0x31。
所述地址匹配模块3,设置于从属设备中,用于接收所述读写命令以及所述传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配。
作为一种可实施方式,如图12所示,主设备通过Start信号401来通知各从属设备传输开始。该信号为唯一特殊信号,任何从属设备在收到此信号时无条件进入地址匹配状态。
所述执行模块4,用于在所述从属设备判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读写命令。
从属设备根据主设备为其分配的动态运行地址RTSADDR来进行传输匹配,以识别当前主设备是否访问其存储空间。如果是,从属设备的执行模块识别主设备需要访问的存储地址并根据命令信息接收或者发送相关的数据到主设备端,从而实现一主多从的总线结构。如图9所示,主设备101使用信号线CK102和CD103来实现对从属设备104,从属设备105以及从属设备106等多个从属设备的访问控制。
本发明实施例所提供的精简串行总线通信系统,其实质是主设备采用对从属设备寻址的方式来选择要操作的从属设备以及要读写的地址空间,在使用较少数据线的基础上实现了对多个从属设备的寻址访问,解决了传统串行通信系统中多个从属设备的访问需要多个片选信号的问题,降低了系统传输成本及功耗。
较佳地,作为一种可实施方式,本发明实施例还提供了一种采用信号线CK102和CD103构成的总线结构,如图9所示。所述总线上最多可以容纳14个从属设备,IO资源丰富。
较佳地,作为一种可实施方式,所述精简串行总线通信系统的电路结构采用推免输出(Push-Pull)结构,无需上拉电阻,功耗低,传输速度快。
使用优异的Push-Pull电路结构将传输速度大大提升,由400Kbps提升至20Mbps以上,去除了传统电路中必要的上拉电阻,在减少成本的基础上还大大降低了传输功耗。
需要说明的是,本发明实施例所述的推免输出结构,为现有技术,此处不再详细说明。
较佳地,作为一种可实施方式,所述初始化模块1包括动态地址分配单元11、动态地址发送单元12、第一切换单元13、动态地址接收单元14以及第二切换单元15,如图6所示,其中:
所述动态地址分配单元11,设置于主设备中,用于根据从属设备的固有地址,为每个从属设备分配一个动态运行地址。
如图10所示,从属设备的固有地址由标准的CRC(15,7)码生成,并固化到从属设备中。主设备发送0x74命令201为从属设备分配运行地址,该0x74命令201同样由CRC(7,4)码生成,以保持传输的安全距离,然后发送选择的从属设备固有地址SADDR202通知所选从属设备接收随后发出的动态运行地址RTSADDR,在此阶段未匹配上的从属设备将进入休眠模式以等待下一次传输。
所述动态地址发送单元12,设置于主设备中,用于将所述动态运行地址发送至从属设备进行记录;
主设备发送从属设备的动态运行地址RTSADDR203,被选中的从属设备记录此地址以便后面的传输使用。
所述第一切换单元13,用于在所述动态地址发送单元将所述动态运行地址发送至从属设备进行记录后,进行主从传输方向切换;
主设备和从属设备进行一次CD103信号线上的传输方向切换动作HD204,将CD103信号的控制权交给从属设备。
所述动态地址接收单元14,设置于从属设备中,用于接收所述动态运行地址,并向主设备发送接收确认信息;
从属设备为了通知主设备其已收到该动态运行地址RTSADDR地址,其需要向主设备发送一个确认信息ACK205。
所述第二切换单元15,用于在所述动态地址接收单元接收所述动态运行地址并发送接收确认信息后,进行从主传输方向切换。
在动态地址接收单元接收动态运行地址并发送接收确认信息后,进行一次CD103信号上的传输方向切换DH206以将CD103信号的控制权交给主设备,如图12所示。这样就完成了初始化阶段的动态地址分配操作。接下来,从属设备将使用此过程中的动态运行地址RTSADDR203来进行传输地址匹配。
较佳地,作为一种可实施方式,所述地址匹配模块3包括判断子模块31;
所述判断子模块31,用于在从属设备判断接收到的所述传输地址与所述从属设备的动态运行地址不匹配后,使所述从属设备进入休眠状态,等待下一次数据访问。
较佳地,作为一种可实施方式,所述读写命令包括读命令,还包括写命令。
较佳地,作为一种可实施方式,所述执行模块4包括第三切换单元411、第一发送单元412、第四切换单元413以及第一接收单元414,如图7所示,其中:
所述第三切换单元411,用于在发送要读取的数据之前,进行主从传输方向切换;
所述第一发送单元412,设置于从属设备中,用于根据主设备发送的所述读命令,向主设备发送要读取的数据;
所述第四切换单元413,用于在接收所述要读取的数据之前,进行从主传输方向切换;
所述第一接收单元414,设置于主设备中,用于接收所述从属设备发送的所述要读取的数据,结束数据读操作。
下面对执行模块进行读操作的过程进行具体说明:
如图10所示,在一次完整的读操作过程中,主设备发送有CRC(7,4)码生成的读命令0x45,0x4E,0x53等212通知所有设备当前是一个读操作,该命令由标准的CRC(7,4)码生成以保持传输的安全距离。然后发送所选从属设备的传输地址RTSADDR213来选择要操作的设备,匹配上此地址的从属设备将进入之后的传输阶段,而未匹配此地址的从属设备将再次进入休眠,以等待下一次的传输开始。主设备发送完传输地址RTSADDR213之后发送需要访问的从属设备地址的起始地址DADDR214,然后与从属设备进行CD103信号的方向切换HD动作,然后接收从属设备发出的数据DATA段215,最终再以一次DH操作完成传输,控制权再次交给主设备,从而实现一次完整的数据读操作。
较佳地,作为一种可实施方式,所述执行模块4还包括第二发送单元421、第五切换单元422、确认单元423、第六切换单元424以及第二接收单元425,如图8所示,其中:
所述第二发送单元421,设置于主设备中,用于向从属设备发送要写入的数据;
所述第五切换单元422,用于在所述第二发送单元发送要写入的数据后,进行主从传输方向切换;
所述确认单元423,设置于从属设备中,用于接收所述要写入的数据,并向主设备发送传输结果确认信息;
所述第六切换单元424,用于在所述确认单元接收所述写入的数据,并发送传输结果确认信息后,进行从主传输方向切换;
所述第二接收单元425,设置于主设备中,用于接收所述传输结果确认信息,结束数据写操作。
下面对执行模块进行写操作的过程进行具体说明:
如图10所示,在一次完整的写操作过程中,主设备发送有CRC(7,4)码生成的写命令0x27,0x2C,0x31等命令207通知所有从属设备当前是一个写操作,并发送所选从属设备的传输地址RTSADDR208来选择要操作的设备,匹配上此地址的从属设备将进入之后的传输阶段,而未匹配此地址的从属设备将再次进入休眠,以等待下一次的传输开始。主设备发送完传输地址之后发送需要访问的从属设备地址的起始地址DADDR209,然后根据不同的命令发送不等长度的数据DATA段210。
由于主设备同样需要从属设备做出传输结果的确认,主设备和从属设备需要完成一个HD切换204+确认信号ACK205+DH切换206的组合211,然后总线的控制权交由主设备手中,从而实现一次完整的数据写操作。
需要说明的是,本发明实施例中使用确认信号ACK机制来作为从属设备对主设备传输的确认信号,加强了正确传输的安全性。
较佳地,作为一种可实施方式,主设备和从属设备在传输中协同完成传输方向切换操作。
如图11所示,为一个CD信号线控制权从主设备方交到从属设备方的一个HD操作的转换示意图,下面对此过程进行详细说明:
图中的clk_do_m为最终传输到CD信号线上的clock时钟波形,在主设备和从属设备方的Data信号线上都会由一个输出使能信号data_oe_x和一个data输出信号data_do_x,信号的后缀m表示主设备,s表示从属设备,即data_oe_m表示主设备的输出使能信号,最终在CD上表现的信号为主设备和从属设备两边data_do的叠加。在主设备传输完最后一个比特LSB到其信号data_do_m上以后进入方向转换周期,此时主设备输出高电平并保持到一个半周期时间处,在进入HD转换周期的一个周期后,从属设备开启输出使能并输出高电平,这样在此后的半个周期内主设备和从属设备同时往CD信号线上输出高电平,达到电平一致;当进入HD转换周期的一个半周期之后,主设备停止输出信号,并将其信号输出使能data_oe_m拉低。设备在输出一个周期的高电平之后整个HD转换周期结束,从下一个周期开始,设备开始输出其数据的第一个比特MSB或者ACK信号。这样就完成了一次主设备到从属设备方向切换的整个过程。从属设备到主设备的切换过程基本类似。
较佳地,作为一种可实施方式,数据传输过程中使用奇偶校验中的偶校验C402。如图12所示,以增加传输过程的安全性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种精简串行总线通信方法,其特征在于,包括以下步骤:
初始化设置,为从属设备分配动态运行地址;
主设备发送读写命令以及所述读写命令访问的传输地址,对从属设备进行数据访问;
从属设备接收所述读写命令以及所述传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配;
在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读写命令;
其中,所述为从属设备分配动态运行地址,包括以下步骤:
主设备根据从属设备的固有地址,为每个从属设备分配一个动态运行地址;
主设备将所述动态运行地址发送至从属设备进行记录;
主从传输方向切换;
从属设备接收所述动态运行地址,并向主设备发送接收确认信息;
从主传输方向切换。
2.根据权利要求1所述的精简串行总线通信方法,其特征在于,所述从属设备接收读写命令以及传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配之后,还包括以下步骤:
若判断接收到的所述传输地址与所述从属设备的动态运行地址不匹配,则进入休眠状态,等待下一次数据访问。
3.根据权利要求1所述的精简串行总线通信方法,其特征在于,所述读写命令包括读命令;
所述在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读命令,包括以下步骤:
主从传输方向切换;
从属设备根据主设备发送的所述读命令,向主设备发送要读取的数据;
从主传输方向切换;
主设备接收所述从属设备发送的所述要读取的数据,结束数据读操作。
4.根据权利要求3所述的精简串行总线通信方法,其特征在于,所述读写命令还包括写命令;
所述在判断接收到的所述设备存储地址与所述从属设备的动态运行地址相匹配后,识别所述传输地址并执行所述写命令,包括以下步骤:
主设备向从属设备发送要写入的数据;
主从传输方向切换;
从属设备接收所述要写入的数据,并向主设备发送传输结果确认信息;
从主传输方向切换;
主设备接收所述传输结果确认信息,结束数据写操作。
5.一种精简串行总线通信系统,包括主设备和从属设备,其特征在于,还包括初始化模块、数据传输模块、地址匹配模块以及执行模块,其中:
所述初始化模块,用于初始化设置,为从属设备分配动态运行地址;
所述数据传输模块,设置于所述主设备中,用于发送读写命令以及所述读写命令访问的传输地址,对从属设备进行数据访问;
所述地址匹配模块,设置于所述从属设备中,用于接收所述读写命令以及所述传输地址,进行地址匹配,判断当前接收到的所述传输地址是否与从属设备的所述动态运行地址相匹配;
所述执行模块,用于在判断接收到的所述传输地址与从属设备的所述动态运行地址相匹配后,识别所述传输地址并执行所述读写命令;
其中,所述初始化模块包括动态地址分配单元、动态地址发送单元、第一切换单元、动态地址接收单元以及第二切换单元,其中:
所述动态地址分配单元,设置于主设备中,用于根据从属设备的固有地址,为每个从属设备分配一个动态运行地址;
所述动态地址发送单元,设置于主设备中,用于将所述动态运行地址发送至从属设备进行记录;
所述第一切换单元,用于在所述动态地址发送单元将所述动态运行地址发送至从属设备进行记录后,进行主从传输方向切换;
所述动态地址接收单元,设置于从属设备中,用于接收所述动态运行地址,并向主设备发送接收确认信息;
所述第二切换单元,用于在所述动态地址接收单元接收所述动态运行地址并发送接收确认信息后,进行从主传输方向切换。
6.根据权利要求5所述的精简串行总线通信系统,其特征在于,所述地址匹配模块包括判断子模块;
所述判断子模块,用于在判断接收到的所述传输地址与所述从属设备的动态运行地址不匹配后,使所述从属设备进入休眠状态,等待下一次数据访问。
7.根据权利要求5所述的精简串行总线通信系统,其特征在于,所述读写命令包括读命令;
所述执行模块包括第三切换单元、第一发送单元、第四切换单元以及第一接收单元,其中:
所述第三切换单元,用于进行主从传输方向切换;
所述第一发送单元,设置于从属设备中,用于根据主设备发送的所述读命令,向主设备发送要读取的数据;
所述第四切换单元,用于进行从主传输方向切换;
所述第一接收单元,设置于主设备中,用于接收所述从属设备发送的所述要读取的数据,结束数据读操作。
8.根据权利要求7所述的精简串行总线通信系统,其特征在于,所述读写命令还包括写命令;
所述执行模块还包括第二发送单元、第五切换单元、确认单元、第六切换单元以及第二接收单元,其中:
所述第二发送单元,设置于主设备中,用于向从属设备发送要写入的数据;所述第五切换单元,用于进行主从传输方向切换;
所述确认单元,设置于从属设备中,用于接收所述要写入的数据,并向主设备发送传输结果确认信息;
所述第六切换单元,用于进行从主传输方向切换;
所述第二接收单元,设置于主设备中,用于接收所述传输结果确认信息,结束数据写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310160642.3A CN104133792B (zh) | 2013-05-03 | 2013-05-03 | 精简串行总线通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310160642.3A CN104133792B (zh) | 2013-05-03 | 2013-05-03 | 精简串行总线通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104133792A CN104133792A (zh) | 2014-11-05 |
CN104133792B true CN104133792B (zh) | 2017-02-15 |
Family
ID=51806472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310160642.3A Active CN104133792B (zh) | 2013-05-03 | 2013-05-03 | 精简串行总线通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104133792B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371345A (zh) * | 2015-07-21 | 2017-02-01 | 钜泉光电科技(上海)股份有限公司 | 一种多芯片uart片选系统及方法 |
CN107562666B (zh) * | 2017-09-26 | 2020-10-23 | 威创集团股份有限公司 | 基于spi总线的设备间通信的方法、系统及相关装置 |
CN110086595A (zh) * | 2019-04-16 | 2019-08-02 | 北京探境科技有限公司 | 同步总线通信方法 |
CN113392057B (zh) * | 2021-06-11 | 2023-03-14 | 环荣电子(惠州)有限公司 | 整合多个地址于单一通道的数据通信方法及其系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561967A (zh) * | 2008-04-18 | 2009-10-21 | 哈尔滨工业大学 | 应用串行通信接口标准实现的电机故障检测系统通信方法 |
CN102354305A (zh) * | 2011-09-27 | 2012-02-15 | 青岛海信电器股份有限公司 | 设备间串行通信系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4834294B2 (ja) * | 2004-01-07 | 2011-12-14 | 日立オートモティブシステムズ株式会社 | データ通信装置及びそれを用いたコントローラ |
JP2012064021A (ja) * | 2010-09-16 | 2012-03-29 | Ricoh Co Ltd | 通信システム、マスター装置、及びスレーブ装置、並びに通信方法 |
-
2013
- 2013-05-03 CN CN201310160642.3A patent/CN104133792B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561967A (zh) * | 2008-04-18 | 2009-10-21 | 哈尔滨工业大学 | 应用串行通信接口标准实现的电机故障检测系统通信方法 |
CN102354305A (zh) * | 2011-09-27 | 2012-02-15 | 青岛海信电器股份有限公司 | 设备间串行通信系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104133792A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101725536B1 (ko) | Pcie 프로토콜 스택을 이용하는 저전력 phy의 동작을 위한 디바이스, 방법 및 시스템 | |
CN208985152U (zh) | 通信系统 | |
CN106462516A (zh) | 由多协议设备共享的可动态地调节的多线总线 | |
CN101876958B (zh) | 通用序列总线输入输出端口传送器及其传送方法 | |
CN106415518A (zh) | 具有带内中断的相机控制接口扩展 | |
US7353315B2 (en) | Bus controller with virtual bridge | |
CN104133792B (zh) | 精简串行总线通信方法及系统 | |
CN101911000A (zh) | 用于连接电子装置的控制总线 | |
JP2005228311A (ja) | 開放形コアプロトコルを基盤とするバスシステム | |
CN102263698B (zh) | 虚拟通道的建立方法、数据传输的方法及线卡 | |
KR101679333B1 (ko) | 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템 | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
TWI299450B (en) | A multi mode host and device having multiple communication protocols, a single mode device, and methods of initializing the host or device using an electrical receptacle or plug in order to perform data communications | |
WO2024183455A1 (zh) | 单总线系统的通信方法 | |
CN206788871U (zh) | 通信装置和家电设备 | |
US6804263B1 (en) | Controlling the state of a node connected to a bus during the self identification phase of bus arbitration | |
CN104346310B (zh) | 一种高性能i2c从机数据交换电路及方法 | |
US8510485B2 (en) | Low power digital interface | |
CN107870884A (zh) | 数据传输器件以及无线通信电路 | |
US20120191943A1 (en) | Dynamic protocol for communicating command and address information | |
WO2005083577A2 (en) | Integrated circuit with two different bus control units | |
CN101132411A (zh) | 桥接口电路 | |
CN201820120U (zh) | 自适应多总线执行机构控制器 | |
CN107918593A (zh) | 近端一对多串行总线的拓展接口电路以及通信方法 | |
CN104978294A (zh) | 串行外设接口的兼容设备、串行外设接口及主机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180528 Address after: 519000 No. 9 science and technology two road, Tangjia Bay, Zhuhai high tech Zone, Guangdong Patentee after: Zhuhai Miao deposit Technology Co., Ltd. Address before: 519080 1 production and processing center, No. 1 Software Park Road, Zhuhai, Guangdong, four floor, 1 units. Patentee before: Zhuhai Allwinner Technology Co., Ltd. |