CN104122815A - 一种基于arm的水文测控终端及其远程升级的方法 - Google Patents

一种基于arm的水文测控终端及其远程升级的方法 Download PDF

Info

Publication number
CN104122815A
CN104122815A CN201410292715.9A CN201410292715A CN104122815A CN 104122815 A CN104122815 A CN 104122815A CN 201410292715 A CN201410292715 A CN 201410292715A CN 104122815 A CN104122815 A CN 104122815A
Authority
CN
China
Prior art keywords
data
module
frame
upgrade
judge module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410292715.9A
Other languages
English (en)
Other versions
CN104122815B (zh
Inventor
周峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING YIZHOU ENERGY TECHNOLOGY Co Ltd
Original Assignee
NANJING YIZHOU ENERGY TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NANJING YIZHOU ENERGY TECHNOLOGY Co Ltd filed Critical NANJING YIZHOU ENERGY TECHNOLOGY Co Ltd
Priority to CN201410292715.9A priority Critical patent/CN104122815B/zh
Publication of CN104122815A publication Critical patent/CN104122815A/zh
Application granted granted Critical
Publication of CN104122815B publication Critical patent/CN104122815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于ARM的水文测控终端,所述终端以微处理器单元为核心,连接电源管理模块、存储器、触摸屏和传输单元,所述的传输单元包括格雷码接口电路和无线传输模块,所述的格雷码接口电路连接传感器。解决了现有市场上的水文测控终大多都是以单片机为平台设计的,受限于处理速度、图像处理能力因素,导致人机界面不太友好以及无法远程升级程序等缺陷。

Description

一种基于ARM的水文测控终端及其远程升级的方法
技术领域
本发明涉及数据采集遥测终端领域,具体涉及一种水文测控终端。
背景技术
现有的水文测控终端可分为两种基本形式,即自报式和应答式。自报式水文测控终端为遥测站根据遥测参数的变化而随机向数据采集中心发送信息;应答式水文测控终端是遥测站根据服务器的命令而发送采集信息。自报式水文测控终端又可分为:
1)实时自报:当有外部事件发生并达到设置的值时,立即将数据发送到中心站;
2)定时自报:测站每隔一定时间自报一次,把本站当前的水文数据发送出去;
3)召测报:服务器可随时向测站发送召测命令,测站会立即返回当前的水文数据。
由于市场上的水文测控终大多都是以单片机为平台设计的,受限于处理速度、图像处理能力因素,导致以下两点缺陷:
1)人机界面不太友好,基本是点阵液晶+按键模式;
2)无法远程升级程序,这一功能在客户想更改要求,而设备已安装在现场的情况下尤其重要。
为此,需设计一种功能更加完善的水文测控终端,以满足市场上的新需求。
发明内容
为解决现有技术存在的问题,本发明提供了一种基于ARM的水文测控终端,所述终端以微处理器单元为核心,连接电源管理模块、存储器、触摸屏和传输单元,所述的传输单元包括格雷码接口电路和无线传输模块,所述的格雷码接口电路连接传感器。
所述的传感器包括水位传感器、流量传感器、温湿度传感器、气压传感器、雨量传感器等。
所述的微处理器单元通过Modem模块与服务器连接,微处理器单元与Modem模块之间通过RS232总线连接,Modem模块与服务器通过Internet进行通信,所述服务器用于与微处理器单元传输升级信息。
所述的微处理器单元设有执行模块和升级模块,所述的执行模块用于执行用户命令,比如控制传感器采集数据,对采集到的信息进行数据调理、A/D转换、交由无线传输模块发送等,所述的升级模块用于在微处理器单元接收到服务器发送的升级信息时进行远程升级。
所述的微处理器单元优选为微处理器S3C2440。
本发明还涉及一种利用上文所述的基于ARM的水文测控终端进行远程升级的方法,其特征在于,当接收到服务器发来的升级指令时执行如下步骤:
步骤一:判断接收服务器发来的数据是否超过设定时间,若超时则继续执行用户命令,若不超时则进入步骤二;
步骤二:判断本帧数据是否正确,若不正确则向服务器发送重发本帧数据信息,若正确则进入步骤三;
步骤三:判断本帧数据是用于下载的数据还是用于通信的数据,若是用于通信的数据则发送成功接收标志,若是用于下载的数据则进入步骤四;
步骤四:判断所接收到的数据帧是否是需下载的升级数据的最后一帧数据,若是则将剩余的升级数据送入微处理单元并进入更新判断的步骤,若不是则进入步骤五;
步骤五:判断接收到的数据是否达到所设定的字节数,若是则将接收到的数据送入存储模块,存储成功则发送数据写入成功的信号,回到步骤一进入下一个循环,存储不成功则直接回到步骤一进入下一个循环;
更新判断的步骤:判断升级更新是否成功,若成功则更改当前运行区标志以升级后的系统继续执行原用户命令,若不成功则直接继续执行原用户命令。
所述步骤二中判断本帧数据是否正确的方式包括依次判断本帧数据的数据头、帧包号、数据长度是否正确。
所述步骤五中设定的字节数优选为512字节,因为以512字节为一组,效率高,错误率少。
本发明以微处理器S3C2440为核心,包括信号传感器、数据调理、A/D转换、触摸屏、无线通信、时钟等电路,可远程升级,也可结合友好的人机界面增强用户体验,解决了现有技术的缺陷,除此之外,还包括以下有益效果:
S3C2440的核心处理器采用的是ARM920T,属于RISC处理器,实现了MMU、AMBA BUS和Harvard高速缓冲体系结构。这一结构具有独立的16KB指令Cache和16KB数据Cache。每个都是由具有8字长的行组成。通过提供一套完整的通用系统外设,S3C2440减少整体系统成本和无需配置额外的组件。有五种工作模式,其中掉电模式功耗最低,小于1MA,适合太阳能供电要求。
附图说明
图1为本发明一种基于ARM的水文测控终端的结构框图;
图2为温湿度测量电路图;
图3为雨量测量电路原理图;
图4为ARM寄存器参数传递示意图;
图5为远程升级流程图;
图6为微处理单元中存储模块存储数据的步骤。
具体实施方式
下面结合附图以实施例一对本发明做进一步说明:
实施例一:
本发明提供的一种基于ARM的水文测控终端主要对水情信息进行采集和处理,并做出准确的预报和调度。系统采用了水位、雨量等传感器,经信号调理、模数转换后,送微处理器S3C2440处理,实现了水情数据的采集。利用移动通信网络中提供的GPRS服务进行水情信息的传输,为水情系统的信息传输提供了一种有效的方法。
具体技术方案如下:
一种基于ARM的水文测控终端,所述终端以微处理器单元为核心,连接电源管理模块、存储器、触摸屏和传输单元,所述的传输单元包括格雷码接口电路和无线传输模块,所述的格雷码接口电路连接传感器。
所述的传感器包括水位传感器、流量传感器、温湿度传感器、气压传感器、雨量传感器等。
所述的微处理器单元通过Modem模块与服务器连接,微处理器单元与Modem模块之间通过RS232总线连接,Modem模块与服务器通过Internet进行通信,所述服务器用于与微处理器单元传输升级信息。
所述的微处理器单元设有执行模块和升级模块,所述的执行模块用于执行用户命令,比如控制传感器采集数据,对采集到的信息进行数据调理、A/D转换、交由无线传输模块发送等,所述的升级模块用于在微处理器单元接收到服务器发送的升级信息时进行远程升级。
所述的升级模块包括定时判断模块、第一数据帧判断模块、第二数据帧判断模块、第三数据帧判断模块、字节判断模块、更新判断模块;
所述定时判断模块设有定时器用于判断升级模块接收服务器发来的数据是否超过设定时间,若超时则启动执行模块继续执行用户命令,若不超时则启动第一数据帧判断模块;
所述的第一数据帧判断模块用于判断本帧数据是否正确,若不正确则向服务器发送重发本帧数据信息,若正确则启动标志位判断模块;
所述的第二数据帧判断模块用于判断本帧数据是用于下载的数据还是用于通信的数据,若是用于通信的数据则发送成功接收标志,若是用于下载的数据则启动第二数据帧判断模块;
所述的第三数据帧判断模块用于判断所接收到的数据帧是否是需下载的升级数据的最后一帧数据,若是则将剩余的升级数据送入微处理单元并启动更新判断模块,若不是则启动字节判断模块;
所述的字节判断模块用于判断接收到的数据是否达到所设定的字节数,若是则将接收到的数据送入存储模块,存储成功则发送编程成功信号,重新启动定时判断模块,存储不成功则启动执行模块继续执行原用户命令;
所述的更新判断模块用于判断升级更新是否成功,若成功则更改升级模块标志启动升级后的执行模块继续执行原用户命令,若不成功则直接启动执行模块继续执行原用户命令。
所述的微处理器单元优选为微处理器S3C2440。
本发明还涉及一种基于ARM的水文测控终端进行远程升级的方法,其特征在于,当接收到服务器发来的升级指令时执行如下步骤:
步骤一:判断升级模块接收服务器发来的数据是否超过设定时间,若超时则继续执行用户命令,若不超时则进入步骤二;
步骤二:判断本帧数据是否正确,若不正确则向服务器发送重发本帧数据信息,若正确则进入步骤三;
步骤三:判断本帧数据是用于下载的数据还是用于通信的数据,若是用于通信的数据则发送成功接收标志,若是用于下载的数据则进入步骤四;
步骤四:判断所接收到的数据帧是否是需下载的升级数据的最后一帧数据,若是则将剩余的升级数据送入微处理单元并进入更新判断的步骤,若不是则进入步骤五;
步骤五:判断接收到的数据是否达到所设定的字节数,若是则将接收到的数据送入存储模块,存储成功则发送数据写入成功的信号,回到步骤一进入下一个循环,存储不成功则直接回到步骤一进入下一个循环;
更新判断的步骤:判断升级更新是否成功,若成功则更改当前运行区标志以升级后的系统继续执行原用户命令,若不成功则直接继续执行原用户命令。
所述步骤二中判断本帧数据是否正确具体为依次判断本帧数据的数据头、帧包号、数据长度是否正确。
所述步骤五中设定的字节数优选为512字节,因为以512字节为一组,效率高,错误率少。
系统以微处理器S3C2440为核心,包括信号传感器、数据调理、A/D转换、触摸屏、无线通信、时钟等电路,系统结构如图1所示。
S3C2440的核心处理器采用的是ARM920T,属于RISC处理器,实现了MMU、AMBA BUS和Harvard高速缓冲体系结构。这一结构具有独立的16KB指令Cache和16KB数据Cache。每个都是由具有8字长的行组成。通过提供一套完整的通用系统外设,S3C2440减少整体系统成本和无需配置额外的组件。有五种工作模式,其中掉电模式功耗最低,小于1MA,适合太阳能供电要求。
系统需要测水位、雨量、流量、温度、气压等水情相关参数,相应传感器的输出量有模拟量、数字量、频率量等。
1)水位传感器采用南控的超声波水位计,它的输出信号是485数字量,直接通过485芯片采集;
2)流量传感器用用HR系列涡街流量传感器,输出标准电流量,需要通过IV转换电话路把它转换成电压信号,再经过放大后送AD转换器。
3)温湿度测量采用热电阻传感器,由于距离较短,可采用二线式连接方法。连结成电桥形式以提高灵敏度,采用+5V基准电压激励。输出信号再经过放大后送模数转换器,具体测量电路如图2所示。
4)气压传感器采用KYC01系列绝压传感器,它采用高精度、高稳定性非隔离式压力传感器组件,通过精密温度补偿而成。
5)雨量传感器采用翻斗雨量计,其输出为开关量。为了将开关信号输入处理器,要对信号进行隔离、滤波等处理,转换成处理器能接受的逻辑信号,图3为原理图,当开关节点断开时,输出为高电平,当节点闭合时为低电平。图中R6电阻起来防止由潮湿引起的泄漏电流的作用,其中R10、C10起到防抖动和抗干扰的作用,最后处理器进行计数形成雨量数据。
本发明的存储器采用Nand-flash,是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
本发明的无线传输模块采用华为GTM900-C模块,利用GPRS上网,都是通过呼叫固定号码的PPP服务器进行握手认证,以及协议的配置,握手完成以后,PPP链路建立。链路层之上就是IP层,IP层之上可选的协议主要有面向连接的TCP协议和非面向连接的UDP协议,TCP协议实现起来比较复杂。UDP协议没有可靠性的保证,但它对网络的负荷较小,比较适合实时数据的传输,该系统对数据的可靠性要求不太高,比较适合选择UDP协议。
本发明采用3.5寸触摸屏,支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,屏幕分辨率可以达到1024x768象素。配合LINUX内核,及驱动程序,可以使人机界面变得十分友好,方便新手快速掌握操作步骤。
本发明以三星的S3C2440ARM微处理器为平台,以Keil MDK为开发工具。本方案使用多种校验技术,最大限度的保障传输数据的正确性;使用bootloader机制,即使因意外事件(断电,编程Flash失败等)造成升级失败后,程序也能返回到升级前的状态。
S3C2440共有128KB片内Flash,共分为16个扇区,分别为0扇区~15扇区,每个扇区为8KB存储空间。其中第15扇区出厂时被固化为Boot Block区,控制复位后的初始化操作,并提供实现Flash编程的方法。所以用户可用的Flash空间只有120KB。IAP程序固化于Boot Block中,IAP操作是以扇区为单位,并占用片内RAM的高32字节。下表列出S3C2440器件所包含的扇区数和存储器地址:
本发明将Flash划分为四个区,扇区0存放跳转程序和升级引导程序(Bootloader)。分站上电后执行跳转程序,跳转到用户程序处。用户程序运行过程中,如果接收到升级指令,会从用户程序跳转到引导程序区(Bootloader),接收新程序数据包,完成Flash编程并跳转到新程序区执行程序。扇区1~扇区7为程序存储低区;扇区8~扇区13为程序存储高区;扇区14存放当前程序运行区域标志,如果当前程序运行在高区,该标志区的最低四个字节为0x00010000,如果当前程序运行在低区,该标志区的最低四个字节为0x00008000。
对于在应用编程来说,应当通过寄存器r0中的字指针指向存储器(RAM)包含的命令代码和参数来调用IAP程序。IAP命令的结果返回到寄存器r1所指向的返回表。用户可通过传递寄存器r0和r1中的相同指针重用命令表来得到结果。参数表应当大到足够保存所有的结果以防结果的数目大于参数的数目。参数传递见图2-1。参数和结果的数目根据IAP命令而有所不同。参数的最大数目为5,由“将RAM内容复制到Flash”命令传递。结果的最大数目为2,由“扇区查空”命令返回。命令处理程序在接收到一个未定义的命令时发送状态代码INVALID_COMMAND。IAP程序是thumb代码,位于地址0x7FFFFFF0。IAP的参数传递示意图如图4所示,下表为IAP命令汇总:
IAP编程函数接口:
IAP功能可用下面的C代码来调用。
定义IAP程序的入口地址。由于IAP地址的第0位是1,因此,当程序计数器转移到该地址时会引起Thumb指令集的变化。
#define IAP_LOCATION0x7ffffff1
定义数据结构或指针,将IAP命令表和结果表传递给IAP函数
unsigned long command[5];
unsigned long result[2];
定义函数类型指针,函数包含2个参数,无返回值。注意:IAP将函数结果和R1中的表格基址一同返回。
typedef void(*IAP)(unsigned int[],unsigned int[]);
IAP iap_entry;
设置函数指针
iap_entry=(IAP)IAP_LOCATION;
使用下面的语句来调用IAP。
iap_entry(command,result);
Flash存储器在写或擦除操作过程中不可被访问。执行Flash写/擦除操作的IAP命令使用片内RAM顶端的32个字节空间。如果应用程序中允许IAP编程,那么用户程序不应使用该空间。
S3C2440升级实现过程:
由于在升级程序软件设计中,分散加载机制、中断向量的重映射、软中断等的实现还与所使用的编译器紧密相关,因此,本文结合Keil MDK(V4.10)编译工具,来详细阐述升级程序的实现过程。
其总体思路如下:分站上电后,首先运行位于Flash0x000~0x3FF中的跳转程序。跳转程序会读取位于14扇区的当前程序运行标志,如果该扇区的最低四个字节为0x00010000,表示当前程序运行在高区,跳转程序会跳转到Flash的0x00010000处执行用户程序;如果该标志区的最低四个字节为0x00008000,表示当前程序运行在低区,跳转程序会跳转到Flash的0x00002000处执行用户程序。用户程序正常执行后,会按照设计进行正常的程序采集、数据处理传送。当接收到升级命令后,用户程序会跳转到Flash的0x00000400处的Bootloader处进行升级的一些操作。当升级成功后,Bootloader程序更新当前程序运行区标志,程序跳转到新程序处运行,如果升级不成功,返回升级前的程序。其流程图如图5所示。
跳转程序的设计:跳转程序是分站上电后最先运行的程序,根据当前程序运行区标志,跳转到相应的用户程序区执行。本段程序占用Flash的最低1K字节空间,与Bootloader同在第0扇区。
跳转程序的启动代码仅初始化堆栈,不使用PLL和存储加速功能。
当跳转程序确定要跳转到高区用户程序或者低区用户程序后,使用函数指针跳转到0x00010000处(高区用户函数入口地址)或0x00002000处(低区用户函数入口地址)。
要将用户代码精确定位到Flash的0x00010000处(高区用户函数入口地址)或0x00002000处(低区用户函数入口地址),需要使用编译器的分散加载机制,将在Bootloader中详细描述实现过程。
另外,跳转程序还在烧录代码的同时初始化当前程序运行区标志,即对Flash的0x0001C000地址处写入0x00008000,表示当前用户程序在低区。主要使用了编译器的__at关键字:精确定位变量。需要注意的是,使用该关键字必须包含头文件absacc.h。
const uint32x__at(0x0001C000)=0x00008000;//初始化用户程序标志区,默认运行低区。
升级程序Bootloader的设计:
升级程序的好坏,在很大程度上取决于Bootloader设计的好坏。
一个优秀的IAP升级Bootloader,必须做好升级中出现故障等异常的处理。保证系统不会崩溃,即使升级失败,也能返回升级前的程序。
有升级指令,进行初始化工作(串口、定时器、看门狗)
接收升级数据包,检测帧头、长度、帧号、数据区校验,最大程度的保证升级数据的完整性、正确性。
实时检测接收状态,10S内没有接收到数据或接收到的数据包都是错的,则退出升级,返回原程序。
接收的数据按照512字节一组写入Flash,写入后再读出与原数据进行对比校验,校验成功后,本次编程Flash成功。允许连续3次编程Flash,三次都不成功,退出升级程序,执行原程序。
升级成功后,更新当前程序运行区标志,跳转到新程序,同时原程序保存。
本设计的Bootload位于Flash的0x400开始的扇区0存储区内,使用分散加载机制,将程序的入口地址定位到0x00000400处。当用户程序接收到升级指令后,就会使用函数指针跳转到这个入口处。
使用IAP:图6描述了使用IAP编程Flash所必须的步骤。
定义系统参数:在使用IAP前,需要定义一些系统参数,比如系统时钟、IAP中断入口、输入输出缓存。
选择扇区:在任何擦除和编程Flash之前,必须选中扇区,可以选中一个或多个。
擦除扇区:在编程Flash前必须执行擦除操作,如果某个扇区已经擦除,就不需要再次擦除。可以一次擦除一个或多个扇区。
编程扇区:通过这个过程,数据可以从RAM中编程到片内Flash中。
注:
1.数据只能从片内SRAM编程到片内Flash。
2.片内Flash的地址必须512字节对齐。
3.片内RAM应位于局部总线,即USB或以太网的SRAM不可以使用。
4.每一次编程字节应该是512、1024、4096、8192中的一个。
比较数据:通过这个函数,可以检查写入Flash中的数据和RAM中的是否相同。
注意源地址、目标地址和字节数必须是4的倍数。可使用Keil MDK提供的关键字__align(n)来指定n字节对齐。
IAP编程期间的中断管理:S3C2440片上Flash在擦除/编程期间绝不可被中断打断。但Bootloader中定时和串口接收又使用了中断,因此必须在擦除/编程之前禁止总中断,待操作完成后再使能总中断。Bootloader运行在用户模式下,不具有禁止/使能中断的权力,所以在本设计中使用软中断禁止/使能总中断。Keil MDK提供了关键字__svc来触发软中断。
使用分散加载机制精确定位入口地址:应用程序接收到升级指令后,会跳转到0x00000400处执行Bootloader升级程序。因此Bootloader程序的入口地址必须精确定位到0x00000400处。这可以使用Keil MDK提供的分散加载机制来完成。
中断向量的重映射:Bootloader的起始地址位于0x00000400,中断向量也从这一地址开始存储。但默认情况下ARM发生异常时,会跳转到0x00000000处的64字节中断向量区域执行相应操作,所以为了使Bootloader能相应中断,必须将位于0x00000400开始的64字节中断向量表重映射到RAM的低区。S3C2440使用向寄存器MEMMAP写入0x02来完成这一过程。注意:在擦除/编程Flash的时候还应该禁止PLL、存储器加速模块。
用户程序的设计:用户程序运行在高区(扇区8~13)或者低区(扇区1~7),用于实现数据的采集、处理和上传等等,用户程序除本身功能的要求外,还需要注意:
使用分散加载机制,将程序入口精确定位到0x00010000(高区)或0x00008000(低区)。
进行中断向量重映射,映射到RAM最底处。
通讯协议与上位机软件:
Intel的hex格式:Intel hex文件是记录文本行的ASCII文本文件,在IntelHEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量。一个数据记录以一个回车和一个换行结束。
一个Intel HEX文件可以包含任意多的十六进制记录,每条记录有五个域,下面是一个记录的格式。
:LL AAAA TT[DD...]CC
每一组字母是独立的一域,每一个字母是一个十六进制数字,每一域至少由两个十六进制数字组成,下面是字节的描述.
:冒号是每一条Intel HEX记录的开始
LL是这条记录的长度域,他表示数据(dd)的字节数目.
AAAA是地址域,他表示数据的起始地址
TT这个域表示这条HEX记录的类型,他有可能是下面这几种类型
00----数据记录
01----文件结束记录
02----扩展段地址记录
04----扩展线性地址记录
DD是数据域,表示一个字节的数据,一个记录可能有多个数据字节,字节数目可以查看LL域的说明。
CC是效验和域,表示记录的效验和,计算方法是将本条记录冒号开始的所有字母(包括校验字节)相加之后等于0x00。
一个Intel HEX文件必须有一个文件结束记录,这个记录的类型域必须是01,
一个EOF记录总是这样:
:00000001FF
00是记录中数据字节的数目
0000这个地址对于EOF记录来说无任何意义
01记录类型是01(文件结束记录标示)
对上位机软件的要求:
上位机具备解析重组Intel HEX文件的能力。
上位机软件应能识别分站发来的应答信号并做出正确的响应。
上位机应能够检验代码的完整性。
上位机能根据分站发出的程序所在高区或低区标志,自动判别当前升级程序是否和升级区域相对应。
实验数据:
为验证升级程序的稳定性,对分站进行重上电、复位、远程升级等一些列实验,实验记录及如下。
●测试程序跳转功能.程序在上电或复位之后,应顺利跳转到用户程序。
●测试Bootloader(一)。上位机发送升级命令但不发送升级数据包,程序应能进入Bootloader并发送当前程序所在的区域(高区或者低区代号),10S后程序应跳转到用户程序。
●测试Bootloader(二)。上位机发送升级命令,发送升级数据包,但发送到一半时停止发送。程序在10S后应能跳转到用户程序区。
●测试Bootloader(三)。上位机发送升级命令,发送升级数据包,但发送中途给分站断电,重新上电后,应还能执行原来的程序。
●测试Bootloader(四)。上位机发送升级命令,发送完成升级数据包。程序应能接收升级数据包并编程Flash,完成用户程序的更新,更新用户程序后,跳转到新的用户程序。

