比特率
比特率是指每秒傳送的比特(bit)數(shù)。單位為bps(BitPerSecond),比特率越高,每秒傳送數(shù)據(jù)就越多。
波特率
波特率表示每秒鐘傳送碼元符號的個數(shù),是衡量數(shù)據(jù)傳送速率的指標(biāo),一個符號可能含多個比特。在信息傳輸通道中,攜帶數(shù)據(jù)信息的信號單元叫碼元,每秒鐘通過信道傳輸?shù)拇a元數(shù)稱為碼元傳輸速率,簡稱波特率。波特率是傳輸通道頻寬的指標(biāo)。
傳輸速率
傳輸速率是一種泛指,指的是數(shù)據(jù)從一點(diǎn)向另一點(diǎn)傳輸?shù)乃俾剩脩魧?shí)際可用的數(shù)據(jù)吞吐量,需扣除協(xié)議開銷(地址、ACK等)。也就是包含上面的比特率、波特率等。
通信速度
通信速度和傳輸速度同樣也是一種泛指。比如I2C通信速度400KHz,SPI最大通信速度支持150Mbps,指的是時鐘的頻率,僅僅是一個硬件參數(shù)
昌暉儀表以速率400kHz的I2C場景為例,讓大家看看比特率、波特率、傳輸速度和通信速度的區(qū)別。
比特率
I2C的比特率是400k,因?yàn)镮2C的每個周期指傳輸一個數(shù)據(jù)(在SCL穩(wěn)定期間讀取SDA上的數(shù)據(jù));
波特率
I2C由屬于NRZ編碼,1符號=1比特,所以比特率=波特率,I2C的波特率=400k;
傳輸速度
I2C的數(shù)據(jù)包為:1個起始位+7位地址+1位讀寫標(biāo)志+1位ACK+8位數(shù)據(jù)+1位ACK+停止位(不占位)=19位,也就是19位中只有8為數(shù)據(jù)位,所以速率:8/19*400k=168Kbit/s(約21KB/s);
通信速度
I2C的的CLK頻率是400k,這個就是I2C的通信速度。
下面看看我們經(jīng)常用的串口波特率數(shù)據(jù),以常用的115200為例。
波特率:
波特率115200=115200bit/s。以最普通的串口(起始位+8位數(shù)據(jù)+停止位)為例,合計(jì)共10位,所以:波特率115200=115200(bit/s)=11520(Byte/s);再除以1024,就是每秒KB數(shù):波特率115200=115200(bit/s)=11.25(kB/s);果有一位奇偶校驗(yàn)位,就應(yīng)該是11位,得到的是每秒字節(jié)數(shù):波特率115200=115200(bit/s)=10.27(KB/s)。所以波特率的數(shù)據(jù)量就要按照數(shù)據(jù)結(jié)構(gòu)來計(jì)算、另外我們只是討論了這種二進(jìn)制環(huán)境下的波特率。
相關(guān)閱讀
◆簡單了解波特率和比特率的定義和二者區(qū)別
◆不同品牌流量積算儀Modbus通訊的一些小問題
◆Modbus波特率越大傳送數(shù)據(jù)越快,反之越小越穩(wěn)
