CN103064817A - 一种简化两线式串行数据总线传输方法 - Google Patents
一种简化两线式串行数据总线传输方法 Download PDFInfo
- Publication number
- CN103064817A CN103064817A CN201210562251XA CN201210562251A CN103064817A CN 103064817 A CN103064817 A CN 103064817A CN 201210562251X A CN201210562251X A CN 201210562251XA CN 201210562251 A CN201210562251 A CN 201210562251A CN 103064817 A CN103064817 A CN 103064817A
- Authority
- CN
- China
- Prior art keywords
- data
- 4bit
- read
- write
- address
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开一种简化两线式串行数据总线传输方法,其主要包括传输启动阶段、读写操作模式设置阶段、从器件片选地址设置阶段、数据空间起始寻址地址设置阶段、数据传输长度设置阶段和数据传输阶段;本SSIC总线传输协议结构简单、使用灵活、可广泛应用数字系统可编程逻辑器件和数字器件设计中。SSIC总线传输协议可用来连接微处理器与对IO数量敏感的外围设备,以微处理器作为主控制器,将多个芯片连接到同一总线结构中,实现一主多从变长度高速数据传输。
Description
技术领域
本发明涉及总线传输领域,具体涉及一种简化两线式串行数据总线传输方法。
背景技术
I2C(Inter-Integrated Circuit)总线协议由Philips半导体公司(现更名为NXP)在上世纪八十年代初开发出来的,I2C串行数据总线由双向的数据线SDA和时钟线SCL组成。总线的运行(数据传输)由主机通常是微处理器控制。I2C总线数据传输过程一般为:开始-器件地址-ACK(应答)-子地址-ACK-数据-ACK-结束。I2C允许多个主器件工作在同一总线上,所有主器件均采用同一时钟进行传输,多个主器件可以通过数据仲裁决定总线使用权,避免数据破坏。对于数字器件功能模块构建,I2C总线的传输,总线仲裁功能和数据传输开始状态产生和数据传输结束后响应状态产生必然会带来更多的数字逻辑资源消耗,更不利于提高总线上数据传输效率。
SPI(Serial Peripheral Interface)串行数据总线传输协议基于四线制串行数据总线接口,为主/从结构,四线信号分别为串行时钟(SCLK)、主出从入(MOSI)、主入从出(MISO)和从选(SS)信号。主器件为时钟提供者,可发起读从器件或写从器件操作。这时主器件将与一个从器件进行对话。当总线上存在多个从器件时,要发起一次传输,主器件将把该从器件选择线拉低,然后分别通过MOSI和MISO线启动数据发送或接收。每个从器件需要一个单独的从选择信号。总信号数最终为n+3个,其中n是总线上从器件的数量。当多个从器件位于该总线上时,必然导致过多的信号线资源。
发明内容
本发明所要解决的技术问题是提供一种简化两线式串行数据总线传输方法,具有结构简单和使用灵活的特点。
为解决上述问题,本发明是通过以下方案实现的:
一种简化两线式串行数据总线传输方法,包括如下步骤:
①传输启动阶段:在进行数据传输之前,主控制器首先产生启动传输状态,通知该串行数据总线上的所有从器件即将开始一次新的数据传输过程,同时从器件也利用启动传输状态的电平信号进行自身的初始化;此时,串行数据总线的串行时钟信号线保持为高电平,串行双向数据信号线产生由高电平到低电平的跳变。
②读写操作模式设置阶段:在紧随启动传输状态之后该串行数据总线进入器件读写方向选择;主控制器输出至串行数据总线的第1Bit为读写选择位;当读写选择位为1时,由主控制器从被选定器件读出数据;读写选择位为0时,由主控制器向被选定器件写入数据。
③从器件片选地址设置阶段:完成读写方向选择后该串行数据总线进入器件硬件片选地址定位,从器件在接收到的从器件片选位数据中解析出从器件片选位与硬件设置地址匹配,匹配成功则激活,否则处于待机检测状态,保持输入输出高阻态,等待下一次总线传输过程;
主控制器输出至串行数据总线的读写选择位后的至少4Bit为从器件片选位;在读写选择位后的4bit为0000~1110时,从器件片选位为这4bit,并由这4Bit表示寻址范围为0~14;当读写选择位后的4bit为1111时,从器件片选位扩展为8Bit,并由这8Bit表示寻址范围为0~254;当读写选择位后的8Bit为11111111时,从器件片选位扩展为12Bit,并由这12Bit表示寻址范围为0~4094;更长的从器件片选位按此依次递增4Bit类推;理论上可以无限制扩展。
④数据空间起始寻址地址设置阶段:从器件在完成硬件地址匹配激活后,进入数据空间起始寻址地址设置阶段。本阶段用于主控制器对从器件设置读写数据空间的起始操作地址位置,即后续数据的读写操作从本次设置地址开始以字节为单位累加。
主控制器输出至串行数据总线的,从器件片选位后的至少4Bit为数据空间起始寻址位;在从器件片选位后的4bit为0000~1110时,数据空间起始寻址位为这4bit,并由这4Bit表示寻址范围为0~14;当从器件片选位后的4bit为1111时,数据空间起始寻址位扩展为8Bit,并由这8Bit表示寻址范围为0~254;当从器件片选位后的8Bit为11111111时,数据空间起始寻址位扩展为12Bit,并由这12Bit表示寻址范围为0~4094;更长的数据空间起始寻址位按此依次递增4Bit类推;理论上可以无限制扩展。
⑤数据传输长度设置阶段:在完成数据空间起始地址寻址地址设置之后,进入数据传输长度设置阶段。本阶段用于主控制器告知从器件后续读写操作需要传输的字节长度。
主控制器输出至串行数据总线的,数据空间起始寻址位后的至少4Bit为数据传输长度指示位;在数据空间起始寻址位后的4Bit为0001~1111时,数据传输长度指示位为这4Bit,并由这4Bit表示后续数据传输长度范围为1~15;当数据空间起始寻址位后的4Bit为0000时,数据传输长度指示位扩展为8Bit,并由后续扩展的8Bit表示后续数据传输长度范围为1~255;当数据空间起始寻址位后的8Bit为00000000时,数据传输长度指示位扩展为12Bit,并由这12Bit表示后续数据传输长度范围为1~4094;更长的数据传输长度指示位依此递增4Bit类推;理论上可以无限制扩展。
⑥数据传输阶段:在完成读写方向选择、器件硬件片选地址定位、数据空间起始寻址和传输数据长度设置之后,该串行数据总线进入数据传输模式;此时,从器件根据对内部寄存器地址空间进行定位读取或写入传输数据内容,根据相应从器件寻址范围不同表示寄存器地址字节的长度作相应变化;在向从器件写入或读出设置模式中设定的数据长度后,从器件和主器件均结束传输,后续数据和时钟均做无效处理。
与现有技术相比,本发明提出了一种全新的两线式串行数据总线传输协议,即简化两线式串行数据(SSIC)总线传输协议。该SSIC总线传输协议结构简单、使用灵活、可广泛应用数字系统可编程逻辑器件和数字器件设计中。SSIC总线传输协议可用来连接微处理器与对IO数量敏感的外围设备,以微处理器作为主控制器,将多个芯片连接到同一总线结构中,实现一主多从变长度高速数据传输。
附图说明
图1为SSIC总线启动传输时序示意图。
图2a)为SSIC总线读入操作模式选择位时序示意图。
图2b)为SSIC总线读出操作模式选择位时序示意图。
图3a)为SSIC总线4bit从器件片选地址设置时序示意图。
图3b)为SSIC总线12bit从器件片选地址设置时序示意图。
图4a)为SSIC总线4bit数据空间起始寻址地址设置时序示意图。
图4b)为SSIC总线12bit数据空间起始寻址地址设置时序示意图。
图5a)为SSIC总线4bit数据传输长度设置时序示意图。
图5b)为SSIC总线12bit数据传输长度设置时序示意图。
图6a)为SSIC总线4bit数据传输时序示意图(从指定从器件读出数据)。
图6b)为SSIC总线12bit数据传输时序示意图(向指定从器件写入数据)。
具体实施方式
一种简化两线式串行数据总线由两根信号线组成,即串行时钟信号线SCK和串行双向数据信号线SDA。SCK和SDA信号线由可实现三态(高电平、低电平、高阻态)逻辑门组成,从而可实现多器件线与逻辑,兼容不同的逻辑电平。串行时钟信号线SCK由主控制器产生,相对于主控制器来说为单向输出接口。串行双向数据信号线SDA为双向总线。
上述结构的串行数据总线所实现的一种简化两线式串行数据总线传输方法,包括如下步骤:
①启动传输:在进行数据传输之前,主控制器首先产生启动传输状态,通知该串行数据总线上的所有从器件即将开始一次新的数据传输过程,同时从器件也利用启动传输状态的电平信号进行自身的初始化。此时,串行数据总线的串行时钟信号线保持为高电平,串行双向数据信号线产生由高电平到低电平的跳变。除了启动传输状态之外,串行时钟信号线SCK保持高电平期间,SDA必须保持稳定不变,否则会导致总线数据传输过程的错误操作。启动传输时序定义如图1所示。
②读写操作模式设置阶段:在紧随启动传输状态之后该串行数据总线进入器件读写方向选择;主控制器输出至串行数据总线的第1Bit为读写选择位;当读写选择位为1时,由主控制器从被选定器件读出数据;读写选择位为0时,由主控制器向被选定器件写入数据。读入操作时序如图2a)所示,读入操作时序如图2b)所示。
③从器件片选地址阶段:从器件在接收到的地址定位字节数据中解析出从器件片选位与硬件设置地址匹配,匹配成功则激活,否则处于待机检测状态,保持输入输出高阻态,等待下一次总线传输启动过程。
主控制器输出至串行数据总线的读写选择位后的至少4Bit为从器件片选位。对于串行数据总线应用,从器件片选地址位长度可根据总线上所接入的从器件数目作地址扩展。在读写选择位后的4bit为0000~1110时,从器件片选位为这4bit,并由这4Bit表示寻址范围为0~14。当读写选择位后的4bit为1111时,从器件片选位扩展为8Bit,并由这8Bit表示寻址范围为0~254(1111CADD7~CADD0)。当读写选择位后的8Bit为11111111时,从器件片选位扩展为12Bit,并由这12Bit表示寻址范围为0~4094(11111111CADD11~CADD0)。更长的从器件片选位按此依次递增4Bit类推。理论上可以无限制扩展。操作时序如图3a)和b)所示。
④数据空间起始寻址地址设置阶段:从器件在完成硬件地址匹配激活后,进入数据空间起始寻址地址设置阶段。本阶段用于主控制器对从器件设置读写数据空间的其实操作地址位置,即后续数据的续写操作从本设置地址开始以字节为单位逐渐累加。
主控制器输出至串行数据总线的,从器件片选位后的至少4Bit为数据空间起始寻址位;在从器件片选位后的4bit为0000~1110时,数据空间起始寻址位为这4bit,并由这4Bit表示寻址范围为0~14;当从器件片选位后的4bit为1111时,数据空间起始寻址位扩展为8Bit,并由这8Bit表示寻址范围为0~254(1111DADD7~DADD0);当从器件片选位后的8Bit为11111111时,数据空间起始寻址位扩展为12Bit,并由这12Bit表示寻址范围为0~4094(11111111DADD11~DADD0);更长的数据空间起始寻址位按此依次递增4Bit类推;理论上可以无限制扩展。操作时序如图4a)和b)所示。
⑤数据传输长度设置阶段:在完成数据空间起始地址寻址地址设置之后,进入数据传输长度设置阶段。本阶段用于主控制器告知从器件后续读写操作需要传输的字节长度。
主控制器输出至串行数据总线的,数据空间起始寻址位后的至少4Bit为数据传输长度指示位;在数据空间起始寻址位后的4Bit为0001~1111时,数据传输长度指示位为这4Bit,并由这4Bit表示后续数据传输长度范围为1~15;当数据空间起始寻址位后的4Bit为0000时,数据传输长度指示位扩展为8Bit,并由后续扩展的8Bit表示后续数据传输长度范围为1~255(0000DLEN7~DLEN0);当数据空间起始寻址位后的8Bit为00000000时,数据传输长度指示位扩展为12Bit,并由这12Bit表示后续数据传输长度范围为1~4094(00000000DLEN11~DLEN0);更长的数据传输长度指示位依此递增4Bit类推;理论上可以无限制扩展。操作时序如图5a)和b)所示。
⑥数据传输阶段:在完成读写方向选择、器件硬件片选地址定位、数据空间起始寻址和传输数据长度设置之后,该串行数据总线进入数据传输模式;此时,从器件根据对内部寄存器地址空间进行定位读取或写入传输数据内容,根据相应从器件寻址范围不同表示寄存器地址字节的长度作相应变化;在向从器件写入或读出设置模式中设定的数据长度后,从器件和主器件均结束传输,后续数据和时钟均做无效处理。数据传输操作时序如图6a)和b)所示。
Claims (1)
1.一种简化两线式串行数据总线传输方法,其特征是包括如下步骤:
①传输启动阶段:在进行数据传输之前,主控制器首先产生启动传输状态,通知该串行数据总线上的所有从器件即将开始一次新的数据传输过程,同时从器件也利用启动传输状态的电平信号进行自身的初始化;此时,串行数据总线的串行时钟信号线保持为高电平,串行双向数据信号线产生由高电平到低电平的跳变;
②读写操作模式设置阶段:在紧随启动传输状态之后该串行数据总线进入器件读写方向选择;主控制器输出至串行数据总线的第1Bit为读写选择位;当读写选择位为1时,由主控制器从被选定器件读出数据;读写选择位为0时,由主控制器向被选定器件写入数据;
③从器件片选地址设置阶段:完成读写方向选择后该串行数据总线进入器件硬件片选地址定位,从器件在接收到的从器件片选位数据中解析出从器件片选位与硬件设置地址匹配,匹配成功则激活,否则处于待机检测状态,保持输入输出高阻态,等待下一次总线传输过程;
主控制器输出至串行数据总线的读写选择位后的至少4Bit为从器件片选位;在读写选择位后的4bit为0000~1110时,从器件片选位为这4bit,并由这4Bit表示寻址范围为0~14;当读写选择位后的4bit为1111时,从器件片选位扩展为8Bit,并由这8Bit表示寻址范围为0~254;当读写选择位后的8Bit为11111111时,从器件片选位扩展为12Bit,并由这12Bit表示寻址范围为0~4094;更长的从器件片选位按此依次递增4Bit类推;
④数据空间起始寻址地址设置阶段:从器件在完成硬件地址匹配激活后,进入数据空间起始寻址地址设置阶段;本阶段用于主控制器对从器件设置读写数据空间的起始操作地址位置,即后续数据的读写操作从本次设置地址开始以字节为单位累加;
主控制器输出至串行数据总线的,从器件片选位后的至少4Bit为数据空间起始寻址位;在从器件片选位后的4bit为0000~1110时,数据空间起始寻址位为这4bit,并由这4Bit表示寻址范围为0~14;当从器件片选位后的4bit为1111时,数据空间起始寻址位扩展为8Bit,并由这8Bit表示寻址范围为0~254;当从器件片选位后的8Bit为11111111时,数据空间起始寻址位扩展为12Bit,并由这12Bit表示寻址范围为0~4094;更长的数据空间起始寻址位按此依次递增4Bit类推;
⑤数据传输长度设置阶段:在完成数据空间起始地址寻址地址设置之后,进入数据传输长度设置阶段;本阶段用于主控制器告知从器件后续读写操作需要传输的字节长度;
主控制器输出至串行数据总线的,数据空间起始寻址位后的至少4Bit为数据传输长度指示位;在数据空间起始寻址位后的4Bit为0001~1111时,数据传输长度指示位为这4Bit,并由这4Bit表示后续数据传输长度范围为1~15;当数据空间起始寻址位后的4Bit为0000时,数据传输长度指示位扩展为8Bit,并由后续扩展的8Bit表示后续数据传输长度范围为1~255;当数据空间起始寻址位后的8Bit为00000000时,数据传输长度指示位扩展为12Bit,并由这12Bit表示后续数据传输长度范围为1~4094;更长的数据传输长度指示位依此递增4Bi t类推;
⑥数据传输阶段:在完成读写方向选择、器件硬件片选地址定位、数据空间起始寻址和传输数据长度设置之后,该串行数据总线进入数据传输模式;此时,从器件根据对内部寄存器地址空间进行定位读取或写入传输数据内容,根据相应从器件寻址范围不同表示寄存器地址字节的长度作相应变化;在向从器件写入或读出设置模式中设定的数据长度后,从器件和主器件均结束传输,后续数据和时钟均做无效处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562251.XA CN103064817B (zh) | 2012-12-21 | 2012-12-21 | 一种简化两线式串行数据总线传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562251.XA CN103064817B (zh) | 2012-12-21 | 2012-12-21 | 一种简化两线式串行数据总线传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064817A true CN103064817A (zh) | 2013-04-24 |
CN103064817B CN103064817B (zh) | 2015-04-15 |
Family
ID=48107448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210562251.XA Expired - Fee Related CN103064817B (zh) | 2012-12-21 | 2012-12-21 | 一种简化两线式串行数据总线传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103064817B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140264730A1 (en) * | 2013-03-13 | 2014-09-18 | Invensas Corporation | Microelectronic elements with master/slave configurability |
CN105279438A (zh) * | 2014-06-10 | 2016-01-27 | 美国亚德诺半导体公司 | 互连数据总线中的安全节点 |
CN109474707A (zh) * | 2019-01-16 | 2019-03-15 | 济南浪潮高新科技投资发展有限公司 | 基于串口协议的二层协议设计及数据传输方法及系统 |
CN110515735A (zh) * | 2019-08-29 | 2019-11-29 | 哈尔滨理工大学 | 一种基于改进q学习算法的多目标云资源调度方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000016589A1 (en) * | 1998-09-17 | 2000-03-23 | Sonic Innovations, Inc. | Two line variable word length serial interface |
CN1783050A (zh) * | 2004-12-04 | 2006-06-07 | 鸿富锦精密工业(深圳)有限公司 | 动态配置i2c地址的系统及方法 |
US20110238866A1 (en) * | 2010-03-23 | 2011-09-29 | Spansion Llc | Variable read latency on a serial memory bus |
-
2012
- 2012-12-21 CN CN201210562251.XA patent/CN103064817B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000016589A1 (en) * | 1998-09-17 | 2000-03-23 | Sonic Innovations, Inc. | Two line variable word length serial interface |
CN1783050A (zh) * | 2004-12-04 | 2006-06-07 | 鸿富锦精密工业(深圳)有限公司 | 动态配置i2c地址的系统及方法 |
US20110238866A1 (en) * | 2010-03-23 | 2011-09-29 | Spansion Llc | Variable read latency on a serial memory bus |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140264730A1 (en) * | 2013-03-13 | 2014-09-18 | Invensas Corporation | Microelectronic elements with master/slave configurability |
US9153533B2 (en) * | 2013-03-13 | 2015-10-06 | Invensas Corporation | Microelectronic elements with master/slave configurability |
CN105279438A (zh) * | 2014-06-10 | 2016-01-27 | 美国亚德诺半导体公司 | 互连数据总线中的安全节点 |
US9804942B2 (en) | 2014-06-10 | 2017-10-31 | Analog Devices, Inc. | Safety node in interconnect data buses |
CN105279438B (zh) * | 2014-06-10 | 2018-06-08 | 美国亚德诺半导体公司 | 互连数据总线中的安全节点 |
CN109474707A (zh) * | 2019-01-16 | 2019-03-15 | 济南浪潮高新科技投资发展有限公司 | 基于串口协议的二层协议设计及数据传输方法及系统 |
CN109474707B (zh) * | 2019-01-16 | 2021-02-02 | 浪潮集团有限公司 | 基于串口协议的二层协议设计及数据传输方法及系统 |
CN110515735A (zh) * | 2019-08-29 | 2019-11-29 | 哈尔滨理工大学 | 一种基于改进q学习算法的多目标云资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103064817B (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0378427B1 (en) | High speed data transfer on a computer system bus | |
US6842806B2 (en) | Method and apparatus for interconnecting wired-AND buses | |
US6968472B2 (en) | Serial data interface | |
CN102023954A (zh) | 具有多路i2c总线的装置、处理器、系统主板及工控计算机 | |
CN109359073B (zh) | 一种基于spi总线的设备间通信方法及装置 | |
CN105573951B (zh) | 一种针对数据流传输的ahb总线接口系统 | |
US20070088874A1 (en) | Offload engine as processor peripheral | |
TW201822011A (zh) | 使用i2c匯流排與主機連接的從機及其通信方法 | |
CN101329663A (zh) | 一种实现管脚分时复用的装置及方法 | |
CN107066746B (zh) | 基于i2c接口通过cpld来实现pca9555功能的方法 | |
CN103064817B (zh) | 一种简化两线式串行数据总线传输方法 | |
CN111897749A (zh) | 基于Quad-SPI控制器与外扩FLASH通信控制系统及方法 | |
US20220137848A1 (en) | Storage device and operating method of storage device | |
EP2207101A1 (en) | Method and device for parallel interfacing | |
CN104834620A (zh) | 串行外设接口spi总线电路、实现方法以及电子设备 | |
CN115033444B (zh) | 基于8051core在线调试电路控制装置 | |
CN113722261A (zh) | Spi扩展片选数目和增强读写响应时间灵活性的方法 | |
CN106201973B (zh) | 一种单线串行通信接口的方法与系统 | |
CN116450552B (zh) | 基于i2c总线异步批量读写寄存器的方法及系统 | |
CN112559410A (zh) | 一种基于fpga的lio总线扩展uart外设系统及方法 | |
CN103903651A (zh) | 双线串行端口内建自测电路及其通讯方法 | |
CN117033279A (zh) | 一种时序输入输出控制方法 | |
JP2008521080A5 (zh) | ||
CN113824741A (zh) | 一种iic设备的通信方法、装置、设备、系统及介质 | |
KR20080080799A (ko) | 메모리의 직렬 인터페이스 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150415 Termination date: 20211221 |