基于單片機的低成本CMOS圖像采集系統
在很多場合,由于客觀條件限制,人們不可能進入現場進行直接觀察,只能用適應性更強的電子圖像設備來代替完成,在此背景下發展起來的圖像技術成為人們關注的熱點應用技術之一,它以直觀、信息內容豐富而被廣泛應用于許多場合。在物聯網系統中實現圖像采集,必須要考慮物聯網的以下特點:
本文引用地址:http://www.104case.com/article/201609/297210.htm(1)物聯網節點對價格敏感。
物聯網是信息傳感技術的大規模應用,傳感節點數目成百上千,若每個節點的成本提高一點,整個物聯網系統的成本就會提高很多。所以傳感節點圖像采集的成本應盡量低。
(2)大部分物聯網應用對圖像質量要求不高。
圖像采集主要是幫助用戶不需要到現場就可以觀察現場情況,對于大多數應用只要能分辨出現場場景即可,沒必要采集很高像素的圖像。
(3)基于成本考慮,物聯網大多選用RS232,Zigbee,GPRS等傳輸速率不高的聯網方式,圖像傳輸時間較長。
但許多監測節點安放的位置固定,采集的圖像是準靜態圖像,也就是說,大部分情況下,圖像是不變的,所以對幀率要求不高。即使圖像采集的速度慢一些,也不會對現場情況的觀察有太大的影響。基于單片機的低成本CMOS圖像采集系統正是在這樣特定的應用背景下設計的。針對物聯網傳感節點的特性,結合現有的技術條件和實際應用,提出一種用單片機直接與CMOS圖像傳感器相連,采用Flash為圖像存儲器,RS232為圖像傳輸協議,并且多幀圖像拼接成一幅圖像的方法,實現了遠程監控。所選器件價格低廉,硬件連接簡單,從而成本非常低。該系統可單獨作為獨立的圖像采集系統,又能以非常低的成本附加到其他物聯網節點上,應用領域廣泛。
1系統總體方案
圖像采集系統是根據某種特定的使用目的和應用條件,由圖像采集、圖像存儲、圖像傳輸和系統控制等相關電子設備和傳輸介質組成的一個有機整體。
圖1是系統的總體框圖,系統主要由單片機、圖像傳感器、Flash圖像存儲器組成。圖像傳感器負責圖像的采集,采集的圖像數據由單片機實時讀取。圖像傳感器的分辨率為240×320,數據量為150KB,而單片機的內部RAM只有2K,存不下一幀圖像,所以選擇了一款Flash作為圖像存儲器,單片機將讀取的圖像數據轉存人Flash圖像存儲器。由于圖像數據轉存入Flash需要占用數據采集的時間,這就導致單片機會錯過部分數據的采集,根據所采圖像為靜態圖像這一應用背景,錯過的數據可通過下兩幀圖像替代,由此確定了用3幀圖像拼成一幅圖像的算法。等一幅圖像采集轉存完畢,單片機再從Flash圖像存儲器中讀取圖像數據,通過RS232口傳輸到上位機。

