一种基于ARM平台Linux系统的站所终端遥测方法技术方案

技术编号:26969985 阅读:11 留言:0更新日期:2021-01-05 23:59
本发明专利技术公开了一种基于ARM平台Linux系统的站所终端遥测方法,包括如下步骤:站所终端的遥测AD模块向ARM平台发送I/O中断信号,通过串口向ARM平台发送本次遥测数据;ARM平台将I/O中断配置为FIQ中断;FIQ函数中的遥测算法程序读取串口FIFO中的数据并进行校验,校验不通过则丢弃此数据,使用上次数据作为此次数据存入算法缓存,校验通过则将数据存入遥测算法程序缓存;数据计数变量data_count加1;data_count未到限定值则退出FIQ函数,data_count达到限定值时,遥测算法程序调用Linux系统进程对缓存数据进行计算,清零data_count值,退出函数。本发明专利技术在单芯片ARM平台的Linux上实现强实时中断响应,在Linux中利用FIQ实现遥测功能,比传统的实时系统加Linux的方案节省了一颗芯片,节约成本,降低了硬件设计复杂度。

【技术实现步骤摘要】
一种基于ARM平台Linux系统的站所终端遥测方法
本专利技术涉及遥测
,尤其涉及一种基于ARM平台Linux系统的站所终端遥测方法。
技术介绍
遥测是将对象参量的近距离测量值传输至远距离的测量站来实现远距离测量的技术。由于遥测技术对实时性的高要求,目前电网系统中绝大多数方案都是选择基于强实时系统来实现站所终端(DTU)的遥测功能。强实时系统响应快,但系统功能较弱,缺少如Linux系统般强大的软件生态。Linux系统采用IRQ中断方式管理所有的外设中断,其在处理一个已经发生的IRQ中断时是无法及时响应新产生的IRQ中断的,而且Linux系统在进行进程同步和关键区保护时还会临时关闭IRQ中断响应,这导致Linux系统不是实时系统。所以Linux系统的软件生态虽好,却难以满足遥测功能对实时性的要求。传统的站所终端遥测方案为兼顾对实时性要求高的遥测功能和丰富的软件生态资源,往往使用实时系统加Linux系统的双系统方案,成本高,硬件设计复杂。
技术实现思路
本专利技术针对现有技术存在的不足和缺陷,提供了一种基于ARM平台Linux系统的站所终端遥测方法,利用FIQ机制在单芯片ARM平台的Linux系统上实现强实时的中断响应,在Linux单系统中利用FIQ中断来实现站所终端的遥测功能,替代传统的实时系统加Linux系统的双系统方案。本专利技术的目的可以通过以下技术方案来实现:一种基于ARM平台Linux系统的站所终端遥测方法,包括如下步骤:步骤1,以固定周期T,站所终端的遥测AD模块通过接口向ARM平台发送I/O中断信号,同时通过串口向ARM平台发送本次遥测数据;步骤2,ARM平台将I/O中断配置为FIQ中断;步骤3,FIQ中断处理函数中的遥测算法程序读取串口FIFO中的字节数据并进行校验,校验不通过则丢弃此数据点,使用上次数据点作为此次数据点存入算法缓存;校验通过则将遥测数据直接存入遥测算法程序的缓存中;步骤4,数据点计数变量data_count加1;步骤5,若data_count未到限定值L,则直接退出FIQ函数;data_count达到限定值L时,遥测算法程序调用Linux系统的进程对缓存数据进行一次计算,判断站所终端是否有故障发生,清零data_count值,退出FIQ函数。进一步地,所述步骤1中固定周期T在250us以下,即方法适用的遥测数据生成频率为4KHz以上。进一步地,所述步骤2中按照以下步骤实现对FIQ中断的配置:1)定义一个数组作为FIQ中断状态的栈区;2)定义I/O中断服务函数,该函数最终会调用遥测算法程序;3)将1)中定义的数组地址填入ARM在FIQ中断模式下的sp寄存器中;4)使能I/O中断源和FIQ中断,将I/O中断配置为FIQ中断。进一步地,所述步骤5中限定值L的计算方法为20ms/T。本专利技术的有益技术效果:利用FIQ机制在单芯片ARM平台的Linux上实现强实时的中断响应,在Linux单系统中利用FIQ中断来实现站所终端的遥测功能,比传统的实时系统加Linux系统的双系统方案节省了一颗MCU芯片,节约成本的同时也降低了硬件电路设计复杂度。附图说明图1为本专利技术的总体流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不限定本专利技术。实施例。如图1所示,一种基于ARM平台Linux系统的站所终端遥测方法,包括如下步骤:步骤1,以250us的固定周期,站所终端的遥测AD模块通过接口向ARM平台发送I/O中断信号,同时通过3M波特率串口向ARM平台发送26字节的单次遥测数据,其中有2字节为校验和;步骤2,ARM平台将I/O中断配置为FIQ中断;FIQ中断的配置步骤如下:1)定义1K大小的数组作为FIQ中断状态的栈区;2)定义I/O中断服务函数,该函数最终会调用遥测算法程序;3)将1)中定义的数组地址填入ARM在FIQ中断模式下的sp寄存器中;4)使能I/O中断源和FIQ中断,将I/O中断配置为FIQ中断。步骤3,FIQ中断处理函数中的遥测算法程序读取串口FIFO中的字节数据并进行校验,校验通过,将遥测数据存入遥测算法程序的缓存中;步骤4,数据点计数变量data_count加1;步骤5,限定值L=20ms/250us=80,data_count达到80时,遥测算法程序调用Linux系统的进程缓存数据进行一次计算。本专利技术在ARM平台Linux中使用FIQ中断提高系统实时性,使Linux系统对外部中断的响应延迟达到了硬实时的级别。一般地,在300MHz主频的ARM9处理器上运行的Linux系统对I/O中断的响应延迟最大可达1ms以上。在同样的条件下,采用本专利技术方法的Linux系统对I/O中断的响应延迟不超过2us。上述实施例是对本专利技术的具体实施方式的说明,而非对本专利技术的限制,有关
的技术人员在不脱离本专利技术的精神和范围的情况下,还可做出各种变换和变化以得到相对应的等同的技术方案,因此所有等同的技术方案均应归入本专利技术的专利保护范围。本文档来自技高网
...

