加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 一、計(jì)算機(jī)接口技術(shù)簡(jiǎn)介
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于FPGA的UART控制器設(shè)計(jì)(VHDL)(上)

02/15 08:25
3851
閱讀需 13 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

今天給大俠帶來基于FPGAUART 控制器設(shè)計(jì)(VHDL)(上),由于篇幅較長(zhǎng),分三篇。今天帶來第一篇,上篇,計(jì)算機(jī)接口技術(shù)簡(jiǎn)介RS-232 串口通信簡(jiǎn)介。話不多說,上貨。

導(dǎo)讀

串口的出現(xiàn)是在1980年前后,數(shù)據(jù)傳輸率是115kbps~230kbps。串口出現(xiàn)的初期是為了實(shí)現(xiàn)連接計(jì)算機(jī)外設(shè)的目的,初期串口一般用來連接鼠標(biāo)和外置Modem以及老式攝像頭和寫字板等設(shè)備。串口也可以應(yīng)用于兩臺(tái)計(jì)算機(jī)(或設(shè)備)之間的互聯(lián)及數(shù)據(jù)傳輸。由于串口(COM)不支持熱插拔及傳輸速率較低,部分新主板和大部分便攜電腦已開始取消該接口。串口多用于工控和測(cè)量設(shè)備以及部分通信設(shè)備中。

串口是串行接口的簡(jiǎn)稱,也稱串行通信接口或串行通訊接口(通常指COM接口),是采用串行通信方式的擴(kuò)展接口。串行接口(Serial Interface)是指數(shù)據(jù)一位一位地順序傳送。其特點(diǎn)是通信線路簡(jiǎn)單,只要一對(duì)傳輸線就可以實(shí)現(xiàn)雙向通信(可以直接利用電話線作為傳輸線),從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。

通信協(xié)議是指通信雙方的一種約定。約定包括對(duì)數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢糾錯(cuò)方式以及控制字符定義等問題做出統(tǒng)一規(guī)定,通信雙方必須共同遵守。串口通信的兩種最基本的方式為:同步串行通信方式和異步串行通信方式。

同步串行通信是指SPI(Serial Peripheral interface)的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI是一種高速的全雙工通信總線。封裝芯片上總共有四根線,PCB布局布線也簡(jiǎn)單,所以現(xiàn)在很多芯片集成了這個(gè)協(xié)議。主要用于CPU和各種外圍器件進(jìn)行通信,TRM450是SPI接口。

異步串行通信是指UART(Universal Asynchronous Receiver/Transmitter),通用異步接收/發(fā)送。UART是一個(gè)并行輸入成為串行輸出的芯片,通常集成在主板上。UART包含TTL電平的串口和RS232電平的串口。RS232也稱標(biāo)準(zhǔn)串口,也是最常用的一種串行通訊接口。RS-232-C 標(biāo)準(zhǔn)對(duì)兩個(gè)方面作了規(guī)定,即信號(hào)電平標(biāo)準(zhǔn)和控制信號(hào)線的定義。RS-232-C 采用負(fù)邏輯規(guī)定邏輯電平,信號(hào)電平與通常的TTL電平也不兼容,RS-232-C 將-5V~-15V 規(guī)定為“1”,+5V~+15V 規(guī)定為“0”。

一般情況下外設(shè)不能直接和主機(jī)直接相連,它們之間的信息交換主要存在以下問題:

  • 速度不匹配 通常情況下外設(shè)的工作速度會(huì)比主機(jī)慢許多,而且外設(shè)之間的速度差異也比較大。
  • 數(shù)據(jù)格式不匹配 不同的外設(shè)在進(jìn)行信息存儲(chǔ)和處理時(shí)的數(shù)據(jù)單元可能不同,例如最基本的數(shù)據(jù)格式可以分為并行數(shù)據(jù)和串行數(shù)據(jù)。
  • 信息類型不匹配 不同的外設(shè)可能采用不同類型的信號(hào),有些是模擬信號(hào),有些是數(shù)字信號(hào),因此所采用的處理方式也不同。

為了解決外設(shè)和主機(jī)之間信息交換的問題,就需要設(shè)計(jì)一個(gè)信息交換的中間環(huán)節(jié)——接口。本篇將首先對(duì)接口技術(shù)進(jìn)行簡(jiǎn)要的介紹,然后以接口中最常用的 UART 控制器為例,詳細(xì)介紹用 FPGA 實(shí)現(xiàn) UART 控制器的方法。

第一篇內(nèi)容摘要:本篇會(huì)介紹計(jì)算機(jī)接口技術(shù)簡(jiǎn)介,包括常用的計(jì)算機(jī)接口簡(jiǎn)介和計(jì)算機(jī)接口的控制方式等相關(guān)內(nèi)容。

一、計(jì)算機(jī)接口技術(shù)簡(jiǎn)介

1.1 常用的計(jì)算機(jī)接口簡(jiǎn)介

常用的計(jì)算機(jī)接口有并行接口、串行接口、磁盤接口等,下面對(duì)它們作一下簡(jiǎn)要的介紹。

