串行总线上的数据编码的制作方法

文档序号:22627245发布日期:2020-10-23 19:35阅读:258来源:国知局
串行总线上的数据编码的制作方法

相关申请的交叉引用

本申请要求于2019年4月12日提交的法国专利申请1903929的优先权,其内容在法律允许的最大范围内通过引用整体结合于此。

本描述总体上涉及电子电路,并且更具体地涉及其中多个电路能够在串行总线上通信的系统。



背景技术:

串行总线已经被广泛实现以允许同一系统的多个电子电路彼此通信。例如,在汽车中,计算机经常使用串行总线来允许微处理器在车辆的整个使用过程中在非易失性存储器中读取或写入信息。

需要通过串行总线来扩展当前的通信能力。特别希望能够利用串行总线的存在以使得能够对可以独立于通常的通信信道进行传输的附加信息进行编码。

在本领域中需要克服用于在串行总线上对数据进行编码的已知方法的全部或一些缺点。



技术实现要素:

一个实施例提供了一种用于对要在spi串行总线上传输的数据值进行编码的方法,其中至少在一个所选择的时刻根据全部或部分上述要传输的数据值来修改存储器的状态寄存器。

根据一个实施例,存储器是可重新编程的非易失性存储器。

根据一个实施例,通过在写入模式下的存储器的锁存位的状态反转来修改状态寄存器。

根据一个实施例,在存储器的写入周期期间修改状态寄存器。

根据一个实施例,状态寄存器在存储器中的写入周期期间仅修改一次,要传输的数据值形成位。

根据一个实施例,状态寄存器在存储器中的写入周期期间修改多次,要传输的数据值形成包括至少两个位的字。

根据一个实施例,在存储器中的写入周期期间,状态寄存器的修改次数与字的连续地传输的位之间的状态转换的次数有关。

根据一个实施例,上述要传输的数据值表示存储器的磨损。

根据一个实施例,上述要传输的数据值反映在存储器内进行的纠错的次数。

一个实施例提供了一种方法,该方法包括:开始在存储器中写入;周期性地发送存储器的状态寄存器;在上述给定时刻修改存储器的状态寄存器,以对全部或部分要传输的数据值进行编码;以及停止在存储器中写入。

一个实施例提供一种被配置为实现所描述的方法的电子电路。

一个实施例提供了一种包括状态寄存器的非易失性存储器,该状态寄存器被配置为通过所描述的方法的实现来被修改。

附图说明

在以下通过举例而非限制的方式给出的对特定实施例的描述中,将参考附图对上述特征和优点以及其他特征和优点进行详细描述,在附图中:

图1以框图形式非常示意性地示出了电子电路的实施例;

图2示出了存储器的状态寄存器的示例;

图3是经由串行总线与存储器中的数据写入周期相关联的操作的实施例的序列图;

图4示出了用于对要通过串行总线传输的数据值进行编码的方法的实现模式;以及

图5示出了用于对要通过串行总线传输的数据值进行编码的方法的另一实现模式。

具体实施方式

在各个附图中,相似的特征由相似的附图标记表示。特别地,在各个实施例之间共有的结构和/或功能特征可以具有相同的附图标记,并且可以布置相同的结构、尺寸和材料特性。

为了清楚起见,仅详细示出和描述对于理解本文中描述的实施例有用的操作和元件。具体地,没有详细说明根据要在串行总线上传输的数据的信号的生成以及接收电路对这些信号的接收,所描述的实施例和实现模式与通过串行总线进行的两个或更多个电路之间的常规传输兼容。

除非另有说明,否则当提及连接在一起的两个元件时,表示没有导体以外的任何中间元件的直接连接;而当提及链接或耦合在一起的两个元件时,表示这两个元件可以连接或可以经由一个或多个其他元件链接或耦合。

在下面的公开中,除非另有说明,否则当提及绝对位置限定词(诸如术语“前面”、“后面”、“顶部”、“底部”、“左侧”、“右侧”等)或相对位置限定词(诸如术语“上方”、“下方”、“较高”、“较低”等)或取向限定词(诸如“水平”、“垂直”等)时,参考图中所示的取向。

