CN114138313A - 将指令存储在程序存储器中的方法和关联系统 - Google Patents
将指令存储在程序存储器中的方法和关联系统 Download PDFInfo
- Publication number
- CN114138313A CN114138313A CN202111032065.0A CN202111032065A CN114138313A CN 114138313 A CN114138313 A CN 114138313A CN 202111032065 A CN202111032065 A CN 202111032065A CN 114138313 A CN114138313 A CN 114138313A
- Authority
- CN
- China
- Prior art keywords
- transponder
- contactless
- reader
- module
- bus
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000003306 harvesting Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 230000011664 signaling Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 9
- 101100421708 Schistosoma mansoni SM20 gene Proteins 0.000 description 5
- 235000015429 Mirabilis expansa Nutrition 0.000 description 4
- 244000294411 Mirabilis expansa Species 0.000 description 4
- 235000013536 miso Nutrition 0.000 description 4
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 3
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 102100034190 Glypican-1 Human genes 0.000 description 2
- 102100032530 Glypican-3 Human genes 0.000 description 2
- 101001070736 Homo sapiens Glypican-1 Proteins 0.000 description 2
- 101001014668 Homo sapiens Glypican-3 Proteins 0.000 description 2
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 2
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 102100032533 ADP/ATP translocase 1 Human genes 0.000 description 1
- 101000768061 Escherichia phage P1 Antirepressor protein 1 Proteins 0.000 description 1
- 101000796932 Homo sapiens ADP/ATP translocase 1 Proteins 0.000 description 1
- 102100024383 Integrator complex subunit 10 Human genes 0.000 description 1
- 101710149805 Integrator complex subunit 10 Proteins 0.000 description 1
- 101100446506 Mus musculus Fgf3 gene Proteins 0.000 description 1
- XNPOFXIBHOVFFH-UHFFFAOYSA-N N-cyclohexyl-N'-(2-(4-morpholinyl)ethyl)carbodiimide Chemical compound C1CCCCC1N=C=NCCN1CCOCC1 XNPOFXIBHOVFFH-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/0723—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/40—Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
- H04B5/45—Transponders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/77—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for interrogation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/79—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for data transfer in combination with power transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
Abstract
本公开的各实施例涉及将指令存储在程序存储器中的方法和关联系统。在实施例中,一种系统包括非接触式读取器和装置。该装置包括非接触式应答器,该非接触式应答器包括非接触式接口和应答器有线接口,并且被配置为通过非接触式接口根据非接触式协议与非接触式读取器通信。该装置包括被耦合到应答器有线接口的总线以及被耦合到总线的至少一个模块,至少一个模块包括处理电路,非接触式读取器被配置为通过非接触式应答器将由处理电路可执行的软件程序的指令传送给至少一个模块。
Description
相关申请的交叉引用
本申请要求于2020年9月3日提交的法国专利申请号2008956的优先权,该申请通过引用并入本文。
技术领域
该申请涉及将指令存储在程序存储器中和一种关联系统。
背景技术
在生产线上,固件被下载到微控制器(MCU)的闪存中。在生产之后,固件可能必须被下载到MCU闪存中以进行升级。初始编程或升级编程可能都需要对产品或应用供电,并且将某个电缆连接到外部连接器或者在打开产品之后连接到内部连接器。
这种连接可以是有线或无线的。已知的有线解决方案的示例使用JTAG连接器。如USB或UART等通信总线是另一种有线解决方案。避免布线的已知方式是使用如蓝牙或WiFi等无线通信。
发明内容
在实施例中,一种系统包括非接触式读取器和装置。该装置包括非接触式应答器,非接触式应答器包括非接触式接口和应答器有线接口,并且被配置为通过非接触式接口根据非接触式协议与非接触式读取器通信。该装置包括被耦合到应答器有线接口的总线以及被耦合到总线的至少一个模块,该至少一个模块包括处理电路,非接触式读取器被配置为通过非接触式应答器将由处理电路可执行的软件程序的指令传送给至少一个模块。
实施例包括一种用于将软件程序指令存储在具有处理电路的至少一个模块的存储器中的方法。该方法包括:提供包括非接触式接口和应答器有线接口的应答器;在应答器有线接口与至少一个模块之间耦合总线;使读取器根据非接触式协议通过非接触式接口将软件程序指令传送给应答器;以及使应答器将总线上的软件程序指令传送给至少一个模块。
附图说明
实施例的各种优点和特征将在下面的详细描述和非限制性附图中出现,其中:
图1图示了根据本发明的实施例的系统的示例;
图2图示了根据本发明的实施例的可控能量收集的非限制性示例;
图3图示了根据本发明的实施例的集成集合的标记;
图4图示了根据本发明的实施例的以8位分组(字节)在I2C总线上数据的传输;
图5图示了根据本发明的实施例的用7位地址对从机接收器进行寻址的主机发送器;
图6图示了根据本发明的实施例的紧接在第一字节之后读取从机的主机;
图7图示了根据本发明的实施例的向NFC/RFID标记发送RF命令以对要被读取的I2C字节的数目进行编程的NFC/RFID读取器;
图8图示了根据本发明的实施例的向NFC/RFID标记发送RF写入命令的NFC/RFID读取器;
图9图示了根据本发明的实施例的从缓冲器读取I2C字节,并通过I2C总线将I2C字节发送给对应的从机模块,从而添加信令条件的I2C直通状态机;
图10图示了根据本发明的实施例的向NFC/RFID标记发送RF读取命令以检查I2C操作是否被终止的NFC/RFID读取器;
图11图示了根据本发明的实施例的向NFC/RFID标记发送RF读取命令以读取寄存器RGK中所包含的确认位值,以检查I2C写入操作是否成功的NFC/RFID读取器;
图12图示了根据本发明的实施例的RF直通状态机的示例;
图13图示了根据本发明的实施例的I2C直通状态机的示例;
图14图示了根据本发明的实施例的用于在模块的存储器中存储软件程序指令的方法的流程图的示例;
图15图示了根据本发明的实施例的步骤,其中读取器向标记发送特定RF命令以便在引导加载程序模式下配置微控制器;
图16图示了根据本发明的实施例的读取器向标记发送RF写入命令;
图17图示了使用I2C总线的本发明的实施例,以及
图18图示了根据本发明的实施例的与SPI协议的使用兼容的标记的示例;
图19图示了根据本发明的实施例的主机通过4个或更多个线路被连接到一个或多个从机;
图20图示了根据本发明的实施例的SPI总线基于移位寄存器中的数据交换是全双工的;
图21图示了根据本发明的实施例的在具有可配置相位CPHA和极性的SCLK上采样的数据;
图22详述了根据本发明的实施例的RF直通状态机的示例;
图23详述了根据本发明的实施例的SPI直通状态机的示例。
具体实施方式
本发明的实施例涉及将软件程序指令(例如固件(FW)的指令)存储到模块(例如微控制器(MCU))的存储器(例如闪存)中,该模块具有处理电路。
然而,针对固件的初始编程或升级,不仅需要对产品供电,而且如果没有特定的外部连接器可用,则产品必须被打开。为了实现通信,电缆必须与MCU连接,这在大多数时间是手动操作。因此,在操作期间存在连接器破裂或退化的可能性。
进一步地,不可能同时对多个产品(即,装箱在一起的产品板)进行编程,并且不可能进行“箱内”编程,即,在没有物理访问连接器的情况下对完全装箱的产品进行编程。
已知的有线技术(诸如JTAG连接器)需要布线和电源。已知的无线技术(如蓝牙或WiFi)不提供电源,并且需要在引导加载程序中包括太多固件以及预先配对以允许通信。因此,这种技术无法被用作初始编程解决方案。
实施例提出了更稳健的产品编程,其在生产中具有更少的手动步骤。实施例还提供了同时对多个产品进行编程的可能性。
实施例还提供了进行“箱内”编程的可能性,即,允许在生产线的最末端对FW进行编程,这允许在生产线的末端进行定制。实施例还提供了产品维护减少和简化。
根据实施例,提出了使用非接触式应答器(例如NFC应答器)与非接触式读取器(例如NFC读取器)非接触地协作并且与模块的处理电路(例如微控制器)协作,以通过有线总线(例如I2C或SPI总线)进行编程,并通过应答器将程序指令从读取器传输给模块。
因此,不需要打开产品(模块)来连接电缆或具有外部连接器,从而减少生产线中的手动步骤。因此,实施例提供了更好的产品或应用稳健性(无连接器磨损)。产品维护被减少和简化。
还可以同时对多个模块进行编程(存在于同一RF场中的所有模块可以被同时编程)。
还可以进行“箱内”编程,例如在生产线的最末端对FW进行编程,这允许在生产线的末端进行定制。
不需要对模块(例如微控制器)内部供电,因为如果应答器被提供有例如电池,则该电源可以来自应答器或来自读取器场。
根据一方面,一种系统被提出,其包括非接触式读取器和装置,例如IOT(物联网)物体、所连接的手表、所连接的燃气表,但这些示例未被限制。
所述装置包括非接触式应答器,例如NFC/RFID应答器。
所述应答器包括非接触式接口和应答器有线接口,并且被配置为根据非接触式协议通过所述非接触式接口与所述读取器通信。
所述装置包括耦合到应答器有线接口的总线(例如内部集成电路(I2C)总线或SPI总线或所谓的SMBus)以及耦合到所述总线的至少一个模块(例如微控制器)。
所述至少一个模块包括处理电路。
所述读取器被配置为通过应答器将由处理电路可执行的软件程序的指令(例如固件的指令)传送给至少一个模块。
本发明的实施例特别适用于NFC应答器,例如标签(标记),其旨在用作所述外部非接触式通信设备(读取器)(例如蜂窝移动电话,更熟知的名称是“智能手机”)和装置的(多个)模块之间的桥接器。
用作网关的这种应答器也可以被称为“动态应答器”或“动态标记”。
近场通信(本领域技术人员更熟知的名称是NFC(近场通信))是无线连接性技术,其允许在电子设备(诸如非接触式智能卡或标签)和读取器之间进行短距离(例如10cm)的通信。
NFC技术特别适合于连接任何类型的用户设备,并且允许快速且容易的通信。
非接触式应答器是能够根据非接触式通信协议经由天线与非接触式读取器交换信息的应答器。
作为非接触式应答器的NFC应答器是与NFC技术兼容的应答器。
NFC技术是ISO/IEC 18092和ISO/IEC 21481中的开放标准技术平台,但合并了许多现有标准,诸如ISO-14443中定义的A类和B类协议,它们可以是可以被用于NFC技术的通信协议。
非接触式技术也可以被用于与ISO 15693和ISO 18000-3兼容的射频标识(RFID)应答器。
当在读取器和应答器之间传输信息时,读取器经由其天线生成磁场,该磁场通常在常规使用的标准中是13.56MHz的正弦波(载波)。
为了将信息从读取器传输给应答器,读取器使用所述载波的幅度调制。
应答器包括处理电路,该处理电路被配置为解调接收到的载波以便获得从读取器传输的数据。
针对从应答器到读取器的信息传输,读取器在没有调制的情况下生成磁场(载波)。
应答器天线然后根据要被传输的信息调制由读取器生成的场。该调制的频率对应于所述载波的副载波。该副载波的频率取决于所使用的通信协议,并且例如可以等于848kHz。
该调制通过修改连接到应答器天线的端子的负载来执行。
那么两种操作模式是可能的,无源模式或有源模式。
在无源模式下,应答器对来自读取器的波进行逆向调制以传输信息,并且不集成传输电路本身或发射器以用于信息传输,例如能够在广播期间生成其自身的磁场。与包括发送器的有源应答器相反,没有发送器的这种应答器被称为无源应答器。
通常,无源应答器没有电源,因为它使用来自读取器的波来对其集成电路供电。
在一些应用中,无源应答器可以合并电源,例如电池。
在有源操作模式下,读取器和有源应答器都生成电磁场。通常,当有源应答器被提供有电源(例如电池)时,这种操作模式被使用。
NFC设备(读取器和应答器)中的每个NFC设备都使用调制方案来传输数据。此处,调制再次导致负载修改,然后这被称为有源负载调制通信。
与无源通信模式相比,取决于所使用的协议,高达20cm的更大操作距离被获得。
而且,有源负载调制的使用使得可以使用非常小的天线。
本公开的实施例优先应用于无源应答器,但也与有源应答器兼容。
尽管在模块内部具有主机是可能的,但是根据有利实施例,读取器和应答器被配置为使得在所述指令的传送期间读取器是所述总线上的主机。
虽然读取器没有被直接连接到有线通信总线,但在系统角度上,读取器实际上可以被认为是应用的主机或总线上的主机,因为它在与所述非接触式协议一致的帧内发起命令,并且这些命令将由应答器变换为总线上的、与在所述总线上使用的协议一致的命令。
在物理角度上,实际上被连接到总线的标记的有线接口是主机接口。
因此,也可以说读取器是通过主机有线接口的总线上的主机。
利用这种实施例,因此不需要在所述至少一个模块内部具有主机,这导致装置成本降低、开发简化、维护减少和简化以及装置大小减小。
在通过所述应答器在所述读取器和所述至少一个模块之间直接传送软件程序指令期间,所述应答器有利地是网关。
所述至少一个模块还被有利地配置为通过所述应答器直接与读取器通信,即,不经过任何微控制器。
根据实施例,所述至少一个模块包括存储器(例如闪存)、引导加载程序和引导加载程序模式,其中引导加载程序被配置为将所述指令存储到所述存储器中。
如本领域技术人员众所周知的,引导加载程序被存储在微控制器的内部引导ROM存储器(系统存储器)中。它由微控制器制造商在生产期间编程。它的主要任务是通过串行接口(I2C、SPI等)将固件下载到内部闪存。
一旦处于引导加载程序模式,微控制器正在观察串行接口以检测编程命令。
通信协议针对每个串行接口定义,其具有兼容的命令集和序列。
引导加载程序通常可以通过将专用微控制器的(多个)引脚设置在给定电平和/或允许激活该模式的内部配置位来激活。
然而,引导加载程序模式可以以不同方式激活。例如,如果闪存为空,则微控制器可能会在引导加载程序模式下自动引导。在固件更新的情况下,微控制器可以通过从用户代码执行到系统存储器的跳转来置于其引导加载程序模式。在这种情况下,无需将特定引脚设置在特定电压电平。
引导加载程序模式可以通过退出引导加载程序激活条件并生成硬件重置或跳转到用户代码来退出。
根据实施例,所述读取器还被配置为通过应答器激活引导加载程序模式。
例如,所述至少一个模块具有专用于激活引导加载程序模式的至少一个模块端子,并且所述应答器具有耦合到所述至少一个模块端子的至少一个应答器端子和被配置为:响应于通过非接触式接口从读取器接收的引导加载程序模式激活命令将所述至少一个应答器端子设置在一个或至少一个电压电平的控制电路。
根据另一方面,一种属于上面定义的系统的应答器被提出。
更具体地,应答器可以包括直通电路,该直通电路被配置为在软件程序的指令的传送期间实施针对读取器与所述至少一个模块之间的消息交换的直通功能。
读取器可以被配置为在与所述非接触式协议一致的至少一个帧内发起至少一个第一引导加载程序命令,所述至少一个第一引导加载程序命令包含包括软件程序的指令的第一数据有效载荷,并且所述直通电路可以被配置为将所述至少一个第一引导加载程序命令变换为在总线上的、与在所述总线上使用的协议一致的至少一个第二引导加载程序命令。
根据实施例,所述直通电路包括第一易失性存储器,该第一易失性存储器被配置为缓冲旨在通过所述非接触式接口被发送给读取器的所述第一数据有效载荷和响应的第二数据有效载荷。
根据实施例,所述直通电路还包括被配置为存储控制数据的第二易失性存储器,所述直通电路被配置为基于所述控制数据来实施用于读取器与所述至少一个模块之间的消息交换的所述直通功能。
根据实施例,所述直通电路还包括:第一状态机,被配置为通过非接触式接口与所述读取器协作,并且被配置为基于从读取器接收到的命令来写入/读取所述第一存储器以及所述第二存储器的一部分;以及第二状态机,被配置为基于所述第二存储器的一部分的内容通过所述有线接口与所述总线协作,并且被配置为写入/读取所述第一存储器以及所述第二存储器的一部分。
根据实施例,所述第二状态机被配置为从第一易失性存储器读取所述第一数据有效载荷,并且在总线上执行它们,以管理时钟和所有总线协议信令信息。
根据实施例,所述第二状态机被配置为读取总线应答,并且将它们存储在第一易失性存储器中以使该应答由第一状态机读取。
当所述总线是I2C总线时,由读取器发起的所述至少一个第一引导加载程序命令可以包括对所述至少一个模块的写入操作的至少一个请求。
对所述至少一个模块的写入操作的所述至少一个请求可以包括所述至少一个模块的地址、特定命令代码和要被写入所述存储器的至少一些指令。
当所述总线是SPI总线时,由读取器发起的所述至少一个第一引导加载程序命令可以包括至少一个写入命令。
根据有利实施例,应答器包括被配置为对所述至少一个模块供电的可控能量收集电路,并且读取器被配置为将特定命令发送给应答器以便激活所述能量收集电路。
根据另一方面,一种属于上面定义的系统的读取器也被提出。
根据另一方面,一种属于上面定义的系统的装置也被提出。
根据另一方面,一种用于将软件程序指令存储在具有处理电路的至少一个模块的存储器中的方法被提出。
所述方法包括:提供包括非接触式接口和应答器有线接口的应答器;在所述应答器有线接口与所述至少一个模块之间耦合总线;使所述读取器根据非接触式协议通过非接触式接口将所述软件程序指令传送给应答器;使应答器将总线上的软件程序指令传送给所述至少一个模块。
根据实施例,所述方法还包括:使读取器在所述软件程序指令的传送期间充当所述总线上的主机。
根据实施例,所述方法包括:为所述至少一个模块提供存储器和引导加载程序;将至少一个模块置于引导加载程序模式;使引导加载程序将所述软件程序指令存储到所述存储器中。
根据实施例,所述方法还包括使读取器通过应答器激活引导加载程序模式。
根据实施例,所述方法还包括:为所述至少一个模块提供专用于激活引导加载程序模式的至少一个模块端子;为所述应答器提供耦合到所述至少一个模块端子的至少一个应答器端子;使读取器通过非接触式接口将引导加载程序模式激活命令发送给应答器;以及使应答器响应于所述引导加载程序模式激活命令来将所述至少一个应答器端子设置在至少一个电压电平。
根据实施例,所述方法还包括:由应答器,存储控制数据;以及在软件程序的指令的传送期间,基于所述控制数据来实施针对读取器与所述至少一个模块之间的消息交换的直通功能。
根据实施例,所述方法包括:使读取器在与所述非接触式协议一致的至少一个帧内发起至少一个第一引导加载程序命令,所述至少一个第一引导加载程序命令包含包括软件程序的指令的第一数据有效载荷;以及使所述直通功能将所述至少一个第一引导加载程序命令变换为在总线上的、与在所述总线上使用的协议一致的至少一个第二引导加载程序命令。
根据实施例,所述方法还包括:为应答器提供被配置为对所述至少一个模块供电的可控能量收集电路,并且使读取器将特定命令发送给应答器以便激活所述能量收集电路。
如图1所示,其图示了根据本发明的实施例的系统SYS的示例,NFC/RFID读取器RD可以充当应用或装置APP的I2C主机,以将固件的指令递送给模块MD,例如微控制器,包括被配置为执行所述固件的处理电路PRU。
换言之,读取器RD被配置为通过NFC/RFID双接口应答器(或标记)TG的非接触式接口INT1与装置APP的模块MD直接通信。
虽然读取器RD没有被直接连接到总线BS(此处为I2C总线),但读取器RD可以被认为实际上是应用的主机或I2C总线上的主机,因为它在RF帧内发起命令,并且这些命令将被变换为与I2C协议一致的I2C总线的I2C命令。
标记或应答器TG的I2C接口INT2实际上被连接到I2C总线BS。该接口(也称为有线应答器接口INT2)是主机接口。
因此,也可以说读取器是通过I2C主机接口INT2的总线BS上的主机。
模块MD还包括连接到总线BS的I2C从机接口INTD以及旨在存储固件的存储器MF,诸如闪存。
模块MD还包括本身已知的引导加载程序BLD和至少一个模块端子,此处为三个模块端子GPC1至GPC3,分别耦合到三个应答器端子GPO1至GPO3。
标记TG还包括控制电路GPOCTRL,其被配置为:响应于通过非接触式接口INT1从读取器接收的引导加载程序模式激活命令,将所述应答器端子GPO1至GPO3以及因此模块端子GPC1至GPC3设置在相应电压电平。
在本示例中,在接收到该引导加载程序模式激活命令时,模块被置于引导加载程序模式,并且引导加载程序被激活。
此后这将更详细地解释。
在该实施例中,标记TG还包括可控能量收集电路EHM,其具有本身已知的结构,被配置为利用电源电压VCC对模块MD供电,并且读取器被配置为向应答器发送特定命令以便激活所述能量收集电路EHM。
更精确地,可控能量收集电路EHM的非限制性示例在图2中示意性地图示。
当NFC/RFID标记TG从由读取器生成的RF场接收比为其自身供电所需的更多的电源时,接收到的能量的一部分可以被用于对外部设备(此处为模块MD)供电。
电路EHM可以嵌入二极管整流桥RBR,其输出由MOS开关MSW控制。
当MOS开关MSW被打开时,没有电压被递送到EHM输出EHMS上。
当MOS开关MSW被关闭时,来自标记的天线线圈ANT1的整流电压被递送到输出EHMS上,以对外部设备(即,模块或微控制器MD)供电。
EHM开/关开关可以通过专用命令EHMCTRL来控制。
除了刚刚被描述的电路之外,标记TG集成了在图3上更具体地图示的电路集合ENS。
这种标记TG可以被用作允许在读取器和模块MD之间交换消息的网关,在该交换期间,读取器是主机并且有线接口INT2是总线BS上的主机。
这种标记及其操作的示例是在于2020年5月14日以PCT/EP2020/063427号提交的PCT申请中描述的。
本领域技术人员可以参考该PCT申请。
该PCT申请通过引用并入本文。
标记的一些特征以及更具体地用于本发明的一些交换步骤现在被提醒。
如图3所示,标记TG在图1的电路集合ENS内集成:
非易失性存储器NVM,例如EEPROM,
第一易失性存储器,如缓冲器BF(FIFO),用于存储I2C字节,
第二易失性存储器,包括多个寄存器,例如以下多个:
寄存器RGW,用于存储要写入的I2C字节数量
寄存器RGD,用于存储要读取的I2C字节数量
寄存器RGC(包含一位),用于发信号通知I2C命令存在于缓冲器BF中
寄存器RGR(包含一位),用于发信号通知I2C响应存在于缓冲器BF中
寄存器RGK(包含一位),用于记录确认位值。该寄存器RGK在读取时重置。
用于RF直通控制的状态机SM1
用于I2C直通控制的状态机SM2
这种标记TG可以例如由集成电路或芯片来实现,例如来自在意法半导体具有附图标记ST25的集成电路系列的集成电路。
I2C协议是本领域技术人员众所周知的,并且可以在I2C规范中找到。I2C协议的一些特征现在被提醒。
I2C总线使用两个电线:串行数据(SDA)和串行时钟(SCL)。
所有I2C主机和从机设备仅利用这两个电线连接。
充当主机的设备生成总线时钟并发起总线上的通信,其他设备是从机并响应总线上的命令。
为了与特定设备通信,每个从机设备必须具有在总线上唯一的地址。
I2C主机设备不需要地址,因为没有其他(从机)设备向主机发送命令。
信号SCL和SDA都是双向的。
针对每个时钟脉冲,一位数据被传输。SDA信号只有在SCL信号为低电平时才可以改变。当时钟为高电平时,数据应该是稳定的。
由主机设备发起的每个I2C命令以开始条件开始,并以停止条件结束。针对两种情况,SCL都必须很高。SDA从高到低的过渡被认为是开始,并且从低到高的过渡被认为是停止。
在开始条件之后,总线被认为是忙碌的。
在开始条件之后,主机可以生成重复的开始。这相当于正常的开始,并且通常后跟从机I2C地址。
图4、图5和图6(摘自I2C规范版本6.0,2014年4月4日)图示了I2C协议的特征。
如图4所图示的,I2C总线上的数据以8位分组(字节)传输。字节数量没有限制,然而,每个字节必须后跟来自从机设备的确认位ACK。该位ACK发信号通知从机设备是否准备继续下一字节。针对所有数据位和确认位ACK,主机必须生成时钟脉冲。如果从机设备不确认传输,这意味着没有更多数据或设备尚未准备传输。主机设备必须生成停止或重复开始条件。
数据首先以最高有效位(MSB)传输。如果从机在执行某个其他功能(例如提供内部中断)之前无法接收或传输另一完整字节的数据,则它可以将时钟线SCL保持为低电平以强制主机进入等待状态。当从机准备另一字节的数据并释放时钟线SCL时,那么数据传输继续。
如图5和图6所图示的,总线上的每个从机设备都应该具有唯一的7位地址。
通信以开始条件开始,后跟7位从机地址和数据方向位R/W。
如果该位R/W为0(图5),那么主机将写入从机设备。否则,如果数据方向位R/W为1,则主机将从从机设备读取(图6)。
在从机地址和数据方向位R/W被发送之后,主机可以继续读取或写入。
通信以停止条件结束,该停止条件还发信号通知I2C总线空闲。
如果主机需要与其他从机通信,则它可以生成具有另一从机地址的重复开始,而无需生成停止条件。
如果主机仅写入从机设备。那么数据传输方向不会被改变(图5)。从机接收器确认每个字节。
如果主机仅需要从从机设备读取,那么它仅发送具有设置为读取的R/W位的I2C地址。在此之后,主机设备开始读取数据。(图6)。
在第一确认的时刻,主机发送器变为主机接收器,并且从机接收器变为从机发送器。该第一确认A仍然由从机生成。主机生成后续确认。停止条件由主机生成,它仅在停止条件之前发送不确认。
图7至图11解释了将字节写入从机模块中的过程的连续步骤的示例,这些字节由读取器RD发送以便被传输给装置APP的从机模块。
如此后将更详细地解释的,写入字节的该过程将被用于从读取器RD向从机模块MD传输固件指令。
如图7所图示的,NFC/RFID读取器RD向NFC/RFID标记发送(步骤S7)RF命令700,以编程要被读取的I2C字节的数量。
RF命令700具有符合所使用的RF协议的常规结构,并且要被读取的I2C字节的数量被包括在RF命令700的数据有效载荷中。
此处要被读取的I2C字节数量的值等于0,因为在I2C总线上没有要被读取的字节。
要被读取的I2C字节的该数量由状态机SM1从RF命令中提取(RF直通控制),并且也由状态机SM1写入寄存器RGD中(RF直通控制)。
寄存器RGC和寄存器RGR包含0值,而寄存器RGK包含1值。
如图8所图示的,NFC/RFID读取器RD向NFC/RFID标记发送(步骤S8)RF写入命令800。
该RF命令800包含要被写入I2C总线上的I2C字节以及旨在接收那些I2C字节的从机模块的I2C从机地址。
I2C从机地址和I2C字节形成完整的I2C消息,旨在被递送给I2C总线,但没有I2C信令信息,即,此处没有开始和停止条件。
作为第一字节的I2C从机地址包括被设置为“写入”的R/W位。
这会切换寄存器RGC的“缓冲器中的I2C命令”位。
换言之,寄存器RGC由状态机SM1设置为1(RF直通控制)。
状态机SM1(RF直通控制)将x个I2C字节存储到缓冲器BF中,并用该I2C数量x的字节更新寄存器RGW以写入指定的从机模块。
如图9所图示的,I2C直通状态机SM2从缓冲器BF读取I2C字节,并通过I2C总线将它们发送给对应的从机模块,从而添加信令条件(开始和停止条件)。
这会切换寄存器RGC的“缓冲器中的I2C命令”位。
换言之,寄存器RGC由状态机SM2重置为0。
I2C直通状态机SM2从I2C总线读取由I2C从机模块发送的确认位,并将值0存储在“Ack”寄存器位RGK中。
如图10所图示的,NFC/RFID读取器RD向NFC/RFID标记发送(步骤S10)RF读取命令1000,以检查I2C操作是否被终止(轮询)。
在接收到该RF读取命令1000时,RF状态机SM1读取寄存器RGC中所包含的“缓冲器中的I2C命令”位。
该位的值经由具有符合所使用的RF协议的常规结构的RF响应1001被发送给读取器RD。
如果该位的值为0,则I2C写入操作结束。
如图11所图示的,NFC/RFID读取器RD向NFC/RFID标记发送(步骤S11)RF读取命令1100,以读取寄存器RGK中所包含的确认位值以检查I2C写入操作是否成功。如果确认位值为0,则写入操作成功。
更精确地,该RF命令1100由RF状态机SM1处理,该状态机SM1读取寄存器RGK中所包含的值,经由RF响应1101将其发送给读取器RD并将寄存器RGK的值重置为值1。
从与图7至图11相关的解释可以看出,寄存器RGD、RGW、RGC、RGR、RGK包含控制(也称为配置)数据(一个或多个位),其允许例如确定存在或者没有要被执行的操作、操作的类型(写入或读取操作)或操作的状况(例如终止)或操作的结果(例如成功)。
那些控制寄存器由以下读取和/或写入:
-由RF状态机SM1在接收到由读取器发送的RF命令(请求)时,或者
-由I2C状态机SM2。
更精确地,寄存器RGD、RGW和RGC由RF状态机SM1写入。
例如,如果寄存器RGC包含值0,则表示没有要由I2C状态机SM2执行的I2C命令。
如果寄存器RGC包含值1,则表示存在要由I2C状态机SM2执行的I2C命令,该命令为写入操作或读取操作。
操作的类型(读取或写入)由寄存器RGD和RGW的内容确定。
更精确地,如果寄存器RGD中所包含的值是空值,并且寄存器RGW中所包含的值不是空值,则由读取器请求的操作是写入操作。
如果寄存器RGW中所包含的值是空值,并且寄存器RGD中所包含的值不是空值,则由读取器请求的操作是读取操作。
寄存器RGW和寄存器RGD也由状态机SM2读取,以知道在指定的从机模块中写入或读取的字节数量。
寄存器RGC也由状态机SM2读取,以知道命令是否要在总线上执行,并且当命令的执行已经开始时,也由状态机SM2写入。
寄存器RGC也由状态机SM1在读取器请求时读取,以知道所请求命令的执行是否被终止。
寄存器RGR由状态机SM2写入以指示读取的字节被存储在缓冲器BF中,并且寄存器RGR也由状态机SM1在读取器请求时读取以检查I2C读取操作是否被终止。
寄存器RGK(例如最初设置为1)在接收到确认位时由状态机SM2写入,由状态机SM1在读取器RD请求时读取以检查读取或写入操作是否成功,并由状态机SM1重置为1。
在这些控制数据中,寄存器RGD和RGW中所包含的数据是控制数据,该控制数据从由读取器发送的命令的数据有效载荷内发送或推导,并定义来自读取器的命令是指定的从机模块中的写入操作还是读取操作。
寄存器RGC中所包含的数据是定义存在或不存在要在所述总线上执行的操作的控制数据。
寄存器RGC中所包含的数据也是指示由读取器请求的写入操作的执行是否被终止的控制数据,并且寄存器RGR中所包含的数据是指示由读取器请求的读取操作的执行是否被终止的控制数据。
寄存器RGR中所包含的数据也是指示由读取器请求的读取操作的结果是否被存储在应答器中的控制数据。
寄存器RGK中所包含的数据是指示由读取器请求的读取或写入操作是否成功的控制数据。
图12详述了RF直通状态机SM1的示例,并且图13详述了I2C直通状态机SM2的示例,两者都允许具体实施图7至图11中公开的步骤。
在提醒了这些一般考虑之后,我们现在更具体地参考图14至图17来描述本发明的实施例。
图14图示了用于将软件程序指令存储在模块(此处是微控制器)MD的存储器(例如闪存)MF中的方法的流程图的示例。
在步骤STP1中,读取器RD通过发射由使用中的NFC/RFID标准指定的RF场来启用与标记TG的通信。
标记由读取器场供电。
在步骤STP2中,读取器向标记发送特定RF命令以修改引脚或端子GPO1至GPO3以及因此GPC1至GPC3的电平,以便在引导加载程序模式下配置微控制器。
事实上,此处假设微控制器MD需要引脚GPCO1至GPCO3被设置在特定电平以进入引导加载程序模式。
在步骤STP3中,读取器向标记发送特定RF命令,以激活能量收集电路EHM并因此对微控制器供电。
然后微控制器以引导加载程序模式引导。
在步骤STP4中,读取器向标记发送特定RF命令以向微控制器发送I2C命令。
该步骤STP4允许将固件下载到微控制器闪存MF中。
一旦编程完成,读取器在步骤STP5中结束与标记的通信。RF场被移除,并且微控制器不再被供电。
在步骤STP6中,微控制器准备在下一次加电时在新固件上引导。
步骤STP2更详细地参照图15。
更精确地,读取器RD向标记TG发送专用RF命令1500,以使控制电路GPOCTR改变端子GPO1至GPO3的输出电平。
例如,在ISO15693规范中,允许使用特殊命令代码(所谓的自定义命令)CMCD,后跟IC制造商代码ICMC,以创建未由规范定义的特殊RF命令。
因此,专用的自定义命令1500可以被用于修改标记TG的端子GPO1至GPO3的电平。命令的有效载荷(位于帧SOF的开始和帧EOF的末端之间)包含端子的编号GPO_id和对应的请求输出电平LGPO。
在由标记的常规手段处理之后,例如从接收到的RF帧中解开命令的全局状态机,该命令由控制电路GPOCTR管理,并且取决于有效载荷值,控制电路GPOCTR修改所选端子GPOi的电压电平。
标记因此向读取器发送RF响应1501。
如上面提及的,NFC/RFID标记然后通过能量收集输出EHMS向微控制器提供电源。激活能量收集电路EHM的专用命令EHMCTRL也由全局常规状态机从接收到的RF帧中解开。
微控制器然后以引导加载程序模式引导,因为微控制器的专用引导加载程序端子GPCO1至GPCO3已经由标记TG的端子GPO1-GPO3设置为正确的电压值。
一旦处于引导加载程序模式,微控制器正在观察串行接口INTD以检测编程命令。
当微控制器MD的I2C从机地址被检测到时,引导加载程序BLD将执行已知的接收到的I2C命令,这些命令特定于每个微控制器并且使用I2C协议成帧来传输。
这将允许将固件指令从读取器RD传输给微控制器MD(步骤STP4),正如现在将更详细地解释的。
一般来说,RF命令将I2C命令嵌入其有效载荷中。
如上面参照图7至图11描述的,RF命令由标记解码和执行。
标记在物理上充当I2C主机(在系统角度上,读取器是主机),并且微控制器MD在引导加载程序模式下充当I2C从机。
标记将通过RF接口接收的I2C命令发送给微控制器。
那些命令具体地包含固件指令。
如上面提及的,与引导加载程序交互的I2C从机地址和存储器地址特定于每个微控制器。
例如,在具有附图标记STM32的意法半导体公司的微控制器上,I2C引导加载程序命令由开始条件、由主机发送的从机地址(标记)、来自从机(微控制器)的确认(ack)条件组成,然后是由主机发送的特定命令代码(1或2个字节)、由从机取决于命令在两个可能的方向上发送或接收的后跟字节的确认条件,以停止条件结束。
图16和图17图示了从读取器向微控制器的引导加载程序发送引导加载程序命令的完整序列的示例。
如图16所图示的,读取器RD向标记发送RF写入命令1600。
该RF命令1600是写入命令,类似于图8所图示的写入命令。
RF命令有效载荷嵌入第一引导加载程序命令,包括去往微控制器引导加载程序的I2C命令的所有字节。
具体地,有效载荷嵌入微控制器MD的I2C从机地址,并且I2C字节1是特定的引导加载程序命令代码BLDCCD。
其他字节是固件的指令以存储在微控制器MD的闪存MF中。
当然,下载整个固件可能需要多个写入命令。
该RF命令1600的处理类似于针对图8的写入命令800描述的处理。
如图17所图示的,标记TG然后将从NFC/RFID读取器接收的I2C命令发送给I2C总线上的微控制器(此处为I2C写入帧)。
该I2C写入命令的处理类似于针对图9的写入命令描述的处理。
具体地,I2C直通状态机SM2从缓冲器BF读取I2C字节,并通过I2C总线将它们发送给对应的从机模块,从而添加信令条件(开始和停止条件)。这形成了与I2C协议一致的第二引导加载程序命令。状态机SM2因此已将嵌入在RF命令1600中的第一引导加载程序命令变换为与I2C协议一致的所述第二引导加载程序命令。
I2C直通状态机SM2从I2C总线读取由I2C从机模块发送的确认位Ack,并将值0存储在“Ack”寄存器位RGK中。
然后读取器通过RF命令轮询标记,以检查I2C命令执行的状况。
该轮询如参照图10解释的那样进行。
具体地,读取器RD向标记发送RF读取命令以检查I2C操作是否被终止(轮询)。
在接收到该RF读取命令时,RF状态机SM1读取寄存器RGC中所包含的“缓冲器中的I2C命令”位。
该位的值经由具有符合所使用的RF协议的常规结构的RF响应1601(图16)被发送给读取器RD。
如果该位的值为0,则I2C写入操作结束。
然后,如参照图11解释的,读取器RD向标记发送RF读取命令以读取寄存器RGK中所包含的确认位值,以检查I2C写入操作是否成功。如果确认位值为0,则写入操作(即,固件指令的下载)成功。
图12和图13所图示的RF直通状态机SM1的示例和I2C直通状态机SM2的示例都允许具体实施图14至图17中公开的方法的步骤,特别是第一引导加载程序命令和第二引导加载程序命令的处理。
当微控制器闪存的编程被完成时,NFC/RFID读取器可以控制微控制器的端子GPCO1至GPC03的电平以禁用引导加载程序,使得微控制器的下一引导将仅在闪存MF上进行。
本发明不被限于以上示例,而是可以被扩展到其他RFID技术:UHF(ISO18000-6、ISO18000-63、EPC Gen2)。
进一步地,本发明可以被扩展到其他总线协议。
另一可能协议的示例是SPI(串行外围接口)(半双工传输或全双工传输),
如上面提及的PCT申请中更详细地解释的。
具体地,与SPI协议的使用兼容的标记TG1的示例在图18中公开。
该双接口应答器(或标记)TG1集成:非接触式接口INT10、SPI主机接口INT20、包括用于存储要被传输的SPI字节的传输(Tx)缓冲器(FIFO)BFT的第一易失性存储器以及用于存储接收到的SPI字节的接收(Rx)缓冲器(FIFO)BFR;包括多个寄存器的第二易失性存储器。例如,多个寄存器可以包括:寄存器RGCF,用于存储SPI配置(时钟相位/极性、时钟速度、位序、全/半双工传输模式);寄存器(计数器)DCNT,用于存储要传输和接收的SPI字节总数;寄存器(计数器)TXCNT,用于存储半双工传输模式下传输的字节数量;移位寄存器SR,用于在全双工中存储传输和接收的数据;寄存器RGRT,用于存储位以发信号通知SPI准备传输(Tx缓冲器已被填充);寄存器RGTC,用于存储位以发信号通知SPI传输/接收被完成(Tx缓冲器BFT已被清空,Rx缓冲器BFR已被填充)。TG1集成了:用于非接触式(RF)直通控制的第一状态机SM10;以及用于SPI直通控制的第二状态机SM20。
SPI协议是本领域技术人员众所周知的。
SPI协议的一些特征此后关于图19至图21提醒。
如图19所图示,主机通过4个(在全双工传输模式下)或多个线路被连接到一个或多个从机:
SCLK:时钟
MOSI:用于将数据传输给从机的主机输出从机输入
MISO:用于从从机接收数据的主机输入从机输出
SS:从机选择线(激活低电平以选择从机)。
在半双工传输模式(所谓的3电线模式)下,数据在同一线路上传输和接收(MOSI=MISO)。
如上面提及的,SPI可以被设置为与单个主机和单个从机一起操作,并且它可以被设置有由单个主机控制的多个从机。存在将多个从机连接到主机的两种方式。如果主机具有多个从机选择引脚,则从机可以被并联布线。如果仅一个从机选择引脚可用,则从机可以是菊花链。
时钟信号SCLK将来自主机的数据位的输出与由从机进行的位采样同步。一位数据在每个时钟周期中传输,因此数据传输的速度由时钟信号的频率确定。SPI通信始终由主机发起,因为主机配置并生成时钟信号。
主机可以通过将从机的SS线设置在低电压电平来选择它想要与哪个从机通话。在空闲、非传输状态下,从机选择线被保持为高电压电平。
主机通过MOSI线以串行方式逐位向从机发送数据。从机在MOSI引脚处接收从主机发送的数据。从主机发送给从机的数据通常(但不是强制地)首先以最高有效(MSB)位发送。
从机还可以通过MISO线将数据串行发送回主机。从从机发送回主机的数据通常首先以最低有效(LSB)位发送。
数据仅在SS低电平期间有效。
如图20所图示的,基于移位寄存器中的数据交换,SPI总线是全双工的。
来自主机移位寄存器的位被推入从机移位寄存器。
来自从机移位寄存器的位同时被推入主机移位寄存器。
如图21所图示的,数据在SCLK上采样,其具有可配置的相位CPHA和极性CPOL。
更精确地,SPI中的时钟信号SCLK可以使用时钟极性和时钟相位的特性来修改。这两个特性共同作用来定义位何时被输出以及何时被采样。时钟极性可以由主机设置,以允许位在时钟周期的上升沿或下降沿输出和采样。时钟相位可以被设置用于输出和采样,以发生在时钟周期的第一沿或第二沿,无论它是上升还是下降。
用于SPI数据传输的步骤是以下步骤:
主机输出时钟信号;主机将SS引脚切换到低电压状态,从而激活从机;主机沿着MOSI线一次一位地向从机发送数据。从机在位被接收到时读取这些位;如果需要响应,从机沿着MISO线一次一位地向主机返回数据。主机在位被接收到时读取这些位。
寄存器RGCF、RGRT、RGTC、DCNT、TXCNT包含控制(也称为配置)数据(一个或多个位),其允许例如确定SPI配置或者指示状况“准备传输”或操作状况(例如终止)或要传输的字节数量。
在接收到由读取器或SPI状态机SM20发送的RF命令(请求)时,这些控制寄存器由RF状态机SM10读取和/或写入。
更精确地,寄存器RGCF、RGRT、DCNT、TXCNT和RGTC由RF状态机SM10写入。
例如,如果寄存器RGRT包含值0,则表示没有要由SPI状态机SM20执行的SPI命令。
如果寄存器RGRT包含值1,则表示存在要由SPI状态机SM20执行的SPI命令。
要在SPI总线上传输的字节数量由寄存器DCNT和最终TXCNT的内容确定。
在这方面,寄存器DCNT和TXCNT也由状态机SM20读取。
寄存器RGRT也由状态机SM20读取,以知道命令是否要在总线上执行,并且当命令的执行被终止时,也由状态机SM20写入。
寄存器RGTC在命令的执行被终止时由SPI状态机SM20写入,并且在读取器请求时由状态机SM10读取以知道所请求命令的执行是否被终止。
该寄存器RGTC也由状态机SM10重置。
在这些控制数据中,寄存器RGCF、DCNT和TXCNT中所包含的数据首先是在由读取器发送的命令的数据有效载荷内发送或推导的控制数据。
图22详述了RF直通状态机SM10的示例,并且图23详述了SPI直通状态机SM20的示例,两者都允许具体实施用于使用SPI协议存储固件指令的方法的步骤,特别是第一引导加载程序命令和第二引导加载程序命令的处理。
Claims (30)
1.一种系统,包括:
非接触式读取器;以及
装置,包括:
非接触式应答器,包括非接触式接口和应答器有线接口,并且被配置为通过所述非接触式接口,根据非接触式协议与非接触式读取器通信,
总线,被耦合到所述应答器有线接口,以及
至少一个模块,被耦合到所述总线,所述至少一个模块包括处理电路,所述非接触式读取器被配置为通过所述非接触式应答器将由所述处理电路可执行的软件程序的指令传送给所述至少一个模块。
2.根据权利要求1所述的系统,其中所述非接触式读取器和所述非接触式应答器被配置为使得在所述指令的所述传送期间所述非接触式读取器是所述总线上的所述主机。
3.根据权利要求1所述的系统,其中所述至少一个模块包括存储器、引导加载程序以及引导加载程序模式,在所述引导加载程序模式下,所述引导加载程序被配置为将所述指令存储到所述存储器中。
4.根据权利要求3所述的系统,其中所述非接触式读取器还被配置为通过所述非接触式应答器来激活所述引导加载程序模式。
5.根据权利要求4所述的系统,
其中所述至少一个模块具有至少一个模块端子,所述至少一个模块端子专用于所述引导加载程序模式的所述激活;并且
其中所述非接触式应答器具有至少一个应答器端子以及控制器,所述至少一个应答器端子被耦合到所述至少一个模块端子,所述控制器被配置为:响应于通过所述非接触式接口从所述读取器接收的引导加载程序模式激活命令,将所述至少一个应答器端子设置在电压电平。
6.根据权利要求4所述的系统,其中所述非接触式应答器包括直通电路,所述直通电路被配置为在所述软件程序的所述指令的传送期间,实施针对所述非接触式读取器与所述至少一个模块之间的消息交换的直通功能。
7.根据权利要求6所述的系统,其中所述非接触式读取器被配置为在与所述非接触式协议一致的至少一个帧内,发起至少一个第一引导加载程序命令,所述至少一个第一引导加载程序命令包含第一数据有效载荷,所述第一数据有效载荷包括所述软件程序的所述指令,并且所述直通电路被配置为将所述至少一个第一引导加载程序命令变换为所述总线上的、与在所述总线上使用的协议一致的至少一个第二引导加载程序命令。
8.根据权利要求7所述的系统,其中所述直通电路还包括第二易失性存储器,所述第二易失性存储器被配置为存储控制数据,所述直通电路被配置为基于所述控制数据来实施针对所述读取器与所述至少一个模块之间的消息交换的所述直通功能。
9.根据权利要求7所述的系统,其中所述直通电路包括第一易失性存储器,所述第一易失性存储器被配置为缓冲所述第一数据有效载荷和响应的第二数据有效载荷,所述响应旨在通过所述非接触式接口被发送给所述读取器。
10.根据权利要求9所述的系统,其中所述直通电路还包括:
第一状态机,被配置为通过所述非接触式接口与所述读取器协作,并且被配置为基于从所述读取器接收的命令来写入/读取所述第一易失性存储器以及所述第二易失性存储器的一部分;以及
第二状态机,被配置为基于所述第二易失性存储器的一部分的内容通过所述有线接口与所述总线协作,并且被配置为写入/读取所述第一易失性存储器以及所述第二易失性存储器的一部分。
11.根据权利要求10所述的系统,其中所述第二状态机被配置为从所述第一易失性存储器读取所述第一数据有效载荷,并且在所述总线上执行所述第一数据有效载荷,以管理时钟和所有总线协议信令信息。
12.根据权利要求11所述的系统,其中所述第二状态机被配置为读取所述总线上的应答,并且将所述应答存储在所述第一易失性存储器中以使所述应答由所述第一状态机读取。
13.根据权利要求7所述的系统,其中所述总线是I2C总线,并且其中由所述读取器发起的所述至少一个第一引导加载程序命令包括对所述至少一个模块的写入操作的至少一个请求。
14.根据权利要求13所述的系统,其中对所述至少一个模块的写入操作的所述至少一个请求包括所述至少一个模块的地址、特定命令代码以及所述指令中要被写入所述存储器的至少一些指令。
15.根据权利要求7所述的系统,其中所述总线是SPI总线,并且其中由所述读取器发起的所述至少一个第一引导加载程序命令包括至少一个写入命令。
16.根据权利要求1所述的系统,其中所述总线是I2C总线。
17.根据权利要求1所述的系统,其中所述总线是SPI总线。
18.根据权利要求1所述的系统,其中所述应答器包括被配置为对所述至少一个模块供电的可控能量收集电路,并且所述读取器被配置为将特定命令发送给所述应答器以便激活所述能量收集电路。
19.一种装置,包括:
非接触式应答器,包括非接触式接口和应答器有线接口,并且被配置为通过所述非接触式接口,根据非接触式协议与非接触式读取器通信;
总线,被耦合到所述应答器有线接口;以及
至少一个模块,被耦合到所述总线,所述至少一个模块包括处理电路,所述至少一个模块被配置为通过所述非接触式应答器接收由所述处理电路可执行的软件程序的指令。
20.根据权利要求19所述的装置,其中所述至少一个模块包括存储器、引导加载程序以及引导加载程序模式,在所述引导加载程序模式下,所述引导加载程序被配置为将所述指令存储到所述存储器中。
21.根据权利要求20所述的装置,其中所述非接触式读取器还被配置为通过所述非接触式应答器来激活所述引导加载程序模式。
22.一种用于将软件程序指令存储在具有处理电路的至少一个模块的存储器中的方法,所述方法包括:
提供包括非接触式接口和应答器有线接口的应答器;
在所述应答器有线接口与所述至少一个模块之间耦合总线;
使读取器根据非接触式协议,通过所述非接触式接口将所述软件程序指令传送给所述应答器;以及
使所述应答器在所述总线上将所述软件程序指令传送给所述至少一个模块。
23.根据权利要求22所述的方法,还包括:使所述读取器在所述软件程序指令的所述传送期间充当所述总线上的所述主机。
24.根据权利要求22所述的方法,还包括:
为所述至少一个模块提供存储器和引导加载程序;
将所述至少一个模块置于引导加载程序模式;以及
使所述引导加载程序将所述软件程序指令存储到所述存储器中。
25.根据权利要求24所述的方法,还包括:使所述读取器通过所述应答器激活所述引导加载程序模式。
26.根据权利要求25所述的方法,还包括:
为所述至少一个模块提供至少一个模块端子,所述至少一个模块端子专用于所述引导加载程序模式的所述激活;
为所述应答器提供至少一个应答器端子,所述至少一个应答器端子被耦合到所述至少一个模块端子;
使所述读取器通过所述非接触式接口将引导加载程序模式激活命令发送给所述应答器;以及
使所述应答器响应于所述引导加载程序模式激活命令来将所述至少一个应答器端子设置在电压电平。
27.根据权利要求22所述的方法,还包括:由所述应答器,
存储控制数据;以及
在所述软件程序的所述指令的传送期间,基于所述控制数据来实施针对所述读取器与所述至少一个模块之间的消息交换的直通功能。
28.根据权利要求27所述的方法,还包括:
为所述至少一个模块提供存储器和引导加载程序;
将所述至少一个模块置于引导加载程序模式;
使所述引导加载程序将所述软件程序指令存储到所述存储器中;
使所述读取器在与所述非接触式协议一致的至少一个帧内,发起至少一个第一引导加载程序命令,所述至少一个第一引导加载程序命令包含第一数据有效载荷,所述第一数据有效载荷包括所述软件程序的所述指令;以及
使所述直通功能将所述至少一个第一引导加载程序命令变换为所述总线上的、与在所述总线上使用的协议一致的至少一个第二引导加载程序命令。
29.根据权利要求22所述的方法,其中所述总线是I2C总线或SPI总线。
30.根据权利要求22所述的方法,还为所述应答器提供可控能量收集电路,所述可控能量收集电路被配置为对所述至少一个模块供电,以及使所述读取器将特定命令发送给所述应答器以便激活所述能量收集电路。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2008956 | 2020-09-03 | ||
FR2008956A FR3113748B1 (fr) | 2020-09-03 | 2020-09-03 | Procédé de stockage d’instructions dans une mémoire programme et système associé. |
US17/464,062 US11625347B2 (en) | 2020-09-03 | 2021-09-01 | Method of storing instructions in program memory and associated system |
US17/464,062 | 2021-09-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138313A true CN114138313A (zh) | 2022-03-04 |
Family
ID=74668896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111032065.0A Pending CN114138313A (zh) | 2020-09-03 | 2021-09-03 | 将指令存储在程序存储器中的方法和关联系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11625347B2 (zh) |
CN (1) | CN114138313A (zh) |
FR (1) | FR3113748B1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502932A (zh) * | 2018-05-18 | 2019-11-26 | 意法半导体(格勒诺布尔2)公司 | 处理系统、相关集成电路和方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2443234B8 (en) * | 2006-10-24 | 2009-01-28 | Innovision Res & Tech Plc | Near field RF communicators and near field RF communications enabled devices |
WO2009068931A1 (en) * | 2007-11-30 | 2009-06-04 | Nokia Corporation | Method, device and system for firmware update by near-field communication |
CN104252631B (zh) * | 2013-06-25 | 2017-12-29 | 神讯电脑(昆山)有限公司 | 电子装置及该电子装置的控制方法 |
DE102013216753A1 (de) * | 2013-08-23 | 2015-02-26 | Novero Dabendorf Gmbh | Vorrichtung und Verfahren zur kombinierten Signalübertragung oder zur kombinierten Signal- und Energieübertragung |
US9301132B2 (en) * | 2013-11-07 | 2016-03-29 | International Business Machines Corporation | Managing distribution of software updates in near field communication (NFC) mobile devices |
KR20150072240A (ko) * | 2013-12-19 | 2015-06-29 | 엘지전자 주식회사 | 전기제품 및 전기제품의 펌웨어 업데이트 방법 |
WO2015125174A1 (en) * | 2014-02-21 | 2015-08-27 | Sony Corporation | Tag clusters for silent tags |
US9893390B2 (en) * | 2014-08-27 | 2018-02-13 | Duracell U.S. Operations, Inc. | Battery pack including an indicator circuit |
EP3001341B1 (en) * | 2014-09-26 | 2020-01-15 | Nxp B.V. | NFC device, software installation method, software uninstallation method, computer program and article of manufacture |
WO2017035236A1 (en) * | 2015-08-25 | 2017-03-02 | Andium Inc. | Programming and debugging electronic devices using a near field communications device |
US20170286084A1 (en) * | 2016-03-30 | 2017-10-05 | Motorola Mobility Llc | Rfid-based device wireless updates |
US10810084B2 (en) * | 2016-04-01 | 2020-10-20 | Intel Corporation | Update failure rebooting and recovery for a smart device |
-
2020
- 2020-09-03 FR FR2008956A patent/FR3113748B1/fr active Active
-
2021
- 2021-09-01 US US17/464,062 patent/US11625347B2/en active Active
- 2021-09-03 CN CN202111032065.0A patent/CN114138313A/zh active Pending
-
2023
- 2023-03-10 US US18/182,116 patent/US20230214336A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502932A (zh) * | 2018-05-18 | 2019-11-26 | 意法半导体(格勒诺布尔2)公司 | 处理系统、相关集成电路和方法 |
CN110502932B (zh) * | 2018-05-18 | 2023-11-03 | 意法半导体(格勒诺布尔2)公司 | 处理系统、相关集成电路和方法 |
Also Published As
Publication number | Publication date |
---|---|
US11625347B2 (en) | 2023-04-11 |
FR3113748A1 (fr) | 2022-03-04 |
US20230214336A1 (en) | 2023-07-06 |
FR3113748B1 (fr) | 2023-08-11 |
US20220066964A1 (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6942147B2 (en) | Smart card reader | |
CN106598632B (zh) | 一种光模块的固件升级方法及装置 | |
US8330581B2 (en) | IC tag, method of controlling the IC tag, and IC tag system | |
EP2782045B1 (en) | RFID system, communication device and communication program | |
US8063740B1 (en) | Interfacing to RFID reader utility that causes RFID tags to reply using changed reply timing | |
KR20050040451A (ko) | 무선주파수 식별 기능을 가지는 이동통신 단말기 및 그이동통신 단말기에서의 무선주파수 식별 프로그래밍 방법 | |
US20230214336A1 (en) | Method of storing instructions in program memory and associated system | |
US9615196B2 (en) | NFC device configuration after device power up | |
EP2453391A1 (en) | IC card, mobile electronic device and data processing method in IC card | |
US8457024B2 (en) | Information processing device and program | |
KR101083366B1 (ko) | 메모리 시스템 및 호스트와 메모리 카드 사이의 데이터전송 속도 설정 방법 | |
US10931331B2 (en) | Communication device and method | |
US20220173772A1 (en) | Exchange of data between a nfc reader and a dual nfc interface transponder | |
EP2500845A2 (en) | Portable electronic apparatus | |
KR101549531B1 (ko) | 리더/라이터, 통신 처리 장치, 통신 처리 방법, 데이터 관리 시스템 및 통신 시스템 | |
CN113326220B (zh) | 一种外设电子标签信息获取方法及设备 | |
CN111865362B (zh) | 在动态应答器内的数据交换,以及对应的应答器 | |
US20230222301A1 (en) | System with reader, transponder and sensors and operating method | |
CN116415602A (zh) | 具有读取器、应答器和传感器的系统以及操作方法 | |
JP2011150661A (ja) | 携帯可能電子装置、及び携帯可能電子装置の制御方法 | |
EP4340238A1 (en) | Automatic hardware interface detection | |
US11677444B2 (en) | Contactless transponder and method | |
CN113988094B (zh) | 非接触式应答器和方法 |
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 |