Claims (8)

1.一种基于ARM的水文测控终端,其特征在于,所述终端以微处理器单元为核心,连接电源管理模块、存储器、触摸屏和传输单元,所述的传输单元包括格雷码接口电路和无线传输模块,所述的格雷码接口电路连接传感器。
2.根据权利要求1所述的一种基于ARM的水文测控终端,其特征在于,所述的传感器包括水位传感器、流量传感器、温湿度传感器、气压传感器、雨量传感器。
3.根据权利要求1所述的一种基于ARM的水文测控终端,其特征在于,所述的微处理器单元通过Modem模块与服务器连接,微处理器单元与Modem模块之间通过RS232总线连接,Modem模块与服务器通过Internet进行通信,所述服务器用于与微处理器单元传输升级信息。
4.根据权利要求3所述的一种基于ARM的水文测控终端,其特征在于,所述的微处理器单元设有执行模块和升级模块,所述的执行模块用于执行用户命令,所述的升级模块用于在微处理器单元接收到服务器发送的升级信息时进行远程升级。
5.根据权利要求4所述的一种基于ARM的水文测控终端,其特征在于,所述的升级模块包括定时判断模块、第一数据帧判断模块、第二数据帧判断模块、第三数据帧判断模块、字节判断模块、更新判断模块;
所述定时判断模块设有定时器用于判断升级模块接收服务器发来的数据是否超过设定时间,若超时则启动执行模块继续执行用户命令,若不超时则启动第一数据帧判断模块;
所述的第一数据帧判断模块用于判断本帧数据是否正确,若不正确则向服务器发送重发本帧数据信息,若正确则启动标志位判断模块;
所述的第二数据帧判断模块用于判断本帧数据是用于下载的数据还是用于通信的数据,若是用于通信的数据则发送成功接收标志,若是用于下载的数据则启动第二数据帧判断模块;
所述的第三数据帧判断模块用于判断所接收到的数据帧是否是需下载的升级数据的最后一帧数据,若是则将剩余的升级数据送入微处理单元并启动更新判断模块,若不是则启动字节判断模块;
所述的字节判断模块用于判断接收到的数据是否达到所设定的字节数,若是则将接收到的数据送入存储模块,存储成功则发送编程成功信号,重新启动定时判断模块,存储不成功则启动执行模块继续执行原用户命令;
所述的更新判断模块用于判断升级更新是否成功,若成功则更改升级模块标志启动升级后的执行模块继续执行原用户命令,若不成功则直接启动执行模块继续执行原用户命令。
6.根据权利要求1-5之一所述的一种基于ARM的水文测控终端,其特征在于,所述的微处理器单元为微处理器S3C2440。
7.一种利用权利要求4所述的一种基于ARM的水文测控终端进行远程升级的方法,其特征在于,当接收到服务器发来的升级指令时执行如下步骤:
步骤一:判断升级模块接收服务器发来的数据是否超过设定时间,若超时则继续执行用户命令,若不超时则进入步骤二;
步骤二:判断本帧数据是否正确,若不正确则向服务器发送重发本帧数据信息,若正确则进入步骤三;
步骤三:判断本帧数据是用于下载的数据还是用于通信的数据,若是用于通信的数据则发送成功接收标志,若是用于下载的数据则进入步骤四;
步骤四:判断所接收到的数据帧是否是需下载的升级数据的最后一帧数据,若是则将剩余的升级数据送入微处理单元并进入更新判断的步骤,若不是则进入步骤五;
步骤五:判断接收到的数据是否达到所设定的字节数,若是则将接收到的数据送入存储模块,存储成功则发送数据写入成功的信号,回到步骤一进入下一个循环,存储不成功则直接回到步骤一进入下一个循环;
更新判断的步骤:判断升级更新是否成功,若成功则更改当前运行区标志以升级后的系统继续执行原用户命令,若不成功则直接继续执行原用户命令。
8.根据权利要求7所述的一种远程升级的方法,其特征在于,所述步骤五中设定的字节数为512字节。
CN201410292715.9A 2014-06-26 2014-06-26 一种基于arm的水文测控终端及其远程升级的方法 Active CN104122815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410292715.9A CN104122815B (zh) 2014-06-26 2014-06-26 一种基于arm的水文测控终端及其远程升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410292715.9A CN104122815B (zh) 2014-06-26 2014-06-26 一种基于arm的水文测控终端及其远程升级的方法

