CN107391401B - 一种数据读取方法及*** - Google Patents

一种数据读取方法及*** Download PDF

Info

Publication number
CN107391401B
CN107391401B CN201710534189.6A CN201710534189A CN107391401B CN 107391401 B CN107391401 B CN 107391401B CN 201710534189 A CN201710534189 A CN 201710534189A CN 107391401 B CN107391401 B CN 107391401B
Authority
CN
China
Prior art keywords
equipment
moment
sampling
sampling instant
denoted
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
Application number
CN201710534189.6A
Other languages
English (en)
Other versions
CN107391401A (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 Yahua IOT Technology Development Co.,Ltd.
Original Assignee
Beijing Yahua Italy North Amperex Technology 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 Yahua Italy North Amperex Technology Ltd filed Critical Beijing Yahua Italy North Amperex Technology Ltd
Priority to CN201710534189.6A priority Critical patent/CN107391401B/zh
Publication of CN107391401A publication Critical patent/CN107391401A/zh
Application granted granted Critical
Publication of CN107391401B publication Critical patent/CN107391401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

本发明公开了一种数据读取方法及***。该方法和***应用于一个主设备和多个从设备的通信中,主设备读取从设备的数据,该方法包括:获取一个周期的采样时刻,采样时刻为多个;在各采样时刻,枚举所有从设备,记录从设备的数量,记为从设备的探测数量,得到各所述采样时刻的从设备的探测数量;选取从设备的探测数量最大的时刻,记为备选时刻;判断各备选时刻中是否有连续时刻;如果是,则将连续的备选时刻记为连续采样时刻,计算连续采样时刻的平均值,记为最佳时刻;在下一周期的所述最佳时刻,对从设备的数据进行读取。本发明提供的数据读取方法及***,能够在不考虑从设备的数量及从设备与主设备之间的距离的情况下,更好的读取到从设备的数据。

Description

一种数据读取方法及***
技术领域
本发明涉及数据读取领域,特别是涉及一种数据读取方法及***。
背景技术
一线总线是由达拉斯半导体公司推出的一项总线技术,采用单根信号线,既能传输时钟和数据,又能通过寄生电容给从设备供电,由单个主设备和多个从设备构成,从设备数量不受限制。在实际使用一线总线的工业现场,经常出现从设备较多(大于32),或从设备距离主设备较远(超过200米)的情况,按照固定的读写时序进行主设备和从设备之间的通信时,由于从设备的静态漏电流、线材的电阻和电容特性而导致通信不能成功。
在国内粮食储存过程中,需要对粮食温度进行实时监测,使用的数字温度传感器芯片为DS18b20,在船舶、智能家居,管道天然气等行业的监控场景中,需要对现场状态进行监测,方案中大量使用DS2438这款一线AD采集芯片来进行模拟量采集。上述两种传感器都是使用一线总线进行的数据通信。
在传输距离较远的情况下,如在一个天然气中转站的监控***中,现场使用DS2438,布线距离超过200米时,此时在信号传输过程中传输线电容的充放电效应已经不可忽略,表现为,总线电平从低电平跳变到高电平时,电平上升时间就达到了5-10us,此时读时序的正常采样窗口就要延迟5-10us。
目前解决上述问题的方式是在设计一线总线***时,从硬件上减小主设备和从设备之间的距离。
但现实工业现场,减小主从设备之间的距离必须增加中继节点,加大施工难度和成本,并且增加检修点和技术故障点。
发明内容
本发明的目的是提供一种数据读取方法及***,能够在不考虑从设备的数量及从设备与主设备之间的距离的情况下,准确的读取到从设备的数据。
为实现上述目的,本发明提供了如下方案:
一种数据读取方法,所述方法应用于一个主设备和多个从设备的通信中,所述主设备读取所述从设备的数据,所述数据读取方法包括:
获取一个周期的采样时刻,所述采样时刻为多个;
在各所述采样时刻,枚举所有所述从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量;
选取所述从设备的探测数量最大的时刻,记为备选时刻;
判断各所述备选时刻中是否有连续时刻;
如果是,则将连续的所述备选时刻记为连续采样时刻,计算所述连续采样时刻的平均值,记为最佳时刻;
在下一周期的所述最佳时刻,对所述从设备的数据进行读取。
可选的,在所述枚举所有所述从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量之后,在所述选取从设备的探测数量最大的时刻,记为备选时刻之前,还包括:
从各所述采样时刻中删除枚举过程不成功的时刻,所述枚举过程不成功的时刻为:枚举时,出现复位脉冲后没有检测到存在脉冲的时刻或者两次读一次写总线时两次读都是高电平的时刻。
可选的,在所述获取一个周期的采样时刻之前,还包括:
获取采样区间和采样步长;
根据所述采样区间和采样步长计算采样时刻。
可选的,在所述计算所述连续采样时刻的平均值,记为最佳时刻,之后,还包括:
保存所述最佳时刻以及所述从设备的数量。
本发明还提供了一种数据读取***,所述***包括:
采样时刻获取单元,用于获取一个周期的采样时刻,所述采样时刻为多个;
枚举单元,用于在各所述采样时刻,枚举所有从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量;
备选时刻选取单元,用于选取所述从设备的探测数量最大的时刻,记为备选时刻;
判断单元,用于判断各所述备选时刻中是否有连续时刻;
最佳时刻计算单元,用于当各所述备选时刻中有连续时刻时,将连续的所述备选时刻记为连续采样时刻,计算所述连续采样时刻的平均值,记为最佳时刻;
数据读取单元,用于在下一周期的所述最佳时刻,对所述从设备的数据进行读取。
可选的,所述***还包括:
时刻删除单元,用于从各所述采样时刻中删除枚举过程不成功的时刻,所述枚举过程不成功的时刻为:枚举时,出现复位脉冲后没有检测到存在脉冲的时刻或者两次读一次写总线时两次读都是高电平的时刻。
可选的,所述***还包括:
采样区间步长获取单元,用于获取采样区间和采样步长;
采样时刻计算单元,用于根据所述采样区间和采样步长计算采样时刻。
可选的,所述***还包括:
保存单元,用于保存所述最佳时刻以及所述从设备的数量。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明通过在各采样时刻对所述从设备进行遍历枚举,并记录通过遍历枚举得到的所述从设备的数量,选取从设备的探测数量最大的时刻,记为备选时刻,计算连续的备选时刻的平均值,记为最佳时刻,根据最佳时刻调整主设备的采集时序。由于本发明选取的最佳时刻是能够枚举到最多从设备的时刻,那么,在该最佳时刻同样也能读取数据的从设备的的数量也最多,这使得本发明提供的方法及***能够在不考虑从设备的数量及从设备与主设备之间的距离的情况下,更好的读取到从设备的数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一线总线***的结构框图;
图2为本发明实施例数据读取方法的流程示意图;
图3为本发明实施例数据读取***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种数据读取方法及***,能够在不考虑从设备的数量及从设备与主设备之间的距离的情况下,准确的读取到从设备的数据。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一线总线是由达拉斯半导体公司推出的一项总线技术,采用单根信号线,既能传输时钟和数据,又能通过寄生电容给从设备供电,由单个主设备(Master)和多个从设备(Slave)构成,从设备数量不受限制。
一线总线通信协议:一线总线通信协议中,主设备和从设备之间的通讯协议由三种类型,即复位时序、读时序和写时序,全部由主设备发起,在本文中,主设备称为Master,从设备称为Slave。
复位时序:Master通过拉低单总线480~960us,产生复位脉冲,然后释放总线,进入接收模式。Master释放总线时,会产生低电平跳变为高电平的上升沿,Slave检测到上升沿之后,延时15~60us,便拉低总线60~240us来产生应答脉冲。Master接收到Slave的应答脉冲说明Slave准备就绪,初始化过程完成。
写时序:有两种,Master写0时序和写1时序。
当Master拉低总线后,Slave在15~60us的时间窗口内对数据线进行采样。如果数据线为低电平,就是写0,如果数据线为高电平,就是写1。Master要产生一个写1时序,就必须把数据线拉低,此后的15us内把数据线拉高。Master要产生一个写0时间隙,就必须把数据线拉低并保持60us。
读时序:
Master拉低总线,并保持至少1us后释放总线,在15us内从总线上读取数据。
图1为本发明实施例一线总线***的结构框图,如图1所示,主设备带有微处理器(MCU),使用MCU的一个双向GPIO作为一线总线。所有分支节点连至一线总线,各节点具有不同的地址码,同时遵循一线总线协议,主设备和所有节点通过一线总线协议进行通信。
根据一线总线的时序要求,主设备访问总线上的节点时,必须遵守严格的命令序列,即初始化、ROM命令和功能命令,否则分支节点不响应主设备请求。在通讯过程中,共有三种时序,即复位时序、读时序和写时序。
对于主设备控制总线的电平为高有两种方式,一种是使用上拉电阻使总线自然拉高,本质是RC充电电路,另一种是使用场效应管使总线强制拉高,原理是MOSFET的漏极和源极之间的沟道导通。
对于主设备控制总线的电平为低一般使用主设备的io引脚输出低电平,此时,外部电源经上拉电阻和片内MOS管导通接地。
对于写0:
主设备要先拉低总线,可以一直拉低总线60us,从节点设备一般在30us时采样,工程现场会出现问题,没有技术风险。
对于写1:
主设备要先拉低总线3us到4us,可以释放总线或强上拉总线为高,若使用释放总线方案,则需要上拉电阻,上拉电阻阻值不能太大,如总线上有128的节点,则上拉电阻经过计算需小于500欧姆,才能保证在15us之内把总线电平拉到高电平,但不能太小,太小了有影响主设备的下拉电平。故在多负载节点时,应使用MOSFET管做强上拉驱动,快速把总线拉高,然后待负载节点采样后,再释放总线。
对于读0:
某个分支节点要从空闲高电平拉至低电平,如果上拉电阻设计为500欧姆,此时有128个分支节点存在,则分支节点输出低电平时,经过实际测量总线电平在0.5V左右,对主设备的电平判决是一个风险。若上拉电阻设计为4.7K欧姆,则需要12us以后主设备采样才能采到低电平,留给主设备采样的时间段非常短,这也是一个技术风险。
对于读1:
某个特定分支节点要从空闲高电平拉至低电平,然后释放总线,待主设备在第15us时采样,此时的问题,1)总线上所有分支节点数量大于128个时,特定分支节点拉低总线3至4us,之后还没有到达低电平时,特定分支节点便释放总线了,此会导致主设备采样错误。
综上,在硬件方案设计时,如果采用上拉电阻自然上拉时,上拉电阻阻值的选择尤为重要。当分支设备较多(>128),上拉电阻阻值太大,释放总线时,总线电平上升较慢,对主设备和分支设备采样高电平有风险,上拉电阻太小,拉低总线时不能拉到正常的零电位,对采样低电平有风险。
故在实际工业现场中,分支设备较多情况下,单纯依靠上拉电阻的自然上拉不能满足现场施工情况,一般主设备会增加MOSFET管进行强制上拉和强制下拉的相关电路,而同时带来的问题是在强上拉和强下拉的瞬间会产生振铃,振铃的时间为3-5us左右,振铃的幅度最大可以到正常高电平的30%,故振铃的幅度和时间对采样时刻的真实值都有偏差,此偏差已经影响Mcu对高低电平的判决。
当主设备的驱动程序设计好一个采样点时,可能适用于总线上分支设备总数量不超过一定数量(比如48个)的情况下;当现场增加分支设备时,使用此采样时刻就会导致通讯错误。不同的工程和施工现场会有不同数量的分支设备,如果主设备有能力应对不同的施工现场,便极大提高了现场技术调试的时间,从而提高***鲁棒性。
本发明提供了一种数据读取方法,能够在不考虑从设备的数量及从设备与主设备之间的距离的情况下,准确的读取到从设备的数据,图2为本发明实施例数据读取方法的流程示意图,如图2所示,该数据读取方法步骤如下:
步骤201:获取一个周期的采样时刻,所述采样时刻为多个,所述采集时刻为[t1,t2,…,tn],t1,t2,…,tn为时间间隔相同的多个连续时刻,如10μs、12μs、14μs、16μs、18μs、20μs、22μs、24μs、26μs、28μs、30μs;
步骤202:在各所述采样时刻,枚举所有所述从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量;
步骤203:选取所述从设备的探测数量最大的时刻,记为备选时刻,比如备选时刻为14μs、16μs、18μs、22μs、26μs;
步骤204:判断各所述备选时刻中是否有连续时刻;
步骤205:如果各所述备选时刻中有连续时刻,如14μs、16μs、18μs是连续的,则将连续的所述备选时刻记为连续采样时刻,计算所述连续采样时刻的平均值记为最佳时刻,即16μs为最佳时刻;
步骤206:在下一周期的所述最佳时刻,对所述从设备的数据进行读取。
其中,在步骤202之后,步骤203之前,还包括:
从各所述采样时刻中删除枚举过程不成功的时刻,所述枚举过程不成功的时刻为:枚举时,出现复位脉冲后没有检测到存在脉冲的时刻或者两次读一次写总线时两读都是高电平的时刻。
枚举过程为:主设备首先发送复位信号到一线总线,然后检测存在脉冲,若无存在脉冲,枚举结束;否则发送搜索命令到总线上,此时总线上的从设备收到搜索命令后,开始准备响应主设备的搜索命令,逐位把自己的编号(ROM-ID)放到总线上,从设备以开漏结构挂接到总线上,满足“线与“逻辑,主设备可以读取到当前总线状态,记录下来,并且各从设备把本次放到总线上的本位ID码取反后再放到总线上,主设备读取并记录本次状态,并根据这两次状态往总线上写高电平或低电平,这样主设备针对每一位ID通过两次读一次写总线的方式进行判决,最后即可枚举出总线上的设备数量。
在步骤201之前,还包括:
获取采样区间和采样步长,采样区间和采样步长由人为设定,如采样区间设为[10μs,30μs],步长设置为2μs;
根据所述采样区间和采样步长计算采样时刻,如根据采样区间[10μs,30μs],步长2μs,计算采用时刻为10μs、12μs、14μs、16μs、18μs、20μs、22μs、24μs、26μs、28μs、30μs。
在步骤205之后,还包括:
保存所述最佳时刻以及所述从设备的数量,当以便在后续在具有该数量的从设备的场合中,比如,当在另一应用***具有与本***相同数量的主设备和从设备时,直接调用该最佳时刻作为数据采样或读取时刻。
作为本发明的又一实施例,上位机控制***有PC和上位机软件***组成,负责整个从设备数量探测过程的启动和初始配置,并传递合适的探测区间和探测步长给一线主设备。上位机控制***和一线主设备通过RS485、RJ45或433MHz的无线信号进行通信。
一线主设备负责具体的探测任务,***组成为嵌入式硬件和软件***。接受到上位机控制***的探测命令后,根据上位机控制***设定的探测区间和探测步长通过一线总线和从设备进行通信,实施探测过程,探测区间和探测步长也称为采集区间和采集步长。
一线主设备负责探测以及保存每一次探测结果,并根据探测结果决定采样时刻的有效性,并把探测结果返回给上位机***。
分支设备通过一线总线和一线主设备进行通信,响应一线主设备的探测指令,下述分支设备即表示一线从设备。
初始值设定和准备工作:
在启动自动探测前,上位机控制***需要设定一个采样区间。根据实验结果可设置为2微秒至33微秒之间,每次探测的步长为2微妙,本区间可适应现场线缆铺设长度在1米至500米之间,负载分支设备在1至300个之间。
上位机控制***把此探测区间和探测步长传递给一线主设备,一线主设备根据上述设定的采集区间和步长即可计算出需要探测的总次数以及每次探测时对应的采集时刻。
一线主设备的探测过程如下:
一线主设备从计算出来的总探测次数中,依次选择一个采样时刻进行总线枚举,并把此采样时刻作为读时序的采样时刻,枚举过程使用标准枚举过程,一线主设备记录本采集时刻枚举到的分支设备数量及枚举结果。枚举结果用错误代码表示,共三种:0表示正常,大于0表示错误。错误有如下两种情况:出现复位脉冲后没有检测到存在脉冲或者两次读一次写总线时两读都是高电平,分别用1和2表示。
当一线主设备把所有的采样时刻探测完成,便得到了多次探测结果和探测到的分支设备数量。通过以上分析,定义如下变量来描述分析结果:
探测总次数:TC(Total Count)
每次探测使用的采样时刻数组,共有TC个值,单位为微妙,记录为数组TS[TC],值依次为:TS1,TS2,TS3,……,TSn-1,TSn,……,TSTC-1,TSTC
每次探测得到的错误代码,共有TC个值,记录为数组RET[TC],值依次为:RET1,RET2,RET3,……,RETn-1,RETn,……RETTC-1,RETTC
每次探测得到的分支设备数量,共有TC个值,记录为数组CNT[TC],值依次为:CNT1,CNT2,CNT3,……,CNTn-1,CNTn,……,CNTTC-1,CNTTC
对一线主设备的探测结果处理:根据探测结果,需要对此数据做出分析处理,因各次探测得到的错误代码不一定都是正常的,故首先需要剔除掉错误代码大于0的探测记录,即本条记录不参与后续的数据处理。根据各次探测到的从设备的数量,找到探测数量最大值,然后剔除掉探测分支数量不等于最大探测数量的采样时刻。
这两部分数据剔除掉后,得到一个新的采样时刻数组,对应此采样时刻探测的分支设备数量已经是最大值,从此采样时刻数组里,找到最大连续的采集区间,然后对此采集区间中的采样时刻取平均值,便得到最优的采样时刻,将此最优时刻保存在一线主设备的EEROM或Flash里,以便后续对分支设备的读操作都使用此采样时刻点。
上述算法使用定义的变量表示如下:
遍历RET[TC]数组,统计错误代码大于0的元素数量为CNT_ERR,删除此部分元素,形成新的数组,记录为RET_P1[TC-CNT_ERR];
遍历CNT[TC]数组,删除对应错误代码为错误的采集时刻的元素,形成新的数组,记录为CNT_P1[TC-CNT_ERR];
统计CNT_P1数组元素的最大值,记为:CNT_MAX,然后遍历CNT_P1数组元素,得到元素值不等于CNT_MAX的元素数量为CNT_NOT_MAX,形成新的数组CNT_P2,其大小为:TC-CNT_ERR-CNT_NOT_MAX;
处理CNT_P2数组,找到采集时刻最大的连续区间,并计算连续区间的采集时刻的平均值,得到最优采样时刻Topt。
总线的枚举过程为:主设备首先发送复位信号到一线总线,然后检测存在脉冲,若无存在脉冲,枚举结束;否则发送搜索命令到总线上,此时总线上的从设备收到搜索命令后,开始准备响应主设备的搜索命令,逐位把自,己的编号(ROM-ID)放到总线上,总线上挂载的从设备总是三极管开漏结构,满足“线与“逻辑,主设备可以读取到当前总线状态,记录下来,并且各从设备把本次放到总线上的本位ID码取反后再放到总线上,主设备读取并记录本次状态,并根据这两次状态往总线上写高电平或低电平,这样主设备针对每一位ID通过两次读一次写总线的方式进行判决,最后即可枚举出总线上的设备数量。
本发明通过的数据读取方法通过在各采样时刻对所述从设备进行遍历枚举,并记录通过遍历枚举得到的所述从设备的数量,选取从设备的探测数量最大的时刻,记为备选时刻,计算连续的备选时刻的平均值,记为最佳时刻,根据最佳时刻调整主设备的采集时序。由于本发明选取的最佳时刻是能够枚举到最多从设备的时刻,那么,在该最佳时刻同样也能读取数据的从设备的的数量也最多,这使得本发明提供的方法及***能够在不考虑从设备的数量及从设备与主设备之间的距离的情况下,更好的读取到从设备的数据。
图3为本发明实施例数据读取***的结构示意图,如图3所示,所述***包括:
采样时刻获取单元301,用于获取一个周期的采样时刻,所述采样时刻为多个;
枚举单元302,用于在各所述采样时刻,枚举所有所述从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量;
备选时刻选取单元303,用于选取所述从设备的探测数量最大的时刻,记为备选时刻;
判断单元304,用于判断各所述备选时刻中是否有连续时刻;
最佳时刻计算单元305,用于当各所述备选时刻中有连续时刻时,将连续的所述备选时刻记为连续采样时刻,计算所述连续采样时刻的平均值,记为最佳时刻;
数据读取单元306,用于在下一周期的所述最佳时刻,对所述从设备的数据进行读取。
所述***还包括:
时刻删除单元,用于从各所述采样时刻中删除枚举过程不成功的时刻,所述枚举过程不成功的时刻为:枚举时,出现复位脉冲后没有检测到存在脉冲的时刻或者两次读一次写总线时两次读都是高电平的时刻。
采样区间步长获取单元,用于获取采样区间和采样步长;
采样时刻计算单元,用于根据所述采样区间和采样步长计算采样时刻。
保存单元,用于保存所述最佳时刻以及所述从设备的数量。
本发明提供的数据读取***通过在各采样时刻对所述从设备进行遍历枚举,并记录通过遍历枚举得到的所述从设备的数量,选取从设备的探测数量最大的时刻,记为备选时刻,计算连续的备选时刻的平均值,记为最佳时刻,根据最佳时刻调整主设备的采集时序。由于本发明选取的最佳时刻是能够枚举到最多从设备的时刻,那么,在该最佳时刻同样也能读取数据的从设备的的数量也最多,这使得本发明提供的方法及***能够在不考虑从设备的数量及从设备与主设备之间的距离的情况下,更好的读取到从设备的数据。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种数据读取方法,其特征在于,所述方法应用于一个主设备和多个从设备的通信中,所述主设备读取所述从设备的数据,所述数据读取方法包括:
获取一个周期的采样时刻,所述采样时刻为多个;
在各所述采样时刻,枚举所有所述从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量;
选取所述从设备的探测数量最大的时刻,记为备选时刻;
判断各所述备选时刻中是否有连续时刻;
如果是,则将连续的所述备选时刻记为连续采样时刻,计算所述连续采样时刻的平均值,记为最佳时刻;
在下一周期的所述最佳时刻,对所述从设备的数据进行读取。
2.根据权利要求1所述的方法,其特征在于,在所述枚举所有所述从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量之后,在所述选取从设备的探测数量最大的时刻,记为备选时刻之前,还包括:
从各所述采样时刻中删除枚举过程不成功的时刻,所述枚举过程不成功的时刻为:枚举时,出现复位脉冲后没有检测到存在脉冲的时刻或者两次读一次写总线时两次读都是高电平的时刻。
3.根据权利要求1所述的方法,其特征在于,在所述获取一个周期的采样时刻之前,还包括:
获取采样区间和采样步长;
根据所述采样区间和采样步长计算采样时刻。
4.根据权利要求1所述的方法,其特征在于,在所述计算所述连续采样时刻的平均值,记为最佳时刻,之后,还包括:
保存所述最佳时刻以及所述从设备的数量。
5.一种数据读取***,其特征在于,所述***包括:
采样时刻获取单元,用于获取一个周期的采样时刻,所述采样时刻为多个;
枚举单元,用于在各所述采样时刻,枚举所有从设备,并记录所述从设备的数量,记为从设备的探测数量,得到各所述采样时刻的所述从设备的探测数量;
备选时刻选取单元,用于选取所述从设备的探测数量最大的时刻,记为备选时刻;
判断单元,用于判断各所述备选时刻中是否有连续时刻;
最佳时刻计算单元,用于当各所述备选时刻中有连续时刻时,将连续的所述备选时刻记为连续采样时刻,计算所述连续采样时刻的平均值,记为最佳时刻;
数据读取单元,用于在下一周期的所述最佳时刻,对所述从设备的数据进行读取。
6.根据权利要求5所述的***,其特征在于,所述***还包括:
时刻删除单元,用于从各所述采样时刻中删除枚举过程不成功的时刻,所述枚举过程不成功的时刻为:枚举时,出现复位脉冲后没有检测到存在脉冲的时刻或者两次读一次写总线时两次读都是高电平的时刻。
7.根据权利要求5所述的***,其特征在于,所述***还包括:
采样区间步长获取单元,用于获取采样区间和采样步长;
采样时刻计算单元,用于根据所述采样区间和采样步长计算采样时刻。
8.根据权利要求5所述的***,其特征在于,所述***还包括:
保存单元,用于保存所述最佳时刻以及所述从设备的数量。
CN201710534189.6A 2017-07-03 2017-07-03 一种数据读取方法及*** Active CN107391401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710534189.6A CN107391401B (zh) 2017-07-03 2017-07-03 一种数据读取方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710534189.6A CN107391401B (zh) 2017-07-03 2017-07-03 一种数据读取方法及***

