熊濤, 趙立宏
(南華大學(xué)a.機(jī)械工程學(xué)院;b.軍工科技處,湖南衡陽(yáng) 421001)
膠體金免疫層析技術(shù)[1-2]經(jīng)過多年的不斷進(jìn)步與發(fā)展,在醫(yī)療檢測(cè)領(lǐng)域得到了廣泛的使用,相應(yīng)的金標(biāo)試紙讀數(shù)儀器也得到了大量的應(yīng)用[3],目前市面上常見的金標(biāo)試紙讀數(shù)儀器具有較好的定量分析結(jié)果的是采用基于圖像處理技術(shù)[4-5]的定量金標(biāo)試紙讀數(shù)儀器。然而多數(shù)為體積較大的臺(tái)式機(jī)或者是需要接上位機(jī)進(jìn)行數(shù)據(jù)處理的分析儀器,不方便攜帶。因此設(shè)計(jì)一款具有獨(dú)立運(yùn)算處理能力的嵌入式系統(tǒng),不僅方便攜帶還可以降低成本,更適合個(gè)人和現(xiàn)場(chǎng)的使用。
圖1 系統(tǒng)總體設(shè)計(jì)圖
系統(tǒng)的總體設(shè)計(jì)如圖1所示,主要由STM32微處理器、圖像采集模塊、圖像顯示模塊、數(shù)據(jù)存儲(chǔ)模塊、外部通信模塊和電源模塊構(gòu)成。各模塊的功能如下:1)主控芯片采取的是STM32F407ZGT6用于對(duì)數(shù)據(jù)的處理,以及對(duì)各模塊的控制;2)圖像數(shù)據(jù)的采集模塊由OV5640的攝像頭模塊、LED光源照明模塊組成,用于對(duì)試紙條的顯色并采集顯色后的圖像;3)顯示模塊采取的是2.8 in的觸摸屏方便實(shí)驗(yàn)結(jié)果的顯示,并可以實(shí)現(xiàn)相應(yīng)的觸摸操作功能;4)數(shù)據(jù)存儲(chǔ)模塊有Flash與SD卡組成,F(xiàn)lash主要用于對(duì)讀取次數(shù)不是很頻繁的數(shù)據(jù)進(jìn)行儲(chǔ)存,SD卡用于對(duì)圖像數(shù)據(jù)信息以及處理后的結(jié)果信息進(jìn)行保存;5)外部通信模塊USB接口用于對(duì)程序的燒結(jié),也可對(duì)其系統(tǒng)提供充電接口;6)電源模塊采取備用電池供電,且可通過USB接口對(duì)其進(jìn)行充電。2 硬件的設(shè)計(jì)
金標(biāo)試紙讀數(shù)儀需要總體體積小,便于攜帶,足夠的內(nèi)存容量,高速的運(yùn)算處理力能,以獲得獨(dú)立運(yùn)算處理和快速的處理速度。本設(shè)計(jì)中采取了目前較為流行的ST公司的STM32F407ZGT6為主控芯片,其具有32位高性能ARM Cortex-M4處理器[6],時(shí)鐘高達(dá)168 MHz,具有192 kB的SRAM,1024 kB的Flash,并且支持FPU(浮點(diǎn)運(yùn)算)和DSP指令,可以運(yùn)行算圖像處理的算法,實(shí)現(xiàn)獨(dú)立運(yùn)算處理。
2.2.1 攝像頭的選擇
圖像清晰度越高,圖像處理得到的特征值的結(jié)果越可靠,本文選擇的OV5640攝像頭具有500萬(wàn)像素的高清攝像頭,采用OmniVision公司生產(chǎn)的一顆1/4 in CMOS QSXGA(2592×1944)圖像傳感器具有高靈敏度、低串?dāng)_和低噪聲等優(yōu)點(diǎn)。其具有8位數(shù)據(jù)的數(shù)據(jù)接口,通過SCCB總線控制,輸出格式包括RawRGB、RGB(RGB565/RGB555/RGB444)、CCIR656、YUV(422/420)、YCbCr422和JPEG。輸出的像素為QSXGA(2592×1944)及以下40×30的任意尺寸??奢敵龅淖畲髱?輸出像素為QSXGA(2592×1944)可達(dá)到15 fps;輸出像素為1080P(1920×1080)可達(dá)到30 fps;輸出像素為720 P(1280×720)可達(dá)到60 fps。OV5640的電氣原理圖如圖2所示。
2.2.2 攝像頭控制總線SCCB
圖2 OV5640電氣原理圖
SCCB(Seril Camera Control Bus)即串行攝像頭控制總線,由兩條數(shù)據(jù)線組成:一條為SIO_C用于傳輸時(shí)鐘信號(hào),一條為SIO_D用于傳輸數(shù)據(jù)信號(hào)。其傳輸協(xié)議與I2C協(xié)議相似,只是SCCB每一次傳輸?shù)臄?shù)據(jù)為9位,前8位數(shù)據(jù)是有用的數(shù)據(jù),最后一位在讀周期中為NA位。SCCB有3種傳輸周期:第1種為3相寫傳輸周期,3個(gè)相分別為設(shè)備從地址,內(nèi)存地址,所寫數(shù)據(jù);第2種為2相寫傳輸周期,分別為設(shè)備從地址和內(nèi)存地址;第3種為2相讀傳輸周期,分別為設(shè)備從地址和所讀數(shù)據(jù)。如果進(jìn)行寫入操作的時(shí)候,使用第1種傳輸周期,如果進(jìn)行讀操作時(shí),使用第2種寫傳輸周期后用第3種傳輸周期。
本設(shè)計(jì)采用的是2.8 in的電阻式觸摸屏,其液晶顯示屏為2.8 in的TFT LCD,分辨率為320×240,其驅(qū)動(dòng)芯片采取的是ILI9341,具有172 800(240×320×18/8)的顯存,也就是18位的模式下的顯存量。當(dāng)在16位模式下時(shí),總線、MCU與LCDGRAM對(duì)應(yīng)關(guān)系如圖3所示。
圖3 16位數(shù)據(jù)對(duì)應(yīng)關(guān)系
由圖3可知,在16位模式下,ILI9341的D0與D12沒有被用到,而MCU的16位數(shù)據(jù),高5位對(duì)應(yīng)的是紅,中間6位對(duì)應(yīng)的是綠,低5位對(duì)應(yīng)的是藍(lán)。值得注意的是ILI9341的指令都是只有8位數(shù)據(jù)的,其高八位數(shù)據(jù)是無(wú)效的,只有在讀和寫LCDGRAM的時(shí)候才是16位的數(shù)據(jù)。
2.8 in的電阻式觸摸屏主要是一塊和顯示屏相配合的電阻薄膜屏,其具有價(jià)格低、精度高、穩(wěn)定性能比較好、抗干擾的能力也比較強(qiáng)等優(yōu)點(diǎn)。對(duì)于觸摸屏需要相應(yīng)的AD轉(zhuǎn)換器,本設(shè)計(jì)采取芯片ADS7843進(jìn)行轉(zhuǎn)換,具有較好的兼容性。
圖4 XPT2046原理圖
而屏幕控制芯片本設(shè)計(jì)采用的是XPT2046,是一種4導(dǎo)線的觸摸屏控制器,其分辨率為125 Hz,XPT2046可以支持1.5~5.25 V的低電壓I/O接口。經(jīng)過兩次A/D轉(zhuǎn)換就可以找到觸摸點(diǎn)的位置。XTP2046的原理如圖4所示。
針對(duì)便攜式的金標(biāo)試紙讀數(shù)儀需要將采集到的圖像信息以及圖像處理后的結(jié)果保存下來,方便重復(fù)查看和利用,因此需要一個(gè)較大的空間來儲(chǔ)存這些信息。因此需要選用SD卡來存儲(chǔ)相應(yīng)的數(shù)據(jù)信息。SD卡(Secure Digital Memory Card),在一些便攜式的儀器中運(yùn)用較多,具有高容量,最大可達(dá)2 TB;高安全性;高速,目前已有讀取速度近100 MB/s的SD卡;體積??;接口簡(jiǎn)單,支持SPI和SDIO兩種訪問模式。本設(shè)計(jì)選用金士頓的SD卡進(jìn)行存儲(chǔ)。SD卡的通信主要進(jìn)過9個(gè)引腳來完成,有1個(gè)時(shí)鐘,1個(gè)命令,3條電源線,4條數(shù)據(jù)線。最高頻率可達(dá)到25 Hz,支持SDIO和SPI等方式。SD卡的原理圖如圖5。
圖5 SD卡原理圖
電源模塊是給整個(gè)便攜式金標(biāo)讀數(shù)儀各電路提供電源的部分,而根據(jù)STM32芯片以及各模塊的需求,所需的供電電壓主要是5 V和3.3 V,電流也在毫安級(jí)別,為了儀器長(zhǎng)久且方便地使用,采用可充電式的備用電池,因此,電源模塊主要包括充電芯片、穩(wěn)壓器、電池組成,實(shí)現(xiàn)對(duì)電池的充電及對(duì)電壓的轉(zhuǎn)換。
本設(shè)計(jì)中考慮到儀器的功耗所需,電池選用常見的鋰電池,其具有3.7 V的放電電壓和放電截止電壓為2.75 V,以及4.2 V的充電截止電壓。因此充電芯片需滿足5 V的充電電壓以及4.2~2.75 V的放電電壓,本設(shè)計(jì)中采用LTC4054-4.2的充電芯片,其可提供4.2 V的固定充電電壓,且可直接從USB接口給電池充電。而為了滿足3.3~5 V的電壓轉(zhuǎn)換,本設(shè)計(jì)中穩(wěn)壓芯片采用的是TPS7333,其為微功率低壓差的穩(wěn)壓器,可提供的最高電流為500 mA、3.3 V的固定電壓。而在STM32F407ZGT6中有專門的后備電池的接口VBAT接口。
經(jīng)LED燈光源照射使得試紙條進(jìn)行顯色反應(yīng),并通過驅(qū)動(dòng)攝像頭與LCD顯示屏就可以實(shí)時(shí)地進(jìn)行圖像的顯示了,本設(shè)計(jì)中采用DCMI的幀中斷進(jìn)行圖像一幀數(shù)據(jù)的采集,當(dāng)采集到一幀數(shù)據(jù)后進(jìn)行儲(chǔ)存,并通過DCMI開啟DMA將一幀圖像數(shù)據(jù)顯示到LCD上,并清空中斷標(biāo)志位之后進(jìn)行下一幀的圖形提取,直到采集完所有圖像信息,并實(shí)時(shí)顯示在LCD顯示屏上。其圖像采集的流程如圖6所示。
圖6 圖像顯示流程圖
圖像數(shù)據(jù)及處理結(jié)果是存儲(chǔ)在SD卡中的,而要驅(qū)動(dòng)SD卡,最主要的是對(duì)SD卡的初始化,其次是對(duì)SD卡的讀寫操作。對(duì)SD卡初始化,我們第一步是對(duì)卡上電設(shè)置SDIO_POWER[1:0]=11,之后發(fā)送CMD0命令,進(jìn)行卡的復(fù)位,然后發(fā)送CMD8,用于區(qū)分SD卡2.0,同時(shí)通過其所帶的參數(shù)設(shè)置VHS位,實(shí)現(xiàn)SD卡了解系統(tǒng)的供電情況。并通過發(fā)送ACMD41命令,用于了解SD卡的操作電壓范圍,對(duì)支持CMD8的卡,系統(tǒng)設(shè)置ACMD41的HCS=1,用于SD卡判斷系統(tǒng)支持SDHC卡;對(duì)2.0的卡,OCR的CCS位用于表示SDHC還是SDSC;對(duì)1.x的卡,則忽略該位;對(duì)MMC卡,則不支持ACMD41,MMC卡只需要發(fā)送:CMD0和CMD1即可完成初始化。對(duì)應(yīng)SD卡的讀取(圖7(a))與寫入(圖7(b))流程圖如圖7所示。
圖7 SD卡讀取寫入流程圖
搭建硬件STM32的硬件平臺(tái),并驅(qū)動(dòng)各模塊正常運(yùn)行,以O(shè)V5640攝像頭模塊提取圖像信息,并實(shí)時(shí)地顯示在液晶顯示屏上,如圖8(a)所示,相應(yīng)的灰度顯示如圖8(b)所示。
從圖片可以看出畫面有點(diǎn)偏藍(lán),這是此液晶顯示屏在手機(jī)拍攝時(shí)產(chǎn)生的,本身屏幕顯示時(shí)并不存在。
由圖8可以看出,該系統(tǒng)可以提取到像素較為清晰的畫面,相應(yīng)的灰度顯示圖也有較高的值,這為后期進(jìn)行圖像的分割以及特征值的提取打下了很好的基礎(chǔ)。
本文中以STM32F407ZGT6為主控芯片,搭建的硬件平臺(tái),以O(shè)V5640進(jìn)行圖像的采集,并通過液晶顯示屏進(jìn)行實(shí)時(shí)的顯示、有用圖像的拍照采集,也可以進(jìn)行圖像的灰度顯示,為后期進(jìn)一步的圖像處理提供基礎(chǔ)。本設(shè)計(jì)成本低,體積小,提取到的圖像清晰,處理的速度快,適于快速測(cè)試。
[1] 蔣旭,李青竹,邱月紅,等.膠體金免疫層析技術(shù)研究進(jìn)展[J].畜禽業(yè),2015(5):28-30.
[2] 樊淑華,王永立.膠體金免疫層析技術(shù)應(yīng)用研究進(jìn)展[J].動(dòng)物醫(yī)學(xué)進(jìn)展,2014(10):99-103.
[3] 任娟.膠體金免疫層析技術(shù)研究現(xiàn)狀及進(jìn)展[J].新疆畜牧業(yè),2011(12):22-24.
[4] 趙友全,楊成文,陳峰,等.一種新型便攜式甲霜靈膠體金試紙條顯色分析儀的研制[J].儀器儀表學(xué)報(bào),2009,30(10):2175-2179.
[5] 吳元樹.利用圖像采集裝置實(shí)現(xiàn)免疫層析定量檢測(cè)的研究[D].福州:福州大學(xué),2014.
[6] 佚名.ST推出高性能STM32F4系列微控制器[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(11):3.