亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        高解析噴碼機中的USB數(shù)據(jù)傳輸系統(tǒng)

        2015-01-17 05:46:14鄭鵬斌文繼國
        電子設計工程 2015年1期
        關(guān)鍵詞:程序設備信息

        鄭鵬斌,文繼國

        (成都信息工程學院 電子工程學院,四川 雙流 610225)

        隨著社會的不斷發(fā)展,消費者對產(chǎn)品真實信息的標注要求越來越高,具有極大信息容量和極強糾錯功能的二維碼具有廣闊的應用前景。在標識領域,傳統(tǒng)噴碼機在噴涂二維碼時噴頭打印速度快,但數(shù)據(jù)傳輸速度慢而存在不匹配的問題,打印二維碼比較困難。應用于數(shù)據(jù)傳輸方面的USB接口有高速、易用、穩(wěn)定、價格低廉、支持熱插拔等優(yōu)點[1],因而被廣泛用作為各種電子設備與PC的通信接口。

        文中在設計噴碼機的數(shù)據(jù)傳輸接口時采用USB接口,實現(xiàn)了快速地傳輸二維碼圖片。此外,在固件程序設計中,一系列數(shù)據(jù)通信協(xié)議的軟件實現(xiàn)保證了傳輸?shù)目煽啃院头€(wěn)定性,上位機程序中的選擇功能保證了噴頭能識別傳送的數(shù)據(jù),從而準確地打印圖片。實測結(jié)果表明,此數(shù)據(jù)傳輸系統(tǒng)滿足了二維碼圖片的傳輸要求。

        1 USB通信模型

        USB設備在物理上通過一條連線與主機相連,所有的設備都公用這條物理連線。邏輯上說,每個與主機相連的設備都由主機分配了一個邏輯連接點,主機與設備的通信為點對點的方式。為了使USB通信機制更加細化,建立USB協(xié)議的廠商們對USB進行了分層,根據(jù)不同層次的實現(xiàn)者對USB的不同要求,把每一層傳輸?shù)臄?shù)據(jù)結(jié)構(gòu)設計為對其他邏輯層是透明的。圖1表示了USB設備和USB主機通信的邏輯結(jié)構(gòu)和邏輯通道。

        圖1 USB傳輸模型Fig.1 The transmission model based on USB

        圖中,功能層的主要作用是實現(xiàn)主機和驅(qū)動程序、主機和設備端的功能接口的有用信息傳輸。在該層客戶應用軟件只需要考慮如何實現(xiàn)具體設備功能即可,不需要了解USB的相關(guān)內(nèi)容。設備層包括USB的系統(tǒng)設備驅(qū)動軟件和USB設備的通訊的軟硬件部分。他們的關(guān)系也為邏輯上的對應關(guān)系。開發(fā)USB設備驅(qū)動軟件和USB設備的通信軟硬件的工程師應該知道USB系統(tǒng)的基本通訊協(xié)議。接口層用來實現(xiàn)在主機和USB設備的物理連接之間傳輸位信息流信息。

        2 芯片選擇

        噴碼機的構(gòu)成框圖如圖2所示。主要由主機,MCU,USB傳輸芯片,靜態(tài)存儲器,噴頭幾個部分構(gòu)成。MCU通過USB傳輸芯片與主機進行通信,接受主機傳送的數(shù)據(jù)和命令,同時把噴頭的狀態(tài)等數(shù)據(jù)傳送給主機。由于噴頭一次打印需要16個字節(jié)組成一列,實時傳輸滿足不了要求,所以MCU把主機傳送的大量圖片數(shù)據(jù)先存入靜態(tài)存儲器,數(shù)據(jù)傳輸完畢后,MCU再逐次讀取數(shù)據(jù)并傳送給噴頭,在噴頭時序控制器的協(xié)同作用下進行打印。在本系統(tǒng)中采用的MCU是P89C60X2,USB傳輸芯片是PDIUSBD12。

        圖2 噴碼機的組成框圖Fig.2 The physical structure of printer

        P89C60X2由菲利普公司采用靜態(tài)80C51設計,包含以下特性:1)512字節(jié)RAM,64K字節(jié)flash存儲器,布爾處理器。2)在系統(tǒng)編程功能的片內(nèi)flash程序存儲器。3)每個機器周期為12個時鐘周期,可通過軟件或者并行編程器選為6時鐘模式。4)全雙工增強型UART,包含幀錯誤檢測和自動地址識別。5)3個保密位,4個8位I/O口,6個中斷源和4個中斷優(yōu)先級。相對于其他單片機,P89C60X2在此系統(tǒng)中的應用具有以下優(yōu)勢:

        ①雙DPTR結(jié)構(gòu)。兩個16位DPTR寄存器可以尋址外部存儲器,這種雙DPTR結(jié)構(gòu)使編程更加靈活,使得主機更方便訪問外部數(shù)據(jù)存儲器。

        ②雙時鐘模式。時鐘模式特性使器件的操作頻率設為1/12或1/6振蕩器頻率。根據(jù)需要選擇模式,使MCU工作效率更高。

        ③特殊RAM。內(nèi)置部分RAM可以當做外部數(shù)據(jù)存儲器,訪問速度快。

        ④與USB傳輸芯片PDIUSBD12同為菲利普公司生產(chǎn),更加容易配合使用。

        PDIUSBD12是一款性價比很高的USB器件[2]。此芯片是帶有并行總線和局部DMA傳輸能力的全速USB接口器件。片內(nèi)集成了高性能USB接口器件、SIE、FIFO存儲器、收發(fā)器以及電壓調(diào)整器等,可與任何外部微控制器/微處理器實現(xiàn)高速并行接口。PDIUSBD12完全符合USB1.1版的規(guī)范[3],可理想地用于許多外部設備。

        3 硬件設計

        圖3為P89C60X2與PDIUSBD12的連接簡圖。PDIUSBD12芯片的數(shù)據(jù)口(1-4腳及6-9腳)通過數(shù)據(jù)總線依次與P89C60X2的P0口(39-32腳)相連;D12的寫信號腳(16腳)與 MCU的P3.6口(16腳)相連;D12的讀信號腳(15腳)與 MCU的 P3.7口(17腳)相連;D12的片選信號腳(11腳)通過譯碼器與MCU相連;P0口通過鎖存器輸出的A0地址線直接與D12的A0地址線 (28腳)相連;D12的中斷口(14 腳)與 MCU 的外部中斷 0(12 腳,P3.2)相連。

        圖3 P89C60X2與PDIUSBD12連接簡圖Fig.3 The basic physical interfaces between P89C60X2 and PDIUSBD12

        4 軟件設計

        USB通信的軟件部分由上位機程序和下位機程序兩部分構(gòu)成,上位機程序包括客戶應用程序和USB驅(qū)動程序,下位機程序為MCU固件程序。

        4.1 上位機程序

        要使USB設備和PC機的數(shù)據(jù)傳輸正常工作,需要在PC機端安轉(zhuǎn)相應的應用程序,此設計使用了廣州周立功發(fā)展有限公司提供的D12驅(qū)動程序和EasyUSB動態(tài)庫:EasyD12.dll。EasyD12.dll動態(tài)連接庫集成了對PDIUSBD12的主要軟件操作,不必要了解復雜的USB協(xié)議也可以快速的完成USB的PC端的應用軟件的開發(fā)。下面是EasyD12的庫函數(shù)說明:

        EasyUSB庫[4]一共有 3個文件,包括 EasyUSB.lib,Easy USB.dll,EasyUSB.h。動態(tài)庫是MicrosoftWindows的接口標準,流行的軟件開發(fā)工具均可使用。本設計中采用界面容易設計、實時性好的軟件開發(fā)工具LabVIEW。

        應用程序進行圖片傳輸完成的工作如下:1)對所傳圖片的合法性進行檢測。圖片必須為128行的黑白BMP圖片,如若不滿足條件,則報錯。2)對圖片數(shù)據(jù)進行分塊。USB每次只能傳送64字節(jié)的數(shù)據(jù),除去控制信息,每次只能傳送60字節(jié)的圖像數(shù)據(jù)。3)對每一塊傳輸?shù)某晒π赃M行檢測。只有當前塊數(shù)據(jù)確認傳輸成功后,才能傳輸下一塊數(shù)據(jù)。

        4.2 下位機程序

        MCU通過讀寫外部數(shù)據(jù)存儲器的方式與D12進行數(shù)據(jù)交換。D12有數(shù)據(jù)請求時就發(fā)送中斷信號給MCU,MCU響應中斷之后,通過讀取D12相關(guān)寄存器,根據(jù)讀取狀態(tài),進行相應操作。

        固件程序主循環(huán)流程圖如圖4所示[5],圖中端點1用來傳送上位機的各種噴碼參數(shù)和命令及狀態(tài)信息,端點2用來傳送打印數(shù)據(jù)。為了保證數(shù)據(jù)能夠快速準確地傳輸,需要在主機與MCU之間制定一系列的數(shù)據(jù)傳輸協(xié)議[6],具體如下:

        1)端點 1

        圖4 固件程序主循環(huán)流程圖Fig.4 The flow diagram of main program's firmware

        [8,T1,N1,M1]為 4 字節(jié)寫入信息,表示獲取噴頭狀態(tài)。T1,N1,M1 是 3 個字節(jié)預置數(shù)。 噴頭回答[8,T2,N2,M2]為 4字節(jié)返回信息。若N2=N1,M2=M1,則 T2有效。T2=2或T2=12表示噴頭處于“等待接收數(shù)據(jù)”狀態(tài);T2=3或T2=13表示噴頭處于“正在接受數(shù)據(jù)”狀態(tài)。

        [9,n,x0,x1,x2·····]傳送噴印參數(shù)和命令及狀態(tài)。 例如[9,0,1]表示開噴頭箑 5V 電源;[9,0,0]表示關(guān)電源;讀狀態(tài)命令 [9,9]表示讀計數(shù)器,USB 回送數(shù)據(jù)為[9,JSQW5,JSQW4,JSQW3, JSQW2, JSQW1, JSQW0],程序如下:

        If(GenEpBuf[0]==9)

        {

        Switch(GenEpBuf[1])

        {

        case0:

        If( GenEpBuf[2]==0)

        {

        #pragma ASM

        SETB P1.0

        #pragma ENDASM

        }

        else

        {

        #pragma ASM

        CLR P1.0

        #pragma ENDASM

        }

        break;

        case 9:

        GenSendBuf[0]=9;

        GenSendBuf[1]=JSQW5;

        GenSendBuf[2]=JSQW4;

        GenSendBuf[3]=JSQW3;

        GenSendBuf[4]=JSQW2;

        GenSendBuf[5]=JSQW1;

        GenSendBuf[6]=JSQW0;

        D12_WriteEndpoint(3,7, GenSendBuf);

        break;

        ……

        }

        }

        2)端點 2

        ①[4,0,0,0]為 4 字節(jié)寫入信息,表示結(jié)束等待,開始寫入一組噴印數(shù)據(jù)。噴頭回答[4,0,0,0]為4字節(jié)返回信息。

        ②[1,addh,addi,len,byte(1),byte(2)······,byte(len-1)]為4+len字節(jié)寫信息,表示把len字節(jié)的數(shù)據(jù)寫入噴頭緩沖區(qū),len小于或者等于60。addh,addl為寫入的第一字節(jié)數(shù)據(jù)的地址,len為寫入的數(shù)據(jù)字節(jié)數(shù)。噴頭回答[3,0,0,0]為4字節(jié)返回信息,表示前面寫入的數(shù)據(jù)超出了可用緩沖區(qū),有效緩沖區(qū)的長度為32768字節(jié)。噴頭回答[1,addh2,addl2,len]為4字節(jié)返回信息,表示前面寫入的數(shù)據(jù)有效,其中addh2,addl2為收到的最后一個數(shù)據(jù)的下一個字節(jié)的地址,len為收到的數(shù)據(jù)字節(jié)數(shù),即addh2*256+addl2-addh1*256-addl1=len。

        ③[5,0,0,0]為 4字節(jié)寫信息,表示一組噴印數(shù)據(jù)寫結(jié)束。 噴頭回答[5,0,0,0]為 4 字節(jié)返回信息。

        5 系統(tǒng)測試

        進行測試時,首先打開上位機應用軟件和給下位機上電,上位機收到下位機傳送的“系統(tǒng)已準備完畢”的提示信息后,就可以進行圖片的傳輸。在上位機中載入符合條件的圖片,如果圖片不符合條件,則報錯“圖片不滿足傳輸條件”,載入成功后,點擊發(fā)送按鈕,傳輸完成后應用軟件給出“圖片發(fā)送完畢”的提示,如圖5所示。在多次實驗中,系統(tǒng)都能準確快速地傳送二維碼圖片。

        圖5 測試界面圖Fig.5 Test interface

        6 結(jié)束語

        本文介紹的高解析噴碼機[7]中的USB數(shù)據(jù)[8]傳輸系統(tǒng)采用價格比較低廉的芯片,經(jīng)過合理的硬件設計和軟件編寫,滿足了二維碼圖片的傳輸要求。該系統(tǒng)已用于某噴碼機的數(shù)據(jù)傳輸,應用結(jié)果表明該數(shù)據(jù)傳輸系統(tǒng)具有傳輸速度快,可靠穩(wěn)定的特點,達到了設計的要求。

        [1]胡曉軍,張愛成.USB接口開發(fā)技術(shù)[M].1版.西安:西安電子科技大學出版社,2005.

        [2]周立功.PDIUSBD12USB固件編程與驅(qū)動開發(fā)[M].北京:北京航空航天大學出版社,2003.

        [3]陳啟美,丁傳鎖.計算機USB接口技術(shù)[M].1版.南京:南京大學出版社,2003.

        [4]肖踞雄,翁鐵成,宋中慶.USB技術(shù)及應用設計[M].北京:清華大學出版社,2003.

        [5]楊金巖,鄭應強,張振仁.8051單片機數(shù)據(jù)傳輸接口擴展技術(shù)與應用實例[M].1版.北京:人民郵電出版社,2005.

        [6]徐愛鈞,彭秀華.單片機高級語言C51應用程序設計[M].北京:電子工業(yè)出版社,2001.

        [7]王宏文,黃金蘭,董苗.流水線上嵌入式噴碼機系統(tǒng)設計[J].現(xiàn)代電子技術(shù),2014(9):107-110.WANF Hong-wen,HUANG Jin-lan,DONG Miao.Design of embedded ink-jet printer system in production line[J].Modern Electronics Technique,2014(9):107-110.

        [8]孫學君,白譜偉.數(shù)字合成掃頻儀USB2.0接口設計[J].電子科技,2012(5):73-75.SUN Xue-jun,BAI Pu-wei.Designs of the USB2.0 interface of the digital synthetic sweeper[J].Electronic Science and Technology,2012(5):73-75.

        猜你喜歡
        程序設備信息
        諧響應分析在設備減振中的應用
        試論我國未決羈押程序的立法完善
        人大建設(2019年12期)2019-05-21 02:55:44
        基于MPU6050簡單控制設備
        電子制作(2018年11期)2018-08-04 03:26:08
        “程序猿”的生活什么樣
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        英國與歐盟正式啟動“離婚”程序程序
        500kV輸變電設備運行維護探討
        創(chuàng)衛(wèi)暗訪程序有待改進
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        原來他們都是可穿戴設備
        消費者報道(2014年7期)2014-07-31 11:23:57
        亚洲丁香婷婷综合久久小说| 国产一品二品三品精品在线| 午夜dy888国产精品影院| 女人下面毛多水多视频| 亚洲国产精品久久久久秋霞1| 免费毛片一区二区三区女同| 亚洲国产av一区二区三区| 人禽交 欧美 网站| 欧美日韩精品一区二区在线视频| 99免费视频精品| 久久久大少妇免费高潮特黄| 亚洲精品国精品久久99热| 天天综合亚洲色在线精品| 久久精品国产精品亚洲婷婷| 亚洲av无一区二区三区综合| 丁香婷婷激情综合俺也去| 日产精品久久久久久久蜜臀| 亚洲AV无码一区二区三区精神| 中文字幕一区二三区麻豆| 国精品人妻无码一区免费视频电影| y111111少妇影院无码| 亚洲一区二区女优av| 亚洲国产精品一区二区成人av| 国产精品午夜爆乳美女视频| 国产精品亚洲专区无码不卡| 日本丰满熟妇hd| 亚洲人成人99网站| 亚洲熟女天堂av一区二区三区| 亚洲午夜成人精品无码色欲| 亚洲国产精品无码专区影院| 亚洲夜夜骑| 99热这里只有精品久久6| 日本一区二区在线播放视频| 亚洲精品久久一区二区三区777| 无码的精品免费不卡在线| 好看的国内自拍三级网站| 人妻少妇-嫩草影院| 成 人 网 站 免 费 av| 国产亚洲av手机在线观看 | 精品国产午夜肉伦伦影院| 午夜亚洲www湿好爽|