CN110502465B - 一种一线总线的通信方法 - Google Patents
一种一线总线的通信方法 Download PDFInfo
- Publication number
- CN110502465B CN110502465B CN201910762913.XA CN201910762913A CN110502465B CN 110502465 B CN110502465 B CN 110502465B CN 201910762913 A CN201910762913 A CN 201910762913A CN 110502465 B CN110502465 B CN 110502465B
- Authority
- CN
- China
- Prior art keywords
- bus
- communication
- signal
- line bus
- rising edge
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
- Small-Scale Networks (AREA)
Abstract
为了解决一线总线“寄生电容”及“漏电流”对数字电平“上升沿时间”产生影响,及其后对总线通信过程产生的影响,保证一线总线的通信质量,本发明提供一种一线总线的通信方法。一种一线总线的通信方法,所述一线总线包括用于控制一线总线通信的微处理器、以及服从一线总线协议的总线器件,所述一线总线的通信方法包括如下步骤:第一步,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2;第二步,设置微处理器的信号读取周期T,信号读取周期T不小于实际上升沿时间t2;第三步,进行一线总线数据通信,微处理器在信号读取周期T内读取总线器件产生的电平信号。
Description
技术领域
本发明属于通信技术技术领域,特别涉及一种一线总线的通信方法。
背景技术
一线总线是一种处在微处理器与一线总线器件之间的低功耗数据总线。一线总线主要由三个部分组成,即总线主动者,它通过软件程序控制总线通信的进行;连接导线,因其只需一根数据线和一根参考地线,故称为“一线”;以及服从一线总线协议的器件。由于基于“一线总线技术”的通信方式,现场布线简单,传输可靠,因此,目前已经在现场的大规模传感数据采集中被广泛应用。该技术弥补了现场工况条件复杂,布线困难、无线信号传输困难,不稳定的缺陷,但于此同时也存在问题。
一线总线中的总线主动者,即微处理器,通过“开漏输出”的方式来完成总线通讯的时序控制。以目前市场上最普遍的,利用一线总线进行通信的传感器DS18B20为例。依照现有的厂家技术资料,DS18B20供电为3至5V,传感器输出方式为“开漏输出”,采用4.7K上拉电阻提供高电平。但是,当多个DS18B20同时在一根总线上或总线长度超过20米时或传感器超过20个时,由于“寄生电容”和“漏电流”,就会造成一线总线“上升沿时间”延时,发生数据读取错误。目前,大多数情况下只保证10个以内传感器的可靠读取。这个现象是基于“一线总线技术”进行通信的共有问题。
为了更好的研究这个问题,我们可以将总线及总线器件的“寄生电容”及“漏电流”现象进行等效,总线及总线器件“寄生电容”及“漏电流”现象的等效电路图参考说明书附图图1。随着总线长度及总线器件个数的增加,总的“寄生电容”逐步增大,“漏电阻”逐步减小,从而直接导致总线“上升沿时间”延时。
总线“上升沿时间”出现时间延后,其实际过程参考图2,总线读取时序图。图中,VCC为电源电压,VH为高电平电压。当总线器件数量少或总线长度较短时,“上升沿时间”为t1;当总线器件数量增多或总线长度较长时,“上升沿时间”为t2。但在技术资料中传感器读取的标准时间为t,此时总线产生的“上升沿时间”延时又使得传感器产生高电平时间超过标准时间,最终导致按标准时间读取的数据始终为低电平,数据读取出错。
针对这种现象,目前采取常用方法是减小上拉电阻阻值,使总线有足够的上拉能力,避免长距离通信总线及多个总线器件的“寄生电容”及“漏电流”造成过大的数字电平“上升沿时间”延时,但这个方法存在两个问题:
其一,并没有完全解决一线总线能力受限的问题,当总线部件数量增多,总线长度增长情况下,减小上拉电阻存在极限,对于更长的总线及搭载更多总线器件仍存在困难;
其二,过度减小上拉电阻,会导致总线电流增大,进一步导致总线功耗增大,特别不利于以电池作为电源设备的低功耗使用。
发明内容
为了解决一线总线“寄生电容”及“漏电流”对数字电平“上升沿时间”产生影响,及其后对总线通信过程产生的影响,保证一线总线的通信质量,本发明提供一种一线总线的通信方法。
本发明的一种一线总线的通信方法的技术方案如下:
一种一线总线的通信方法,所述一线总线包括用于控制一线总线通信的微处理器、以及服从一线总线协议的总线器件,所述一线总线的通信方法包括如下步骤:
第一步,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2;
第二步,设置微处理器的信号读取周期T,信号读取周期T不小于实际上升沿时间t2;
第三步,进行一线总线数据通信,微处理器在信号读取周期T内读取总线器件产生的电平信号。
本发明的一种一线总线的通信方法,消除了“寄生电容”和“漏电流”对一线总线的通信质量带来的影响,通过调整微处理器的信号读取周期T,使信号读取周期T不小于实际上升沿时间t2,从而保证了一线总线信息的准确读取。
根据上述方法进行优化后的总线系统,经过实测发现:可以实现超过100个总线器件的搭载以及超过100米的总线通信距离。
进一步的,所述一线总线的通信方法中,具体的,第一步中,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2的方法为:
首先,微处理器通过“开漏输出”强制控制通信信号处于低电平状态;
然后,微处理器结束通信信号低电平状态,通过上拉电阻自然产生一个上升沿信号;
最后,微处理器对产生上升沿信号的过程进行计时,获取实际上升沿时间t2。
进一步的,所述一线总线的通信方法中,具体的,第一步中,通信信号处于低电平状态的时间大于总线器件的电平信号复位时间。
进一步的,所述一线总线的通信方法中,第二步中,微处理器的信号读取周期T的设置方法为:
首先,将实际上升沿时间t2与总线器件的标准读取时间t比较,得出通信信号延时时间△t,通信信号延时时间△t=实际上升沿时间t2-标准读取时间t;
然后,调整信号读取周期T,信号读取周期T=标准读取时间t+通信信号延时时间△t。
标准读取时间t为总线器件说明书中记载,为该总线器件的信号发生周期。一般情况下,微处理器的信号读取周期T设置为标准读取时间t。
采用上述信号读取周期T的设置方法可以在保证一线总线信息的准确读取的同时,加快一线总线的通信速率,提高一线总线的通信效率。
进一步的,所述一线总线的通信方法中,第一步中,在一线总线上电时,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2。一线总线中的“寄生电容”及“漏电流”会随着长距离布设过程中导线的增减以及总线器件的增减发生变化。因此,在一线总线上电时,就对实际上升沿时间t2进行测定,可以针对不同的一线总线系统提供相应的实际上升沿时间t2,以适应不同一线总线情况。
附图说明
图1是总线及总线器件“寄生电容”及“漏电流”现象的等效电路图;
图2是总线读取时序图;
图3是本发明的一种一线总线的通信方法的流程示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
实施例:
参考图3,本实施例提供一种一线总线的通信方法。所述一线总线包括用于控制一线总线通信的微处理器、以及服从一线总线协议的总线器件,所述一线总线的通信方法包括如下步骤:
第一步,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2;
第二步,设置微处理器的信号读取周期T,信号读取周期T不小于实际上升沿时间t2;
第三步,进行一线总线数据通信,微处理器在信号读取周期T内读取总线器件产生的电平信号。
本实施例的一种一线总线的通信方法,消除了“寄生电容”和“漏电流”对一线总线的通信质量带来的影响,通过调整微处理器的信号读取周期T,使信号读取周期T不小于实际上升沿时间t2,从而保证了一线总线信息的准确读取。
根据上述方法进行优化后的总线系统,经过实测发现:可以实现超过100个总线器件的搭载以及超过100米的总线通信距离。
作为较佳的实施方式,所述一线总线的通信方法中,具体的,第一步中,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2的方法为:
首先,微处理器通过“开漏输出”强制控制通信信号处于低电平状态;
然后,微处理器结束通信信号低电平状态,通过上拉电阻自然产生一个上升沿信号;
最后,微处理器对产生上升沿信号的过程进行计时,获取实际上升沿时间t2。
作为较佳的实施方式,所述一线总线的通信方法中,具体的,第一步中,通信信号处于低电平状态的时间大于总线器件的电平信号复位时间。
作为较佳的实施方式,所述一线总线的通信方法中,第二步中,微处理器的信号读取周期T的设置方法为:
首先,将实际上升沿时间t2与总线器件的标准读取时间t比较,得出通信信号延时时间△t,通信信号延时时间△t=实际上升沿时间t2-标准读取时间t;
然后,调整信号读取周期T,信号读取周期T=标准读取时间t+通信信号延时时间△t。
标准读取时间t为总线器件说明书中记载,为该总线器件的信号发生周期。一般情况下,微处理器的信号读取周期T设置为标准读取时间t。
采用上述信号读取周期T的设置方法可以在保证一线总线信息的准确读取的同时,加快一线总线的通信速率,提高一线总线的通信效率。
进一步的,所述一线总线的通信方法中,第一步中,在一线总线上电时,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2。一线总线中的“寄生电容”及“漏电流”会随着长距离布设过程中导线的增减以及总线器件的增减发生变化。因此,在一线总线上电时,就对实际上升沿时间t2进行测定,可以针对不同的一线总线系统提供相应的实际上升沿时间t2,以适应不同一线总线情况。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (4)
1.一种一线总线的通信方法,所述一线总线包括用于控制一线总线通信的微处理器、以及服从一线总线协议的总线器件,其特征在于,所述一线总线的通信方法包括如下步骤:
第一步,在一线总线上电时,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2;
第二步,设置微处理器的信号读取周期T,信号读取周期T不小于实际上升沿时间t2;
第三步,进行一线总线数据通信,微处理器在信号读取周期T内读取总线器件产生的电平信号。
2.如权利要求1所述的一线总线的通信方法,其特征在于,第一步中,测定一线总线中的总线器件产生一个上升沿信号所需的实际上升沿时间t2的方法为:
首先,微处理器通过“开漏输出”强制控制通信信号处于低电平状态;
然后,微处理器结束通信信号低电平状态,通过上拉电阻自然产生一个上升沿信号;
最后,微处理器对产生上升沿信号的过程进行计时,获取实际上升沿时间t2。
3.如权利要求2所述的一线总线的通信方法,其特征在于,第一步中,通信信号处于低电平状态的时间大于根据总线器件的电平信号复位时间。
4.如权利要求1所述的一线总线的通信方法,其特征在于,第二步中,微处理器的信号读取周期T的设置方法为:
首先,将实际上升沿时间t2与总线器件的标准读取时间t比较,得出通信信号延时时间△t,通信信号延时时间△t=实际上升沿时间t2-标准读取时间t;
然后,调整信号读取周期T,信号读取周期T=标准读取时间t+通信信号延时时间△t。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762913.XA CN110502465B (zh) | 2019-08-19 | 2019-08-19 | 一种一线总线的通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762913.XA CN110502465B (zh) | 2019-08-19 | 2019-08-19 | 一种一线总线的通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502465A CN110502465A (zh) | 2019-11-26 |
CN110502465B true CN110502465B (zh) | 2023-06-27 |
Family
ID=68588286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910762913.XA Active CN110502465B (zh) | 2019-08-19 | 2019-08-19 | 一种一线总线的通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502465B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262490B (zh) * | 2015-09-18 | 2018-10-12 | 重庆川仪自动化股份有限公司 | 基于曼彻斯特编解码自适应系统及其方法 |
EP3319274B1 (en) * | 2016-11-02 | 2019-04-17 | NXP USA, Inc. | Can module and method therefor |
CN107391401B (zh) * | 2017-07-03 | 2019-06-21 | 北京亚华意诺斯新能源科技有限公司 | 一种数据读取方法及系统 |
-
2019
- 2019-08-19 CN CN201910762913.XA patent/CN110502465B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110502465A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101133457B (zh) | 存储模块的多个设备的温度确定和传送 | |
US12094553B2 (en) | Timing-drift calibration | |
US9746383B2 (en) | Throttling memory in response to an internal temperature of a memory device | |
US6456544B1 (en) | Selective forwarding of a strobe based on a predetermined delay following a memory read command | |
JP3757757B2 (ja) | リード優先メモリシステム | |
US8233332B2 (en) | Methods and apparatus for strobe signaling and edge detection thereof | |
US20060142959A1 (en) | Circuits, systems and methods for dynamic reference voltage calibration | |
CN108052292A (zh) | 一种固态硬盘的高温保护方法 | |
US20220136909A1 (en) | Method and device for temperature detection and thermal management based on power measurement | |
JPS6239926A (ja) | コンピユ−タから電流ル−プへのオンライン式シリアル通信インタ−フエ−ス | |
CN110502465B (zh) | 一种一线总线的通信方法 | |
US20140028364A1 (en) | Critical path monitor hardware architecture for closed loop adaptive voltage scaling and method of operation thereof | |
US20190207842A1 (en) | System including master device and slave device, and operation method of the system | |
CN203688086U (zh) | 基于数字温度传感器的两线远距离温度测量电路 | |
US20120013361A1 (en) | Synthetic Pulse Generator for Reducing Supply Noise | |
Zidar et al. | Analysis of energy consumption for SPI and I2C communications in ultra-low power embedded systems | |
CN105448323A (zh) | 存储器控制电路及相关的存储器控制方法 | |
CN110209517B (zh) | 一种固态硬盘工作方法、系统、电子设备及存储介质 | |
CN101493698A (zh) | 一种基于can总线的频率信号产生方法及电路 | |
US9000850B2 (en) | Method and apparatus for self-calibrating driving capability and resistance of on-die termination | |
CN111278686B (zh) | 车载系统 | |
CN212435948U (zh) | 一种自动控制加热系统 | |
CN221465741U (zh) | 一种基于三线io通信的超声波雷达采集电路 | |
TWI600017B (zh) | 記憶體控制電路單元、記憶體儲存裝置及參考電壓產生方法 | |
CN115824365A (zh) | 流量计与sd卡spi通信接口设计与误差测试方法 |
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 |