Cbus总线数据接收装置及方法

xiaoxiao2020-10-23  16

Cbus总线数据接收装置及方法
【技术领域】
[0001] 本发明涉及一种CBUS(链路控制总线)总线数据接收装置。本发明还涉及一种 CBUS总线数据接收方法。
【背景技术】
[0002] 随着智能手机和高清电视的广泛使用和深入发展,将手机中的视频或图片等信息 与高清电视实时共享已成为主流趋势。MHL(MobileHigh-DefinitionLink,移动终端高 清影音标准接口)接口解决了用户的智能手机与高清电视连接的需求。
[0003] ]?1接口包括册几+,]\^-,08旧,¥8旧,6冊五个信号。其中,]\^+,]\^-是一对差 分信号,完成音视频数据传输功能;VBUS信号是电源信号,GND是地信号,CBUS信号是集DDC (DirectDigitalControl直接数字控制)通道和MHL边带通道信号于一根信号线,完成了 所有手机端和接收端之间EDID(ExtendedDisplayIdentificationData扩展显示识别 数据)信息,HDCP(High-bandwidthDigitalContentProtection高带宽数字内容保护技 术)等命令的交互传输。
[0004] CBUS是单线协议,其数据包格式如图2所示。
[0005]CBUS的编码形式米用双向标记编码方式(BMC:Bi_phaseMarkCoding),即1由半 个高电平和半个低电平组成一个时钟周期,〇由相同电平组成一个时钟周期。1和〇之间必 须有跳变。
[0006] Sync(同步头)脉冲是由1. 5个连续时钟周期的低电平和0. 5个时钟周期的高电平 组成的特定脉冲。包头是确定该包命令属于DDC命令或MHL边带通道命令。控制位表明后 续数据区内容是命令还是数据。数据区存放的是实际数据内容。校验位是根据传输或接收 数据包计算而得的。CBUS协议规定采用偶校验,即数据包中除去Sync脉冲的前libit(t匕 特),数据中有奇数个1,则校验位为1 ;数据中有偶数个1,则校验位为〇。应答位应由接收 方发送,表明当前数据包正常接收。
[0007] 对于MHL接口而言,CBUS是最重要的信号线,它需要兼具收发数据包,完成命令传 输功能,其协议格式相对复杂,是MHL接口硬件设计的重点。而且一般带有校验位的数据包 校验位可由软件提供,但缺点是消耗时间开销,用硬件实现速度快,但在一定程度上浪费硬 件资源。

【发明内容】

