當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]一種嵌入式數(shù)據(jù)終端的設(shè)計(jì)方案與實(shí)現(xiàn)

摘要:以MES 在制造業(yè)的應(yīng)用為背景,針對企業(yè)車間的數(shù)據(jù)類型、數(shù)據(jù)采集手段、數(shù)據(jù) 下達(dá)與顯示方式在各種行業(yè)千差萬別的實(shí)際情況,提出了一種所有功能透明、受控于上位機(jī) 的基于S3C44B0 的嵌入式智能交互終端的數(shù)據(jù)采集方案。此方案能解決數(shù)據(jù)采集終端在不同 行業(yè)間推廣過程中的通用性問題,縮短系統(tǒng)的開發(fā)周期,日常維護(hù)和升級都非常方便。詳細(xì) 地給出了交互系統(tǒng)的總體模型,嵌入式智能數(shù)據(jù)交互終端的硬件平臺、軟件框架與設(shè)計(jì)流程。

1、引言

傳統(tǒng)的 ERP 等信息管理系統(tǒng)在制造業(yè)企業(yè)內(nèi)發(fā)揮了重要的作用,但這些系統(tǒng)還未能延伸 到車間過程管理的環(huán)節(jié),使車間過程管理自動化、信息化、智能化。現(xiàn)在新興的MES 系統(tǒng)為 解決以上的問題,通常在車間借用各種數(shù)據(jù)交互終端。數(shù)據(jù)交互終端負(fù)責(zé)采集和處理最原始 數(shù)據(jù)并將其傳送到工作站,同時(shí)接收工作站下達(dá)的操作命令[1]。但是,傳統(tǒng)的數(shù)據(jù)交互終端 把業(yè)務(wù)流程及數(shù)據(jù)采集項(xiàng)定制設(shè)計(jì)成程序固化在終端內(nèi),當(dāng)業(yè)務(wù)流程發(fā)生變化或在不同行業(yè) 中應(yīng)用時(shí),就需要花費(fèi)大量時(shí)間修改終端程序與上位機(jī)應(yīng)用程序。例如在一個(gè)系統(tǒng)中有N 臺終端要實(shí)現(xiàn)不同的業(yè)務(wù),就要設(shè)計(jì)N 套終端程序,使得終端程序的版本很多,很明顯不能 適應(yīng)現(xiàn)代企業(yè)的快速變化,也不利于行業(yè)間的推廣。本文提出一種新的設(shè)計(jì)方案,引入業(yè)務(wù) 功能配置引擎與業(yè)務(wù)解析引擎。其中業(yè)務(wù)功能配置引擎為上位機(jī)應(yīng)用程序核心,業(yè)務(wù)解析引 擎集成于數(shù)據(jù)交互終端。這樣,當(dāng)業(yè)務(wù)或行業(yè)變化時(shí),只需改變上位機(jī)的業(yè)務(wù)配置引擎的配 置信息而無需改變終端程序。采用這樣的設(shè)計(jì)方案可以加快系統(tǒng)開發(fā)進(jìn)度,以及系統(tǒng)在各種 行業(yè)中的推廣。

2、嵌入式智能數(shù)據(jù)交互終端硬件平臺

硬件平臺采用Samsung S3C44B0 處理器,該處理器采用的ARM7TDMI 結(jié)構(gòu),最高頻率 66MHz[2]。本平臺以此處理器為核心,添加諸多外圍模塊,其硬件平臺框圖如圖1 所示。

 

 

鍵盤,RFID 與液晶屏為終端的人機(jī)交互平臺;系統(tǒng)的核心模塊通過系統(tǒng)總線與處理器 連接;外接豐富的RAM 與ROM 資源可以提高系統(tǒng)軟件設(shè)計(jì)的靈活性;以太網(wǎng)作為主要通訊接 口,使得系統(tǒng)通訊更加標(biāo)準(zhǔn)化,保證了通訊的速度與可靠性。在本系統(tǒng)中,除處理器、SDRAM、FlashRom 為主板固定模塊,其它外圍均采用可拔插的設(shè)計(jì)原理,這樣當(dāng)需求改變時(shí),只需 插上或拔下需要的外圍模塊即可,這樣的設(shè)計(jì)思想增加了終端的靈活性并縮短開發(fā)周期。

3、軟件設(shè)計(jì)的思想與實(shí)現(xiàn)

