FPGA視角 低速串列埠 UART

2021-10-23 13:58:09 字數 1051 閱讀 2827

uart,只有一根資料通訊線,沒有伴隨時鐘線,屬於非同步通訊。這類介面的衍生諸如:rs232、rs422、rs485、spi等。資料互動時,一般做一收一發,通過固定頻率的高低電平的變換,傳遞資料。這裡只說明其邏輯特性,硬體特性不做說明。

用於描述uart的通訊速率,單位bps,以最常見的9600bps來說,即每秒傳輸9600bit,也就是每1bit的時間就是1/9600秒=104.1667,約104us。通過計數器搭建時鐘模型,輸出週期為104us的時鐘,在該時鐘內傳輸的乙個時鐘週期的電平資料,0或者1,其波特率即為9600bps。

下圖中間部分為uart資料線為其基本結構,上方的時鐘線用於理解資料線中傳輸的資料於bit之間的關係。每個時鐘週期產生乙個傳輸的bit位,且該時鐘為當前波特率下產生的邏輯內部的時鐘。

資料傳輸起始的標誌,一般由乙個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位置為高電平。

基於FPGA的UART串列埠通訊

通過串列埠除錯助手pc傳送16bit給fpga,fpga接收後返還給pc。串列埠通訊其實沒我們想象中的那麼難,只要花點時間去理解,很快就會上手,在直入正題前,先來一點基礎知識。串列埠是指傳送和接收資料的序列口,就是我們開啟電腦裝置管理器後看到的com口。fpga或微控制器的板子中很多都用到的是uar...

FPGA 學習之路 (七) UART串列埠設計

uart使用的是 非同步,序列通訊。序列通訊是指利用一條傳輸線將資料一位位地順序傳送。特點是通訊線路簡單,利用簡單的線纜就可實現通訊,降低成本,適用於遠距離通訊,但傳輸速度慢的應用場合。非同步通訊以乙個字元為傳輸單位,通訊中兩個字元間的時間間隔多少是不固定的,然而在同乙個字元中的兩個相鄰位間的時間間...

UART串列埠通訊協議的FPGA實現

引言 uart串列埠通訊協議,全稱叫做通用非同步收發器 universal asynchronous receiver transmitter 通常稱作uart。uart是非同步通訊,它只需要一根線就可以進行資料的通訊。1 基本概念 具體的時序圖如下圖所示 2 verilog實現 module ua...