潘錦明
(廣州廣電運(yùn)通智能科技有限公司,廣東 廣州 510000)
目前,國(guó)內(nèi)軌道交通等行業(yè)使用的電磁式硬幣識(shí)別器對(duì)硬幣的鑒別方法,主要是通電渦流檢測(cè)金屬成份的原理進(jìn)行真假幣鑒偽。由于市面上有極個(gè)別的游戲幣、紀(jì)念幣、直徑相當(dāng)?shù)慕饘倭慵嗣駧庞矌挪牧舷嘟咏?,容易引起誤判斷。若識(shí)別器降低精度,兼容對(duì)有所使用痕跡及輕微磨損等殘舊硬幣的接收率時(shí),假幣容易接收,若提高判別精度,則稍有使用痕跡的真幣則容易拒收。為了解決這個(gè)問題,在電磁識(shí)別器前面增加圖像識(shí)別的手段進(jìn)行判別。這樣與真幣材質(zhì)相接近的各種假幣,表面圖案差異較大,通過圖像判別就能夠輕易區(qū)分出來。本文設(shè)計(jì)一款基于DSP+FPGA及CIS管的圖像掃描裝置,實(shí)現(xiàn)硬幣圖像的采集及判別功能。
硬幣處理模塊安裝于自動(dòng)售票機(jī)等軌道交通設(shè)備中,實(shí)現(xiàn)乘客投入硬幣識(shí)別、找零及退款等功能。而本裝置安裝于硬幣處理模塊的電磁式硬幣接收器之前,結(jié)構(gòu)設(shè)計(jì)上通過皮帶對(duì)投入硬幣進(jìn)行夾送,以均勻的速度通過CIS管掃描區(qū)域,對(duì)硬幣表面進(jìn)行圖像掃描。圖像數(shù)據(jù)采集之后,對(duì)圖像進(jìn)行校準(zhǔn)、預(yù)處理,并通過集成在DSP控制芯片上的圖像識(shí)別庫接口進(jìn)行面額的識(shí)別,把判定結(jié)果告訴硬幣處理模塊,結(jié)合電磁式硬幣接收器對(duì)硬幣進(jìn)行真?zhèn)谓M合判斷。
CIS傳感器是一種線形圖像采集傳感器,具有尺寸小、重量輕、結(jié)構(gòu)緊湊、便于安裝等特點(diǎn)[1],已越來越多應(yīng)用于圖像掃描領(lǐng)域。本裝置選用的是威海華凌公司的一款分辨率為300DPI(可變600DPI)的CIS管。該傳感器具有高速、使用靈活、分辨率高等優(yōu)點(diǎn),其內(nèi)部還集成了LED光源、圖像傳感器陣列、棒狀透鏡陣列、保護(hù)玻璃及接口電路板。工作原理是:由可調(diào)節(jié)的LED光源發(fā)出的光線經(jīng)過物體表面反射到圖像傳感器陣列,轉(zhuǎn)換為按行的電信號(hào)。同步信號(hào)SI啟動(dòng)后,通過輸入的CLK時(shí)鐘按照時(shí)序進(jìn)行采集,分別由SIG1、SIG2、SIG3三段輸出信號(hào)完成一行信號(hào)的數(shù)據(jù)傳輸[2],其具體信號(hào)控制時(shí)序如圖1所示。
硬件系統(tǒng)需要實(shí)現(xiàn)兩路CIS管的打光、數(shù)據(jù)的采集控制、數(shù)據(jù)采樣、圖樣數(shù)據(jù)上傳等功能。
圖1 CIS管信號(hào)控制時(shí)序
圖2 硬件系統(tǒng)框圖
主控制芯片采用TI公司的DSP芯片TMS320C6748,主要控制整個(gè)硬件系統(tǒng)的運(yùn)作及用戶代碼固件實(shí)現(xiàn)軟件功能,包括系統(tǒng)中斷流程控制、指令交互、數(shù)據(jù)接收與存儲(chǔ)、圖像處理及算法集成判別等[4]。FPGA采用Xilinx公司的XC6SLX25,具有可編輯邏輯控制及高速時(shí)序控制等特點(diǎn),主要用于控制CIS管的操作時(shí)序、LED打光控制、通過AD轉(zhuǎn)換器配置及控制對(duì)CIS輸出的三路信號(hào)SIG1、SIG2、SIG3進(jìn)行采集并轉(zhuǎn)換成數(shù)字信號(hào),兩路CIS管分別進(jìn)行打光及掃描數(shù)據(jù)采集,并把完成采集的行數(shù)據(jù)通過DSP的UPP(通用并行接口)總線發(fā)送數(shù)據(jù)到DSP,完成上傳的圖像數(shù)據(jù)保存在DDR內(nèi)存當(dāng)中。Nor Flash用于存儲(chǔ)DSP及FPGA用戶代碼,通過EMIFA(外圍存儲(chǔ)器控制接口)總線和DSP及FPGA連接。本系統(tǒng)需要掃描硬幣的正反兩面,因此FPGA需要控制兩路AD轉(zhuǎn)換器及LED驅(qū)動(dòng),對(duì)兩個(gè)CIS管進(jìn)行控制及數(shù)據(jù)采集。圖2為具體的硬件系統(tǒng)框圖。
相對(duì)于文獻(xiàn)[3]中DSP+CPLD控制系統(tǒng)設(shè)計(jì)需要使用兩片RAM及存儲(chǔ)器總線切換電路實(shí)現(xiàn)數(shù)據(jù)緩沖,本系統(tǒng)采用DSP集成的UPP(通用并行接口)為FPGA開辟一條高速上傳采集數(shù)據(jù)的通道并使用DMA數(shù)據(jù)傳輸方式直接存儲(chǔ)到外圍RAM中,因此本硬件系統(tǒng)只需要一片RAM,簡(jiǎn)化了DSP和FPGA之間存儲(chǔ)器總線及切換電路的設(shè)計(jì)并提高了數(shù)據(jù)處理速度。
應(yīng)對(duì)CIS管輸出數(shù)據(jù)為SIG1、SIG2、SIG3三段,AD轉(zhuǎn)換器選用HT82 V 26 A。該AD轉(zhuǎn)換芯片在FPGA對(duì)其進(jìn)行配置時(shí),采用內(nèi)部的三通道CCD采樣模式[5]對(duì)CIS管三段數(shù)據(jù)同時(shí)進(jìn)行采集,大大提高了數(shù)據(jù)采集速度。
TMS320C6748固件程序在基于TI公司提供的一套完整的底層硬件驅(qū)動(dòng)程序框架基礎(chǔ)上進(jìn)行用戶代碼開發(fā)。本系統(tǒng)程序主要實(shí)現(xiàn)接收硬幣模塊掃描動(dòng)作指令、啟動(dòng)FPGA進(jìn)行CIS管控制、接收FPGA上傳的數(shù)據(jù)、校準(zhǔn)圖像數(shù)據(jù)、圖像預(yù)處理、調(diào)用算法庫計(jì)算圖像識(shí)別結(jié)果、返回圖像結(jié)果到硬幣處理模塊等功能。接收到硬幣模塊發(fā)送的掃描動(dòng)作指令之后,進(jìn)行圖像采集及處理的主要調(diào)用流程頂層函數(shù)代碼如圖3所示。
由于CIS管在出廠的不能確保每個(gè)點(diǎn)的感光程度完全一致,所以采集的原始圖像會(huì)有不同程度的條紋出現(xiàn)。為了消除條紋獲得清晰的圖像,在使用之前對(duì)標(biāo)準(zhǔn)白紙進(jìn)行掃描,控制內(nèi)置LED分別以弱光及強(qiáng)光對(duì)CIS管進(jìn)行數(shù)據(jù)采集,以平均值方法計(jì)算出該CIS管一行中各點(diǎn)的黑場(chǎng)數(shù)據(jù)及白場(chǎng)數(shù)據(jù)并記錄在存儲(chǔ)器中。工作時(shí)采集硬幣圖像之后,硬幣兩面原始圖像按行的每個(gè)像素點(diǎn)根據(jù)黑白場(chǎng)校準(zhǔn)數(shù)據(jù)按比例計(jì)算灰階之后得出校準(zhǔn)后的像素值,完成所有行的像素值校準(zhǔn)之后得出兩面校準(zhǔn)圖像數(shù)據(jù)CimageA及CimageB。
有別于紙張表面是平整漫反射的,硬幣表面是凹凸不平的金屬反射,因此采集出來的硬幣圖像在紋理深度不同的時(shí)候存在不同程度的邊緣高光及陰影。所以在進(jìn)行圖像算法判別之前,對(duì)硬幣圖像進(jìn)行預(yù)處理提取紋理邊緣的特征。其具體的方法是利用該像素點(diǎn)周圍的點(diǎn)進(jìn)行四臨矩陣的計(jì)算,并記錄運(yùn)算后該點(diǎn)的像素值。完成像所有素點(diǎn)的預(yù)處理之后得出兩面預(yù)處理圖像數(shù)據(jù)PimageA及PimageB。把預(yù)處理之后的圖像傳進(jìn)去算法庫提供的識(shí)別接口函數(shù)DetecCoin,分析出硬幣的幣種面額(SortValue)及接近度(Score)兩個(gè)參數(shù)。裝置會(huì)根據(jù)這兩個(gè)參數(shù)及硬幣處理模塊設(shè)置的判別等級(jí)來判斷該枚硬幣是否為需要接收的硬幣幣種,并把信息傳回去硬幣處理模塊進(jìn)行相應(yīng)的機(jī)械動(dòng)作處理。
在調(diào)試過程中,把一枚人民幣1元投進(jìn)去硬幣處理模塊,模塊感知有硬幣投入后對(duì)硬幣圖像掃描裝置發(fā)送啟動(dòng)掃描的指令。硬幣圖像掃描裝置把硬幣夾送通過兩個(gè)CIS管,采集CIS管上傳的數(shù)據(jù),經(jīng)過校準(zhǔn)及預(yù)處理后得出正面校準(zhǔn)圖像CimageA及反面校準(zhǔn)圖像CimageB,正面預(yù)處理圖像PimageA及反面預(yù)處理圖像PimageB,如圖4所示。掃描裝置根據(jù)識(shí)別算法對(duì)PimageA及PimageB進(jìn)行判別為人民幣1元硬幣。
圖3 源代碼
圖4 人民幣1元硬幣掃描圖像
基于DSP+FPGA的硬幣圖像掃描裝置,通過CIS管對(duì)硬幣兩面進(jìn)行掃描、處理并通過內(nèi)置的算法庫識(shí)別出屬于哪個(gè)硬幣幣種面額。在硬幣處理模塊原有的硬幣磁識(shí)別基礎(chǔ)上增加了一種識(shí)別手段,經(jīng)過試驗(yàn)驗(yàn)證,能夠有效把跟真幣材質(zhì)接近但表面圖案大不相同的游戲幣及外幣區(qū)分出來,大大提高了硬幣處理模塊的對(duì)硬幣的鑒偽能力。