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

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于VxWorks的視頻采集系統(tǒng)的設計與實現(xiàn)

1 引言

       多媒體通信技術的發(fā)展為信息的獲取和傳輸提供了豐富的手段,視頻數(shù)據(jù)是其中不可缺少的重要組成部分,而視頻數(shù)據(jù)的獲取離不開視頻采集系統(tǒng)。目前,視頻采集系統(tǒng)的應用極為廣泛,許多產(chǎn)品和設施,例如遠程監(jiān)控、可視電話、會議電視等等,都需要采集視頻信息。而且,隨著PC機的普及,人們可以直接利用PC機進行視頻采集,采集到的視頻數(shù)據(jù)經(jīng)過處理后保存在本地或者發(fā)送到遠方。由于視頻的采集、處理和傳輸都在一臺PC機上完成,因此可以大大降低系統(tǒng)的復雜度和價格。

       我們設計的視頻采集系統(tǒng)是基于Intel x86平臺和實時操作系統(tǒng)VxWorks,由視頻采集卡和驅動程序兩部分組成,如圖1所示。視頻采集卡完成視頻數(shù)據(jù)采集和格式轉換,驅動程序在系統(tǒng)啟動時對硬件進行初始化,在系統(tǒng)啟動之后實現(xiàn)硬件和應用軟件之間的數(shù)據(jù)交互。考慮到視頻的數(shù)據(jù)量極大,視頻采集卡通過PCI高速總線與計算機相連。

                                桌面視頻采集系統(tǒng)結構框圖

2 視頻采集卡的設計

       為了將由攝像頭輸入的模擬視頻轉換為計算機能夠接受和處理的數(shù)字視頻,需要經(jīng)過模數(shù)轉換、同步提取、亮色分離等多個步驟。而為了將數(shù)字視頻傳送到PC機的內(nèi)存中,還需要一定數(shù)量的FIFO、總線接口和相應的控制邏輯。這原本是一個比較復雜的過程,但是隨著半導體技術的發(fā)展,各半導體生產(chǎn)廠家通過不斷創(chuàng)新和改進,目前已經(jīng)能夠在單個芯片上實現(xiàn)所有這些功能。Conexant公司的Bt848就是這樣的一種芯片,圖2給出了其功能框圖。

            功能框圖

       對于在PCI總線上進行NTSC/PAL/SECAM視頻捕獲的應用來說,Bt848是一種完整的低價格解決方案。作為一種總線主控設備,Bt848不需要任何本地緩存來存儲視頻像素數(shù)據(jù),這樣就極大地降低了硬件價格。Bt848能夠充分利用基于PCI總線的系統(tǒng)的高帶寬和固有的多媒體功能,并且能夠與其他多媒體設備實現(xiàn)互操作,這樣就能夠以模塊的方式在系統(tǒng)中添加視頻采集和疊加功能,而花費甚少。Bt848的使用與PCI系統(tǒng)總線的拓撲結構無關,可以用于各種系統(tǒng)總線的組織結構,既可以直接集成在主板上,也可以作成插卡插在PCI總線插槽內(nèi)。

       Bt848的主要特點是:與PCI 2.1規(guī)范全兼容,擁有輔助的GPIO數(shù)據(jù)端口和視頻數(shù)據(jù)端口,支持的圖像分辨率高達768×576,支持復雜的裁剪功能,零等待狀態(tài)的PCI突發(fā)寫操作,支持場/幀屏蔽以減少帶寬,在輸出方面支持多種YCbCr和RGB像素格式,支持NTSC/SECAM/PAL模擬輸入,可以使用垂直/水平方面的插值濾波將圖像尺寸縮小到圖標大小,具有多個復合和S視頻輸入,支持奇偶場不同的目的地址,支持奇偶場不同的顏色空 間/縮放因子,支持225個顏色調色板的視頻映射,具有用于圖文電視的VBI視頻捕獲功能。這些特點使Bt848適用于PC電視、桌面可視電話、運動視頻捕獲、靜止圖像采集和VBI數(shù)據(jù)服務等應用領域。

       Bt848高度集成的結構使其外圍電路極其簡單,也便于在同一塊插卡上增加更多的功能,例如視頻數(shù)據(jù)加密。視頻采集卡的結構如圖3所示。一塊Bt848最多支持4路模擬視頻輸入,其中3路是復合視頻信號,1路是S視頻信號。4路視頻輸入在Bt848內(nèi)部完成復用。Bt848通過內(nèi)部的PCI接口直接與PCI總線相連。單片機通過FIFO與Bt848的GPIO端口相連,單片機軟件與主機上的軟件一起實現(xiàn)視頻采集系統(tǒng)的加密??刂七壿嬁刂艬t848和FIFO的時序,同步PCI總線、Bt848與單片機的操作。

              視頻采集卡的結構

