相關詞彙:
UART(Universal Asynchronous Receiver/Transmitter)
USRT(Universal Synchronous Receiver/Transceiver)
baud rate
有時候會需要幾算每個Frame所需的時間去算延遲,雖然因為UART本身就是非同步的,所以沒有Clock線不是很準。
假設傳輸速度「115200,8,N,1」意思是
8個資料位元
N代表沒有同位元檢查
1是指一個停止位元
那這樣完整接收一個byte所需時間的計算公式會是:
\( \frac{(起始位元+資料位元+同位位元+停止位元)}{每秒傳輸速率}\)
\(T_{\text{char}} =\frac{1+8+0+1}{115200}= 86.805\text{ µs}\)
(8+1+1)/115200=86.805us
另外在Modebus RTU中若要判斷何時傳送的訊息結束,要間隔3.5個字元時間不傳資料,計算公式如下:
\(T_{\text{frame}} = 3.5 \times T_{\text{char}}\)
\(T_{\text{frame}} = 3.5 \times 86.8 \text{ µs}\)
\(T_{\text{frame}} \approx 304 \text{ µs}\)
另一個議題就是為何要串連一個小電阻,可能是120或470歐姆,主要是為了阻抗匹配和減少高頻雜訊。
因為高頻訊號中如果阻抗不匹配會形成反射,能量傳輸上不均勻,降低效率,在傳輸線上形成駐波,有點像超音波讓保麗龍球浮在空中那種實驗,訊號的強弱在導線中不一致。
現實世界中訊號會包含高頻雜訊以及突波問題,也就是在單位時間內電壓變化過大,因為串聯電阻和訊號線中的等效電容和負載的輸入電容形成RC電路,會一定程度的降低突波問題。