井下压力计程序无线更新的实现

2018-06-17 10:48李聪
科学与技术 2018年22期

李聪

摘要:为了解决柱塞压力计系统中井下压力计长期工作在气井中,现场更新程序困难的问题,柱塞压力计系统增加了井下压力计程序无线更新的功能。本文根据井下压力计自身的硬件特点,提出了一种简单实用的实现程序无线更新的方案。并对柱塞压力计系统、井下压力计无线通讯流程、程序更新流程做了详细阐述。采用了CRC校验保证更新程序数据的准确性。

关键词:井下压力计;无线更新;CRC校验

1.引言

柱塞压力计系统由地面控制仪、井下压力计和上位机软件组成,如图1所示。地面控制仪通过无线通讯模块与井下压力计进行无线通讯,通过GPRS网络与上位机之间进行远程通讯。由于有时需要对井下压力计程序进行修改完善,则需要对井下压力计进行程序更新,目前常用的程序更新方式是有线更新方式。通过AVR-USBASP程序下载器将上位机和井下压力计的AVR单片机进行有线连接,然后通过程序烧写软件对AVR单片机进行程序更新。

井下压力计长期工作在气井中,若采用有线更新程序方式,需要人员到现场将井下压力计从气井中取出并拆开,取出电路板组件,进行有线更新,这种方式需要耗费大量的人力物力,且影响气井的产出,给用户造成损失。由于井下压力计具有无线通讯功能,为井下压力计添加程序无线更新的功能提供了保证。

2.无线更新的实现

2.1无线更新实现流程

AVR单片机内部可编程Flash存储区分为Application Flash Section(应用程序区)和Boot Loader Section(引导程序区)[1]。编写两个AVR程序,引导程序和应用程序,在生产时,用AVR-USBASP程序下载器分别写入引导程序和应用程序。在使用过程中若需要对应用程序进行更新,则直接采用无线更新的方式。

引导程序实现的功能为:单片机上电或复位后,若需要更新,则进行程序更新,更新完毕后,通过跳转指令跳转到应用程序区的起始位置运行应用程序;若不需要更新,则通过跳转指令直接跳转到应用程序区的起始位置运行应用程序。应用程序实现的功能为:采集温度压力数据并存储,与计算机软件进行有线通讯,与地面控制仪进行无线通讯,接收更新程序数据并存储,接收完更新数据后使能看门狗复位,进入引导程序。

井下压力计无线更新实现的程序流程图如图2所示。引导程序和应用程序中均设置一个程序更新标志Update_flag存储于单片机内部EEPROM存储器(EEPROM存储器具有掉电(或复位)后数据不丢失的特点)中,在两个程序中的存储地址一致。工作流程为:仪器上电后,运行引导程序,从EEPROM中读出程序更新标志Update_flag,若Update_flag为1则更新程序,若不为1,则执行跳转指令跳出引导程序,执行应用程序。当井下压力计接收到来自地面控制仪的更新程序后,进行校验。确定接收完更新程序数据且更新数据准确后,将程序更新标志Update_flag置1,写入EEPROM,并启动看门狗定时器,看门狗定时器定时完毕后立即复位单片机,重新运行引导程序。程序更新标志Update_flag为1,则对应用程序区进行更新,更新完成后,Update_flag置0并写入EEPROM。执行跳转指令跳转到应用程序区的起始位置执行新的应用程序。

2.2更新程序数据的存储方案

本部分提出了更新程序数据的存储方方案。根据井下压力计自身具有外置独立的Flash存储器的特点,先将接收到的更新数据存储到Flash存储器中,更新数据接收完成后,再进行更新。需要注意的是,不能一边接收更新数据一边进行更新,因为这样会破坏原有应用程序,导致井下压力计和地面控制仪之间的通讯中断,无法完成更新,导致程序混乱,使井下压力计无法正常工作。工作流程为:井下压力计接收到的更新程序数据通过SPI接口存储到FLASH存储器中,接收完成后,启动看门狗复位,进入引导程序,引导程序通过SPI接口将更新数据从Flash存储器中读出来,再写入单片机内部可编程Flash存储器的应用程序区,程序更新完成后,通过跳转指令跳转到应用程序区的起始位置,开始执行新程序。在此过程中,更新数据流向如图3所示。

2.3更新数据正确性的保证

为了确保更新程序数据在传输过程中没有發生改变,使用CRC校验算法来验证地面控制仪发送的更新程序数据与井下压力计接收到的更新程序数据的一致性。

CRC校验是一种数据传输检错功能,读数据进行多项式计算,并将得到的计算结果附在每帧数据的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性[2]。相比常用的累加和校验,CRC大大降低了校验出错的概率,提高了更新成功的几率。

结语

通过多次更新测试表明,此方案可以成功的实现应用程序的更新。根据对多次更新所耗时间的统计,井下压力计从程序开始更新到程序更新结束,所耗时在5秒钟左右,更新速度满足实际需求。经验证,运用此方案能稳定可靠的实现程序更新,满足使用需求。

参考文献

[1]《加密与解密(第二版)》[M].锻钢.北京:电子工业出版社,2004.5

(作者单位:贵州航天凯山石油仪器有限公司)