基于嵌入式紙幣識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
圖3 碼盤光耦信號(hào)收集電路
以上的硬件電路再加上傳動(dòng)裝置等,就構(gòu)成了采集系統(tǒng)的硬件基礎(chǔ)設(shè)備。
2.2 程序設(shè)計(jì)
本文設(shè)計(jì)的采集系統(tǒng),所采集的數(shù)據(jù)是紙幣上等距離點(diǎn)上的數(shù)據(jù),采集到的數(shù)據(jù)作為RBF神經(jīng)網(wǎng)絡(luò)分類器的輸入,并用它來(lái)判斷紙幣的真假,從而使紙幣識(shí)別系統(tǒng)決定是否接受被檢測(cè)的紙幣??梢姡苷_的取得紙幣的數(shù)據(jù)對(duì)這些算法來(lái)說(shuō)是非常重要的。當(dāng)紙幣的一端進(jìn)入紙幣通道時(shí),位置傳感器提示系統(tǒng),紙幣進(jìn)入預(yù)定的開始進(jìn)入位置,而后通過(guò)馬達(dá)和傳動(dòng)裝置,紙幣就被卷入紙幣器中。馬達(dá)轉(zhuǎn)過(guò)相同的角度,紙幣也就移動(dòng)相同的距離,而碼盤光耦電路每產(chǎn)生一個(gè)反饋信號(hào),馬達(dá)轉(zhuǎn)過(guò)的角度是一個(gè)固定值,紙幣移動(dòng)距離也就是一個(gè)固定值,那么根據(jù)這個(gè)反饋信號(hào)就能實(shí)現(xiàn)固定等距離點(diǎn)的采集, 所以硬件的設(shè)計(jì)是能保證,當(dāng)紙幣上的定點(diǎn)到達(dá)紙幣識(shí)別系統(tǒng)特殊光發(fā)光部件和接收部件中間時(shí),通知采集程序此時(shí)數(shù)據(jù)有效。馬達(dá)轉(zhuǎn)過(guò)多少角度碼盤光耦產(chǎn)生反饋信號(hào),是由碼盤光耦的規(guī)格決定。
數(shù)據(jù)采集系統(tǒng)的程序部分要解決的問(wèn)題,就是能夠及時(shí)根據(jù)碼盤光耦電路的反饋信號(hào),實(shí)時(shí)的將特殊光傳感器中的數(shù)據(jù)讀出,而后保存。由于uClinux操作系統(tǒng)本身的限制,紙幣識(shí)別系統(tǒng)中只有一個(gè)實(shí)時(shí)任務(wù)即采集,所以考慮采用中斷的方式解決這個(gè)問(wèn)題 。
在本系統(tǒng)中,根據(jù)采樣原理,每6毫秒采集一次數(shù)據(jù),選用了適合本采集系統(tǒng)規(guī)格的馬達(dá)和碼盤光耦。為了使基于S3C4510B和uClinux的紙幣識(shí)別系統(tǒng)充分發(fā)揮同時(shí)采集和處理數(shù)據(jù)的能力,可以從S3C4510B的內(nèi)存中開辟一個(gè)獨(dú)立的區(qū)域,該區(qū)域是用來(lái)提供給非實(shí)時(shí)程序和采集系統(tǒng)共享的內(nèi)存,專門用來(lái)存儲(chǔ)采集數(shù)據(jù),這樣非實(shí)時(shí)程序就不需要調(diào)用系統(tǒng)調(diào)用或者驅(qū)動(dòng)程序去訪問(wèn)采集到的數(shù)據(jù),從而大大提高了將采集數(shù)據(jù)送給非實(shí)時(shí)程序的速度,提高了處理速度。
3 紙幣識(shí)別
3.1 紙幣識(shí)別硬件設(shè)計(jì)
根據(jù)前面討論的要求,采用S3C4510B芯片設(shè)計(jì)的紙幣識(shí)別器硬件結(jié)構(gòu)如圖4所示,它包含的主要功能模塊有:S3C4510B中央處理器、系統(tǒng)時(shí)鐘和復(fù)位模塊、外擴(kuò)存儲(chǔ)單元、板載電源模塊、串口通信模塊、網(wǎng)絡(luò)通信模塊、電機(jī)驅(qū)動(dòng)模塊、紙幣檢測(cè)模塊以及相關(guān)的信號(hào)采集模塊。
圖4 紙幣器硬件結(jié)構(gòu)圖
為了支持日常工作和智能升級(jí)的需要,外存存儲(chǔ)單元采用兩片F(xiàn)LASH存儲(chǔ)芯片和一片SDRAM, 串口通信模塊的設(shè)計(jì)時(shí)使用MDB和RS232,采用S3C4510B UART單元提供的兩個(gè)異步串行I/O端口分別給MDB和RS232各一個(gè)。在網(wǎng)絡(luò)接口設(shè)計(jì)時(shí),由于S3C4510B內(nèi)嵌一個(gè)以太網(wǎng)控制器,這里采用一個(gè)PHY芯片RTL8201BL與其搭配實(shí)現(xiàn)一個(gè)10M/100M以太網(wǎng)接口,對(duì)外接頭使用RJ45接頭。
3.2 紙幣識(shí)別軟件設(shè)計(jì)
3.2.1 軟件流程
整個(gè)系統(tǒng)的軟件設(shè)計(jì)采用模塊化結(jié)構(gòu),其主體框架是通信和識(shí)別分時(shí)共享。主程序主要以通信模塊為主,通過(guò)設(shè)置各種標(biāo)志位,然后把相應(yīng)模塊作為子程序嵌入其中。當(dāng)紙幣未到時(shí),程序工作在通信模塊中,通過(guò)檢測(cè)各個(gè)標(biāo)志位執(zhí)行相應(yīng)操作,保持與上位機(jī)的通信。 當(dāng)上位機(jī)允許識(shí)別器識(shí)別的標(biāo)志位有效,并且紙幣到的標(biāo)志位有效時(shí),程序轉(zhuǎn)入識(shí)別模塊,這時(shí)識(shí)別器與上位機(jī)的通信斷開,當(dāng)識(shí)別處理完成后,喚醒通信模塊繼續(xù)通信。這樣整個(gè)系統(tǒng)分時(shí)共享,程序流程簡(jiǎn)單明了,可讀性和可擴(kuò)展性好。主程序流程為:
(1) 初始化部分 包括通信的初始化和識(shí)別的初始化。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論