資源描述:
《基于fpga的串口通信》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、基于FPGA的串口通信設計學號:姓名:班級:指導教師:電子與控制工程學院一、串行通信系統(tǒng)1.1概述在計算機系統(tǒng)和微機網(wǎng)絡的快速發(fā)展領域里串行通信在數(shù)據(jù)通信及控制系統(tǒng)中得到廣泛的應用。UART即UniversalAsynchronousReceiverTransmitter通用異步收發(fā)器協(xié)議是數(shù)據(jù)通信及控制系統(tǒng)中廣泛使用的一種全雙工串行數(shù)據(jù)傳輸協(xié)議在實際工業(yè)生產(chǎn)中有時并不使用UART的全部功能。只需將其核心功能集成即可。波特率發(fā)生器、接收器和發(fā)送器是UART的三個核心功能模塊利用Verilog-HDL語言對這三個功能模塊進行描述并加以
2、整合UART是廣泛使用的串行數(shù)據(jù)傳輸協(xié)議。UART允許在串行鏈路上進行全雙工的通信。串行外設用到RS232-C異步串行接口一般采用專用的集成電路即UART實現(xiàn)。如8250、8251、NS16450等芯片都是常見的UART器件這類芯片已經(jīng)相當復雜有的含有許多輔助的模塊如FIFO有時我們不需要使用完整UART的功能和這些輔助功能。或者設計上用到了FPGA/CPLD器件那么我們就可以將所需要的UART功能集成到FPGA內(nèi)部。使用VHDL或Veriolog-HDL將UART的核心功能集成從而使整個設計更加緊湊、穩(wěn)定且可靠。本文應用EDA技術
3、基于FPGA/CPLD器件設計與實現(xiàn)UART。通信指人與人或人與自然之間通過某種行為或媒介進行的信息交流與傳遞從廣義上指需要信息的雙方或多方在不違背各自意愿的情況下無論采用何種方法使用何種媒質(zhì)將信息從某方準確安全傳送到另方。通信在不同的環(huán)境下有不同的解釋在出現(xiàn)電波傳遞通信后通信(Communication)被單一解釋為信息的傳遞是指由一地向另一地進行信息的傳輸與交換其目的是傳輸消息。然而通信是在人類實踐過程中隨著社會生產(chǎn)力的發(fā)展對傳遞消息的要求不斷提升使得人類文明不斷進步。在各種各樣的通信方式中利用“電”來傳遞消息的通信方法稱為電信(Te
4、lecommunication)這種通信具有迅速、準確、可靠等特點且?guī)缀醪皇軙r間、地點、空間、距離的限制因而得到了飛速發(fā)展和廣泛應用。1.2串行通信簡介計算機與計算機,計算機與外部設備進行數(shù)據(jù)交換也稱為通信,一般有兩種方式并行通信和串行通信。信息的各位數(shù)據(jù)被同時傳送的通信方法是并行通信并行通信依靠I/O接口來實現(xiàn)。并行通信中數(shù)據(jù)有多少位就需要多少條信號傳輸線。這種通信方式快,但由于傳輸線較多,所以成本較高,僅適合近距離通信通常傳送距離小于30米。當距離大于30米時則多采用串行通信方式串行通信是指外部設備和計算機間使用一根數(shù)據(jù)線另外需要地
5、線可能還需要控制線進行數(shù)據(jù)傳輸?shù)姆绞?。?shù)據(jù)在一根數(shù)據(jù)線上一位一位進行傳輸每一位數(shù)據(jù)都占據(jù)一個固定的時間長度。與并行通信方式相比有以下優(yōu)點:1、傳輸距離長可達數(shù)千公里。2、長距離內(nèi)串行數(shù)據(jù)傳送速率會比并行數(shù)據(jù)傳送速率快串行通信的通信時鐘頻率比并行通信更容易提高。3、抗干擾力強串行通信信號間的相互干擾完全可以忽略。4、通信成本低。5、傳輸線既傳輸數(shù)據(jù)又傳輸聯(lián)絡信息。因此串行通信得到廣泛的應用。目前的串行通信常用UART實現(xiàn)數(shù)據(jù)的串/并轉(zhuǎn)換或并/串轉(zhuǎn)換。UART(通用異步收發(fā)器)是一種串行通信協(xié)議,主要用于短距離,低速率,低成本的
6、數(shù)據(jù)的計算機和外設之間的交流。是電腦硬件的一部分,具體實物表現(xiàn)為一塊并行輸入成為串行輸出的模塊化芯片。8250、8251、NS16450等芯片都是常見的UART器件。UART主要功能實現(xiàn)通信中的數(shù)據(jù)串并轉(zhuǎn)換,且能奇偶檢驗。將計算機內(nèi)部傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)流加入奇偶校驗位后輸出?;蛘邔⒂嬎銠C外部來的串行數(shù)據(jù)奇偶校驗后轉(zhuǎn)換為字節(jié),供計算機內(nèi)部使用并行數(shù)據(jù)的器件使用。它的異步模式使芯片適應性強,對時鐘精度要求低(成本低)。隨著FPGA的廣泛應用,經(jīng)常需要FPGA與其他數(shù)字系統(tǒng)進行串行通信,專用的UART集成電路如8250,8251等是
7、比較復雜的,因為專用的UART集成電路既要考慮異步的收發(fā)功能,又要兼容RS232接口設計,在實際應用中,往往只需要用到UART的基本功能,使用專用芯片會造成資源浪費和成本提高。如果設計上用到FPGA/CPLD器件,可以將所需要的UART功能集成到FPGA內(nèi)部,實現(xiàn)FPGA與其他數(shù)字系統(tǒng)的直接通信,從而簡化了整個系統(tǒng)電路,提高了可靠性、穩(wěn)定性和靈活性。二、UART理論基礎2.1接口技術簡介接口是CPU與外界的連接部件,是CPU與外界交換信息的中轉(zhuǎn)站。一個接口的基本功能是在系統(tǒng)總線和I/O設備之間傳輸信號,提供緩沖作用,以滿足接口兩邊的時序要求
8、。如圖1,圖1接口功能主要的計算機接口技術有兩種:并行接口和串行接口。串行通信是把要傳輸數(shù)據(jù)中的各個二進制碼置于同一條傳輸線上,從低位到高位、逐位地、順序地進行傳送。所用傳輸線少