发明内容
本公开涉及用于电子系统中的反馈和控制的发明方法和装置,特别是涉及一种支持这样的反馈和控制的通信协议。例如,各个实施例涉及采用对称通信协议以便在电子系统的嵌入式处理器之间进行通信的系统和方法,该电子系统特别是功率电子系统,甚至更具体地为照明系统。
总体上,在一个方面,本发明涉及一种装置,其包括照明单元、光学隔离器和主处理器。该照明单元包括照明模块以及被配置为向该照明模块进行供电的照明驱动器。该照明模块包括:一个或多个 光源,一个或多个用于感应指示该照明模块的一个或多个操作参数的数据的传感器,和被配置为接收指示一个或多个操作参数的所感应数据的二级处理器。该主处理器被配置为监视一个或多个操作参数。该主处理器和二级处理器根据基于消息的通信协议而经由光学隔离器互相进行通信,其中在主处理器和二级处理器之间传输的每个消息具有相同的消息格式并且包括命令字段和响应字段,其中该响应字段被提供用于指示针对命令的响应。
根据一个或多个实施例,每个消息进一步包括:帧开头字段;帧结尾字段;消息长度字段;和循环冗余校验(CRC)位,其用于除了CRC位自身以及帧开头、帧结尾和消息长度字段之外的消息整体平衡。
根据一个或多个实施例,一个或多个操作参数包括提供至一个或多个光源中的至少一个的电流,提供至一个或多个光源中的至少一个的电压,和照明模块的操作温度。在这些实施例的一个或多个版本之中,一个或多个光源包括至少两个光源。
根据一个或多个实施例,该命令字段包括从允许命令集合中所选择的命令,其中允许命令集合包括:将二级处理器的状态设置为指定状态集合中的一个状态;从二级处理器请求指示照明模块是否准备进行操作的确认;设置照明单元中所包括的脉冲宽度调制器的脉冲宽度调制数值;和请求二级处理器传输从指定感应数据集合的群组中所选择的感应数据集合。允许命令集合可以进一步包括将照明模块设置为演示模式。
根据这些实施例的一个或多个版本,指定状态集合包括活动状态、待机状态、重置状态、关机状态和仅电流监视状态。
根据这些实施例的一个或多个版本,一个或多个光源至少包括第一和第二光源,并且其中指定感应数据集合包括:应用于第一和第二光源的第一和第二电流;来自第一和第二光源的电流以及应用于第一光源的第一电压;应用于第一和第二光源的第一和第二电流和应用于第二光源的第二电压;应用于第一和第二光源的第一和第 二电流和照明模块的温度;以及应用于第一和第二光源的第一和第二电流和照明单元的脉冲宽度调制器的脉冲宽度调制数值。
根据一个或多个实施例,消息格式为:[SOF/MSGL]-[CMD/RESP]-([DATA(0)]...[DATA(x)]}-[CRC2]-[(CRC1/2)/EOF],其中:SOF指示消息的开头,MSGL指示消息的长度,CMD指示具体命令,RESP指示具体预期响应,DATA指示与所指定命令或响应相关联的数据,CRC2指示消息的16位循环冗余校验数值的低8位,CRC1/2指示消息的16位循环冗余校验数值的高8位的一半,并且EOF指示消息的结尾。
根据一个或多个实施例,照明单元进一步包括用于调节照明驱动器的输出水平的脉冲宽度调制器,其中一个或多个操作参数进一步包括该脉冲宽度调制器的脉冲宽度调制数值。
照明单元进一步包括第二光学隔离器,其被配置为从照明模块向照明驱动器提供反馈信号。
总体上,在另一个方面,本发明涉及一种方法,其包括:在嵌入于包括一个或多个光源的照明模块中的二级处理器处,从主处理器接收根据基于消息的通信协议进行传输的第一消息,其中主处理器和二级处理器之间传输的每个消息具有相同的消息格式并且包括命令字段和响应字段,其中该响应字段被提供用于指示针对命令的响应;响应于第一消息的命令字段中所包括的第一命令在照明模块执行第一操作;根据基于消息的通信协议从二级处理器向主处理器发送第二消息,其中该第二消息在响应字段中包括针对第一消息中所接收的第一命令的第一响应。
根据一个或多个实施例,第一命令包括请求二级处理器向主处理器发送在照明模块所感应的指示照明模块的一个或多个操作参数的所选择数据。
根据这些实施例的一个或多个版本,在照明模块执行第一操作包括感应所选择数据并且其中第二消息进一步包括该所选择数据。
如这里出于本公开的目的所使用的,术语“LED”应当被理解 为包括任意电致发光二极管或者能够响应于电信号而生成辐射的其它类型的基于载子注入/结的系统。因此,术语LED包括响应于电流而发光的各种基于半导体的结构、发光聚合物、有机发光二极管(OLED)、电致发光带等,但是并不局限于此。特别地,术语LED是指可以被配置为生成红外频谱、紫外频谱和可见频谱的各个部分(通常包括从大约400纳米到大约700纳米的辐射波长)中的一个或多个频谱中的辐射的所有类型的发光二极管(包括半导体和有机发光二极管)。LED的一些示例包括各种类型的红外LED、紫外LED、红色LED、蓝色LED、绿色LED、黄色LED、琥珀色LED、橙色LED和白色LED(以下进一步讨论),但是并不局限于此。还应当意识到,LED可以被配置和/或控制为生成具有针对给定频谱(例如,窄带宽、宽带宽)的各种带宽(例如,半高全宽或FWHM)以及给定的一般颜色分类中的各种主导波长的辐射。
例如,被配置为实质上生成白色光的LED(例如,白色LED)的一种实施方式可以包括分别产生不同频谱的电致发光的多个裸片,上述不同频谱的组合混合形成实质上为白色的光线。在另一种实施方式中,白色光LED可以与将具有第一频谱的电致发光转换为不同的第二频谱的磷光体材料相关联。在该实施方式的一个示例中,具有相对短波长和窄带宽频谱的电致发光对该磷光体材料进行“泵浦”,该磷光体材料转而辐射出具有稍宽频谱的更长波长的辐射。
术语“光源”应当被理解为是指任意一个或多个的各种辐射源,包括但并不局限于基于LED的源(包括一个或多个如以上所定义的LED)、白炽源(例如,灯丝灯、卤素灯)、荧光源、磷光源、高强度放电源(例如,钠蒸汽、水银蒸汽和金属卤化物灯)、激光、其它类型的电致发光源、火致发光源(例如,火焰)、烛光发光源(例如,汽灯罩、碳弧辐射源)、光致发光源(例如,气体放电源)、使用电子饱和的阴极发光源、电流发光源、晶体发光源、显像管发光源、热发光源、摩擦发光源、声致发光源、辐射发光源和发光聚合物,但并不局限于此。
术语“照明单元”在这里被用来指代包括相同或不同类型的一个或多个光源的装置。给定照明单元可以具有针对(多个)光源、包装/外壳的布置和形状、和/或电气和机械连接配置的各种安装布置中的任意之一。此外,给定照明单元可选地可以与涉及(多个)光源的操作的各种其它组件(例如,控制电路,其可以包括一个或多个驱动器)相关联(例如,包括,与之耦合和/或封装在一起)。“基于LED的照明单元”是指单独或与其它非基于LED的光源相结合地包括一个或多个如以上所讨论的基于LED的光源的照明单元。
术语“驱动器”和“照明驱动器”在这里总体上被用来指代用于接收输入功率以便将该功率以一种形式提供至该一个或多个光源而使得(多个)光源产生光。特别地,“LED驱动器”是指用于接收输入功率并且将该功率提供至一个或多个包括一个或多个如以上所讨论的LED的基于LED的光源的负载而使得一个或多个基于LED的光源产生光的装置。
术语“照明模块”在这里被用来指代照明单元中可以被照明驱动器所驱动的部件,并且可以包括一个或多个光源、一个或多个传感器以及用于为照明驱动器提供反馈信号的可选反馈电路。在一些情况下,照明模块表示照明单元中与照明驱动器电流隔离的部件。
如这里所使用的,“电流隔离”是指将电气系统的功能部分进行隔离而防止载荷粒子从一个部分移动至另一部分的原则。当第一和第二部分互相电流隔离时,没有电流直接从第一部分流向第二部分。各部分之间仍然能够通过其它手段交换能量和/或信息,例如电容、电感、电磁波、光学、声学或机械手段。
如这里所使用的,“光学隔离器”是被设计为通过利用光波传输电信号而提供与其输入和输出之间的电气隔离/电流隔离的耦合的电子设备,并且有时也可以被称作光隔离器、光耦合器或光学耦合器。
术语“控制器”在这里一般被用来描述与一个或多个光源的操作相关的各种装置。控制器可以以多种方式来实施(例如,利用专 用硬件来实施)以执行这里所讨论的各种功能。
“处理器”是采用可以使用软件(例如,微代码)进行编程以执行这里所讨论的各种功能的一个或多个微处理器的控制器的一个示例。控制器可以在采用或不采用处理器的情况下进行实施,并且还可以被实施为以执行一些功能的专用硬件并且用于执行其它功能的处理器(例如,一个或多个编程微处理器和相关联电路)的组合。可以在本公开的各个实施例中被采用的控制器组件的示例包括常规的微处理器、应用特定集成电路(ASIC)和现场可编程门阵列(FPGA),但是并不局限于此。
在各种实施方式中,处理器或控制器可以与一个或多个存储媒体(在这里一般被称作“存储器”,例如易失性和非易失性计算机存储器,诸如RAM、PROM、EPROM和EEPROM、软盘、紧致盘、光盘、磁带等)相关联。在一些实施方式中,存储媒体可以利用一个或多个程序进行编码,当在一个或多个处理器和/或控制器上执行时,该程序实施这里所讨论的至少一些功能。各种存储媒体可以固定在处理器或控制器之内或者可以是可转移的,以使得其中所存储的一个或多个程序能够被加载到处理器或控制器中以便实施这里所讨论的本发明的各个方面。术语“程序”或“计算机程序”在这里以一般含义被用来指代能够被用来对一个或多个处理器或控制器进行编程的任意类型的计算机代码(例如,软件或微代码)。
应当意识到的是,以上概念和以下更为详细地讨论的附加概念(假设这样的概念并不互相矛盾)的所有组合形式被构想为这里所公开的发明主题的一部分。特别地,在本公开结束处出现的请求保护的主题的所有组合被构想为这里所公开的发明主题的一部分。还应当意识到,这里明确采用的、也可以出现在通过引用而结合的任意公开中所出现的术语应当赋予与这里所公开的特定概念最为一致的含义。
具体实施方式
如以上所讨论的,监视功率电路/电源的操作参数以及控制输入/输出(I/O)和/或反馈电路(诸如脉冲宽度调制(PWM)电路)出现了挑战并且可能是高成本的,特别是在跨隔离势垒时。当使用小型嵌入式微控制器进行系统控制时,并没有为通信和命令接口功能留下许多资源。这在保持数据完整性的同时对消息或帧进行处理所需的处理时间方面出现了挑战。需要以某个更新速率进行通信的数据被特别关注。
更一般地,申请人已经认识并意识到,提供一种针对这种资源有限的设备的能够快速、灵活、有效且可靠地通信数据而并不消耗过多的处理资源的通信协议将是有利的。
考虑到上文,本发明的各个实施例和实施方式涉及一种用于随小型微控制器使用以便在例如照明系统的功率电子系统中执行反馈&控制的灵活、有效且可靠的高速通信协议,并且涉及采用这样的协议的系统和方法。
图1是图示嵌入式设备中的主处理器和二级处理器之间的通信的高阶功能框图。特别地,图1图示了包括第一设备105和第二设 备120的系统100。第一设备105包括嵌入式主处理器110,而第二设备120则包括嵌入式二级处理器156。主处理器110和二级处理器156跨接口130互相通信。
在一些有利实施例中,主处理器110和二级处理器156均为小型且廉价的设备,它们执行多种功能而使得它们用于通信和命令接口功能的资源有限。在一些实施例中,主处理器110和二级处理器156可能需要在指定时间间隔内传输某个数量的数据以支持第一设备105和第二设备120的交互操作需求。此外,在一些实施例中,接口130可能是稍显带宽受限的,例如在接口130在第一设备105和第二设备120之间提供电流隔离势垒时。
因此,如以下将更为详细描述的,主处理器110和二级处理器156可以根据基于消息的对称通信协议互相通信,该协议表现出了所期望程度的速度、可靠性和灵活性。以下将以照明系统为背景对这样的基于消息的通信协议的示例实施例以及可以采用这样的基于消息的通信协议的示例系统和方法进行描述。该特定背景具有可以从这样的基于消息的对称通信协议获益的某些通信要求,并且因此使用该背景作为具体示例将清楚地说明该协议的各个方面和好处。然而,应当理解并意识到的是,以下所描述的基于消息的对称通信协议具有可应用性并且可以在不同于照明系统的背景中得以采用。
图2是可以采用基于消息的对称通信协议的照明系统200的一个实施例的功能框图。照明系统200包括主处理器210、照明单元220和光学隔离器230。照明单元220包括照明驱动器240和照明模块250。照明模块250包括第一和第二LED负载252-1和252-2、一个或多个传感器254、二级处理器256和反馈电路258。第一和第二LED负载252-1和252-2均包括一个或多个LED,例如互相串联连接并且被称作LED串的多个LED。第一和第二LED负载252-1和252-2可以均包括一个或多个LED串。
在操作中,照明驱动器240被配置为向包括第一和第二LED负载252-1和252-2的照明模块250进行供电。特别地,照明驱动器 240向第一和第二LED负载252-1和252-2提供输出电流以在所期望的操作点驱动其中所包括的LED而使得照明模块250提供所期望的光输出。在一些实施例中,照明驱动器240可以对反馈电路258所提供的反馈信号进行响应以控制提供至第一和第二LED负载252-1和252-2的输出电流。
(多个)传感器254感应照明模块250的一个或多个操作参数,并且将该所感应数据提供至二级处理器256。这样的(多个)操作参数可以包括提供至第一和第二LED负载252-1和252-2中的每一个的电流和/或电压,和/或照明模块250的操作温度。在一些实施方式中,(多个)传感器254包括一个或多个用于将所测量数值(例如,电流、电压或温度)转换为可以被二级处理器256所处理的数字感应数据的模数转换器(ADC)。
反馈电路258向照明驱动器240提供反馈信号,该反馈信号可以被照明驱动器240用来调节提供至第一和第二LED负载252-1和252-2的输出电流。在一些实施例中,反馈电路258可以从二级处理器256接收控制信号,其根据该控制信号生成反馈信号。在一些实施例中,反馈电路258可以包括为照明驱动器240的脉冲宽度调制器提供脉冲宽度调制数值的比例积分器(PI)反馈电路,以调节照明驱动器240提供至第一和第二LED负载252-1和252-2的输出电流。
二级处理器256还与主处理器210进行通信以接收命令,二级处理器256执行该命令以控制照明单元240特别是照明模块250的一个或多个操作。例如,二级处理器256可以从主处理器210接收一个或多个命令以感应用于照明单元240的某些操作参数的数据并且将该所感应的数据提供至主处理器210。响应于感应数据和/或来自主处理器210的一个或多个命令,二级处理器256可以对反馈电路256的参数进行控制以调节提供至照明驱动器240的反馈信号,由此还影响到照明驱动器240提供至第一和第二LED负载252-1和252-2的输出电流。
在一些实施例中,照明驱动器240可以与照明模块250电流隔离。例如,照明驱动器240可以经由隔离变压器将其输出电流提供至照明模块250,并且照明模块250可以经由第二光学隔离器将其反馈信号提供至照明驱动器。
光学隔离器230在主处理器210和二级处理器256之间提供接口。光学隔离器230允许主处理器210和二级处理器256之间进行通信,同时还使得主处理器210和照明模块250互相电流隔离。主处理器210和二级处理器256可以经由光学隔离器230互相通信以交换命令、响应和数据。有利地,主处理器210根据基于消息的对称通信协议与二级处理器256进行通信,该协议表现出所期望程度的速度、可靠性和灵活性。以下将更为详细地对这样的基于消息的通信协议的示例以及可以采用这样的基于消息的通信协议的示例系统和方法进行描述。经由该通信协议,主处理器210与二级处理器256协作以感应并调节照明单元220的操作参数。
虽然图2图示了其中照明单元220为基于LED的照明单元的实施例,但是在其它实施例中,照明单元220可以采用其它光源,包括白炽源(例如,灯丝灯、卤素灯)、荧光源、磷光源、高强度放电源(例如,钠蒸汽、水银蒸汽和金属卤化物灯)、激光、其它类型的电致发光源、火致发光源(例如,火焰)、烛光发光源(例如,汽灯罩、碳弧辐射源)、光致发光源(例如,气体放电源)、使用电子饱和的阴极发光源、电流发光源、晶体发光源、显像管发光源、热发光源、摩擦发光源、声致发光源、辐射发光源和发光聚合物,但并不局限于此。在这些实施例中的一些实施例中,可能并不需要主处理器和照明模块250之间的电流隔离。在那些实施例中,光学隔离器230可以被省略,并且主处理器210和二级处理器256可以直接连接在一起以便进行通信。
虽然图2图示了仅一个照明单元220的实施例,但是在其它实施例中,照明系统200可以包括多个照明单元220,其中每一个根据如以下所描述的基于消息的对称通信协议与主处理器210进行通信。
图3是照明系统300的一个实施例的示意图,该照明系统300可以为照明系统200的一个示例。照明系统300包括主处理器310、照明单元320和第一光学隔离器330。照明单元320包括照明驱动器340和照明模块350。照明模块350包括第一和第二LED负载352-1和352-2、一个或多个传感器354、二级处理器356和反馈电路358。第一和第二LED负载352-1和352-2均包括一个或多个LED,例如互相串联连接并且被称作LED串的多个LED。第一和第二LED负载352-1和352-2可以均包括一个或多个LED串。
在操作中,照明驱动器340被配置为向包括第一和第二LED负载352-1和352-2的照明模块350进行供电。特别地,照明驱动器340向第一和第二LED负载352-1和352-2提供输出电流以在所期望的操作点驱动其中所包括的LED而使得照明模块350提供所期望的照明输出。在一些实施例中,照明驱动器340可以对反馈电路358所提供的反馈信号进行响应以控制提供至第一和第二LED负载352-1和352-2的输出电流。在照明单元300中,照明驱动器340经由隔离变压器322向第一和第二LED负载352-1和352-2提供输出电流以在照明驱动器340和照明模块350之间提供电流隔离。
(多个)传感器354感应照明模块350的一个或多个操作参数,并且将该所感应数据提供至二级处理器356。这样的(多个)操作参数可以包括提供至第一和第二LED负载352-1和352-2中的每一个的电流和/或电压,和/或照明模块350的操作温度。
在一些实施方式中,(多个)传感器354包括一个或多个用于将所测量数值(例如,电流、电压或温度)转换为可以被二级处理器356所处理的数字感应数据的模数转换器(ADC)。在一些实施例中,ADC可以是SRM8S903K ADC。在一些实施例中,ADC可以以2.33μsec执行ADC转换。当利用5伏电源进行供电并且时钟为6MHz时。在那种情况下,在一些实施例中,每个ADC能够以10μsec读取ADC数值并且将相对应的数据存储到相关联的存储器空间中。在那种情况下,在一些实施例中,二级处理器356需要另外的10μsec 以处理所接收的消息,并且在最差情况下具有5μsec的设置延时,这合计达到用于处理数据有效载荷(data payload)的总时间段50μsec,从而满足在200μsec中连续传输数据有效载荷的要求。
反馈电路358向照明驱动器340提供反馈信号,照明驱动器340能够利用该反馈信号来调节其提供至第一和第二LED负载352-1和352-2的输出电流。在一些实施例中,反馈电路358可以从二级处理器356接收控制信号,其根据该控制信号生成反馈信号。在一些实施例中,反馈电路358可以包括比例积分器(PI)反馈电路,其为照明驱动器340(其可以包括控制器342以及开关设备344-1和/或344-2)的脉冲宽度调制器提供脉冲宽度调制数值,以调节照明驱动器340提供至第一和第二LED负载352-1和352-2的输出电流。在照明单元300中,照明驱动器340经由隔离变压器322向第一和第二LED负载352-1和352-2提供输出电流以在照明驱动器340和照明模块350之间提供电流隔离。在照明单元300中,反馈电路358经由第二光学隔离器324将其反馈信号提供至照明驱动器以在照明驱动器340和照明模块350之间提供电流隔离。
第二处理器356还与主处理器310进行通信以接收命令,二级处理器356执行该命令以控制照明单元340特别是照明模块350的一个或多个操作。例如,二级处理器356可以从主处理器356接收一个或多个命令以感应照明单元340的某些操作参数的数据,并且将该感应数据提供至主处理器310。响应于所感应数据和/或来自主处理器310的一个或多个命令,二级处理器356可以控制反馈电路358的参数以调节提供至照明驱动器340的反馈信号,由此还影响由照明驱动器340提供至第一和第二LED负载352-1和352-2的输出电流。
光学隔离器330在主处理器310和二级处理器356之间提供接口。光学隔离器330允许主处理器310和二级处理器356之间的通信,同时还使得主处理器310和照明模块350互相电流隔离。主处理器310和二级处理器356可以经由光学隔离器330互相通信以交 换命令、响应和数据。有利地,主处理器310根据基于消息的对称通信协议与二级处理器356进行通信,该协议表现出所期望程度的速度、可靠性和灵活性。这样的基于消息的通信协议的示例实施例将在以下更为详细地进行描述。经由该通信协议,主处理器310与二级处理器356进行协作以感应并调节照明单元320的操作参数。
在示例实施例中,主处理器310和二级处理器356均可以包括通用同步接收器/传送器(UART)以便互相进行通信。在有利的布置中,该信号为能够利用支持高达500kbps的数据传输和接收速度的正常UART进行处理的串行流。在示例实施例中,假设照明系统300具有在200μsec内连续传输数据有效载荷的要求,则500kbps的数据速率隐含了最大消息长度为10字节(假设每个8位字节包括一个开始位和一个停止位)。此外,有利的是,主处理器310和二级处理器356之间包括例如光学隔离器330的物理接口能够支持被隔离的1Mbps的缓冲数据传输速率以分别针对主处理器310和二级处理器356的管脚处的过度失真进行保护。
在那种情况下,在一些实施例中,主处理器310和二级处理器356之间的通信的物理通信设置可以如以下表1所定义:
表1
在示例实施例中,主处理器310和二级处理器356均可以以16MHz的时钟速度进行操作,这意味着处理器的指令周期为62.5nsec。
虽然图3图示了其中照明单元320为基于LED的照明单元的实施例,但是在其它实施例中,照明单元320可以采用其它光源,包括白炽源(例如,灯丝灯、卤素灯)、荧光源、磷光源、高强度放电源(例如,钠蒸汽、水银蒸汽和金属卤化物灯)、激光、其它类型的电致发光源、火致发光源(例如,火焰)、烛光发光源(例如,汽灯罩、碳弧辐射源)、光致发光源(例如,气体放电源)、使用电子饱和的阴极发光源、电流发光源、晶体发光源、显像管发光源、热发光源、摩擦发光源、声致发光源、辐射发光源和发光聚合物,但并不局限于此。在这些实施例中的一些中,可能并不需要主处理器和照明模块350之间的电流隔离。在那些实施例中,光学隔离器320和324可以被省略,并且主处理器310和二级处理器356可以直接连接在一起以便进行通信。
虽然图3图示了仅一个照明单元320的实施例,但是在其它实施例中,照明系统300可以包括多个照明单元320,其中每一个根据如以下所描述的基于消息的对称通信协议与主处理器310进行通信。
图4是图示主处理器和二级处理器诸如图1-3的主处理器和二级处理器之间的通信的处理器400的示例的流程图。处理400可以由照明系统200和300中的任意一个中的主处理器和二级处理器所执行。
在操作410,主处理器根据基于消息的对称通信协议向嵌入式二级处理器传送消息。该消息包括针对要由二级处理器所执行的操作的命令。以下将更为详细地对基于消息的对称通信协议的实施例进行描述。该命令可以从允许命令集合中进行选择。在一些实施例中,允许命令集合包括:(1)将二级处理器的状态设置为指定状态集合中的一个;(2)从二级处理器请求指示该二级处理器所属的照明模块是否准备进行操作的确认;(3)针对二级处理器所属的照明单元中所包括的脉冲宽度调制器设置脉冲宽度调制数值;(4)请求二级处理器传输从指定感应数据集合的群组中所选择的感应数据集合;以及(5)将照明模块设置为演示模式。
在一些实施例中,二级处理器的指定状态的集合包括活动状态、待机状态、重置状态、关机状态和仅电流监视状态。
在一些实施例中,指定感应数据集合包括:应用于二级处理器所属的照明模块的第一和第二光源的第一和第二电流;应用于第一和第二光源的第一和第二电流以及应用于第一光源的第一电压;应用于第一和第二光源的第一和第二电流和应用于第二光源的第二电压;应用于第一和第二光源的第一和第二电流和照明模块的温度;以及应用于第一和第二光源的第一和第二电流和二级处理器所属的照明单元中所包括的脉冲宽度调制器的脉冲宽度调制数值。
在操作420中,嵌入式二级处理器执行在操作410所接收的命令。在一些实施例中,这可以包括(1)将二级处理器的状态设置为指定状态集合中的一个;(2)设置二级处理器所属的照明单元中所包括的脉冲宽度调制器的脉冲宽度调制数值;(4)收集从指定感应数据集合的群组中所选择的感应数据集合;以及(5)将照明模块设置为演示模式。
在一些实施例中,嵌入式二级处理器可以将自身设置为从活动状态、待机状态、重置状态、关机状态和仅电流监视状态中所选择的指定状态。
在操作430中,嵌入式二级处理器根据基于消息的对称通信协议向主处理器传送消息。该消息可以包括针对之前所接收的在操作410中从主处理器发送至二级处理器的命令的响应。在一些实施例中,该响应可以包括主处理器在之前所接收命令中所请求的感应数据。在一些实施例中,该响应可以包括照明单元准备进行操作的确认。
在操作440,确定是否应当从二级处理器向主处理器发送附加响应。这可以包括向主处理器发送诸如照明模块的(多个)操作电流、(多个)电压、温度等的感应数据的定期更新。如果应当发送附加响应,则该处理返回至操作430。
在操作450,确定是否应当从主处理器向二级处理器发送附加命 令。如果应当发送附加命令,则该处理返回到操作430。
如以上所提到的,照明系统200和300以及处理400有利地采用基于消息的对称通信协议。有利地,该协议可以采用每个均包括符合所定义消息格式的消息的消息帧。有利地,无论从主处理器还是二级处理器的角度来看,对于外出消息和进入消息二者消息格式均是相同的意义上说,该协议是对称的。
现在将以如以上所描述并且在图3中示出的照明系统300为背景提供基于消息的对称通信协议的实施例的详细解释。特别地,在示例照明系统中,假设(多个)传感器354包括用于将一个或多个测量数值(例如,电流、电压和/或温度)转换为可以由二级处理器356所处理的数字感应数据的一个或多个ADC。在一些实施例中,该ADC可以以2.33μsec执行ADC转换。在那种情况下,在一些实施例中,每个ADC可以能够以10μsec读取ADC数值并且将相对应的数据存储到相关联的存储器空间中。在那种情况下,在一些实施例中,二级处理器356需要另外的10μsec以处理所接收的消息,并且在最差情况下具有5μsec的设置延时,这合计达到用于处理数据有效载荷的总共50μsec的时间段,满足在200μsec中连续传榆数据有效载荷的要求。此外,主处理器310和二级处理器356均可以包括通用同步接收器/传送器(UART)以便利用高达500kbps的数据传输和接收速度互相进行通信。主处理器310和二级处理器356之间的通信的物理通信设置可以如以上表1所定义。此外,假设照明系统300具有在200μsec内连续传输数据有效载荷的要求。
在那种情况下,500kbps的数据速率隐含了最大消息长度为10字节(假设对于每个8位字节,包括一个开始位和一个停止位)。
考虑这些示例数值,现在将对主处理器310和二级处理器356可以采用以满足这些通信要求的基于消息的对称通信协议进行描述。
图5图示了基于消息的对称通信协议的一个实施例的消息格式500的一个实施例。如图5所示,从主处理器310到二级处理器356 (即,“正向/命令消息”)以及从二级处理器356到主处理器310(即,“反向/返回消息”)的每个消息符合相同的消息格式500。每个消息可以被认为是通信帧,并且术语“消息”和“帧”在这里可以互换使用。
消息格式500如下:
[SOF/MSGL]-[CMD/RESP]-([DATA(0)]...[DATA(x)]}-[CRC2]-[(CRC1/2)/EOF],
其中括号中的符号表示一个字节。如以上示例中所解释的,如果最大消息长度为1O字节,则从图5显而易见的是,数据有效载荷{[DATA(0)]...[DATA(x)]}的最大长度为六个(6)字节。
在图5中,SOF是帧开头字段510,其指示消息的开始;MSGL是消息长度字段520,其指示当前消息中的字节数量(排除了SOF字段、MSGL字段、CRC1/2字段和EOF字段);CMD是命令字段530,其包括来自允许命令集合的具体命令;RESP是响应字段540,其指示具体预期响应;DATA是与所指定命令或响应相关联的从零到六字节的有效载荷数据的数据字段550;CRC2是CRC字段560,其包括消息的16位循环冗余校验数值的低8位;CRC1/2是另一个CRC字段,其包括消息的16位循环冗余校验数值的高8位的一半;并且EOF是帧结尾字段580,其指示消息的结束。
在示例实施例中,SOF字段具有四位长度,并且具有预定数值0x01;MSGL字段具有四位长度并且可以具有范围从1至8的数值;CMD字段具有四位长度,支持多达16个不同命令;RESP字段具有四位长度,支持多达16个不同响应;DATA字段为从零到六字节的可变长度字段,其可以包括有效载荷数据并且可以包括消息的循环冗余校验数值的高四位;CRC2字段是8位字段;CRC1/2字段是四位字段;并且EOF字段也是四位字段。
有利地,利用消息格式500,一旦处理器接收到消息并且检查MSGL字段,该处理器能够轻易识别所有其它字段在消息内的何处开始和结束。此外,通过检查CMD字段和RESP字段,处理器能够 确定DATA字段中所包括数据的属性。
如能够从图5看到的,根据基于消息的对称通信协议,利用根据消息格式500的消息,每个消息包括用于传输命令的CMD字段,以及可以传输该命令所预期的响应的RESP字段。CMD字段可以包括根据通信协议而从允许命令集合所选择的命令。以下的表2是图示出根据该通信协议的实施例可以包括在消息的CMD字段中的允许命令集合的命令表格。利用四位CMD字段,允许命令可以包括多达16个不同命令的集合。
表2-命令表格
RESP字段可以包括根据通信协议而从允许响应集合所选择的响应。以下的表3是响应表格,其图示了根据通信协议的实施例而可以包括在消息的RESP字段中的允许响应集合。利用四位RESP字段,允许响应集合可以包括多达16个不同响应。
表3一响应表格
如以上所提到的,利用16位(两字节)循环冗余校验(CRC)对每个消息/帧进行校验。
在一些实施例中,传送消息/帧的处理器(例如,主处理器或二级处理器)可以根据以下表4中所示的算法实时计算消息/帧的CRC: 表4
在一些实施例中,接收消息/帧的接收处理器(例如,如以上所描述的主处理器或二级处理器)可以根据以下表5中所示的算法实时校验所接收消息/帧的CRC:
表5
虽然已经关于具有LED照明单元的照明系统对以上所描述的通信协议进行了详细描述,但是该通信协议针对嵌入式处理器之间的通信具有更宽的应用性,特别是关于功率电子系统例如包括高强度放电(HID)光源、荧光光源、基于半导体的光源等的使用镇流器和/或驱动器的照明系统而言。
虽然这里已经图示并描述了若干说明性实施例,但是本领域技术人员将会轻易想到用于执行功能和/或获得这里所描述的结果和/或一个或多个优势的各种其它器件和/或结构,并且每种这样的变化和/或修改都被认为处于这里所描述的发明实施例的范围之内。更一般地,本领域技术人员将会轻易意识到,这里所描述的所有参数、尺寸、材料和配置都意在是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于针对其使用本发明教导的一个或多个具体应用。仅使用常规实验,本领域技术人员将会认识到或者能够确定这里所描述的具体发明实施例的许多等同形式。因此,所要理解的是, 以上实施例仅通过示例所给出,并且在所附权利要求及其等同形式的范围内,可以以具体描述和要求保护的以外的方式来实践本发明的实施例。本公开的发明实施例涉及这里所描述的每个个体特征、系统、物品、材料、装备和/或方法。此外,如果这样的特征、系统、物品、材料、装备和/或方法并不互相矛盾,则两个或更多这样的特征、系统、物品、材料、装备和/或方法的任意组合形式也包括在本公开的发明范围之内。
还应当理解的是,除非明确另外指出,否则在这里所要求保护的包括多于一个步骤或动作的任意方法中,所述方法的步骤或动作的顺序并非必然局限于所述方法的步骤或动作所引用的顺序。
而且,权利要求中出现在括号之间的附图标记仅是为了方便而提供而并不应当被理解为以任何方式进行限制。
在权利要求以及以上说明书中,诸如“包括”、“包含”、“携带”、“具有”、“含有”、“涉及”、“持有”、“由...组成”等之类的所有过渡短语要被理解为是开放式的,即意味着包括但并不局限于此。仅过渡短语“由...构成”和“基本上由...构成”应当分别是封闭或半封闭的过渡短语,如美国专利局的专利审查程序手册第2111.03节中所提出的。