除非另有说明,否则表述“约”、“大约”、“基本上”和“近似”表示在10%以内,优选地在5%以内。

图1以框图形式非常示意性地示出了所描述的实现模式所适用的类型的电子电路1的实施例。

根据该实施例,电子电路1包括:例如有限状态机、微处理器、可编程逻辑电路等类型的一个或多个数字处理单元(pu)11;用于数据和程序的一个或多个易失性(ram)和/或非易失性(nvm)存储存储器12、13;用于电子电路1内部的各个元件之间的数据、地址和/或命令的一个或多个总线14;用于与电路外部进行通信的一个或多个输入/输出(i/o)接口15;以及在图1中由框16(fct)表示的根据本申请的功能的各种其他电路。

在大多数应用中,存储器13可以用于记录或存储特定于电子电路1的操作的信息、参数、计算结果等。如果适用,存储器13通常与系统的一个或多个其他元件通信。在图1的示例中,考虑存储器13与数字处理单元11交换数据,这在存储器13中读取或写入信息。例如,存储器13是电可擦除可编程只读存储器(eeprom)。

在图1中,总线14允许数据的传输,特别是在数字处理单元11与存储器13之间。因此,数字处理单元11可以通过经由总线14发送请求、指令或操作代码(操作码)来与存储器13通信。这些操作代码通常根据被选择以实现数据传输的总线14来标准化。总线14通常是串行总线,例如spi(串行外围接口)类型的同步串行数据总线。

在总线14是spi总线的情况下,数字处理单元11可以特别地向存储器发送被表示为“rdsr”的操作代码。由于rdsr操作代码,数字处理单元11可以读取存储器13的状态寄存器。响应于rdsr操作代码的接收,该状态寄存器的内容由存储器13返回到数字处理单元11。状态寄存器特别地表示在存储器13内被允许的或正在执行的过程中的操作。为了简化,除非另有说明,否则下文中将存储器的寄存器比作该寄存器的内容。

图2示出了存储器状态寄存器2的示例。

在图2的示例中,存储器(例如,图1中的存储器13)的状态寄存器(sr)2通常假定由以下八个位组成的字节的形式:一个位20(wip——写入进行中),其被配置为指示存储器中正在进行写入操作;一个位21(wel——写入启用锁存器),其用于在写入模式下锁存存储器;两个位22和23(bp0——块保护0和bp1——块保护1),其组合被配置为界定希望在写入模式下保护的存储器的区域、范围或象限;三个位24、25和26,其值在该示例中被任意地设置为0;以及一个位27(srwd——状态寄存器写入禁用),其被配置为禁止对存储器的状态寄存器2的写入。

通常不希望存储器的状态寄存器2的位22至27在配备有该存储器的产品的正常使用期间被修改。因此,通常在工厂中向位22到27中的每个分配预定义的值。大多数时候,位22到27中的每个的值因此由实现这样的存储器的设备制造商“硬连线”。作为特定的示例性应用,在汽车领域,该制造商例如是向车辆制造商提供车载计算机或电子控制单元(ecu)的设备制造商。

相反,状态寄存器2的位20和21(分别为wip和wel)具有通常在配备有这样的存储器的产品的正常使用期间需要改变的值。特别地,在存储器上执行的整个写入周期中,对wip和wel位的值进行修改。

按照任意约定,0或1表示位的相应状态,而与这些状态表示的电平无关,例如,取为“高”和“低”。

例如,假定wip和wel位的值最初都等于0,并且希望在存储器中执行写入周期。然后通常按以下方式修改该存储器的状态寄存器2的wip和wel位的值:将位wel设置为状态1,这表示已经授权存储器中的写入周期;从写入周期的开始,位wip的值切换到状态1以指示存储器中正在进行写入操作;在存储器中的写入周期期间,将位wel设置为状态0;以及在写入周期完成之后,将wip位设置为状态0。

图3是与经由串行总线在存储器中进行的数据写入周期相关联的操作的实施例的序列图。

根据该实施例,数字处理单元(图1中的11)通过串行总线(图1中的14)耦合、优选地连接到存储器(图1中的13)。假定数字处理单元需要在存储器中写入数据例如以保存信息,存储计算结果,等等。为了简化起见,我们主要看一下在存储器侧发生的操作。

