版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、基于單片機的低成本CMOS圖像采集系統(tǒng)來源:互聯(lián)網(wǎng)導讀在很多場合,由于客觀條件限制,人們不可能進入現(xiàn)場進行直接觀察,只能用適應性更強的電子圖像設備來代替完成,在此背景下發(fā)展起來的圖像技術成為人們關注的熱點應用技術之一,它以直觀、信息內(nèi)容豐富而被廣泛應用于許多場合。關鍵詞:圖像采集系統(tǒng)單片機CMOS在很多場合,由于客觀條件限制,人們不可能進入現(xiàn)場進行直接觀察,只能用適應性更強的電子圖像設備來代替完成,在此背景下發(fā)展起來的圖像技術成為人們關注的熱點應用技術之一,它以直觀、信息內(nèi)容豐富而被廣泛應用于許多場合。在物聯(lián)網(wǎng)系統(tǒng)中實現(xiàn)圖像采集,必須要考慮物聯(lián)網(wǎng)的以下特點:(1)物聯(lián)網(wǎng)節(jié)點對價格敏感。物聯(lián)網(wǎng)是
2、信息傳感技術的大規(guī)模應用,傳感節(jié)點數(shù)目成百上千,若每個節(jié)點的成本提高一點,整個物聯(lián)網(wǎng)系統(tǒng)的成本就會提高很多。所以傳感節(jié)點圖像采集的成本應盡量低。(2)大部分物聯(lián)網(wǎng)應用對圖像質(zhì)量要求不高。圖像采集主要是幫助用戶不需要到現(xiàn)場就可以觀察現(xiàn)場情況,對于大多數(shù)應用只要能分辨出現(xiàn)場場景即可,沒必要采集很高像素的圖像。(3)基于成本考慮,物聯(lián)網(wǎng)大多選用RS232,Zigbee,GPRS等傳輸速率不高的聯(lián)網(wǎng)方式,圖像傳輸時間較長。但許多監(jiān)測節(jié)點安放的位置固定,采集的圖像是準靜態(tài)圖像,也就是說,大部分情況下,圖像是不變的,所以對幀率要求不高。即使圖像采集的速度慢一些,也不會對現(xiàn)場情況的觀察有太大的影響?;趩纹?/p>
3、機的低成本CMOS圖像采集系統(tǒng)正是在這樣特定的應用背景下設計的。針對物聯(lián)網(wǎng)傳感節(jié)點的特性,結(jié)合現(xiàn)有的技術條件和實際應用,提出一種用單片機直接與CMOS圖像傳感器相連,采用Flash為圖像存儲器,RS232為圖像傳輸協(xié)議,并且多幀圖像拼接成一幅圖像的方法,實現(xiàn)了遠程監(jiān)控。所選器件價格低廉,硬件連接簡單,從而成本非常低。該系統(tǒng)可單獨作為獨立的圖像采集系統(tǒng),又能以非常低的成本附加到其他物聯(lián)網(wǎng)節(jié)點上,應用領域廣泛。1系統(tǒng)總體方案圖像采集系統(tǒng)是根據(jù)某種特定的使用目的和應用條件,由圖像采集、圖像存儲、圖像傳輸和系統(tǒng)控制等相關電子設備和傳輸介質(zhì)組成的一個有機整體。圖1是系統(tǒng)的總體框圖,系統(tǒng)主要由單片機、圖像
4、傳感器、Flash圖像存儲器組成。圖像傳感器負責圖像的采集,采集的圖像數(shù)據(jù)由單片機實時讀取。圖像傳感器的分辨率為240320,數(shù)據(jù)量為150KB,而單片機的內(nèi)部RAM只有2K,存不下一幀圖像,所以選擇了一款Flash作為圖像存儲器,單片機將讀取的圖像數(shù)據(jù)轉(zhuǎn)存人Flash圖像存儲器。由于圖像數(shù)據(jù)轉(zhuǎn)存入Flash需要占用數(shù)據(jù)采集的時間,這就導致單片機會錯過部分數(shù)據(jù)的采集,根據(jù)所采圖像為靜態(tài)圖像這一應用背景,錯過的數(shù)據(jù)可通過下兩幀圖像替代,由此確定了用3幀圖像拼成一幅圖像的算法。等一幅圖像采集轉(zhuǎn)存完畢,單片機再從Flash圖像存儲器中讀取圖像數(shù)據(jù),通過RS232口傳輸?shù)缴衔粰C。圖1系統(tǒng)總體框圖2系統(tǒng)
5、硬件設計21圖像傳感器系統(tǒng)采用了SP0828CMOS芯片作為圖像傳感器SP0828是一款完整的1/13英寸QVGA格式COMS圖像傳感器芯片。它支持RGB565、YUV422、RawBayer、Format圖像格式,最高像素為240320,最高幀速率為30幀/s,能夠滿足物聯(lián)網(wǎng)傳感節(jié)點圖像采集的要求。SP0828可工作在3種模式下:普通sensor、EMI、SPI;3種模式的選擇可通過I2C總線控制內(nèi)部可編程功能寄存器來實現(xiàn)。該系統(tǒng)采用SPI模式,RGB565格式圖像輸出。22STM8單片機STM8單片機是系統(tǒng)的控制中心,協(xié)調(diào)著整個系統(tǒng)的運作,所以必須要有較高的響應速度和豐富的外設資源。系統(tǒng)選
6、用高性能、低功耗的8位微處理器STM8S207S6。它運行速度快,最高可以達到24M。它的內(nèi)部資源豐富,擁有32KB的系統(tǒng)內(nèi)可編程Flash,2KB的內(nèi)部RAM,l024B的EEPROM,2個可編程的串行UART接口,一個最高速度可達400bit/s的硬件I2C接口,一個可工作在主從模式的最高速度可達10bit/s的硬件SPI接口等。并且它的開發(fā)工具簡單,易于使用,價格便宜,開發(fā)資料多。因此,選用該款單片機不僅不需要為系統(tǒng)配置額外器件,而且大大降低了整個系統(tǒng)的成本及縮短了開發(fā)時間。23Flash圖像存儲器STM8S207S6內(nèi)部RAM為2KB,一幅240320分辨率圖像的大小為150KB,內(nèi)部
7、RAM不足以存下該分辨率的圖像,所以系統(tǒng)選用一款Flash存儲器SST25VF020作為外掛圖像存儲器。SST25VF020是SST25VF系列產(chǎn)品中的一員,其芯片具有以下特點:總?cè)萘繛?56KB;單電源讀和寫操作,工作電壓為2733V;低功耗,工作電流為7mA,等待電流為3A;SPI接口,可接受SPI時鐘頻率高達33MHz,快速編程、快速擦除、快速讀取等,該系列特點滿足圖像存儲的要求。24單片機與圖像傳感器、圖像存儲器的連接STM8單片機與SP0828COMS圖像傳感器、SST25VF020Flash圖像存儲器的硬件連接如圖2所示。STM8單片機通過硬件12C接口對圖像傳感器內(nèi)部寄存器進行初
8、始化,通過硬件SPI接口接收圖像傳感器發(fā)送的數(shù)據(jù)。因為Flash圖像存儲器也是SPI接口,所以圖像存儲器與圖像傳感器分時復用STM8單片機的硬件SPI接口。圖2硬件連接框圖各接口代表的意義如下:SPI_CS:圖像傳感器SPI接口片選,低電平有效,只有該接13為低電平,圖像傳感器才能接收單片機的SPI時鐘,然后往單片機傳送數(shù)據(jù)。該引腳連接單片機的PD7普通I/O口。ECLK:圖像傳感器的主時鐘輸入引腳,連接單片機的CLK_CCO口。單片機通過該口為圖像傳感器提供16MHz的主時鐘。SPI_RD:圖像傳感器的圖像控制信號輸入腳,該引腳控制圖像傳感器下一幀圖像是否到來,高電平有效,該13連接單片機的
9、PB6普通I/O口。SPI_CLK:圖像傳感器SPI數(shù)據(jù)輸出的時鐘信號輸入腳,該引腳連接單片機硬件SPI的SPI_SCK口。單片機通過該引腳為圖像傳感器提供采數(shù)時鐘,圖像傳感器根據(jù)采數(shù)時鐘向單片機傳輸數(shù)據(jù)。SPI_SDA:圖像傳感器SPI數(shù)據(jù)輸出的數(shù)據(jù)信號輸出腳,該引腳連接單片機硬件SPI的SPI_MISO口。單片機通過該引腳采集數(shù)據(jù)。SPI_INT:圖像傳感器的中斷申請信號。圖像傳感器把每幀圖像分成幾次中斷,單片機響應中斷,在中斷服務程序里接收數(shù)據(jù)。該引腳連接單片機PIM具有外部中斷接收功能的I/O口。SBDA、SCLK:圖像傳感器I2C接口的數(shù)據(jù)引腳和時鐘引腳,連接單片機硬件I2C接口的I
10、2C_SDA和I2C_SCL,是單片機對圖像傳感器內(nèi)部寄存器讀寫操作的數(shù)據(jù)總線和時鐘總線。PWDN:圖像傳感器初始化信號線,該引腳連接單片機的PC2普通I/0口。該信號線要在圖像傳感器上電的過程中拉低,只有該引腳在低電平的情況下,圖像傳感器才能正常工作。SST_CE:FlashSPI接口的片選引腳,低電平有效,該引腳連接單片機的PD0普通I/O口。SST_SO、SST_SI:FlashSPI接口的數(shù)據(jù)引腳,連接單片機SPI_MISO和SPI_MOSI口,與圖像傳感器的SPI_SDA分時復用SPI_MISO口。SST_SCK:HashSPI接口的時鐘信號輸入引腳,連接單片機的SPI_SCK口,與
11、圖像傳感器的SPI_CLK分時復用SPI_SCK口。3系統(tǒng)軟件設計31主程序的設計系統(tǒng)軟件可分為:圖像傳感器模塊、圖像存儲器模塊、圖像的多幀采集和拼接模塊、串口數(shù)據(jù)傳輸模塊。其基本流程圖如圖3所示。為了盡量提高單片機的處理速度,將系統(tǒng)的時鐘頻率設置為最高,即16MHz。圖3主程序流程圖32圖像傳感器模塊軟件設計根據(jù)SP0828CMOS數(shù)字圖像傳感器的工作原理和工作流程,圖像傳感器模塊包括了圖像傳感器上電初始化、圖像傳感器寄存器初始化、圖像數(shù)據(jù)采集3個部分。321圖像傳感器上電初始化圖像傳感器上電初始化,就是圖像傳感器在上電結(jié)束但尚未開始工作的時候,對圖像傳感器芯片提供主時鐘、初始化信號線拉低等
12、一系列的操作,以使圖像傳感器能夠正常工作或者獲得最佳的工作狀態(tài)。其主要流程如圖4所示。圖4圖像傳感器上電初始化時序圖DVDD28&AVDD連接電源,DVDD28&AVDD拉高即是上電。在上電之后,延時至少10岬,初始化信號線PWDN拉低。然后延時至少110s,單片機為圖像傳感器提供主時鐘,為使圖像傳感器工作在最快的速度,單片機為圖像傳感器提供最高16MHz的時鐘。最后延時至少20clock,單片機通過I2C接口對圖像傳感器內(nèi)部寄存器進行初始化。上電結(jié)束。322圖像傳感器內(nèi)部寄存器初始化CMOS圖像傳感器采用I2C總線控制其各項功能,簡單、快捷。I2C總線也是目前圖像傳感器采用最普遍的控制方式。
13、用戶可以通過I2C總線改變圖像傳感器內(nèi)部可編程寄存器的缺省參數(shù)來設置圖像傳感器的工作方式,如時鐘、幀率、曝光、對比度、亮度等。I2C總線是芯片間串行數(shù)據(jù)傳輸總線,它只用一根數(shù)據(jù)線SDA和一根時鐘線SCL即可實現(xiàn)完善的雙工同步數(shù)據(jù)傳輸。I2C總線規(guī)定,主控制器發(fā)送起始信號表明一次數(shù)據(jù)傳輸?shù)拈_始,然后為尋址字節(jié),尋址字節(jié)由高7位地址位和低1位方向位組成。方向位表明主控制器與被控制器之間的數(shù)據(jù)傳輸方向,當該位為“0”時表明主控制器對被控制器的寫操作,為“1”時表明主控制器對被控制器的讀操作。尋址字節(jié)后是按照指定地址讀寫操作的數(shù)據(jù)字節(jié)與應答位。數(shù)據(jù)傳送完成后主控制器必須發(fā)送終止信號。I2C協(xié)議的時序如
14、圖5所示。圖5I2C總線的數(shù)據(jù)傳送時序圖STM8單片機有專門的硬件I2C接口,因此可通過該接口實現(xiàn)與圖像傳感器的通信。該系統(tǒng)中STM8單片機的I2C_SDA數(shù)據(jù)線和I2C_SCL時鐘線分別連接圖像傳感器的SBDA數(shù)據(jù)傳輸口和SCLK時鐘傳輸口。通過上述對I2C協(xié)議的分析,設計了如圖6所示的I2C總線數(shù)據(jù)傳輸流程。圖6I2C總線數(shù)據(jù)傳輸流程I2C總線操作的典型時序信號有起始位信號、終止位信號、發(fā)送地址、發(fā)送數(shù)據(jù)、接收數(shù)據(jù),所有的時序信號都是通過對單片機硬件I2C內(nèi)部寄存器的操作實現(xiàn)的。I2C模塊主要功能函數(shù)如下:(1)讀取圖像傳感器內(nèi)部寄存器的值unsignedcharI2C_Read(unsi
15、gnedcharslaveaddress,unsignedcharregaddress,unsignedcharslave_read_address)/*slave_address是圖像傳感器的地址+寫操作符“0”,reg_address是圖像傳感器內(nèi)部寄存器的地址,slave_read_address是圖像傳感器的地址+讀操作符“1”*/unsignedcharval;I2C_Start();/啟動I2C總線,I2C_CR2寄存器最低位置lI2C_SendDAdr(slave_address);/發(fā)送圖像傳感器的地址+寫操作符“0”I2C_SendDat(reg_address);/發(fā)送內(nèi)部
16、寄存器的地址I2C_Start();/啟動I2C總線,I2C_CR2寄存器最低位置1I2C_SendDAdr(slave_read_address);/發(fā)送圖像傳感器的地址+讀操作符“1”vai=12C_RcvDat();/從I2C接口讀取數(shù)據(jù)I2C_stop();/釋放I2C總線,I2C_CR2寄存器次低位置1retunlval;(2)讀取圖像傳感器內(nèi)部寄存器的值unsignedcharI2C_Main(unsignedcharslave_address,unsignedcharreg_address,unsignedcharwrite_data)/*slave_address是圖像傳感器的
17、地址+寫操作符“0”,reg_address是內(nèi)部寄存器的地址,write_data是要寫入寄存器的數(shù)據(jù)*/I2C_Start();/啟動I2C總線,I2C_CR2寄存器最低位置1I2C_SendDAdr(slave_address);/發(fā)送圖像傳感器的地址+寫操作符“0”I2C_SendDat(reg_address);/發(fā)送內(nèi)部寄存器的地址I2C_SendDat(write_data);/發(fā)送內(nèi)部寄存器要寫入的數(shù)據(jù)I2C_stop();/釋放I2C總線,I2C_CR2寄存器次低位置1323圖像數(shù)據(jù)的采集單片機通過SPI協(xié)議采集CMOS圖像傳感器的圖像數(shù)據(jù)。SPI總線是一種同步串行外設接口,
18、允許MCU與各種外圍接口器件以串行方式進行通信。SPI總線一般采用4根線:串行時鐘線SCK、主機輸入從機輸出數(shù)據(jù)線MISO、主機輸出從機輸入數(shù)據(jù)線MOSI、低電平有效的使能信號線SS。因為在系統(tǒng)的SPI數(shù)據(jù)傳輸過程中,單片機只采集圖像傳感器的數(shù)據(jù),沒有向圖像傳感器的數(shù)據(jù)輸出,所以系統(tǒng)選用SPl只接收模式,這樣只需要一根串行時鐘線SCK和一根主機輸入從機輸出數(shù)據(jù)線MISO即可,節(jié)省硬件資源。SPI接口的最大特點是由主設備時鐘信號的出現(xiàn)與否來決定主從設備之間的通信。在從設備被使能時,一旦檢測到主設備的時鐘信號,數(shù)據(jù)開始傳輸,時鐘信號無效后,傳輸結(jié)束。在系統(tǒng)中,單片機作為主設備,圖像傳感器作為從設備
19、,圖像傳感器在時鐘的下降沿變數(shù),單片機在時鐘的上升沿采集數(shù)據(jù),圖像傳感器接收單片機的時鐘信號SPI協(xié)議的時序如圖7所示。圖7SPI總線的數(shù)據(jù)傳送時序圖STM8單片機有專門的硬件SPI接口,因此可通過該接1:2采集圖像數(shù)據(jù)。圖像傳感器SPI時鐘輸入引腳連接單片機的SPI_SCK口,圖像傳感器圖像數(shù)據(jù)輸出引腳連接單片機SPI_MISO口,片選SPI_CS引腳連接單片機的普通I/O口PD7。然后對硬件SPI的參數(shù)進行配置,主要包括時鐘頻率、工作模式、主從模式、空閑時候電平狀態(tài)、觸發(fā)邊沿等,這些參數(shù)都可以通過單片機硬件SPI的內(nèi)部寄存器的配置實現(xiàn)。SPI總線讀取圖像數(shù)據(jù)的流程如下:unsignedch
20、arspinet_byte(void)while(?。⊿PI_SR&0x02);/等待總線空閑SPI_DR=Oxff;/產(chǎn)生時序信號硬件SPI在且僅在發(fā)送數(shù)據(jù)的時候才產(chǎn)生SCK時鐘while(?。⊿PI_SR&0x01);/等待數(shù)據(jù)接收完畢returnSPI_DR;/將接收到的數(shù)據(jù)返回33Flash模塊軟件設計SST25VF020是一款2MbitSPISerialNOR型Flash芯片,在系統(tǒng)中作為圖像存儲器使用。該Flash通過SPI的串口接收指令和數(shù)據(jù),支持3/4的SPI協(xié)議,其工作時序如圖8所示。圖8SST25VF020的工作時序圖從上圖可以看出,CE#f氐電平使能芯片正常工作,該芯片在
21、SCK的上升沿讀入信號,在SCK下降沿的時候輸出信號。STM8單片機有專門的硬件SPI接口,但是圖像傳感器也需要單片機的硬件sPI接口與之通信,所以系統(tǒng)設計了一種分時復用單片機硬件SPI接口的方式。CE#片選連接單片機的普通I/O口PD0,該I/O口在不同的時刻與圖像傳感器的片選PD7分別選中,如此,一個硬件SPI接口便可操作2個SPI設備。SPI時鐘輸入引腳連接單片機的SPI_SCK口,SI讀人信號連接單片機的SPI_MOSI,SO輸出信號連接單片機的SPI_MISO。硬件SPI配置與前文所述圖像數(shù)據(jù)采集Sial一致。此外,與圖像采集相比,在程序部分還要多加一個單片機輸出信號函數(shù)。Flash
22、模塊主要功能函數(shù)如下:voidsst_send_byte(unsignedcharbyte)while(?。⊿PI_SR&0x02);/等待總線空閑SPI_DR=byte;/將要寫入的數(shù)據(jù)byte存入SPI_DRwhile(?。⊿PI_SR&0x01);/等待數(shù)據(jù)發(fā)送完畢完畢tmp=SPI_DR;/清空接收緩沖區(qū)voidflashwrite_byte(unsignedlongaddr,unsignedchardata)/向緩沖區(qū)l的指定位置(0263)寫入指定字節(jié)write_en();/寫使能命令mss0();/片選端選中,低電平有效send(0x02);/寫命令send(unsignedch
23、ar)(addr16);/發(fā)送數(shù)據(jù)的地址send(unsignedchar)(addr8);send(unsignedchar)addr);send(data);/發(fā)送要寫入的數(shù)據(jù)mssl();/釋放片選unsignedcharflashreadbyte(unsignedlongaddr)unsignedcharbyte;mss0();/片選端選中,低電平有效send(0x03);/讀命令send(unsignedchar)(addr16);/發(fā)送數(shù)據(jù)的地址send(unsignedchar)(addr8);send(unsignedchar)addr);byte=get();/讀取數(shù)據(jù)mssl();/釋放片選returnbyte;34圖像的多幀采集和拼接模塊軟件設計為保存圖像數(shù)據(jù),系統(tǒng)引入Flash存儲器,而數(shù)據(jù)轉(zhuǎn)存入Flash存儲器需要占用中斷響應時間,這就導致了中斷響應時間不夠的問題。為解決這個問題,根據(jù)所采圖像為靜態(tài)圖像這一應用背景,提出一種多幀圖像的部分采集與拼接算法,在中斷響應時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度住宅小區(qū)水電安裝與節(jié)能評估承包合同3篇
- 二零二五版茶葉店店長聘用及茶文化推廣合同3篇
- 2025年度環(huán)保型建筑材料采購供應合同范本4篇
- 二零二五年度草坪圍欄施工與生態(tài)旅游開發(fā)合同3篇
- 二零二五年度生態(tài)公園打樁工程設計合同4篇
- 現(xiàn)代農(nóng)業(yè)科技引領辦公自動化新趨勢
- 2025年度民房建筑項目施工監(jiān)理合同范本4篇
- 二零二五版高端制造企業(yè)廠長職務聘用合同與防盜門安全協(xié)議2篇
- 二零二五年度新能源風力發(fā)電項目投資合同4篇
- 二零二五足浴行業(yè)承包經(jīng)營合同樣本4篇
- 2024年考研英語(一)真題及參考答案
- 2024年采購代發(fā)貨合作協(xié)議范本
- 工業(yè)自動化設備維護保養(yǎng)指南
- 《向心力》參考課件4
- 2024至2030年中國膨潤土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報告
- 【地理】地圖的選擇和應用(分層練) 2024-2025學年七年級地理上冊同步備課系列(人教版)
- JBT 14588-2023 激光加工鏡頭 (正式版)
- 2024年四川省成都市樹德實驗中學物理八年級下冊期末質(zhì)量檢測試題含解析
- 廉潔應征承諾書
- 2023年四川省成都市中考物理試卷真題(含答案)
- 泵車述職報告
評論
0/150
提交評論