www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 前 言 隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,通過(guò)網(wǎng)絡(luò)遠(yuǎn)程實(shí)時(shí)監(jiān)控重要場(chǎng)所已倍受人們關(guān)注,網(wǎng)絡(luò)攝像機(jī)在此背景下產(chǎn)生,并成為人們關(guān)注的焦點(diǎn)。網(wǎng)絡(luò)攝像機(jī)要將高清晰度的實(shí)時(shí)視頻信息通過(guò)互聯(lián)網(wǎng)傳送到監(jiān)

前 言


隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,通過(guò)網(wǎng)絡(luò)遠(yuǎn)程實(shí)時(shí)監(jiān)控重要場(chǎng)所已倍受人們關(guān)注,網(wǎng)絡(luò)攝像機(jī)在此背景下產(chǎn)生,并成為人們關(guān)注的焦點(diǎn)。網(wǎng)絡(luò)攝像機(jī)要將高清晰度的實(shí)時(shí)視頻信息通過(guò)互聯(lián)網(wǎng)傳送到監(jiān)控終端,因其信息量巨大,所以必須壓縮。通常人們采用DSP與MPEG-4算法相結(jié)合的方案來(lái)實(shí)現(xiàn),不僅編程工作量大,而且產(chǎn)品的成本高。本文所介紹的網(wǎng)絡(luò)攝像機(jī)采用專用的MPEG-4壓縮芯片、以嵌入式Linux作為操作系統(tǒng),不僅開發(fā)便捷、成本低廉,而且實(shí)時(shí)性好,適用范圍廣。

2. 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)總體設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。硬件設(shè)計(jì)模塊主要包括微控制器模塊、壓縮編碼模塊、網(wǎng)絡(luò)接口模塊和相機(jī)控制模塊四部分。微控制器模塊主要由主控芯片、DataFlash和SDRAM(1)組成。其中,主控芯片是整個(gè)控制系統(tǒng)的核心,它負(fù)責(zé)整個(gè)系統(tǒng)的調(diào)度工作。DataFlash里固化了嵌入式Linux內(nèi)核、及其文件系統(tǒng)、應(yīng)用軟件和系統(tǒng)配置文件。SDRAM(1)作為內(nèi)存供系統(tǒng)運(yùn)行使用。壓縮編碼模塊由視頻數(shù)據(jù)采集芯片、MPEG-4壓縮編碼芯片、SDRAM(2)組成,負(fù)責(zé)將視頻流轉(zhuǎn)化為MPEG-4碼流。網(wǎng)絡(luò)接口模塊主要是配合主控芯片傳送MPEG-4碼流。相機(jī)的控制模塊主要由串口芯片組成,其完成轉(zhuǎn)發(fā)控制相機(jī)命令的功能。當(dāng)系統(tǒng)啟動(dòng)時(shí),微控制器通SPI(Serial Peripheral Interface,串行外設(shè)接口)將Linux內(nèi)核轉(zhuǎn)入SDRAM(1)中,系統(tǒng)從SDRAM(1)中啟動(dòng)。系統(tǒng)啟動(dòng)后,微控制器通過(guò)HPI(Host Peripherial Interface, 主機(jī)接口)控制MPEG-4編碼模塊。統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)框圖
軟件設(shè)計(jì)部分主要包括嵌入式Linux移植、MPEG-4壓縮編碼模塊、CGI控制程序和MPEG-4解碼程序四部分。嵌入式Linux系統(tǒng)存放到由AT91RM9200控制的DataFlash里,它負(fù)責(zé)整個(gè)系統(tǒng)軟件的調(diào)度工作。MPEG-4壓縮編碼模塊主要負(fù)責(zé)模擬視頻流的采集,并將數(shù)字視頻流壓縮為MPEG-4數(shù)據(jù)流。CGI控制程序主要負(fù)責(zé)對(duì)攝像機(jī)的控制和對(duì)MPEG-4視頻流的相關(guān)設(shè)置。MPEG-4解碼程序主要負(fù)責(zé)對(duì)通過(guò)網(wǎng)絡(luò)得到的MPEG-4數(shù)據(jù)流的解碼工作。
3. 硬件設(shè)計(jì)
3.1微控制器模塊
微控制器是本系統(tǒng)的核心部件,選用的是ATMEL公司的AT91RM9200。它是一款基于ARM920T核的32位微控制器。其主頻為180MHz,處理速度快,功能強(qiáng),性價(jià)比高,能很好滿足嵌入式Linux系統(tǒng)的需求。它在系統(tǒng)中的主要作用是在系統(tǒng)上電時(shí)配置其他芯片的功能寄存器,在正常工作狀態(tài)下調(diào)度控制整個(gè)系統(tǒng)工作,通過(guò)片內(nèi)以太網(wǎng)控制器控制物理層芯片發(fā)送碼流。
AT91RM9200通過(guò)片內(nèi)的SPI總線和SDRAM控制器實(shí)現(xiàn)對(duì)外圍DataFlash和SDRAM的控制,利用片內(nèi)的USART實(shí)現(xiàn)對(duì)串口芯片的控制,通過(guò)片內(nèi)的以太網(wǎng)控制器對(duì)片外網(wǎng)絡(luò)芯片進(jìn)行控制。其控制原理圖如圖2所示。