Publications (2)

Publication Number Publication Date
CN107391401A CN107391401A (zh) 2017-11-24
CN107391401B true CN107391401B (zh) 2019-06-21

Family

ID=60334305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710534189.6A Active CN107391401B (zh) 2017-07-03 2017-07-03 一种数据读取方法及***

Country Status (1)

Country Link
CN (1) CN107391401B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502465B (zh) * 2019-08-19 2023-06-27 上海建工集团股份有限公司 一种一线总线的通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591834A (zh) * 2010-12-02 2012-07-18 捷讯研究有限公司 单线总线***
CN103823776A (zh) * 2014-02-28 2014-05-28 上海晟矽微电子股份有限公司 面向主从设备通信的单总线及通信方法
CN104541473A (zh) * 2012-06-01 2015-04-22 黑莓有限公司 基于概率方法的用于保证多格式音频***中的锁定的通用同步引擎
CN106021165A (zh) * 2016-05-16 2016-10-12 中国电子科技集团公司第四十研究所 一种lin总线解码、触发和分析技术

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3558599B2 (ja) * 2001-02-02 2004-08-25 日本電気株式会社 データ伝送システム及びデータ伝送方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591834A (zh) * 2010-12-02 2012-07-18 捷讯研究有限公司 单线总线***
CN104541473A (zh) * 2012-06-01 2015-04-22 黑莓有限公司 基于概率方法的用于保证多格式音频***中的锁定的通用同步引擎
CN103823776A (zh) * 2014-02-28 2014-05-28 上海晟矽微电子股份有限公司 面向主从设备通信的单总线及通信方法
CN106021165A (zh) * 2016-05-16 2016-10-12 中国电子科技集团公司第四十研究所 一种lin总线解码、触发和分析技术

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
单总线协议-以DS18B20举例;信长的野望;《https://blog.csdn.net/pengrui18/article/details/23296273》;20140409;全文

