<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

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

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

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

          3.2 圖形顯示程序

          進(jìn)行圖形界面(GUI)的同樣需要加載多媒體庫(kù) WindML,WindML 支持多線程和多任務(wù),但圖形的資源是一定的,為了防止多線程之間產(chǎn)生資源沖突,需要使用互斥信號(hào)量鎖定資源。在使用一組繪圖函數(shù)前,用 uglBatchStart(gc)通過(guò)互斥信號(hào)量鎖定圖形上下文, 圖形設(shè)備及緩沖,并隱藏光標(biāo)。繪圖操作完成后,再用 uglBatchEnd(gc)釋放被鎖定的資源, 以被其他的繪圖函數(shù)使用。以下根據(jù) WindML 的編程流程,以繪制直線為例給出一個(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); // 設(shè)置前景色 uglBackgroundColorSet(gc, colorTable[RED].uglColor); // 設(shè)置背景色 uglLineWidethSet(gc, 9); // 設(shè)定線寬

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

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

          ......

          }

          3.3 USB 驅(qū)動(dòng)程序

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

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

          3.4 花樣存儲(chǔ)與管理程序

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

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


          3.5 串口通信程序

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

          4 結(jié)語(yǔ)

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

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


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();