圖2 控制原理圖
3.2壓縮編碼模塊
壓縮編碼模塊包括模擬視頻采集模塊和MPEG-4壓縮模塊。視頻采集芯片采用TI公司的TVP5150,數(shù)據(jù)壓縮芯片采用映佳公司的MPG440。TVP5150輸入端可是兩種混合視頻信號(hào)也可是S-Video端子的視頻信號(hào),支持NTSC、PAL、SECAM等3種制式,其輸出的數(shù)據(jù)色彩格式可以為8bit 4:2:2數(shù)字信號(hào)或者8bit同步ITU-R BT.656數(shù)字信號(hào)。MPG440芯片具有符合工業(yè)標(biāo)準(zhǔn)的16b/32b的雙向主機(jī)接口,分別用來(lái)與視頻采集芯片和微控制器芯片通信。同時(shí),具有移動(dòng)偵測(cè)、防偽水印、動(dòng)態(tài)調(diào)整IP畫格比率、動(dòng)態(tài)調(diào)整圖像質(zhì)量等特性,支持D1、VGA、CIF、QVGA、QCI等五種分辨率模式。微控制器通過(guò)主機(jī)接口實(shí)現(xiàn)MPG440的初始配置,也由此接收MPEG-4碼流。壓縮編碼模塊的硬件設(shè)計(jì)原理如圖3所示。

TVP5150 的AI 模擬輸入口與模擬攝像頭輸出端連接, 向視頻處理芯片傳送模擬視頻信號(hào)。模擬信號(hào)經(jīng)過(guò)采樣處理之后通過(guò)YOUT0~YOUT7 引腳送到MPG440, 采樣數(shù)據(jù)在PCLK 的上升沿有效, MPG440的VIDEO_CLK 在收到PCLK 的上升沿時(shí)獲得YOUT的信號(hào)。TVP5150 分場(chǎng)同步脈沖和行同步脈沖, 分別對(duì)應(yīng)其輸出端VSYNC、HSYNC。MPG440 正是根據(jù)與之相連的VSYNC 和HSYNC 信號(hào)線來(lái)實(shí)現(xiàn)圖像的場(chǎng)同步和行同步操作。MPG440 的視頻輸入數(shù)據(jù)線DATA_TV0 ~DATA_TV7 與TVP5150 的YOUT0 ~YOUT7 相連。MPG440 在接收數(shù)據(jù)的同時(shí), 將其得到的數(shù)據(jù)流傳送給MPEG- 4 壓縮編碼單元, 編碼后的MPEG- 4 數(shù)據(jù)流暫存到SDRAM(2)中。MPG440 片內(nèi)PDMA控制器根據(jù)配置寄存器的設(shè)置準(zhǔn)確發(fā)起對(duì)SDRAM(2)訪問(wèn), 同時(shí)將得到的數(shù)據(jù)流輸送往HPI(主機(jī)總線接口,Host Peripherial Interface) , 以等待AT91RM9200 通過(guò)DMA 通道將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)。

