1.使用单个光端口通信来更新固件的方法,包括:
在单个光端口接收到由发送器传输的固件更新启动码时检测电池的电压,所述单个光端口既能够传输数据又能够接收数据;
如果所检测的电池的电压等于或大于预定参考电压,则通过所述单个光端口向所述发送器传输固件相关信息;
接收由所述发送器所传输的与更新模式相对应的更新数据,所述更新模式根据所述固件相关信息来确定;
将所接收的更新数据存储在存储设备的预定存储区域中;
如果所存储的更新数据是第一模式中的更新数据,则存储与先前版本固件有关的回退信息并且使用所述更新数据执行到新版本固件的更新,在所述第一模式中固件能够被还原;以及
如果所存储的更新数据是第二模式中的更新数据,则使用所述更新数据来更新所述先前版本固件的预定数据,在所述第二模式中所述先前版本固件的预定数据被更新。
2.如权利要求1所述的方法,其中:
所述更新数据包括更新模式信息、总的包大小和有效校验码;以及
所述存储包括:
通过所述有效校验码来校验所述更新数据的有效性;以及
如果所述更新数据有效,则将所述更新数据存储在所述预定存储区域中。
3.如权利要求2所述的方法,还包括:当在校验所述有效性期间出现错误或者所述更新数据无效时,增加错误数据的数量;以及如果增加的错误数据的数量等于或小于预定指定的错误数量,则向所述发送器传输包错误和请求重传更新数据的重传请求码。
4.如权利要求1所述的方法,其中:
所述固件相关信息包括所述先前版本固件的版本信息以及在其中能够存储数据的空区域的大小;以及
所述更新模式由所述先前版本固件的版本信息和所述空区域的大小来确定。
5.如权利要求1所述的方法,其中,在所述单个光端口切换至接收模式之后,当所述发送器向连接至所述单个光端口的LED辐射与所述固件更新启动码和所述更新数据相对应的光时,依照通过辐射光在发光二极管(LED)中生成的光生电动势的电压而接收所述固件更新启动码和所述更新数据。
6.如权利要求1所述的方法,其中,依照载波式和闪烁式中的一个来接收所述固件更新启动码和所述更新数据,所述载波式使用输入至预定载波的高区与低区之间的时间比,所述闪烁式使用多个时间之间的区之间的时间比,在所述的多个时间处连接至所述单个光端口的发光二极管(LED)接收由所述发送器辐射的光。
7.能够使用单个光端口通信来更新固件的微控制器(MCU),包括:
电池电压检测电路,配置成在通过单个光端口接收到由发送器传输的固件更新启动码时检测电池的电压,所述单个光端口既能够传输数据又能够接收数据;
信息传输电路,配置成如果所检测的电池的电压等于或高于预定参考电压,则通过所述单个光端口向所述发送器传输固件相关信息;
存储单元,配置成:
接收由所述发送器所传输的与更新模式相对应的更新数据,所述更新模式根据所述固件相关信息来确定;以及
将所接收的更新数据存储在预定存储区域中;以及
固件更新控制电路,配置成:
如果所存储的更新数据是第一模式中的更新数据,则存储与先前版本固件有关的回退信息并且使用所述更新数据执行到新版本固件的更新,在所述第一模式中固件能够被还原;以及
如果所存储的更新数据是第二模式中的更新数据,则使用所述更新数据更新所述先前版本固件的预定数据,在所述第二模式中所述先前版本固件的预定数据被更新。
8.如权利要求7所述的MCU,其中:
所述更新数据包括更新模式信息、总的包大小和有效校验码;以及
所述固件更新控制电路还配置成:
通过所述有效校验码来校验所述更新数据的有效性;以及
如果所述更新数据有效,则将所述更新数据存储在所述预定存储区域中。
9.如权利要求8所述的MCU,其中,所述固件更新控制电路还配置成:
当在校验所述有效性期间出现错误或者所述更新数据无效时,增加错误数据的数量;以及
如果增加的错误数据的数量等于或小于预定指定的错误数量,则向所述发送器传输包错误和请求重传更新数据的重传请求码。
10.如权利要求7所述的MCU,其中:
所述固件相关信息包括所述先前版本固件的版本信息以及在其中能够存储数据的空区域的大小;以及
所述更新模式由所述先前版本固件的版本信息以及所述空区域的大小来确定。
11.如权利要求7所述的MCU,还包括数据接收器电路,配置成:在所述单个光端口切换成接收模式之后,当所述发送器向连接至所述单个光端口的LED辐射与所述固件更新启动码和所述更新数据相对应的光时,依照通过辐射光在发光二极管(LED)中生成的光生电动势的电压而接收所述固件更新启动码和所述更新数据。
12.如权利要求7所述的MCU,还包括数据接收器电路,配置成:依照载波式和闪烁式中的一个来接收所述固件更新启动码和所述更新数据,所述载波式使用输入到预定载波的高区与低区之间的时间比,所述闪烁式使用多个时间之间的区之间的时间比,在所述的多个时间处连接至所述单个光端口的发光二极管(LED)接收所述发送器辐射的光。