Publications (2)

Publication Number Publication Date
CN104122815A true CN104122815A (zh) 2014-10-29
CN104122815B CN104122815B (zh) 2017-07-04

Family

ID=51768271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410292715.9A Active CN104122815B (zh) 2014-06-26 2014-06-26 一种基于arm的水文测控终端及其远程升级的方法

Country Status (1)

Country Link
CN (1) CN104122815B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354059A (zh) * 2015-10-29 2016-02-24 珠海格力电器股份有限公司 空调系统的控制器的升级方法及装置
CN105373403A (zh) * 2015-11-16 2016-03-02 珠海格力电器股份有限公司 控制器的升级方法及系统
CN106094902A (zh) * 2016-08-25 2016-11-09 电子科技大学 多功能智能水流量测控装置
CN108228205A (zh) * 2016-12-16 2018-06-29 航天科工惯性技术有限公司 一种基于单片机的传感器节点远程升级方法
CN108958781A (zh) * 2018-07-05 2018-12-07 嘉兴天控信息科技有限公司 一种远程嵌入式固件在线升级方法
CN109787874A (zh) * 2018-12-06 2019-05-21 珠海派诺科技股份有限公司 基于Linux平台的实时收发方法、设备及存储介质
CN110262349A (zh) * 2019-06-28 2019-09-20 中国航空工业集团公司雷华电子技术研究所 一种c8051f系列单片机的远程在线编程方法及系统
CN110471675A (zh) * 2019-08-21 2019-11-19 山东比特智能科技股份有限公司 一种程序烧录方法、系统、装置及计算机可读存储介质
CN111522266A (zh) * 2020-04-03 2020-08-11 常州农水云服信息科技有限公司 水情监测一体化系统
CN112505607A (zh) * 2020-12-22 2021-03-16 昆明自动化成套集团股份有限公司 一种带定位功能支持远程升级的电压监测装置
CN112764379A (zh) * 2021-01-18 2021-05-07 四川长虹电器股份有限公司 一种基于dsp系统的iap控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201555626U (zh) * 2009-12-16 2010-08-18 新疆信通水利电子有限公司 一种智能可编程遥测终端
EP1941411B1 (en) * 2005-09-30 2011-09-14 iRobot Corporation Companion robot for personal interaction
CN102546804A (zh) * 2012-01-13 2012-07-04 深圳市朗赛尔科技有限公司 塔吊gps终端远程升级方法
CN202494474U (zh) * 2012-03-06 2012-10-17 保定金卡特电子工程有限公司 一种基于Zigbee和GPRS通信技术的远程水文监测设备及其系统
US20120268606A1 (en) * 2009-12-24 2012-10-25 Rainbow Spirit Limited Device for registering and managing book based on computer vision and radio frequency identification technique
CN204101925U (zh) * 2014-06-26 2015-01-14 南京易周能源科技有限公司 一种基于arm的水文测控终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1941411B1 (en) * 2005-09-30 2011-09-14 iRobot Corporation Companion robot for personal interaction
CN201555626U (zh) * 2009-12-16 2010-08-18 新疆信通水利电子有限公司 一种智能可编程遥测终端
US20120268606A1 (en) * 2009-12-24 2012-10-25 Rainbow Spirit Limited Device for registering and managing book based on computer vision and radio frequency identification technique
CN102546804A (zh) * 2012-01-13 2012-07-04 深圳市朗赛尔科技有限公司 塔吊gps终端远程升级方法
CN202494474U (zh) * 2012-03-06 2012-10-17 保定金卡特电子工程有限公司 一种基于Zigbee和GPRS通信技术的远程水文监测设备及其系统
CN204101925U (zh) * 2014-06-26 2015-01-14 南京易周能源科技有限公司 一种基于arm的水文测控终端

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354059A (zh) * 2015-10-29 2016-02-24 珠海格力电器股份有限公司 空调系统的控制器的升级方法及装置
CN105373403A (zh) * 2015-11-16 2016-03-02 珠海格力电器股份有限公司 控制器的升级方法及系统
CN106094902A (zh) * 2016-08-25 2016-11-09 电子科技大学 多功能智能水流量测控装置
CN106094902B (zh) * 2016-08-25 2019-07-02 电子科技大学 多功能智能水流量测控装置
CN108228205A (zh) * 2016-12-16 2018-06-29 航天科工惯性技术有限公司 一种基于单片机的传感器节点远程升级方法
CN108958781A (zh) * 2018-07-05 2018-12-07 嘉兴天控信息科技有限公司 一种远程嵌入式固件在线升级方法
CN108958781B (zh) * 2018-07-05 2022-03-01 浙江爱迪曼环保科技股份有限公司 一种远程嵌入式固件在线升级方法
CN109787874B (zh) * 2018-12-06 2021-11-09 珠海派诺科技股份有限公司 基于Linux平台的实时收发方法、设备及存储介质
CN109787874A (zh) * 2018-12-06 2019-05-21 珠海派诺科技股份有限公司 基于Linux平台的实时收发方法、设备及存储介质
CN110262349A (zh) * 2019-06-28 2019-09-20 中国航空工业集团公司雷华电子技术研究所 一种c8051f系列单片机的远程在线编程方法及系统
CN110471675A (zh) * 2019-08-21 2019-11-19 山东比特智能科技股份有限公司 一种程序烧录方法、系统、装置及计算机可读存储介质
CN110471675B (zh) * 2019-08-21 2023-06-16 山东比特智能科技股份有限公司 一种程序烧录方法、系统、装置及计算机可读存储介质
CN111522266A (zh) * 2020-04-03 2020-08-11 常州农水云服信息科技有限公司 水情监测一体化系统
CN112505607A (zh) * 2020-12-22 2021-03-16 昆明自动化成套集团股份有限公司 一种带定位功能支持远程升级的电压监测装置
CN112764379A (zh) * 2021-01-18 2021-05-07 四川长虹电器股份有限公司 一种基于dsp系统的iap控制方法
CN112764379B (zh) * 2021-01-18 2022-05-03 四川长虹电器股份有限公司 一种基于dsp系统的iap控制方法

