天天看點

FPGA視角--低速序列槽(UART)FPGA視角–低速序列槽(UART)

FPGA視角–低速序列槽(UART)

這是個啥?

UART,隻有一根資料通信線,沒有伴随時鐘線,屬于異步通信。這類接口的衍生諸如:RS232、RS422、RS485、SPI等。資料互動時,一般做一收一發,通過固定頻率的高低電平的變換,傳遞資料。這裡隻說明其邏輯特性,硬體特性不做說明。

波特率

用于描述UART的通信速率,機關bps,以最常見的9600bps來說,即每秒傳輸9600bit,也就是每1bit的時間就是1/9600秒=104.1667,約104us。通過計數器搭建時鐘模型,輸出周期為104us的時鐘,在該時鐘内傳輸的一個時鐘周期的電平資料,0或者1,其波特率即為9600bps。

UART基本結構

下圖中間部分為UART資料線為其基本結構,上方的時鐘線用于了解資料線中傳輸的資料于Bit之間的關系。每個時鐘周期産生一個傳輸的bit位,且該時鐘為目前波特率下産生的邏輯内部的時鐘。

FPGA視角--低速序列槽(UART)FPGA視角–低速序列槽(UART)

起始位

資料傳輸起始的标志,一般由一個bit位構成。UART的資料線空閑時,保持高電平,當資料線由高到底變化,即1→0,代表資料傳輸開始。

資料部分

在起始位結束後執行傳輸動作,一般由8個bit構成,即位元組傳輸,使用者可根據實際需求修改傳輸長度。

奇偶校驗位

校驗位在資料位之後,其存在依據于使用者需求。

奇校驗:如果以二進制資料中1的個數是奇數為依據,則是奇校驗;

如果給定一組資料位中 1 的個數是偶數,那麼奇校驗位就置為 1,使得總的 1 的個數保持奇數不變。

偶校驗:如果以二進制資料中1的個數是偶數為依據,則是偶校驗;

如果給定一組資料位中 1 的個數是奇數,那麼偶校驗位就置為 1,使得總的 1 的個數保持偶數不變。

資料(1的個數) 奇校驗(奇校驗結果)
0000 0111(3) 0000 0111 0
1110 0010 (4) 1110 0010 1

停止位

資料傳輸結束的标志,一般由一個bit位構成,依據使用者需求,可選配為1、1.5、2bit。資料傳輸結束時,該bit位置為高電平。

繼續閱讀