999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高解析噴碼機(jī)嵌入式系統(tǒng)的設(shè)計與實現(xiàn)

2013-09-10 08:33:40王宏文王藝伶高維國
自動化儀表 2013年4期
關(guān)鍵詞:設(shè)備系統(tǒng)

王宏文 王藝伶 高維國

(河北工業(yè)大學(xué)控制科學(xué)與工程學(xué)院,天津 300130)

0 引言

隨著消費(fèi)者對產(chǎn)品的質(zhì)量意識日益增強(qiáng),政府相關(guān)部門不斷出臺新的法律法規(guī)對市場進(jìn)行嚴(yán)格的規(guī)范和管理,加上進(jìn)出口貿(mào)易規(guī)模的不斷擴(kuò)大,客觀要求國內(nèi)商品標(biāo)示及識別技術(shù)與國際標(biāo)準(zhǔn)接軌。噴碼機(jī)以其非觸噴印的特點,非常適合在各種不同規(guī)格的產(chǎn)品本身或外表進(jìn)行噴印,它適合自動化流水線的生產(chǎn)方式,使其成為各行業(yè)生產(chǎn)商的首選方式[1]。噴碼機(jī)系統(tǒng)的發(fā)展正是嵌入式系統(tǒng)發(fā)展的典型代表。

針對早期高解析噴碼機(jī)系統(tǒng)體積大、效率低、速度慢等缺點,本文開發(fā)出基于WinCE+ARM9的嵌入式系統(tǒng)。WinCE操作系統(tǒng)環(huán)境下的應(yīng)用程序可直接進(jìn)行數(shù)據(jù)處理,驅(qū)動程序傳輸數(shù)據(jù),提供噴頭所需信號。該程序完善精簡了整個噴碼機(jī)系統(tǒng),提高了噴碼效率,具備小型便攜、通用性強(qiáng)、機(jī)動性高、可靠性好等特點;且光電編碼器能夠?qū)崿F(xiàn)對傳送帶速度及方向的檢測,實現(xiàn)了實時測控。

1 噴碼機(jī)系統(tǒng)的硬件設(shè)計

按工作方式劃分,噴碼機(jī)可分為連續(xù)式噴印和按需噴印。但是連續(xù)式噴印廢墨,質(zhì)量較低,所以選擇按需噴印的高解析噴碼機(jī)[2]。高解析噴碼機(jī)為無壓力驅(qū)動工作,其通過墨水自身的重力自行噴出,噴印的字體類似于打印機(jī),解析度高,字體清晰[3]。

1.1 工作原理

高解析噴碼機(jī)的噴印頭由一系列緊密排列的細(xì)小噴嘴組成,油墨從噴嘴中噴出,可以噴出噴嘴寬度的二進(jìn)制二位圖形。所以噴頭每次所需的數(shù)據(jù)是可以噴印一列的數(shù)據(jù),而位圖數(shù)據(jù)信息是按照左下角到右上角的順序排列的,所以在把位圖轉(zhuǎn)換成二進(jìn)制位圖后,需要旋轉(zhuǎn)圖形數(shù)據(jù)信息,才能夠讀出位圖一列的數(shù)據(jù)。處理后位圖的高低位的放置與噴頭的串行接收數(shù)據(jù)方式相關(guān),噴頭在接收128 bit數(shù)據(jù)時,高位在前,所以在提取圖像點陣數(shù)據(jù)時應(yīng)把低位放在前面[4]。

1.2 系統(tǒng)硬件設(shè)計

賽爾(Xaar)公司的按需噴墨技術(shù)目前在包裝印刷領(lǐng)域特別是條碼標(biāo)識噴印方面,日益成為一種主流技術(shù)。

噴印頭技術(shù)也在迅速改進(jìn),更大的噴印頭被研制出來,以適應(yīng)更大的覆蓋面,并具有更高的分辨率和更多的墨滴大小變化,以達(dá)到更好的噴印效果。系統(tǒng)采用的噴頭型號是賽爾XJ128噴頭。

1.2.1 總體硬件設(shè)計

噴碼機(jī)系統(tǒng)采用天嵌TQ2440開發(fā)板。底板上必須包括的電路有:33 V供電電路、復(fù)位電路、Jtag電路和Nor/Nand啟動選擇電路,否則可能導(dǎo)致開發(fā)板不能正常啟動。

