新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于Lua脚本语言的嵌入式UART通信方案设计

基于Lua脚本语言的嵌入式UART通信方案设计

作者:时间:2012-05-03来源:网络收藏

摘要:针对变电站中采用串口规约进行信息传递的各种外围设备,在需要与其进行的IED智能装置的开发中,设计了一种方案。通过该方案,可将具体串口报文规约的组建和解析交给进行处理,使设计者在具体装置的软件开发中,仅关注其与外围设备以及间交互接口的设计,而不用关心具体的串口通信规约,从而提供了一种装置串口通信的现场可配置化方案,提高了装置应用的灵活性。
关键词:Lua;;串口通信;智能电子设备

引言
随着变电站智能化程度的逐步提高,对温度、湿度等现场状态参量的采集需求也越来越多。就目前而言,在现场应用中,此类设备多采用RS232或RS485等串行通信方式和IED(Intelligent Electronic Device,智能电子设备)装置进行交瓦。一般来说,不同的设备采用的通信数据帧格式并不相同。各式各样的串口数据帧格式,对IED装置的软件定型造成一定的困难。传统的做法一般是由装置生产厂家指定和其配套的外围设备,装置的灵活性不够理想。本文针对此类问题,提出了一种Lua脚本的解决方案,可有效地提高IED装置对各种类型
串口数据报文帧格式的适应性。该方案将具体串口报文规约的组建和解析交给Lua脚本进行处理,从而使设计者在装置的软件开发中,可仅关注于相关接口的设计,而不用关心具体的串口通信规约,从而方便软件的定型,并提高了装置自身在应用中的灵活性。

1 Lua脚本介绍
Lua是一种源码开放的、免费的、轻量级的脚本语言,源码完全采用ANSI(ISO)C。这一点使它非常适合融入目前以C语言为主的开发环境之中。两者之间实现交互的关键在于一个虚拟的栈,通过该虚拟栈和Lua提供的可对该栈进行操作的相关接口函数,可以很方便地在它们之间实现各种类型数据的传递。
与其他脚本语言(如Perl、Tcl、Python等)相比,Lua表现出了足够的简单性以及非常高的执行效率,结合其与平台的高度无关以及充分的可扩展性,这使得它越来越多地得到大家的关注。因此,在本文的方案中优先选用Lua脚本来进行设计。

2 系统方案概述
本方案主要是围绕着IED装置和外围串口设备之间的通信来进行设计的,系统框架如图1所示。

本文引用地址:http://www.eepw.com.cn/article/155041.htm

a.JPG


当IED装置开始运行时,将创建一个用于UART通信的读写调度任务。在该任务中,首先通过Lua提供的接口函数来启动其脚本引擎,并创建Lua虚拟机。然后即可将用户编写的C函数注册到Lua虚拟机中去,并将存在于Flash文件系统巾独立于装置C程序的Lua脚本文件加载到虚拟机中,从而建立起Lua和C的交互环境。在系统应用中,将需要发送到外围设备的具体数据内容都放在Lua脚本文件中。当装置C程序需要发送数据时,通过通信读写调度程序及虚拟机的配合,将这部分数据取出,并调用串口驱动程序发送给外围设备。当收到外围设备发给IED装置的报文时,再将相应数据传给虚拟机中运行的脚小程序进行处理,并由Lua根据数据处理结果来调用已注册的C函数进行相关业务处理。

b.JPG

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