MBF200在指紋采集系統中的應用
摘要:介紹MBF200的性能、結構及工作原理。實(shí)現基于MBF200的SPI型指紋采集系統設計。該采集系統具有自動(dòng)檢測指紋、結構簡(jiǎn)單、使用方便的特點(diǎn)。
關(guān)鍵詞:DSP SPI MBF200 指紋采集系統
引 言
1 MBF200結構與性能
MBF200是富士通公司的電容式固體指紋采集傳感器,能采集到500dpi的指紋圖像。它的傳感器是256300的陣列,可以在3.3V~5V的寬電壓范圍內操作。MBF200的性能主要有以下幾點(diǎn):
① 集成了一個(gè)8位A/D變換器。A/D變換器的輸入可以是MBF200的指紋傳感器陣列的輸出,也可以是由
MBF200的AIN引腳接入的模擬信號。
② 帶有3種總線(xiàn)接口,即8位微處理器(MCU)總線(xiàn)接口、集成的USB全速接口及串行周邊設備接口(SPI),使芯片的應用設計更加靈活。
③ 特有自動(dòng)指紋檢測功能。
MBF200的內部結構如圖1所示。
無(wú)論在哪一種總線(xiàn)接口模式下,對MBF200的控制都是通過(guò)寫(xiě)它的控制寄存器來(lái)完成的,包括CTRLA、CTRLB、CTRLC。MBF200共有19個(gè)寄存器。
值得提出的是,MBF200的時(shí)鐘有兩種選擇。根據圖1可以看出:“多諧振蕩”和“晶體電路”就是它的兩組可選的時(shí)鐘源。CTRLB中的位1(XTALSEL)是用來(lái)在這兩者之間進(jìn)行選擇的。XTALSEL=0,表示選用內部的“多諧振蕩”作為MBF200的時(shí)鐘;XTALSEL=1,表示時(shí)鐘源來(lái)自芯片的XTAL1引腳,此時(shí),芯片既可以外接有源晶體,也可以接無(wú)源晶體。CTRLB的各位含意會(huì )在后面介紹。
在MBF200的三種接口之中,SPI接口是比較簡(jiǎn)捷的一種,包括SCK、MISO、MOSI和SCS四條信號線(xiàn)。此時(shí),它的時(shí)鐘源可以從外部輸入;也可以在外接一個(gè)晶體后,利用MBF200內部的晶體電路來(lái)獲得時(shí)鐘源。圖1中,在選擇了SPI模式后,它的其它兩種模式(USB、MCU)是自動(dòng)禁止的。實(shí)際上,MBF200與控制芯片的SPI接口時(shí),它只能工作在SPI的從模式下(slave),只有當MBF200工作于USB模式下時(shí),它才是作為一個(gè)SPI的主設備(master)。
MBF200的一些狀態(tài)寄存器,如DTR、DCR、PGC、THR等,需要在進(jìn)行指紋采集之前被初始化。MBF200共有19個(gè)寄存器。這里僅僅對兩個(gè)比較重要的寄存器CTRLA、CTRLB進(jìn)行說(shuō)明。
1.1 CTRLA(控制寄存器A)
寫(xiě)該寄存器來(lái)初始化圖像轉換;讀該寄存器來(lái)讀取A/D轉換的結果。
GETSUB、GETIMG和GETROW三位選定了一種圖像存取模式并且初始化了A/D轉換器的轉換序列。 AINSEL位選定了A/D轉換器的來(lái)源。向GETSUB、GETIMG和GETROW中的任意一位寫(xiě)入一個(gè)“1”,都將放棄當前對應模式的圖像攝取并重新開(kāi)始新的該模式的圖像攝取,而且這三位每次最多只能有一位被置成“1”。如果這三位中有多于一位被置成“1”,那么圖像的轉換就不會(huì )開(kāi)始。當GETIMG被置成“1”后,MBF200會(huì )完成以下一系列動(dòng)作:
◇行地址被置成0;
◇列地址被置成0;
◇自動(dòng)開(kāi)始圖像的行攝??;
◇第一個(gè)象素的A/D轉換自動(dòng)開(kāi)始。
當向CTRLA中寫(xiě)“0”時(shí),除了會(huì )清除AINSEL之外,并不會(huì )使MBF200放棄當前的圖像。讀CTRLA的狀態(tài)可以得到A/D的轉換的結果。的上升沿會(huì )使A/D轉換器開(kāi)始下一次轉換。
1.2 CTRLB(控制寄存器B)
CTRLB必須在程序的最開(kāi)始對它的位0和位2置“1”,以使能MBF200。
控制寄存器A、B的各位含意如表1所列。
2 MBF200的SPI接口特點(diǎn)
SPI協(xié)議是一個(gè)同步串行數據傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動(dòng)作。對于MBF200而言,在時(shí)鐘上升沿鎖存MOSI引腳的數據,在下降沿將數據送至MISO引腳,如圖2所示。MBF200的SPI通信協(xié)議的具體內容如下:
◇MOSI線(xiàn)上的數據在SCK的上升沿被采樣;
◇MISO線(xiàn)上的數據在SCK的下降沿發(fā)生改變;
◇SCK在空閑狀態(tài)時(shí),可以為高電平,也可以為低電平;
◇串行傳輸過(guò)程中,高位在前(最先被移出)。
3 MBF200的SPI接口應用
下面結合MBF200的SPI接口特點(diǎn),介紹如何以TMS320VC5402(簡(jiǎn)稱(chēng)5402)作為主控制器,完成MBF200對指紋數據的采集。5402的McBSP是與SPI兼容的。這里,把5402配置成SPI的主設備(master),MBF200工作在SPI協(xié)議下的從模式(slave)。多通道緩沖串行口McBSP的功能是提供器件內外數據的串行交換。同以前的串口相比,McBSP串口具有相當大的靈活性。表2給出了有關(guān)5402的McBSP引腳說(shuō)明[1]。
5402提供的時(shí)鐘停止模式可用于SPI協(xié)議通信。當McBSP被配置為時(shí)鐘停止模式時(shí),發(fā)送器和接收器在內部是同步的,即可將發(fā)送數據幀時(shí)鐘(BFSX)用作從器件使能(即),而將發(fā)送數據位時(shí)鐘(BCLKX)用作SPI協(xié)議中SCK。由于接收數據位時(shí)鐘(BCLKR)和接收數據幀時(shí)鐘(BFSR)在內部分別與BFSX和BCLKX相連,因此,該引腳不能用于SPI模式。
當McBSP被配置為一個(gè)主設備時(shí),發(fā)送輸出信號(BDX)被用作SPI協(xié)議的MOSI信號,而接收輸入信號(BDR)則被用作MISO信號。McBSP用作主設備時(shí),與MBF20的SPI接口如圖3所示。DSP的CLKX用作SPI的串行位同步時(shí)鐘;BDX用作SPI的主控制器的輸出;BDR用作SPI的主控制器的輸入;BFSX用作SPI的串行幀同步信號。當5402的McBSP被用于時(shí)鐘停止模式,并且設置CLKSTP=10,CLKXP=1時(shí),McBSP的SPI時(shí)序與MBF200的時(shí)序吻合,如圖4所示。
4 采集系統的設計與實(shí)現
4.1 硬件設計
5402外擴RAM和ROM。RAM用來(lái)存放指紋數據,ROM用來(lái)存放DSP程序。采集系統的各部分連接如圖5所示。其中,MAX3111是提供一個(gè)RS232接口,通過(guò)這個(gè)接口,指紋采集系統可以向外(如PC機)提供指紋數據。DSP和MBF200都是3.3V供電。MBF200無(wú)需外接晶體,而是選用內部12MHz振蕩器來(lái)提供時(shí)鐘。
4.2 軟件設計
要完成MBF200與5402之間的SPI接口通信,還必須在5402上運行程序。這個(gè)程序對于5402的工程師來(lái)說(shuō)很簡(jiǎn)單,軟件流程如圖6所示。只是有一點(diǎn)值得注意:當利用5402接收指紋數據時(shí),由于MBF200在某一行沒(méi)有完成之前,幀信號必須一直有效,就是說(shuō)這一幀的長(cháng)度為2568位。所以,只能用5402的DMA來(lái)接收,DMA的接收幀長(cháng)應該配置為12816位。5402的部分匯編程序如下:
……;(MCBSP的初始化)
*打開(kāi)自動(dòng)緩沖單元(ABU),打開(kāi)DMA進(jìn)行128字16位幀的DMA接收,通道0
STM #DMSRC1,DMSA ;設置源地址為DRR10
STM #DRR10,DMSDN
STM #DMDST1,DMSA ;設置目的地址為3200H
STM #3200H,DMSDN
STM #DMCTR1,DMSA ;設置緩沖區的大小為80H個(gè)單字
STM #80H,DMSDN
STM #DMSFC1,DMSA
STM #0001000000000000B,DMSDN
STM #DMMCR1,DMSA
STM #0101000001001101B,DMSDN
STM #DMIDX0,DMSA
STM #0001H,DMSDN
STM #0000001000000011B,DMPREC
……;(這里是INT0的中斷服務(wù),用于接收MBF200的數據)
RET
全部代碼已經(jīng)通過(guò)了調試,可以取得MBF200 的指紋數據,實(shí)現指紋采集的目的。圖7是由MBF200采集到的指紋圖像。該圖是將原始數據通過(guò)RS232傳送給PC機,然后利用Matlab工具把這些數據轉化成圖像的。
結 語(yǔ)
基于MBF200的指紋采集系統使用起來(lái)很方便,易于嵌入到其它的系統當中。該采集系統已經(jīng)用于一款指紋鎖的設計之中。
評論