2023年嵌入式實(shí)驗(yàn)報(bào)告ARM的串行口實(shí)驗(yàn)_第1頁(yè)
2023年嵌入式實(shí)驗(yàn)報(bào)告ARM的串行口實(shí)驗(yàn)_第2頁(yè)
2023年嵌入式實(shí)驗(yàn)報(bào)告ARM的串行口實(shí)驗(yàn)_第3頁(yè)
2023年嵌入式實(shí)驗(yàn)報(bào)告ARM的串行口實(shí)驗(yàn)_第4頁(yè)
2023年嵌入式實(shí)驗(yàn)報(bào)告ARM的串行口實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

貴州大學(xué)實(shí)驗(yàn)報(bào)告學(xué)院:專業(yè):班級(jí):姓名學(xué)號(hào)實(shí)驗(yàn)組實(shí)驗(yàn)時(shí)間05.03指導(dǎo)教師余佩嘉成績(jī)實(shí)驗(yàn)項(xiàng)目名稱ARM的串行口實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?1.掌握ARM的串行口工作原理2.學(xué)習(xí)編程實(shí)現(xiàn)ARM的UART通訊3.掌握CPU運(yùn)用串口通訊的方法實(shí)驗(yàn)原理1.異步串行I/O異步串行方式是將傳輸數(shù)據(jù)的每個(gè)字符一位接一位(例如先低位、后高位)地傳送。數(shù)據(jù)的各不同位可以分時(shí)使用同一傳輸通道,因此串行I/O可以減少信號(hào)連線,最少用一對(duì)線即可進(jìn)行。接受方對(duì)于同一根線上一連串的數(shù)字信號(hào),一方面要分割成位,再按位組成字符。為了恢復(fù)發(fā)送的信息,雙方必須協(xié)調(diào)工作。在微型計(jì)算機(jī)中大量使用異步串行I/O方式,雙方使用各自的時(shí)鐘信號(hào),并且允許時(shí)鐘頻率有一定誤差,因此實(shí)現(xiàn)較容易。但是由于每個(gè)字符都要獨(dú)立擬定起始和結(jié)束(即每個(gè)字符都要重新同步),字符和字符間還也許有長(zhǎng)度不定的空閑時(shí)間,因此效率較低。圖3-1給出異步串行通信中一個(gè)字符的傳送格式。開始前,線路處在空閑狀態(tài),送出連續(xù)“1”。傳送開始時(shí)一方面發(fā)一個(gè)“0”作為起始位,然后出現(xiàn)在通信線上的是字符的二進(jìn)制編碼數(shù)據(jù)。每個(gè)字符的數(shù)據(jù)位長(zhǎng)可以約定為5位、6位、7位或8位,一般采用ASCII編碼。后面是奇偶校驗(yàn)位,根據(jù)約定,用奇偶校驗(yàn)位將所傳字符中為“1”的位數(shù)湊成奇數(shù)個(gè)或偶數(shù)個(gè)。也可以約定不要奇偶校驗(yàn),這樣就取消奇偶校驗(yàn)位。最后是表達(dá)停止位的“1”信號(hào),這個(gè)停止位可以約定連續(xù)1位、1.5位或2位的時(shí)間寬度。至此一個(gè)字符傳送完畢,線路又進(jìn)入空閑,連續(xù)為“1”。通過一段隨機(jī)的時(shí)間后,下一個(gè)字符開始傳送才又發(fā)出起始位。每一個(gè)數(shù)據(jù)位的寬度等于傳送波特率的倒數(shù)。微機(jī)異步串行通信中,常用的波特率為50,95,110,150,300,600,1200,2400,4800,9600等。接受方按約定的格式接受數(shù)據(jù),并進(jìn)行檢查,可以查出以下三種錯(cuò)誤:1)奇偶錯(cuò):在約定奇偶檢查的情況下,接受到的字符奇偶狀態(tài)和約定不符。2)幀格式錯(cuò):一個(gè)字符從起始位到停止位的總位數(shù)不對(duì)。3)溢犯錯(cuò):若先接受的字符尚未被微機(jī)讀取,后面的字符又傳送過來,則產(chǎn)生溢犯錯(cuò)。每一種錯(cuò)誤都會(huì)給出相應(yīng)的犯錯(cuò)信息,提醒用戶解決。2.串行接口的物理層標(biāo)準(zhǔn)通用的串行I/O接口有許多種,現(xiàn)僅就最常見的兩種標(biāo)準(zhǔn)作簡(jiǎn)樸介紹。1)EIARS—232C這是美國(guó)電子工業(yè)協(xié)會(huì)推薦的一種標(biāo)準(zhǔn)(ElectronicindustriesAssociationRecoil-mendedStandard)。它在一種25針接插件(DB—25)上定義了串行通信的有關(guān)信號(hào)。這個(gè)標(biāo)準(zhǔn)后來被世界各國(guó)所接受并使用到計(jì)算機(jī)的I/O接口中。⑴信號(hào)連線在實(shí)際異步串行通信中,并不規(guī)定用所有的RS—232C信號(hào),許多PC/XT兼容機(jī)僅用15針接插件(DB—15)來引出其異步串行I/O信號(hào),而PC中更是大量采用9針接插件(DB—9)來?yè)?dān)當(dāng)此任,因此這里也不打算就RS—232C的所有信號(hào)作具體解釋。圖3-2給出兩臺(tái)微機(jī)運(yùn)用RS—232C接口通信的聯(lián)線(無MODEM),我們按DB—25的引腳號(hào)標(biāo)注各個(gè)信號(hào)。下面對(duì)圖3-2中幾個(gè)重要信號(hào)作簡(jiǎn)要說明。保護(hù)地通信線兩端所接設(shè)備的金屬外殼通過此線相聯(lián)。當(dāng)通信電纜使用屏蔽線時(shí),常運(yùn)用其外皮金屬屏蔽網(wǎng)來實(shí)現(xiàn)。由于各設(shè)備往往已通過電源線接通保護(hù)地,因此,通信線中不必反復(fù)接此地線(圖中用虛線表達(dá))。例如使用9針插頭(DB—9)的異步串行I/O接口就沒有引出保護(hù)地信號(hào)。TXD/RXD是一對(duì)數(shù)據(jù)線,TXD稱發(fā)送數(shù)據(jù)輸出,RXD稱接受數(shù)據(jù)輸入。當(dāng)兩臺(tái)微機(jī)以全雙工方式直接通信(無MODEM方式)時(shí),雙方的這兩根線應(yīng)交叉聯(lián)接(扭接)。信號(hào)地所有的信號(hào)都要通過信號(hào)地線構(gòu)成耦合回路。通信線有以上三條(TXD、RXD和信號(hào)地)就能工作了。其余信號(hào)重要用于雙方設(shè)備通信過程中的聯(lián)絡(luò)(握手信號(hào)),并且有些信號(hào)僅用于和MODEM的聯(lián)絡(luò)。若采用微型機(jī)對(duì)微型機(jī)直接通信,且雙方可直接對(duì)異步串行通信電路芯片編程,若設(shè)立成不要任何聯(lián)絡(luò)信號(hào),則其它線都可不接。有時(shí)在通信線的同一端將相關(guān)信號(hào)短接以“自握手”方式滿足聯(lián)絡(luò)規(guī)定。這就是如圖3-2(a)所示的情況。RTS/CTS請(qǐng)求發(fā)送值號(hào)RTS是發(fā)送器輸出的準(zhǔn)備好信號(hào)。接受方準(zhǔn)備好后送回清除發(fā)送信號(hào)CTS后,發(fā)送數(shù)據(jù)開始進(jìn)行,在同一端將這兩個(gè)信號(hào)短接就意味著只要發(fā)送器準(zhǔn)備好即可發(fā)送。DCD載波檢測(cè)(又稱接受線路信號(hào)檢測(cè))。本意是MODEM檢測(cè)到線路中的載波信號(hào)后,告知終端準(zhǔn)備接受數(shù)據(jù)的信號(hào),在沒有接MODEM的情況下,也可以和RTS、CTS短接。相對(duì)于MODEM而言,微型機(jī)和終端機(jī)同樣被稱為數(shù)據(jù)終端DTE(Dat(yī)aTerminalEquipment)而MODEM被稱為數(shù)據(jù)通信裝置DCE(DataCommunicat(yī)ionsEquipment),DTE和DCE之間的連接不能像圖3-2中有“扭接”現(xiàn)象,而應(yīng)當(dāng)是按接插件芯號(hào),同名端相應(yīng)相接。此處介紹的RS—232C的信號(hào)名稱及信號(hào)流向都是對(duì)DTE而言的。DTR/DSR數(shù)據(jù)終端準(zhǔn)備好時(shí)發(fā)DTR信號(hào),在收到數(shù)據(jù)通信裝置裝備好DSR信號(hào)后,方可通信。圖3-2(a)中將這一對(duì)信號(hào)以“自握手”方式短接。R1原意是在MODEM接受到電話互換機(jī)有效的撥號(hào)時(shí),使RI有效,告知數(shù)據(jù)終端準(zhǔn)備傳送。在無MODEM時(shí)也可和DTR相接。圖3-2(b)給出了無MODEM情況下,DTE對(duì)DTE異步串行通信線路的完整連接,它不僅適用于微型機(jī)和微型機(jī)之間的通信,還合用于微型機(jī)和異步串行外部設(shè)備(如終端機(jī)、繪圖儀、數(shù)字化儀等)的連接。⑵信號(hào)電平規(guī)定RS—232C規(guī)定了雙極性的信號(hào)邏輯電平:-3V到-25V之間的電平表達(dá)邏輯“1”。+3V到+25V之間的電平表達(dá)邏輯“0”。因此這是一套負(fù)邏輯定義。以上標(biāo)準(zhǔn)稱為EIA電平。PC/XT系列使用的信號(hào)電平是-12V和+12V,符合EIA標(biāo)準(zhǔn),但在計(jì)算機(jī)內(nèi)部流動(dòng)的信號(hào)都是TTL電平,因此這中間需要用電平轉(zhuǎn)換電路。常用芯片MCl488或SN75150將TTL電平轉(zhuǎn)換為EIA電平,MCl489或SN75154將EIA電平轉(zhuǎn)換為TTL電平。PC/XT系列以這種方式進(jìn)行串行通信時(shí),在波特率不高于9600的情況下,理論上通信線的長(zhǎng)度限制紐為15米。2)20mA電流環(huán)20mA電流環(huán)并沒有形成一套完整的標(biāo)準(zhǔn),重要是將數(shù)字信號(hào)的表達(dá)方法不使用電子的高低,而改用20mA電流的有無:“1”信號(hào)在環(huán)路中產(chǎn)生20mA電流;“0”信號(hào)無電流產(chǎn)生。當(dāng)然也需要有電路來實(shí)現(xiàn)TTL電平和20mA電流之間的轉(zhuǎn)換。圖3-3是PC/XT微機(jī)中使用的一種20mA電流環(huán)接口。當(dāng)發(fā)送方SOUT=1時(shí),便有20mA電流灌入接受方的光耦合器,于是光耦合器導(dǎo)通,使SIN=1。反之當(dāng)發(fā)送方SOUT=0時(shí)環(huán)路電流為零,接受方光耦合器截止,SIN=0。顯然,當(dāng)規(guī)定雙工方式通信時(shí),雙方都應(yīng)各有收發(fā)電路,通信聯(lián)線至少要4根。由于通信雙方運(yùn)用光耦合器實(shí)現(xiàn)電氣上隔離,并且信號(hào)又是雙端回路方式,故有很強(qiáng)的抗干擾性,可以傳送遠(yuǎn)至1千米的距離?!埃啊薄ⅰ?”信號(hào)的表達(dá)方法不同外,其他方面(如字符的傳輸格式)常借用RS—232C標(biāo)準(zhǔn)。因此PC/XT微機(jī)中的異步串行信道接口往往將這兩種標(biāo)準(zhǔn)做在一起,實(shí)際通過跨接線從兩者中擇一使用。ARM自帶三個(gè)UART端口,每個(gè)UART通道都有16字節(jié)的FIFO(先入先出寄存器)用于接受和發(fā)送。用系統(tǒng)時(shí)鐘最大波特率可達(dá)230.4K,假如用外部時(shí)鐘(UCLK)UART可以以更高的波特率運(yùn)營(yíng)。S3C2410XUART涉及可編程波特率,紅外發(fā)送/接受,插入一個(gè)或兩個(gè)停止位,5字節(jié),6字節(jié),7字節(jié),或8字節(jié)數(shù)據(jù)寬度和奇偶校驗(yàn)。其特點(diǎn)是:-----基于DMA或者中斷操作的RxD0,TxD0,RxD1,TxD1,RxD2,TxD2。-----涉及IrDA1.0和16字節(jié)FIFO的UART通道0,1,2。-----涉及nRTS0,nCTS0,nRTS1和nCTS1的UART通道。-----支持握手方式的接受/發(fā)送與UART有關(guān)的寄存器重要有以下幾個(gè):(1)UART線控制寄存器涉及ULCON0,ULCON1和ULCON2,重要用來選擇每幀數(shù)據(jù)位數(shù)、停止位數(shù),奇偶校驗(yàn)?zāi)J郊笆欠袷褂眉t外模式,如表3-1,3-2所示。(2)UART控制寄存器涉及UCON0,UCON1andUCON2,重要用來選擇時(shí)鐘,接受和發(fā)送中斷類型(即電平還是脈沖觸發(fā)類型),接受超時(shí)使能,接受錯(cuò)誤狀態(tài)中斷使能,回環(huán)模式,發(fā)送接受模式等。如表3-3,3-4所示(3)UART錯(cuò)誤狀態(tài)寄存器涉及UERSTAT0,UERSTAT1andUERSTAT2,此狀態(tài)寄存器的相關(guān)位表白是否有幀錯(cuò)誤或溢犯錯(cuò)誤發(fā)生。如表3-5,3-6所示()在UART模塊中有三個(gè)接受/發(fā)送狀態(tài)寄存器,涉及UTRSTAT0,UTRSTAT1和UTRSTAT2。如表3-7,3-8所示:()UERSTAT0,UERSTAT1andUERSTAT2(2)在UART模塊中有3個(gè)UART發(fā)送緩沖寄存器,涉及UTXH0,UTXH1和UTXH2,UTXHn有8位發(fā)送數(shù)據(jù)。如下表3-9:(3)在UART模塊中有3個(gè)UART接受緩沖寄存器,涉及URXH0,URXH1和URXH2,URXHn有8位接受數(shù)據(jù)。如表3-11:注意:當(dāng)發(fā)生溢犯錯(cuò)誤時(shí),必須讀URXHn。否則,即使UERSTATn的溢出位已經(jīng)清零,下個(gè)已接受數(shù)據(jù)也會(huì)產(chǎn)生溢犯錯(cuò)誤。()UART波特率因子寄存器UART涉及三個(gè)波特率因子寄存器UBRDIV0,UBRDIV1andUBRDIV2,存儲(chǔ)在波特率因子寄存器(UBRDIVn)中的值決定串口發(fā)送和接受的時(shí)鐘數(shù)率(波特率),計(jì)算公式如下:UBRDIVn=(int)(PCLK/(bpsx16))–1或UBRDIVn=(int)(UCLK/(bpsx16))–1例如:假如波特率是115200,PCLKor或UCLKis是40MHz,那么UBRDIVn:UBRDIVn=(int)(40000000/(115200x16))-1=(int)(21.7)-1=21-1=20實(shí)驗(yàn)儀器硬件:ARM嵌入式開發(fā)平臺(tái)、PC機(jī)Pentium100以上、用于ARM920T的JTAG仿真器、串口線。軟件:PC機(jī)操作系統(tǒng)Win2023或WinXP、ARMADS1.2集成開發(fā)環(huán)境、仿真器驅(qū)動(dòng)程序、超級(jí)終端通訊程序。實(shí)驗(yàn)環(huán)節(jié)編寫串口驅(qū)動(dòng)函數(shù)在主函數(shù)中實(shí)現(xiàn)將從串口0接受到的數(shù)據(jù)發(fā)送到串口0新建工程,將“EXP1ARM串口實(shí)驗(yàn)”中的文獻(xiàn)添加到工程中并運(yùn)營(yíng)實(shí)驗(yàn)內(nèi)容學(xué)習(xí)串行通訊原理,了解串行通訊控制器,閱讀ARM芯片文檔,掌握ARM的UART相關(guān)寄存器的功能,熟悉ARM系統(tǒng)硬件的U

溫馨提示

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

評(píng)論

0/150

提交評(píng)論