FPGA開發(fā)實用教程基千Xilinx和Verilog HDL -習(xí)題及答案 ch08 串口通信實驗_第1頁
FPGA開發(fā)實用教程基千Xilinx和Verilog HDL -習(xí)題及答案 ch08 串口通信實驗_第2頁
FPGA開發(fā)實用教程基千Xilinx和Verilog HDL -習(xí)題及答案 ch08 串口通信實驗_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

串口通信實驗簡述同步通信和異步通信的特點,UART通信屬于這兩種通信方式中的哪一種?異步通信收發(fā)設(shè)備使用各自的時鐘。異步通信在發(fā)送字符時,所發(fā)送的字符之間的時間間隔可以是任意的。接收端必須時刻做好接收的準(zhǔn)備。發(fā)送端可以在任意時刻開始發(fā)送字符,為保證收發(fā)雙方同步,每個字符的開始和結(jié)束的地方必須加上標(biāo)志,即加上起始位和停止位,以便使接收端能夠正確地將每一個字符接收下來。特點:由于不要求收發(fā)雙方時鐘嚴(yán)格一致,因此容易實現(xiàn),通信設(shè)備簡單、便宜。但為保證收發(fā)雙方同步,每個字符均需附加起始位、停止位,因此傳輸效率不高。同步通信發(fā)送與接收設(shè)備使用同一個時鐘,雙方本身完全同步,從理論上說,不需要人為增加同步措施,但實際上還是要增加一些同步措施的(同步通信把幾十到幾千個字符組成一個幀,每幀的開始要附加同步字符)。異步通信在發(fā)送字符時,所發(fā)送的字符之間沒有時間間隔。特點:收發(fā)雙方不停地發(fā)送和接收連續(xù)的字符,傳輸效率高,特別適合批量數(shù)據(jù)的傳送;但它要求在通信中保持精確的同步,實現(xiàn)較異步通信復(fù)雜。UART屬于異步通信。簡述UART物理層和數(shù)據(jù)幀格式。數(shù)據(jù)幀格式:UART通信將數(shù)據(jù)劃分為連續(xù)的數(shù)據(jù)幀。每個數(shù)據(jù)幀包括起始位(StartBit)、數(shù)據(jù)位(DataBits)、可選的奇偶位(ParityBit)和停止位(StopBit)。起始位標(biāo)識了數(shù)據(jù)幀的開始,數(shù)據(jù)位是要傳輸?shù)膶嶋H數(shù)據(jù),奇偶校驗位用于檢測和糾正傳輸錯誤,停止位表示數(shù)據(jù)幀的結(jié)束。假設(shè)要進(jìn)行通信的字符格式為1個起始位、8個數(shù)據(jù)位、1個奇校驗位和1個停止位,請畫出通信時字符"C"的幀格式。根據(jù)給定的字符格式,畫出字符"C"的幀格式如下:```起始位數(shù)據(jù)位奇校驗位停止位------------------------------------------------00100001111```解釋每個部分的含義:-起始位(StartBit):始終為邏輯0,用于標(biāo)識一個字符數(shù)據(jù)的開始。-數(shù)據(jù)位(DataBits):以二進(jìn)制形式表示字符數(shù)據(jù)。對于字符"C",對應(yīng)的ASCII碼是67,二進(jìn)制表示為01000011。-奇校驗位(ParityBit):校驗位用于在傳輸過程中檢測數(shù)據(jù)傳輸錯誤。對于奇校驗,校驗位被設(shè)置為使數(shù)據(jù)位中1的個數(shù)(包括校驗位本身)為奇數(shù)。在這個例子中,數(shù)據(jù)位中有三個1,所以奇校驗位被設(shè)置為1。-停止位(StopBit):始終為邏輯1,用于標(biāo)識一個字符數(shù)據(jù)的結(jié)束。所以,字符"C"的幀格式為:起始位(0),數(shù)據(jù)位(01000011),奇校驗位(1),停止位(1)。實際通信時,這個幀格式會按照一定的時間間隔被傳輸出去,接收端會解析這些位并還原成字符數(shù)據(jù)。如果數(shù)據(jù)位為8位,無校驗位,停止位為1位,波特率為9600baud,那么每20ms最多可以發(fā)送多少字節(jié)數(shù)據(jù)?要計算每20毫秒最多可以發(fā)送多少字節(jié)數(shù)據(jù),我們首先需要確定每秒鐘能夠發(fā)送的位數(shù)(baudrate),然后將其轉(zhuǎn)換為字節(jié)數(shù)。給定的條件如下:-數(shù)據(jù)位為8位-無校驗位-停止位為1位-波特率為9600baud(即9600位每秒)首先,我們需要計算每位的時間長度(bittime):bittime=1/波特率在本例中,bittime=1/9600≈0.0001041667秒然后,計算每字節(jié)發(fā)送所需的時間(bytetime):bytetime=(8+0+1)xbittime其中,8表示數(shù)據(jù)位數(shù),0表示無校驗位,1表示停止位。在本例中,bytetime=(8+0+1)x0.0001041667≈0.0009375秒現(xiàn)在,我們可以計算每20毫秒(0.020秒)最多可以發(fā)送多少字節(jié)數(shù)據(jù):maximumbytes=0.02/bytetime在本例中,maximumbytes=0.020/0.0009375≈21.3333因此,每20毫秒最多可以發(fā)送約21字節(jié)的數(shù)據(jù)。請注意,這是一個理論上的最大值,實際情況可能受到其他因素的影響,如通信協(xié)議的開銷、系統(tǒng)延遲等。在u_uart_trans模塊中,為什么在發(fā)送完停止位后還要連續(xù)發(fā)送3次才跳轉(zhuǎn)到TX_IDLE狀態(tài)?在UART協(xié)議中,發(fā)送完一個字符的停止位后,通常存在一些時鐘周期的間隔,以確保接收方能夠正確接收到停止位后的信號。這個間隔被稱為"發(fā)送延遲"或"發(fā)送間隔"。發(fā)送延遲是為了保證接收方能夠在完整接收停止位后進(jìn)行下一字符的接收。這種設(shè)計可以在接收方的采樣點提供一定的冗余時間,以提高接收的可靠性和準(zhǔn)確性。通常,發(fā)送延遲的長度是以時鐘周期計算的。連續(xù)發(fā)送3次是為了確保在不同的時鐘周期內(nèi)提供足夠的發(fā)送延遲,以滿足各種接收端設(shè)備的要求。通過發(fā)送額外的位數(shù),可以提供更長的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論