3 驅動程序的編寫

       應用程序必須通過驅動程序才能與硬件進行數(shù)據(jù)通信,而驅動程序的編寫又是與操作系統(tǒng)密切相關的。本系統(tǒng)所使用的操作系統(tǒng)是實時操作系統(tǒng)VxWorks。
VxWorks是由WRS(Wind River Systems)公司開發(fā)的一套具有微內(nèi)核高性能可伸縮的實時操作系統(tǒng),支持廣泛的網(wǎng)絡通信協(xié)議,并能夠根據(jù)用戶的需求進行組合,其開放式的結構和對工業(yè)標準的支持使開發(fā)者只需做最少的工作即可設計有效的適合于不同用戶要求的實時操作系統(tǒng)。VxWorks的特點主要有:微內(nèi)核結構(最小結構<8KB),高效的任務管理,靈活的任務間通信,微秒級中斷處理,符合POSIX 1003.1b實時擴展標準,滿足TCP/IP網(wǎng)絡標準,靈活的從ROM、磁盤或網(wǎng)絡的引導能力,多處理器支持,快速、靈活的I/O系統(tǒng),MS-DOS和RT-11文件系統(tǒng),完全符合ANSI C標準,多于1100種功能例程。除了性能出眾的操作系統(tǒng)之外,WRS公司還提供了優(yōu)秀的實時操作系統(tǒng)開發(fā)工具Tornado。Tornado由三個高度集成的部分組成:Tornado工具,是一整套強有力的交叉開發(fā)工具;VxWorks運行時系統(tǒng),是運行在目標機上的高性能、可裁剪的實時操作系統(tǒng);連接目標機和宿主機的通信選項,如以太網(wǎng)、串行線路、在線仿真或ROM仿真等。Tornado能夠支持幾乎所有的工作平臺和目標處理器,所提供的工具可用于所有目標機,并具有兩種調試模式(系統(tǒng)和任務模式)。除了基本的功能和開發(fā)工具,Tornado還具有先進的系列網(wǎng)絡產(chǎn)品,極大地擴展了Tornado的網(wǎng)絡特性并增強了嵌入式微處理器的網(wǎng)絡特性。

       VxWorks的所有機制和功能都是基于“C子程序”這種簡單機構,即:VxWorks的所有功能都是由C程序庫提供的,任何C程序都能夠從Tornado的命令和調試環(huán)境中交互式地調用,任何C程序都能夠作為VxWorks的一個任務從Tornado主機工具或者應用程序中產(chǎn)生,C程序能夠與中斷、看門狗定時器或輔助定時器相連。VxWorks的這種統(tǒng)一性使Tornado成為一種有效的開發(fā)系統(tǒng),因為用戶不必再編寫特殊的代碼來與系統(tǒng)陷阱接口,也不需要進行特殊的處理來建立一個任務,更不需要編寫特殊的用戶接口程序或交互式的測試程序來測試新代碼,用戶只要編寫子程序就能夠完成所有這些工作。

       VxWorks的這些特性為編寫應用程序和設備驅動程序提供了極大的便利。在VxWorks下,設備驅動程序既可以嵌入內(nèi)核隨系統(tǒng)一起啟動,也可以作為可加載模塊在系統(tǒng)啟動之后運行。前一種方式需要修改并重新編譯內(nèi)核,這需要熟悉內(nèi)核的結構,實現(xiàn)起來比較困難。而后一種方式則比較簡單,與編寫一般的應用程序類似。但是,無論采用哪種方式編寫驅動程序,其基本結構是相同的,如圖4所示。

                                                        流程圖

       PCI總線是一種即插即用的總線,在BIOS和操作系統(tǒng)的支持下,能夠自動地為設備分配合適的內(nèi)存映射地址、I/O端口和系統(tǒng)中斷控制器的輸入(IRQ)。Bt848支持兩類地址空間:配置地址空間和內(nèi)存地址空間。配置地址空間包括預定義的PCI配置寄存器,而內(nèi)存地址空間包括Bt848使用的所有局部寄存器。初始化PCI總線就是設置PCI配置空間所定義的寄存器,實現(xiàn)主機與PCI局部總線之間的接口,其過程是:首先在系統(tǒng)中根據(jù)設備標識(Bt848)和供應商標識(Brooktree)找到設備的位置,確定其總線號、設備號和功能號;然后根據(jù)總線號、設備號和功能號確定設備的基地址和IRQ,這個基地址就是Bt848局部寄存器的起始地址,而IRQ在連接中斷服務程序時使用;接著將設備的局部寄存器映射到系統(tǒng)內(nèi)存中,供以后設置局部寄存器使用;最后設置命令寄存器以控制Bt848產(chǎn)生和響應PCI周期的能力,例如使系統(tǒng)能夠響應對內(nèi)存空間的訪問,使Bt848成為總線操作發(fā)起的一方,使系統(tǒng)報告校驗錯等等。

       Bt848的中斷屏蔽寄存器INT_MASK中的設置決定了系統(tǒng)能夠響應哪些中斷,中斷服務程序為不同的中斷源提供相應的處理代碼。中斷服務程序的編寫必須遵循一定的規(guī)則,最主要的一點就是不能造成系統(tǒng)阻塞而影響系統(tǒng)性能。中斷服務程序應該盡量簡潔短小,使其能夠盡可能快速地返回。在中斷服務程序中不能有運行時間過長的代碼,也不能出現(xiàn)對某些共享資源進行某種訪問(例如試圖獲取信號量)的代碼。編寫完中斷服務程序之后,利用初始化PCI總線時獲得的IRQ和操作系統(tǒng)提供的函數(shù)將中斷服務程序與中斷矢量連接起來。

       Bt848的局部寄存器駐留在4KB的內(nèi)存尋址空間中,必須通過PCI總線才能訪問。通過設置相應的寄存器,就能夠控制Bt848的行為。通常,需要設置的內(nèi)容包括:輸入電視信號制式(PAL或NTSC),輸入信號源(MUX0、MUX1或MUX2),行同步,場同步,輸出格式(CCIR 601、CIF或QCIF),圖像放大或縮小參數(shù),圖像濾波參數(shù),亮度、色度和對比度調節(jié)等等。

       t848中集成的DMA控制器非常獨特,它實際上是一個小RISC處理器,其運行的指令(即RISC程序)位于主機內(nèi)存中并由Bt848的設備驅動程序提供。由于這種結構能夠將采集到的視頻數(shù)據(jù)傳輸?shù)絻?nèi)存中,從而大大地方便了視頻采集系統(tǒng)的實現(xiàn)。在這種結構中,DMA能夠動態(tài)地逐行改變目標內(nèi)存地址,這就使用戶能夠將每一幀視頻數(shù)據(jù)分成不同的部分放在多個內(nèi)存區(qū)域中。RISC程序的起始地址放在Bt848的RISC程序起始地址寄存器RISC_STRT_ADD中。Bt848提供的RISC指令包括:寫入WRITE、略過SKIP、同步SYNC和跳轉JUMP,利用這些指令就能夠控制數(shù)據(jù)流,得到所需要的數(shù)據(jù)。RISC程序的基本流程是:幀同步→寫入奇場→偶場同步→寫入偶場→奇場同步→跳轉至寫入奇場。

     系統(tǒng)啟動是通過設置GPIO和DMA控制寄存器中的RISC使能位和FIFO使能位來實現(xiàn)。將RISC使能位置為1使DMA控制器能夠處理RISC指令,將FIFO使能位置為1使數(shù)據(jù)FIFO有效。在將這兩位置為1后,視頻采集開始進行。

       在整個系統(tǒng)中,由于視頻采集的速度通常高于應用軟件取得數(shù)據(jù)并處理的速度,為了保證視頻數(shù)據(jù)的連續(xù)性,采用了三緩存結構。緩存A是Bt848視頻采集的目標地址,在RISC指令的直接控制下,采集的數(shù)據(jù)都先存放在這個緩存中。緩存B和C組成“乒乓”式結構,循環(huán)往復使用:當某一幀數(shù)據(jù)采集完畢后產(chǎn)生中斷,在中斷服務程序中將緩存A的數(shù)據(jù)復制到緩存B(或C)中,然后采集下一幀;當下一幀數(shù)據(jù)采集完后,再將緩存A中的數(shù)據(jù)復制到緩存C(或B)中。當應用程序需要數(shù)據(jù)時,就從緩存B或C中讀取最新的一幀圖像。緩存B和C交替使用,能夠保證應用程序從緩存讀數(shù)據(jù)的操作和驅動程序向緩存寫數(shù)據(jù)的操作不會發(fā)生沖突,避免了數(shù)據(jù)的損壞和遲延。

4 結論

       利用Bt848,在Intel x86平臺和實時操作系統(tǒng)VxWorks上實現(xiàn)了視頻采集系統(tǒng)。由于Bt848的高度集成特性,其外圍電路極其簡單,設計硬件電路時極其方便,同時性能也能夠得到保證,而且可以靈活地增加其他功能。而VxWorks優(yōu)異的性能和方便的接口也便于編寫設備驅動程序和應用軟件,其性能完全能夠滿足要求。目前,所實現(xiàn)的視頻采集系統(tǒng)已經(jīng)在視頻監(jiān)控和可視電話中獲得應用。

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