用于软件定义指令的可重配置感测平台的制作方法与工艺

文档序号:12041101阅读:197来源:国知局
用于软件定义指令的可重配置感测平台的制作方法与工艺
本文中描述的一个或多个实施例涉及感测技术,以及对电子设备的可重配置硬件和软件控制。

背景技术:
许多电子设备(仪器)配备有适于耦合至传感器和外围设备的接口。传感器和外围设备是由不同制造商制作的,基于不同规范来设计的,和/或具有不同功能需求。结果,主机电子设备常常必须配备有定制硬件前端电路以便与特定传感器和外围设备接口。专用定制前端硬件的使用限制了灵活性并增大成本、复杂度、功耗、大小,并且使得设备单一功能化。这要求用户购买多个专用设备用于多个应用。当前无法得到可动态重配置自身以合成(synthesize)前端从而与多个传感器和外围设备接口的单个设备或平台。附图说明图1是示出电子设备中的逻辑块的一个实施例的示图。图2是示出电子设备中的逻辑块的另一实施例的示图。图3是示出用于对用来执行电子设备中的一个或多个功能的逻辑块进行重配置的方法的一个实施例中包括的操作的示图。图4是示出电子设备中的可重配置逻辑块的实施例的示图。具体描述图1示出了电子设备100内包括的逻辑块1的一个实施例。电子设备可以是多个静止、移动或便携式设备中的任一个,包括但不限于:例如,移动电话(其包括但不限于移动智能电话)、个人数字助理、多媒体播放器或其他类型 的信息终端、膝上型设备、笔记本、手持式或其他类型的计算机、或移动因特网设备。逻辑块包括可重配置块2和存储电路3。可重配置块包括一个或多个硬件电路,这些硬件电路可在其输入、输出、以及功能方面被配置以执行一组预定逻辑功能和/或动作。块2可基于硬件描述信息来配置,该硬件描述信息包括存储电路中保持的值和数据和/或电子设备的另一存储器电路中存储的代码。存储电路3可包括例如用于存储这些值和数据的多个寄存器。改变硬件描述信息产生块2的逻辑连接和功能的相应变化,因此至少因为这样块2被认为是可重配置的。根据一个实现,可重配置块可包括多个可编程逻辑器件中的任一个。一种类型的可配置块是现场可编程逻辑阵列(FPAA)器件。这种类型的器件是包含可配置模拟块的集成器件,其中具有由例如电流模式或电压模式设备所构成的这些块之间的互联。电流模式或电压模式设备可包括与无源组件的可编程配置相结合的一个或多个运算放大器,这些无源组件协作以执行求和、积分和/或其他功能。这些组件可包括可编程增益放大器、电阻器、电容器、逻辑门、模数转换器、数模转换器、滤波器、模拟复用器和模拟开关、数字可配置差分跨导放大器以及其他组件。电容器可包括开关电容器,而电阻器可以是可编程电阻器。模拟开关可以是低阻抗CMOS和/或其他类型的开关。FPAA可以连续时间模式或离散时间模式来操作。可重配置块还可以或替代地包括由浮栅互补金属氧化物半导体(CMOS)技术制造的一个或多个可编程电路。可重配置块还可以或替代地包括现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、和/或可执行模拟和数字功能的多个其他可重配置、可重编程电路中的任一个。根据另一实现,可重配置块可被实现为状态机,其例如可被用来执行各种数字逻辑功能。状态机可基于存储在例如存储电路3或另一存储器器件中的一个或多个状态转移表来操作。与所使用的器件的类型无关地,可重配置块2可基于存储在存储电路3中的一组规范值和数据来配置。将由可重配置块执行的逻辑功能是基于与硬件 描述语言(HDL)相对应的代码来定义的,该代码是基于所存储的规范值和数据来实现的。与HDL相对应的代码可被存储在可重配置块内,或者可被存储在此块的外部,例如,存储在主机电子设备100的处理器5内的或耦合至该处理器5的存储电路4中。HDL代码可由电子设备以各种方式来接收。例如,代码可由外部源接收,或者可被预编程至电子设备100,或者两者兼有。代码可导致例如各种门、开关、输入和输出将被连接、配置和/或激活,以便执行一个或多个预定功能。这样,HDL可被认为对原本必须被定制在器件中的一个或多个硬件电路的操作进行合成或建模。HDL编程的使用由此允许通过改变存储在存储电路3中的HDL和/或规范值或数据来改变模拟和逻辑块(以及由此电子设备)的功能。在图1中所示的示例中,电子设备是配置有将与传感器7耦合的移动智能电路。耦合可通过各种方式来达成。例如,传感器可包括适合于接口6的插座的插头。耦合还可使用各种多引脚连接器或通用串行(USB)连接器来达成。另一耦合例如使用多个局域通信标准(包括蓝牙、WiFi等)中的任一个来无线地执行。传感器7可以是各种传感器中的任一个,包括但不限于:生物化学传感器、生物测定传感器、医学诊断传感器、健康传感器、呼气测醉器(breathalyzer)传感器、空气、食物、或水质量测试传感器、或设计成执行工业或科学应用的传感器。另外其他传感器包括局域毫微技术、微机电系统(MEMS)或微流控技术的传感器。这些传感器可具有模拟或数字(例如,SPI、UART、I2C、USB)输出,并且还可具有用于控制功能的模拟或数字输入。基于HDL代码,可重配置块动态地合成用于将传感器与电子设备100接口6所需的模拟、数字或混合信号前端电路。对于一些传感器,可重配置块还合成可连接至这些传感器以形成反馈环的模拟或数字电路。此反馈环可能是诸如传感器线性化、灵敏度调节、偏移量补偿等控制功能所需的。从传感器接收到的信号由可重配置块处理,并在随后被发送到处理器,该处理器执行一个或多个相对应的设备功能8。例如,处理器可执行存储在设备的存储器9中的应用。应用可以是可下载应用或预存储在设备中的应用。根据一个实现,当传感器可包括存储电路10,该存储电路存储用于配置 可重配置块2的HDL、规范值和/或数据。当例如传感器被插入接口(或以其他方式与之耦合)时,此信息可通过接口被自动传输。此信息随后被存储在存储电路3和/或HDL存储器件4中,并且可重配置块2可被自动配置。替换地,当处理器5检测到传感器与接口之间的耦合时,可在设备上显示询问用户例如是否要激活传感器的消息。当接收到合适的响应时,信息可在随后被传输以便存储在存储电路3和/或HDL存储器件4。如同先前示例中的,所存储的信息随后被用来自动配置块2。如图1中所示的,可编程功率块11还可被包括以示出传感器可通过直流(DC)、交流(AC)、脉冲或定制电压或电路模式来激活或以其他方式提供功率。图2示出了电子设备200内包括的逻辑块21的另一实施例。此实施例可能类似于图1的实施例之处在于,其包括可重配置块22和存储电路23。而且,块适于耦合至传感器27,由可重配置块处理的信号被输出到处理器25,处理器25可包括HDL存储电路24或耦合至HDL存储电路24,并且处理器输出信号以执行器件功能28。与图1不同,传感器27被包括在电子设备中并且通过接口32耦合至逻辑块。用于配置可重配置块22的HDL代码、规范值和/或数据可例如通过无线接口或通过电缆或其他硬件连接来下载。无线连接可例如是蓝牙或WiFi连接,并且缆线或其他硬件连接可以是USB连接、以太网连接器、或另一类型的连接。而且,可包括类似于图1中的块11的可编程功率块31。在一个实现中,此信息可使用与传感器相关联的应用来下载,由此高效地重编程可重配置块22的功能用于执行功能28。处于示例性目的,无线接口26被示为用于接收HDL代码、规范值和/或配置数据,并且应用存储器29被包括以存储应用,该应用与要执行的功能相关联来使用。图3示出用于重配置用来执行电子设备中的一个或多个功能的逻辑块的方法的一个实施例中包括的操作。电子设备和逻辑块可对应于本文中描述的实施例中的任一个。(虽然在文本中公开的实施例中使用术语“逻辑块”,但是此块可被理解为由模拟电路所形成或者由数字或模拟电路的组合所形成,由此本文中使用的措辞逻辑不应被仅限于数字实现)。初始操作包括接收用于配置逻辑块的信息。(框310)。可响应于检测到 传感器被插入电子设备或以其他方式与之耦合,自动接收该信息。(框302)。替代地,信息可在采取预定动作之后被接收。(框304)。预定动作可包括访问网站或移动电路链路或者建立至另一源的连接,在此之后可下载信息。如先前所指示的,信息可包括要存储在电子设备中以便配置逻辑器件的可重配置块的HDL代码、规范值和/或数据。先前存储的HDL代码、值或数据(用于例如配置另一类型的传感器的块)可用在框310中接收到的信息来覆写,以由此将逻辑块重配置成对应于传感器。一旦接收到信息,该信息就被存储在电子设备中。(框320)。如图所示,例如,在图1和2中,用于重配置逻辑块的规范值和/或数据可被存储在存储电路中,而HDL代码可被存储在分开的存储区域中,例如,位于设备的处理器内的分开的存储区中或位于耦合至该处理器的分开的存储区中。所存储的信息被用来重配置逻辑块。(框330)。这可涉及例如基于所存储的HDL代码、规范值或数据来设置要连接、配置和/或激活的各个门、开关、运算放大器、模拟组件、输入和输出,以便执行一个或多个预定功能。执行这些设置导致可重配置块合成或建模原本必须被定制在器件中的一个或多个硬件电路的操作。一旦已重配置块,通过提供恰当的激励电压、电流或其他激励模式来激活传感器以供使用,并且从传感器所接收的信号由经重配置的块来处理。(框340)。例如,如果传感器是葡萄糖监视器,则指示用户的葡萄糖水平的信号由逻辑块来处理,这可涉及例如将模拟传感器信号转换成数字信号。当然,其他功能可根据需要由逻辑块来执行。一旦已处理信号,设备的处理器就可执行一个或多个预定附加功能。(框350)。例如,处理器可比较由逻辑块所生成的数字信号,将它们与参考值作比较,以便确定用户的葡萄糖水平是否在范围在外。信息可在随后被显示给用户,从而指示这些水平。方法的附加操作包括拔去传感器并附连新传感器,连同相关联HDL代码、规范值、和/或数据。(框360)。此附加信息随后被用来重配置逻辑块。通过此方法,系统的逻辑电路可被重配置成对应于不同的硬件电路,以便满足耦合至移动设备的每一类型的传感器的需求。图4示出了电子设备中的可重配置逻辑块400的另一实施例。此逻辑块包括多个特征,所有这些特征可被结合在单个封装(系统上封装)内或同一芯片(系统上芯片或SoC)上。可重配置逻辑块包括可重配置模拟块410、一个或多个可合成外围设备420、可合成可重配置数字块430、可合成控制块440、处理器450、以及一个或多个合成输出外围设备460。可重配置块的合成特征可使用诸如FPAA之类的可重配置模拟和/或诸如FPGA之类的可重配置数字逻辑来实现,并且如先前所讨论的,基于存储在电子设备中的HDL代码、规范值和数据来动态地建模。可重配置模拟块可包括形成块400的前端的各个模拟硬件组件,该前端将被耦合以从传感器500接收信号。硬件组件可包括例如运算放大器、可编程增益放大器、电阻器、电容器、滤波器、模拟复用器和模拟开关中的一个或多个。而且,电容器可被形成为开关电容器,电阻器可被形成为可编程电阻器,模拟开关可被形成为低阻抗CMOS开关,而放大器可以是数字可配置差分或跨导放大器。可重配置模拟块410可以使用浮置栅CMOS、比例缩放CMOS和/或标准CMOS或其他模拟技术。可合成外围设备420可被动态建模以执行各个功能。这些功能可包括例如诸如具有可编程分辨率的模数转换器、定时器、采样器、和脉冲宽度模的功能。外围设备处理可重配置模拟块410的信号,并且结果被输出到可合成数字块。可合成数字块430是可动态建模例如数字信号处理器或微控制器核以运行实时操作系统的可重配置块。此类操作系统的一个示例可以是VxWorks。操作系统可执行各种功能,包括采样数字化和初步数据调节。操作系统还可与例如可执行复杂推断算法的处理器450通信。此框中的FPGA架构可具有例如海量门(asea-of-gates)和/或附加逻辑块(CLB)设计。状态机可基于所存储的规范值和数据来配置。改变这些值和数据将由此改变状态机及其附带功能。可合成控制块440可被动态建模以执行各个反馈和控制功能。示例包括数模转换、通用输入/输出(GPIO)引脚编程、线性化、偏移量补偿、校准、和灵敏度调节功能。由控制块440生成的信号可被反馈以控制传感器500。由控 制块生成的反馈信号可以是模拟和/或数字的。数字反馈信号可通过各种通信接口中的任一个被发送给传感器,这些通信接口包括但不限于例如串行外围接口(SPI)或集成电路(I2C)接口。传感器500可耦合至可编程功率源,该可编程功率源可以例如被包括在块400内。可编程功率源可以类似于就图1和2描述的块11和31的方式来操作。处理器450可对应于电子设备的主处理器。例如,如果电子设备是笔记本计算机,则处理器可以是Intel的Atom处理器——其运行诸如Windows、Linux或Moblin之类的操作系统,并且在这点上可充当主系统计算机。如所示指示的,处理器450可执行数字控制块不能执行的、计算上更具挑战的操作。这些可包括诸如智能算法、自适应数字信号处理、特征提取、模式匹配、数据融合、和机器学习。可重配置逻辑块还可基于所存储的HDL代码、规范值和/或数据动态地对与各种系统外围设备的硬件接口进行建模。例如,可重配置块可合成用于如下功能的硬件电路:用于驱动电子设备的或耦合至电子设备的显示器600、用于驱动电子设备的或耦合至电子设备的定制键区610、用于驱动设备的通信接口620(例如,通用异步接收器/发射器(UART)或USB)、或用于驱动电子设备的或耦合至电子设备的打印机630或条形码读取器。显示器可以是各种分辨率和大小的液晶显示器或字母数字LED显示器。另一实施例提供了一种计算机可读介质,该计算机可读介质具有用于执行本文中所描述的方法的操作以及用于根据本文中描述的实施例合成可重配置逻辑块的各个组件的代码段。代码段可对应于不同的HDL代码段,或者可对应于存储在电子设备中的其他代码段。计算机可读介质的一个示例可以是存储用于控制电子设备的指令集的计算机可读介质。指令集可包括用于存储来自第一传感器的传感器前端电路的硬件描述信息的第一代码段,用于基于所存储的硬件描述信息以第一配置来设置可重配置块的第二代码段,用于控制可重配置块以处理来自第一传感器的信号、以及用于基于从可重配置块输出的经处理信号来执行电子设备的功能的第四代码段。第一代码段可在第一传感器被检测到将被可移除地耦合至电子设备之后自动存储来自第一传感器的硬件描述信息。另外,指令组可包括用于存储来自第二传感器的硬件描述信息的第五代码段、用于用接收自第二传感器的硬件描述信息覆写接收自第一传感器的硬件描述信息的第六代码段、以及用于基于来自第二传感器的硬件描述信息来配置可重配置块的第七代码段。根据一个实施例,可重配置逻辑块对可被耦合至电子设备或被包括在电子设备内的不同类型的传感器的硬件前端进行合成。使用HDL或其他类型的硬件规范或合成代码来执行合成。代码可例如由传感器制造商来提供。例如,传感器厂商可提供硬件驱动器比特流,该硬件驱动器比特流可在传感器被插入时合成设备的前端。将新特征添加到传感器功能可能只需要仅改变将由处理器执行的硬件规范代码以及任何相关联算法。可重配置逻辑块可具有用于各种传感器的即插即用功能,即,每次新传感器被插入电子设备(例如,移动智能电话或因特网设备)时,逻辑块被重配置成支持不同传感器的功能。因而,可使用仅一个逻辑块并将其重配置成支持多个传感器。制造商硬件规范代码可被存储在传感器中并在传感器被插入时被传输至电子设备,或者可从所下载的应用中获得,该所下载的应用在被激活时导致针对传感器重配置逻辑块。当电子设备包括多个传感器时,例如,每当对应于传感器的应用被发起之时,可从内部存储设备自动加载每个传感器的HDL代码以重配置逻辑块。如果多个类似或不同的传感器被插入到电子设备或被集成到电子设备,则可重配置块可基于HDL代码同时合成多个类似或不同的前端电路。在前述实施例中,逻辑块和/或电子设备可被更改以例如通过包括多个相对应的插座、端口或插头来同时耦合至多个插入传感器。逻辑块可在随后基于那些传感器中相应的一个而同时或顺序地控制不同的外围设备。另外,在前述实施例中,可重配置传感器前端可被集成到系统上芯片或系统上封装,或者可使用分立组件来设计。此外,前述实施例可被包括在移动设备内,或者可以处于在移动设备外部的有线/无线节点上。本说明书中对“实施例”的任何引用意味着结合该实施例描述的特定特征、结构、或特性被包含于至少一个实施例中。此类措辞的出现不一定都指代同一 实施例。此外,当结合任何实施例描述特定特征、结构或特性时,认为在本领域技术人员见识范围内,可以结合其他实施例实施这样的特征、结构或特性。此外,为了易于理解,特定功能块可能已被描绘为分开的块;然而,这些分开描绘的块不必被解释为处于它们在本文中讨论或以其他方式给出的次序。例如,一些块可能以替代次序、同时等等方式来执行。尽管已参照许多示例性实施例描述了实施例,但是应当理解本领域技术人员可设想将落在本文中的实施例的原理的精神和范围内的众多其他更改和实施例。更具体地,对主题组合布置的组件部分和/或布置的合理改变和更改是可能的,而这落在前述公开、附图和所附权利要求书的范围内而不背离本文中的实施例的精神。除了对组件部分和/或布置的改变和更改之外,替代性使用对于本领域技术人员而言也是显而易见的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1