CN105117365A - 一种基于Mpc837x框架的数据读取方法 - Google Patents
一种基于Mpc837x框架的数据读取方法 Download PDFInfo
- Publication number
- CN105117365A CN105117365A CN201510419870.7A CN201510419870A CN105117365A CN 105117365 A CN105117365 A CN 105117365A CN 201510419870 A CN201510419870 A CN 201510419870A CN 105117365 A CN105117365 A CN 105117365A
- Authority
- CN
- China
- Prior art keywords
- bus
- mpc837x
- memory address
- data
- reading data
- 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
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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种数据处理技术领域,尤其涉及一种基于Mpc837x框架的数据读取方法,具体包括,控制主机接收用户输入的查询指令;根据查询指令启动I2C总线;控制I2C总线接收主机发送的与查询指令相匹配的从设备地址;控制I2C总线接收主机发送的存储地址,重新启动I2C总线;控主机再次发送存储地址至I2C总线;读取与查询指令相匹配的数据,并传输至主机。改变了传统的通过时钟脉冲启动I2C总线的方式,另外,I2C总线读取所有数据并传输至主机;每次可读取多个连续的数据。无需重复执行,简化了I2C总线读取数据的流程,提高了I2C总线读取数据的效率。
Description
技术领域
本发明涉及一种数据处理技术领域,尤其涉及一种基于Mpc837x框架的数据读取方法。
背景技术
I2C(Inter-IntegratedCircuit)是一种串行通讯总线,使用多主从架构的操作系统中,主要用于微控制器或微处理器与外部设备之间的数据传输,根据I2C通讯协议可知,I2C协议每次只传送1个字节(1个字节的字长为8位)的数据。因此,如果被传输的数据字长超过8位,则需要将该数据进行分段传输。
如图1所示,现有的I2C总线的数据传输流程,其具体步骤包括:
步骤S1、主机发送一用以启动I2C总线时钟脉冲,并启动I2C总线;
步骤S2、控制I2C总线接收主机发送的从设备地址;
步骤S3、控制I2C总线接收主机发送寄存器地址,寄存器位于从设备中;
步骤S4、重新启动I2C总线;
步骤S5、控制主机再次发送寄存器地址至I2C总线;
步骤S6、读取与寄存器地址匹配的寄存器中存储的1个字节数据;
步骤S7、停止I2C总线。
综上所述,于时钟脉冲的控制下,I2C总线每次仅仅只能读取1个字节数据,在需要读取2个字节或2个字节以上的数据时,需要重复执行步骤S1~S7,直至所述数据被读取完毕,采用此种方式读取数据,其读取效率较低。
发明内容
本发明的目的在于提供一种读取效率高的基于Mpc837x框架的数据读取方法。
实现上述技术目的,所采用的技术方案是:
一种基于Mpc837x框架的数据读取方法,可应用于VxWorks操作系统,其中,包括如下步骤:
步骤S1、控制主机接收用户输入的查询指令;
步骤S2、根据所述查询指令启动I2C总线;
步骤S3、控制所述I2C总线接收所述主机发送的与所述查询指令相匹配的从设备地址;
步骤S4、控制所述I2C总线接收所述主机发送的存储地址,所述存储地址为与所述查询指令相匹配的数据位于所述从设备中的存储地址;
步骤S5、重新启动所述I2C总线;
步骤S6、控所述主机再次发送所述存储地址至所述I2C总线;
步骤S7、于所述存储地址对应的存储器中读取与所述查询指令相匹配的所述数据,并传输至所述主机;
步骤S8、停止所述I2C总线。
上述的基于Mpc837x框架的数据读取方法,其中,所述从设备为任意被寻址的器件。
上述的基于Mpc837x框架的数据读取方法,其中,于所述从设备为存储单元时,所述存储地址为存储单元内的存储地址。
上述的基于Mpc837x框架的数据读取方法,其中,于所述从设备为电可擦可编程只读存储器时,所述存储地址为电可擦可编程只读存储器内的存储地址。
上述的基于Mpc837x框架的数据读取方法,其中,于所述从设备为可编程只读存储器时,所述存储地址为可编程只读存储器内的存储地址。
上述的基于Mpc837x框架的数据读取方法,其中,于所述从设备为外部设备时,所述外部设备内包括复数个寄存器,所述存储地址为与所述查询指令相匹配的所述寄存器的地址。
上述的基于Mpc837x框架的数据读取方法,其中,所述主机为中央处理器或微控制器。
上述的基于Mpc837x框架的数据读取方法,其中,所述数据为所述存储器中连续存储的复数个数据。
上述的基于Mpc837x框架的数据读取方法,其中,所述从设备为温度传感器。
与现有技术相比,本发明的优点是:
主机接收用户输入的查询指令;根据所述查询指令启动I2C总线;改变了传统的通过时钟脉冲启动I2C总线的方式,另外,本申请中,I2C总线于所述存储地址对应的存储器中读取与所述查询指令相匹配的所有数据,并将读取的所有数据传输至所述主机;一次可读取多个连续的数据。无需重复执行,简化了I2C总线读取数据的流程,提高了I2C总线读取数据的效率。
附图说明
图1为现有的I2C总线读取数据的流程示意图;
图2为本发明中基于Mpc837x框架的数据读取方法的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
VxWorks操作系统是一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分,VxWorks操作系统提供不同功能的模块,如处理器管理、内存管理、输入输出等,各个模块采用Mpc837x框架搭建形成一操作系统,各个模块之间独立。各个模块在执行过程中并不考虑其他正在使用中的模块,各个模块都以相同的时间进度运行,为了能够较好的运行VxWorks操作系统的数据传输,避免发生数据传输冲突,VxWorks操作系统大多采用I2C总线协议方式传输数据(I2C总线在有多个主机同时尝试控制总线但只允许其中一个控制总线并使传输不被破坏,可以很好地解决数据传输冲突)。
如图2所示,一种基于Mpc837x框架的数据读取方法,应用于VxWorks操作系统,其中,具体包括如下步骤:
步骤S1、控制主机接收用户输入的查询指令;
步骤S2、根据上述查询指令启动I2C总线;
步骤S3、控制上述I2C总线接收上述主机发送的与上述查询指令相匹配的从设备地址;
步骤S4、控制上述I2C总线接收上述主机发送的存储地址,上述存储地址为与上述查询指令相匹配的数据位于上述从设备中的存储地址;
步骤S5、重新启动上述I2C总线;
步骤S6、控上述主机再次发送上述存储地址至上述I2C总线;
步骤S7、于上述存储地址对应的存储器中读取与上述查询指令相匹配的上述数据,并传输至上述主机;
步骤S8、停止上述I2C总线。
本发明的工作原理是:主机接收用户输入的查询指令;根据上述查询指令启动I2C总线;改变了传统I2C总线通过时钟脉冲启动I2C总线的方式,另外,本申请中,I2C总线查询于上述存储地址对应的存储器,并于存储器中读取与上述查询指令相匹配的所有数据,同时将读取的所有数据传输至上述主机;每次可读取多个连续的数据。无需重复执行,简化了I2C总线读取数据的流程,提高了I2C总线读取数据的效率。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,上述从设备为任意被寻址器件。在VxWorks操作系统,主机和从设备之间的对应关系不是绝对的,而是根据当时数据传输的方向决定,I2C总线被寻址器件为从设备,I2C总线数据传输的目的地为主机,当数据传输方向改变时,主机与从设备之间的对应关系也相应发生改变。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,于上述从设备为存储单元时,上述存储地址为存储单元内的存储地址。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,于上述从设备为电可擦可编程只读存储器时,上述存储地址为电可擦可编程只读存储器内的存储地址。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,于上述从设备为可编程只读存储器时,上述存储地址为可编程只读存储器内的存储地址。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,于上述从设备为外部设备时,上述外部设备内包括复数个寄存器,上述存储地址为与上述查询指令相匹配的上述寄存器的地址。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,上述主机为中央处理器或微控制器。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,上述数据为上述存储器中连续存储的复数个数据。
作为进一步优选实施方案,上述的基于Mpc837x框架的数据读取方法,其中,上述从设备为温度传感器。
下面列举一具体实施方式:
在一个信息处理系统中,每个器件都有一个唯一的识别地址,器件可以包括中央处理器、LCD驱动器、存储器或键盘接口、外部设备等等,而且每个器件都可以作为主机或从设备,即每次数据传输过程中,器件不可能同时作为主机和从设备。
本实施例中,数据传输方向为中央处理器读取外部设备数据,则主机为中央处理器,从设备为外部设备,此处假设外部设备为温度传感器(温度传感器具有唯一的识别地址),温度传感器内部包括一寄存器,寄存器用以存储温度传感器采集的温度数据。
用户通过中央处理器输入温度查询指令;中央处理器接收到查询指令,并根据该查询指令启动I2C总线,于I2C总线启动完毕后,中央处理器发送与上述查询指令相匹配的温度传感器地址至I2C总线,中央处理器继续发送存储地址至I2C总线,该存储地址为上述温度传感器中寄存器存储的待查询数据的位置;重新启动上述I2C总线;上述主机再次发送上述存储地址至上述I2C总线;上述I2C总线读取上述存储地址中的与查询指令匹配的所有数据,并将上述所有数据返回至主机。停止上述I2C总线。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (9)
1.一种基于Mpc837x框架的数据读取方法,应用于Vxworks操作系统,其特征在于,包括如下步骤:
步骤S1、控制主机接收用户输入的查询指令;
步骤S2、根据所述查询指令启动I2C总线;
步骤S3、控制所述I2C总线接收所述主机发送的与所述查询指令相匹配的从设备地址;
步骤S4、控制所述I2C总线接收所述主机发送的存储地址,所述存储地址为与所述查询指令相匹配的数据位于所述从设备中的存储地址;
步骤S5、重新启动所述I2C总线;
步骤S6、控所述主机再次发送所述存储地址至所述I2C总线;
步骤S7、于所述存储地址对应的存储器中读取与所述查询指令相匹配的所述数据,并传输至所述主机;
步骤S8、停止所述I2C总线。
2.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,所述从设备为任意被寻址的器件。
3.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,于所述从设备为存储单元时,所述存储地址为存储单元内的存储地址。
4.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,于所述从设备为电可擦可编程只读存储器时,所述存储地址为电可擦可编程只读存储器内的存储地址。
5.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,于所述从设备为可编程只读存储器时,所述存储地址为可编程只读存储器内的存储地址。
6.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,于所述从设备为外部设备时,所述外部设备内包括复数个寄存器,所述存储地址为与所述查询指令相匹配的所述寄存器的地址。
7.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,所述主机为中央处理器或微控制器。
8.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,所述数据为所述存储器中连续存储的复数个数据。
9.根据权利要求1所述的基于Mpc837x框架的数据读取方法,其特征在于,所述从设备为温度传感器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419870.7A CN105117365A (zh) | 2015-07-16 | 2015-07-16 | 一种基于Mpc837x框架的数据读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419870.7A CN105117365A (zh) | 2015-07-16 | 2015-07-16 | 一种基于Mpc837x框架的数据读取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105117365A true CN105117365A (zh) | 2015-12-02 |
Family
ID=54665361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510419870.7A Pending CN105117365A (zh) | 2015-07-16 | 2015-07-16 | 一种基于Mpc837x框架的数据读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117365A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581026A (zh) * | 2004-05-19 | 2005-02-16 | 中兴通讯股份有限公司 | 在通信设备中操作多个i2c从器件的装置及其方法 |
CN1996275A (zh) * | 2006-11-09 | 2007-07-11 | 中兴通讯股份有限公司 | 10位寻址模式i2c控制器访问大容量存储器的方法 |
US20080195764A1 (en) * | 2005-04-29 | 2008-08-14 | Nxp B.V. | Programming Parallel 12C Slave Devices from a Single 12C Data Stream |
CN101937413A (zh) * | 2010-10-21 | 2011-01-05 | 成都优博创技术有限公司 | 一种i2c总线的通信方法 |
CN102262607A (zh) * | 2011-05-04 | 2011-11-30 | 山东超越数控电子有限公司 | 一种在pc中利用i2c总线采集温度信息的方法 |
CN104113933A (zh) * | 2014-07-22 | 2014-10-22 | 深圳市中兴移动通信有限公司 | 一种信息传输方法、装置和移动终端 |
-
2015
- 2015-07-16 CN CN201510419870.7A patent/CN105117365A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581026A (zh) * | 2004-05-19 | 2005-02-16 | 中兴通讯股份有限公司 | 在通信设备中操作多个i2c从器件的装置及其方法 |
US20080195764A1 (en) * | 2005-04-29 | 2008-08-14 | Nxp B.V. | Programming Parallel 12C Slave Devices from a Single 12C Data Stream |
CN1996275A (zh) * | 2006-11-09 | 2007-07-11 | 中兴通讯股份有限公司 | 10位寻址模式i2c控制器访问大容量存储器的方法 |
CN101937413A (zh) * | 2010-10-21 | 2011-01-05 | 成都优博创技术有限公司 | 一种i2c总线的通信方法 |
CN102262607A (zh) * | 2011-05-04 | 2011-11-30 | 山东超越数控电子有限公司 | 一种在pc中利用i2c总线采集温度信息的方法 |
CN104113933A (zh) * | 2014-07-22 | 2014-10-22 | 深圳市中兴移动通信有限公司 | 一种信息传输方法、装置和移动终端 |
Non-Patent Citations (1)
Title |
---|
孙延辉: "基于I2C总线的多点温度采集系统设计", 《科学技术与工程》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107659494B (zh) | 数据处理方法及智能车载网关 | |
CN102057363A (zh) | 从装置之间的直接数据传输 | |
CN103092806A (zh) | 基于spi数据传输时序的数据传输方法和系统 | |
CN106878131B (zh) | 一种profibus耦合器及profibus的数据传输方法 | |
TWI590160B (zh) | 韌體更新技術 | |
JP6627571B2 (ja) | プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム | |
CN107682247B (zh) | 一种主机与多个从机的高效通讯方法 | |
WO2005057400A1 (ja) | 電子装置、その制御方法、ホスト装置及びその制御方法 | |
CN103412829B (zh) | 扩大mcu程序地址空间的方法及装置 | |
US20060184708A1 (en) | Host controller device and method | |
CN107015542B (zh) | 一种总线舵机及其控制装置、控制系统和控制方法 | |
CN103716409A (zh) | 控制系统间的通讯方法及系统 | |
JP6299260B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
WO2021120674A1 (zh) | 一种多总线设备融合访问的方法及装置 | |
JP5476956B2 (ja) | 通信システム及び通信方法 | |
CN105117365A (zh) | 一种基于Mpc837x框架的数据读取方法 | |
JP2012089948A (ja) | データ転送装置及びデータ転送方法 | |
JP2011097124A (ja) | 車載ネットワーク装置 | |
CN110278716B (zh) | Plc、网络单元、cpu单元、以及数据传送方法 | |
CN114095303B (zh) | 通信设备、数据传输方法及电子设备 | |
CN105281944B (zh) | 网络协议地址的设定方法及服务管理系统 | |
CN114567445B (zh) | 一种验签数据传输方法、装置、设备及介质 | |
US9787493B2 (en) | Communication apparatus, control apparatus, and program | |
KR102199072B1 (ko) | 시간정보 기반 직렬통신 제어 방법 및 장치 | |
JP2014194778A (ja) | コンピュータ入力システム及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20200117 |