MPG440 通過(guò)HPI 與AT91RM9200 通信,AT91RM9200 將MPG440 的寄存器、存儲(chǔ)空間等資源作為其本身內(nèi)存尋址訪問(wèn)。MPG440 由AT91RM9200選通線NCS4 來(lái)選通, 其在AT91RM9200 尋址空間中的地址段為0X50000000 到0X5FFFFFFF。通過(guò)對(duì)MPG440 一系列寄存器的設(shè)置, 可以訪問(wèn)MPG440 系統(tǒng)存儲(chǔ)空間。MPG440 中斷信號(hào)RSC_INT0 從通用I/O引腳的PB29 輸入, 當(dāng)緩沖器填滿時(shí), RSC_INT0 引腳置低提示AT91RM9200 通過(guò)DMA 通道提取MPEG- 4數(shù)據(jù)流。編碼后視頻數(shù)據(jù)讀取過(guò)程和MPG440 與主機(jī)通信過(guò)程由AT91RM9200 讀信號(hào)CFRD 和寫信號(hào)CFWE 控制。

網(wǎng)絡(luò)模塊

網(wǎng)絡(luò)模塊硬件設(shè)計(jì)原理如圖4 所示。

AT91RM9200 的在片以太網(wǎng)卡端口和網(wǎng)絡(luò)物理層芯片DM9161E 的MII 接口通信。發(fā)送數(shù)據(jù)時(shí), 首先置發(fā)送使能信號(hào)ETXEN 有效。數(shù)據(jù)發(fā)送端ETX0~ETX1與DM9161 的ETXO~ETX1 引腳對(duì)應(yīng)連接, 作為數(shù)據(jù)發(fā)送通道, 以DM9161E 的時(shí)鐘信號(hào)REF_CLK 發(fā)送數(shù)據(jù)。數(shù)據(jù)接收端ERX 0~ERX1 與DM9161E 的RXDO~RXD1 引腳對(duì)應(yīng)連接, 作為數(shù)據(jù)接收通道。管理時(shí)鐘信號(hào)EMDC 和管理數(shù)據(jù)輸入輸出信號(hào)EMDIO 用來(lái)芯片控制參數(shù)的寫入和讀取。DM9161E 的MDINTR 端用來(lái)產(chǎn)生中斷信號(hào)。

片內(nèi)以太網(wǎng)卡通過(guò)DMA通道進(jìn)行數(shù)據(jù)的發(fā)送,不影響AT91RM9200 的正常運(yùn)行。首先正確設(shè)置傳送控制寄存器和傳送地址寄存器的傳送數(shù)據(jù)塊字節(jié)數(shù)、數(shù)據(jù)塊存儲(chǔ)首地址等參數(shù), 隨后依次從指定數(shù)據(jù)存儲(chǔ)區(qū)地址讀取1024b 數(shù)據(jù), 送入內(nèi)部發(fā)送緩沖器中, 由MAC 對(duì)數(shù)據(jù)進(jìn)行封裝發(fā)送, 同時(shí)記錄已傳送字節(jié)數(shù),直到數(shù)據(jù)塊發(fā)送完畢。當(dāng)發(fā)送完一組數(shù)據(jù)后, 發(fā)出DMA中斷請(qǐng)求, 由AT91RM9200 進(jìn)行相應(yīng)的處理。整個(gè)網(wǎng)絡(luò)子系統(tǒng)電路由AT91RM9200 控制和調(diào)度。

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

