女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用S3C2410處理器和嵌入式Linux實現手持終端系統的應用方案

電子設計 ? 來源:微計算機信息 ? 作者:黨帥 , 王庫 ? 2021-03-20 09:18 ? 次閱讀

1 引言

視頻監控技術在國民生產的許多領域發揮著重要的作用。隨著嵌入式技術的逐漸發展和成熟,手持監控終端成為可能。而手持監控終端的可攜帶性和低功耗更極大地擴展了視頻監控的應用范同。本課題探索了一種手持監控終端的設計方案。提供了簡捷易用的圖形用戶界面.實現了對MPEG4格式視頻壓縮數據的解碼及其在LCD上的播放。

2 系統的硬件平臺

本系統的處理器選用三星公司生產的具有ARM9內核的S3C2410.S3C2410是32位RISC CPU.內部帶有全性能的內存處理單元(MMU).主頻為203MHz,最高可達260MHz。芯片內部集成了大量的功能單元.包括:外部存儲器控制器、LCD控制器以及8通道10位ADC和觸摸屏接口等。系統的電源模塊采用TI公司的TPS73HD3XX系列芯片進行電壓轉換.可以分別獲得1.8V和3.3V電壓。根據應用的需要.本系統選用了1M NOR Flash AM29LV800DB,64M NAND Flash U-K9F1208UDM-YC80和兩片32M SDRAM K4S561632C-TC75。液晶采用的是320x240的TFT真彩(65536色,16位)液晶屏。觸摸屏采用的是四線制電阻式觸摸屏。系統的硬件結構框圖如圖1所示。

采用S3C2410處理器和嵌入式Linux實現手持終端系統的應用方案

圖1 系統硬件框圖

3 系統的軟件設計

本手持終端選用嵌入式Linux作為操作系統。在此基礎上運用了兩個開源軟件:圖形用戶界面庫MiniGUI和視頻編解碼庫ffmpeg。

3.1 基于MiniGUI的圖形用戶界面

MiniGUI是由北京飛漫軟件技術有限公司豐持的一個自由軟件項目.它為基于Linux的實時嵌入式系統提供一個輕量級的罔形用戶界面支持系統。本系統的圖形用戶界面使用了這個庫來實現,它負責運用和管理FrameBuffer幀緩存驅動、觸摸屏和鍵盤驅動程序。通過MiniGUI庫。系統圖形用戶界面相關的部分得到廠很好的實現.成功的建立了包括按鈕、菜單和背景網片在內的圖形用戶界面。特別需要指出的是.因為本系統的數據接收和實時視頻解碼的操作涉及到大量的數據處理,所以應用程序會分別為這些操作新開線程,如果一個線程因為數據的處理失敗而阻塞,圖形用戶界面線程仍可正常工作。用戶仍可以和軟件交互.終止阻塞的線程。

3.2 視頻解碼線程

本課題中。手持設備通過網絡接收MPEG4格式的視頻數據所以需要在手持設備上移植MPEG4的解碼庫。經過對比和分析,選擇了ffmpeg開源項目作為這個手持設備的解碼庫。ffmpeg是自南軟件,為多媒體系統實現MPEG4流媒體技術提供了完整的解決方案.主要的組成部分是libavformat和libavcodec庫。libavcodec包含了很多常見的音視頻編解碼器.而libavformat則能夠很好的支持大部分的音視頻文件格式。

實時接收到的視頻數據可以作為一種特殊的流媒體文件.這種文件與一般的視頻文件相同。都有若干個基本的組成部分。首先,文件自身可以被叫做一個“容器”(container),“容器”的類型決定了視頻信息在文件中所處的位置。其次,文件包含有若干個“流”(stream);比如,通常有一個音頻流和一個視頻流(一個“流”只是一個對于一系列數據組成單位的形象的稱呼)。一個流中的數據組成單位叫做“幀”(frame)。每一個流由不同的“解碼器”解碼。從流中可以讀出“包”(packet)。包是一些數據塊,這些數據塊中包含了壓縮后的原始幀的數據。下面詳細地介紹一下利用ffmpeg的API函數進行解碼的過程。

