關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于 ARM 的繡花機控制系統(tǒng)設(shè)計

基于 ARM 的繡花機控制系統(tǒng)設(shè)計

作者: 時間:2009-03-03 來源:網(wǎng)絡(luò) 收藏

3.2 圖形顯示程序

進行圖形界面(GUI)的同樣需要加載多媒體庫 WindML,WindML 支持多線程和多任務(wù),但圖形的資源是一定的,為了防止多線程之間產(chǎn)生資源沖突,需要使用互斥信號量鎖定資源。在使用一組繪圖函數(shù)前,用 uglBatchStart(gc)通過互斥信號量鎖定圖形上下文, 圖形設(shè)備及緩沖,并隱藏光標。繪圖操作完成后,再用 uglBatchEnd(gc)釋放被鎖定的資源, 以被其他的繪圖函數(shù)使用。以下根據(jù) WindML 的編程流程,以繪制直線為例給出一個繪圖 操作的程序:

{

UGL_GC_ID gc;

......

uglInitialize(); // 初始化

......

uglColorAlloc(devId, colorTable[GREEN].rgbColor, UGL_NULL,

colorTable[GREEN].uglColor, 1); // 配置顏色

......

gc= uglGcCreate(devId); // 創(chuàng)建圖形上下文

......

uglBatchStart(gc); // 鎖定圖形資源

uglForegroundColorSet(gc, colorTable[WHITE].uglColor); // 設(shè)置前景色 uglBackgroundColorSet(gc, colorTable[RED].uglColor); // 設(shè)置背景色 uglLineWidethSet(gc, 9); // 設(shè)定線寬

uglLine(gc, 50); // 繪制直線

uglBatchEnd(gc); // 釋放圖形資源

......

}

3.3 USB 驅(qū)動程序

VxWorks 操作系統(tǒng)的 USB 驅(qū)動模塊由四層組成:USB Client 模塊、USB 主驅(qū)動、USB主控制器驅(qū)動、USB 主控制器。最低層是 USB 主控制器(USB Host Controller),這是主系 統(tǒng)中控制每一個 USB 設(shè)備的硬件部分。對于每個主控制器都需要開發(fā) USB 主控制器驅(qū)動程 序(HCD),HCD 對主控制器芯片進行了抽象,為上層軟件屏蔽底層硬件之間的差異。USB 主驅(qū)動(USBD)和 HCD 之間的接口允許一個或多個底層主控制器。Wind River 的 USBD 能夠同時連接多個 HCD。

USBD 是在 HCD 之上的獨立于硬件的模塊,它通過提供一組抽象的服務(wù)簡化了程序員對上層 USB Client 模塊的開發(fā)工作,即為 HCD 和 USB Client 兩個模塊之間的請求和相應(yīng)提 供統(tǒng)一的標準接口。USB Client 模塊位于結(jié)構(gòu)圖最上層,屬于應(yīng)用程序,根據(jù)具體應(yīng)用的不 同,其內(nèi)容和功能也不同,但都要實現(xiàn)與 USBD 的接口,對由 HCD 監(jiān)測到并由 USBD 傳送 給上層應(yīng)用程序的 USB 標準要求作出適當?shù)捻憫?yīng)。

3.4 花樣存儲與管理程序

在花樣存儲系統(tǒng)中,花樣文件是以一定的格式存入到系統(tǒng)內(nèi)存的,所以文件的格式關(guān)系到系統(tǒng)能否識別花樣。目前刺繡生產(chǎn)實際中流行的花樣文件格式有四種:DST 格式、DSB格式、T01 格式和 T03 格式。

當不同格式的花樣文件被讀入到 FLASH 之后,需要對它們進行解析,轉(zhuǎn)換成內(nèi)部格式 的數(shù)據(jù)結(jié)構(gòu),同時對花樣數(shù)據(jù)進行各種運算和處理,包括旋轉(zhuǎn)、放大縮小、拉伸、鏡像等。 花樣處理過程就是系統(tǒng)調(diào)用接口函數(shù)實現(xiàn)處理任務(wù)。


3.5 串口通信程序

由于串口傳輸涉及到上位機 CPU 和下位機 CPU 之間的通信,因此作出命名約定:上位機 CPU 稱為“左”側(cè),代碼存放在以 left_*開頭的文件中,下位機 CPU 稱為“右”側(cè),代 碼存放在以 right_*開頭的文件中。串口模塊結(jié)構(gòu)大體可分為控制層、傳輸層和驅(qū)動程序, 串口傳輸層的作用在于向上層系統(tǒng)提供透明而高效的傳輸接口,用于兩個 CPU 之間的數(shù)據(jù) 交互。

4 結(jié)語

本文根據(jù) 處理器的選型原則,選擇 LH7A404 和 LPC2214 為上下位機 CPU 芯片;將的硬件分為上位機和下位機兩部分,在全面考慮系統(tǒng)功能需求的基礎(chǔ)上,圍繞已選定的上下位機 CPU 確定了硬件框架。詳細了電源電路、復(fù)位電路、存儲器接 口電路、鍵盤與顯示電路等具體電路。然后按照上位機和下位機的層次構(gòu)建了控制系 統(tǒng)的軟件框架,以 VxWorks 操作系統(tǒng)為平臺,在 Tornado 開發(fā)環(huán)境下了鍵盤輸入、圖形顯示、USB 驅(qū)動、花樣存儲與管理等模塊程序。

本文作者創(chuàng)新點:將 嵌入式系統(tǒng)技術(shù)引入,詳細設(shè)計了繡花機的軟硬件系統(tǒng),具有技術(shù)先進、功能精簡、高性價比等特點。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