S3C2410與指紋傳感器MBF200的SPI通信設計
引言
本文引用地址:http://dyxdggzs.com/article/201808/385418.htm隨著(zhù)網(wǎng)絡(luò )技術(shù)和通信技術(shù)的發(fā)展,傳統的身份認證技術(shù)對于信息安全表現得越來(lái)越有些力不從心了。由于人的身體特征具有唯一性和穩定性,人們開(kāi)始把目光轉向了生物識別技術(shù),如指紋、虹膜、DNA、掌形識別等。在眾多的特征識別中,指紋采集設備由于具有體積小、功耗低、穩定性好、誤判概率低等優(yōu)點(diǎn),而受到人們的青睞。指紋傳感器是指紋采集設備中的核心器件,在此選用富士通公司的MBF200。它是一款先進(jìn)的固態(tài)指紋傳感器芯片,具有性能高、功耗低、成本低、接口方便等特點(diǎn)。這使得在嵌入式系統中實(shí)現數據的傳輸更加方便。S3C2410是三星公司推出的ARM920T核微處理器,主要面向手持設備以及高性?xún)r(jià)比、低功耗的應用,且在片上集成了豐富的組件,有利于其擴展。
1 MBF200的結構和特點(diǎn)介紹
MBF200是為嵌入式系統設計的高性能、低功耗的電容指紋傳感器。該芯片傳感區域為1.28 cm×1.50 Cm,具有256×300傳感器陣列和500 dpi的分辨率,集成8位A/D轉換器,工作電壓為3.3~5 V,且有指紋自動(dòng)檢測功能。提供3種總線(xiàn)接口:8位微處理器總線(xiàn)接口(MCU)、串行外圍設備接口(SPI)和集成USB全速接口。鑒于接口簡(jiǎn)單,實(shí)現容易且占用的I/O較少,本文采用SPI接口方式。
MBF200的內部結構如圖1所示。其中256×300傳感器陣列用于產(chǎn)生感應電壓;功能寄存器用于對芯片進(jìn)行操作控制;控制電路用于傳感器與外部接口電路的控制,負責數據的讀出與寫(xiě)入;地址索引寄存器與數據寄存器分別用于對功能寄存器的地址選擇及數據的讀寫(xiě);采樣保持及A/D轉換電路用于對傳感器陣列所產(chǎn)生的電壓進(jìn)行采樣。另外,多頻振蕩電路用于為芯片提供時(shí)鐘信號。

MBF200共有19個(gè)寄存器,對芯片的讀/寫(xiě)操作實(shí)際上就是對寄存器的操作,所以了解寄存器的功能才能學(xué)會(huì )芯片的使用。由于本文采用的是串行外圍設備接口(SPI)的從操作模式,這里僅對用到的一些重要寄存器進(jìn)行說(shuō)明。
(1)CTRLA(控制寄存器A)
控制寄存器A的功能說(shuō)明如表1所列。

寫(xiě)該寄存器開(kāi)始圖像轉換,讀該寄存器來(lái)獲取A/D轉換結果。GETSUB、GETIMG和GETROW三位選定了相應的一種圖像存取模式,并且初始化了A/D轉換器的轉換序列。ANISEL位確定了A/D轉換的來(lái)源。置GETSUB位為1,開(kāi)始捕獲由RAH、RAL、CAL、REH、REL、CEL確定的矩形圖形區域。置GETIMG位為1,開(kāi)始捕獲整幅圖像而不用考慮行列寄存器。置GETROW位為1,開(kāi)始捕獲由RAH、RAL確定的行單元數據。向GETSUB、GETIMG和GETROW中的任意一位寫(xiě)入1個(gè)“1”,都將放棄當前對應模式的圖像獲取并重新開(kāi)始該新模式的圖像獲取,而且這3位每次最多只能有1位被置成1。如果這3位中有多于一位被置成1,那么圖像的轉換就不會(huì )開(kāi)始。當GETIMG被置成l后,MBF200會(huì )完成以下一系列動(dòng)作:
①行地址被置成O;
②列地址被置成O;
③自動(dòng)開(kāi)始圖像的行獲取;
④第一個(gè)像素的A/D轉換自動(dòng)開(kāi)始。
當向CTRLA中寫(xiě)“O”時(shí),除了會(huì )清除ANSEL之外,并不會(huì )使MBF200放棄當前的圖像。讀CTRLA的狀態(tài)可以得到A/D轉換的結果。
(2)CTRLB(控制寄存器B)
控制寄存器B的功能說(shuō)明如表2所列。