處理器選用三星公司生產(chǎn)的具有ARM9內(nèi)核的S3C2440,LCD選用天嵌14.33 cm觸摸屏作為操作界面,開發(fā)板和噴頭之間使用串行外設(shè)接口(serial peripheral interface,SPI)總線通信,主要用于將應(yīng)用程序處理好的數(shù)據(jù)傳輸給噴頭。噴頭可以接收并噴印該數(shù)據(jù),光電傳感器用于檢測傳輸帶的速度和方向并反饋給處理器,定時器向噴頭發(fā)送時鐘信號。根據(jù)應(yīng)用的需要,本系統(tǒng)采用了3種存儲器:①NOR Flash,用于存放系統(tǒng)引導(dǎo)程序等;②NAND Flash,作為程序存儲器,存放WinCE操作系統(tǒng)和應(yīng)用軟件等;③SDRAM,用作系統(tǒng)的內(nèi)存。

系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖Fig.1 Block diagram of the system hardware structure

1.2.2 SPI總線接口原理與協(xié)議

S3C2440A的SPI接口為串行數(shù)據(jù)傳輸接口。S3C2440A包括兩個SPI接口,每個接口分別有兩個8位的數(shù)據(jù)移位器用于發(fā)送和接收。傳輸8位串行數(shù)據(jù)的頻率由相應(yīng)的控制寄存器設(shè)置決定。同步信息移位和數(shù)據(jù)線的數(shù)據(jù)采集采用串行時鐘線。SPI分主設(shè)備和從設(shè)備,兩者通過SPI協(xié)議通信。SPI有4種模式,從設(shè)備的模式?jīng)Q定了主設(shè)備的模式。當(dāng)主設(shè)備的模式和從設(shè)備相同時,即可正常通信[5]。

2 噴碼機(jī)系統(tǒng)的軟件設(shè)計

WinCE是高度模塊化的嵌入式操作系統(tǒng),用戶可通過PB(PowerBuilder)工具根據(jù)具體的應(yīng)用需要,選擇需要的操作系統(tǒng)功能組件,然后生成操作系統(tǒng)運(yùn)行時的映像,同時導(dǎo)出特定的軟件開發(fā)工具包(software development kit,SDK)。

2.1 應(yīng)用程序設(shè)計

高解析噴碼機(jī)是點陣噴印,XJ128型號的噴嘴一列有128個噴眼,即噴印的圖形需轉(zhuǎn)換成一列共128個點(1代表有墨,0代表沒墨),一次性向噴碼機(jī)輸送128個數(shù)據(jù)。

噴碼機(jī)系統(tǒng)的應(yīng)用程序按噴印信息分為6個模塊,分別是中英文文本模塊、位圖模塊、日期時間模塊、有效期模塊、序列號模塊和條形碼模塊[6]。系統(tǒng)需要處理的對象分為矢量字體和位圖。

對于矢量字體,需要將其轉(zhuǎn)化為點陣以便噴碼機(jī)噴印,系統(tǒng)利用API函數(shù)TextOut實現(xiàn)矢量字體的顯示和轉(zhuǎn)化。在微軟基礎(chǔ)類(Microsoft foundation classes,MFC)中調(diào)用 Create-CompatibleDc和 CreateDIBSection函數(shù)可以創(chuàng)建一個兼容DC和兼容位圖,pDC->TextOut可以顯示矢量字體,然后將這個DC保存為位圖,就可以得到矢量字體的點陣數(shù)據(jù)[7]。

對于位圖,盡管其已經(jīng)是點陣數(shù)據(jù),但是由于位圖的位深度各有不同,而噴印需要的數(shù)據(jù)僅僅是一位圖,因此為了可以噴印各種位圖,必須先進(jìn)行位圖的數(shù)據(jù)處理。WinCE操作系統(tǒng)中的API函數(shù)是Windows API函數(shù)的子集,在MFC中同樣沒有可以處理數(shù)字圖形的類,因此需要用類向?qū)砑右粋€Cdib類,用于處理數(shù)字圖形[8]。

主要成員函數(shù)如下。

數(shù)據(jù)處理完成后,將處理好的點陣數(shù)據(jù)存儲到數(shù)組中,通過串口通信噴頭進(jìn)行字體噴印。

由于噴碼機(jī)需要不斷地傳輸二進(jìn)制碼,所以驅(qū)動程序是典型的流式驅(qū)動,WinCE提供流式接口驅(qū)動程序管理流式設(shè)備。在流式接口驅(qū)動程序中,驅(qū)動程序負(fù)責(zé)把外設(shè)抽象成一個文件,而應(yīng)用程序則使用操作系統(tǒng)提供的API對外設(shè)進(jìn)行訪問[9]。下面是程序的部分代碼。