1)并行接口

并行接口的數(shù)據(jù)傳輸方式是并行傳輸,即若干位數(shù)據(jù)同時(shí)傳輸,一般來說是一個(gè)字節(jié)(8位)或者一個(gè)字(16 位)。并行接口的特點(diǎn)如下:

  • 接口中包括了與主機(jī)總線直接相連的輸入/輸出數(shù)據(jù)緩沖器和一組數(shù)據(jù)線;
  • 接口中還包括了起聯(lián)絡(luò)作用的聯(lián)絡(luò)信號(hào);
  • 數(shù)據(jù)傳輸速率高,但有效傳輸距離短。

當(dāng)外設(shè)的工作方式是并行數(shù)據(jù)傳輸并且和主機(jī)距離較近時(shí),應(yīng)該選擇并行數(shù)據(jù)傳輸方式。最典型的例子就是打印機(jī),這也是為什么 PC 主機(jī)上的 25 針并口常被稱作打印機(jī)接口的原因。

2)串行接口

和并行接口對(duì)應(yīng),串行接口的數(shù)據(jù)傳輸方式是串行的,即數(shù)據(jù)是一位位地進(jìn)行傳輸。串行接口的應(yīng)用非常廣泛,例如 PC 主機(jī)上一般就至少有兩個(gè)串行接口——COM1 和 COM2。雖然串行接口的傳輸方式導(dǎo)致其傳輸速度會(huì)比較慢,但是它卻具有較強(qiáng)的抗干擾能力,并能有較長(zhǎng)的傳輸距離。例如,RS-232C 口最大傳輸距離為 15m,而 RS-422 的最大傳輸距離甚至達(dá)到了 1200m。

3)磁盤接口

常見的磁盤接口包括 IDE 接 口 和 EIDE 接 口 。IDE 的 全 稱 為 Integrated DriverElectronics,即集成驅(qū)動(dòng)電子部件,也可稱為 ATA(AT-Attachment)。它是由 Compaq 公司開發(fā)并且由 Western Digital 公司生產(chǎn)的控制器接口。EIDE 接口較 IDE 接口有了很大的改進(jìn),是目前應(yīng)用比較廣泛的接口,兩者之間的比較如表1 所示。

表 1 EIDE 接口和 IDE 接口的比較

4)SCSI 接口

SCSI(Small Computer System Interface)接口,即小型計(jì)算機(jī)系統(tǒng)接口,被廣泛地作為硬盤接口以及 CD-ROM 驅(qū)動(dòng)器、掃描儀等設(shè)備的接口,它具有以下特點(diǎn):

  • 可同時(shí)連接 7 個(gè)外設(shè);
  • 總線配置為并行 8 位、16 位或 32 位;
  • 允許最大硬盤空間為 8.4GB(有些已達(dá)到 9.09GB);
  • 更高的數(shù)據(jù)傳輸速率,SCSI 通常可以達(dá)到 5Mbit/s,F(xiàn)ASTSCSI(SCSI-2)能達(dá)到 10Mbit/s,最新的 SCS-3 甚至能夠達(dá)到 40Mbit/s,而 EIDE 最高只能達(dá)到 16.6Mbit/s;
  • SCSI 接口是智能化的,設(shè)備間可以彼此通信而不增加 CPU 的負(fù)擔(dān);在 IDE 和 EIDE 設(shè)備之間傳輸數(shù)據(jù)時(shí),CPU 必須介入。SCSI 設(shè)備在數(shù)據(jù)傳輸過程中起主動(dòng)作用,并能在 SCSI 總線內(nèi)部具體執(zhí)行,直至完成再通知 CPU。

雖然 SCSI 接口有以上特點(diǎn),但是其成本較 IDE 和 EIDE 接口高很多。

5)USB 接口

USB 接口在當(dāng)前的 PC 領(lǐng)域非常通用,平常生活中可以發(fā)現(xiàn)許多種使用 USB 接口的設(shè)備。USB 接口標(biāo)準(zhǔn)是由 Microsoft、Intel、Compaq、IBM 等大公司共同推出的,它是新一代的接口標(biāo)準(zhǔn)。USB 接口提供機(jī)箱外的即插即用連接,用戶在連接外設(shè)時(shí)不用打開機(jī)箱、關(guān)閉電源。

USB總線采用“級(jí)聯(lián)”方式,每個(gè) USB 設(shè)備用一個(gè) USB 插頭連接到一個(gè)外設(shè)的 USB 插座上,而其本身又提供一個(gè) USB 插座給下一個(gè) USB 設(shè)備使用,通過這種方式的連接,一個(gè) USB 控制器可以連接多達(dá) 127 個(gè)外設(shè),每個(gè)外設(shè)間的距離可達(dá) 5m。USB 統(tǒng)一的 4 針圓形插頭將取代機(jī)箱后的眾多的串/并口(鼠標(biāo)、MODEM)鍵盤等插頭。

USB 能智能識(shí)別 USB 鏈上外圍設(shè)備的插入或拆卸,除了能夠連接鍵盤、鼠標(biāo)等外,還可以連接 ISDN、電話系統(tǒng)、數(shù)字音響、打印機(jī)以及掃描儀等低速外設(shè)。