[0008] 本发明要解决的技术问题是提供一种CBUS总线数据接收装置,能够实现CBUS总 线接收数据包并快速检测校验位;为此,本发明还要提供一种CBUS总线数据接收方法。
[0009] 为解决上述技术问题,本发明的CBUS总线数据接收端装置,包括:
[0010] 一空闲状态检测模块,当CBUS总线没有传输需求时,使系统保持空闲状态;
[0011] 一同步脉冲检测模块,与所述空闲态检测模块相连接,在空闲状态下,当检测到 CBUS总线上有接收的数据传输时,检测其中是否有符合要求的同步脉冲;
[0012] 一包头文件检测模块,与所述同步脉冲检测模块相连接,在成功检测到同步脉冲 后,根据接收的数据跳变规则,检测包头文件并将检测到的包头文件存入接收包头寄存器, 以确定该包文件的命令类别;
[0013] 一控制位检测模块,与所述包头文件检测模块相连接,在检测到包头文件后,根据 接收的数据跳变规则,检测控制位,并将检测到的控制位信息存入接收控制寄存器,以确定 该包文件的属性,即该包文件是数据包还是控制包;
[0014] 一数据接收模块,与所述控制位检测模块相连接,根据BMC编码接收数据,并存入 接收数据寄存器;
[0015] 一第一校验模块,与所述数据接收模块和空闲状态检测模块相连接,当校验位的 值为1时,进入第一校验状态校验;在第一校验状态校验中,如果CBUS总线上一直无信号上 升沿,则校验失败,系统返回空闲状态;如果有信号上升沿,则进入第三校验状态;
[0016] 一第二校验模块,与所述数据接收模块和空闲状态检测模块相连接,当校验位的 值为0时,进入第二校验状态校验;在第二校验状态校验中,如果CBUS总线上出现信号下降 沿,则校验失败,系统返回空闲状态;如果一直无信号下升沿,则第二校验状态校验成功;
[0017] 一第三校验模块,与所述第一校验模块相连接,进行第三校验状态校验;在第三校 验状态校验中,如果出现信号下降沿则校验失败,返回空闲状态;如果CBUS总线上没有信 号边沿跳变,则在0. 5个时钟周期后进行应答处理;
[0018] 一应答模块,与所述第二校验模块、第三校验模块和空闲状态检测模块相连接,根 据接收端写入应答寄存器的命令正确应答(ack)或否定应答(nack)值在CBUS总线上返回 应答信号。
[0019] 所述CBUS总线数据接收方法,包括如下步骤:
[0020] 步骤1,当CBUS总线上没有传输需求时,使系统保持空闲状态;
[0021] 步骤2,在空闲状态下,当检测到CBUS总线上有接收的数据传输时,检测其中是否 有符合要求的同步脉冲;
[0022] 步骤3,在成功检测到同步脉冲后,根据接收的数据跳变规则,检测包头文件并将 检测到的包头文件存入接收包头寄存器,以确定该包文件的命令类别;
[0023] 步骤4,在检测到包头文件后,根据接收的数据跳变规则,检测控制位,并将检测到 的控制位信息存入接收控制寄存器,以确定该包文件的属性,即该包文件是数据包还是控 制包;
[0024] 步骤5,根据BMC编码接收数据,并存入接收数据寄存器;当校验位的值为1时,执 行步骤6 ;当校验位的值为0时,执行步骤7 ;
[0025] 步骤6,进入第一校验状态校验,如果CBUS总线上一直无信号上升沿,则校验失 败,返回步骤1 ;如果有信号上升沿,则执行步骤8 ;
[0026] 步骤7,进入第二校验状态校验;在第二校验状态校验中,如果CBUS总线上出现信 号下降沿,则校验失败,返回步骤1 ;如果一直信号无下升沿,则第二校验状态校验成功,执 行步骤9 ;
[0027] 步骤8,进行第三校验状态校验,如果出现信号下降沿则校验失败,返回空闲状态; 如果CBUS总线上没有信号边沿跳变,则在0. 5个时钟周期后执行步骤9 ;
[0028] 步骤9,根据接收端写入应答寄存器的命令正确应答(ack)或否定应答(nack)值 在CBUS总线上返回应答信号。
[0029]所述同步脉冲,为1. 5个连续时钟周期的低电平和0. 5个时钟周期的高电平。
[0030] 本发明符合MHL协议中CBUS总线的发送规范,能接收发送方发出的数据包。在接 收到的数据包存在链路层校验位出错的情况时,可以丢弃该数据包,并使系统回到空闲状 态。
[0031] 本发明利用CBUS总线的信号特征快速完成校验位检错,比通用的利用硬件逻辑 计算检测校验位节省大量硬件逻辑资源,提高了检错效率。
【附图说明】
[0032]下面结合附图与【具体实施方式】对本发明作进一步详细的说明:
[0033] 图1是CBUS总线数据接收装置结构示意图;
[0034] 图2是CBUS总线数据包格式示意图;
[0035] 图3是CBUS总线数据接收方法流程图。
【具体实施方式】
[0036] 参见图1所示,所述CBUS总线数据接收端装置,包括:一空闲状态检测模块,一同 步脉冲检测模块,一包头文件检测模块,一控制位检测模块,一数据接收模块,一第一校验 模块,一第二校验模块,一第三校验模块,一应答模块。图3是所述CBUS总线数据接收方法 流程图。
[0037] 结合图1、2,所述CBUS总线数据接收装置和方法主要分为两大部分,即CBUS总线 接收端状态机设计和CBUS总线数据检测。
[0038] 所述状态机设计方式可以分为以下几个状态:空闲态、同步脉冲检测态、包头文件 检测态、控制位检测态,数据状态,第一校验态,第二校验态,第三校验态,应答态。
[0039] 所述CBUS总线数据检测实现重点在于检测CBUS总线上信号(即数据)的跳变沿。 由于CBUS总线是单线协议,其数据传输符合BMC编码。根据检测的数据跳变沿和信号传输 时间(是〇. 5个时钟周期还是1个时钟周期)判断数据值。
[0040] 基于CBUS总线数据包格式,在空闲态检测到有接收的数据传输时,进入同步脉冲 检测态。同步脉冲为1.5个时钟周期的低电平和0.5个时钟周期的高电平。成功检测到同 步脉冲后进入包头文件检测态,若未成功检测到同步脉冲则回到空闲态。包头文件检测态, 是根据接收的数据跳变规则,检测包头文件,以判断包文件的命令属性(命令类别),并将检 测到的包头文件存入接收包头寄存器。
[0041] 所述包头文件的类型,如下表1所示。
[0043]
[0044]表1
[0045] 控制位检测态,是根据接收的数据跳变规则,检测控制位,检测到的控制位信息表 征了该包文件是数据包还是控制包,将检测到的控制位信息存入接收控制寄存器。控制位 的信息如下表2所示。
[0047]表 2
[0048] 数据态,是根据BMC编码接收数据,并存入接收数据寄存器。
[0049] 第一校验态,第二校验态和第三校验态组成了CBUS总线接收端的奇偶校验检测 状态;完成数据包格式的校验位的计算。
[0050] 传统的奇偶校验检测采用软件计算写入寄存器的方式,或硬件数据按位异或后计 算得出,本发明利用CBUS总线BMC编码的特点,在校验态通过判断数据跳变沿保证校验结 果的正确与否。由于CBUS总线校验采用的是偶校验,根据BMC编码规律和数据包的bit数 经推理可得出以下结论,即:校验位的后半个时钟周期必定为高电平,前半个时钟周期是高 电平还是低电平根据偶校验的原理可得。
[0051] 当校验位的值为1 (即图3中所示的"当数据位与校验位交界处有下降沿")时, 进入第一校验态。当校验位的值为〇 (即图3中所示的"当数据位与校验位交界处无下降 沿")时,则进入第二校验态。如果第一校验态出错,即在第一校验态一直无信号上升沿,则 说明校验失败,状态机跳转至空闲态;在第一校验态有信号上升沿,则进入第三校验态完成 校验。
[0052] 如果第二校验态出错,即在第二校验态中CBUS总线信号出现下降沿,则说明校验 失败,状态机跳转至空闲态;在第二校验态一直无信号上升沿,则校验成功,状态机转入应 答态回复应答信号。
[0053] 应答态将接收端写入应答寄存器的ack或nack值在CBUS总线上返回应答信号。
[0054] 采用本发明提出的带有快速自检测的CBUS接收端的设计方案,可实现CBUS数据 包的接收,并且完成快速高效的校验位检测。
[0055] 以上通过【具体实施方式】对本发明进行了详细的说明,但这些并非构成对本发明的 限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也 应视为本发明的保护范围。
【主权项】
1. 一种CBUS总线数据接收装置,其特征在于,包括: 一空闲状态检测模块,当CBUS总线没有传输需求时,使系统保持空闲状态; 一同步脉冲检测模块,与所述空闲态检测模块相连接,在空闲状态下,当检测到CBUS总线上有接收的数据传输时,检测其中是否有符合要求的同步脉冲; 一包头文件检测模块,与所述同步脉冲检测模块相连接,在成功检测到同步脉冲后,根 据接收的数据跳变规则,检测包头文件并将检测到的包头文件存入接收包头寄存器,以确 定该包文件的命令类别; 一控制位检测模块,与所述包头文件检测模块相连接,在检测到包头文件后,根据接收 的数据跳变规则,检测控制位,并将检测到的控制位信息存入接收控制寄存器,以确定该包 文件的属性; 一数据接收模块,与所述控制位检测模块相连接,根据BMC编码接收数据,并存入接收 数据寄存器; 一第一校验模块,与所述数据接收模块和空闲状态检测模块相连接,当校验位的值为1 时,进入第一校验状态校验;在第一校验状态校验中,如果CBUS总线上一直无信号上升沿, 则校验失败,系统返回空闲状态;如果有信号上升沿,则进入第三校验状态校验; 一第二校验模块,与所述数据接收模块和空闲状态检测模块相连接,当校验位的值为〇 时,进入第二校验状态校验;在第二校验状态校验中,如果CBUS总线上出现信号下降沿,则 校验失败,系统返回空闲状态;如果一直无信号下升沿,则第二校验状态校验成功; 一第三校验模块,与所述第一校验模块相连接,进行第三校验状态校验,在第三校验状 态校验中,如果出现信号下降沿则校验失败,返回空闲状态;如果CBUS总线上没有信号边 沿跳变,则在0. 5个时钟周期后进行应答处理; 一应答模块,与所述第二校验模块、第三校验模块和空闲状态检测模块相连接,根据接 收端写入应答寄存器的命令正确应答或否定应答值在CBUS总线上返回应答信号。2. 如权利要求1所述的装置,其特征在于:所述同步脉冲为1. 5个连续时钟周期的低 电平和0. 5个时钟周期的高电平。3. -种CBUS总线数据接收方法,其特征在于,包括如下步骤: 步骤1,当CBUS总线上没有传输需求时,使系统保持空闲状态; 步骤2,在空闲状态下,当检测到CBUS总线上有接收的数据传输时,检测其中是否有符 合要求的同步脉冲; 步骤3,在成功检测到同步脉冲后,根据接收的数据跳变规则,检测包头文件并将检测 到的包头文件存入接收包头寄存器,以确定该包文件的命令类别; 步骤4,在检测到包头文件后,根据接收的数据跳变规则,检测控制位,并将检测到的 控制位信息存入接收控制寄存器,以确定该包文件的属性,即该包文件是数据包还是控制 包; 步骤5,根据BMC编码接收数据,并存入接收数据寄存器;当校验位的值为1时,执行步 骤6 ;当校验位的值为0时,执行步骤7 ; 步骤6,进入第一校验状态校验,如果CBUS总线上一直无信号上升沿,则校验失败,返 回步骤1 ;如果有信号上升沿,则执行步骤8 ; 步骤7,进入第二校验状态校验;在第二校验状态校验中,如果CBUS总线上出现信号下 降沿,则校验失败,返回步骤I;如果一直无信号下升沿,则第二校验状态校验成功,执行步 骤9; 步骤8,进行第三校验状态校验,如果出现信号下降沿则校验失败,返回空闲状态;如 果CBUS总线上没有信号边沿跳变,则在0. 5个时钟周期后执行步骤9 ; 步骤9,根据接收端写入应答寄存器的命令正确应答或否定应答值在CBUS总线上返回 应答信号。4.如权利要求3所述的方法,其特征在于:所述同步脉冲为1. 5个连续时钟周期的低 电平和0. 5个时钟周期的高电平。
【专利摘要】本发明公开了一种CBUS总线数据接收装置,包括:一空闲状态检测模块,一同步脉冲检测模块,一包头文件检测模块,一控制位检测模块,一数据接收模块,一第一校验模块,一第二校验模块,一第三校验模块,一应答模块。本发明还公开了一种CBUS总线数据接收方法。本发明符合MHL协议中CBUS总线的发送规范,能接收发送方发出的数据包。在接收到的数据包存在链路层校验位出错的情况时,可以丢弃该数据包,并使系统回到空闲状态。本发明利用CBUS总线的信号特征快速完成校验位检错,比通用的利用硬件逻辑计算检测校验位节省大量硬件逻辑资源,提高了检错效率。
【IPC分类】G06F13/38, G06F13/42
【公开号】CN104899166
【申请号】CN201410077604
【发明人】刘晓燕
【申请人】上海华虹集成电路有限责任公司
【公开日】2015年9月9日
【申请日】2014年3月5日

最新回复(0)