《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 圖像采集與處理系統(tǒng)的USB通信接口設(shè)計(jì)
圖像采集與處理系統(tǒng)的USB通信接口設(shè)計(jì)
摘要: 本文介紹了一種利用DSP處理DM642、CPLD及USB芯片等器件構(gòu)造的帶有USB接口的圖像采集和處理系統(tǒng)。設(shè)計(jì)了USB通信接口的硬件電路,在DSP/BIOS架構(gòu)上編寫了USB的固件程序和主機(jī)端的設(shè)備驅(qū)動程序。該系統(tǒng)可用于香煙包裝流水線上的條包檢測等對生產(chǎn)速度要求較高的工業(yè)流程領(lǐng)域。
關(guān)鍵詞: 圖像采集 USB DM642
Abstract:
Key words :

  摘要:本文介紹了一種利用DSP處理DM642、CPLD及USB芯片等器件構(gòu)造的帶有USB接口的圖像采集和處理系統(tǒng)。設(shè)計(jì)了USB通信接口的硬件電路,在DSP/BIOS架構(gòu)上編寫了USB的固件程序和主機(jī)端的設(shè)備驅(qū)動程序。該系統(tǒng)可用于香煙包裝流水線上的條包檢測等對生產(chǎn)速度要求較高的工業(yè)流程領(lǐng)域。

  1 引言

  目前國內(nèi)各大煙草制造企業(yè)的香煙包裝都是在高速流水線上進(jìn)行的,設(shè)備自動化程度 高,機(jī)械和電氣控制復(fù)雜,生產(chǎn)中經(jīng)常產(chǎn)生包裝不合格的產(chǎn)品。目前的解決方法主要是通過 采集卡將煙包圖像傳輸?shù)焦た貦C(jī)中,應(yīng)用圖像處理技術(shù)[1],檢測出不合格的產(chǎn)品。這是一種 PC-based 的檢測方法?,F(xiàn)有的采集卡一般不具備圖像處理的能力并且多是PCI 接口,存在 安裝和使用不方便,不支持熱插拔等問題。

  本文提出了一種應(yīng)用TI 公司高性能DSP 處理器TMS320DM642,視頻解碼器和Altera 新推出的CPLD EPM240 組成的嵌入式的具有初步圖像處理功能的采集系統(tǒng)[2]。應(yīng)用USB 接口將檢測到的不合格產(chǎn)品圖像信息實(shí)時傳輸?shù)焦た貦C(jī)上,供生產(chǎn)人員做進(jìn)一步分析和統(tǒng)計(jì) 包裝中出現(xiàn)的問題,以及時對生產(chǎn)設(shè)備進(jìn)行維護(hù),降低企業(yè)生產(chǎn)成本。

  2 系統(tǒng)設(shè)計(jì)

  DSP 處理器[3]的視頻口接收視頻解碼器輸出的視頻數(shù)據(jù),采集一幀圖像,通過EDMA[4] 將緩存在視頻口FIFO 中的數(shù)據(jù)搬移到SDRAM 中。經(jīng)過圖像處理判定有無反包,拉線錯位 及破損等錯誤。若要剔除煙包,工控機(jī)發(fā)出讀請求喚醒USB 芯片EZ-USB SX2(CY7C68001) [5],DSP 啟動EDMA 將SDRAM 中的圖像傳輸?shù)経SB 的FIFO(EP6)中。系統(tǒng)框圖如圖1 所示。

系統(tǒng)結(jié)構(gòu)圖

  DM642 是TI 公司推出的一款面向多媒體應(yīng)用的定點(diǎn)數(shù)字信號處理器,設(shè)計(jì)主頻為 500~ 720MHz,采用C64x 內(nèi)核,2 級存儲器結(jié)構(gòu),同時片上還集成了視頻口(VP),外部 存儲器接口(EMIF)等豐富的資源。DM642 特有的EDMA 負(fù)責(zé)片內(nèi)L2 存儲器與其他外設(shè) 之間的數(shù)據(jù)傳輸。EPM240Z 是Altera 最新推出的MAX II Z 系列CPLD。該系列采用非易失 的嵌入Flash 工藝,以及創(chuàng)新的查找表(LUT)邏輯結(jié)構(gòu),突破了傳統(tǒng)宏單元器件的成本和功 耗限制。在MAX 系列基礎(chǔ)之上,功耗只有十分之一,而容量增加了四倍,性能提升了一倍。

  EZ-USB SX2(CY7C68001)集成有USB2.0 收發(fā)器,串行接口引擎SIE,4KB 的FIFO, 可以選擇的8 位或16 位總線方式。片上SIE 能完成大部分的USB 協(xié)議操作,簡化了用戶設(shè) 置代碼,但由于其內(nèi)部不含微處理器,應(yīng)用層協(xié)議由DSP 編程實(shí)現(xiàn)。

  3 USB 通信接口硬件設(shè)計(jì)

  系統(tǒng)中將 SX2 配置在DM642 的CE1 空間,四個端點(diǎn)(EP2,EP4,EP6,EP8)的地址空 間是0xA0000000~0xA0001BFF??刂平涌冢‥P0)的地址空間為0xA0002000~0xA000203F。 CY7C68001 與DSP 之間使用異步讀寫方式完成二者之間數(shù)據(jù)和命令的交換。中斷信號占用 DM642 的外部中斷EXT_INT5,四個狀態(tài)信號(READY、FLAGA、FLAG 和FLAGC)和 喚醒信號分別配置在EPM240G[6]中的USB 狀態(tài)寄存器(USB_STS)和USB 喚醒積存器中 (USB_WAKEUP) 。EPM240G 占用DM642 的CE1 空間, 地址范圍是 0x9A080000~0x9A080020。接口電路如圖2 所示。

