電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開(kāi)發(fā)>基于Lua腳本語(yǔ)言的嵌入式UART通信解決方案

基于Lua腳本語(yǔ)言的嵌入式UART通信解決方案

2017-10-25 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

引言
  隨著變電站智能化程度的逐步提高,對(duì)溫度、濕度等現(xiàn)場(chǎng)狀態(tài)參量的采集需求也越來(lái)越多。就目前而言,在現(xiàn)場(chǎng)應(yīng)用中,此類(lèi)設(shè)備多采用RS232RS485UART串行通信方式和IED(Intelligent Electronic Device,智能電子設(shè)備)裝置進(jìn)行交互。一般來(lái)說(shuō),不同的設(shè)備采用的通信數(shù)據(jù)幀格式并不相同。各式各樣的串口數(shù)據(jù)幀格式,對(duì)IED裝置的軟件定型造成一定的困難。傳統(tǒng)的做法一般是由裝置生產(chǎn)廠家指定和其配套的外圍設(shè)備,裝置的靈活性不夠理想。本文針對(duì)此類(lèi)問(wèn)題,提出了一種基于Lua腳本語(yǔ)言的解決方案,可有效地提高IED裝置對(duì)各種類(lèi)型串口數(shù)據(jù)報(bào)文幀格式的適應(yīng)性。該方案將具體串口報(bào)文規(guī)約的組建和解析交給Lua腳本進(jìn)行處理,從而使設(shè)計(jì)者在裝置的軟件開(kāi)發(fā)中,可僅關(guān)注于相關(guān)接口的設(shè)計(jì),而不用關(guān)心具體的串口通信規(guī)約,從而方便軟件的定型,并提高了裝置自身在應(yīng)用中的靈活性。
  1 Lua腳本語(yǔ)言介紹
  Lua是一種源碼開(kāi)放的、免費(fèi)的、輕量級(jí)的嵌入式腳本語(yǔ)言,源碼完全采用ANSI(ISO) C.這一點(diǎn)使它非常適合融入目前以C語(yǔ)言為主的嵌入式開(kāi)發(fā)環(huán)境之中。兩者之間實(shí)現(xiàn)交互的關(guān)鍵在于一個(gè)虛擬的棧,通過(guò)該虛擬棧和Lua提供的可對(duì)該棧進(jìn)行操作的相關(guān)接口函數(shù),可以很方便地在它們之間實(shí)現(xiàn)各種類(lèi)型數(shù)據(jù)的傳遞。
  與其他腳本語(yǔ)言(如Perl、Tcl、Python等)相比,Lua表現(xiàn)出了足夠的簡(jiǎn)單性以及非常高的執(zhí)行效率,結(jié)合其與平臺(tái)的高度無(wú)關(guān)以及充分的可擴(kuò)展性[1],這使得它越來(lái)越多地得到大家的關(guān)注。因此,在本文的方案中優(yōu)先選用Lua腳本來(lái)進(jìn)行設(shè)計(jì)。
  2 系統(tǒng)方案概述
  本方案主要是圍繞著IED裝置和外圍串口設(shè)備之間的通信來(lái)進(jìn)行設(shè)計(jì)的,系統(tǒng)框架如圖1所示。
  基于Lua腳本語(yǔ)言的嵌入式UART通信解決方案
  圖1 系統(tǒng)框架
  當(dāng)IED裝置開(kāi)始運(yùn)行時(shí),將創(chuàng)建一個(gè)用于UART通信的讀寫(xiě)調(diào)度任務(wù)。在該任務(wù)中,首先通過(guò)Lua提供的接口函數(shù)來(lái)啟動(dòng)其腳本引擎,并創(chuàng)建Lua虛擬機(jī)。然后即可將用戶(hù)編寫(xiě)的C函數(shù)注冊(cè)到Lua虛擬機(jī)中去,并將存在于Flash文件系統(tǒng)中獨(dú)立于裝置C程序的Lua腳本文件加載到虛擬機(jī)中,從而建立起Lua和C的交互環(huán)境。在系統(tǒng)應(yīng)用中,將需要發(fā)送到外圍設(shè)備的具體數(shù)據(jù)內(nèi)容都放在Lua腳本文件中。當(dāng)裝置C程序需要發(fā)送數(shù)據(jù)時(shí),通過(guò)通信讀寫(xiě)調(diào)度程序及虛擬機(jī)的配合,將這部分?jǐn)?shù)據(jù)取出,并調(diào)用串口驅(qū)動(dòng)程序發(fā)送給外圍設(shè)備。當(dāng)收到外圍設(shè)備發(fā)給IED裝置的報(bào)文時(shí),再將相應(yīng)數(shù)據(jù)傳給虛擬機(jī)中運(yùn)行的腳本程序進(jìn)行處理,并由Lua根據(jù)數(shù)據(jù)處理結(jié)果來(lái)調(diào)用已注冊(cè)的C函數(shù)進(jìn)行相關(guān)業(yè)務(wù)處理。
  基于Lua腳本語(yǔ)言的嵌入式UART通信解決方案
  圖2 系統(tǒng)程序流程
  本系統(tǒng)的程序流程如圖2所示。
  其中,串口通信芯片采用TI公司的帶64字節(jié)FIFO的4通道可編程UART芯片TL16C754B來(lái)實(shí)現(xiàn)。它的4個(gè)通道可分別獨(dú)立編程,在3.3 V的操作電壓下,數(shù)據(jù)傳輸速率可高達(dá)2 Mbps,適合多種UART通信環(huán)境中的應(yīng)用[2]。基于裝置的應(yīng)用環(huán)境,本文采用RS485的問(wèn)答機(jī)制并結(jié)合查詢(xún)方式來(lái)對(duì)該串口通信方案進(jìn)行設(shè)計(jì)。在方案實(shí)現(xiàn)中,裝置將每隔一定時(shí)間通過(guò)串口芯片發(fā)送一次查詢(xún)報(bào)文,當(dāng)查詢(xún)到外圍設(shè)備發(fā)送的正確響應(yīng)報(bào)文后,再進(jìn)行相關(guān)業(yè)務(wù)處理。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)