国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于μC/OS-III的嵌入式視頻處理系統(tǒng)設(shè)計(jì)

2017-11-22 01:32:20
傳感器世界 2017年10期
關(guān)鍵詞:嵌入式指令芯片

北京信息科技大學(xué) 自動(dòng)化學(xué)院,北京100192

一、引言

2015年,李克強(qiáng)總理的政府工作報(bào)告中將“互聯(lián)網(wǎng)+”正式被納入頂層設(shè)計(jì),成為國家經(jīng)濟(jì)社會(huì)發(fā)展的重要戰(zhàn)略。“互聯(lián)網(wǎng)+”計(jì)劃將重點(diǎn)促進(jìn)以云計(jì)算、物聯(lián)網(wǎng)、大數(shù)據(jù)等為代表的新一代信息技術(shù)與現(xiàn)代制造業(yè)、生產(chǎn)性服務(wù)業(yè)等的融合創(chuàng)新,嵌入式技術(shù)作為物聯(lián)網(wǎng)里的重要環(huán)節(jié)將會(huì)得到更為廣泛的應(yīng)用。

μC/OS-III(Micro Control Operation System Three)是一種基于ROM運(yùn)行的、可刪減、可擴(kuò)展、可升級、可固化、基于優(yōu)先級的實(shí)時(shí)內(nèi)核,能夠滿足當(dāng)今的實(shí)時(shí)內(nèi)核所需求的大部分功能。由于μC/OS-III支持靈活移植,廣泛適用在微處理器與控制器,性能優(yōu)越性遠(yuǎn)超大多數(shù)商業(yè)操作系統(tǒng)[1]。

在STM32芯片上移植μC/OS-III能夠大幅度提高芯片的應(yīng)用水平。為了提高控制芯片的工作效率,本論文將研究如何將μC/OS-III移植到STM32F107中。STM32F107可以直接連接互聯(lián)網(wǎng),運(yùn)行速度極快并且兼顧STM32的必備功能[2]。實(shí)現(xiàn)μC/OS-III在STM32F107的移植和應(yīng)用,提高芯片的處理功能,對于嵌入式系統(tǒng)的開發(fā)具有重要意義。

二、視頻處理總體架構(gòu)

本次研究的嵌入式系統(tǒng)是以STM32F107為主控芯片,系統(tǒng)搭配有LCD觸摸屏和攝像頭。采用外部的穩(wěn)定5V電源作為電源輸入,DC-DC電源模塊將5V降到3.3V為STM32供電;3.5吋電阻式顯示觸摸屏可以顯示信息;30萬像素?cái)z像頭可進(jìn)行外部實(shí)時(shí)圖像信息采集;SIM900A實(shí)現(xiàn)2G網(wǎng)絡(luò)通訊功能;USB接頭、Ethernet接口和串口可以實(shí)現(xiàn)與外界的連接功能[3]圖1為系統(tǒng)硬件關(guān)系圖。

三、模塊功能介紹

1、STM32及外圍硬件電路

STM32F107具有高達(dá)14個(gè)通信接口,并且含有CRC計(jì)算單元。芯片具有10/100 Internet MAC,DMA和SRAM(4K字節(jié)):硬件支持IEEE1588,所有封裝都支持MII和RMII接口。所以該芯片十分適合于嵌入式方面的設(shè)計(jì)應(yīng)用[4]。攝像頭、顯示屏分別與STM32連接引腳如圖2所示。

2、電源設(shè)計(jì)

硬件系統(tǒng)電源分配如圖3所示。首先通過外接5V作為系統(tǒng)的電源,然后通過AMS1117-3.3V產(chǎn)生穩(wěn)定3.3V電壓。AMS1117是系列的電源模塊,不同的版本能夠通過外圍電阻調(diào)節(jié)實(shí)現(xiàn)1.25V~13.8V電壓輸出。通常都是采用的1.8V、2.5V、2.85V、3.3V和5V固定電壓的型號。本電路中在3.3V電壓的范圍下進(jìn)行設(shè)計(jì)。輸出電流最大可達(dá)到800mA,電壓與電流都符合系統(tǒng)要 求。AMS1117-3.3V電壓調(diào)節(jié)電路的連接如圖4所示。

3、保護(hù)電路

在我們試驗(yàn)中與電路板,或者芯片的直接接觸機(jī)率較大,人體的極高靜電電壓沖擊下很容易就會(huì)造成系統(tǒng)內(nèi)芯片工作異常,所以在電路中設(shè)計(jì)使用了兩個(gè)瞬態(tài)抑制二極管(TVS), 其 TVS具有瞬間吸收高能量的作用,并將兩級的電壓控制于預(yù)定值。本次設(shè)計(jì)中使用SMBJ3.3A、SMBJ5.0A,分別用于保護(hù)3.3V電路與5V電路[5]。電路原理圖如圖5所示。

