當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]無(wú)線圖像(視頻)傳輸系統(tǒng)ARM9+Atmega16+OV7620+nrf24l01(一)

很多人可能會(huì)這樣驚訝的問(wèn)道,況且,直到現(xiàn)在我也不能確定能不能傳輸視頻,我本人覺(jué)得估計(jì)也有點(diǎn)吃力!!!不過(guò)現(xiàn)在已經(jīng)完成了圖片的傳輸,從傳輸時(shí)間來(lái)看還是漫長(zhǎng)的讓人接受不了,一張320*240圖片的傳輸大概需要10s(后面會(huì)詳述為什么會(huì)有這么長(zhǎng)時(shí)間和可以改進(jìn)的地方),但是,一張完整圖片經(jīng)過(guò)無(wú)線發(fā)射完只需1.2s(去除發(fā)送等待時(shí)間大概只需720ms)左右的時(shí)間,大部分時(shí)間還是消耗在采集端的發(fā)送延時(shí)等待(目前還沒(méi)有用中斷,下一步改成中斷處理)以及上位機(jī)(ARM9)驅(qū)動(dòng)中的數(shù)據(jù)復(fù)制(copy to usr,用mmap方式應(yīng)該會(huì)快一點(diǎn)(引用別人的結(jié)論——用mmap方法就不會(huì)造成CPU的CACHE頻繁失效,從而大大節(jié)約時(shí)間——Ethan的《copy_to_user與mmap的工作原理》),這也是下一步的計(jì)劃),并且這些數(shù)據(jù)都是沒(méi)有經(jīng)過(guò)任何處理的原始RGB BAYER PATTERN。為什么要做這個(gè)平臺(tái)呢??原因在于目前參加了一個(gè)省競(jìng)賽,關(guān)于《都市開心農(nóng)場(chǎng)》(QQ農(nóng)場(chǎng)的實(shí)例版),考慮到植物生長(zhǎng)的相對(duì)靜態(tài)性,不需要實(shí)時(shí)的圖像采集,并且考慮到這個(gè)項(xiàng)目要和物聯(lián)網(wǎng)或是無(wú)線傳感網(wǎng)有關(guān)聯(lián),所以就采用了這個(gè)無(wú)線傳輸方案。先不說(shuō)可行性了,關(guān)鍵在于學(xué)習(xí),這20天中,也學(xué)習(xí)了不少東西,ARM驅(qū)動(dòng)開發(fā)、圖像的格式,顯示以及液晶屏framebuffer的使用。下面就一步步敘述整個(gè)開發(fā)過(guò)程吧。

先來(lái)說(shuō)說(shuō)目前已經(jīng)達(dá)到的效果,通過(guò)Atmega16+OV7620+nrf24l01采集圖像,圖像格式可以設(shè)為YUV422,RGB RAW16,RGB8bit,前兩種目前只能顯示為灰度圖像(OV7620的UV管腳沒(méi)有用,只能通過(guò)Y通道獲取數(shù)據(jù))并且對(duì)圖像這塊也不了解,GB8bit支持彩色顯示,可以在4.3 16bpp LCD上顯示(圖像質(zhì)量還可以),并且可以通過(guò)網(wǎng)絡(luò)傳到上位機(jī)(電腦),不過(guò),這塊還沒(méi)有做好,只能接收到數(shù)據(jù),還沒(méi)有顯示出來(lái)(這也是后面的工作了)。ARM+nrf24l01作為目前的終端(這個(gè)也只是作為我一個(gè)項(xiàng)目中的網(wǎng)關(guān),所以先熟悉了再說(shuō),不過(guò)到時(shí)候可不是nrf24了)?;旧弦呀?jīng)完成了圖像的采集、傳輸、處理(顯示)整個(gè)流程,最后要做的也是最困難的——優(yōu)化。

作為開發(fā)記錄文檔, 我想分為4個(gè)部分分別描述整個(gè)過(guò)程的關(guān)鍵之處:

nrf24l01無(wú)線射頻模塊

OV7620圖像傳感器

nrf24l01 在ARM上的驅(qū)動(dòng)

圖像在lcd中顯示

首先,nrf24l01無(wú)線收發(fā)模塊之前從未接觸過(guò),用過(guò)的也都是TI 早期的CC1000,CC1101模塊,為什么要選它呢??可能是因?yàn)樗僮骱?jiǎn)單吧(競(jìng)賽有時(shí)間限制啊),也可能是因?yàn)樗袃煞N傳輸速率1M、2M(目前用的是1M,期待2M有所改善),而那些用于ZIGBEE的速率也都在250kbps左右,即選之則安之。微控制器采用的是Atmega16,時(shí)鐘采用外部晶振7.3728MHz(暈,為什么用這么一個(gè)頻率呢?!!)。nrf24l01通過(guò)Atmega16通用IO模擬出的SPI連接(第一個(gè)瓶頸)。那么首先來(lái)說(shuō)說(shuō)IO模擬SPI問(wèn)題,Atmega16 SPI總線頻率最高可達(dá)到時(shí)鐘頻率的一半(主機(jī)方式),而nrf24l01 datasheet上標(biāo)注了SPI 頻率可以支持到8MHz,所以當(dāng)初應(yīng)該選擇主頻更高的晶振。在本平臺(tái)中沒(méi)有使用SPI接口,而是用IO模擬的SPI時(shí)序(因?yàn)檫@樣的程序網(wǎng)上到處都是),后來(lái)才發(fā)現(xiàn),IO模擬的SPI速率是很慢的(具體慢多少我也不清楚),所以下一步打算直接用SPI接口操作好了。下面貼出部分程序段;

/*SPI 寫,返回狀態(tài)值。模擬SPI 先MSB(DORD=0) 、SCK空閑時(shí)為低電平(CPOL=0)、起始沿采樣,下降沿設(shè)置(CPHA=0)*/

char SPI_RW(char data)

{

char i,temp=0;

for(i=0;i<8;i++) // output 8-bit

{

if(data & 0x80)

{

PORTB |= (1 << PB5) ;

}

else

{

PORTB &= ~(1 << PB5);

}

data = (data << 1);

temp<<=1;

PORTB |= (1 << PB7);

if(PINB & (1 << PB5))temp++;

PORTB &= ~(1 << PB7);

}

return(temp);

}

//SPI READ

char SPI_Read(char reg)

{

char reg_val;

PORTB &= ~(1 << PB4); // CSN low, initialize SPI communication...

SPI_RW(reg); // Select register to read from..

reg_val = SPI_RW(0); // read registervalue

PORTB |= (1 << PB4); // CSN high, terminate SPI communication

return(reg_val);

}

其他的函數(shù)都可以由這兩個(gè)函數(shù)演變。還有個(gè)問(wèn)題就是軟件延時(shí)的問(wèn)題,這也是今天才發(fā)現(xiàn)的問(wèn)題,比如在時(shí)鐘頻率為7.3728M時(shí),循環(huán)for(i=0;i<254;i++)執(zhí)行時(shí)間大概為138us,一個(gè)for循環(huán)的執(zhí)行次數(shù)為4*N+4.下面這個(gè)毫秒級(jí)延時(shí)函數(shù)則比較經(jīng)典:

void delay_1ms(void)

{

unsigned int i;

for(i=1;i<(unsigned int)(xtal*143-2_;i++)

;

}

在上式中,xtal為晶振頻率,單位為MHz.

OK,今天就寫到這里。

此文僅作為開發(fā)記錄文檔,錯(cuò)誤在所難免!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