电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>基于Lua脚本语言的嵌入式UART通信解决方案

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

2017-10-25 | rar | 0.6 MB | 次下载 | 1积分

资料介绍

引言
  随着变电站智能化程度的逐步提高,对温度、湿度等现场状态参量的采集需求也越来越多。就目前而言,在现场应用中,此类设备多采用RS232RS485UART串行通信方式和IED(Intelligent Electronic Device,智能电子设备)装置进行交互。一般来说,不同的设备采用的通信数据帧格式并不相同。各式各样的串口数据帧格式,对IED装置的软件定型造成一定的困难。传统的做法一般是由装置生产厂家指定和其配套的外围设备,装置的灵活性不够理想。本文针对此类问题,提出了一种基于Lua脚本语言的解决方案,可有效地提高IED装置对各种类型串口数据报文帧格式的适应性。该方案将具体串口报文规约的组建和解析交给Lua脚本进行处理,从而使设计者在装置的软件开发中,可仅关注于相关接口的设计,而不用关心具体的串口通信规约,从而方便软件的定型,并提高了装置自身在应用中的灵活性。
  1 Lua脚本语言介绍
  Lua是一种源码开放的、免费的、轻量级的嵌入式脚本语言,源码完全采用ANSI(ISO) C.这一点使它非常适合融入目前以C语言为主的嵌入式开发环境之中。两者之间实现交互的关键在于一个虚拟的栈,通过该虚拟栈和Lua提供的可对该栈进行操作的相关接口函数,可以很方便地在它们之间实现各种类型数据的传递。
  与其他脚本语言(如Perl、Tcl、Python等)相比,Lua表现出了足够的简单性以及非常高的执行效率,结合其与平台的高度无关以及充分的可扩展性[1],这使得它越来越多地得到大家的关注。因此,在本文的方案中优先选用Lua脚本来进行设计。
  2 系统方案概述
  本方案主要是围绕着IED装置和外围串口设备之间的通信来进行设计的,系统框架如图1所示。
  基于Lua脚本语言的嵌入式UART通信解决方案
  图1 系统框架
  当IED装置开始运行时,将创建一个用于UART通信的读写调度任务。在该任务中,首先通过Lua提供的接口函数来启动其脚本引擎,并创建Lua虚拟机。然后即可将用户编写的C函数注册到Lua虚拟机中去,并将存在于Flash文件系统中独立于装置C程序的Lua脚本文件加载到虚拟机中,从而建立起Lua和C的交互环境。在系统应用中,将需要发送到外围设备的具体数据内容都放在Lua脚本文件中。当装置C程序需要发送数据时,通过通信读写调度程序及虚拟机的配合,将这部分数据取出,并调用串口驱动程序发送给外围设备。当收到外围设备发给IED装置的报文时,再将相应数据传给虚拟机中运行的脚本程序进行处理,并由Lua根据数据处理结果来调用已注册的C函数进行相关业务处理。
  基于Lua脚本语言的嵌入式UART通信解决方案
  图2 系统程序流程
  本系统的程序流程如图2所示。
  其中,串口通信芯片采用TI公司的带64字节FIFO的4通道可编程UART芯片TL16C754B来实现。它的4个通道可分别独立编程,在3.3 V的操作电压下,数据传输速率可高达2 Mbps,适合多种UART通信环境中的应用[2]。基于装置的应用环境,本文采用RS485的问答机制并结合查询方式来对该串口通信方案进行设计。在方案实现中,装置将每隔一定时间通过串口芯片发送一次查询报文,当查询到外围设备发送的正确响应报文后,再进行相关业务处理。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费