本设计以南京某公司的液晶质量检测系统为背景,以最新Cortex-M7内核的嵌入式微处理器STM32F746NG为主控芯片,设计并探讨了液晶质量自动检测系统程序IAP升级的方案,编写了IAP升级BOOT程序和设备程序模板,并进行了调试运行。
1.1.1 液晶质量自动检测系统
在液晶产品的生产过程中,其质量必须受到严格控制。因此,工厂需要对液晶产品的质量进行检测。在现代化液晶产品生产中,液晶质量自动检测系统被广泛应用。它是一种基于嵌入式微处理器,通过采集传感器数据,对液晶质量进行检测并进行显示记录的自动化系统,由传感器,信号调理电路,数据处理装置,显示器以及执行装置组成。如下图所示。
图1.1 液晶质量自动检测系统组成图
液晶产品生产完成后,由传感器对一些液晶产品质量相关的参量(如像素间距、相应时间、对比度、可视角度等方面)进行检测,将非电量转化为电信号,经信号处理电路处理后,送入数据处理装置,由主控芯片对检测到的信号进行分析判断,最后将检测结果显示出来供工程人员参考并反馈至执行机构中。这就是液晶质量自动检测系统的基本工作流程。
1.1.2 系统型号自动配置
对于液晶质量自动检测系统来说,不同型号的液晶产品,需要采用不同的检测流程和方法,而不同的流程和方法反映到系统上就是不同的系统程序,也就是主控单元需要执行的代码。显然,不同型号批次的液晶产品需要不同的设备程序去检测,这就要求工厂在不停机的情况下对进行程序的更新和升级,以适应不同液晶产品的检测要求。
IAP技术(In-Application Programming),又称在应用编程,即使用用户的应用代码对处理器的的片内Flash进行擦除和编程,也就是说在用户代码的运行过程中可以对固化在Flash中的程序进行更新[4]。对于上述的液晶质量自动检测系统来说,IAP技术无疑是解决其程序升级问题的关键。IAP技术为系统在线升级和远程升级提供了良好的解决方案, 也为数据存储和现场固件的升级都带来了极大的灵活性[5]。
1.2 IAP升级基本原理及流程
阅读IAP升级的相关文献可知,一个基本的IAP升级程序应当包括三个部分:BOOT引导程序,用户程序和标志区数据。IAP的程序架构将嵌入式微处理器的FLASH分为三个部分[5],