在图3的示例中,对于数字处理单元,第一步(框301,存储器选择)包括选择希望在其中写入一个或多个数据值的存储器。然后,存储器从数字处理单元接收(框311,接收wren命令)被表示为“wren”的操作代码。在实际写入操作之前的操作代码wren使得可以在存储器中进行写入操作。然后由数字处理单元取消选择存储器(框302,存储器取消选择)。然后,在写入模式下,存储器的wel锁存位进入状态1(框321,wel=1)。

然后,数字处理单元再次选择存储器(框303,存储器选择)。一旦选择了存储器,则由存储器接收由数字处理单元发送的写入命令(框312,接收写入命令)。例如,该写入命令包括:一个操作码字节;两个地址字节;以及构成要在存储器中写入的一个或多个数据值的一定数目的字节。

接下来,由数字处理单元取消选择存储器(框304,存储器取消选择)。对存储器的取消选择导致存储器中的实际写入周期的启动(框331,开始数据写入)。然后,位wip进入状态1(框323,wip=1)。在实际写入操作结束时(框333,结束数据写入),位wip返回到状态0(框325,wip=0)。

根据一个优选实施例,与上述写入操作并行地,也就是说,在将框331和333分开的持续时间内,由数字处理单元再次选择存储器(框305,存储器选择)。存储器然后从数字处理单元接收(框313,接收rdsr命令)被表示为“rdsr”的另一操作代码。操作代码rdsr构成了来自存储器的状态寄存器的连续发送请求。在接收到操作代码rdsr时,作为回报,存储器开始将其状态寄存器发送给处理单元(框351,sr字节输出)。

根据一个优选实施例,存储器经由串行总线重复地发送(框351)(在每个时钟事件时)其状态寄存器,只要存储器保持被数字处理单元(或选择存储器的另一电路)选择。该选择与实际的写入操作(框331、323和333)去相关,存储器通过与总线不同的二进制信号进行选择。在图3的示例中,一旦写入操作完成,也就是说,当位wip返回到状态0时(框325),处理单元命令对存储器的取消选择(框306,存储器取消选择)。对存储器的取消选择中断了该存储器的状态寄存器的重复发送(框353,结束sr字节输出)。

在位wip处于状态1并且存储器被选择的阶段期间,存储器因此重复地发送其状态寄存器(框351)。换言之,状态寄存器被循环性地或周期性地发送,同时在存储器中发生写入周期,而存储器仍然由处理单元选择(框35)。因此,这允许数字处理单元控制状态寄存器的演变。

根据一个优选实施例,存储器的状态寄存器相对于用于控制通过串行总线进行的数据传输的时序的同步信号或时钟信号被同步地传输。例如,对于频率为1mhz的数据传输,最小持续时间8μs将构成状态寄存器的字节的由存储器进行的每次传输分开。仍然根据该示例,在总持续时间为3ms的写入周期期间,因此理论上可以由存储器将状态寄存器传输375次。考虑到在1ms到4ms之间的写入周期,理论上可以将状态寄存器传输至少125次,至多500次。

通常,在数据写入操作的执行期间的任何时刻,都会复位存储器的状态寄存器的位wel。由于上述实施例,结合图3,可以容易地标识该时刻。存储器的状态寄存器的更新以及数字处理单元在整个写入操作中对其的读取确实可以控制wel位的值返回0的时刻。

该实施例的一个优点是,它允许与使用spi串行总线的现有通信电路和方法的向后兼容。实际上,实现上述方法的存储器(图1中的13)与标准应用兼容。结合图3描述的实施例因此可以在现有电路中实现,但是不会中断其操作。

图4示出了用于对要通过串行总线传输的数据值进行编码的方法的实现模式。

根据该实现模式,如结合图3描述的,考虑写入周期,在此期间,存储器重复地发送其状态寄存器2,只要正在进行写入操作。为了简化起见,仅考虑形成存储器的状态寄存器2的字节的位20(wip)和位21(wel)。在该示例中,认为在整个写入周期中其他位22至27的值没有经历任何其他演变,并且位20和21表示状态寄存器2的最低有效位。

