用于数据、地址和控制操作的增强型单节点协议 【技术领域】
本发明大体上涉及例如处理器、存储器、外围装置、传感器等半导体装置之间的通信,且更明确地说,涉及使用用于数据、地址和控制操作的增强型单节点协议的半导体装置。
背景技术
例如数字处理器等集成电路数字装置(例如(但不限于),微处理器、微控制器、数字信号处理器(DSP)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)等)出于成本和空间两项考虑因素正变得更小且具有更少的外部输入‑输出(I/O)信号连接(例如,引脚或引线)。通常,集成电路装置可在具有多个外部连接的集成电路封装中。这些外部连接中的至少两者必须分别用于电源和接地,例如V
DD和Vss。其余少数外部连接留下用于I/O信号。举例来说,串行外围接口(SPI)总线需要四个外部信号连接,通用串行总线(USB)需要两个外部信号连接且还可需要两个外部电源连接,内置集成电路(Inter‑Integrated Circuit,I
2C)需要两个外部信号连接,且控制器区域网(CAN)可使用两线双绞线总线。
集成电路装置可从例如外部存储器、高速接口、传感器、外围装置等额外装置功能受益。存储器可以是(例如,但不限于)一次性可编程器件(one time programmable,OTP)、电可编程只读存储器(EPROM)、电可擦除且可编程只读存储器(EEPROM)、快闪存储器、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。高速接口可以是(例如,但不限于)以太网、通用串行总线(USB)、火线等。传感器可用于测量(例如,但不限于)压力、温度、湿度、电压、电流、频率、时间、辐射、pH等。外围装置可用于俘获(例如,但不限于)视频、音频、雷达、红外线、超声波信息等。针对这些装置的集成电路封装大小从成本和印刷电路板空间两项要求来看正变得更加关键。
【发明内容】
因此,需要一种用于在集成电路装置与额外外部装置功能之间进行通信的稳健的数据、地址和控制协议,其中此协议需要每一连接的封装之间最小数目的信号I/O连接。根据本发明的教示,可使用单节点信号连接将集成电路装置与任何额外装置功能电耦合在一起,使得可有效利用稳健的数据、地址和控制协议。
举例来说,额外外部装置(下文中称为“外围装置”)可以最少数目的连接耦合到集成电路装置,例如,可能需要用于数据、地址和控制的单节点总线加上电源和接地(例如,分别为V
DD(或Vcc)和Vss)来用于集成电路装置和外围装置的操作,因此集成电路封装(例如,SOT 23‑3、SC70‑3等)的最少三个外部连接(引脚、表面安装引线等)可用于封装集成电路装置和/或外围装置。当实施多个外围装置时的外围装置地址选择可利用低引脚数集成电路封装(例如,SOT 23‑5、SOT 23‑6、MSOP‑8、SOIC‑8等)上明确界定的装置类型寻址和/或额外地址选择连接,和/或通过经由单节点数据、地址和控制总线针对外围装置的每一者编程外围装置地址。
根据如本发明中所描述的一特定实例实施例,一种用于数字装置之间的数据、地址和控制操作的增强型单节点协议可包括以下步骤:提供具有双向串行时钟以及数据和控制输入‑输出(SCIO)端子的主控装置;提供具有双向SCIO端子的至少一个从属装置,其中所述主控装置SCIO端子和所述至少一个从属装置SCIO端子耦合在一起;从主控装置SCIO端子产生备用脉冲;从主控装置SCIO端子产生开始标头;从主控装置SCIO端子产生主控装置确认;从主控装置SCIO端子产生装置地址;从主控装置SCIO端子产生主控装置确认;从从属装置SCIO端子产生从属装置确认;从主控装置SCIO端子产生命令;从主控装置SCIO端子产生主控装置确认;从从属装置SCIO端子产生从属装置确认;当将信息发送到从属装置SCIO端子时从主控装置SCIO端子产生信息字节;当将信息发送到主控装置SCIO端子时从从属装置SCIO端子产生信息字节;从主控装置SCIO端子产生终止主控装置确认;以及从从属装置SCIO端子产生从属装置确认。
根据如本发明中描述的另一特定实例实施例,一种用于数字装置之间的数据、地址和控制操作的增强型单节点协议,所述协议包括以下步骤:(a)提供具有双向串行时钟以及数据和控制输入‑输出(SCIO)端子的主控装置;(b)提供具有双向SCIO端子的至少一个从属装置,其中所述主控装置SCIO端子和所述至少一个从属装置SCIO端子耦合在一起;(c)从主控装置SCIO端子产生备用脉冲;(d)从主控装置SCIO端子产生开始标头;(e)从主控装置SCIO端子产生主控装置确认;(f)从主控装置SCIO端子产生多个装置地址中的一者;(g)从主控装置SCIO端子产生主控装置确认;(h)确定是否针对多个装置地址中的所述一者产生从属装置确认,其中如果产生了从属装置确认,那么将多个装置地址中的所述一者存储在从属装置表中;以及(i)重复步骤(c)至(h)直到已产生多个装置地址中的每一者为止。
【附图说明】
可通过参看结合附图进行的以下描述来获得对本发明的更完整理解,附图中:
图1说明根据本发明的一特定实例实施例以单节点数据、地址和控制总线耦合到外围装置的集成电路数字装置的示意框图;
图2说明根据本发明的一特定实例实施例的实例低引脚数集成电路封装的示意平面图;
图3说明根据本发明的一特定实例实施例的用于数据、地址和控制操作的增强型单节点协议的命令结构的示意图;
图4说明图1的单节点数据、地址和控制总线上的串行数字信号的曼彻斯特编码的示意时序图;
图5说明图3所示的增强型单节点协议的备用脉冲的示意时序图;
图6说明图3所示的增强型单节点协议的开始标头的示意时序图;
图7说明图3所示的增强型单节点协议的8位装置寻址结构的示意图;
图8说明图3所示的增强型单节点协议的12位装置寻址结构的示意图;
图9说明用于图3所示的增强型单节点协议的主控装置和从属装置确认序列的示意时序图;
图10说明用于图3所示的增强型单节点协议的暂停脉冲、主控装置确认和从属装置确认的示意时序图;
图11说明用于图3所示的增强型单节点协议的多字节读取序列的示意图;以及
图12说明用于图3所示的增强型单节点协议的多字节写入序列的示意图。
虽然本发明容许各种修改和替代形式,但已在图式中展示且本文中详细描述本发明的特定实例实施例。然而,应了解,本文中对特定实例实施例的描述不希望将本发明限于本文揭示的特定形式,而是相反,本发明将涵盖如所附权利要求书界定的所有修改和等效物。
【具体实施方式】
现参看图式,示意性地说明特定实例实施例的细节。图式中的相同元件将由相同数字表示,且类似元件将由带有不同小写字母下标的相同数字表示。
现参看图1,描绘根据本发明的一特定实例实施例以单节点数据、地址和控制总线耦合到外围装置的数字装置的示意框图。数字装置102可通过适于串行时钟的单节点数据、地址和控制总线106以及数据和控制输入‑输出(下文中称为“SCIO”)耦合到一个或一个以上外围装置104。数字装置102可以是数字处理器,例如微处理器、微控制器、数字信号处理器(DSP)、可编程逻辑阵列(PLA)、专用集成电路(ASIC)等。
外围装置104可以是串行非易失性存储器,例如一次性可编程(OTP)存储器、电可编程只读存储器(EPROM)、电可擦除且可编程只读存储器(EEPROM)、快闪存储器等。外围装置104还可以是串行存取易失性存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。外围装置104还可以是传感器或其它类型的外围装置,例如摄像机、模/数转换器(ADC)、数/模转换器(DAC)、数字电位计、可编程增益放大器、输入‑输出(I/O)端口扩展器、过程传感器,例如(但不限于)温度、压力、振动、流动速率、pH等。单节点数据、地址和控制总线106可以是导电节点,例如印刷电路板导体、集成电路裸片结合节点等。
数字装置102和/或外围装置104可具有(例如,但不限于)耦合到单节点数据、地址和控制总线106的有源上拉(例如,逻辑“1”)、下拉(例如,逻辑“0”)和高阻抗第三状态(三态)驱动器。本文中还预期具有上拉电阻器的开集配置且其在本发明的范围内。数字装置102和外围装置104可耦合到共同电源回路(例如、Vss、接地等)和电源(例如,V
CC、V
DD等)。
本文中预期单节点“总线连接”系统上的多个装置之间通过单一I/O信号的通信。根据本发明的教示,可将一个数字装置102界定为主控装置,且负责初始化并协调在总线106上与每一外围(从属)装置104的所有操作。每一外围装置104响应于主控数字装置102启始的动作。外围装置104可经设计以用于任何数目的目的。
可用总线106上的串行数字双态信号在主控装置与选定的从属装置之间传送数据。总线106上的信号协议可为(例如,但不限于)曼彻斯特编码,或任何其它类型的串行信号协议,例如不归零(NRZ)、脉冲位置调制(PPM)、频移键控(FSK)、相移键控(PSK)、幅移键控(ASK)等,其可使用初始的开始标头字节(或其它长度字)来将主控装置与从属装置时钟同步在一起。
总线106上的单节点数据、地址和控制由主控数字装置102控制,主控数字装置102确定时钟周期,控制总线存取并启始所有操作,而外围装置104充当从属装置。主控装置与从属装置两者可作为传输器或接收器而操作,但主控装置确定哪一模式和操作有效。
参看图2,描绘根据本发明的一特定实例实施例的实例低引脚数集成电路封装的示意平面图。外围装置104可封装在低引脚数集成电路封装(例如,SOT23‑3、SOT23‑5、SC70‑3等)中。预期且在本发明范围内,可使用任何低引脚数集成电路封装来封闭外围装置104。集成电路封装可具有接地端子Vss、电源端子V
DD或Vcc,以及适于接收和传输SCIO的双向串行输入‑输出(I/O)端子。
另外,当集成电路封装上有三个以上端子可用时,可使用硬连线地址选择端子(例如,但不限于A0和A1)。预期且在本发明范围内,可通过单节点数据、地址和控制总线106上的SCIO端子经由软件指令执行区块地址设置。还预期且在本发明的范围内,数字装置102和/或外围装置104可封装在双裸片集成电路封装中,其中单节点数据、地址和控制总线106可以是集成电路封装内的结合线(未图示)或其它直接的裸片到裸片的连接。
参看图3,描绘根据本发明的一特定实例实施例的用于数据、地址和控制操作的增强型单节点协议的命令结构的示意图。备用脉冲320在主控装置发送开始标头322的前面。在已发送开始标头322之后跟随着确认序列324。确认序列324包括主控装置确认(MAK),之后是无从属装置确认(NoSAK)(见图9)。接下来,主控装置发送装置地址326,之后是确认(ACK)328a序列(见图9)。主控装置发送命令330,之后是另一ACK328a序列。字地址和/或数据(信息)字节332随后可在需要时由主控装置和/或从属装置发送,例如到从属外围装置104的存储器写入或从从属外围装置104进行的数据检索。ACK 328a序列在发送每一信息字节之后出现,直到发送最后的信息字节为止,接着发送ACK 328b序列(见图9),其指示信息字节传送的完成。
参看图4,描绘图1的单节点数据、地址和控制总线上的串行数字信号的曼彻斯特编码的示意时序图。单节点数据、地址和控制总线106可作为双向单节点总线和数据传输协议而操作。
可将将数据发送到总线106上的装置界定为传输器,且将接收数据的装置界定为接收器。总线106由主控装置控制,且主控装置确定时钟周期,控制总线存取且可启始主控装置与从属装置之间的所有操作。通常,数字装置102将是主控装置,且外围装置104将是从属装置。主控装置与从属装置两者可作为传输器或接收器而操作,但主控装置确定针对每一装置激活哪一操作模式(传输或接收)。多个装置可连接到总线106,但仅一者将充当主控装置。
传输器将在位周期T
E期间,优选在位周期T
E的大体中间处改变单节点总线106上的SCIO的电压电平。总线106上的SCIO是所需要的唯一I/O信号,因为串行时钟和数据两者通过曼彻斯特编码嵌在一起。在曼彻斯特编码中,每一位由在位周期T
E的大体中间的强制性沿组成。此沿的方向确定位的逻辑值。上升沿指示逻辑“1”,且下降沿指示逻辑“0”。
曼彻斯特编码的实例为:(a)对于逻辑“0”,单节点总线电压电平将从高(例如,Vdd)变为低(例如,Vss)(下降沿),和(b)对于逻辑“1”,单节点总线电压电平将从低(例如,Vss)变为高(例如,Vdd)(上升沿)。接收器将感测单节点总线电压电平变化并借此将SCIO数据流的上升沿和下降沿分别解码为逻辑1和逻辑0,且还将使其内部时钟与传输器的位周期T
E同步。
参看图5,其所描绘的是图3所示的增强型单节点协议的备用脉冲的示意时序图。备用脉冲320由总线106产生,总线106由主控装置驱动为持续时间为TSTBY(例如,最小600微秒)的逻辑高(1)脉冲。备用脉冲320指示连接到总线106的所有装置的复位条件,且将这些装置置于备用模式中,准备好接收以开始标头322开始的新命令。当选择新从属装置时使用备用脉冲320。备用脉冲320还可用于过早地终止命令。
参看图6,其所描绘的是图3所示的增强型单节点协议的开始标头的示意时序图。当主控装置在总线106上断言逻辑电平低(0)脉冲时,开始标头322开始。总线106上的逻辑电平0脉冲在持续时间THDR(例如,约5微秒)内保持低。持续时间THDR允许装置振荡器启动等,随后开始标头322可由(例如,但不限于)正从传输装置产生的8位二进制码(例如,01010101)组成。在向逻辑1的第一总线106电平转变时,从属装置开始同步(例如,内部时钟定时同步)直到其中从属装置结束同步的最后转变(产生01010101之后)为止。开始标头322对于任何给定命令始终为所传输的第一字节。在已发送开始标头322的位(例如,字节)之后,执行确认序列。仅针对此特定序列,仅断言MAK且不存在SAK(从属装置确认),例如已完成开始标头322的八个传输位之后出现“NoSAK”。见下文图9的描述。
参看图7和图8,其分别所描绘的是图3所示的增强型单节点协议的8位装置寻址结构和12位装置寻址结构的示意图。在开始标头322之后,发送装置地址326。装置地址326可依据支持8位(图7)还是12位(图8)装置寻址而分别由一个或两个字节组成。装置地址326的目的是选择总线106上连接的特定从属装置。因此,连接到总线106的每一从属装置必须具有唯一的装置地址326,否则将发生总线争用且操作将不明确。12位选择834中的全1指示装置的12位寻址。
家族码(family code)736和836分别是装置地址326a和326b中包含的4位值,且指示外围装置104所驻存的家族。外围装置家族的实例包含(但不限于)存储器装置、温度传感器、可编程增益放大器、I/O端口扩展器、模/数转换器(ADC)和数/模转换器(DAC)。
装置码738和838分别是4位和8位值,这取决于支持8位(图7)还是12位(图8)装置寻址。装置码738和838用于区分具有相同家族码的装置。预期且在本发明范围内,一些装置可支持可编程装置码位740和840,而在其它装置上,这些位在制造装置时可为固定的。4位装置码738允许来自总线106上相同家族的多达16个装置。8位装置码838允许来自总线106上相同家族的多达256个装置。
参看图9,其描绘的是用于图3所示的增强型单节点协议的主控装置和从属装置确认序列的示意时序图。
图3的确认序列ACK 324包括两个位周期T
E,第一位周期针对MAK(处于逻辑1),且第二位周期针对NoSAK,NoSak显得完全无沿,例如,无装置传输、未断言状态(三态输出驱动)。确认序列ACK 324用于指示开始标头322的完成和12位装置地址的第一字节的完成(见图8)。
图3的确认序列ACK 328a包括两个位,第一位针对MAK(逻辑1),且第二位针对SAK(始终为逻辑1)。确认序列ACK 328a用于指示操作的继续,以及确认字节的接收。
图3的确认序列ACK 328b包括两个位,第一位针对NoMAK(逻辑0),且第二位针对SAK(始终为逻辑1)。确认序列ACK 328b用于指示操作的终止,以及证实字节的接收。
然而,直到已选择特定从属装置时,才有从属装置以SAK作出响应。需要这样以便避免由于多个从属装置同时传输而导致的可能的总线冲突。返回参看图7,对于8位寻址,仅开始标头322之后将没有SAK出现。返回参看图8,对于12位寻址,开始标头322和装置地址326b的最高有效字节(MSB)834+836两者之后将没有SAK出现。
MAK或NoMAK位作为每个确认序列ACK 324和ACK 328的第一位而出现。其始终由主控装置发送,而不管哪一装置(主控装置还是从属装置)传输前面的字节。MAK被发送作为逻辑“1”,且NoMAK被发送作为逻辑“0”。在确认序列ACK 328a期间发送MAK指示当前操作将继续。这意味着还有数据将由充当传输器的装置发送。NoMAK指示当前操作将在确认序列ACK 328b完成之后立即终止。
SAK位作为确认序列ACK 328的第二位而出现,且严格由从属装置发送,而不管哪一装置传输前面的字节。SAK位被发送作为逻辑“1”,且缺少SAK位(NoSAK)显得完全无沿,即,无装置传输。如果在发送装置地址326之后,没有从所寻址的从属装置接收到SAK位,那么可能已发生错误。当缺少SAK位发生时,主控装置可执行备用脉冲320且接着可再次开始所需的命令。
SAK位的不出现还可用于确定连接到总线106的从属装置(图1)。总线主控装置102可发送出多个询问命令,所述多个询问命令中的每一者具有与其相关联的唯一地址。如果在询问命令之后接收到SAK位,那么存在具有所述询问命令的地址的连接到总线106的从属装置104。然而,如果缺少SAK位(NoSAK),那么不存在连接到总线106的具有询问命令的地址的从属装置104,从而导致NoSAK。
参看图10,其描绘的是用于图3所示的增强型单节点协议的暂停脉冲、主控装置确认和从属装置确认的示意时序图。暂停脉冲1050是任选的且中止当前寻址的从属装置(在断言时)的操作。暂停脉冲1050允许主控装置服务中断等。主控装置在下一MAK位周期开始时在总线106上将SCIO置于逻辑低(0),且在暂停的同时继续保持SCIO为低,持续最少一个位周期T
E。这将启始所寻址的从属装置上的暂停。为了使最近寻址的从属装置离开暂停条件,释放暂停脉冲1050(SCIO回到逻辑高(1)),且接着在适当的位周期T
E内,将首先断言MAK,且接着断言SAK。随后,正常数据/地址传输重新开始。暂停脉冲1050不能在开始标头322期间出现。
图11说明用于图3所示的增强型单节点协议的多字节读取序列的示意图。在来自从属装置的每一数据字节之后,发送确认序列。当将从从属装置发送(读取)另一数据字节时,出现MAK和SAK序列。当不再需要从从属装置发送(读取)其它的数据字节时,出现NoMAK和SAK序列。来自主控装置的NoMAK响应结束从从属装置到主控装置的数据传输。
图12说明用于图3所示的增强型单节点协议的多字节写入序列的示意图。在到从属装置的每一数据字节之后,发送确认序列。当将向从属装置写入另一数据字节时,出现MAK和SAK序列。当将不向从属装置写入其它的数据字节时,出现NoMAK和SAK序列。来自主控装置的NoMAK响应结束从主控装置到从属装置的数据传输。
预期且在本发明范围内,读取和/或写入序列还可包括错误奇偶校验位,和/或错误校验与校正位。
从属装置具有备用模式,在此时间期间,从属装置等待开始新的命令。将在以下条件下进入备用模式:(a)NoMAK,之后为SAK(即,命令的有效终止),或(b)接收备用脉冲320。SCIO的高到低的转变将促使从属装置退出备用模式并使装置准备好接收开始标头322。备用模式还可用于通过仅在开始标头322的第一低脉冲开始时激活从属装置来提供低功率操作模式。
从属装置具有装置闲置模式,在此期间,忽略所有串行数据,直到出现备用脉冲320为止。将在以下条件下进入闲置模式:(a)无效装置地址,(b)无效命令字节,和/或(c)错过的沿转变,当从属装置进入备用模式时(如本文上文所描述)除外。
虽然已参考本发明的实例实施例描绘、描述且界定了本发明的实施例,但此类参考不意味着对本发明的限制,且不将推断出任何此类限制。所揭示的标的物容许相关领域的且受益于本发明的一般技术人员将作出的形式和功能上的大量修改、更改和等效物。本发明的所描绘和描述的实施例仅为实例,且未详尽描述本发明的范围。