技术领域
[0003] 本公开的实施例总体上涉及电子系统。
相关背景技术
[0004] 随着时间的流逝,诸如蜂窝电话、平板计算机、计算机等的复杂电子设备集成了越来越多的功能并且使得能够实现数字服务来最大程度地融入日常生活。例如,某些蜂窝电话(尤其是智能电话)集成了诸如银行支付服务的数字服务或者还集成了公共交通票、活动票、远程系统(银行、公共行政等)对用户的认证的使用服务。为实现这种功能,设备可以集成特定于这些功能的电子组件(例如诸如安全组件),这些组件使得能够保留/存储通常称为“凭证”的标识、参考和认证信息以及数字服务提供商的资产、运动传感器、近场通信模块(NFC)等。
[0005] 由于添加了新功能而导致的困难是,这可能迫使某些电子组件实现多个(至少两个)操作系统。此外,多个操作系统与连接到它们的不同组件/外围设备的共存可能会产生困难。
具体实施方式
[0016] 在不同的附图中,相同的元件使用相同的附图标记表示。特别地,不同实施例共有的结构和/或功能元件可以使用相同的附图标记指定,并且可以具有相同的结构、尺寸和材料性质。
[0017] 为了清楚起见,仅示出和详细描述了对于理解所描述的实施例有用的那些步骤和元件。特别地,下文描述的实施例适于标准近场通信(NFC)技术。下文将不描述该技术。
[0018] 贯穿本公开,术语“连接”用于指定电路元件之间除导体之外没有中间元件的直接电连接,而术语“耦合”用于指定电路元件之间可以是直接的、也可以是经由一个或多个其他元件的电连接。
[0019] 在以下描述中,除非另有说明,否则当提及限定绝对位置的术语(例如,术语“前”、“后”、“上”、“下”、“左”、“右”等)或限定相对位置的术语(例如,术语“之上”、“之下”、“上部”、“下部”等)或限定方向的术语(例如,术语“水平”、“竖直”等)时,参考附图的取向。
[0020] 术语“约”、“接近”、“基本上”和“在...的量级”在本文中用于指定公差为所讨论的值的正负10%、优选正负5%。
[0021] 期望能够至少部分地改进诸如蜂窝电话的已知复杂电子设备的某些方面,并且更具体地能够至少部分地改进多个操作系统在相同的电子组件上共存的某些方面。因此,本文所公开的一些实施例可以应用于适于多个操作系统及其应用共存的电子组件。附加地,一些实施例可以针对包括近场通信(NFC)模块的、适于多个操作系统共存的电子设备。
[0022] 实施例克服了包括多个操作系统和近场通信模块的已知电子设备的全部或部分缺点。
[0023] 实施例提供了一种电子设备,其包括能够实现至少两个操作系统的至少一个安全元件以及通过至少两个总线耦合到安全元件的至少一个近场通信模块。
[0024] 根据一个实施例,近场通信模块能够将数据引导朝向总线中的一个或另一个总线,安全元件包括能够将每个操作系统与总线之一相关联的接口。
[0025] 根据一个实施例,接口使用路由表作为操作系统和总线之间的链路。
[0026] 根据一个实施例,接口使用内部信息来构造和执行操作系统与总线之间的路由。
[0027] 根据一个实施例,通信总线的数目等于操作系统的数目。
[0028] 根据一个实施例,当安全元件实现第一操作系统时,第一总线能够与安全元件交换数据,并且当安全元件实现第二操作系统时,第二总线能够与安全元件交换数据。
[0029] 根据一个实施例,在安全元件和近场通信模块之间的总线是其类型和其相关联的协议选自以下组的总线:单线类型、MIPI DSI类型、I2C类型、I3C类型、SPI类型。
[0030] 根据一个实施例,设备是蜂窝电话。
[0031] 根据一个实施例,操作系统之一是SIM卡的操作系统。
[0032] 根据一个实施例,操作系统之一是支付卡的操作系统。
[0033] 根据一个实施例,操作系统之一是公共交通卡的操作系统。
[0034] 根据一个实施例,公共交通卡的操作系统通过使用单线总线在近场通信模块和安全元件之间建立通信来提供数字应用。
[0035] 将在下面结合附图对具体实施例的非限制性描述中详细讨论前述和其他特征和优点。
[0036] 图1示意性地示出了电子设备100的电子电路中的一些。设备100是例如(诸如智能电话类型的)蜂窝电话、触摸板或平板计算机等。
[0037] 根据一个实施例,设备100包括能够实现多个(例如,至少两个)操作系统的电子组件(107)。设备100与近场通信(NFC)技术兼容。因此,设备100除其他外包括至少一个处理器101、至少一个近场通信模块(NFC控制器或NFC模块)103、至少一个天线105和至少一个安全元件107等。
[0038] 处理器101例如被认为是设备100的主处理器。处理器101能够执行例如由安全元件107或NFC模块103发射的命令。处理器101还能够执行设备100的其他组件的其他命令和功能。
[0039] NFC模块103能够经由天线105发射和接收数据。NFC模块103还能够从处理器101和安全元件107发射和接收数据和/或控制信号。
[0040] 天线105适于近场通信技术。
[0041] 安全元件107能够接收数据并将数据发射到NFC模块103和处理器101。安全元件107能够实现设备100的安全功能。安全元件107例如是嵌入式安全元件(eSE)或集成式安全元件(iSE)。可以例如使用能够执行软件代码(例如,操作系统)的电路装置(例如,处理器)来实现安全元件107。
[0042] 根据一个实施例,安全元件107能够实现多个(至少两个)操作系统。每个操作系统都不知道在同一电子组件上与之共存的其他操作系统。每个操作系统无法通信、交互或访问其他操作系统的数据。换言之,当操作系统被“激活”时,它认为它是唯一能够访问设备100组件的操作系统。例如,在设备100是蜂窝电话的情况下,主操作系统或第一操作系统是SIM(订户身份模块)卡的操作系统,其中存储了电话的所有者的标识信息以及能够在移动网络中连接/注册设备的其他信息。第一操作系统可以包含其他服务(例如,公共交通卡服务)。在这种情况下,公共交通卡的操作系统可以通过使用总线(例如,单线总线)以建立NFC模块103与安全元件107之间的通信来提供数字应用。例如,在这种情况下,第二操作系统可以是支付卡的操作系统。
[0043] 因此,在使用多个操作系统的情况下,设备100可以根据使用情况提供链路到第一操作系统或第二操作系统的功能。换言之,设备可以例如用作支付卡或公共交通卡。
[0044] 将结合图2至图4来详细描述安全元件107和NFC模块103之间的不同连接电路。
[0045] 图2以框的形式示意性地示出了关于图1所描述的设备100的实施例的NFC模块(NFC)103与安全元件107之间的连接电路的实施例。元件107能够实现两个操作系统,每个操作系统由带有附图标记(OS1)107-1、(OS2)107-2的框表示。安全元件107包括并实现通信总线的接口或接口层或抽象层108。
[0046] 在该实施例中,NFC模块103经由两个总线B1和B2耦合到安全元件107。每个总线B1、B2能够相对于单个操作系统或相对于从应用系统执行的应用程序发射和接收数据和控制信号。在图2的情况下,NFC模块(NFC)103能够朝向适当的总线B1、B2路由数据。例如,NFC模块103可以使用数据或控制信号的一部分来知晓应将其朝向哪个操作系统引导。例如,总线B1和B2是使用单线总线协议SWP的单线总线,或者是使用MIPI DSI类型(移动行业处理器接口显示串行接口)、I2C类型(集成电路间)、I3C类型(I3C类型的发展)或SPI类型(串行外围接口)的多线总线协议的多线总线。作为变型,总线由近场通信模块和安全元件之间的任何适当的通信支持形成。
[0047] 抽象层108例如使得操作系统107-1能够在不必担心它是否应使用总线B1还是B2的情况下,经由总线发送控制信号。操作系统107-1(本身)仅看到总线的存在。接口层108因此使得能够在无需让每个操作系统107-1、107-2知道另一个存在的情况下,建立操作系统/总线对107-1/B1和107-2/B2之间的关系。为此目的,一个实施例包括:由层108建模/创建对之间的路由或转译表。当操作系统107-1和107-2通过总线B1或B2通信时,它们以“通用”方式与总线对话。换言之,两个操作系统107-1和107-2不知道两个总线B1和B2的存在。对于它们中的每一个,存在单个总线。层108可以例如将操作系统的数目(或要求访问其管理的总线的操作系统的数目)限制为操作系统所需的可用通信总线的数目,这在总线的数目小于由安全元件管理的操作系统的数目的情况下是有用的。根据一个实施例,NFC模块103包含表示由安全元件107实现的操作系统的数目的信息。
[0048] 根据一个备选实施例,设备100可以包括安全元件,该安全元件能够实现多于两个的能够从NFC模块接收数据和/或向NFC模块发射数据的操作系统。在这种情况下,NFC模块可以通过与安全元件实现的操作系统一样多的总线连接到安全元件。
[0049] 图3以框的形式示意性地示出了结合图1描述的设备100的实施例的NFC模块103和安全元件107之间的连接电路的一个实施例。如图2所示,元件107能够实现两个操作系统,每个操作系统由带有附图标记(OS1)107-1、(OS2)107-2的框来表示。
[0050] 在该实施例中,NFC模块103经由单个总线B3耦合至安全元件107,单个总线B3无差别地发射旨在用于两个操作系统的数据和控制信号。安全元件107包括路由/抽象层120或路由电路,使得能够朝向相关的操作系统引导数据和控制信号。路由电路120还允许修改或适配由电路120向操作系统发射的数据和控制信号,使得每个操作系统不知道其他操作系统的存在。这样,每个操作系统相信或认为它是操作安全元件107的唯一操作系统。路由/抽象层由外部仲裁实体(ARBITER)122或仲裁器驱动,外部仲裁实体122或仲裁器由例如主处理器101控制。这种仲裁器与安全元件107、特别是与路由/抽象层120交互,以向其指示哪个操作系统将负责处理输入数据。路由/抽象层还具有以下功能:当首次激活操作系统时,操作系统将使用其自己的参数(如标准ETSI TS 102 622中所定义)来配置NFC控制器。当首次激活另一操作系统时,还必须使用其自己的参数来配置NFC模块。在没有路由电路的情况下,该最后操作将擦除第一操作系统的配置。路由层因此应“存储”由每个操作系统实现的配置,并针对不同操作系统的每次激活更改将其重新补充到NFC控制器中。路由电路可以采用多个形式并且可以根据应用而变化,但是所存储的配置仍然可用并且由路由电路在内部存储,路由电路然后可以利用每个操作系统为NFC控制器提供的新配置信息来完成。在图3所示的实施例中,路由电路是如下的状态机:其包括耦合到总线B3的输入和各自与安全元件107-1、107-2的操作系统通信的两个输出。
[0051] 根据一个实施例,设备100可以包括能够实现多于两个的操作系统的安全元件,在这种情况下,路由电路包括与能够从NFC模块接收数据和/或将数据发射到NFC模块并由安全元件107实现的操作系统一样多的输出。
[0052] 路由电路120使用例如数据或控制信号中包含的信息来确定哪个操作系统是其被访地址。根据一个实施例,路由电路可以由安全元件107或由NFC模块103控制,以朝向相关的操作系统107-1、107-2引导数据。路由电路特别用于将管线分配给NFC路由器的端口。由路由/转译层120创建的路由电路例如由例如非易失性存储器中存储的查找表实现。根据一个变型,路由电路120可以由状态机来实现。
[0053] 图4以框的形式示意性地示出了用于将结合图1描述的设备100的实施例的NFC模块103和安全元件107耦合的架构的实施例。如图2和图3所示,元件107能够实现两个操作系统,每个操作系统由附图标记(OS1)107-1、(OS2)107-2指定的框表示。
[0054] 在该实施例中,NFC模块103经由单个总线B3耦合至安全元件107,单个总线B3无差别地发射旨在用于两个操作系统的数据和控制信号。数据和控制信号由NFC模块103内包括的路由电路121引导朝向相关的操作系统。在图4所示的实施例中,路由电路121包括:从接收电路123接收数据的输入、以及耦合到总线B3的输出。根据一个备选实施例,设备100可以包括能够实现多于两个的操作系统的安全元件,在这种情况下,路由电路121包括与能够从NFC模块接收数据和/或向NFC模块发射数据并由安全元件实现的操作系统一样多的输出。根据一个实施例,路由电路121是路由表。NFC模块103通常包括路由表,但是路由表121是附加路由表。如果系统支持不确定数目的操作系统,则将其通知给NFC模块(例如,在与模块
107或处理器101建立通信期间)以特定的操作系统107-1或107-2、而不是一般安全元件107为目标。
[0055] 路由电路121例如使用数据或控制信号中包含的信息来确定哪个操作系统是其被访地址。路由电路121例如由查找表实现,查找表例如存储在非易失性存储器中,由转换电路131和132解释。
[0056] 转换电路131和132是如下的数据转换电路:其能够将所接收的数据和控制信号进行转换,使得它们变得可被相关操作系统理解和执行,并且使得转换电路移除本来应由NFC控制器添加的路由数据或控制信号。类似地,如果应从特定的操作系统(107-1或107-2)发送消息,则转换电路131和132必须添加路由所需的信息。例如,转换电路131和132部分或全部地被包括在安全元件107内。转换电路131、132因此允许令每个操作系统107-1、107-2认为它是能够操作安全元件107的唯一操作系统。实际上,每个操作系统仅接收直接旨在用于该操作系统并且能够进行解释和/或实现的数据和控制信号。
[0057] 根据一个备选实施例,因为总线B3可以由多个导体形成,所以第一组导体可以被委派用于传输涉及单个操作系统107-1的数据和控制信号,并且第二组导体可以被委派用于向其他操作系统传输数据和控制信号。
[0058] 图5以框的形式示意性地示出了结合图1描述的设备100的实施例的NFC模块103和安全元件107之间的连接电路的另一实施例。元件107能够实现称为OS1和OS2的两个操作系统,并且与结合图2描述的元件107相同。因此,元件107包括抽象层108。
[0059] 本文中描述的实施例是关于图2描述的实施例的备选实施例,其中总线B1和B2各自被存储器代替。更具体地,每个总线B1、B2被易失性存储器141(RAM1)、142(RAM2)代替。每个存储器141(相应地142)通过总线B41(相应地B43)耦合到NFC模块103,并且通过总线B42(相应地B44)耦合到元件107。易失性存储器141和142可以例如使用本领域已知的易失性存储器电路(包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM))来实现。
[0060] 在该实施例中,NFC模块(NFC)103能够朝向适当的存储器141、142路由数据。
[0061] 在该实施例中,由NFC模块103发送到元件107、并且旨在用于操作系统OS1的数据首先通过总线B41传输,然后由NFC模块103写入存储器141中。然后,元件107经由总线B42从存储器141恢复数据。数据然后到达关于图2描述的抽象层108的级。
[0062] 类似地,由NFC模块103发送到元件107、并且旨在用于操作系统OS2的数据首先通过总线B43传输,然后由NFC模块103写入存储器142中。然后,元件107经由总线B44从存储器142恢复数据。数据然后到达关于图2描述的抽象层108的级。
[0063] 根据一个实施例,易失性存储器141和142是同一易失性存储器的两个存储区域。
[0064] 图6以框的形式示意性地示出了关于图1描述的设备100的实施例的NFC模块103和安全元件107之间的连接电路的另一实施例。
[0065] 本文中描述的实施例是关于图3和图4描述的实施例的备选实施例,其中总线B3被易失性存储器代替。更具体地,总线B3被易失性存储器151(RAM3)代替,易失性存储器151通过总线B51耦合到NFC模块103,并且通过总线B52耦合到元件107。
[0066] 在这种变型中,由NFC模块103发送到元件107的数据首先由总线B51传输,然后由NFC模块103写入存储器151中。然后,元件107经由总线B52从存储器151恢复数据。
[0067] NFC模块和元件107可以与关于图3描述的NFC模块和元件107相同,或者可以与关于图4描述的NFC模块和元件107相同。
[0068] 已经描述了各种实施例和变型。本领域技术人员将理解,这些各种实施例和变型的某些特征可以被组合,并且本领域技术人员将想到其他变型。
[0069] 最后,基于以上给出的功能指示,所描述的实施例和变型的实际实现在本领域技术人员的能力范围内。