【技术保护点】
1.一种基于ARM平台Linux系统的站所终端遥测方法,其特征在于,包括如下步骤:/n步骤1,以固定周期T,站所终端的遥测AD模块通过接口向ARM平台发送I/O中断信号,同时通过串口向ARM平台发送本次遥测数据;/n步骤2,ARM平台将I/O中断配置为FIQ中断;/n步骤3,FIQ中断处理函数中的遥测算法程序读取串口FIFO中的字节数据并进行校验,校验不通过则丢弃此数据点,使用上次数据点作为此次数据点存入算法缓存;校验通过则将遥测数据直接存入遥测算法程序的缓存中;/n步骤4,数据点计数变量data_count加1;/n步骤5,若data_count未到限定值L,则直接退出FIQ函数;data_count达到限定值L时,遥测算法程序调用Linux系统的进程对缓存数据进行一次计算,清零data_count值,退出FIQ函数。/n

【技术特征摘要】
1.一种基于ARM平台Linux系统的站所终端遥测方法,其特征在于,包括如下步骤:
步骤1,以固定周期T,站所终端的遥测AD模块通过接口向ARM平台发送I/O中断信号,同时通过串口向ARM平台发送本次遥测数据;
步骤2,ARM平台将I/O中断配置为FIQ中断;
步骤3,FIQ中断处理函数中的遥测算法程序读取串口FIFO中的字节数据并进行校验,校验不通过则丢弃此数据点,使用上次数据点作为此次数据点存入算法缓存;校验通过则将遥测数据直接存入遥测算法程序的缓存中;
步骤4,数据点计数变量data_count加1;
步骤5,若data_count未到限定值L,则直接退出FIQ函数;data_count达到限定值L时,遥测算法程序调用Linux系统的进程对缓存数据进行一次计算,清零data_count值,退出FIQ函数。

【专利技术属性】
技术研发人员:范建华单长军李峰
申请(专利权)人:青岛鼎信通讯股份有限公司沈阳科远国网电力工程勘察设计有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1