Swagger On 華為云Devcloud
937
2022-05-30
本文檔通過指定ETSITS07.10標準的一個子集,以及一些特定于藍牙?的自適應,來指定RFCOMM協議。
1.前言
RFCOMM協議通過L2CAP協議提供串口的仿真。該協議基于ETSI標準GSM07.10。此外,以強制性的基于信用的流量控制方案的形式,增加了一個特定于RFCOMM的擴展。
1.1 概述
RFCOMM是一個簡單的傳輸協議,附加了模擬RS-232(ITU-TV.24)串口的9個電路的規定。
RFCOMM協議支持兩個藍牙設備之間最多60個同時連接。在藍牙設備中可以同時使用的連接數是特定于實現的。
1.2 設備類型
對于RFCOMM的目的,一個完整的通信路徑涉及到在不同的設備(通信端點)上運行的兩個應用程序,它們之間有一個通信段。圖1.1顯示了完整的通信路徑。(在此情況下,術語應用程序可以指終端用戶應用程序以外的其他東西;例如,更高層協議或代表終端用戶應用程序使用的其他服務。)
RFCOMM旨在覆蓋利用其所在設備的串行端口的應用程序。在簡單的配置中,通信段是從一個設備到另一個設備的藍牙鏈路(直接連接),見圖1.2。當通信段是另一個網絡時,藍牙無線技術用于設備和像調制解調器這樣的網絡連接設備之間的路徑。RFCOMM只涉及直接連接情況下的設備之間的連接,或者涉及網絡情況下的設備與調制解調器之間的連接。RFCOMM可以支持其他配置,如一側通過藍牙無線技術進行通信的模塊,另一側提供有線接口的模塊,如圖1.3所示。設備并不是真正的調制解調器,但也提供類似的服務。因此,這里沒有明確地討論它們。
本規范支持以下兩種設備類型的實現:
類型1的設備是通信端點,如計算機和打印機。
類型2設備是通信部分部分的設備,例如調制解調器
雖然RFCOMM在協議中沒有區分這兩種設備類型,但容納這兩種類型的設備會影響RFCOMM協議。
圖2
圖3
兩個RFCOMM實體之間傳輸的信息被定義為支持1型和2型設備。有些信息只需要第2類設備使用,而其他信息則打算供兩者使用。在協議中,類型1和類型2之間沒有任何區別。因此,由RFCOMM實現者來確定在RFCOMM協議中傳遞的信息是否對實現有用。由于設備不知道通信路徑中其他設備的類型,因此每個設備都應傳遞協議指定的所有可用信息。
1.3 字節排序
本文檔使用與GSM07.10規范相同的字節順序;即,所有二進制數字都以最小顯著位到最重要位的順序排列,從左到右讀取。
2.RFCOMM服務
RFCOMM模擬RS-232(ITU-TV.24)串行端口。仿真包括非數據電路狀態的傳輸。RFCOMM有一個內置的空調制解調器模擬方案。
如果通過RFCOMM服務接口為特定端口設置了波特率,則不會影響RFCOMM中的實際數據吞吐量,即RFCOMM不會產生人為的速率限制或起搏。然而,如果任何一個設備是2型設備(將數據中繼到其他介質上),或者如果數據起搏在兩端的RFCOMM服務接口上進行,實際吞吐量平均將反映波特率設置。
RFCOMM支持模擬兩個設備之間的多個串口和模擬多個設備之間的串口。
2.1 RS-232控制信號
RFCOMM模擬了一個RS-232接口的9個電路。這些電路列在
2.2空調制解調器仿真
RFCOMM是基于GSM07.10的。當涉及到非數據電路的狀態傳輸時,GSM07.10并不區分DTE和DCE設備。RS-232控制信號以DTE/DCE的形式發送,見表2.2。
表2.2
GSM07.10傳輸RS-232控制信號的方式在兩個相同類型的設備連接在一起時創建一個隱式空調制解調器。圖2.1顯示了當兩個DTE通過RFCOMM連接時創建的空調制解調器。沒有一種空調制解調器電纜接線方案可以在所有情況下工作;但是,RFCOMM中提供的空調制解調器方案在大多數情況下都可以工作。
圖2.1 RFCOMMDTE-DTE空調制解調器仿真
2.3 多個仿真串行端口
2.3.1兩個設備之間的多個模擬串行端口
兩個在通信中使用RFCOMM的藍牙設備可能會打開多個模擬串行端口。RFCOMM支持最多60個開放的模擬端口;但是,設備中可使用的端口數量是特定于實現的。
數據鏈路連接標識符(DLCI)GSM07.10標識客戶機和服務器應用程序之間正在進行的連接。DLCI用6位表示,但其可用值范圍為2..61;在GSM07.10中,DLCI0為專用控制通道,由于服務器通道的概念,DLCI1不可用,保留DLCIs62-63。該DLCI在兩個設備之間的一個RFCOMM會話中是唯一的。(這在2.3.2節中進一步解釋)為了解釋客戶端和服務器應用程序都可能駐留在RFCOMM會話的兩側,兩邊的客戶端使連接彼此獨立,DLCI值空間被分割在兩個通信設備之間使用RFCOMM服務器通道的概念。這在5.4中進一步描述:RFCOMM服務器通道的DLCI分配。
2.3.2 有多個仿真串行端口和多個藍牙設備
如果藍牙設備支持多個模擬串行端口,并且允許連接在不同的藍牙設備中具有端點,那么RFCOMM實體必須能夠運行多個GSM07.10多路復用器會話,請參見圖2.3。請注意,每個多路復用器會話都在使用它自己的L2CAP通道ID(CID)。對于RFCOMM,運行GSM07.10多路復用器的多個會話的能力是可選的。
IoT 嵌入式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。