數(shù)據(jù)處理流程圖如圖2所示,這一部分是噴碼機(jī)應(yīng)用程序的重要功能。

圖2 數(shù)據(jù)處理流程圖Fig.2 Flowchart of data processing

2.2 驅(qū)動程序設(shè)計

為了便于驅(qū)動程序的維護(hù)和移植,驅(qū)動設(shè)計采用分層驅(qū)動,包括模型設(shè)備驅(qū)動層(model device driver,MDD)和平臺相關(guān)驅(qū)動層(platform dependence diver,PDD)。MDD層包含某一類型的驅(qū)動程序所通用的相關(guān)代碼,PDD層包含特定的硬件或平臺專用的代碼。操作系統(tǒng)通過設(shè)備驅(qū)動程序接口(device driver interface,DDI)函數(shù)調(diào)用MDD,MDD通過設(shè)備驅(qū)動程序服務(wù)接口(device driver service interface,DDSI)函數(shù)調(diào)用PDD[10]。SPI驅(qū)動設(shè)計具體介紹如下。

操作系統(tǒng)需要通過DDI接口與驅(qū)動MDD層交互。MDD層暴露的DDI函數(shù)GetRegistryData用來得到保存在注冊表中的硬件信息、獲取通信模式、時鐘極性、時鐘相位以及分頻值;函數(shù)InternalMapRegisters的功能是將SPI寄存器、GPIO寄存器、時鐘寄存器物理地址映射為虛擬地址,方便系統(tǒng)的調(diào)用和統(tǒng)一管理。SPI_Open的功能為打開設(shè)備進(jìn)行讀/寫操作,該函數(shù)在調(diào)用API函數(shù)CreateFile()時調(diào)用;SPI_Close的功能為關(guān)閉設(shè)備,該函數(shù)在調(diào)用API函數(shù)CloseHandle時調(diào)用。這些DDI函數(shù)需要調(diào)用PPD層暴露的DDSI函數(shù)實現(xiàn)與硬件的交互。分層驅(qū)動程序調(diào)用流程圖如圖3所示。

圖3 分層驅(qū)動程序調(diào)用流程圖Fig.3 Flowchart of hierarchical driver calls

MDD層通過調(diào)用DDSI接口函數(shù)實現(xiàn)與硬件的交互。PDD層中的HW_Init函數(shù)將MDD層獲得的參數(shù)傳遞給SPI寄存器賦值,并且初始化模式和傳輸數(shù)據(jù)。SPI驅(qū)動程序傳輸數(shù)據(jù)流程圖如圖4所示。

圖4 SPI驅(qū)動程序傳輸數(shù)據(jù)流程圖Fig.4 Flowchart of SPI driver data transmission

當(dāng)系統(tǒng)啟動后,設(shè)備管理器就會枚舉[HKEY_CAL_CHINEDriversBuiltIn]下的所有鍵值,并調(diào)用驅(qū)動的SPI_Init函數(shù)。如果函數(shù)調(diào)用成功,設(shè)備管理器就會將該驅(qū)動的信息寫入到[HKEY_LOCAL_MACHINEDriversActive]。當(dāng)系統(tǒng)不再使用該設(shè)備時,應(yīng)用程序可調(diào)用DeactivateDevice()函數(shù)把該驅(qū)動程序卸載。設(shè)備管理器會負(fù)責(zé)將sampledev.dll從vice.exe的虛擬地址空間中移除,并且從HKEY_CAL_MACHINEDriversActive鍵下移除對該設(shè)備驅(qū)動的記錄[11]。

3 試驗結(jié)果

測試表明,系統(tǒng)穩(wěn)定性強(qiáng),噴印速度較快,噴印效果清晰。噴印圖樣如圖5所示。

圖5 噴印樣品Fig.5 Printed samples

4 結(jié)束語

本文研究和開發(fā)了工業(yè)生產(chǎn)應(yīng)用中的噴印控制系統(tǒng),包括硬件系統(tǒng)模塊化設(shè)計、圖形處理、界面開發(fā)、SPI總線協(xié)議的實現(xiàn)、流式驅(qū)動程序的編寫。系統(tǒng)將ARM9強(qiáng)大的處理和控制能力和WinCE的實時性、可剪裁性等特點結(jié)合起來,滿足系統(tǒng)微型化、高性能、實時性強(qiáng)的要求。

