串列埠通訊協議
串列埠通訊(uart)是一種用兩線(rx【傳送端】 、tx【接收端】)實現的非同步、全雙工通訊方式。
由於串列埠通訊沒有時鐘訊號線,由此而出現波特率(baundrate),即接收和傳送雙方規定好相同的波特率;以此來保證傳送的資料的正確性;
※波特率:一秒鐘內傳送的位元組數目。
如下圖1是串列埠通訊協議(uart protocol),分為五個階段分別為:起始位(start)、有效資料位(vaild data bits)、奇偶校驗(parity)、停止位(stop)、空閒位(idle)。
以傳送1byte資料 且具有偶校驗和一位停止位為例:data:0x 1010_0000,奇偶校驗位用result來表示。
在fpga程式中先設定parameter parity = 1'b0;
開始狀態: 由於接收端(rx)空閒時處於高電平轉態,當要接收資料時(一般是有標誌訊號),接收端被拉低,並維持乙個bit時間的低電平,接下來進入接收有效資料。
資料接送狀態:資料的接收方式為,先接收最低位資料0(lsb),最後接收最高位資料(msb)1.資料的接收在相同的波特率下進行;
奇偶校驗位:奇偶校驗是一種校驗接收資料正確性的一種方式。其中,偶校驗 :是要保證傳送的一幀資料中出現 1的數目是偶數個。如果前面的資料是奇數個 1 時,則校驗位則為1 ,以確保傳送的一幀資料是偶數個 1。其實,本質上是 校驗位和每個資料位分別異或的關係。以上面的例子為例,資料中出現 1 的個數是偶數個,即2個,所以奇偶校驗位 result 為0;
具體的實現為:
第一步:result <= parity ^data[0];
第二步:result <=result ^ data[i]; //i = 1,2,3,..........7;
最後的到result 的值為 0;
當然,奇校驗則相反,過程類似。
停止位:停止位為高電平,並維持乙個bit的時間。
FPGA 串列埠通訊協議
fpga 串列埠通訊協議 波特率 波特率就是串列埠的通訊速率,常見的波特率有12000bps 4800bps 9600bps 115200bps 256000bps 500000bps,這裡波特率的意思是每秒可以傳輸bit的個數,這裡的5207 500000000 9600 傳遞乙個位元組需要的時間...
UART串列埠通訊協議的FPGA實現
引言 uart串列埠通訊協議,全稱叫做通用非同步收發器 universal asynchronous receiver transmitter 通常稱作uart。uart是非同步通訊,它只需要一根線就可以進行資料的通訊。1 基本概念 具體的時序圖如下圖所示 2 verilog實現 module ua...
串列埠通訊協議
簡介 通訊協議分層理解 物理層和協議層 物理層規定通訊系統中具有機械 電子功能部分的特性,確保原始資料在物理 的傳輸。協議層規定通訊邏輯,統一收發雙方的資料打包 解包標準。物理層串列埠通訊結構圖 電平標準 ttl電平標準 理想狀態下使用5v表示二進位制邏輯1,使用0v表示二進位制邏輯0 rs232電...