系統框圖
本文引用地址:http://www.eepw.com.cn/article/148851.htm系統以DSP56F826晶片為核心控制模塊, 使用CMOS數字圖像傳感晶片,圖像採集解析度可達640×480像素。當需要進行高解析度的圖象採集時,可改用1024×1024像素的晶片(成本將隨之增加)。解碼可靠性高。目前得到的誤碼率不超過6萬分之一,並且還在不斷改進,期望誤碼率不超過2000萬分之一。採用RS-232通訊接口,將獲取的二維條碼信息實時上傳給計算機顯示處理。糾錯等級達到8級,糾錯能力強。
二維條碼掃描器系統框圖如圖(1)所示。CMOS圖像傳感晶片為光電轉換元件,用與採集二維條碼圖像,直接輸出為數位訊號。由外部擴展SRAM存儲該數據,再送到DSP,進行圖像處理、碼字分割、碼字識別、信號糾錯等,當一組二維條碼信息的識別完成以後,服務程序控制I/O接口給出中斷申請信號,DSP響應此中斷申請,進入中斷服務程序。解碼後的二維條碼數據從I/O口經SCI RS-232傳送至計算機,並在屏幕上顯示。軟體程序和PDF417碼本都儲存在DSP晶片中的FLASH內,而動態採集到的二維條碼圖象數據則儲存在SRAM內。
圖1 二維條碼掃描器框圖
系統硬體設計
系統硬體電路主要包括以下七個部分:條碼圖象採集電路、DSP主控電路、存儲器擴展電路、輸出接口電路、復位與時鐘電路、電源控制電路、照明控制電路。
條碼圖象採集電路
該電路以OV7120黑白圖像傳感晶片為核心,該晶片解析度達到640×480像素,成像速度為30幀/秒,採取逐行掃描方式,輸出為數位訊號。此晶片功耗低,價格便宜,雖然CCD晶片在信噪比、靈敏度、成像質量等方面優於CMOS晶片,但在本系統設計中,採用CMOS晶片較為合適。
條碼圖像採集電路(圖2)中,Y0-Y7為總線數字輸出,HREF為水平參考信號,即行掃描信號;VSYN為垂直同步信號,即場同步信號。PCLK為像素時鐘輸出。該電路使用5V直流電,由電源控制電路提供。雖然該晶片使用5V工作電壓,但它提供3.3V的I/O口,所以它可以與I/O電壓為3.3V的DSP直接相連接,不需要電平轉換。當DSP接收到VSYN信號時,表示晶片開始採集第一幀條碼圖像數據,隨後接收到HREF信號,晶片開始進行第一行的數據採集,每來一個PCLK信號,晶片就採集一個像素點的信號,當DSP接收到下一個HREF信號,晶片就進行第二行的數據採集,直到採集完640行的數據,晶片停止採集。當DSP收到下一個VSYN信號時,表示晶片採集下一幀的數據。
圖2 條碼圖象採集電路框圖
DSP主控電路
如圖1所示,該電路以DSP56F826為核心。當OV7120圖像傳感晶片準備採集條碼圖像數據時,DSP發出一個初始信號,控制SRAM重新分配地址塊,同時圖像傳感晶片開始採集條碼圖象數據。採集完數據並送到SRAM中儲存後,DSP開始調用處理程序對數據進行解碼,解碼完成後,通過SCI RS-232將數據傳輸到計算機。
存儲器擴展電路
由於DSP56F826片內提供的RAM只有4.5K字,而RAM中需存放大量動態採集到的條碼圖象數據,從條碼採集電路傳送過來的數據按如下計算:
640×480×4-bit = 1228800 bits
所以我們選用128K×16-bit 的IS61LV12816作為外部擴展,來滿足系統需要。
DSP56F826為外部地址總線和外部數據總線分別提供了16個引腳,為總線控制提供了4個引腳,給擴展外圍電路提供了方便。我們採用分開程序區和數據區的接口方法,採用程序選通線(/PS)接SRAM的A0地址線來實現。因此,數據區為SRAM的前64K(0000H_FFFFH),程序區為SRAM的後64K(10000H_1FFFFH)。對DSP而言,數據區和程序區的地址均為0000H_FFFFH。
輸出接口電路
該電路使用異步串口RS-232,選用MAX202E晶片作為電平轉換收發器。該晶片最高數據處理速率可達120Kbps,滿足傳送二維條碼數據的要求。經過DSP解碼後的數據信號TXD0通過T1IN引腳進入MAX202E,信號的電平被提高後,經T1OUT引腳輸出,再通過SCI RS-232接口中的TXD口,將解碼後數據傳送給計算機。R1IN為接收輸入信號,R1OUT為接收輸出信號。
復位與時鐘電路
雖然DSP內置了COP模塊,可以完成watchdog功能,當DSP內核電壓VDD低於2.2V或者I/O口電壓VDDIO低於2.7V,系統自動復位。我們還專門加了外部RESET,防止系統受到外界幹擾或電源波動時出現死機現象。
DSP56F826的系統時鐘由晶振提供。我們用DSP晶片內部提供的晶振電路,在EXTAL和XTAL之間接一外部晶體(4MHz)。