3.1 智能數(shù)據(jù)交互系統(tǒng)的整體模型及工作原理

在講述數(shù)據(jù)交互終端的軟件實(shí)現(xiàn)前,首先介紹系統(tǒng)的整體結(jié)構(gòu)以及其工作原理。圖2 是MES 系統(tǒng)中的底層數(shù)據(jù)交互的總體模型。數(shù)據(jù)交互系統(tǒng)的上位機(jī)主要由業(yè)務(wù)需求模塊、業(yè) 務(wù)配置引擎、數(shù)據(jù)解析引擎、引擎配置信息與底層通訊模塊組成。系統(tǒng)從上層管理系統(tǒng)中獲 取業(yè)務(wù)需求,業(yè)務(wù)配置引擎讀取引擎配置信息,生成業(yè)務(wù)事件鏈,通過通訊模塊根據(jù)工位地 址發(fā)送到相應(yīng)數(shù)據(jù)交互終端,相反收到采集數(shù)據(jù)包時(shí),數(shù)據(jù)解析引擎解析數(shù)據(jù)交互終端采集 到的數(shù)據(jù),最后交由業(yè)務(wù)需求模塊反饋回上層管理程序。數(shù)據(jù)交互終端軟件主要由底層通訊 模塊、業(yè)務(wù)解析引擎、終端表現(xiàn)層與外設(shè)驅(qū)動與響應(yīng)模塊組成。終端通訊層接收到上位機(jī)的 數(shù)據(jù)包校驗(yàn)正確后交由業(yè)務(wù)解析引擎。解析引擎根據(jù)引擎協(xié)議解析出業(yè)務(wù)事件鏈后,通過終 端表現(xiàn)層,并等待數(shù)據(jù)采集,采集完成后交由采集生成引擎,生成固定格式數(shù)據(jù)再返回上位 機(jī),從而形成數(shù)據(jù)交互的閉環(huán)。

3.2 終端引擎的實(shí)現(xiàn)原理

