CN117708030A - 支持嵌入式***中多种串行总线通信的方法及*** - Google Patents
支持嵌入式***中多种串行总线通信的方法及*** Download PDFInfo
- Publication number
- CN117708030A CN117708030A CN202311438120.5A CN202311438120A CN117708030A CN 117708030 A CN117708030 A CN 117708030A CN 202311438120 A CN202311438120 A CN 202311438120A CN 117708030 A CN117708030 A CN 117708030A
- Authority
- CN
- China
- Prior art keywords
- line pin
- slave device
- communication
- master device
- embedded system
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 202
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims abstract description 181
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 238000007667 floating Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims 6
- 238000007726 management method Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请提供一种支持多种嵌入式***串行总线通信的方法及***,所述嵌入式***包括:集成电路总线芯片,成电路总线芯片包含带有上拉电阻的四根引脚,引脚包括:串行时钟线引脚、串行数据线引脚、中断警报线引脚和中断控制线引脚;所述方法包括:确定嵌入式***的数据传输速率和数据传输地址是否满足预设条件;当数据传输速率和数据传输地址满足预设条件时,监听嵌入式***的通信状态和通信模式;根据监听到的通信状态和通信模式,设置嵌入式***中引脚的状态,并设置引脚对应的寄存器的存储状态;按照监听到的通信状态和通信模式与主设备或者从设备进行通信。可以支持多种串行总线通信。
Description
技术领域
本申请涉及嵌入式***通信改进技术领域,尤其涉及一种支持嵌入式***中多种串行总线通信的方法及***。
背景技术
I2C(Inter-Integrated Circuit,集成电路总线)是一种双向二线同步串行总线,它包含SCL(串行时钟线)和SDA(串行数据线),连接在总线两端的设备通常分为主设备(MASTER)和从设备(SLAVE)。通信时,主设备产生时钟并通过SCL发送,同时在SDA上发送目标地址及读写操作,目标设备响应后主设备/从设备再继续在SDA上收发数据。
SMBUS(System Management Bus,***管理总线)是一种双向二线同步串行总线,包含SMBCLK(***管理时钟线)和SMBDAT(***管理数据线),与I2C功能相对应,同时还多出两根可选信号线:SMBSUS:用来控制从设备进入低功耗模式,SMBALERT#由从设备向主设备报告ALERT(警报)事件。SMBUS是I2C协议的一种应用,SMBUS与I2C的主要区别如表1所示:
表1
SMBUS | I2C | |
最低速率 | 10Kbit/s | 无 |
最高速率 | 100Kbit/s | 3.4Mbit/s |
SCL最大保持时间 | 2ms | 无 |
数据最小保持时间 | 300ns | 无 |
设备地址 | 7bit | 7bit/10bit |
总线协议 | 多种协议 | 无固定协议 |
PMBUS(Power Management Bus,电源管理总线)是一种开放标准的数字电源管理协议,它是基于SMBUS开发的,最高速率拓展到400Kbit/s,与SMBUS相比增加了许多用于电源管理的命令,并将SMBSUS改名为CONTROL(控制线),用于和命令共同控制单个从设备的启动和关闭。
申请号为:202111159977.4,发明名称为:实现SMBus传输的方法和***的专利申请,在仅支持I2C的主设备上通过软件修改硬件I2C电平高低认定、电流、时序、以及响应条件等来满足SMBUS通信条件,并增加ALERT信号线,可借此与SMBUS从设备通信。
现有技术的***中只支持I2C作为主设备,SMBUS作为从设备的ALERT功能,仍不支持SMBUS的SUSPEND(暂停)功能;当场景变换为需要使用PMBUS的部分命令时,此***无法正常使用,无法支持完整的SMBUS协议和PMBUS协议,无法稳定使用。
发明内容
为了解决上述技术缺陷,本申请实施例提供了一种支持多种嵌入式***串行总线通信的方法及***。
本申请实施例提供了一种支持多种嵌入式***串行总线通信的方法,所述嵌入式***包括:集成电路总线芯片,所述集成电路总线芯片包含带有上拉电阻的四根引脚,所述引脚包括:串行时钟线引脚、串行数据线引脚、中断警报线引脚和中断控制线引脚;所述方法包括:
确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件;
当所述数据传输速率和所述数据传输地址满足预设条件时,监听所述嵌入式***的所述通信状态和通信模式;
根据监听到的所述通信状态和所述通信模式,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态;
按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信。
在其中一种可能的实现方式中,确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件包括:
当所述嵌入式***的数据传输速率处于预设范围,且所述数据传输地址长度为预设长度时,确定所述嵌入式***的数据传输速率和数据传输地址满足预设条件;
当所述嵌入式***的数据传输速率不处于预设范围,或者所述数据传输地址长度不为预设长度时,确定所述嵌入式***的数据传输速率和数据传输地址不满足预设条件。
在其中一种可能的实现方式中,所述通信模式为集成电路总线传输模式、***管理总线传输模式或电源管理总线传输模式;所述通信状态为所述嵌入式***为数据传输通信、警报命令通信或控制命令通信。
在其中一种可能的实现方式中,监听所述嵌入式***的所述通信状态和通信模式包括:
当所述嵌入式***接收到主设备根据通信协议发送的切换命令时,解析所述切换命令,根据解析结果确定所述嵌入式***作为从设备,并确定对应的通信状态和通信模式;
当所述嵌入式***向从设备发送数据或者信号时,向从设备发送配置确认消息并接收从设备根据通信协议发送的切换命令,解析所述切换命令,根据解析结果确定所述嵌入式***作为主设备,并确定对应的通信状态和通信模式。
在其中一种可能的实现方式中,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态包括:
当所述嵌入式***作为主设备或者从设备,与集成电路总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行警报命令通信时,将串行时钟线引脚和串行数据线引脚和中断警报线引脚接通,将中断控制线引脚断开,并关闭所述中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行控制命令通信时,将串行时钟线引脚和串行数据线引脚和中断控制线引脚接通,将中断警报线引脚断开,并关闭所述中断警报线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行警报命令通信时,将串行时钟线引脚和串行数据线引脚和中断警报线引脚接通,将中断控制线引脚断开,并关闭所述中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行控制命令通信时,将串行时钟线引脚和串行数据线引脚和中断控制线引脚接通,将中断警报线引脚断开,并关闭所述中断警报线引脚对应的寄存器对应的存储项。
在其中一种可能的实现方式中,按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信包括:
当所述嵌入式***作为主设备或者从设备,与集成电路总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据集成电路总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据***管理总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行警报命令通信时,从设备将中断警报线引脚通过上拉电阻实现低电平输出,当主设备检测到中断警报线引脚的下降沿时,发送地址为警报提醒地址的读取命令,所述读取命令长度为预设字节;从设备响应警报提醒地址,并将自身的从设备地址发送至主设备,从设备地址发送完成后,从设备将中断警报线引脚恢复高电平状态;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行控制命令通信时,主设备激活中断控制线引脚;从设备检测到中断控制线引脚激活后,进入停止或断电的低功耗模式,或者从设备检测到中断控制线引脚激活后,主设备通过串行时钟线引脚或串行数据线引脚上发送配置命令,以使得从设备在中断控制线引脚激活时按照配置命令运行;主设备将中断控制线引脚恢复,从设备检测到中断控制线引脚恢复后,从低功耗模式恢复为正常功耗模式;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据电源管理总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行警报命令通信时,从设备将中断警报线引脚通过上拉电阻实现低电平输出,当主设备检测到中断警报线引脚的下降沿时,发送地址为警报提醒地址的读取命令,所述读取命令长度为预设字节;从设备响应警报提醒地址,并将自身的从设备地址发送至主设备,从设备地址发送完成后,从设备将中断警报线引脚恢复高电平状态;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行控制命令通信时,主设备激活中断控制线引脚,从设备检测到中断控制线引脚激活后,主设备按照ON_OFF_CONFIG协议向从设备发送控制命令,以使得从设备按照控制命令运行,并向主设备做出响应;主设备将中断控制线引脚恢复,从设备检测到中断控制线引脚恢复后,从设备按照默认状态运行,向主设备做出响应。
在其中一种可能的实现方式中,所述数据传输速率的预设范围为10-100Kbit/s,数据传输地址的预设长度为7bit。
在其中一种可能的实现方式中,依据集成电路总线传输模式对应的数据传输协议实现数据传输包括:
主设备向从设备发送数据传输起始信号或者续传信号,并向从设备发送待传输的数据,从设备在接收到数据后回复确认应答消息告知主设备;
主设备向从设备发送数据传输起始信号或者续传信号;并向从设备发送待传输的数据,从设备在未接收到数据后回复否定应答消息告知主设备。
第二方面,本发明还提供一种支持多种嵌入式***串行总线通信的***,所述串行总线通信的***中包括至少一个主设备和至少一个从设备,所述主设备或者所述从设备的嵌入式***包括:集成电路总线芯片,所述集成电路总线芯片包含带有上拉电阻的四根引脚,所述引脚包括:串行时钟线引脚、串行数据线引脚、中断警报线引脚和中断控制线引脚;所述串行总线通信的***通过如下方式进行通信:
确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件;
当所述数据传输速率和所述数据传输地址满足预设条件时,监听所述嵌入式***的所述通信状态和通信模式;
根据监听到的所述通信状态和所述通信模式,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态;
按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信。
第三方面,本发明还提供一种电子设备,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现上述的方法。
本申请实施例中的支持多种嵌入式***串行总线通信的方法及***,在I2C芯片的基础上增加SMBUS、PMBUS引脚,并配置对应的寄存器,根据与当前嵌入式***通信的设备发送的切换命令,以实现当前嵌入式***自动配置,利用本发明的方法能够识别并响应SMBUS协议和PMBUS协议,并且对于ALERT协议和ON_OFF_CONFIG协议的命令也可以正确识别。应用本申请的方法不需要设计多套通信***,实现一套通用的嵌入式***实现多种串行总线通信,减少时间和资金成本。还可以增加资源分配的自由度,用户在使用时可通过多种外设自由分配,均可以实现通信,满足用户外设更多的需求。
附图说明
图1为本申请实施例提供的电子设备的示意图;
图2为本申请实施例提供的嵌入式***的结构示意图;
图3为本申请实施例提供的一种支持嵌入式***中多种串行总线通信的方法的流程图;
图4为本申请实施例提供的一种支持嵌入式***中多种串行总线通信的***的示意图。
具体实施方式
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1示出了根据本发明一个实施例的电子设备的示意图。需要说明的是,图1所示的电子设备仅为一个示例,在实践中,用于实施本发明的支持嵌入式***中多种串行总线通信的方法的电子设备可以是任意型号的设备,其硬件配置情况可以与图1所示的电子设备相同,也可以与图1所示的电子设备不同。实践中用于实施本发明的支持嵌入式***中多种串行总线通信的方法的电子设备可以对图1所示的电子设备的硬件组件进行增加或删减,本发明对电子设备的具体硬件配置情况不做限制。
如图1所示,电子设备典型地包括一个或者多个处理器110、以及存储器120。存储器总线130可以用于在处理器110和存储器120之间的通信。
存储器120中存储有操作***程序指令121和应用程序指令122,应用运行在操作***之上。在电子设备启动运行时,处理器110会从存储器120中读取操作***程序指令121并执行。当用户启动应用时,处理器110从存储器120中读取并执行应用程序指令122。存储器120中还存储有应用数据123,应用数据123是应用运行过程中可能会用到的数据,例如表格等。
在根据本发明的电子设备中,应用程序指令122包括用于执行本发明的支持嵌入式***中多种串行总线通信的方法的计算机程序指令,该指令可以指示处理器110执行本发明的支持嵌入式***中多种串行总线通信的方法。
如图2至图3所示,本发明实施例提供一种支持嵌入式***中多种串行总线通信的方法,所述嵌入式***包括:集成电路总线芯片,所述集成电路总线芯片包含带有上拉电阻的四根引脚,所述引脚包括:串行时钟线引脚SCL、串行数据线引脚SDA、中断警报线引脚ALERT和中断控制线引脚CONTROL;所述方法可以包括步骤S310至步骤S340。
S310、确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件;
S320、当所述数据传输速率和所述数据传输地址满足预设条件时,监听所述嵌入式***的所述通信状态和通信模式;
S330、根据监听到的所述通信状态和所述通信模式,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态;
S340、按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信。
本发明实施例在I2C芯片基础上包含带有上拉电阻的两根引脚SDA、SCL,同时还增加两根带有上拉电阻中断引脚,一根为ALERT线,负责在主/从设备实现SMBUS ALERT协议及PMBUS ALERT协议;另一根为CONTROL线,负责在主/从设备实现SMBUS SUSPEND协议及PMBUSCONTROL协议。使用本发明实施例的支持嵌入式***中多种串行总线通信的方法,无需区分I2C模式、SMBUS模式或PMBUS模式,无需使用分别支持I2C、支持SMBUS或支持PMBUS模式的多套***;同时,无需区分外设支持哪种协议,根据检测到的通信状态和通信模式,实现当前嵌入式***模式自动切换,从而实现资源自由分配。支持当前嵌入式***作为主设备或从设备与SMBUS设备的通信,支持当前嵌入式***作为主设备或从设备与PMBUS设备的通信,实现SUSPEND/CONTROL协议。本发明实施例利用一套通用的嵌入式***实现多种串行总线通信,还能够减少资金成本。
本发明实施例中,步骤S310中确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件包括:
当所述嵌入式***的数据传输速率处于预设范围,且所述数据传输地址长度为预设长度时,确定所述嵌入式***的数据传输速率和数据传输地址满足预设条件;
当所述嵌入式***的数据传输速率不处于预设范围,或者所述数据传输地址长度不为预设长度时,确定所述嵌入式***的数据传输速率和数据传输地址不满足预设条件。
本发明实施例中,所述数据传输速率的预设范围为10-100Kbit/s,数据传输地址的预设长度为7bit。
本发明实施例中,步骤S320中所述通信模式为集成电路总线传输模式、***管理总线传输模式或电源管理总线传输模式;所述通信状态为所述嵌入式***为数据传输通信、警报命令通信或控制命令通信。
本发明实施例中,步骤S320中监听所述嵌入式***的所述通信状态和通信模式包括:
当所述嵌入式***接收到主设备根据通信协议发送的切换命令时,解析所述切换命令,根据解析结果确定所述嵌入式***作为从设备,并确定对应的通信状态和通信模式;
当所述嵌入式***向从设备发送数据或者信号时,向从设备发送配置确认消息并接收从设备根据通信协议发送的切换命令,解析所述切换命令,根据解析结果确定所述嵌入式***作为主设备,并确定对应的通信状态和通信模式。
本发明实施例能够实现当前嵌入式***通信模式自动切换功能。当前嵌入式***处于10-100Kbit/s传输速率、7bit地址下,无需手动重新配置设备模式,作为从设备时,接收主设备根据通信协议发送的切换命令,实现从设备自动匹配对应的通信状态和通信模式。作为主设备时,向从设备发送配置确认消息,接收从设备根据通信协议发送的切换命令,实现主设备自动匹配对应的通信状态和通信模式。
当前嵌入式***接收切换命令并自动配置时,传输速率保持不变,相关寄存器会发生变化而不影响通信(I2C快速模式、高速模式支持向下兼容),其中,切换命令可以如下表所示。
其中,切换命令长度为8bit,其中,X表示可以是0~7中的任何值,0x表示16进制。
本发明实施例中,步骤S330中,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态包括:
当所述嵌入式***作为主设备或者从设备,与集成电路总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行警报命令通信时,将串行时钟线引脚和串行数据线引脚和中断警报线引脚接通,将中断控制线引脚断开,并关闭所述中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行控制命令通信时,将串行时钟线引脚和串行数据线引脚和中断控制线引脚接通,将中断警报线引脚断开,并关闭所述中断警报线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行警报命令通信时,将串行时钟线引脚和串行数据线引脚和中断警报线引脚接通,将中断控制线引脚断开,并关闭所述中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行控制命令通信时,将串行时钟线引脚和串行数据线引脚和中断控制线引脚接通,将中断警报线引脚断开,并关闭所述中断警报线引脚对应的寄存器对应的存储项。
本发明实施例中,当嵌入式***传输数据或传输警报命令或传输控制命令时,存在不使用ALERT和/或CONTROL功能的情况,则可以配置对应寄存器关闭对应的存储项。
本发明实施例中,步骤S340中按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信包括:
当所述嵌入式***作为主设备或者从设备,与集成电路总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据集成电路总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据***管理总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行警报命令通信时,从设备将中断警报线引脚通过上拉电阻实现低电平输出,当主设备检测到中断警报线引脚的下降沿时,发送地址为警报提醒地址的读取命令,所述读取命令长度为预设字节;从设备响应警报提醒地址,并将自身的从设备地址发送至主设备,从设备地址发送完成后,从设备将中断警报线引脚恢复高电平状态;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行控制命令通信时,主设备激活中断控制线引脚;从设备检测到中断控制线引脚激活后,进入停止或断电的低功耗模式,或者从设备检测到中断控制线引脚激活后,主设备通过串行时钟线引脚或串行数据线引脚上发送配置命令,以使得从设备在中断控制线引脚激活时按照配置命令运行;主设备将中断控制线引脚恢复,从设备检测到中断控制线引脚恢复后,从低功耗模式恢复为正常功耗模式;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据电源管理总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行警报命令通信时,从设备将中断警报线引脚通过上拉电阻实现低电平输出,当主设备检测到中断警报线引脚的下降沿时,发送地址为警报提醒地址的读取命令,所述读取命令长度为预设字节;从设备响应警报提醒地址,并将自身的从设备地址发送至主设备,从设备地址发送完成后,从设备将中断警报线引脚恢复高电平状态;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行控制命令通信时,主设备激活中断控制线引脚,从设备检测到中断控制线引脚激活后,主设备按照ON_OFF_CONFIG协议向从设备发送控制命令,以使得从设备按照控制命令运行,并向主设备做出响应;主设备将中断控制线引脚恢复,从设备检测到中断控制线引脚恢复后,从设备按照默认状态运行,向主设备做出响应。
其中,依据集成电路总线传输模式对应的数据传输协议实现数据传输包括:
主设备向从设备发送数据传输起始信号或者续传信号,并向从设备发送待传输的数据,从设备在接收到数据后回复确认应答消息告知主设备;
主设备向从设备发送数据传输起始信号或者续传信号;并向从设备发送待传输的数据,从设备在未接收到数据后回复否定应答消息告知主设备。
本发明实施例中,当前嵌入式***与只支持I2C的设备通信时,SDA通过上拉电阻实现输出浮空,依据I2C协议发送start、restart、stop信号,实现数据的传输,发送ACK或NACK,SCL通过上拉电阻发送时钟。
如图4所示,本发明实施例还提供一种支持多种嵌入式***串行总线通信的***,所述串行总线通信的***中包括至少一个主设备和至少一个从设备,所述主设备或者所述从设备的嵌入式***包括:集成电路总线芯片,所述集成电路总线芯片包含带有上拉电阻的四根引脚,所述引脚包括:串行时钟线引脚、串行数据线引脚、中断警报线引脚和中断控制线引脚;所述串行总线通信的***通过如下方式进行通信:
确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件;
当所述数据传输速率和所述数据传输地址满足预设条件时,监听所述嵌入式***的所述通信状态和通信模式;
根据监听到的所述通信状态和所述通信模式,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态;
按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信。
本发明实施例中,支持多种嵌入式***串行总线通信的***实现SMBUS ALERT协议流程:
1)对应设备配置为SMBUS模式,满足通信需求,在通信流程中可作为主设备或从设备其一;
2)从设备将ALERT线拉低;
3)主设备检测到ALERT引脚处的下降沿,发送地址为警报提醒地址(0001100b)的读取8bit命令;
4)从设备响应警报提醒地址,并将自身的从设备地址发送,发送完成将ALERT线恢复高电平状态。
其中,关闭寄存器对应的存储项包括:将寄存器的可读可写寄存器的模式检测标志位置0或1。
本发明实施例中,在寄存器中增加一个模式检测标志位,以实现从设备自动匹配功能。
本发明实施例中,支持多种嵌入式***串行总线通信的***实现PMBUS ALERT协议流程:
1)对应设备配置为PMBUS模式,满足通信需求,在通信流程中可作为主设备或从设备其一;
2)从设备将ALERT线拉低;
3)主设备检测到ALERT引脚处的下降沿,发送地址为警报提醒地址(0001100b)的读取8bit命令;
4)从设备响应警报提醒地址,并将自身的从设备地址发送,发送完成将ALERT线恢复高电平状态。
其中,关闭寄存器对应的存储项包括:将寄存器的可读可写寄存器的模式检测标志位置0或1。
本发明实施例中,支持多种嵌入式***串行总线通信的***实现SMBUS SUSPEND协议流程:
1)对应设备配置为SMBUS模式,满足通信需求,在通信流程中可作为主设备或从设备其一;
2)主设备激活SUSPEND(默认为低电平激活);
3)检测到SUSPEND激活后,在默认情况下从设备进入停止或断电的低功耗模式,也可由用户通过软件修改在SDA和SCL上发送配置命令,以此告知从设备在SUSPEND激活时该如何运行;
4)主设备将SUSPEND恢复,从设备检测到SUSPEND恢复,从低功耗模式恢复。
本发明实施例中,支持多种嵌入式***串行总线通信的***实现PMBUS CONTROL协议流程:
1)对应设备配置为PMBUS模式,满足通信需求,在通信流程中可作为主设备或从设备其一;
2)主设备向从设备按照ON_OFF_CONFIG协议发送控制命令,以此配置从设备具体在哪种情况下打开或关闭;
3)根据配置,主设备激活CONTROL,从设备做出响应(默认情况下为关闭设备);
4)主设备恢复CONTROL,从设备做出响应(默认情况下为开启设备)。
其中,ON_OFF_CONFIG的控制命令如下表所示:
其中,ON_OFF_CONFIG的控制命令长度为8bit,X表示可以是0~7中的任何值。
ON_OFF_CONFIG的控制响应如下表所示:
其中,ON_OFF_CONFIG的控制响应长度为8bit,X表示可以是0~3中的任何值,0x表示16进制。
本发明实施例提供的支持嵌入式***中多种串行总线通信的方法及***,在如下应用场景下均可以进行通信模式自动切换和数据传输:
场景1、当前嵌入式***作为标准模式I2C的从设备A,与I2C主设备B通信完成,另一个主设备C需要与本***通信,此时可以将设备A的mode_check可读可写寄存器置1,此时设备A进入接收状态,设备C发送8bit的切换命令,设备A根据接收到的切换命令选择配置,配置完成后mode_check自动置0。
场景2、使用本发明实施例的支持I2C/SMBUS/PMBUS三种通信模式的设备与一个I2C设备和一个SMBUS外设进行通信,使用时可通过配置自由与不同通信模式的设备进行通信,满足多种通信模式的外设的需求。
场景3:当前嵌入式***同时连接一个SMBUS从设备、一个PMBUS从设备、一个I2C从设备,在使用时需要与各个从设备交换数据,此时可以使用本发明实施例的嵌入式***作为主设备,与不同从设备通信前仅需重新配置对应的引脚和寄存器,使得当前嵌入式***能够符合通信所需电平、速率、地址等,即可快速完成通信。
场景4:当前嵌入式***作为从设备,通信前无法确认主设备是I2C设备、SMBUS设备或PMBUS设备中的哪一种,此时可以使用本发明实施例的嵌入式***作为从设备。可以通过主设备发送切换命令来切换模式,此时主、从设备均需要配置为I2C、SMBUS、PMBUS的交集运行速率,将从设备的mode_check可读可写寄存器置1,此时从设备进入接收状态,主设备发送8bit的切换命令,从设备根据接收到的切换命令选择配置,配置完成后mode_check自动置0。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与本发明的示例一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。
Claims (10)
1.一种支持多种嵌入式***串行总线通信的方法,其特征在于,所述嵌入式***包括:集成电路总线芯片,所述集成电路总线芯片包含带有上拉电阻的四根引脚,所述引脚包括:串行时钟线引脚、串行数据线引脚、中断警报线引脚和中断控制线引脚;所述方法包括:
确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件;
当所述数据传输速率和所述数据传输地址满足预设条件时,监听所述嵌入式***的所述通信状态和通信模式;
根据监听到的所述通信状态和所述通信模式,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态;
按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信。
2.根据权利要求1所述的方法,其特征在于,确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件包括:
当所述嵌入式***的数据传输速率处于预设范围,且所述数据传输地址长度为预设长度时,确定所述嵌入式***的数据传输速率和数据传输地址满足预设条件;
当所述嵌入式***的数据传输速率不处于预设范围,或者所述数据传输地址长度不为预设长度时,确定所述嵌入式***的数据传输速率和数据传输地址不满足预设条件。
3.根据权利要求1所述的方法,其特征在于,所述通信模式为集成电路总线传输模式、***管理总线传输模式或电源管理总线传输模式;所述通信状态为所述嵌入式***为数据传输通信、警报命令通信或控制命令通信。
4.根据权利要求3所述的方法,其特征在于,监听所述嵌入式***的所述通信状态和通信模式包括:
当所述嵌入式***接收到主设备根据通信协议发送的切换命令时,解析所述切换命令,根据解析结果确定所述嵌入式***作为从设备,并确定对应的通信状态和通信模式;
当所述嵌入式***向从设备发送数据或者信号时,向从设备发送配置确认消息并接收从设备根据通信协议发送的切换命令,解析所述切换命令,根据解析结果确定所述嵌入式***作为主设备,并确定对应的通信状态和通信模式。
5.根据权利要求3所述的方法,其特征在于,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态包括:
当所述嵌入式***作为主设备或者从设备,与集成电路总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行警报命令通信时,将串行时钟线引脚和串行数据线引脚和中断警报线引脚接通,将中断控制线引脚断开,并关闭所述中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行控制命令通信时,将串行时钟线引脚和串行数据线引脚和中断控制线引脚接通,将中断警报线引脚断开,并关闭所述中断警报线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行数据传输通信时,将串行时钟线引脚和串行数据线引脚接通,将中断警报线引脚和中断控制线引脚断开,并关闭所述中断警报线引脚和中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行警报命令通信时,将串行时钟线引脚和串行数据线引脚和中断警报线引脚接通,将中断控制线引脚断开,并关闭所述中断控制线引脚对应的寄存器对应的存储项;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行控制命令通信时,将串行时钟线引脚和串行数据线引脚和中断控制线引脚接通,将中断警报线引脚断开,并关闭所述中断警报线引脚对应的寄存器对应的存储项。
6.根据权利要求5所述的方法,其特征在于,按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信包括:
当所述嵌入式***作为主设备或者从设备,与集成电路总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据集成电路总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据***管理总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行警报命令通信时,从设备将中断警报线引脚通过上拉电阻实现低电平输出,当主设备检测到中断警报线引脚的下降沿时,发送地址为警报提醒地址的读取命令,所述读取命令长度为预设字节;从设备响应警报提醒地址,并将自身的从设备地址发送至主设备,从设备地址发送完成后,从设备将中断警报线引脚恢复高电平状态;
当所述嵌入式***作为主设备或者从设备,与***管理总线传输模式的从设备或者主设备进行控制命令通信时,主设备激活中断控制线引脚;从设备检测到中断控制线引脚激活后,进入停止或断电的低功耗模式,或者从设备检测到中断控制线引脚激活后,主设备通过串行时钟线引脚或串行数据线引脚上发送配置命令,以使得从设备在中断控制线引脚激活时按照配置命令运行;主设备将中断控制线引脚恢复,从设备检测到中断控制线引脚恢复后,从低功耗模式恢复为正常功耗模式;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行数据传输通信时,串行数据线引脚通过上拉电阻实现输出浮空,依据电源管理总线传输模式对应的数据传输协议实现数据传输,串行时钟线引脚通过上拉电阻发送时钟信号;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行警报命令通信时,从设备将中断警报线引脚通过上拉电阻实现低电平输出,当主设备检测到中断警报线引脚的下降沿时,发送地址为警报提醒地址的读取命令,所述读取命令长度为预设字节;从设备响应警报提醒地址,并将自身的从设备地址发送至主设备,从设备地址发送完成后,从设备将中断警报线引脚恢复高电平状态;
当所述嵌入式***作为主设备或者从设备,与电源管理总线传输模式的从设备或者主设备进行控制命令通信时,主设备激活中断控制线引脚,从设备检测到中断控制线引脚激活后,主设备按照ON_OFF_CONFIG协议向从设备发送控制命令,以使得从设备按照控制命令运行,并向主设备做出响应;主设备将中断控制线引脚恢复,从设备检测到中断控制线引脚恢复后,从设备按照默认状态运行,向主设备做出响应。
7.根据权利要求2所述的方法,其特征在于,所述数据传输速率的预设范围为10-100Kbit/s,数据传输地址的预设长度为7bit。
8.根据权利要求6所述的方法,其特征在于,依据集成电路总线传输模式对应的数据传输协议实现数据传输包括:
主设备向从设备发送数据传输起始信号或者续传信号,并向从设备发送待传输的数据,从设备在接收到数据后回复确认应答消息告知主设备;
主设备向从设备发送数据传输起始信号或者续传信号;并向从设备发送待传输的数据,从设备在未接收到数据后回复否定应答消息告知主设备。
9.一种支持多种嵌入式***串行总线通信的***,其特征在于,所述串行总线通信的***中包括至少一个主设备和至少一个从设备,所述主设备或者所述从设备的嵌入式***包括:集成电路总线芯片,所述集成电路总线芯片包含带有上拉电阻的四根引脚,所述引脚包括:串行时钟线引脚、串行数据线引脚、中断警报线引脚和中断控制线引脚;所述串行总线通信的***通过如下方式进行通信:
确定所述嵌入式***的数据传输速率和数据传输地址是否满足预设条件;
当所述数据传输速率和所述数据传输地址满足预设条件时,监听所述嵌入式***的所述通信状态和通信模式;
根据监听到的所述通信状态和所述通信模式,设置所述嵌入式***中所述引脚的状态,并设置所述引脚对应的寄存器的存储状态;
按照监听到的所述通信状态和所述通信模式与主设备或者从设备进行通信。
10.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311438120.5A CN117708030A (zh) | 2023-11-01 | 2023-11-01 | 支持嵌入式***中多种串行总线通信的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311438120.5A CN117708030A (zh) | 2023-11-01 | 2023-11-01 | 支持嵌入式***中多种串行总线通信的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117708030A true CN117708030A (zh) | 2024-03-15 |
Family
ID=90155928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311438120.5A Pending CN117708030A (zh) | 2023-11-01 | 2023-11-01 | 支持嵌入式***中多种串行总线通信的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117708030A (zh) |
-
2023
- 2023-11-01 CN CN202311438120.5A patent/CN117708030A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7529862B2 (en) | System for providing access of multiple data buffers to a data retaining and processing device | |
US9645954B2 (en) | Embedded microcontroller and buses | |
US20190108149A1 (en) | I3c in-band interrupts directed to multiple execution environments | |
US20180329837A1 (en) | Input/output direction decoding in mixed vgpio state exchange | |
CN103645975B (zh) | 一种异常恢复的方法及串行总线传输装置 | |
US20230315653A1 (en) | Network device configuration based on slave device type | |
CN103412836A (zh) | 热插拔处理方法、装置以及*** | |
CN107145198B (zh) | 一种提升服务器对硬盘兼容能力的方法及其主板 | |
TW200401537A (en) | Network accessing system for computer and method of controlling the same | |
US20080279104A1 (en) | Methods and systems for centralized link power management control (clmc) | |
US11436182B2 (en) | System and method for handling in-band interrupts on inactive I3C channels | |
JP7493871B2 (ja) | 電子デバイス及びウェイクアップのトリガに応答する方法 | |
CN115203084A (zh) | 高速***组件互连(pcie)接口装置及其操作方法 | |
CN116644011B (zh) | 一种i2c设备的快速识别方法、装置、设备及存储介质 | |
US20170371830A1 (en) | Accelerated i3c master stop | |
US6473810B1 (en) | Circuits, systems, and methods for efficient wake up of peripheral component interconnect controller | |
CN117708030A (zh) | 支持嵌入式***中多种串行总线通信的方法及*** | |
US11520729B2 (en) | I2C bus architecture using shared clock and dedicated data lines | |
US5831849A (en) | Data control system | |
US11132041B2 (en) | Power supply with management interface and method therefor | |
CN111913904A (zh) | 向利用主从通信协议的多个从属装置自动分配互不相同地址的方法及用于其的装置 | |
JP2003030127A (ja) | Sdioホストコントローラ | |
CN114661139B (zh) | 降低功耗的方法、装置、设备及计算机可读存储介质 | |
CN212229628U (zh) | 从机设备 | |
CN100377126C (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 |