CN101873299A - 串行总线和通信方法及系统 - Google Patents

串行总线和通信方法及系统 Download PDF

Info

Publication number
CN101873299A
CN101873299A CN200910082565A CN200910082565A CN101873299A CN 101873299 A CN101873299 A CN 101873299A CN 200910082565 A CN200910082565 A CN 200910082565A CN 200910082565 A CN200910082565 A CN 200910082565A CN 101873299 A CN101873299 A CN 101873299A
Authority
CN
China
Prior art keywords
data
layer
link layer
serial bus
opposite end
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
Application number
CN200910082565A
Other languages
English (en)
Other versions
CN101873299B (zh
Inventor
魏忠慈
谭延磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING XINGDAHAO TECHNOLOGY DEVELOPMENT Co Ltd
Original Assignee
BEIJING XINGDAHAO TECHNOLOGY DEVELOPMENT Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING XINGDAHAO TECHNOLOGY DEVELOPMENT Co Ltd filed Critical BEIJING XINGDAHAO TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN 200910082565 priority Critical patent/CN101873299B/zh
Publication of CN101873299A publication Critical patent/CN101873299A/zh
Application granted granted Critical
Publication of CN101873299B publication Critical patent/CN101873299B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明涉及一种串行总线和通信方法及系统。其中,上述串行总线包括位于发送端和接收端的两个系统芯片SOC,且所述两个系统芯片SOC通过物理层连接;其中,交互层、数据层、逻辑层和链路层集成在所述系统芯片SOC上,以提高数据传输的效率和可靠性。上述串行总线和通信方法及系统,通过链路层对校验码信息的校验过程,提高了数据传输的可靠性;同时,通过数据层中的发送缓存和接收缓存来存储数据,且数据的吞吐量可通过芯片资源进行配置,提高了数据传输的效率;通过物理层的信道设计提高了数据传输的距离和效率。

Description

串行总线和通信方法及系统
技术领域
本发明实施例涉及计算机技术,特别涉及一种串行总线和通信方法及系统。
背景技术
随着自动控制技术的快速发展,人们对自动控制设备的性能要求有了进一步的提高。针对目前一些自动控制设备中,用于人机交互的部分和直接参与控制的部分,对实时性、稳定性的要求往往有较大差别,从系统角度考虑,无论从设计、制造、维护还是成本等方面,人机交互部分和实时控制部分,也往往需要有所区分。为了能将这两部分高效地集成在系统中,就必须解决它们之间的连接问题。而目前常用的解决方式是采用控制器局域网络(Controller Area Network,CAN)。
CAN是国际标准化的串行通信协议,属于工业现场总线的范畴。CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据;CAN协议废除了站地址编码,而代之以对通信数据进行编码,因而使不同的节点可同时接收到相同的数据;另外,CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,其中CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。
CAN总线技术虽然应用广泛,但在实际应用中却存在如下缺陷:1.CAN总线链路层帧协议用编码较多,且载波频率最大为1Mhz,所以链路层传输数据带宽理论上不会大于1Mbit/s,实际应用中受环境限制,传输速度小于200Kbit/s。2.各类CAN总线控制器通常都配置邮箱,但是邮箱的容量很小,通常只有几十个字节。当通讯量较大时,邮箱刷新的频率会很高,由此CAN控制器占用总线的频率也会较高,从而导致系统性能下降。3.5.CAN总线有专用设备可以进行测绘,报文易被盗取,系统可靠性低。
发明内容
本发明实施例提供一种串行总线和通信方法及系统,以提高数据传输的效率和可靠性。
本发明实施例提供了一种串行总线,该串行总线包括位于发送端和接收端的两个系统芯片SOC,且所述两个系统芯片SOC通过物理层连接;其中,交互层、数据层、逻辑层和链路层集成在所述系统芯片SOC上,以提高数据传输的效率和可靠性。
本发明实施例提供了一种通信方法,该通信方法包括:
通过交互层对发送端或接收端的CPU与各自对应的系统芯片SOC进行数据交互;
利用数据层对通过所述交互层获得的来自发送端的发送数据和获得的来自接收端的接收数据进行存储管理;
利用逻辑层发送从所述数据层中获取的数据或将接收的数据保存在所述数据层;
利用链路层接收来自所述逻辑层的数据,并对所述数据验证通过后,通过所述物理层发送到对端的链路层;或,将接收的来自对端链路层的数据发送至所述逻辑层。
本发明实施例提供了一种通信系统,该通信系统包括上述串行总线,还包括:
发送端,用于通过所述串行总线的交互层与一个系统芯片SOC进数据交互;
接收端,用于通过所述串行总线的交互层与另一个系统芯片SOC进行数据交互。
上述串行总线和通信方法及系统,通过将交互层、数据层、逻辑层和链路层集成在SOC芯片上,且两个SOC芯片之间通过物理层连接,提高了数据传输的效率和可靠性。
附图说明
图1为本发明串行总线实施例一的结构示意图;
图2为本发明串行总线实施例二的结构示意图;
图3为本发明链路层收发数据实施例的过程示意图;
图4为本发明发送端发送数据过程中使用的命令、数据和状态的示意图;
图5为本发明接收端接收数据过程中使用的命令、数据和状态的示意图;
图6为本发明链路层采用的消息生命周期示意图;
图7为本发明应用串行总线进行通信方法实施例的流程图;
图8为本发明通信系统实施例的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,为本发明串行总线实施例一的结构示意图,该串行总线包括:位于发送端和接收端的两个系统芯片SOC,且上述两个系统芯片SOC通过物理层连接;其中,交互层、数据层、逻辑层和链路层集成在上述系统芯片SOC上,以提高数据传输的效率和可靠性。假设发送端的系统芯片SOC1和接收端的系统芯片SOC2通过物理层3相连;且发送端的系统芯片SOC1上集成有交互层11、数据层12、逻辑层13和链路层14,接收端的系统芯片SOC2上集成有交互层21、数据层22、逻辑层23和链路层24。
上述发送端和接收端的SOC芯片都具有发送和接收数据的功能,下面针对发送端的SOC芯片来说明其如何实现数据收发功能:上述交互层,用于对发送端或接收端的CPU与各自对应的系统芯片SOC进行数据交互;上述数据层,用于对通过上述交互层获得的来自发送端的发送数据和获得的来自接收端的接收数据进行存储管理;上述逻辑层,用于发送从上述数据层中获取的数据或将接收的数据保存在上述数据层;上述链路层,用于接收来自上述逻辑层的数据,并对上述数据验证通过后,通过上述物理层发送到对端的链路层;或,将接收的来自对端链路层的数据发送至上述逻辑层。且由于上述交互层、数据层、逻辑层和链路层之间的交互过程、采用数据层缓存收发的数据及链路层对收发数据的验证,较好地保证了数据传输的效率和可靠性。
具体地,上述交互层实现了SOC芯片与其对应的CPU间的数据交换,且支持CPU对SOC芯片的读和写操作。同时,根据选用的CPU特性,交互层可以进行总线配置,例如支持数据、地址分离的总线模式,或数据和地址复用的总线模式;并且可以对总线带宽进行配置,如8bit、16bit、32bit等。当发送端CPU_A向接收端CPU_B发送数据时,发送端交互层将会从发送端的CPU总线上,获取数据,并存放到发送端数据层中。该交互层,在CPU_A向发送端SOC芯片写入数据前,会主动告知CPU_A,发送端数据层用于接收发送数据的缓存是否有空闲容量;CPU_A也只有获知,发送缓存有空闲容量时,才会向发送端SOC芯片写入数据,且数据量小于被告知的存储容量。交互层对发送端数据层用于发送数据的缓存容量进行实时监控,并告知发送端CPU。当发送端CPU_A接收接收端CPU_B发送的数据时,发送端交互层将告知CPU_A有数据已经传输到本地,当CPU_A对发送端SOC芯片进行读操作时,交互层从发送端数据层接收数缓存中获取数据,供发送端的CPU读取;交互层也会实时告知发送端CPU,发送端数据层接收缓存是否为空。总之,交互层负责发送端或接收端CPU与SOC芯片的数据交换,并告知CPU发送端数据层接收或发送缓存的容量信息。另外,交互层对CPU总线的占用,完全是被动的,即只有CPU主动访问SOC芯片时,交互层才获得CPU总线的使用权。
上述数据层对发送端向接收端发送的数据和发送端接收到接收端发送来的数据进行存储管理,并与交互层、逻辑层均存在双向交互关系。数据层包括接收缓存和发送缓存两大存储区。当交互层对发送端数据层写入数据时,数据层中发送缓存的剩余容量也随之变化。当发送缓存中的数据被成功发送到接收端时,发送缓存将释放这部分数据原先所占用的存储空间,释放后的空间容量将归入发送缓存的可用容量,供发送端CPU继续使用。反之,数据没有被成功发送到接收端,数据层发送缓存对应的这部分数据所占用的空间容量,将不会被释放。当数据层接收缓存中来自接收端的数据确认正确后,发送端接收缓存的数据保有量将会增加这部分正确数据所对应的容量,并由发送端交互层,告知发送端CPU有接收端数据需要读取。反之,接收缓存获得的接收端数据确认有误,则这部分接收到的数据所占用的容量,不会归入到发送端接收缓存的有效数据保有量中。另外,数据层的缓存容量和选用SOC芯片的内部RAM大小有关。
上述逻辑层主要作用有两方面:第一,若发送端数据层的发送缓存中有待发送的数据,逻辑层首先记录当前待发送数据在发送缓存中的起始位置,然后从发送缓存中取出待发送数据,并打包存寄存在逻辑层的待发送区,作为待发送帧数据,等待链路层调用。当该待发送帧数据,由链路层成功发送到接收端后,发送端链路层将告知逻辑层,逻辑层将记录该成功发送的帧数据在数据层发送缓存中的结束地址的下一地址,作为后续待发送帧数据的起始位置,并告知发送端数据层释放已成功发送数据对应的发送缓存空间,释放空间的大小由发送端数据层计算。若待发送帧没有成功发送到接收端,逻辑层中待发送区的数据帧不会被清除,相应地逻辑层指向数据层发送缓存的指针位置也不会变化,数据层发送缓存的容量也不会增加。第二,当接收来自接收端的数据时,发送端的数据层负责提供接收缓存空间,发送端逻辑层负责从链路层接收传递过来的数据,并写入发送端数据层的接收缓存中,发送端逻辑层记录数据层接收缓存容量的变化,并检测链路层是否对接收的数据帧通过验证。若链路层验证通过,则逻辑层通知数据层,在接收缓存中的数据有效,并更新逻辑层对于数据层接收缓存的标记指针,该指针指向空闲的存储空间;若链路层验证失败,则逻辑层恢复本帧数据接收前,指向数据层接收缓存的地址指针。另外,发送端逻辑层在允许接收端发送数据帧之前,还要查询发送端数据层的接收缓存是否有足够的存储容量,若容量允许,会经链路层发送允许接收端发送数据帧的许可。总之,逻辑层承担了发送端数据层和链路层的连接作用,解决了链路层需要开辟缓存存储待发送数据和接收数据的问题,同时又减少数据多次周转所带来的延迟,即可以实现接收时边存储数据边进行验证;发送时边发送边从数据层获取数据的功能。
上述链路层主要是为了保证通讯报文正确地提供给交互层,并且实现了发送端和接收端的会话任务。在链路层设置了对消息队列的管理机制,每个消息就是一个事件,消息队列负责对这些事件进行排序,管理机制按照某种规则,响应对应的事件。当消息(或称事件),从被创建到被执行,结束生命周期后,该消息就会被销毁,随之其原先所在消息队列中占有的位置,也将会被释放。虽然链路层是为了给交互层提供可靠报文而存在的,但是链路层只与逻辑层直接交互,借助逻辑层完成数据的发送和存储任务。这是因为,由于应用的需要,链路层的协议可能会发生变化,所以从设计的灵活性考虑,链路层与上层的耦合度要尽量低。
上述物理层负责报文的传输任务。物理层有两个信道,每个信道有一个数据通道和一个同步时钟通道,每通道源端为一对差分信号。若信道载体为光纤,需要对信道源端的差分信号进行转换,并在信道末端进行还原,即还原成差分信号。若信道物理长度在信号失真范围内,可通过配置预加强和均衡器等使信号不失真,也可直接利用差分信号进行传输。为了保证传输速度的上限足够大,物理层信道源端多采用低压差分信号。每个信道均为单向传输信道,同信道数据通道和时钟通道传输方向一致,不同信道传输方向相反。如果采用低压差分信号作为传输媒介,发送端到接收端的物理连接线可以用8芯双绞网线,带屏蔽抗噪性更佳。且,上述串行总线中的物理层设置可以拉长数据传输的距离。
由此可见,上述数据层通过发送缓存存储发送数据;上述逻辑层可以包括:记录模块,用于记录当前待发送数据在发送缓存中的起始位置;获取模块,用于根据上述起始位置从发送缓存中取出待发送数据,并打包寄存在逻辑层的待发送区,作为待发送帧数据,等待上述链路层调用;更新模块,用于在接收到上述链路层发送的上述待发送帧数据发送成功的告知信息后,向上述数据层发送上述告知信息和将上述待发送帧数据在发送缓存中的结束地址的下一地址,更新为后续待发送帧数据的起始位置;且上述数据层包括:释放模块,用于在接收到来自上述更新模块的告知信息后,释放成功发送的帧数据所占的发送缓存的空间。同时,上述数据层通过接收缓存存储接收数据;上述逻辑层还可以包括:查询模块,用于在接收来自对端的数据之前,查询数据层的接收缓存的容量;写入模块,用于在接收缓存容量大于等于来自对端的数据大小时,接收来自上述链路层的数据,并写入数据层的接收缓存中。
另外,上述数据层通过读指针读取待发送的数据,通过写指针写入待接收的数据,并通过读指针和写指针分别更新发送缓存和接收缓存的容量,下面分别对本实施例中采用的读指针和写指针进行定义:
(1)针对数据层发送缓存
读指针_N:定义为Rsp_N。当正向递增且步进长度为1时,表示数据层发送缓存输出一个8bit(根据应用,可定制不同的带宽)数据;当负向递增时,表示通讯出错。
读指针_0:定义为Rsp_0。表示数据层发送缓存输出“一包”数据前,系统对数据层发送缓存读指针-N的备份。
(2)针对数据层接收缓存
写指针_N:定义为Wrp_N。当正向递增且步进长度为1时,表示数据层接收缓存输入一个8bit数据;当负向递增时,表示通讯出错。
写指针_0:定义为Wrp_0。表示数据层接收缓存输入“一包”数据前,系统对数据层接收缓存写指针_N的备份。
为了有效地保证数据传输的可靠性,在发送数据时,上述发送端或接收端的链路层均可以进一步包括:第一命令发送模块41,用于向对端链路层发送指针归零的命令消息;第二命令发送模块42,用于在接收到对端链路层对上述指针归零的命令消息响应的指针归零的状态消息后,向对端链路层发送查询空间的命令消息;数据发送模块43,用于在接收到对端链路层对上述查询空间的命令消息响应的空间足够的状态消息后,在计数小于定时器设置的阈值时,向对端链路层发送数据;在计数达到上述阈值时,激活向对端链路层发送查询校验码的命令消息;第一判断模块44,用于在接收到来自对端链路层对上述查询校验码的命令消息响应的校验码的状态消息后,根据上述校验码状态和本端保存的校验码信息判断校验码是否正确,若校验码不正确,调用第一命令发送模块41;第二判断模块45,用于校验码正确时,判断已发送的数据长度是否达到最大数据包长度;第三命令发送模块46,用于在已发送的数据长度达到最大数据包长度时,向对端链路层发送更新指针命令,并在接收到对端链路层对上述更新指针的命令消息响应的指针更新的状态消息后,调用第二命令发送模块42向对端链路层发送查询空间的命令消息;第一调用模块47,用于在已发送的数据长度未达到最大数据包长度时,调用数据发送模块43,在小于定时器设置的阈值时,向对端链路层发送数据;在达到上述阈值时,激活向对端链路层发送查询校验码的命令消息。为了接收对端的数据,上述链路层还可以进一步包括:第一状态发送模块51,用于对接收的第一命令发送模块41发送的指针归零的命令消息进行响应,并发送指针归零的状态消息;第二状态发送模块52,用于在接收第二命令发送模块42对接收的指针归零的状态消息响应的查询空间的命令消息后,对上述查询空间的命令消息进行响应,并向上述数据发送模块43发送空间足够的状态消息;数据接收模块53,用于接收数据发送模块43对接收的空间足够的状态消息响应后发送的数据;第三状态发送模块54,用于对接收的上述数据发送模块43发送的查询校验码的命令消息进行响应,并发送校验码的状态消息;第二调用模块55,用于对接收的第三命令发送模块46发送的更新指针的命令消息进行响应后,发送指针更新的状态消息。上述链路层的具体结构如图2所示。
利用上述链路层中的消息管理器进行收发数据的过程如图3所示,在该实施例中,发送端向接收端发送一包数据,该过程包括:发送端的第一命令发送模块向接收端的第一状态发送模块发送“指针归零_C”消息,接收端的第一状态发送模块接收该消息,对其进行响应后,发送“指针归零_S”消息;发送端的第二命令发送模块接收该“指针归零_S”消息后,发送“查询空间_C”消息,接收端的第二状态发送模块接收该“查询空间_C”消息后进行响应,并发送“空间足够_S”消息;数据发送模块接收该“空间足够_S”消息后,在计数小于定时器设置的阈值时,发送数据_D;同时,接收端的数据接收模块接收上述数据;在计数达到上述阈值时,激活发送“查询校验码_C”消息,接收端的第三状态发送模块接收该“查询校验码_C”消息后,对其进行响应,并发送“校验码_S”消息;发送端的第一判断模块根据接收的“校验码_S”消息和本端保存的校验码信息判断校验码是否正确,若校验码正确则调用第二判断模块判断发送数据的长度是否达到最大数据包长度,若已达到最大数据包长度,则发送“指针更新_C”消息,接收端的第二调用模块接收该“指针更新_C”消息后,对其进行响应,并发送“指针更新_S”消息,发送端接收该“指针更新_S”消息后,调用第二命令发送模块向接收端发送“查询空间_C”消息,并进行后续操作;若发送数据的长度未达到最大数据包长度,则调用数据发送模块继续发送数据。
其中,上述“_C”表示命令,“_S”表示状态,“_D”表示数据;下面针对本实施例中使用的一些术语进行解释:
命令:信源对信宿操作的命令;指针归零:当复位或通讯出错时,Wrp_N<=Wrp_0;指针更新:当成功完成“一包”通讯时,Wrp_0<=Wrp_N;查询空间:信源询问信宿,是否具有容纳“最大数据包长度”的存储空间,即数据层接收缓存是否还有存储空间;查询校验码:信源询问信宿,本包数据的校验状态;状态:信宿对信源响应的状态;指针归零完:指针归零操作完成;指针更新完:指针更新操作完成;空间足够:信宿具有容纳“最大数据包长度”的存储空间,即数据层接收缓存有足够的存储空间;校验码:信宿传递给信源的校验信息。
另外,在本实施例中消息管理器采用的规则如表1所示:
表1消息管理器采用的规则表
Figure B2009100825658D0000101
上述发送端发送数据过程中使用的命令、状态和数据如图4所示;接收端接收数据过程中使用的命令、状态和数据如图5所示。
另外,发送端向接收端发送数据的同时也可以接收来自接收端的数据,即数据收发过程是并行进行的,为了可以对同时接收到的命令、状态和数据进行有序的操作,在本发明中设置消息(事件)的优先级为:状态消息的优先级最高、命令消息的优先级次之、数据消息的优先级最低。消息从产生到被销毁,在消息管理器中会有标记,用于表示该消息是否有效。消息的生命周期,即事件的生命周期描述如图6所示,该消息的生命周期包括:就绪状态、挂起状态、执行状态、完毕状态和终止状态;其中,消息创建后,具有较高优先级的消息处于就绪状态,具有低优先级的消息处于挂起状态,处于就绪状态的消息完成后续的执行状态、完成状态,直至释放资源,消息销毁;处于执行状态的消息,若遇到具有更高优先级的消息需要执行,则当前正在执行的消息处于挂起状态;当前处于就绪状态或挂起状态的消息若遇到“软复位”等操作时,则需要被强制终止。例如发送端准备发送“查询校验码_C”消息的同时,接收到接收端发送的“校验码_S”消息,由于状态消息的优先级高于命令消息,因而使发送“查询校验码_C”消息被强制终止;又例如发送端开始发送“查询校验码_C”消息的同时,接收到接收端发送的“校验码_S”消息,由于状态消息的优先级高于命令消息,因而使“查询校验码_C”消息由准备执行状态切换至挂起状态,由于上述命令消息和状态消息相匹配,因而“查询校验码_C”消息被强制终止。
上述串行总线,通过将交互层、数据层、逻辑层和链路层集成在SOC芯片上,且两个SOC芯片之间通过物理层连接,由于该物理层有两个方向相反的单向信道,且每个信道都使用低压差分信号作为媒介,提高了数据传输的距离和效率;通过链路层对校验码信息的校验过程,提高了数据传输的可靠性;同时,通过数据层中的发送缓存和接收缓存来存储数据,且数据的吞吐量可通过芯片资源进行配置,提高了数据传输的效率。
如图7所示,为本发明应用串行总线进行通信方法实施例的流程图,该方法包括:
步骤101、通过交互层对发送端或接收端的CPU与各自对应的系统芯片SOC进行数据交互;
步骤102、利用数据层对通过上述交互层获得的来自发送端的发送数据和获得的来自接收端的接收数据进行存储管理;
步骤103、利用逻辑层发送从上述数据层中获取的数据或将接收的数据保存在上述数据层;
步骤104、利用链路层接收来自上述逻辑层的数据,并对上述数据验证通过后,通过上述物理层发送到对端的链路层;或,将接收的来自对端链路层的数据发送至上述逻辑层。
当发送端利用上述数据通信发送方法向接收端发送数据时,首先通过交互层将从发送端的CPU获得的数据写入数据层,同时,通过逻辑层将从数据层中获得的数据写入链路层,并在链路层对该数据进行验证后,若验证通过,则通过物理层将该数据发送至接收端的链路层,同样,接收端的链路层通过逻辑层将数据从链路层发送至数据层,并且接收端的链路层也对接收的数据进行验证,若验证通过则确认数据层中保存的数据有效,进而接收端可以通过交互层从接收端的数据层中读取数据。另外,发送端在向接收端发送数据的同时,也会接收来自接收端的数据;发送端接收来自接收端数据的过程,与上述过程相似,只是将发送端和接收端两个执行主体互换一下。
另外,本实施例中采用的串行总线与本发明串行总线实施例中的串行总线的结构相同,在此不赘述;并且,利用该串行总线中的链路层来保证数据传输的可靠性过程与本发明链路层收发数据实施例的过程相同,在此不赘述;进一步地,利用数据层保存待发送的数据和待接收的数据,从而提高了数据传输的效率;对物理层采用8芯双绞线或光纤,提高了数据传输的距离。
上述通信方法,采用本发明中的串行总线进行数据传输,且通过链路层的验证机制、数据层的保存功能和物理层的信道设计,有效地提高了数据传输的距离和效率,且保证了数据传输的可靠性。
如图8所示,为本发明通信系统实施例的结构示意图,该系统包括上述串行总线100,还包括:发送端200,用于通过上述串行总线100的交互层与一个系统芯片SOC进行数据交互;接收端300,用于通过上述串行总线100的交互层与另一个系统芯片SOC进行数据交互。
其中,该通信系统中的发送端的CUP和接收端的CPU通过串行总线进行数据收发的过程与本发明应用串行总线进行通信方法实施例的过程相同,在此不赘述;且本发明中所采用的串行总线的结构与本发明串行总线实施例的结构相同,在此不赘述。
上述通信系统,采用本发明中的串行总线和本发明中提供的通信方法进行数据传输,且通过链路层的验证机制、数据层的保存功能和物理层的信道设计,有效地提高了数据传输的距离和效率,且保证了数据传输的可靠性。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

Claims (13)

1.一种串行总线,其特征在于包括位于发送端和接收端的两个系统芯片SOC,且所述两个系统芯片SOC通过物理层连接;其中,交互层、数据层、逻辑层和链路层集成在所述系统芯片SOC上,以提高数据传输的效率和可靠性。
2.根据权利要求1所述的串行总线,其特征在于:
所述交互层,用于对发送端或接收端的CPU与各自对应的系统芯片SOC进行数据交互;
所述数据层,用于对通过所述交互层获得的来自发送端的发送数据和获得的来自接收端的接收数据进行存储管理;
所述逻辑层,用于发送从所述数据层中获取的数据或将接收的数据保存在所述数据层;
所述链路层,用于接收来自所述逻辑层的数据,并对所述数据验证通过后,通过所述物理层发送到对端的链路层;或,将接收的来自对端链路层的数据发送至所述逻辑层。
3.根据权利要求2所述的串行总线,其特征在于所述数据层通过发送缓存存储发送数据;所述逻辑层包括:
记录模块,用于记录当前待发送数据在发送缓存中的起始位置;
获取模块,用于根据所述起始位置从发送缓存中取出待发送数据,并打包寄存在逻辑层的待发送区,作为待发送帧数据,等待所述链路层调用;
更新模块,用于在接收到所述链路层发送的所述待发送帧数据发送成功的告知信息后,向所述数据层发送所述告知信息和将所述待发送帧数据在发送缓存中的结束地址的下一地址,更新为后续待发送帧数据的起始位置;
所述数据层包括:
释放模块,用于在接收到来自所述更新模块的告知信息后,释放成功发送的帧数据所占的发送缓存的空间。
4.根据权利要求3所述的串行总线,其特征在于所述数据层通过接收缓存存储接收数据;所述逻辑层包括:
查询模块,用于在接收来自对端的数据之前,查询数据层的接收缓存的容量;
写入模块,用于在接收缓存容量大于等于来自对端的数据大小时,接收来自所述链路层的数据,并写入数据层的接收缓存中。
5.根据权利要求3所述的串行总线,其特征在于所述链路层包括:
第一命令发送模块,用于向对端链路层发送指针归零的命令消息;
第二命令发送模块,用于在接收到对端链路层对所述指针归零的命令消息响应的指针归零的状态消息后,向对端链路层发送查询空间的命令消息;
数据发送模块,用于在接收到对端链路层对所述查询空间的命令消息响应的空间足够的状态消息后,在小于定时器设置的阈值时,向对端链路层发送数据;在达到所述阈值时,激活向对端链路层发送查询校验码的命令消息;
第一判断模块,用于在接收到来自对端链路层对所述查询校验码的命令消息响应的校验码的状态消息后,根据所述校验码状态和本端保存的校验码信息判断校验码是否正确,若校验码不正确,调用第一命令发送模块;
第二判断模块,用于校验码正确时,判断已发送的数据长度是否达到最大数据包长度;
第三命令发送模块,用于在已发送的数据长度达到最大数据包长度时,向对端链路层发送更新指针命令,并在接收到对端链路层对所述更新指针的命令消息响应的指针更新的状态消息后,调用第二命令发送模块向对端链路层发送查询空间的命令消息;
第一调用模块,用于在已发送的数据长度未达到最大数据包长度时,调用数据发送模块,在小于定时器设置的阈值时,向对端链路层发送数据;在达到所述阈值时,激活向对端链路层发送查询校验码的命令消息。
6.根据权利要求5所述的串行总线,其特征在于所述链路层还包括:
第一状态发送模块,用于对接收的第一命令发送模块发送的指针归零的命令消息进行响应,并发送指针归零的状态消息;
第二状态发送模块,用于在接收第二命令发送模块对接收的指针归零的状态消息响应的查询空间的命令消息后,对所述查询空间的命令消息进行响应,并向所述数据发送模块发送空间足够的状态消息;
数据接收模块,用于接收数据发送模块对接收的空间足够的状态消息响应后发送的数据;
第三状态发送模块,用于对接收的所述数据发送模块发送的查询校验码的命令消息进行响应,并发送校验码的状态消息;
第二调用模块,用于对接收的第三命令发送模块发送的更新指针的命令消息进行响应后,发送指针更新的状态消息。
7.根据权利要求6所述的串行总线,其特征在于所述链路层基于消息的生命周期对状态消息、命令消息和数据进行操作,其中对所述状态消息操作的优先级高于对所述命令消息操作的优先级,对所述命令消息操作的优先级高于对数据操作的优先级。
8.根据权利要求1-7任一所述的串行总线,其特征在于所述物理层包括两个方向相反的单向信道,所述单向信道使用低压差分信号作为媒介传输数据。
9.根据权利要求8所述的串行总线,其特征在于所述物理层采用的物理连接线为8芯双绞网线或光纤。
10.根据权利要求9所述的串行总线,其特征在于若采用的物理连接线为光纤,则在信道的源端对低压差分信号进行转换,在所述信道的末端对转换后的低压差分信号进行还原。
11.根据权利要求9所述的串行总线,其特征在于若所述信道物理长度在信号失真范围内,则利用配置预加强器和均衡器调节信号使所述信号在信号非失真范围内。
12.一种应用权利要求1-11任一所述的串行总线的通信方法,其特征在于包括:
通过交互层对发送端或接收端的CPU与各自对应的系统芯片SOC进行数据交互;
利用数据层对通过所述交互层获得的来自发送端的发送数据和获得的来自接收端的接收数据进行存储管理;
利用逻辑层发送从所述数据层中获取的数据或将接收的数据保存在所述数据层;
利用链路层接收来自所述逻辑层的数据,并对所述数据验证通过后,通过所述物理层发送到对端的链路层;或,将接收的来自对端链路层的数据发送至所述逻辑层。
13.一种包含权利要求1-11任一所述的串行总线的通信系统,其特征在于还包括:
发送端,用于通过所述串行总线的交互层与一个系统芯片SOC进行数据交互;
接收端,用于通过所述串行总线的交互层与另一个系统芯片SOC进行数据交互。
CN 200910082565 2009-04-24 2009-04-24 串行总线和通信方法及系统 Expired - Fee Related CN101873299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910082565 CN101873299B (zh) 2009-04-24 2009-04-24 串行总线和通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910082565 CN101873299B (zh) 2009-04-24 2009-04-24 串行总线和通信方法及系统

Publications (2)

Publication Number Publication Date
CN101873299A true CN101873299A (zh) 2010-10-27
CN101873299B CN101873299B (zh) 2013-08-14

Family

ID=42997965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910082565 Expired - Fee Related CN101873299B (zh) 2009-04-24 2009-04-24 串行总线和通信方法及系统

Country Status (1)

Country Link
CN (1) CN101873299B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103827844A (zh) * 2011-06-29 2014-05-28 罗伯特·博世有限公司 用于具有灵活的消息大小和可变的位长的串行数据传输的方法和设备
US9513988B2 (en) 2011-04-06 2016-12-06 Robert Bosch Gmbh Method and device for increasing the data transmission capacity in a serial bus system
US9600425B2 (en) 2011-04-06 2017-03-21 Robert Bosch Gmbh Method and device for adapting the data transmission reliability in a serial bus system
US9690742B2 (en) 2011-06-29 2017-06-27 Robert Bosch Gmbh Method and device for serial data transmission having a flexible message size and a variable bit length
CN107064675A (zh) * 2017-03-31 2017-08-18 华为技术有限公司 接收端信号获取方法及装置
US9825852B2 (en) 2011-04-26 2017-11-21 Robert Bosch Gmbh Method and device for serial data transmission which is adapted to memory sizes
US9852106B2 (en) 2011-06-29 2017-12-26 Robert Bosch Gmbh Method and device for serial data transmission having a flexible message size and a variable bit length
CN111045817A (zh) * 2019-11-08 2020-04-21 福州瑞芯微电子股份有限公司 一种PCIe传输管理方法、系统和装置
CN111447118A (zh) * 2020-03-27 2020-07-24 中国工商银行股份有限公司 基于数据传输流的数据传输方法及装置
CN111541518A (zh) * 2020-04-17 2020-08-14 展讯通信(上海)有限公司 一种串行总线的数据传输方法及通信装置
CN112506846A (zh) * 2020-12-15 2021-03-16 深圳大普微电子科技有限公司 一种芯片内部模块间通信系统及方法
CN113969844A (zh) * 2020-07-22 2022-01-25 广州汽车集团股份有限公司 一种can总线与发动机控制单元通信数据处理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101233729A (zh) * 2005-06-14 2008-07-30 诺基亚公司 提供具有优选路径源路由、多保障QoS以及资源保留、管理和释放的高性能通信总线的装置、方法和计算机程序产品
US20080184008A1 (en) * 2002-10-08 2008-07-31 Julianne Jiang Zhu Delegating network processor operations to star topology serial bus interfaces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184008A1 (en) * 2002-10-08 2008-07-31 Julianne Jiang Zhu Delegating network processor operations to star topology serial bus interfaces
CN101233729A (zh) * 2005-06-14 2008-07-30 诺基亚公司 提供具有优选路径源路由、多保障QoS以及资源保留、管理和释放的高性能通信总线的装置、方法和计算机程序产品

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600425B2 (en) 2011-04-06 2017-03-21 Robert Bosch Gmbh Method and device for adapting the data transmission reliability in a serial bus system
US9880956B2 (en) 2011-04-06 2018-01-30 Robert Bosch Gmbh Method and apparatus for adapting the data transmission security in a serial bus system
US9513988B2 (en) 2011-04-06 2016-12-06 Robert Bosch Gmbh Method and device for increasing the data transmission capacity in a serial bus system
US9594626B2 (en) 2011-04-06 2017-03-14 Robert Bosch Gmbh Method and device for increasing the data transmission capacity in a serial bus system
US9825852B2 (en) 2011-04-26 2017-11-21 Robert Bosch Gmbh Method and device for serial data transmission which is adapted to memory sizes
US9864724B2 (en) 2011-06-29 2018-01-09 Robert Bosch Gmbh Method and device for serial data transmission having a flexible message size and a variable bit length
US9690742B2 (en) 2011-06-29 2017-06-27 Robert Bosch Gmbh Method and device for serial data transmission having a flexible message size and a variable bit length
TWI558145B (zh) * 2011-06-29 2016-11-11 羅伯特博斯奇股份有限公司 具有可變通之訊息大小及可變位元長度之串聯資料傳輸的方法與裝置(一)
US9852106B2 (en) 2011-06-29 2017-12-26 Robert Bosch Gmbh Method and device for serial data transmission having a flexible message size and a variable bit length
CN103827844A (zh) * 2011-06-29 2014-05-28 罗伯特·博世有限公司 用于具有灵活的消息大小和可变的位长的串行数据传输的方法和设备
CN103827844B (zh) * 2011-06-29 2016-08-17 罗伯特·博世有限公司 用于具有灵活的消息大小和可变的位长的串行数据传输的方法和设备
CN107064675A (zh) * 2017-03-31 2017-08-18 华为技术有限公司 接收端信号获取方法及装置
CN111045817A (zh) * 2019-11-08 2020-04-21 福州瑞芯微电子股份有限公司 一种PCIe传输管理方法、系统和装置
CN111045817B (zh) * 2019-11-08 2023-09-26 瑞芯微电子股份有限公司 一种PCIe传输管理方法、系统和装置
CN111447118A (zh) * 2020-03-27 2020-07-24 中国工商银行股份有限公司 基于数据传输流的数据传输方法及装置
CN111447118B (zh) * 2020-03-27 2022-04-15 中国工商银行股份有限公司 基于数据传输流的数据传输方法及装置
CN111541518A (zh) * 2020-04-17 2020-08-14 展讯通信(上海)有限公司 一种串行总线的数据传输方法及通信装置
CN113969844A (zh) * 2020-07-22 2022-01-25 广州汽车集团股份有限公司 一种can总线与发动机控制单元通信数据处理方法及系统
CN113969844B (zh) * 2020-07-22 2023-09-12 广州汽车集团股份有限公司 一种can总线与发动机控制单元通信数据处理方法及系统
CN112506846A (zh) * 2020-12-15 2021-03-16 深圳大普微电子科技有限公司 一种芯片内部模块间通信系统及方法
CN112506846B (zh) * 2020-12-15 2023-12-19 深圳大普微电子科技有限公司 一种芯片内部模块间通信系统及方法

Also Published As

Publication number Publication date
CN101873299B (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
CN101873299B (zh) 串行总线和通信方法及系统
CN106776436B (zh) 一种适用于多点互联的高速串行总线的通信方法
CN108733604B (zh) 一种基于modbus通讯协议的485总线智能扩展方法及装置
CN103634150B (zh) 一种冗余的高安全性can总线通信方法
US5247626A (en) Fddi controller having flexible buffer management
CN103248526B (zh) 实现带外监控管理的通信设备、方法
CN102035688B (zh) 一种快速控制网络链路访问设计方法
CN101222430B (zh) 一种高速多协议数据传输系统和方法
CN103049414A (zh) Fc总线与can总线间数据的转换及传输方法
CN102576339A (zh) 多协议存储设备桥
CN103825696A (zh) 一种基于fpga实现光纤高速实时通信的装置
CN106452870A (zh) 一种CANopen网络主设备冗余控制方法
CN109932966B (zh) 一种基于m-lvds总线实时高效数据传输方法
CN102253914A (zh) 数据传输处理方法、装置和设备接口
CN102916902A (zh) 数据存储方法及装置
CN102238055A (zh) 基于mdio接口的下载方法及系统
CN103392315B (zh) 站、目标设备和启动设备
CN101106504A (zh) 基于can总线的智能自主机器人分布式通信系统
CN100407619C (zh) 使用网络处理器实现端口主备切换的方法
CN103885910B (zh) 多设备在主模式下进行iic通信的方法
CN107276834B (zh) 一种航空电子环境下光纤通道流量分析记录方法及装置
CN106027397A (zh) 一种星型拓展的分布式测量设备网络通信方法
CN101304296B (zh) 网络装置及其传输方法
CN101415027A (zh) 基于hdlc协议的通讯模块及数据实时转发存储控制方法
CN101873168A (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100015 M7, 1 East Jiuxianqiao Road, Beijing, Chaoyang District

Applicant after: Beijing Dahao Technology Co., Ltd.

Address before: 100016 M7, 1 East Jiuxianqiao Road, Beijing, Chaoyang District

Applicant before: Beijing Xingdahao Technology Development Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: BEIJING XINGDAHAO TECHNOLOGY DEVELOPMENT CO., LTD. TO: BEIJING DAHAO TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130814

Termination date: 20150424

EXPY Termination of patent right or utility model