嵌入式Linux 系統(tǒng)主要由四個(gè)部分組成: 引導(dǎo)內(nèi)核啟動(dòng)的文件( bootloader) 、Linux 內(nèi)核文件( kernel) 、虛擬磁盤文件( ramdisk) 、用戶空間文件( user) 。它們分別被放在DataFlash 內(nèi)的四個(gè)分區(qū)模塊中。根據(jù)不同模塊的具體功能采用不同的文件系統(tǒng): bootloader、kernel、ramdisk, 移植完成后不需要?jiǎng)討B(tài)改變, 使用較節(jié)省空間的ROMFS 只讀文件系統(tǒng)user 模塊內(nèi)放置一些可以動(dòng)態(tài)更新的配置文件等, 需要進(jìn)行較多的讀寫操作, 所以使用支持動(dòng)態(tài)擦寫保存的JFFS2 文件系統(tǒng)。

Linux 移植技術(shù)已經(jīng)成熟, 本文不作詳細(xì)的闡述。下文主要介紹MPEG- 4 壓縮編碼模塊和CGI 模塊的程序設(shè)計(jì)。

MPEG- 4 壓縮編碼模塊程序設(shè)計(jì)

該模塊主要完成MPG440 和TI5150 相關(guān)寄存器的配置, 并保證MPEG- 4 碼流的正常輸出。當(dāng)嵌入式Linux系統(tǒng)啟動(dòng)后,首先配置MPG440 的相關(guān)寄存器, 其初始化完成后, 通過(guò)I2C總線對(duì)TVP5150 進(jìn)行初始化配置。當(dāng)系統(tǒng)開始?jí)嚎s編碼時(shí),MPEG- 4 碼流接收存儲(chǔ)程序由MPEG- 440 的數(shù)據(jù)流緩沖器標(biāo)志信號(hào)控制。當(dāng)1024b 緩沖器滿時(shí), RISC_INT0 置于低電平, 微控制器通過(guò)DMA通道從MPG440 的HPI 口將碼流送到PC 機(jī)端。MPEG-4 壓縮編碼模塊程序流程如圖4 所示。

CGI 程序模塊設(shè)計(jì)

CGI(Common Gateway Interface) 是外部擴(kuò)展應(yīng)用程序與WWW 服務(wù)器交互的一個(gè)標(biāo)準(zhǔn)接口。本系統(tǒng)CGI 的工作過(guò)程: 在PC 機(jī)端的IE 瀏覽器中輸入網(wǎng)絡(luò)攝像機(jī)IP 地址, 嵌入式網(wǎng)絡(luò)服務(wù)器根據(jù)請(qǐng)求, 將相應(yīng)的控制頁(yè)面反饋給IE 瀏覽器, 用戶填寫表單, 然后提交, CGI 程序提取表單的信息, 根據(jù)不同信息來(lái)分別處理相應(yīng)的事件, 如調(diào)節(jié)MPEG- 4 相關(guān)屬性、相機(jī)的相關(guān)操作等。CGI 控制原理如圖5 所示。

CGI 模塊的設(shè)計(jì)主要包括三部分: 嵌入式web 服務(wù)器的配置、html 頁(yè)面的編寫、CGI 程序的設(shè)計(jì)。

嵌入式web 服務(wù)器采用的是APAChe, 其配置是以配置文件的形式提供, 放在Ramdisk 中/etc/httpd/conf/目錄下。其配置主要涉及以下三個(gè)方面:

①配置根文件的路徑:“DocumentRoot /home/httpd/html”, html 頁(yè)面必須放到此目錄下。

②配置CGI 外部程序所放的路徑:“ScriptAlias /cgi- bin/ home/httpd/cgi- bin/”。

③配置環(huán)境變量:“SetEenv D_LIBRARY_PATH=/lib:/usr/LOCal/lib:/usr/lib”, 該變量將會(huì)被傳送到CGI 腳本和SSI 頁(yè)面, 以保證CGI 程序能正確找到所依賴的庫(kù)。