Also Published As

Publication number Publication date
CN107391401A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN102789691A (zh) 一种车流量和车速的检测方法及***
JP2001352350A (ja) 連続ビットストリームの統計的アイダイアグラムによる測定装置及び方法
CN107948020A (zh) 一种can总线采样点测试的方法及装置
CN107037311A (zh) 一种变压器绕组匝间绝缘故障诊断方法与装置
CN108120919A (zh) 一种集成电路时间参数测试电路及方法
CN107391401B (zh) 一种数据读取方法及***
CN105515893A (zh) 一种确定采样点位置的方法
CN202748940U (zh) 基于红外传感器的车流量检测装置
CN107290654A (zh) 一种fpga逻辑测试结构及方法
CN104198883A (zh) 检测断线的***和方法
CN103018780B (zh) 一种探针式高频响液态金属泄漏检测装置
CN105509581B (zh) 编程器以及电子***的延期时间设定方法
CN106707034A (zh) 基于Windows***函数和多线程技术的脉冲信号检测方法
CN203596016U (zh) 一种传感器与微控制器通信的万能接口
CN103235191A (zh) 卫星分插分离信号检测装置
CN204886928U (zh) 基于pcie总线的微小时间间隔数据采集装置
CN106772560A (zh) 实时监测检波器状态的节点式地震勘探仪器及控制方法
CN203688086U (zh) 基于数字温度传感器的两线远距离温度测量电路
CN103312307B (zh) 时钟频偏检测方法及装置
CN109005404A (zh) 一种可检测摄像头模组类型的测试***和方法
CN109887259B (zh) 一种单线传输装置及方法
CN109855746A (zh) 温度值传输装置及其方法
CN201066372Y (zh) 用于电子式电能表的复位监控器
CN208157071U (zh) 一种固态硬盘
CN109147643A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 101407 room 103, building 1, yard 33, Yanqi Road, Yanqi Economic Development Zone, Huairou District, Beijing

Patentee after: Beijing Yahua IOT Technology Development Co.,Ltd.

Address before: 100000 1209, block B, Botai international building, No. 122, Nanhu East Park, Chaoyang District, Beijing

Patentee before: BEIJING YAWAYINOSI NEW ENERGY TECHNOLOGY Co.,Ltd.