1. 程式人生 > >第十九篇:USB Audio/Video Class裝置協議

第十九篇:USB Audio/Video Class裝置協議

轉發請註明出處:

隨著專案的不斷進行, 我想在網上查找了一下USB Audio/Video的最新資料, 看看有沒有業內人士的更新, 由於我們的專案一直在技術的最前延, 而且這個USB-IF官方釋出的協議, 也非常非常新, 結果找了半天, 都是我這篇文章的轉發, 有些註明了文章出處, 有些, 則改個文章名字, 文章內容一模一樣. 請這樣的轉發編輯人員, 遵守職業道德, 尊重智慧財產權, 因為, 你的工作所寫文章也是智慧財產權的一種表現, 從某從程度上講, 不尊重別人的智慧財產權, 就等於不尊重自己的勞動成果.

http://www.tuicool.com/articles/UjMNby 這是轉發註明出處的

http://www.myexception.cn/other/1676044.html 這是無恥地改個文章標題, 而且不註明出處的

眾所周知, USB是一個成功的協議

從USB1.0, USB1.1, USB2.0 480Mbps 到USB3.0 5Gbps, 再到最新的USB3.1 10Gbps, 不斷在發展,不斷在更新.

同時, 對USB裝置方面有所瞭解的軟體,硬體工程師,也應該知道, USB包含了Storage, audio, video, hid, printer, 只要是做過USB的工程師,都或多或少對這幾個類有過底層firmware, Linux gadget driver的開發經驗.

在USB子系統的速度(speed, actually it is included by performance), 效能(high performance), 耗電(low power)不斷改進, 更新, 發展的同時, USB裝置協議也與時俱進.

UASP (USB attached SCSI protocol) 是伴隨著USB3.0 對BULK 傳輸的增加版本 BULK STREAMING的應運而生的, 原來的USB STORAGE BOT只是序列的儲存協議, 而UASP則是USB3.0, USB BULK STREAMING, SCSI, COMMAND QUEUE的完美結合, 讓看似簡單的一個USB子系統, 對底層AXI/AHB, PCIE, Memory controller, SCSI, 裝置端的firmware/driver, 主機端的xHCI host, host driver, storage driver, UASP USB port/miniport driver都提出了更高的要求.

USB Audio/Video Class

有些工程師可能並不清楚這個協議的內容, 從字面上理解, 是原先USB audio與USB video的重複.

其實, 完全不是這樣, 為了佔據技術市場的前沿, 把握最新的技術動態, 針對專案需要, 通過對USB-IF剛剛釋出的USB AV CLASS協議的深入研究以及專案經驗, 筆者發現USB-IF已經將音視訊, 輸入輸出, 甚至顯示卡的功能及應用都周全地考慮進去.

在這樣一個USB AV CLASS裝置中, 同樣集成了SOC, AXI/AHB, PCIE, Memory controller, DMA, USB bulk/iso, I2S, 音訊, 視訊, H264, OpenGL ES的方方面面, 裝置端的firmware/driver, 主機端的USB AV CLASS驅動開發, 看過我對USB VIDEO CLASS驅動這篇文章的讀者知道, USB VIDEO CLASS驅動是AVSTREAM/BDA架構的驅動, 這個架構已經是非常大的, 但其只考慮了視訊這個方面, 相對於USB AV CLASS的音訊, 視訊, 甚至顯示卡(display, render)的功能, 需要完成這樣一個驅動程式, 可以認為, 它是包括了USB VIDEO, USB AUDIO, FULL GRAPHIC(比如VidPN, GPU scheduler, video memory management)三方面的結合體, 這就對驅動開發人員, 在知識體系方面提出了更加高的要求.

另外, 還有USB Content security, 可以認為, 它是對USB AV CLASS的一個補充, 應用於音視訊知識內容產權的保護, 這就對硬體,軟體提出了更高的要求.

相關推薦

:USB Audio/Video Class裝置協議

轉發請註明出處: 隨著專案的不斷進行, 我想在網上查找了一下USB Audio/Video的最新資料, 看看有沒有業內人士的更新, 由於我們的專案一直在技術的最前延, 而且這個USB-IF官方釋出的協議, 也非常非常新, 結果找了半天, 都是我這篇文章的轉發, 有些註明了文

python全棧開發基礎【】進程

返回 工作 後臺 兩種 技術分享 div cpu 相關 發出 一、什麽是進程 進程:正在進行的一個過程或是一個任務。而負責執行任務的是CPU。 舉例:(單核+多道,實現多個進程的並發):  比如說你就是一個CPU,你下午有幾個活要幹,吃飯,洗衣服,上廁所等。但是就在那一下午

Django 【】JS實現的ajax、同源策略和前端jsonp解決跨域問題

學習 tab頁 hello shortcuts 就會 coo 功能介紹 onclick decorator 一、回顧jQuery實現的ajax 首先說一下ajax的優缺點 優點: AJAX使用Javascript技術向服務器發送異步請求; AJAX無須刷新整個頁面;

】laydate設置起始時間,laydate設置開始時間和結束時間

