System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于灯具驱动器固件升级,具体为基于dali总线及调光线的灯具驱动器固件升级方案。
技术介绍
1、灯具通过搭在智能系统可以实现物联网或多功能控制,其内部通常会设置有驱动器来继续控制,灯具的驱动器特别是户外的,为了防水效果更佳通常会灌胶密封处理。如果遇到需要功能升级,更改或者修改软件bug的时候需要有损拆壳来处理,代价非常大。本专利技术可以很好地解决这个问题。
技术实现思路
1、本专利技术的目的在于提供基于dali总线及调光线的灯具驱动器固件升级方案,以解决上述
技术介绍
中提出的问题。
2、为了实现上述目的,本专利技术提供如下技术方案:基于dali总线及调光线的灯具驱动器固件升级方案,包括升级系统和固件升级方案,所述升级系统包括上机位、usb转dali接口和灯具驱动器;所述上位机通过usb先把数据包发到usb转dali接口,再经过dali总线或者调光线与灯具驱动器通信;
3、固件升级方案包括如下步骤;
4、步骤一:上电后在boot区运行;
5、步骤二:读取ap区数据并校验其完整性,如果完整则开始0.2秒计时;
6、步骤三:判断是否收到上机位在线探测命令;
7、步骤四:如果收到则直接执行固件更新流程,如果没收到则判断ap区数据是否完整并且超过0.2秒计时;
8、步骤五:如果判断ap区数据不完整或未超过0.2秒计时则回到步骤三;
9、步骤六:如果ap区数据完整且超过0.2秒计则进入app
10、步骤七:上述步骤四中在执行固件更新流程时判断是否收到退出命令,如果没收到则继续执行固件更新流程命令,如果收到则进入app区运行;
11、步骤八:app区运行后判断是否收到上机位的在线探测命令,如果没收到则继续在app区运行,如果收到则重新进入boot区执行固件更新流程命令。
12、优选地,所述上位机与usb转dali接口的通信协议包括第一层和第二层两种协议;
13、所述第一层应用层为:id(1字节)+命令(1字节)+流水号(2字节)+数据(可变长度)+crc16(ccitt1021)校验(2字节,本层数据的校验值),当id等于0xff时是广播,下位机无需回复;
14、所述第二层协议为:帧头(0x7e)+第一层的全部数据+帧尾(0x7e),第二层协议是底层协议,第一层协议是上层协议。
15、优选地,所述第一层协议的命令解释为:
16、a)探测设备是否在线:
17、主机对从机:命令0x96,没有数据;
18、从机回复主机:命令0x96,没有数据;
19、b)握手
20、主机对从机:命令0x9f,加密模式(1字节),0表示固件没有加密,1表示固件已经加密;
21、从机回复主机:命令0x9f,设备类型(2字节),固件的类型和被更新的硬件设备类型一致时才执行固件更新;
22、c)设置te值:
23、主机对从机:命令0x9e,数据是te值,单位微秒,两个字节;
24、从机回复主机:命令0x9e,没有数据;
25、d)查询版本号:
26、主机对从机:命令0x9d,没有数据;
27、从机回复主机:命令0x9d,数据是2字节的版本号+2字节的一页flash字节数;
28、e)擦除flash:
29、主机对从机:命令0x9c,数据是4字节,要擦除的字节数;
30、从机回复主机:命令0x9c,数据是1字节,1表示成功,0表示失败;
31、f)写flash:
32、主机对从机:命令0x9b,数据是4字节的地址,4字节的数据长度,512字节需要写入flash的数据;
33、从机回复主机:命令0x9b,没有数据;
34、g)校验:
35、主机对从机:命令0x99,数据是4个字节需要校验的数据长度+4个字节校验值;
36、从机回复主机:命令0x99,数据是4个字节的校验值,校验值是所有字节的累加和;
37、h)退出:
38、主机对从机:命令0x98,没有数据,收到命令后跳转到app区运行app程序;
39、从机回复主机:命令0x98,没有数据。
40、优选地,所述固件升级方案的主要工作流程如下:
41、1)读mcu的固件文件;
42、2)对固件数据的处理;
43、3)命令先后顺序;
44、4)固件加密的格式;
45、5)bootloader运行逻辑。
46、优选地,所述读mcu的固件文件包括:
47、a.固件支持原始bin格式和加密的bin格式;原始bin文件格式为flash里的数据映像;
48、b.储存于flash的0x200开始的4个字节是校验值checksum,储存于flash的0x204开始的3个字节是固件的大小size,checksum是指整个程序所有字节的累加和但不包括0x200~0x207这8个字节,0x207这个字节的flag的bit0用来标记固件的完整性,0x208~0x209是设备类型devicetype;
49、c.代码里先用两个4字节常量(checksum和size)占着0x200~0x207这个地址不让代码覆盖,checksum默认值是0x12345678(地址0x200~0x203对应的数据是0x78,0x56,0x34,0x12),size默认值是0xfe000000(地址0x204~0x207对应的数据是0x00,0x00,0x00,0xfe),devicetype默认值是0x0001(地址0x208~0x209对应的数据是0x01,0x00);
50、0x200 checksum最低字节;
51、0x201 checksum较低字节;
52、0x202 checksum较高字节;
53、0x203 checksum最高字节;
54、0x204 size最低字节;
55、0x205 size较低字节;
56、0x206 size较高字节,最高字节默认为0;
57、0x207 flag,bit0用来标记固件的完整性等于0表示完整;
58、0x208 devicetype低字节;
59、0x209 devicetype高字节。
60、优选地,所述对固件数据的处理包括:iap上位机软件把固件读到内存后,计算出固件的校验和(不包括0x200~0x207这8个字节)再写到checksum对应的位置,把固件的大小写到size对应的位置,flag的位置写0xff,处理完固件的缴存后可以下载到下位机了。
61、优选地,所述命令的先后顺本文档来自技高网...
【技术保护点】
1.基于dali总线及调光线的灯具驱动器固件升级方案,其特征在于:包括升级系统和固件升级方案,所述升级系统包括上机位、USB转dal i接口和灯具驱动器;所述上位机通过USB先把数据包发到USB转dal i接口,再经过dali总线或者调光线与灯具驱动器通信;
2.根据权利要求1所述的基于dali总线及调光线的灯具驱动器固件升级方案,其特征在于:所述上位机与USB转dal i接口的通信协议包括第一层和第二层两种协议;
3.根据权利要求2所述的基于dali总线及调光线的灯具驱动器固件升级方案,其特征在于:所述第一层协议的命令解释为:
4.根据权利要求1所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述固件升级方案的主要工作流程如下:
5.根据权利要求4所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述读mcu的固件文件包括:
6.根据权利要求4所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述对固件数据的处理包括:IAP上位机软件把固件读到内存后,计算出
7.根据权利要求4所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述命令的先后顺序为:
8.根据权利要求4所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述固件加密的格式包括前16个加密信息的字节,所述16个字节里byte0~3都是0x88,byte4是版本号,byte5~7是固件的长度(高字节在前),byte8~11是固件的校验值(高字节在前),byte12~13是设备类型(高字节在前),byte14~15是整个加密文件的CRC(CCITT)校验值,高字节在前,计算检验值时把这两个字节写0,从byte16开始是加密后的数据,操作固件更新时把第16字节及以后的数据发下去,下面是前16个字节的数据解析:
...【技术特征摘要】
1.基于dali总线及调光线的灯具驱动器固件升级方案,其特征在于:包括升级系统和固件升级方案,所述升级系统包括上机位、usb转dal i接口和灯具驱动器;所述上位机通过usb先把数据包发到usb转dal i接口,再经过dali总线或者调光线与灯具驱动器通信;
2.根据权利要求1所述的基于dali总线及调光线的灯具驱动器固件升级方案,其特征在于:所述上位机与usb转dal i接口的通信协议包括第一层和第二层两种协议;
3.根据权利要求2所述的基于dali总线及调光线的灯具驱动器固件升级方案,其特征在于:所述第一层协议的命令解释为:
4.根据权利要求1所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述固件升级方案的主要工作流程如下:
5.根据权利要求4所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述读mcu的固件文件包括:
6.根据权利要求4所述的基于dal i总线及调光线的灯具驱动器固件升级方案,其特征在于:所述...
【专利技术属性】
技术研发人员:梁庆能,
申请(专利权)人:广东东菱电源科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。