正確答案,串口通信包含了物理層(物理鏈路傳輸,串口線)、數(shù)據(jù)鏈路層(成幀,起始位、數(shù)據(jù)位、校驗(yàn)位、結(jié)束位)、應(yīng)用層(應(yīng)用數(shù)據(jù)的打包由串口編程自己制定)三方面的功能。
串口和以太網(wǎng)的關(guān)系:是兩種通信方式,實(shí)現(xiàn)原理以及應(yīng)用場景都不相同。
串口轉(zhuǎn)以太網(wǎng)并不是簡單傳輸媒介的變化,而是串口到TCP/IP的協(xié)議轉(zhuǎn)化。其中關(guān)系到的關(guān)鍵技術(shù)包括:TCP/IP的工作模式問題、串口分幀技術(shù)、9位技術(shù)。
串口一般來說就是UART,它實(shí)際只定義了數(shù)據(jù)鏈路層的規(guī)范,也就是起始位、數(shù)據(jù)位、停止位。但是在不同的物理層又分為:TTL串口、RS232串口、RS485串口等。
由于串口協(xié)議本身不具有網(wǎng)絡(luò)層和傳輸層,串口轉(zhuǎn)以太網(wǎng)口,實(shí)際是將串口的數(shù)據(jù)作為TCP/IP的應(yīng)用層數(shù)據(jù),用TCP/IP封裝傳輸?shù)姆绞?。TCP/IP的應(yīng)用層數(shù)據(jù)是TCP/IP所要傳送的真正有效的數(shù)據(jù)。例如用戶通過socket的recv()和send()函數(shù)接收和發(fā)送的實(shí)際是應(yīng)用層數(shù)據(jù)。這樣通過串口轉(zhuǎn)TCP IP用戶就可以用recv()和send()函數(shù)收發(fā)串口數(shù)據(jù)了。
串口服務(wù)器的接口并不全是串口。串口服務(wù)器,也被成為串口到以太網(wǎng)轉(zhuǎn)換器、串口設(shè)備服務(wù)器。它是終端服務(wù)器通過TCP/IP服務(wù)器的串口進(jìn)行數(shù)據(jù)傳輸,然而所有這些名稱都是相同類型的設(shè)備,基本是將串行的RS232、RS485或RS422接口鏈接到串口服務(wù)器的串口端,傳輸數(shù)據(jù)到以太網(wǎng)數(shù)據(jù)包,同時(shí)可以將數(shù)據(jù)包再傳回至RS232、RS485或RS422串口端,實(shí)現(xiàn)數(shù)據(jù)雙向透傳。串口服務(wù)器具有自己的實(shí)際IP地址,這就是為什么它有時(shí)被稱為服務(wù)器的原因。