<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

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

基于 ARM 的繡花機控制系統設計

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

3.2 圖形顯示程序

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

{

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); // 設置前景色 uglBackgroundColorSet(gc, colorTable[RED].uglColor); // 設置背景色 uglLineWidethSet(gc, 9); // 設定線(xiàn)寬

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

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

......

}

3.3 USB 驅動(dòng)程序

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

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

3.4 花樣存儲與管理程序

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

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


3.5 串口通信程序

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

4 結語(yǔ)

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

本文作者創(chuàng )新點(diǎn):將 嵌入式系統技術(shù)引入,詳細設計了繡花機的軟硬件系統,具有技術(shù)先進(jìn)、功能精簡(jiǎn)、高性?xún)r(jià)比等特點(diǎn)。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 設計 控制系統 繡花機 ARM 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>