接口電路

  主要接口信號包括控制信號,數(shù)據(jù)總線和地址總線。

  控制信號: USBINT:中斷信號。由SX2 提供,SX2 有六個中斷源,中斷發(fā)生時,DSP 讀數(shù)據(jù)總線, 獲取中斷標(biāo)志位判斷具體哪個中斷發(fā)生了。

  FLAGA,F(xiàn)LAGB,F(xiàn)LABC:狀態(tài)信號。由SX2 提供,分別反映當(dāng)前選中的FIFO 的狀態(tài),可編程,滿,空。

  CE1,CE2:片選信號。由DSP 提供,選中CE1 或CE2 空間。

  OE,RE,WE:輸出允許信號,讀使能信號,寫使能信號。由DSP 提供。

  地址總線:

  AEA22,AEA[15..13],AEA[7..3]:地址總線。由DSP 提供,設(shè)定外設(shè)地址。

   4 USB 通信接口DSP 端軟件設(shè)計(jì)

  DSP 圖像采集與處理系統(tǒng)的軟件包括設(shè)備驅(qū)動和客戶應(yīng)用程序。系統(tǒng)軟件是在TI DSP/BIOS 操作系統(tǒng)的基礎(chǔ)上開發(fā)的,如圖3 所示。DSP/BIOS 是整個DSP 系統(tǒng)軟件的核心, 各底層設(shè)備驅(qū)動程序完成硬件的驅(qū)動與管理,并對上層提供統(tǒng)一的接口;各應(yīng)用任務(wù)模塊完 成相應(yīng)的應(yīng)用功能,并由DSP/BIOS 提供實(shí)時任務(wù)調(diào)度與操作系統(tǒng)的支撐。VP driver、USB driver[7]分別是DM642 視頻口和與SX2 通信的EMIF 口的底層驅(qū)動,完成對相應(yīng)硬件外設(shè)的 硬件抽象與配置管理。

系統(tǒng)軟件

  DSP/BIOS[8]中的設(shè)備驅(qū)動程序由兩層組成,上層是類驅(qū)動(Class driver),其典型功能 是提供多線程的串行化與服務(wù)請求的同步,另外還要處理設(shè)備實(shí)例的管理。這一層與驅(qū)動無 關(guān),它是DSP/BIOS 本身所集成的一部分模塊,主要包括SIO、PIP 及GIO 三種類驅(qū)動模型, 本系統(tǒng)采用的是GIO 類驅(qū)動。下層是微驅(qū)動程序(Mini driver),GIO 類驅(qū)動使用與具體設(shè) 備相關(guān)的微驅(qū)動程序來操作SX2,以實(shí)現(xiàn)主機(jī)應(yīng)用程序圖像發(fā)送與接收的功能。微驅(qū)動程序 對SX 的配置過程見圖4。

對SX 的配置過程

  5 USB 通信接口主機(jī)端驅(qū)動程序設(shè)計(jì)

  與傳統(tǒng)的 PC 總線(如PCI 總線)設(shè)備的驅(qū)動程序相比,USB 設(shè)備驅(qū)動程序不直接與硬 件對話。這些工作由微軟提供的USBD.SYS 來完成。USB 設(shè)備驅(qū)動程序的主要工作就把客 戶軟件的請求翻譯成USBD.SYS 能執(zhí)行的事務(wù)。USB 設(shè)備驅(qū)動程序主要完成以下功能:發(fā) 現(xiàn)、配置、關(guān)閉USB 設(shè)備。

  USB 設(shè)備驅(qū)動程序向主機(jī)應(yīng)用程序提供函數(shù)接口,如像Ezusb_Creat(),Ezusb_Close() 等函數(shù)。應(yīng)用程序調(diào)用函數(shù)Ezusb_Create(),返回唯一的Windows 句柄后,才能調(diào)用驅(qū)動程 序的其他函數(shù)。應(yīng)用程序通過調(diào)用標(biāo)準(zhǔn)Win32 API 函數(shù)CreateFile()來實(shí)現(xiàn)對Ezusb_Create() 的訪問。 控制與數(shù)據(jù)傳送接口。應(yīng)用程序使用 API 函數(shù)DeviceIoCONtrol()來執(zhí)行這樣的操作。 驅(qū)動程序?qū)⑦@個函數(shù)調(diào)用轉(zhuǎn)化為一個帶IRP_MJ_DEVICE_CONTROL 功能碼的IRP。像讀取與寫 入FIFO 數(shù)據(jù)、endpoint0 的操作均是通過異步IO 的方式來完成的。

  6 結(jié)論

  本文所設(shè)計(jì)的帶有 USB 接口的DM642 圖像采集與處理系統(tǒng),一方面充分利用了DM642 的強(qiáng)大處理能力和豐富的外設(shè)功能,另一方面使用了新架構(gòu)的MAXIIZ 系列CPLD 有效的 降低系統(tǒng)的功耗。軟件方面,以DSP/BIOS 為核心,實(shí)現(xiàn)了USB 的固件程序,并在主機(jī)端 開發(fā)USB 的設(shè)備驅(qū)動程序。該嵌入式圖像采集與處理系統(tǒng)針對香煙生產(chǎn)流水線上的包裝檢 測而設(shè)計(jì),基本上滿足香煙條包在線檢測的需要。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。