圖1 系統總體框圖
2系統硬件設計
2.1 圖像傳感器系統
SP0828是一款完整的1/13英寸QVGA格式COMS圖像傳感器芯片。它支持RGB565、YUV422、RawBayer、Format圖像格式,最高像素為240×320,最高幀速率為30幀/s,能夠滿足物聯網傳感節點圖像采集的要求。SP0828可工作在3種模式下:普通sensor、EMI、SPI;3種模式的選擇可通過I2C總線控制內部可編程功能寄存器來實現。該系統采用SPI模式,RGB565格式圖像輸出。
2.2 STM8單片機
STM8單片機是系統的控制中心,協調著整個系統的運作,所以必須要有較高的響應速度和豐富的外設資源。系統選用高性能、低功耗的8位微處理器STM8S207S6。它運行速度快,最高可以達到24M。它的內部資源豐富,擁有32KB的系統內可編程Flash,2KB的內部RAM,l024B的EEPROM,2個可編程的串行UART接口,一個最高速度可達400bit/s的硬件I2C接口,一個可工作在主從模式的最高速度可達10bit/s的硬件SPI接口等。并且它的開發工具簡單,易于使用,價格便宜,開發資料多。
因此,選用該款單片機不僅不需要為系統配置額外器件,而且大大降低了整個系統的成本及縮短了開發時間。
2.3 Flash圖像存儲器
STM8S207S6內部RAM為2KB,一幅240×320分辨率圖像的大小為150KB,內部RAM不足以存下該分辨率的圖像,所以系統選用一款Flash存儲器SST25VF020作為外掛圖像存儲器。SST25VF020是SST25VF系列產品中的一員,其芯片具有以下特點:總容量為256KB;單電源讀和寫操作,工作電壓為2.7~3.3V;低功耗,工作電流為7mA,等待電流為3μA;SPI接口,可接受SPI時鐘頻率高達33MHz,快速編程、快速擦除、快速讀取等,該系列特點滿足圖像存儲的要求。2.4單片機與圖像傳感器、圖像存儲器的連接STM8單片機與SP0828COMS圖像傳感器、SST25VF020Flash圖像存儲器的硬件連接如圖2所示。STM8單片機通過硬件12C接口對圖像傳感器內部寄存器進行初始化,通過硬件SPI接口接收圖像傳感器發送的數據。因為Flash圖像存儲器也是SPI接口,所以圖像存儲器與圖像傳感器分時復用STM8單片機的硬件SPI接口。

圖2 硬件連接框圖
各接口代表的意義如下:SPI_CS:圖像傳感器SPI接口片選,低電平有效,只有該接13為低電平,圖像傳感器才能接收單片機的SPI時鐘,然后往單片機傳送數據。該引腳連接單片機的PD7普通I/O口。ECLK:圖像傳感器的主時鐘輸入引腳,連接單片機的CLK_CCO口。單片機通過該口為圖像傳感器提供16MHz的主時鐘。SPI_RD:圖像傳感器的圖像控制信號輸入腳,該引腳控制圖像傳感器下一幀圖像是否到來,高電平有效,該13連接單片機的PB6普通I/O口。SPI_CLK:圖像傳感器SPI數據輸出的時鐘信號輸入腳,該引腳連接單片機硬件SPI的SPI_SCK口。單片機通過該引腳為圖像傳感器提供采數時鐘,圖像傳感器根據采數時鐘向單片機傳輸數據。
SPI_SDA:圖像傳感器SPI數據輸出的數據信號輸出腳,該引腳連接單片機硬件SPI的SPI_MISO口。單片機通過該引腳采集數據。SPI_INT:圖像傳感器的中斷申請信號。圖像傳感器把每幀圖像分成幾次中斷,單片機響應中斷,在中斷服務程序里接收數據。該引腳連接單片機PIM具有外部中斷接收功能的I/O口。SBDA、SCLK:圖像傳感器I2C接口的數據引腳和時鐘引腳,連接單片機硬件I2C接口的I2C_SDA和I2C_SCL,是單片機對圖像傳感器內部寄存器讀寫操作的數據總線和時鐘總線。PWDN:圖像傳感器初始化信號線,該引腳連接單片機的PC2普通I/0口。
該信號線要在圖像傳感器上電的過程中拉低,只有該引腳在低電平的情況下,圖像傳感器才能正常工作。SST_CE:FlashSPI接口的片選引腳,低電平有效,該引腳連接單片機的PD0普通I/O口。SST_SO、SST_SI:FlashSPI接口的數據引腳,連接單片機SPI_MISO和SPI_MOSI口,與圖像傳感器的SPI_SDA分時復用SPI_MISO口。SST_SCK:HashSPI接口的時鐘信號輸入引腳,連接單片機的SPI_SCK口,與圖像傳感器的SPI_CLK分時復用SPI_SCK口。
評論