1.需求
在實現生活中,往往不是單獨工作的,需要與別人進行合作,這就需要交流,以傳達信息。在FPGA中,各個芯片之間也是相對獨立的,要想協同一起工作,雙方之間的通訊是必不可少的。
2.問題
1. 何時發送數據: 什么時候開始,我知道你開始發送數據
2. 何時結束發送:什么時候開始,我知道你已經結束數據的發送了
3. 該怎樣接受數據:接受到的數據我該怎樣進行存儲
3. 協議
UART一共用4根線,分別是數據發送線,數據接收線,VCC,GND,從這4根線上來看,沒有時鐘線,所以需要規定數據發送結束的速率,即波特率要一致,同時可以看到發送數據線和接收數據線是分開的,所以發送和接收是可以同時進行的。
1. 空閑態:當兩段都沒有數據發送的時候,為空閑態,此時規定數據發送線和數據接收線上的電平均為高電平
2. 開始發送數據態:拉低數據發送線一個周期,表示數據準備開始發送了,這時注意并沒有發生數據,只是表示我要發送數據了,你要準備開始接收了
3. 數據發送態:在開始發送數據態結束后,后面的八個時鐘周期每一個時鐘發送一個數據位,先發送數據的低位,然后發送數據的高位
4. 結束數據發送:在數據發送態完成后,接下來的1、1.5、2個時鐘周期為停止位,此時拉高數據發送線
5. 校驗位暫不考慮
ps:上面所說的時鐘周期,不是系統的時鐘周期,而且兩邊規定好的波特率的時鐘周期,這個要注意下;上面主要說明了一下數據發送的過程,由數據發送的過程來推數據接收的過程并不困難。
然后這個是8位的,然后想變成16位的,可以在此模塊上面在加一個top模塊,接收了兩個數據給一個應答。
原文標題:UART串口通訊協議
文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
FPGA
+關注
關注
1629文章
21729瀏覽量
603048 -
嵌入式
+關注
關注
5082文章
19111瀏覽量
304856
原文標題:UART串口通訊協議
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論