資料介紹
引言
隨著變電站智能化程度的逐步提高,對溫度、濕度等現場狀態參量的采集需求也越來越多。就目前而言,在現場應用中,此類設備多采用RS232或RS485等UART串行通信方式和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通信解決方案](/uploads/allimg/171025/2362486-1G025114320212.png)
圖1 系統框架
當IED裝置開始運行時,將創建一個用于UART通信的讀寫調度任務。在該任務中,首先通過Lua提供的接口函數來啟動其腳本引擎,并創建Lua虛擬機。然后即可將用戶編寫的C函數注冊到Lua虛擬機中去,并將存在于Flash文件系統中獨立于裝置C程序的Lua腳本文件加載到虛擬機中,從而建立起Lua和C的交互環境。在系統應用中,將需要發送到外圍設備的具體數據內容都放在Lua腳本文件中。當裝置C程序需要發送數據時,通過通信讀寫調度程序及虛擬機的配合,將這部分數據取出,并調用串口驅動程序發送給外圍設備。當收到外圍設備發給IED裝置的報文時,再將相應數據傳給虛擬機中運行的腳本程序進行處理,并由Lua根據數據處理結果來調用已注冊的C函數進行相關業務處理。
![基于Lua腳本語言的嵌入式UART通信解決方案](/uploads/allimg/171025/2362486-1G02511432V52.png)
圖2 系統程序流程
本系統的程序流程如圖2所示。
其中,串口通信芯片采用TI公司的帶64字節FIFO的4通道可編程UART芯片TL16C754B來實現。它的4個通道可分別獨立編程,在3.3 V的操作電壓下,數據傳輸速率可高達2 Mbps,適合多種UART通信環境中的應用[2]。基于裝置的應用環境,本文采用RS485的問答機制并結合查詢方式來對該串口通信方案進行設計。在方案實現中,裝置將每隔一定時間通過串口芯片發送一次查詢報文,當查詢到外圍設備發送的正確響應報文后,再進行相關業務處理。
隨著變電站智能化程度的逐步提高,對溫度、濕度等現場狀態參量的采集需求也越來越多。就目前而言,在現場應用中,此類設備多采用RS232或RS485等UART串行通信方式和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通信解決方案](/uploads/allimg/171025/2362486-1G025114320212.png)
圖1 系統框架
當IED裝置開始運行時,將創建一個用于UART通信的讀寫調度任務。在該任務中,首先通過Lua提供的接口函數來啟動其腳本引擎,并創建Lua虛擬機。然后即可將用戶編寫的C函數注冊到Lua虛擬機中去,并將存在于Flash文件系統中獨立于裝置C程序的Lua腳本文件加載到虛擬機中,從而建立起Lua和C的交互環境。在系統應用中,將需要發送到外圍設備的具體數據內容都放在Lua腳本文件中。當裝置C程序需要發送數據時,通過通信讀寫調度程序及虛擬機的配合,將這部分數據取出,并調用串口驅動程序發送給外圍設備。當收到外圍設備發給IED裝置的報文時,再將相應數據傳給虛擬機中運行的腳本程序進行處理,并由Lua根據數據處理結果來調用已注冊的C函數進行相關業務處理。
![基于Lua腳本語言的嵌入式UART通信解決方案](/uploads/allimg/171025/2362486-1G02511432V52.png)
圖2 系統程序流程
本系統的程序流程如圖2所示。
其中,串口通信芯片采用TI公司的帶64字節FIFO的4通道可編程UART芯片TL16C754B來實現。它的4個通道可分別獨立編程,在3.3 V的操作電壓下,數據傳輸速率可高達2 Mbps,適合多種UART通信環境中的應用[2]。基于裝置的應用環境,本文采用RS485的問答機制并結合查詢方式來對該串口通信方案進行設計。在方案實現中,裝置將每隔一定時間通過串口芯片發送一次查詢報文,當查詢到外圍設備發送的正確響應報文后,再進行相關業務處理。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式設計課程總結5
- 課堂筆記五之嵌入式Linux開發工具
- 嵌入式Linux第五周課程總結
- 移植lua5.2和luasocket庫到嵌入式linux,使能強大的lua腳本和網絡功能
- 嵌入式軟件之c語言編碼規范 28次下載
- 嵌入式Lua開發環境的搭建
- 基于Python的實時嵌入式軟件測試腳本總結
- 【串口屏LUA教程】Lua腳本語言中文教程
- 腳本語言的概述和與其他編程語言的關系及特點以及程序舉例的詳細說明 13次下載
- 基于Lua腳本語言的ESP8266 TCP服務器資料免費下載
- 如何使用Lua腳本語言進行ESP8266和TCP服務器多連接
- Lua腳本語言入門教程資料說明
- Lua腳本語言入門教程資料免費下載
- 嵌入式和物聯網的shell腳本學習指南之shell腳本入門免費下載 20次下載
- Java用于嵌入式系統之分析與解決方案
- 微軟生成式AI腳本GenAIScript的安裝與配置 271次閱讀
- 嵌入式fpga是什么意思 1310次閱讀
- 聊一聊嵌入式C語言 568次閱讀
- 嵌入式系統串口UART接口為啥沒有數據輸出 1004次閱讀
- 嵌入式常用通信傳輸協議動圖分享 885次閱讀
- 深入LUA腳本語言 909次閱讀
- 嵌入式C語言知識點總結 2733次閱讀
- 嵌入式Linux啟動時間優化的秘密之四-啟動腳本 2467次閱讀
- 具備M2M功能的嵌入式網絡解決方案將成為未來的走向 1027次閱讀
- 腳本在嵌入式系統的應用 1291次閱讀
- 嵌入式系統C語言編程實戰教程合集 9481次閱讀
- 嵌入式硬件通信接口協議中的串行通信接口-SPI 1654次閱讀
- 基于嵌入式環境的WiFi通信設計方案詳解 5750次閱讀
- JavaScript 是腳本還是編程語言?看了這文章就懂了 8813次閱讀
- Vivado之TCL腳本語言基本語法介紹 9953次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論