在写入操作期间,假定存储器的状态寄存器2被更新和发送n次。换言之,认为在将框351(图3)与框353(图3)分开的持续时间内,存储器的状态寄存器的重复传输(图3的框351)进行了n次。

仍然根据该示例,存储器中的写入操作发生在第一迭代阶段1与最后的迭代阶段n之间。在图4中,这导致以下事实:在这两次迭代之间,位wip的值保持等于1,这表明正在执行写入操作。在最后的迭代阶段n之后,wip位被设置为状态0,在图4中,这构成最后一步阶段n+1。

在图4的示例中,为了简化起见,仅考虑六个中间迭代阶段2、阶段3、阶段k-1、阶段k、阶段k+1和阶段n-1。仍然在该示例中,这六个中间迭代被连续地插入在第一迭代阶段1与最后的迭代阶段n之间。也可以一方面在迭代阶段3与阶段k-1之间和/或另一方面在迭代阶段k+1与阶段n-1之间插入其他迭代(未示出)。换言之,迭代在时间上按以下顺序出现:阶段1、阶段2、阶段3、……、阶段k-1、阶段k、阶段k+1、……、阶段n-1和阶段n。

在每次新的迭代中,存储器的状态寄存器2的内容可以被更新并且由存储器发送给串行总线。在该示例中,存储器的状态寄存器2至少在连续的迭代阶段1、阶段2、阶段3、阶段k-1、阶段k、阶段k+1、阶段n-1和阶段中被更新和发送。

在使用spi总线的写入周期中,如先前已经结合图2描述的,位wel的复位时刻可以在写入操作的开始与结束之间的任何时间发生。

根据一种优选实现,提出了控制位wel的复位,使得该复位在所选择的时刻发生。在图4的示例中,位wel在迭代阶段2与迭代阶段3之间被有意地复位(在此,位wel被设置为状态0)。仍然根据该示例,对于所有后续迭代阶段3至阶段n,位wel的值保持等于0。

在此在写入操作期间对位wel的复位的有意或确定性控制使得可以对数据位4(b)或二进制数据值进行编码。例如,可以选择对位wel复位:或者在某个迭代之前,例如在迭代阶段k之前,以便对位b的低状态进行编码;或者在该同一迭代阶段k之后,以便对位b的高状态进行编码。

因此,可以例如向连接到存储器的处理单元传送位b,位b的值相对于在写入周期期间位wel被设置为状态0的时刻被编码。如果位wel在某个迭代、某个时刻或某个持续时间之前被复位,则相当于对位b的第一状态进行编码。相反,如果位wel在该同一迭代或该同一时刻或该同一持续时间之后被复位,则相当于对位b的第二状态进行编码。

根据一种实现模式,在写入周期期间对位wel的复位的这种控制用于发送表示存储器的磨损状况的位b。例如,对所选择的时刻进行干预以将位wel置于状态0以便对位b进行编码,为此:高状态使得可以指示已经在存储器中进行了一个或多个纠错操作,这可以表明存储器已经磨损;而低状态反映以下事实:存储器中尚未进行任何纠错,这可以表示存储器未磨损。

根据另一种实现模式,认为在迭代阶段k中或在与迭代阶段k相对应的时刻,位wel所取的值决定位b的状态。换言之,迭代阶段k构成了对位b进行编码的参考。因此,例如,可以认为:如果在迭代阶段k时位wel等于1,则位b等于1;而如果在迭代阶段k时位wel等于0,则位b等于0。

仍然根据该示例,根据希望在存储器中的每个新的写入周期上发送的位b的值,在所考虑的周期期间,控制位wel被设置为状态0的时刻。假定希望在写入周期期间对位b的状态0进行编码,则在迭代阶段k之前的迭代期间(例如,在迭代阶段2期间),将位wel设置为状态0。接下来,将位wel保持在状态0直到写入周期结束,使得位wel的值在迭代阶段k时等于0。

假定接着希望在另一写入周期期间对位b的状态1进行编码,则在迭代阶段k之后的迭代期间(例如,在迭代阶段n-1期间),将位wel设置为状态0。因此,位wel将至少在迭代阶段k之前保持为状态1。