4、TFTLCD顯示屏電路設(shè)計(jì)

此3.5in.電阻式顯示觸摸屏控制部分芯片XPT2046,這款芯片主要用在移動(dòng)終端。該芯片具有采樣與保持、模數(shù)轉(zhuǎn)換、串口數(shù)據(jù)穩(wěn)定輸出等功能。該芯片通過ADC采樣能夠感知壓力。XPT2046支持從1.5V到5.25V的低電壓I/O接口。片內(nèi)集成溫度傳感器。芯片功耗可小于0.75mW。當(dāng)采用觸摸屏模式時(shí),最好設(shè)置成差分模式,這樣能夠極大程度上抵消掉驅(qū)動(dòng)器開關(guān)操作時(shí)的寄生電阻和外部的電磁干擾造成的檢測誤差,進(jìn)而大幅度地增強(qiáng)了轉(zhuǎn)換精準(zhǔn)度[6]。顯示屏電路如圖6所示。

5、30萬像素?cái)z像頭OV7670的電路設(shè)計(jì)

OV7670是1/6in.CMOS 圖像傳感器,可以達(dá)到30萬像素圖像采集效果。該模塊由SCCB 總線控制,能夠傳輸整幀、子采樣、截取顯示窗口等方式的全部分辨率8位圖影。VGA圖像最高達(dá)到30frame/s,能夠自如地把控圖像的質(zhì)量、數(shù)據(jù)采集的數(shù)據(jù)格式和傳輸數(shù)據(jù)的格式。伽瑪曲線、白平衡、度、色度等都能夠用SCCB接口編程。

OV7670攝像頭模塊里面包含了一個(gè)AL422B芯片。AL422b 具有先進(jìn)先出功能的存儲空間。攝像頭的所有動(dòng)態(tài)內(nèi)存的操作都是由內(nèi)部動(dòng)態(tài)內(nèi)存控制器完成的[7]。PC影像架構(gòu)要包含有640×480或者720×480字節(jié)的存儲空間,AL422B能夠提供超出一倍的存儲空間,對于提高視頻采集效率具有重要意義。OV7670的原理圖如圖7所示。

四、軟件設(shè)計(jì)

1、μC/GUI在STM32上的移植

修改bsp.c和bsp.h文件。在bsp.c文件里只需修改局部的DWT代碼,DWT是CM3中的三種跟蹤源之一,要啟動(dòng)跟蹤源就需要DEMCR寄存器中的TRCENA位置1,該寄存器的地址為0XE000EDFC。DWT組件中有許多寄存器,如果要用時(shí)鐘計(jì)時(shí)功能就需要將CTRL寄存器中的bit0位置1。至于對bsp.h的修改僅需進(jìn)行一些頭文件的添加:

(1)修改os_cpu_c.c文件。在os_cpu_c.c的頭文件部分添加includes.h。

(2)修改os_cfg_app.h文件。它主要用于配置任務(wù)優(yōu)先級、堆棧、μC/OS-III的系統(tǒng)時(shí)鐘節(jié)拍等[8]。可根據(jù)需要進(jìn)行修改相關(guān)內(nèi)容。

(3)修改SYSTEM文件夾內(nèi)的sys.h文件。將SYSTEM_SUPPORT_UCOS將其定義為1,此時(shí)就是支持μC/OS-III系統(tǒng)。語句如下所示:

#define SYSTEM_SUPPORT_UCOS 1。系統(tǒng)移植后編譯運(yùn)行驗(yàn)證,如圖8所示。

2、TFTLCD顯示與觸摸屏軟件設(shè)計(jì)

LCD采用的是 NT35310液晶控制器,該控制器自己配有顯示內(nèi)存,可以緩存一定的顯示數(shù)據(jù),顯存的大小為320×480×18/8。采用的是16位的RGB565格式儲存色彩數(shù)據(jù)。通過NT35310指令來實(shí)現(xiàn)LCD屏的功能,NT3510的18位數(shù)據(jù)線和LCD GRAM對應(yīng)關(guān)系來自由設(shè)置掃描方向。通過指令0x2A用于設(shè)定列的地址,這一個(gè)指令就能夠設(shè)置橫坐標(biāo)。指令0x2B是用來設(shè)置縱軸坐標(biāo)也就是y軸的指令,該指令的默認(rèn)掃描方式是是在從左到右,從上到下的掃描方式。指令0x2C是用于寫 GRAM,通過這個(gè)指令在可以持續(xù)發(fā)送信息往 LCD里面GRAM輸入顏色數(shù)據(jù)。指令0x2E是用于讀 GRAM,也就是用于讀取NT35310的顯存。

