461 likes | 712 Views
傳輸界面. 各式傳輸系統概觀. 資料傳輸之同步問題. 傳輸之同步問題 位元同步 (bit synchronization) :接收端可 decode 出傳送端所送出的每一位元,即可由傳輸線上區分每一位元的符號 (symbol) 區間,並由所接收到的符號解碼出相對的位元值。 字元同步 (byte/character synchronization) :接收端可由一連串的 0/1 串列中 (bit stream) ,區分出位元組區間,即由 bit-stream 中區分出一個位元組是由何位元開始 / 結束。
E N D
資料傳輸之同步問題 • 傳輸之同步問題 • 位元同步(bit synchronization):接收端可decode出傳送端所送出的每一位元,即可由傳輸線上區分每一位元的符號(symbol)區間,並由所接收到的符號解碼出相對的位元值。 • 字元同步(byte/character synchronization):接收端可由一連串的0/1串列中(bit stream),區分出位元組區間,即由bit-stream中區分出一個位元組是由何位元開始/結束。 • 訊框同步(block/frame synchronization):接收端可由一連串的位元組串列中(byte stream),區分出一個資料訊框(data frame)之區間,即由byte-stream中區分出data frame是由何位元組開始,到何位元組結束。
依傳送端與接收端間一次可傳送的位元數不同,可將傳輸方式分為依傳送端與接收端間一次可傳送的位元數不同,可將傳輸方式分為 並列傳輸 傳送端與接收端間有多個傳輸通道(或多條傳輸線), 同一時間,有多個位元同時經由多個傳輸通道傳送到接收端,即每一個傳輸通道負責一個位元傳輸 串列傳輸二種 傳送端與接收端間僅有一個傳輸通道(或一條條傳輸線),即要傳輸之資料以一次一個位元依序傳送到接收端 較適合遠距離傳輸 今大多數的資料傳輸技術都是採用串列傳輸。而串列傳輸依其接收端與傳送端之位元同步技術的不同,又可分為非同步(asynchronous)串列傳輸與同步(synchronous)串列傳輸兩種。
非同步串列傳輸裡,傳送端與接收端必需選擇相同的傳輸速率(如:1200, 2400, 4800, 9600等等),單位為鮑率(baud rate) 位元同步誤差 非同步串列傳輸(RS-232)
字元同步 對非同步傳輸而言,接收端是在偵測到傳送端開始送資料時才做接收取樣同步 因其傳送與接收時脈的頻率可能存在一定程度的誤差,若傳送端一次傳送太多資料,則將因接收時脈頻率誤差關係,使得接收時間一久,此接收時脈的累積誤差量將大到足以造成接收資料的錯誤 在非同步傳輸中,傳送端一次傳輸(Transfer)可傳送的資料量將限制在一個字元(character) RS-232傳輸封包格式
傳輸效率 * 100% • 傳輸效率 • 若非同步串列傳輸之結束位元為2位元寬度,而一個character之是由6-bit組成,則其傳輸效率為 • 若TxC是以10 kbps速度傳送時,有4 kbps的傳送負擔(overhead),真正之data rate(character部份)僅6 kbps,效率並不理想 傳輸效率 = 60%
RS-232是由EIA協會所制定的標準 所謂EIA (Electronic Industries Association)為美國電子工業協會的簡稱 RS-232C廣泛應用於微電腦系統中,此標準通常被用在終端機(DTE,Data Terminal Equipment,即為電腦端)與數據機(DCE,Data Communication Equipment,即為Modem端),或其它週邊設備間的串列傳輸界面標準 RS-232非同步串列傳輸
非同步串列傳輸裡,傳送端與接收端必需選擇相同的傳輸速率(如:1200, 2400, 4800, 9600等等),單位為鮑率(baud rate), • 鮑率(baud rate) :定義為每秒傳輸線上訊號變化的速率 • 要注意的是鮑率並不定等於資料傳輸之速率(data rate) • 因有可能一個傳輸訊號會代表多個位元值,如此data rate將遠大於baud rate。 • 如:若baud rate為1 kHz,而每個訊號變化可代表2-bit資料,則其data rate即為1 kHz * 2 = 2 kbps (bit per second),即每秒可傳送2 kbits資料。
25-pin RS-232C之D接頭 RS-232C之接頭型態
RS-232C兩個DTE之間,最長傳輸距離約15公尺,而建議最大的傳輸速率為9600 bps 輸出之電壓準位為+15v ~ -15v之間 採用負邏輯輸出,即邏輯「1」(稱為mark)為-3v ~ -15v之間,邏輯「0」(稱為space)為+3v ~ +15v之間 RS-232C送出之訊號乃是採用NRZ-L(Non-return to Zero Level)之編碼方式 RS-232C之電氣特性
串列通訊I2C (Inter-Integrated Circuit) • 飛利浦(Philips)公司發表的同步串列通信界面 • 簡寫為I2C、IIC, • 僅使用兩支雙向性接腳來完成多點對多點的串列通訊 • 通訊時脈接腳SCL • 資料信號傳送接腳SDA • 傳輸過程中之裝置分為 • 主裝置(master device ):可控制匯流排,啟動一個資料傳輸 • 負責SCL傳輸時脈訊號的產生 • 從屬裝置(slave device):配合master device傳輸的裝置 • 接收SCL時脈訊號的元件 • 在一個傳輸過程中,僅能有一個bus master • 負責產生SCL時脈訊號 • 傳輸之時脈訊號頻率可以不固定,是依據此次傳輸之速度來決定,SCL的時脈速度決定了串列傳輸的速度 • 主控元件也並非固定不變的,只要資料傳輸結束,I2C匯流排是屬於Idle狀態時,即可由另一個主控元件取得匯流排,啟動另一次資料傳輸 • 在I2C匯流排上,接在上面的所有元件(device)皆有其專屬的位址(address)
I2C Bus連接圖例: • I2C Bus上之裝置分類: Open drain (wired and) 15 2014/10/22
I2C資料傳輸格式 • 在I2C匯流排系統中,某一主控元件取得匯流排之使用權後,始可啟動一個資料傳輸
Idle狀態:SCL與SDA兩條訊號線皆為高準位(Hi) • 啟始狀態(Start) :SCL在高準位,SDA由高準位變為低準位時 • 終止狀態(stop) :SCL在高準位,SDA由低準位變為高準位 • 從起始狀態和終止狀態的定義也可以說明為何SDA上的資料僅能在SCL為低準位時改變 • SCL為高準位的狀態下,SDA上的變化都會被當作是起始狀態或是終止狀態。 • I2C Bus信號變化的一個原則是SDA若要變化,只有在SCL為低電位時才允許
I2C串列通裡容許7位元與10位元兩種位址寬度。 7位元的位址格式 一個起始位元 7位元的位址 一個讀/寫位元(R/W# Bit) 確認位元(ACK Bit), 位址格式
Ex: Master reads data from slave Slave master Slave master
串列通訊SPI (Serial Peripheral Interface) • Motorola公司所研發之同步(synchronous)串列傳輸介面 • 全雙工串列資料傳輸介面 • 設備之間通過主/從技術,只有master能夠發起資料的傳遞 • Master負責SCK時脈的產生 • 4 個基本信號線: • SDI (串列資料輸入) • SDO (串列資料輸出) • SCK (串列時鐘) • SCS (從元件選擇)
Ethernet Protocol Stack
Classical Ethernet • Bus Topology LAN • Broadcast property • Shared medium • Sender places • Sender’s address in source • Recipient’s address in destination • Type of data in frame type • Cyclic redundancy check in CRC
Illustration Of Ethernet Transmission • Only one station transmits at any time • Signal propagates across entire cable • All stations receive transmission • CSMA/ CD media access scheme
CSMA/ CD Paradigm • Multiple Access (MA) • Multiple computers attach to shared media • Each uses same access algorithm • Carrier Sense (CS) • Wait until medium idle • Begin to transmit frame • Simultaneous transmission possible • Two simultaneous transmissions • Interfere with one another • Called collision • CSMA plus Collision Detection (CD) • Listen to medium during transmission • Detect whether another station’s signal interferes • Back off from interference and try again
接收訊框 傳送訊框 Flow Chart 開始接收 組成訊框, i=1 N Y 線上有 訊號 接收完畢 Y N 傳送訊框 Y 訊框過短 (衝撞) N Y 送出擾亂訊號 發生衝撞 Y 位址辨識 成功 N i = i + 1 N Y N 檢查碼 正確 傳送完畢 Y i > 16 Y N 尚有多餘 位元 N N 長度欄位 內容正確 Y 計算延遲時間 Y 刪除訊框頭尾 等待延遲時間 長度錯誤 接收成功 傳送成功 訊框錯誤 對齊錯誤 傳送失敗
Binary Exponential Backoff After Collision • When collision occurs • Wait random time t 1 , 0 £ t 1£ d • Use CSMA and try again • If second collision occurs • Wait random time t 2 , 0 £ t 2£ 2d • Double range for each successive collision • Called binary exponential backoff algorithm • After 16 unsuccessful attempts, the station gives up
Notation • 10 BASE 2 (Thinnet), bus topology • 10 BASE 5 (thicknet), bus topology • 10 BASE T , star topology, use hub or switch • Hub : like as multi-port repeater • switch: such as packet switch • each attached device owns a dedicated LAN capacity • technology: • store-and-forward • cut-through (may switch error frame)
位元時間 0 1 0 0 1 1 0 1 0 0 + V - V Manchester Encoding (Ethernet) • “0” is high-to-low, “1” is low to high during the one-bit time NRZI Encoding • Nonreturn to Zero, Invert on ones • binary 1: a transition at the beginning of a bit time • binary 0: no transition 1 1 1 0 0 1 1 0 + 6 V 0 V
Cyclic Redundancy Check (CRC32) • Error detection • XOR 運算
CRC計算 • 原始資料為:1101011011 • G(x)為:10011 (此時其degree為4) • 原始資料最後面補上4-bit 「0」:11010110110000
|- 前導碼 -|- 用戶碼 -|- 反用戶碼 -|- 資料碼 -|- 反資料碼 -|-結束位元-| 紅外線控制 - 紅外線發射、接收器- NEC IR Protocol • 用戶碼 :8位元資料 • 反用戶碼 :用戶碼的反相 • 資料碼 :8位元資料 • 反資料碼 :資料碼的反相 • 結束位元 :560us 的 Pulse • 邏輯1的信號有38KHz的載波
資料格式 • 圖為一資料之範例 • 用戶碼 :00000110 • 反用戶碼 :11111001 • 資料碼 :11101000 • 反資料碼 :00010111 • 38KHz載波
信號邏輯 • 560us 的 Pulse 加上 1690us 的 space 代表 1 • 560us 的 Pulse 加上 560us 的 space 代表 0 • 結束位元為 560us 的 Pulse
載波 • Pulse 是由很多 on/off 交替的訊號所組成,這些 on/off 交替的訊號即是載波 • 載波的目的是使信號不易受干擾,並可節省電力 • 加入載波的頻率為38kHz,工作週期1/3 • 各參數大約的數值如下 • f = 38k • t = 26.5us • On: 8.5us • Off: 18us
Vcc 10k Sig 70pf 紅外線接收器 • 此紅外線接收器為逆偏方式連接 • 接收到的信號為原信號反相 • 紅外線接收器旁已接上70pf電容濾除38kHz載波