以上為系統(tǒng)的工作原理,下文接著對數(shù)據(jù)交互終端業(yè)務(wù)解析引擎與數(shù)據(jù)采集引擎的實(shí)現(xiàn) 做詳細(xì)的介紹。實(shí)現(xiàn)的功能主要就是:液晶顯示與外設(shè)控制。液晶如何顯示,顯示那些內(nèi)容, 外設(shè)如何控制,在沒經(jīng)過業(yè)務(wù)解析引擎前終端都是保持著上次狀態(tài),經(jīng)過解析后才知道應(yīng)該 實(shí)現(xiàn)那些東西,如何去實(shí)現(xiàn)。解析引擎就是根據(jù)特定協(xié)議將一段數(shù)據(jù)轉(zhuǎn)化為邏輯控制功能的 庫。也就是通過一種協(xié)議把終端的業(yè)務(wù)邏輯交給了功能強(qiáng)大的PC 機(jī)去處理。終端工作只是 每次邏輯計(jì)算后的表現(xiàn)。要實(shí)現(xiàn)以上的功能,就必須有一套完整的功能協(xié)議棧,設(shè)計(jì)協(xié)議棧 之前,首先將終端的功能進(jìn)行模塊劃分,這里以通訊模塊往后進(jìn)行劃分,主要有:鍵盤控制、 液晶顯示、外設(shè)采集器控制。每個(gè)模塊繼續(xù)細(xì)化,盡可能表現(xiàn)各個(gè)模塊的可能會出現(xiàn)的狀態(tài)。 再次,功能協(xié)議的實(shí)現(xiàn),協(xié)議由協(xié)議關(guān)鍵字與控制內(nèi)容組成,比如關(guān)鍵字A 代表終端硬件模 塊A,關(guān)鍵字A 后面的內(nèi)容表示上位機(jī)要求模塊A 要實(shí)現(xiàn)的功能,模塊A 功能繼續(xù)細(xì)化。如 表1 給出了部分功能協(xié)議組成。終端的響應(yīng)上位機(jī)的業(yè)務(wù)狀態(tài)主要由兩個(gè)狀態(tài)量控制,在程 序上我們定義為兩個(gè)全局變量,分別用來表示下位機(jī)當(dāng)前屬于哪個(gè)業(yè)務(wù)功能與所屬該功能的 步驟,在程序上定義為ID 與STEP,上位機(jī)系統(tǒng)已經(jīng)把ID 與SteP 的邏輯流程設(shè)計(jì)好,例如 在某個(gè)ID 與STEP 狀態(tài)時(shí),終端屏幕上顯示是工藝完成情況,并要求用戶通過各種采集外設(shè) 進(jìn)行數(shù)據(jù)采集,提交上位機(jī)。每次上位機(jī)發(fā)送下來的數(shù)據(jù)都是以ID+STEP+模塊A 控制字 +模塊A 控制數(shù)據(jù)+模塊B 控制字+模塊B 控制數(shù)據(jù)+…。同時(shí)設(shè)置觸發(fā)模塊的NEXT_ID與NEXT_STEP。當(dāng)相應(yīng)觸發(fā)發(fā)生時(shí),上位機(jī)可以根據(jù)NEXT_ID 與NEXT_STEP 向終端發(fā)送下個(gè) 業(yè)務(wù)流程與其步驟。比喻上位機(jī)是一個(gè)龐大的中央處理器,控制著業(yè)務(wù)流程的整個(gè)邏輯計(jì)算 與數(shù)據(jù)的組織,車間的所有終端就更像一個(gè)輸入輸出設(shè)備圍繞著這個(gè)中央處理器。我們知道 計(jì)算ID×STEP 個(gè)邏輯需要一定的CPU 時(shí)間,如果將這個(gè)工作交給上位機(jī)(CPU 達(dá)到G 級的 處理器)去完成,處理能力有限的終端就可以去處理更多的其他采集工作。同時(shí),ID×STEP 個(gè)業(yè)務(wù)界面需要消耗很多的 RAM 與ROM 資源,如果把這些界面固化與終端內(nèi)部,將大大增 加了終端的硬件成本。而且當(dāng)需求改變時(shí),必須花大量的工作去更改每個(gè)終端的程序與數(shù)據(jù)。 如果把以上工作交給上位機(jī)處理,可以在很小的硬件資源中實(shí)現(xiàn)ID×STEP 個(gè)功能間的相互 跳轉(zhuǎn),而且當(dāng)業(yè)務(wù)改變時(shí),只需要改變上位機(jī)的邏輯關(guān)系與數(shù)據(jù),而無需改變終端內(nèi)部的應(yīng) 用程序。表一給出了協(xié)議的部分組成。[!--empirenews.page--]

 

 

 

 

與解析引擎相似,數(shù)據(jù)采集引擎把采集到的數(shù)據(jù)根據(jù)一定的協(xié)議格式設(shè)置好,通過通訊 層把數(shù)據(jù)發(fā)送給上位機(jī),上位機(jī)根據(jù)數(shù)據(jù)采集解析協(xié)議把采集數(shù)據(jù)分類解析。從而達(dá)到終端 的功能邏輯、人機(jī)交互、外設(shè)控制,數(shù)據(jù)處理完全由上位機(jī)控制的目的。

3.3 終端的軟件實(shí)現(xiàn)流程

應(yīng)用程序的具體實(shí)現(xiàn)流程如圖3 所示。

 

 

上文已經(jīng)介紹了變量ID、STEP, ID 表示大的功能節(jié)點(diǎn),STEP 表示相應(yīng)功能點(diǎn)(ID) 下的操作步驟,如果定義為字節(jié)變量,兩個(gè)字節(jié)總共可以表示256*256=65536 個(gè)功能,完全 可以滿足一般數(shù)據(jù)采集終端的需求;RTN 是終端的狀態(tài)機(jī)變量,終端程序通過設(shè)置一個(gè)工作 狀態(tài)變量RTN 來控制系統(tǒng)的工作狀態(tài)。

(1) RTN=0 表示,所有的工作就緒,可以接受上位機(jī)的業(yè)務(wù)請求。