6)其他接口

除了上述的接口外,還有一些接口也是經(jīng)常使用的,比如用于連接鍵盤的 PS/2 接口,用于支持無線傳輸的紅外、藍(lán)牙接口,以及 PC 電腦上常見的音頻輸入/輸出、視頻輸入/輸出接口等。

1.2 計(jì)算機(jī)接口的控制方式

主機(jī)通過接口對(duì)外設(shè)進(jìn)行控制的方式有下面幾種。

1)查詢方式

在查詢方式中,主機(jī)通過 I/O 指令循環(huán)訪問當(dāng)前外設(shè)的狀態(tài),如果外設(shè)準(zhǔn)備就緒,則進(jìn)行數(shù)據(jù)輸入或者輸出,否則主機(jī)會(huì)繼續(xù)查詢。這種控制方式的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,只需要少量的硬件電路即可。其缺點(diǎn)是由于主機(jī)速度較快而外設(shè)速度較慢,因此主機(jī)將常常處于等待狀態(tài),大大降低工作效率。

2)中斷方式

在中斷方式中,主機(jī)不再循環(huán)檢查外設(shè),而是進(jìn)行其他工作。外設(shè)則會(huì)自己檢查狀態(tài),一旦可以進(jìn)行數(shù)據(jù)傳輸,立即向主機(jī)發(fā)送一個(gè)信號(hào)提出數(shù)據(jù)傳輸請(qǐng)求。如果主機(jī)響應(yīng)這個(gè)請(qǐng)求,則暫停當(dāng)前工作并且進(jìn)行與外設(shè)的數(shù)據(jù)傳輸,完成之后再繼續(xù)執(zhí)行原來的工作。

中斷方式的優(yōu)點(diǎn)是顯而易見的,它不必使主機(jī)循環(huán)檢查設(shè)備,省去了主機(jī)查詢和等待所花費(fèi)的時(shí)間,提高了主機(jī)的工作效率。中斷方式還使得系統(tǒng)具有實(shí)時(shí)性,可以滿足一些實(shí)時(shí)性要求較高的外設(shè)。

中斷方式的缺點(diǎn)是每次數(shù)據(jù)傳輸都需要經(jīng)過啟動(dòng)中斷控制器、保存現(xiàn)場(chǎng)數(shù)據(jù)和恢復(fù)現(xiàn)場(chǎng)數(shù)據(jù)的過程,這樣會(huì)消耗很大的主機(jī)資源,在中斷過于頻繁的系統(tǒng)中,將會(huì)明顯降低系統(tǒng)的整體性能。

3)DMA 方式

DMA(Direct Memory Access)的意思是直接存儲(chǔ)器訪問,這種方式最為明顯的一個(gè)特點(diǎn)是它不用軟件而是采用了一個(gè)特殊的硬件電路——DMA 控制器來實(shí)現(xiàn)內(nèi)存與外設(shè)之間的數(shù)據(jù)傳輸。該方式無需主機(jī)介入,大大提高了主機(jī)的工作效率和系統(tǒng)的整體性能。

在進(jìn)行 DMA 傳輸之前,DMA 控制器會(huì)向主機(jī)申請(qǐng)數(shù)據(jù)總線的控制權(quán),如果主機(jī)允許則將控制權(quán)交出。所以,當(dāng) DMA 方式進(jìn)行數(shù)據(jù)傳輸時(shí),總線控制權(quán)是由 DMA 控制器掌握的;完成數(shù)據(jù)傳輸后,DMA 控制器會(huì)將總線控制權(quán)交還給主機(jī)。

本篇到此結(jié)束,下一篇帶來基于FPGA的 UART 控制器設(shè)計(jì)(VHDL)(中),RS-232 串口通信簡(jiǎn)介 ,包括串口通信概述協(xié)議 、RS-232 通信時(shí)序和 UART以及串口通信實(shí)現(xiàn)方案等相關(guān)內(nèi)容。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
A3P250-FGG144 1 Microsemi Corporation Field Programmable Gate Array, 6144 CLBs, 250000 Gates, 350MHz, CMOS, PBGA144, 13X 13 MM, 1.45 MM HEIGHT, 1 MM PITCH, GREEN, FBGA-144

ECAD模型

下載ECAD模型
$21.87 查看
EPM240T100C5N 1 Altera Corporation Flash PLD, 7.5ns, 192-Cell, CMOS, PQFP100, 16 X 16 MM, 0.50 MM PITCH, LEAD FREE, TQFP-100

ECAD模型

下載ECAD模型
$18.04 查看
A3P125-PQG208I 1 Microsemi Corporation Field Programmable Gate Array, 3072 CLBs, 125000 Gates, 350MHz, CMOS, PQFP208, 28 X 28 MM, 3.40 MM HEIGHT, 0.50 MM PITCH, GREEN, PLASTIC, QFP-208
$90.73 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

任何技術(shù)的學(xué)習(xí)就好比一個(gè)江湖,對(duì)于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。