ace red con name col body 設置 inpu 結束時間 laydate設置開始時間後,結束時間不可小於已選擇的開始時間 laydate設置結束時間後,開始時間不可小於已選擇的結束時間 1 //設置開始時間 2

Python之路【】:sys與os模塊

改變 python 隱藏 post 系統 rmdir 最大的 mman 就是 與解釋器相關的一些操作在sys模塊中,與系統相關的一些操作在os模塊中 sys模塊 sys.argv 命令行參數List,第一個元素是程序本身路徑 sys.exit(n)

flask——模板【3】

方法 base64 spa htm 復制 url emp ati str 請關註微信公眾號:自動化測試實戰 今天我們繼續模板的知識,現在我們增加字典的復雜度,這個時候在render_template第二個參數可以傳**title,以後我們會用**context代替原來的ti

:Mysql兩次Group by和ip轉數字作比較的一次優化

業務場景:兩張表,ipconfig_group表存了單位和 ip 起始段資訊visit_info表儲存了訪問次數,失敗次數,訪問流量,使用者ip等資訊兩張表的關係為:    一個部門下有若干ip段,對應的下面表的visitorip,每個visitorip有訪問次數,失敗

Android提高之 多方向 抽屜

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【轉】MySQL— pymysql and SQLAlchemy Python開發【】:Python操作MySQL

【轉】MySQL— pymysql and SQLAlchemy 目錄 一、pymysql 二、SQLAlchemy 一、pymysql pymsql是Python中操作MySQL的模組,其使用方法和MySQLdb幾乎相同。 1. 下載安裝 #在終端直接執行 pip3 install p

19-撩課-Java面試寶典-

126.Struts2中的攔截器有什麼用?列舉框架提供的攔截器名稱? 1)攔截器是struts2核心組成部分, 它提供了一種機制,使得開發者 可以定義一個特定的功能模組, 這個模組會在Action執行之前或者之後執行 也可以在Action執行之前阻止Action執行。 2)常用的

19-撩課大前端-面試寶典-

1.實現一個函式clone,可以對JavaScript中的5種主要的資料型別(包括Number、String、Object、Array、Boolean)進行值複製 考察點1:對於基本資料型別和引用資料型別在記憶體中存放的是值還是指標這一區別是否清楚 考察點2:是否知道如何判斷一個變數是

Vue學習之路:按鍵修飾符的使用

定義 this 速度 捕獲 需求 序號 esc style color 1、我們工作中經常會有類似於這樣的需求:按下Enter鍵觸發某個事件、或者按下ESC退出頁面等各種各樣的場景。在Vue中,可以通過鍵盤修飾符來實現這樣的場景。 2、事例代碼: <body>

一起來學SpringBoot | :輕鬆搞定資料驗證(一)

SpringBoot是為了簡化Spring應用的建立、執行、除錯、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,我們只需遵循規範,引入相關的依賴就可以輕易的搭建出一個 WEB 工程 對於任何一個

:融匯貫通--談USB Video Class驅動

USB Video Class驅動是WINDOWS系統包含的一個針對於USB VIDEO 類的驅動程式. 好多project師都做過USB VIDEO裝置端的開發, 基本的工作內容為: 使用FIRMWARE,或者LIINUX GADGET驅動程式, 構建USB VIDEO裝置

刪除連結串列的倒數K個節點(leetcode中級題)

給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5.

Vue學習之路:為頁面元素設置class類樣式

成了 簡化 htm viewport con ava 屬性綁定 進行 頁面元素 1、class為頁面元素的一個屬性,通過前面第五篇的內容可知,操作屬性需要使用到v-bind指定(也可簡寫為 :)。 2、先來看一個簡單的頁面樣式內容: <!DOCTYPE html&g

:IOS核心高階動畫 Core Animation、Core Graphics

一、 CALayer < CAMediaTiming > 圖層: 1. 圖層屬性及功能介紹: 1)contents :id 型別, 內容顯示。 在ARC環境下使用: = (__bridge id)image.CGImage; 在MRC環境下使用

JAVA學習課(java程序的異常處理 (二))

num 函數 錯誤 style col 編譯失敗 return [] java 異常處理的捕捉形式: 這是能夠對異常進行針對性處理的方式 六、try、catch的理解 詳細格式: try { //須要被檢測異常的代碼 } catch(異常類 變量)//改變量用

分布式技術追蹤 2017年

pla 如何 距離 無法 演變 什麽是 雲平臺 架構流程 增加 分布式系統實踐 1. BigData-‘基於代價優化’究竟是怎麽一回事? http://dwz.cn/5Vq8T8 摘要: 很多同學應該都有認識, SQL的join操作很可能是性能殺手, 如果寫的不好, 性能可

鳥哥的Linux私房菜——章:例行命令的建立

crontab bsp 鳥哥 onf ges fig 什麽 執行 inux   視頻鏈接: 1. 什麽是例行性命令                (分為兩種,一種是周期性的,一種是突發性的)1.1 Linux 工作排程的種類: at, cron        (