脚本语言正在3.3 V的操作电压下

新闻是有分量的

脚本语言正在3.3 V的操作电压下

2019-05-02 15:40栏目:创投界

  正在嵌入式运用周围,串口通讯的运用比力成熟,于是,本文将着重先容Lua是奈何供职于这一运用的。从图2可能看出,Lua的操纵紧要显露正在如下几个方面:

  个中,串口通讯芯片采用TI公司的带64字节FIFO的4通道可编程UART芯片TL16C754B来竣工。它的4个通道可阔别独立编程,正在3.3 V的操作电压下,数据传输速度可高达2 Mbps,适合众种UART通讯处境中的运用[2]。基于装备的运用处境,本文采用RS485的问答机制并连接盘查办法来对该串口通讯计划实行打算。正在计划竣工中,装备将每隔必定年华通过串口芯片发送一次盘查报文,当盘查到外围修造发送具体切呼应报文后,再实行联系营业治理。

  本计划紧要是盘绕着IED装备和外围串口修造之间的通讯来实行打算的,体系框架如图1所示。

  当IED装备先河运转时,将创修一个用于UART通讯的读写调剂职分。正在该职分中,起初通过Lua供应的接口函数来启动其剧本引擎,并创修Lua虚拟机。然后即可将用户编写的C函数注册到Lua虚拟机中去,并将存正在于Flash文献体系中独立于装备C秩序的Lua剧本文献加载到虚拟机中,从而征战起Lua和C的交互处境。正在体系运用中,将须要发送到外围修造的简直数据实质都放正在Lua剧本文献中。当装备C秩序须要发送数据时,通过通讯读写调剂秩序及虚拟机的配合,将这个人数据取出,并移用串口驱动秩序发送给外围修造。当收到外围修造发给IED装备的报文时,再将相应数据传给虚拟机中运转的剧本秩序实行治理,并由Lua依据数据治理结果来移用已注册的C函数实行联系营业治理。

  正在Lua剧本中,要告成移用以上函数,务必将其加载到Lua虚拟机中去,本文采用Lua供应的一种注册C函数库的步骤来竣工。简直加载进程如下:

  跟着变电站智能化水准的逐渐进步,对温度、湿度等现场形态参量的采撷需求也越来越众。就目前而言,正在现场运用中,此类修造众采用RS232或RS485等UART串行通讯办法和IED(Intelligent Electronic Device,智能电子修造)装备实行交互。寻常来说,分别的修造采用的通讯数据帧式样并纷歧致。林林总总的串口数据帧式样,对IED装备的软件定型变成必定的难题。古代的做法寻常是由装备坐褥厂家指定和其配套的外围修造,装备的精巧性不足理思。本文针对此类题目,提出了一种基于的处置计划,可有用地进步IED装备对各品种型串口数据报文帧式样的适宜性。该计划将简直串口报文规约的组修妥协析交给Lua剧本实行治理,从而使打算者正在装备的软件开荒中,可仅合怀于联系接口的打算,而无须属意简直的串口通讯规约,从而便利软件的定型,并进步了装备自己正在运用中的精巧性。

  为了竣工Lua剧本函数对体系秩序中串口发送和吸取缓存区的数据实行拜访,界说了几个C函数供剧本移用,即用于修树串口发送缓冲区的函数set_tx_buf、读取串口吸取缓冲区的函数get_rx_buf,以及正在Lua剧本中剖断串口数据交互平常时移用的结果治理函数uart_ok_del.

  与其他剧本讲话(如Perl、Tcl、Python等)比拟,Lua外示出了足够的容易性以及绝顶高的实行服从,连接其与平台的高度无合以及充裕的可扩展性[1],这使得它越来越众地获得众人的合怀。于是,正在本文的计划中优先选用Lua剧本来实行打算。

  要征战交互处境,起初要启动Lua剧本引擎,并创修虚拟机。其机制固然相对杂乱,但对运用来说却比力容易,通过“L=lua_open(NULL);”即可竣工。个中,L是一个指向构造类型为lua_State的指针变量,该构造将承担对Lua的运转形态实行保卫。

  Lua是一种源码怒放的、免费的、轻量级的嵌入式剧本讲话,源码齐备采用ANSI(ISO) C.这一点使它绝顶适合融入目前以C讲话为主的嵌入式开荒处境之中。两者之间竣工交互的枢纽正在于一个虚拟的栈,通过该虚拟栈和Lua供应的可对该栈实行操作的联系接口函数,可能很便利地正在它们之间竣工各品种型数据的通报。