从一个写入周期到另一写入周期,可以决定在作为参考的迭代k之前或之后的迭代范围内确定性地复位位wel(将其设置为状态0)。例如,可以决定将位wel始终设置为状态0:在迭代阶段2中,以便对位b的值0进行编码;以及在迭代阶段n-1中,以便对位b的值1进行编码。

在一种变体中,可以在作为参考的迭代k之前或之后的迭代范围内随机地复位位wel。例如,可以通过在从迭代阶段k之前的迭代中随机地选择的迭代中复位位wel来对位b的状态0进行编码;以及通过仅在从迭代阶段k之后的迭代中随机地选择的迭代中复位位wel来对位b的状态1进行编码。

图5示出了用于对要通过串行总线传输的数据值进行编码的方法的另一实现模式。

根据该实现模式,考虑包括如结合图4描述的n次迭代的写入周期。为了简化起见,将仅考虑形成存储器的状态寄存器2的字节的位20(wip)和21(wel)。在该示例中,认为其他位22至27的值在整个写入周期中没有经历任何演变。仍然在该示例中,假定至少在连续迭代阶段1、阶段2、阶段3、阶段k-1、阶段k、阶段k+1、阶段n-1和阶段n中,存储器的状态寄存器2被更新并且通过spi总线被发送。

在使用例如spi串行总线的写入周期中,可以在写入期间多次修改位wel的值。因此,可以将结合图4描述的编码一位的原理扩展到编码形成数据值或字5(data)的多个位。为此,在循环的每个新迭代中,控制状态寄存器2的位wel所取的值,以更新和传输存储器的状态寄存器2。

在图5的示例中,对于包括在阶段2与阶段n-1之间的每次迭代,施加位wel的值。对于每个新的迭代,这使得可以对数据值data的一位进行编码,其值等于所考虑的迭代中的位wel的值。因此,在图5的示例中,数据值data形成具体包括以下各项的字:位50,其值等于迭代阶段2中的位wel的值;位51,其值等于迭代阶段3中的位wel的值;位52,其值等于迭代阶段k-1中的位wel的值;位53,其值等于迭代阶段k中的位wel的值;位54,其值等于迭代阶段k+1中的位wel的值;以及位55,其值等于迭代阶段n-1中的位wel的值。

因此,对于在其中存储器的状态寄存器2被更新和传输n次的传输周期,理论上可以经由串行总线发送包括多达n-2位的数据值data。例如,在存储器中,对于步调频率为10mhz并且扩展1ms的持续时间的写入周期,可以经由串行总线发送大约1000位(1kb)的数据值data。这相当于在串行总线上创建新的数据传输通道。

在图5的示例中,数据值data的位50到55按从重要性最低的位(位50)到重要性最高的位(位55)的顺序被发送,这不是强制性的。确实可以提供以另一种顺序(例如,以由置换产生的顺序)发送数据值data的位50至55。

在图5的示例中,在存储器中的同一写入周期期间,状态寄存器2经历与字5的连续地发送的位之间的状态转换的次数相关的多次修改。

上面结合图4和5描述的不同的实现模式和变体可以如下实现:通过电路,例如电路1(图1);和/或通过非易失性存储器,例如存储器13(图1),其状态寄存器2被配置为如所描述的那样被修改。

已经描述了各种实施例、实现模式和变体。本领域技术人员将理解,可以组合这些各种实施例、实现模式和变体的某些特征,并且其他变体对于本领域技术人员而言将是很清楚的。特别地,可以在连续的写入周期期间重复如结合图4描述的对位b的编码,以便例如对一起形成一个或多个数据值的多个位b进行编码。同样地,可以在连续的写入周期期间重复如结合图5描述的数据值data的编码,以便例如对多个数据值data进行编码,多个数据值data在重新组合之后(例如,在串联之后)形成在存储器中的单个写入周期内不可传输的另一数据值。

最后,根据以上提供的功能指示,所描述的实施例、实现模式和变体的实际实现在本领域技术人员的能力范围内。特别地,位b和数据值data可以表示任何类型的信息或信息部分,例如,表示存储器的磨损情况或在确定的持续时间内进行的纠错次数的信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1