- 浏览: 296514 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
ggwang:
谢谢分享!
如何释放Ubuntu多余的空间?如何给Ubuntu扩容(install inside windows)? -
allenshao:
只有放枪咯~~~~~
Google Group Android Developers 无法打开的问题 -
malong26:
也打不开~~~
Google Group Android Developers 无法打开的问题 -
songshuang:
一直喂它会一直吃是不?
用你的鼠标逗逗它 -
allenshao:
现在基本上用免费的VPN,缺点是限流量。
如何访问appspot网站?
微軟制訂了一套名為媒體傳輸協議(MTP)的新USB類別,希望協助Windows CE設備與Apple iPod產品系列匹敵。MTP協議與MSC的主要差異在於通信的層次、低階傳輸協議及設備控制的層級。本文將討論MTP協議的細節、MSC與MTP之間的 異同之處,並介紹一些MTP傳輸範例.
安全地傳送數字內容不是一件容易的事,為使用者開發一套簡化操作的底層技術就更加困難。眾多從事創作與傳送數字音頻及視頻內容的廠商現在正面臨這項重大挑 戰。微軟為新一代掌上設備開發了一套具備豐富功能的用戶界面,現已推廣一個新的傳輸協議——媒體傳輸協議(Media Transfer Protocol),簡稱MTP。
數字版權管理(DRM)機制是用來保護有版權或付費的影音內容,這 對於消費性掌上產品市場而言相當重要。由於欠缺數字內容傳送的控制技術,內容供貨商多半不願意發行如電影這類數字內容。若能開發出適合的保護協議,內容供 貨商會樂於將其知識產權加以數字化,微軟表示其MTP正是目前所需的保護協議。
MTP采用分層化設計
MTP與現今大多數的通信協議層次相似,都采用分層化設計。我們將 MTP協議分成三層:物理層(Physical Layer)、傳輸層(Transport Layer)以及指令層(Command Layer)。這些功能層有別於OSI模式的前三個層面,但其概念是相同的。MTP所用的數據傳輸層是Picture Transfer Protocol(PTP)規格。其中許多指令也是PTP指令,並可通過不同廠商的PTP延伸自行擴充。
物理層
需要註意的是,就物理層的層面而言,PTP與MTP是相同的,PTP與MTP在此層中可互通運用。本文將全文使用MTP。
USB設備通過端點與主控端進行通信。一個USB端點對應一個主控 端獨立信道。每個設備需要一個特別的雙向端點,即控制端點,其代號為端點0。主控端會利用這個端點來控制設備並判斷其各項特性。其他端點皆為單向信道,具 備獨立排序與流量控制功能。MTP設備包含提供以下通信信道的四個端點:
◆ 主控端的Data OUT(海量數據輸出端點)
◆ 主控端的Data IN(海量數據輸入端點)
◆ 主控端的Commands(requests) OUT(共享控制端點:EP0)
◆ 傳送至主控端的Events IN(中斷輸入端點)
IN與OUT代表USB設備中的數據傳送方向。USB是一種以主控端為中心的通信協議;所有IN的數據流量都會流向主控端,而OUT的數據流量皆流向設備端。
傳輸層
MTP的數據傳輸層源自於PTP(USB Still Image Class)。USB Still Image Class規格了指令如何通過PTP進行傳輸、如何響應指令、如何中止傳輸,以及指令如何進行格式化。它並沒有規格指令本身,我們將在下面探討指令。
USB傳輸狀態結構有三個主要狀態:指令狀態(Command Phase)、數據狀態(Data Phase)以及響應狀態(Response Phase)。主控端始終通過數據線激活指令狀態。指令狀態可能會持續多個數據包(尤其是較舊的USB 1.1設備),但所有被定義的指令皆小於64位。
在指令狀態中,主控端會傳送一個單一指令到設備端。這些送出的指令會裝在有固定格式的存儲器(Containers)中,如表1所示。
如果指令有一個數據狀態,IN或OUT數據狀態就會緊隨在指令狀態 之後。傳送至存儲器中的數據屬於Container Type 2,而非指令區塊的Container Type 1。最後,設備發出一個響應信號,顯示指令的執行結果。響應編碼與指令有關連,它們通常含有指令所有預期的結果。例如,允許響應 GetObjectHandles出現超過10種可能的響應編碼,其中包括OK以及Store_Not_Available。
指令
PTP與MTP將設備中大部分元素視為對象。日常生活中用戶使用設備的大多數指令都會涉及對象。
通信協議運作流程
觀察樣本數據流量的內容,很容易看出通信協議的運作流程。圖4的CATC流程圖顯示在主控端與設備之間激活通信的過程。
主控端激活所有標示為OUT的傳輸,設備端則傳送所有標示為IN的數據。傳輸時全部采用解碼數據。例如,Transfer35的數據包含在Transaction230776中。
Transfer35:這裏可以看到存儲器實際運作的狀況。長度字段(0x10/16小數)從LSB傳送至MSB,之後有類型(Command=1)及指令碼(OpenSession)。MTP執行ID為0,顯示這是聯機中的第一項傳輸。
Transfer36:結束一項傳輸,顯示主控端成功完成傳輸(Code=OK)。
Transfer37:主控端要求設備中存儲元素清單(GetStorageIDs)。例如,附有擴充卡的Palm Pilot可能有兩個元素,一個支持主存儲器,另一個支持擴充卡。
Transfer38:這是數據存儲器的第一個範例。設備響應它有一個單一存儲元素,標示為0x1(邏輯)與0x1(物理)。這個指令完全編碼如表3所示。
Transfer39:以一個OK指令碼關閉Transaction1。
Transfer40:開始下一項MTP傳輸。
MTP添加延伸技術 擴充PTP規格
我們用了大量篇幅介紹MTP與PTP的共同點,因為MTP需要70%至80%的執行工作,但MTP會在大大小小的層面上提升PTP。在通信協議上進行的小規模改良,會對功能產生極大的影響。
MTP增加了許多以各種新方式定義的新對象。這種設計可為各個播放清單提供支持,這些播放清單是任何MP3或媒體播放裝置的重要關鍵。MTP也增加了對Palm這類PDA設備的支持,可加入日歷、聯系人及群組對象等功能。當然,MTP也加入了對影像對象的支持。
通過加入特定的數字版權管理(DRM)屬性,包括DRM狀態、URL(在授權權限過期時,讓DRM可以要求付費)、使用次數和其他相關屬性,讓產品更容易加入數字版權管理的支持,MTP可讓DRM的支持功能更容易執行。
MTP還添加了許多延伸技術,使數據處理更加容易。它擴充了PTP 規格,因此可傳輸大型(超過4GB)的文件。它也讓存儲器與數據被分割成不同的USB數據包。這樣可以使USB芯片(包括Cypress EZ-USB FX2LP與EZ-USB SX2系列產品)能更有效率地處理數據包。
增強版MTP讓主控端與MTP外圍設備緊密結合
微軟在基本MTP結構中加入一系列優化設計,借此提升在 Windows操作系統中使用MTP設備的效果。如果您是一臺設備(Resopnder),這些功能已包含在微軟的免版稅授權範圍內。若您是主控端 (Initiator),這些“Enhanced Initiator”功能的授權屬於基本功能之外,您必須與微軟公司洽談授權合約。
增強版MTP的目的是讓主控端能與MTP外圍設備緊密結合,獲得更好的終端用戶體驗。許多增強版MTP功能的目的是一次處理多個對象,從而提高同步性能。
法律問題
如果用戶從微軟網站下載MTP規格,就會發現說明書的前三頁是終端用戶授權協議(End User License Agreement,EULA)。建議用戶在開始任何MTP研發工作前,最好請律師詳讀這份授權書。EULA的重點包括:
◆ 基本MTP規格可免費使用:“微軟授予您以下有限的、非獨家、全球性、免版稅、不可讓渡、不可轉讓、不可再授權的使用權限。”
◆ “Enhanced Initiator”功能不在此授權範圍之內。“本協議並未授予您在解決方案中運行“Enhanced Initiator”功能或此規格中所述功能的權限。”
◆ 必須履行整套規格:“您在解決方案中的工具設計,必須遵從整套規格。”
為保護數字內容版權提出對策
追根究底,制定另一種傳輸規範的根本標準還是終端用戶的需求。面對消費性市場要求簡單、多功能的掌上產品的壓力,以及內容創作業界要求妥善保護數字內容版權的呼聲,微軟正致力解決這種兩頭燒的問題。
為了讓雙方都能滿意,微軟提出媒體傳輸協議。技術人員須了解底層技術,方能發現滿足顧客的產品特性和優勢。因此,雖然學習新的通信協議可能不會是件簡單的事,但之後消費者必然會感謝您的努力。
发表评论
-
AOSP source code build error: Virtual memory exhausted: Cannot allocate memory
2014-01-02 15:47 1333Sometimes compiling certain thi ... -
What is the purpose of different Android partitions
2014-01-02 09:57 699-- Boot partition stores the An ... -
Android Kitkat ART vs. Dalvik & Impacts for end-users
2013-12-08 19:00 795What's ART? ART is Google's 2- ... -
error: gnutls_handshake() falied when you sync chip code in ubuntu
2013-11-30 19:47 878gnutls package is broken, worka ... -
unix2dos dos2unix
2013-03-04 20:12 763sudo aptitude install tofrodos ... -
How to make resources added in frameworks/base/core/res/res
2013-02-23 10:19 10511) add the new id to your xml 2 ... -
JDK6 installed in Ubuntu
2012-11-10 15:23 808按照网上的方法apt-get并不成功,我这里采用的方法是手工安 ... -
Android source sync问题汇总(since 2012)
2012-11-04 16:00 17951. [repo init] fetch address is ... -
Android Partitions Explained: boot, system, recovery, data, cache & misc
2012-09-06 16:17 1071Unless you have been using your ... -
Android IPC AudioFlinger binder实例
2012-06-20 13:32 982一篇 android 的 IPC 机制 binder ... -
Eclipse Android project name有错误, source tree无红叉解决办法
2012-06-07 13:22 1279linux: Window -> Preference ... -
为什么ios比android流畅
2012-04-13 10:25 3124Andorid更新 ... -
Android内核开发的几个常用命令
2012-02-23 15:29 981在android源码的根目录下执行: . build/env ... -
Why is Android laggy, while iOS, Windows Phone 7, QNX, and WebOS are fluid?
2011-12-12 17:55 1007The Root Cause It’s not GC p ... -
Writing Native Code for Android Systems
2011-09-26 17:53 778Writing Native Code for Android ... -
Android JNI 使用的数据结构JNINativeMethod详解
2011-09-13 10:26 853Andoird 中使用了一种不同传统Java JNI的方 ... -
Android property system
2011-08-25 15:11 1306属性系统是 android 的一个重 ... -
Android boot process stub
2011-07-20 10:08 0Android's boot up process is su ... -
Android boot process stub
2011-07-20 10:07 924Android's boot up process is su ... -
OpenFrameworks + kinect + Android
2011-06-20 15:29 1413How to make: 1.Setup ofxAndr ...
相关推荐
Introduction to MTP Media Transfer Protocol.pdf
mtp usb驱动32和64位下载(win7mtp usb驱动) Media Transfer Protocol Porting Kit 媒体传输协议移植工具包 解决手机连接电脑驱动安装失败导致手机识别不了的问题
微软原始的Mtp文档——Microsoft Media Transfer Protocol Specification v0.96
MTP was first shipped as part of the Windows Media Device Manager 10 SDK. This porting kit includes the complete MTP specification, updated design documentation, updated sample source code, software ...
Media Transfer Protocol, or MTP, is a protocol that is designed for content exchange with and command and control of transient storage devices. It has been developed by Microsoft as an extension to ...
MTP完整协议,Media Transfer Protocol is a protocol designed for content exchange
1.MTP USB驱动win7 32+64位可用版 2.mtppk12.exe 3.usb-driver-setup.exe
This documentation presents an overview of extensions to the Microsoft Media Transfer Protocol (MTP) specification. MTP incorporates a mechanism to enable Microsoft and other vendors to extend the ...
uMTP-Responder:用于GNULinux的轻量级USB媒体传输协议(MTP)响应程序守护程序
The Media Transfer Protocol (MTP) device services extension helps an MTP initiator find and access certain types of content that is stored on a responder (device). Today’s devices have content that ...
窄带的消息传递部分MTP(Message Transfer Part)基于传统的TDM(Time Division Multiplex)传输系统,其主要功能是在No.7 信令网中提供可靠的信令消息传递,并在 系统和信令网故障情况下,为保证可靠的信息传递,...
尼康750skd Digital Camera D750 USB Still Image Capture Device Media Transfer Protocol (MTP) Specifications
MTP microsoft protocol Transfer Protocol Porting Kit and the method for handle the connect 。 附有文档。
ss7的信令协议站,CTI论坛 SS7信令协议栈,MTP1,MTP2,MTP3,SCCP,TCAP,ISUP,TUP,mtp3的分层介绍
鉴于大家的需要,上传MTP文件拷贝传输代码For C#,代码仅提供参考,希望对大家有所帮助; MTP设备文件并无盘符,是在MTP设备ID下,以树形结构存在的,操作时,我们其实操作的是文件的镜像,文件操作全部使用的是文件ID. MTP...
开发SDK,官网下载 编程开发的参考手册,不错的资料 需要的可以来下载 全英文版的,没有中文版 Digital Camera D7500 USB Still Image Capture Device ...Media Transfer Protocol (MTP) Specifications
Android开发,Android程序建立的文件,使用MTP方式,连接电脑后,电脑上不显示。但在Android设备自带的文件管理器可以看到此文件。 用usb连接电脑 一些文件 不显示。重启后可显示。 此类问题属于MTP同步问题。MTP in...
mtp10-b7f55 datasheet
消息传递部分--MTP消息传递部分--MTP消息传递部分--MTP消息传递部分--MTP消息传递部分--MTP消息传递部分--MTP消息传递部分--MTP消息传递部分--MTP消息传递部分--MTP
7号信令网,MTP协议及功能介绍。让你能够正确配通MTP信令链路。