在SPI模式中,AFDEN與ENABLE聯(lián)合使用,通過(guò)產(chǎn)生中斷來(lái)喚醒微處理器和啟動(dòng)A/D轉換使能,這樣可以節省電量??刂萍拇嫫鰿TRLB中的AUTOINCEN位用于設置是否啟動(dòng)自動(dòng)增加行列地址寄存器的值。當此位被設置1時(shí),若某一個(gè)像素的A/D轉換值被讀取,則列地址自動(dòng)增加,同時(shí)下一個(gè)像素的A/D轉換自動(dòng)開(kāi)始。一旦某行的最后一個(gè)像素的灰度值被讀取,則行地址自動(dòng)增加,同時(shí)這行的第一個(gè)像素的A/D轉換自動(dòng)開(kāi)始。
(3)ICR中斷控制寄存器
這個(gè)寄存器主要控制指紋傳感器的2個(gè)中斷源,中斷請求O與手指探測中斷對應,中斷請求1與引腳EXTINT的外部中斷對應。各位的詳細說(shuō)明請查閱參考文獻。
2 硬件接口設計
2.1 MBF200的SPI接口特性
在SPI從模式中,傳感器支持的數據傳輸格式為SPImode(O,0)和SPI mode(1,1)。如圖2所示,MBF200的時(shí)序要求如下:
①在數據傳輸中,SCS保持低電平;
②MOSI線(xiàn)上的數據在SCK的上升沿被采樣;
③SCK在空閑狀態(tài)時(shí),可為高電平,也可為低電平;
④MISO線(xiàn)上的數據在SCK的下降沿發(fā)生變化;
⑤最高位先被移出;
⑥指令格式是8位指令碼加8位地址碼和8位數據。

2.2 S3C2410的SPI接口特點(diǎn)
S3C2410有2個(gè)串行外圍設備接口(SPI),每個(gè)SPI接口都有2個(gè)分別用于發(fā)送和接收的8位移位寄存器。在SPI通信中,數據同時(shí)被發(fā)送(串行移出)和接收(串行移入),8位串行數據的傳輸速率由相關(guān)的控制寄存器決定。
SPI的接口特性:與SPI接口協(xié)議v2.11兼容;8位用于發(fā)送的移位寄存器;8位用于接收的移位寄存器;8位預分頻邏輯;查詢(xún)、中斷和DMA傳送模式。
把S3C2410的SPI配置為主設備,完成對MBF200的接口設計,硬件連接如圖3所示。SPIMOSI0作為主設備的輸出,SPIMISOO作為主設備的輸入,SPICLK0用作SPI通信的串行時(shí)鐘。且S3C2410支持4種不同的傳輸格式,可以保證主從設備時(shí)序的一致性。

S3C2410的SPI接口操作:通過(guò)SPI接口,S3C2410可以與MBF、200同時(shí)發(fā)送和接收8位數據。串行時(shí)鐘線(xiàn)與兩條數據線(xiàn)同步,用于移位和數據采樣。數據傳輸速率由SPPREn寄存器控制,通過(guò)修改預分頻值來(lái)調整波特率。當GPGO輸出為低電平時(shí),向SPDATn寄存器寫(xiě)入字節數據,SPI發(fā)送和接收操作就同時(shí)啟動(dòng)。
3 軟件設計
軟件設計主要實(shí)現S3C2410控制MBF200型指紋傳感器進(jìn)行操作,采用移植性強的C語(yǔ)言在A(yíng)RM的集成開(kāi)發(fā)環(huán)境ADS1.2下編寫(xiě),主程序流程如圖4所示。目標板上電后就對整個(gè)采集系統進(jìn)行初始化操作,包括ARM系統的初始化和MBF200的初始化,對它們進(jìn)行參數配置。初始化完成后就開(kāi)始檢測指紋傳感器上是否有手指,如果有就發(fā)生中斷,在中斷服務(wù)程序進(jìn)行指紋圖像的采集,并保存起來(lái)。

3.1 S3C2410系統的初始化
任何一個(gè)系統啟動(dòng)的最初任務(wù)都是硬件的初始化,為后面的應用程序的執行準備好一些基本的硬件環(huán)境,包括看門(mén)狗和中斷的設置、CPU的速度和時(shí)鐘頻率的配置、相關(guān)存儲器的設置,以及與SPI通信相關(guān)的寄存器的設置。部分代碼如下:

3.2 MBF200的初始化
MBF200共有19個(gè)寄存器,除了SRA、CIDH、CIDL之外,在指紋采集之前必須對其初始化。


3.3 指紋采集程序設計
指紋采集工作由檢測到手指中斷開(kāi)始,向CTRLA寄存器寫(xiě)入0x02開(kāi)始整個(gè)區域的指紋圖像數據采集;行捕獲時(shí)間和A/D轉換時(shí)間結束后,讀取CTRLA寄存器,即當前像素點(diǎn)的8位數字量數值。每次讀取當前像素點(diǎn)的數值后自動(dòng)進(jìn)行下一像素點(diǎn)的A/D轉換,循環(huán)讀取CTRLA的值到指定的空間就可以獲得一枚指紋圖像的數據。指紋采集程序流程如圖5所示。

由于MBF200與指紋傳感器FPS200的結構和采集原理類(lèi)似,根據FPS200的行捕獲時(shí)間和A/D轉換時(shí)間的算法,可估算出MBF200的行捕獲時(shí)間TROW和A/D轉換時(shí)間TA/D。計算方法如下:

其中:TS為傳感器時(shí)鐘周期,DT[6:O]為放電時(shí)間常數。由于2個(gè)等待時(shí)間不易過(guò)短,所以估算出丁RROW為

結 語(yǔ)
隨著(zhù)信息安全越來(lái)越受重視,指紋自動(dòng)識別系統會(huì )有更廣闊的應用空間。本文所研究的是指紋識別系統的最前端——指紋采集模塊,結合MBF200自身的特點(diǎn),提出了與S3C2410間的SPI通信方式。這種方式結構簡(jiǎn)單,使用方便,易于嵌入。
評論