首先,利用av_register_all()函數進行庫的初始化,向編解碼庫注冊所有可用的文件格式和編碼器,所以當有對應的格式的文件被打開的時候.相應的解碼器可以被自動地調用。通過av_open_input_file()函數打開視頻文件,把關于文件格式的頭和儲存信息讀到一個AVFormatContext結構體中。接著,利用av_find_stream_info()函數檢查存儲在AVFormatContext結構體中的文件的流信息,這個函數把正確的信息存儲在一個指針集合中.在這個集合中就可以找到需要的視頻流。關于流的編解碼器信息在AVCodecContext結構體中,通過它就可以找到真正的編解碼器并且打開它。

利用avcodec_alloc_frame()函數分配一個用來存儲幀的空間pFrame。因為手持終端播放的視頻是565-bit的圖像,所以還需要把幀從原始格式轉化成RGB格式。ffmpeg提供了img_convert()函數做這個轉換。注意為轉換還需另外分配一個幀pFrameRGB用來存放轉換后的數據。接下來依次從視頻流中讀原始幀的數據包把數據包解碼到上面分配的pFrame中,一旦完成了一個幀的解碼,就把這個幀轉換成要求的RGB數據格式并且在液晶屏上顯示解碼后的視頻圖像。系統解碼的過程如圖2所示。

圖2 系統解碼的過程

3.3 數據接收線程

手持監控終端通過SOCKET與視頻采集設備建立連接接收視頻數據.但是接收到的MPEG4數據,必須進行一定量的緩沖.然后才能調用ffmpeg的API函數進行解碼處理。本手持監控終端在內存中建立兩個隊列,一個是空閑的緩沖隊列,用以存放接收到的數據:另一個是尚未處理的數據隊列.等待處理.兩個隊列頭尾相連組成一個環形緩沖列表。數據接收線程方面:當手持監控終端接收到一個包的數據,就從緩沖隊列的頭拿出一個緩沖區塊,把接收到的數據存放到這個緩沖區塊中,然后將這個緩沖區塊加入到數據隊列的尾部等待視頻解碼線程的讀取。視頻解碼線程方面:從數據隊列的頭拿出一個緩沖區塊,讀取數據,將讀完的緩沖區塊加到緩沖隊列的尾部,等待再一次地接收數據。經過測試,選擇32個緩沖區塊,每個緩沖區塊的大小選為24KB,會獲得比較好的抗擾動,抗延時的播放效果。系統的軟件結構框圖如圖3所示。

圖3 系統軟件框圖

4 結束語

本文針對S3C2410硬件平臺和Linux操作系統,設計并完成了在手持監控終端上對實時視頻的播放,基本上達到了,預期的要求。由于本課題只是借鑒了流媒體的思想,利用的不是真正的流媒體技術所以會產生一定的播放延時,接下來的工作會探索流媒體技術在手持視頻終端上的應用,進一步減少延時,以便可以更好的將流媒體技術利用到視頻監控中。