[1]菲爾·依威斯.噴墨印刷技術(shù)的發(fā)展[J].印刷工業(yè),2007(3):12.

[2]李小虎,王寶生.淺談噴碼機(jī)的使用和維護(hù)[J].包裝與食品機(jī)械,2006,24(5):50 -52.

[3]姚晶,王尚偉.數(shù)字化噴碼技術(shù)的應(yīng)用與發(fā)展[J].絲網(wǎng)印刷,2007(2):40-42.

[4]方耀祥.基于FPGA的高解析噴碼機(jī)控制器設(shè)計與實現(xiàn)[D].長沙:湖南大學(xué),2007.

[5]陳淑珍,石波.基于Windows多線程環(huán)境下的串口通信[J].武漢大學(xué)學(xué)報:自然科學(xué)版,2000,15(3):373 -374.

[6]曹景勝,霍春寶,王海星,等.基于WINCE的高解析噴碼系統(tǒng)上位機(jī)設(shè)計與實現(xiàn)[J].遼寧工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2010,30(5):281 -284.

[7]周師亮.嵌入式噴印系統(tǒng)的設(shè)計與實現(xiàn)[D].長沙:湖南大學(xué),2005.

[8]周長發(fā).精通Visual C++圖像處理編程[M].北京:電子工業(yè)出版社,2006.

[9]秦紅勇,魏守水,徐從娟,等.基于ARM 和WinCE系統(tǒng)的圓圖無紙記錄儀的設(shè)計[J].自動化儀表,2011,32(2):81 -83,86.

[10]何宗健.Widows CE嵌入式系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2006.

[11]莫雨.WindowsCE大排檔[M].北京:北京航空航天大學(xué)出版社,2011.

猜你喜歡
設(shè)備系統(tǒng)
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
主站蜘蛛池模板: 日本免费新一区视频| 日本91视频| 99精品国产自在现线观看| 一本大道香蕉久中文在线播放| 亚洲国产天堂久久综合| 国产成人无码久久久久毛片| 青青草久久伊人| 超碰aⅴ人人做人人爽欧美| 最新亚洲人成网站在线观看| 国产在线一区视频| 亚洲精品少妇熟女| 乱码国产乱码精品精在线播放| 亚洲精品视频在线观看视频| 深夜福利视频一区二区| 国产97视频在线观看| 国产高清免费午夜在线视频| 亚洲性色永久网址| 亚洲三级a| 亚洲男人天堂久久| 欧美成人国产| 狠狠色香婷婷久久亚洲精品| 欧美日韩理论| 亚洲视频免费在线看| 色精品视频| 97国产精品视频人人做人人爱| 久久国产精品娇妻素人| 国产一级在线播放| 2020久久国产综合精品swag| 人妻少妇乱子伦精品无码专区毛片| 91系列在线观看| 亚洲欧美日韩精品专区| 国产成人综合网| 久久香蕉国产线看观| 日本成人精品视频| 伊人久综合| 亚洲国产中文在线二区三区免| 91麻豆精品视频| 中文成人在线| 99久久精品免费观看国产| 四虎永久在线精品国产免费| 无码一区二区三区视频在线播放| 国产欧美精品午夜在线播放| 狼友视频国产精品首页| 免费一级毛片在线观看| 国产粉嫩粉嫩的18在线播放91| 天堂网亚洲系列亚洲系列| 中文字幕首页系列人妻| 免费无码又爽又黄又刺激网站| 香蕉久久国产超碰青草| 亚洲中文字幕日产无码2021| 911亚洲精品| 日韩欧美中文| 久久久久久久久18禁秘| 亚洲综合久久成人AV| 91视频国产高清| 国产丝袜啪啪| 国产亚洲精品自在久久不卡| 久久 午夜福利 张柏芝| 国产视频一区二区在线观看| 国内精品免费| 99精品一区二区免费视频| 国产精品无码久久久久久| 亚洲第一极品精品无码| 青青草国产免费国产| 日本欧美午夜| 国产日韩丝袜一二三区| 欧美一区精品| 亚洲精品午夜天堂网页| 久久国产av麻豆| 欧美精品啪啪| 国产小视频免费观看| 国产小视频a在线观看| 欧美成人综合在线| 日本亚洲国产一区二区三区| 色综合久久久久8天国| 亚洲性色永久网址| 一区二区理伦视频| 久久伊人久久亚洲综合| 欧美亚洲欧美| 国产无码高清视频不卡| 91成人在线观看视频| 欧美亚洲香蕉|