(2) RTN=1 表示,終端已正確接收到了上位機(jī)的業(yè)務(wù)請求。對應(yīng)流程,在這個(gè)過程中, 終端要做的事情就是設(shè)置上位機(jī)的業(yè)務(wù)請求。首先,分析當(dāng)前請求的ID 與STEP,應(yīng)用程序 實(shí)現(xiàn)不同功能間的跳轉(zhuǎn)主要由功能節(jié)點(diǎn)ID 與STEP 決定,例如:當(dāng)前ID=3,STEP=4,表明終 端當(dāng)前在業(yè)務(wù)流程的第三個(gè)功能的第四個(gè)步驟,如果ID 為特殊功能程序更新,可以實(shí)現(xiàn)終 端程序的遠(yuǎn)程更新。其次,如果ID 不是特殊請求,進(jìn)行功能協(xié)議分析。設(shè)置好終端當(dāng)前功 能步驟的業(yè)務(wù)請求后,將該數(shù)據(jù)結(jié)構(gòu)傳入事件響應(yīng)。業(yè)務(wù)響應(yīng)根據(jù)業(yè)務(wù)要求將功能劃分成不 同子模塊,調(diào)用解析引擎庫相應(yīng)的子事件處理函數(shù)。在子事件處理函數(shù)中調(diào)用板級驅(qū)動處理 函數(shù),實(shí)現(xiàn)具體的硬件功能。設(shè)置完上位機(jī)業(yè)務(wù)功能請求后RTN 置為2。

(3) RTN=2 表示終端已處理好接收到的信息,并根據(jù)具體業(yè)務(wù)要求,實(shí)現(xiàn)了界面顯示, 按鍵權(quán)限的設(shè)置,按鍵轉(zhuǎn)向的設(shè)置(按鍵轉(zhuǎn)向是指:按某個(gè)按鍵后,上位機(jī)根據(jù)當(dāng)前按下的 按鍵,把相應(yīng)的功能點(diǎn)下達(dá)到終端,實(shí)現(xiàn)功能跳轉(zhuǎn)),刷卡轉(zhuǎn)向功能設(shè)置,A/D 采集設(shè)置等, 此時(shí)一直等待數(shù)據(jù)采集、按鍵動作或刷卡動作等觸發(fā),采集動作完成后,通過數(shù)據(jù)采集引擎 規(guī)劃好采集到的數(shù)據(jù),提交上位機(jī),同時(shí)RTN 置零完成一次功能請求到響應(yīng),重新回到空閑 狀態(tài)等待上位機(jī)詢問。

采用以上的軟件設(shè)計(jì)方案,可以在很小的硬件資源下實(shí)現(xiàn)ID×STEP 個(gè)功能的相互跳轉(zhuǎn), 而且當(dāng)業(yè)務(wù)改變時(shí),只需要配置上位機(jī)的邏輯關(guān)系與數(shù)據(jù),而無需改變終端內(nèi)部的應(yīng)用程序。 實(shí)際應(yīng)用中,終端程序只需一套,上位機(jī)只要根據(jù)終端的地址就可以決定該終端的功能流程。

4、結(jié)束語

本文的創(chuàng)新點(diǎn):提出了一種有別于傳統(tǒng)設(shè)計(jì)方案的嵌入式智能數(shù)據(jù)交互終端的設(shè)計(jì)方 案,該方案可以解決在業(yè)務(wù)需求改變的情況下無需改變數(shù)據(jù)采集終端的內(nèi)部程序,從而在一 定程度上解決了數(shù)據(jù)采集終端在不同行業(yè)推廣過程中的通用性問題,縮短了整個(gè)系統(tǒng)的開發(fā) 周期,也給系統(tǒng)的維護(hù)和升級帶來了很大的方便。同時(shí)本文提出的終端程序設(shè)計(jì)框架還可以 在有限硬件資源的情況上實(shí)現(xiàn)256*256 個(gè)業(yè)務(wù)功能界面的相互跳轉(zhuǎn)。

該嵌入式智能數(shù)據(jù)交互終端系統(tǒng)已在廣東省某大型企業(yè)試運(yùn)行后,運(yùn)行效果良好,現(xiàn)已 大批量投入使用,企業(yè)對該系統(tǒng)的日常維護(hù)和業(yè)務(wù)升級都非常方便,相比于該企業(yè)原先把業(yè) 務(wù)流程及數(shù)據(jù)采集項(xiàng)定制成程序固化在終端內(nèi)的傳統(tǒng)設(shè)計(jì)方案,新方案大大降低了企業(yè)在業(yè) 務(wù)升級和業(yè)務(wù)流程發(fā)生變化時(shí),要頻繁修改終端或終端程序與上位機(jī)應(yīng)用程序所帶來的生產(chǎn) 成本,每年直接經(jīng)濟(jì)效益至少20 萬元以上,而且還提高了企業(yè)勞動效率。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