創新點:本文所提出的手持監控終端的設計方案充分利用了S3C2410的功能,并且創新性的把ffmpeg視頻編解碼庫移植到了基于S3C2410的硬件平臺上.通過建立循環數據鏈表的方法實現了視頻數據的接收和解碼的同時運行。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19800

    瀏覽量

    233503
  • 嵌入式
    +關注

    關注

    5141

    文章

    19528

    瀏覽量

    314818
  • Linux
    +關注

    關注

    87

    文章

    11457

    瀏覽量

    212761
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    S3C2410處理器

    S3C2410處理器通過GPD端口連接LED1-4四個燈,試著畫出其電路連接圖,并變成實現其逐一點亮功能。
    發表于 11-23 21:50

    嵌入式Linux2.6在S3C2410上的移植技術探析

    移植操作系統是開發嵌入式系統的前提和基礎,通過將Linux 2.6 內核移植到S3C2410目標板上,提出了
    發表于 08-31 10:03 ?15次下載

    基于S3C2410嵌入式無線監控系統的設計

    為了對無人職守的監控現場進行有效監控,我們設計實現了基于三星的S3C2410 嵌入式處理器的監控系統, 同時利用GPRS/CDMA 無線技術
    發表于 09-09 16:25 ?31次下載

    基于S3C2410嵌入式串口通信設計

    本文通過基于S3C2410嵌入式串口通信的實現,按照嵌入式系統的軟、硬件結構組成,較為詳細地介紹了串行通信的硬件電路和軟件
    發表于 12-23 16:11 ?120次下載

    基于S3C2410手持監控終端的研究與設計

    本文介紹了一種基于S3C2410嵌入式Linux 操作系統手持監控設備的設計方案。文中首先
    發表于 01-25 15:39 ?59次下載

    S3C2410處理器 Bootloader(Vivi)源代碼

    S3C2410處理器 Bootloader(Vivi)源代碼分析 這邊的2410開發板提供的光盤上已附交叉編譯工具:arm-linux-
    發表于 02-09 15:39 ?22次下載

    嵌入式Linux系統開發技術詳解-基于ARM

    本章以S3C2410處理器的GPS手持設備開發過程為例,介紹了嵌入式Linux系統軟硬件的設計與
    發表于 06-12 15:32 ?71次下載

    基于S3C2410嵌入式車載定位系統設計

    本文從實際應用出發,為嵌入式Linux在車載GPS導航定位系統中的應用研究提供了一種新的設計思路。以ARM處理器S3C2410為硬件核心,在
    發表于 07-14 17:18 ?77次下載

    Windows CE.NET在S3C2410處理器上的移植

      本文分析了嵌入式操作系統Windows CE。NET的特點,并利用工具Platform Builder 4。2完成了其在以ARM920T為核心的S3C2410處理器上的定制。  
    發表于 08-27 14:41 ?732次閱讀
    Windows CE.NET在<b class='flag-5'>S3C2410</b><b class='flag-5'>處理器</b>上的移植

    S3C2410處理器特性

    S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,采用0.18um制造工藝的32位微控制
    發表于 10-10 11:52 ?5924次閱讀

    基于S3C2410和Windows CEnet的智能移動終端設計

    本文介紹 S3C2410處理器的性能以及 Windows CE. net 作為嵌入式操作系統的開發流程 。闡述基于 S3C2410芯片和
    發表于 04-18 10:46 ?0次下載

    基于S3C2410處理器對Windows CE 5.0操作系統實現BSP移植

    ,是一種硬實時嵌入式操作系統,它可以在多種處理器架構(如x86、MIPS、ARM和 SH4)上運行,Windows CE支持ARM體系結構,這是基于S3C2410
    發表于 03-06 10:10 ?1190次閱讀
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>處理器</b>對Windows CE 5.0操作<b class='flag-5'>系統</b><b class='flag-5'>實現</b>BSP移植

    基于在S3C2410處理器平臺上實現Windows CE.NET的應用設計

    本文分析了嵌入式操作系統Windows CE.NET的特點,并利用工具Platform Builder 4。2完成了其在以ARM920T為核心的S3C2410處理器上的定制。
    的頭像 發表于 09-24 10:03 ?2735次閱讀
    基于在<b class='flag-5'>S3C2410</b><b class='flag-5'>處理器</b>平臺上<b class='flag-5'>實現</b>Windows CE.NET的應用設計

    基于S3C2410處理器實現USB網卡無線網絡功能的實現

    目前,嵌入式技術已廣泛應用于工業控制、消費類電子產品、通信系統等各類市場產品。并且隨著互聯網的日益發達,具有無線接入功能的嵌入式系統更加具有發展前景。本文將介紹支持IEEE 802.1
    的頭像 發表于 05-05 17:04 ?2293次閱讀
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>處理器</b><b class='flag-5'>實現</b>USB網卡無線網絡功能的<b class='flag-5'>實現</b>

    基于S3C2410處理器Linux實現嵌入式網關的設計

    介紹了一種基于ARM9的嵌入式以太網的設計方案。基于ARM內核微處理器S3C2410的功能特點及其外擴組成部分,分析了以太網控制芯片RTL
    的頭像 發表于 06-22 14:28 ?2864次閱讀
    基于<b class='flag-5'>S3C2410</b>微<b class='flag-5'>處理器</b>和<b class='flag-5'>Linux</b><b class='flag-5'>實現</b><b class='flag-5'>嵌入式</b>網關的設計