<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于TMS320DM642的網(wǎng)絡(luò )攝像機的設計

基于TMS320DM642的網(wǎng)絡(luò )攝像機的設計

作者: 時(shí)間:2010-03-04 來(lái)源:網(wǎng)絡(luò ) 收藏

  3 軟件及實(shí)現

  TI公司的DSP開(kāi)發(fā)軟件包括集成開(kāi)發(fā)環(huán)境(CCS)、實(shí)時(shí)操作系統(DSP/BIOS)、第三方算法庫標準(eXpressDSP).DSP/BIOS是一個(gè)用戶(hù)可裁剪的實(shí)時(shí)操作系統,包含內存管理、線(xiàn)程管理、中斷、外設管理和任務(wù)調度等功能.另外,還需使用JPEG標準進(jìn)行圖像壓縮,因為采用JPEG進(jìn)行傳輸時(shí),如果出現短暫阻塞,可將當前幀拋棄而不影響下一幀的圖像,所以能夠保證系統的實(shí)時(shí)性要求.在本系統中調用了TI提供的JPEG算法庫來(lái)完成JPEG壓縮.

  3.1軟件流程結構

  根據本系統的要求,整個(gè)軟件系統分為五個(gè)任務(wù)模塊,每個(gè)模塊完成穩中有降自的功能.這五個(gè)任務(wù)模塊分別為輸入任務(wù)、處理任務(wù)、輸出任務(wù)、任務(wù)以及控制任務(wù),其流程如圖4所示.下面敘述任務(wù)間調度及分別完成的功能.

  (1)輸入任務(wù)

  該任務(wù)模塊主要完成將VP口采集到的數字圖像存入動(dòng)態(tài)分配的內存空間中,圖像格式為YUV4:2:2(可根據需要進(jìn)行設置),分辨率為720×480.然后對該圖像色度信號進(jìn)行4:2:0重采樣,這樣做的目的是為了調用JPEG算法庫.完成以上兩步后,輸入任務(wù)模塊發(fā)出一個(gè)消息給處理任務(wù)模塊,告知圖像在內存空間的中位置,讓處理任務(wù)模塊去做進(jìn)一步的處理.接著(zhù),輸入任務(wù)模塊等待處理任務(wù)模塊回復,收到回復消息后,繼續采集下一幀圖像.

  (2)處理任務(wù)模塊

  該任務(wù)模塊主要完成JPEG壓縮.處理任務(wù)模塊首先獲得一個(gè)從輸入任務(wù)模塊發(fā)出的消息,并且從中得到圖像數據.接著(zhù)進(jìn)行JPEG壓縮,如前所述,壓縮調用了JPEG算法庫,其壓縮的速度和性能比較好.在處理任務(wù)模塊完成圖像壓縮后,發(fā)出三個(gè)消息:第一個(gè)發(fā)給輸入任務(wù)模塊,使其繼續采集下一幀圖像;第二個(gè)發(fā)給網(wǎng)絡(luò )任務(wù)模塊,把JPEG圖像在內存中的位置以及字節數告訴網(wǎng)絡(luò )任務(wù)模塊供其處理,同時(shí),處理任務(wù)模塊將等待網(wǎng)絡(luò )任務(wù)模塊回復消息;最后一個(gè)消息發(fā)給輸出任務(wù)模塊,告知原始圖像在內存中的位置,讓輸出任務(wù)模塊把它輸出到LCD進(jìn)行顯示.同樣,它也將等待輸出任務(wù)模塊回復消息.

  (3)輸出任務(wù)模塊

  該任務(wù)模塊完成將采集到的原始圖像輸出LCD進(jìn)行顯示.由于采集到的是YUV圖像,而本系統的LCD使用RGB信號作為輸入,這需要經(jīng)過(guò)數字圖像格式轉換,該轉換交由CPLD完成.

  (4)網(wǎng)絡(luò )任務(wù)模塊

  該任務(wù)模塊完成網(wǎng)絡(luò )傳輸功能.分三部分實(shí)現:第一部分先獲得一個(gè)從處理傷模塊發(fā)出的消息,從中得到JPEG圖像的大小和在內存中的位置,并通過(guò)UDP協(xié)議的Socket套接字將其發(fā)送給客戶(hù).同時(shí)發(fā)出一個(gè)消息給處理任務(wù)模塊,告知已獲得JPEG圖像,可進(jìn)行下一幀圖像的壓縮.第二部分進(jìn)行協(xié)議棧的初始化,包括IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)的設定.如果要連接Internet,必須設置DHCP,動(dòng)態(tài)分配IP地址.除此以外,還要選擇哪種網(wǎng)絡(luò )服務(wù),DM642支持Telnet、HTTP、Data server等服務(wù),本系統使用HTTP服務(wù).第三部分為加載網(wǎng)頁(yè),在PC機上用HTML編寫(xiě)網(wǎng)頁(yè),在該網(wǎng)頁(yè)中內嵌一段JavaApplet小程序以實(shí)現本系統和客戶(hù)端的交互.HTML文件不能直接加載給DM642,必須在DOS環(huán)境下使用binsrc插件把它轉換成用C語(yǔ)言描述的數據數組.當用戶(hù)通過(guò)IE瀏覽器訪(fǎng)問(wèn)本系統時(shí),HTTP服務(wù)器通過(guò)嵌入式文件系統訪(fǎng)問(wèn)內存中的HTML網(wǎng)頁(yè)(即訪(fǎng)問(wèn)那個(gè)用C語(yǔ)言描述的數據數組),該文件系統是RAM的文件系統,它駐留在OS.LIB中.同時(shí),JavaApplet小程序隨同HTML文件下載到客戶(hù)端 并由IE瀏覽器解釋執行.

  (5)控制任務(wù)模塊

  該任務(wù)模塊完成在HTML網(wǎng)頁(yè)上對JPEG壓縮性能的控制.在網(wǎng)頁(yè)中接收的用戶(hù)自定義參數,通過(guò)DSP/BIOS中的郵箱機制傳北宜給處理任務(wù)模塊,從而修改JPEG的壓縮參數,改變壓縮質(zhì)量.圖5所示即為接收用戶(hù)修改參數的對話(huà)框,1表示壓縮質(zhì)量最差,100表示壓縮質(zhì)量最好.

  這些任務(wù)的初始化在系統的main()函數里實(shí)現.另外,對DM642芯片的初始化(包括初始化寄存器、二級緩存(L2)的設置等)均在dm642init()函數中完成,該函數定義在DSP/BIOS的用戶(hù)初始化函數列表中,在此不再贅述.

  本文提出的的網(wǎng)絡(luò )方案已經(jīng)成功實(shí)現.在客戶(hù)端打開(kāi)IE瀏覽器,即可看到實(shí)時(shí)監控的圖像,圖像顯示較流暢,在局域網(wǎng)內的圖像幀率可以達到30幀/秒.而且可以同時(shí)采集多路視頻信號,滿(mǎn)足多個(gè)客戶(hù)的連接請求.本系統滿(mǎn)足了目前寬帶環(huán)境中的網(wǎng)絡(luò )視頻會(huì )議以及視頻監控的要求,其應用前景十分廣泛.


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>