網(wǎng)頁(yè)編寫采用html 與shtml 相結(jié)合的方式。html 的解析速度較快, shtml 可以在普通網(wǎng)頁(yè)中嵌入外部CGI程序, 通過(guò)這種方式將系統(tǒng)的默認(rèn)配置反饋給客戶端。

CGI 程序采用的是C 語(yǔ)言和shell 腳本相結(jié)合的方式, 具體編寫過(guò)程, 與通常的了Linux 下編程相同。限于篇幅, 不再贅述。

MPEG- 4

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

本屆年會(huì)將在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)舉行,面向嵌入式設(shè)計(jì)工程師推出25門技術(shù)課程

關(guān)鍵字: 嵌入式 MCU 模擬

上海2025年9月5日 /美通社/ -- 由紐倫堡會(huì)展(上海)有限公司舉辦的上海國(guó)際嵌入式會(huì)議將于 2025 年 10 月 16-17 日在上海世博展覽館舉辦。 此次會(huì)議將由三個(gè)版塊組成:嵌入式技術(shù)會(huì)議、汽...

關(guān)鍵字: 嵌入式 CE CHINA EMBEDDED

從外部看,電子系統(tǒng)仿佛一個(gè)統(tǒng)一的學(xué)科或設(shè)備,各組成部分協(xié)同工作,渾然一體。然而揭開表象,其內(nèi)在卻是另一番景象:一個(gè)碎片化、多層次的世界——其中每一層都獨(dú)立且復(fù)雜,衍生出各自特有的工具、專家、工作流程,甚至哲學(xué)體系。

關(guān)鍵字: 嵌入式 電子系統(tǒng) 半導(dǎo)體

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來(lái)的主流選擇。盡管嵌入式系統(tǒng)市場(chǎng)日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對(duì)新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳國(guó)際電子展盛大啟幕。本屆大會(huì)以"All for AI"為主題,深圳市德...

關(guān)鍵字: AI 工業(yè)級(jí) SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博聞創(chuàng)意會(huì)展主辦的 第22屆深圳國(guó)際電子展暨嵌入式展(elexcon2025)在深圳(福田)會(huì)展中心隆重開幕。 作為中國(guó)電子與嵌入式技術(shù)領(lǐng)域的專業(yè)大展,本屆展會(huì)...

關(guān)鍵字: 嵌入式 電子 高通 AI

模塊化設(shè)計(jì)作為一種將系統(tǒng)拆分為獨(dú)立、可復(fù)用組件的方法,能夠在低代碼平臺(tái)中實(shí)現(xiàn)功能的靈活組合,并最大限度地提升系統(tǒng)性能。本文將探討如何通過(guò)模塊化設(shè)計(jì),使得低代碼平臺(tái)既能快速適應(yīng)變化,又能保持高效穩(wěn)定的運(yùn)行。

關(guān)鍵字: 模塊化設(shè)計(jì) 嵌入式

CPU親和度通過(guò)限制進(jìn)程或線程可以運(yùn)行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數(shù),提高緩存命中率,從而提升系統(tǒng)性能。

關(guān)鍵字: Linux 嵌入式

加密算法分對(duì)稱加密和非對(duì)稱算法,其中對(duì)稱加密算法的加密與解密密鑰相同,非對(duì)稱加密算法的加密密鑰與解密密鑰不同,此外,還有一類不需要密鑰的散列算法。

關(guān)鍵字: 算法 嵌入式

從本質(zhì)上講,算法是一種有條不紊、分步驟解決問(wèn)題或完成任務(wù)的方法。無(wú)論是簡(jiǎn)單的數(shù)字相加公式,還是復(fù)雜的機(jī)器學(xué)習(xí)協(xié)議,算法都是軟件應(yīng)用的基礎(chǔ),確保任務(wù)能夠高效有效地執(zhí)行。

關(guān)鍵字: 算法 嵌入式
關(guān)閉