Also Published As

Publication number Publication date
CN104122815B (zh) 2017-07-04

Similar Documents

Publication Publication Date Title
CN104122815B (zh) 一种基于arm的水文测控终端及其远程升级的方法
US10284925B2 (en) Meter device
CN101324867B (zh) 基于半导体存储介质的数据管理装置及管理方法
US7053790B2 (en) Remote meter reading system using grouped data structure
US7269829B2 (en) Method and system for remote update of microprocessor code for irrigation controllers
CN101902618A (zh) 作物病虫害信息诊断系统及方法
US8346713B2 (en) Method and system for recognizing power consumption behaviors of electric appliances in a loop
CN206696666U (zh) 基于gps和北斗定位的低功耗水文遥测终端机
CN102486389A (zh) 一种无线传感器网络的粮库测温、湿装置
CN101872366A (zh) 一种条码采集终端
CN202403694U (zh) 一种gps农田面积测量仪
CN101614830B (zh) 一种具有在线远程监控的风能资源记录仪
JP2003323686A (ja) Rfidタグを利用した流量計の検針方法及び検針システム
KR100227669B1 (ko) 무선 원격 검침시스템
CN102393221A (zh) 一种仓库温湿度自动监测系统
CN204101925U (zh) 一种基于arm的水文测控终端
CN102369886A (zh) 动物疫情信息采集上报诊断装置与方法
CN114064354A (zh) 双接口独立备份数据存储模块和电子仪表解析处理方法
CN215834028U (zh) 具有蓝牙功能的遥测终端装置
AU2018214117B2 (en) A meter device
CN108829007A (zh) 一种环境温湿度及ch2o多参数在线监测终端
CN207731129U (zh) 一种施工管理用检测仪
JPH0230080B2 (ja) Meetasensa
CN214702353U (zh) 空气环境质量监测仪
CN201828679U (zh) 室内环境舒适度测试记录仪

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A hydrological measurement and control terminal based on arm and its remote upgrade method

Effective date of registration: 20200811

Granted publication date: 20170704

Pledgee: Nanjing Liuhe Branch of Jiangsu Bank Co.,Ltd.

Pledgor: NANJING YIZHOU ENERGY TECHNOLOGY Co.,Ltd.

Registration number: Y2020980004870

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20211119

Granted publication date: 20170704

Pledgee: Nanjing Liuhe Branch of Jiangsu Bank Co.,Ltd.

Pledgor: NANJING YIZHOU ENERGY TECHNOLOGY Co.,Ltd.

Registration number: Y2020980004870

PC01 Cancellation of the registration of the contract for pledge of patent right
PP01 Preservation of patent right

Effective date of registration: 20231008

Granted publication date: 20170704

PP01 Preservation of patent right