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