在對TFTLCD顯示的軟件設(shè)置當(dāng)中,首先進(jìn)行復(fù)位和初始化的設(shè)置,指令0x2A與0x2B用于設(shè)定掃描方式,從而設(shè)置位置坐標(biāo)。當(dāng)NT35310接到指令0x2C后,有效數(shù)據(jù)位寬變?yōu)?6位,此時(shí)能夠持續(xù)輸入LCD的GRAM 數(shù)據(jù),然后寫入顏色數(shù)據(jù)并在LCD顯示相關(guān)信息。如果沒有寫GRAM指令,那么通過讀指令0x2E讀出數(shù)據(jù),然后通過控制器處理。之后可以循環(huán)此流程或者退出工作。信息在TFTLCD顯示的程序流程如圖9所示。

3、攝像頭OV7670的軟件設(shè)計(jì)

此次程序設(shè)計(jì)采用QVGA 模式,以RGB565格式輸出顏色數(shù)據(jù)。由于有了FIFO,所以,現(xiàn)在只需要關(guān)心兩方面的程序設(shè)計(jì):

首先,怎樣的程序設(shè)計(jì)才能將圖像信息存儲到FIFO里面,當(dāng)打開設(shè)備后,第一個(gè)OV7670同步信號到達(dá)控制器后,F(xiàn)IFO寫數(shù)據(jù)指針復(fù)位,并且使能FIFO寫功能。當(dāng)?shù)诙€(gè)OV7670數(shù)據(jù)到來時(shí)中斷寫功能,實(shí)現(xiàn)一幀數(shù)據(jù)的采集。存儲一幀圖像信息的流程圖見10所示。

其次,怎樣的代碼設(shè)計(jì)才能從FIFO里面讀取影像數(shù)據(jù),首先要FIFO讀指針復(fù)位并且設(shè)置讀時(shí)鐘頻率,先讀取高字節(jié)數(shù)據(jù)再設(shè)置讀取低字節(jié)數(shù)據(jù)頻率并讀取低字節(jié)數(shù)據(jù),一幀圖像就讀完了。圖11為讀取影像數(shù)據(jù)的流程圖。需要注意的是,為了避免數(shù)據(jù)不被覆蓋,在FIFO充滿存儲空間之前讀取FIFO數(shù)據(jù)。

五、設(shè)計(jì)成果

通過OV7670的工作特點(diǎn)結(jié)合在STM32F107硬件和一系列軟件系統(tǒng)設(shè)計(jì),設(shè)計(jì)出高效的視頻處理系統(tǒng)。如圖12為視頻采集和顯示的結(jié)果。將軟件μC/OS-III系統(tǒng)屏蔽,和非屏蔽系統(tǒng)相比,μC/OS-III系統(tǒng)在效率、穩(wěn)定性、用戶使用靈活性方面都有明顯的提高。

六、結(jié)束語

基于μC/OS-III系統(tǒng)下的嵌入式物視頻處理系統(tǒng)。通過STM32F107為控制數(shù)據(jù)采集與傳輸?shù)目刂坪诵?,該控制系統(tǒng)根據(jù)OV7670的工作特點(diǎn)結(jié)合在STM32F107硬件系統(tǒng)上的,給出了應(yīng)用程序設(shè)計(jì)的流程圖和關(guān)鍵性的設(shè)計(jì)實(shí)現(xiàn)數(shù)據(jù)采集。通過設(shè)計(jì)的電路接口傳輸?shù)娇刂破?,通過控制器的控制實(shí)現(xiàn)對視頻數(shù)據(jù)在LCD顯示屏的顯示功能。通過實(shí)驗(yàn)的測試,該系統(tǒng)實(shí)現(xiàn)了所設(shè)計(jì)的視頻數(shù)據(jù)處理功能。

此系統(tǒng)將圖像顯示技術(shù)、嵌入式編程技術(shù)、嵌入式系統(tǒng)移植技術(shù)等結(jié)合在一起。實(shí)現(xiàn)理想的視頻顯示、圖像采集等功能,所以要求本嵌入式系統(tǒng)要有十分高的穩(wěn)定性、實(shí)時(shí)性等特點(diǎn),對于開發(fā)μC/OS-III系統(tǒng)下的嵌入式設(shè)計(jì)具有重要的借鑒意義。

猜你喜歡
嵌入式指令芯片
聽我指令:大催眠術(shù)
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
搭建基于Qt的嵌入式開發(fā)平臺
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
芯片測試
多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
凤山县| 莱州市| 会泽县| 鄂伦春自治旗| 会同县| 临安市| 建德市| 习水县| 兴城市| 白沙| 克什克腾旗| 沾益县| 吴堡县| 巴马| 天祝| 武清区| 五大连池市| 九寨沟县| 德格县| 甘谷县| 贵定县| 陇西县| 萨迦县| 来凤县| 当涂县| 鄂托克前旗| 军事| 宝兴县| 溧阳市| 安岳县| 介休市| 湖南省| 定襄县| 宜宾县| 木兰县| 佛山市| 三原县| 故城县| 永登县| 盐津县| 山丹县|