嵌入式實驗報告材料_ARM的串行口實驗_第1頁
嵌入式實驗報告材料_ARM的串行口實驗_第2頁
嵌入式實驗報告材料_ARM的串行口實驗_第3頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大學實驗報告學院:專業(yè):班級:實驗時間學號實驗組05.03指導教師余佩嘉成績實驗項目名稱ARM的串行口實驗實 驗 目 的1. 掌握ARM勺串行口工作原理2. 學習編程實現(xiàn)ARM勺UART通訊3. 掌握CPU利用串口通訊的方法1 異步串行I /O異步串行方式是將傳輸數(shù)據(jù)的每個字符一位接一位(例如先低位、后高位)地傳送。數(shù)據(jù)的各不同位可以分時使用同一傳輸通道,因此串行I/O可以減少信號連線,最少用一對線即可進行。接收方對于同一根線上一連串的數(shù)字信號,首先要分割成位,再按位組成字符。為了恢復發(fā)送的信息,雙方必須協(xié)調(diào)工作。在微型計算機量使用異步串行I /0方式,雙方使用各自的時鐘信號,而且允許時鐘頻率

2、有一定誤差,因此實現(xiàn)較容易。但是由于每個字符都要獨立確定起始和結束(即每個字符都要重新同步),字符和字符間還可能有長度不定的空閑時間,因此效率較低。實驗原理1i11 /D1/(11 /)1 D1/01/«iii(J此1if"l'*Jl*J M 位位Et位位SfiliT字苻U01), IJ,比 叫 口圖3 1串打通1W字符格戌圖3-1給出異步串行通信中一個字符的傳送格式。開始前,線路處于空閑狀態(tài), 送出連續(xù)“1”傳送開始時首先發(fā)一個“0”作為起始位,然后出現(xiàn)在通信線上的是字符的二進制編碼數(shù)據(jù)。每個字符的數(shù)據(jù)位長可以約定為 5位、6位、7位或8位,一般采用ASCII 編

3、碼。后面是奇偶校驗位,根據(jù)約定,用奇偶校驗位將所傳字符中為“1 ”的位數(shù)湊成奇數(shù)個或偶數(shù)個。也可以約定不要奇偶校驗,這樣就取消奇偶校驗位。最后是表示停止位的“ 1”信號,這個停止位可以約定持續(xù)1位、1.5位或2位的時間寬度。至此一個字符傳送完畢,線路又進入空閑,持續(xù)為“1 ”。經(jīng)過一段隨機的時間后,下一個字符開始傳送才又發(fā)出起始位。每一個數(shù)據(jù)位的寬度等于傳送波特率的倒數(shù)。微機異步串行通信中,常用的波特率為 50,95, 110,150,300, 600, 1200, 2400,4800, 9600 等。 接收方按約定的格式接收數(shù)據(jù),并進行檢查,可以查出以下三種錯誤:1)奇偶錯:在約定奇偶檢查的

4、情況下,接收到的字符奇偶狀態(tài)和約定不符。2)幀格式錯:一個字符從起始位到停止位的總位數(shù)不對。3)溢出錯:若先接收的字符尚未被微機讀取,后面的字符又傳送過來,則產(chǎn)生溢出錯。每一種錯誤都會給出相應的出錯信息,提示用戶處理。2. 串行接口的物理層標準通用的串行I/O接口有許多種,現(xiàn)僅就最常見的兩種標準作簡單介紹。1) EIA RS 232C這是美國電子工業(yè)協(xié)會推薦的一種標準(Electro nic in dustries AssociationRecoil-mended Standard)。它在一種25針接插件(DB 25)上定義了串行通信的有關信號。這個標準后來被世界各國所接受并使用到計算機的I/

5、O接口中。信號連線在實際異步串行通信中,并不要求用全部的RS-232C信號,許多PC/XT兼容機僅用15針接插件(DB 15)來引出其異步串行I /O信號,而PC中更是大量采用9針接插件 (DB 9)來擔當此任,因此這里也不打算就 RS-232C的全部信號作詳細解釋。圖 3-2 給出兩臺微機利用 RS-232C接口通信的聯(lián)線(無MODEM)我們按DB-25的引腳號標注 各個信號。下面對圖3-2中幾個主要信號作簡要說明。保護地通信線兩端所接設備的金屬外殼通過此線相聯(lián)。當通信電纜使用屏蔽線時,常利用其外皮金屬屏蔽網(wǎng)來實現(xiàn)。 由于各設備往往已通過電源線接通保護地,因此,通信線中不必重復接此地線(圖中

6、用虛線表示)。例如使用9針插頭(DB 9)的異步串行I /O 接口就沒有引出保護地信號。TXD/ RXD是一對數(shù)據(jù)線,TXD稱發(fā)送數(shù)據(jù)輸出,RXD稱接收數(shù)據(jù)輸入。當兩臺微機以 全雙工方式直接通信(無MODE方式)時,雙方的這兩根線應交叉聯(lián)接(扭接)。信號地 所有的信號都要通過信號地線構成耦合回路。通信線有以上三條(TXD RXD和信號地)就能工作了。其余信號主要用于雙方設備通信過程中的聯(lián)絡(握手信號),而且有些信號僅用于和 MODE的聯(lián)絡。若采取微型機對微型機直接通信,且雙方可直接對異步串行通信電路芯片編程, 若設置成不要任何聯(lián)絡信號,則其它線都可不接。有時在通信線的同一端將相關信號短接以“自

7、握手”方式滿足聯(lián)絡要求。這就是如圖示的情況。Iff*3-2(a)所«b)檢側(cè)DCDttHW 劇Ht tf 曲 20R1站J廠一*匕:E62C<«> 三RTS/ CTS請求發(fā)送值號 RTS是發(fā)送器輸出的準備好信號。接收方準備好后送回清除發(fā)送信號CTS后,發(fā)送數(shù)據(jù)開始進行,在同一端將這兩個信號短接就意味著只要發(fā)送器準備好即可發(fā)送。DCD載波檢測(又稱接收線路信號檢測)。本意是MODE檢測到線路中的載波信號后,通知終端準備接收數(shù)據(jù)的信號,在沒有接MODEM情況下,也可以和 RTS CTS短接。相對于 MODEM而言,微型 機和終 端機一樣 被稱為 數(shù)據(jù)終端 DTE(D

8、ata TerminalEquipment)而 MODE被稱為數(shù)據(jù)通信裝置 DCE(Data Communications Equipment) , DTE和DCE之間的連接不能像圖 3-2中有“扭接”現(xiàn)象,而應該是按接插件芯號,同名端對應相接。此處介紹的 RS- 232C的信號名稱及信號流向都是對DTE而言的。DTR/ DSR數(shù)據(jù)終端準備好時發(fā) DTR信號,在收到數(shù)據(jù)通信裝置裝備好 DSR信號后,方可通信。圖3-2(a)中將這一對信號以“自握手”方式短接。R1原意是在MODE接收到交換機有效的撥號時,使RI有效,通知數(shù)據(jù)終端準備傳送。在無MODE時也可和DTR相接。圖3-2(b)給出了無MO

9、DE情況下,DTE對DTE異步串行通信線路的完整連接,用于微型機和微型機之間的通信,還適用于微型機和異步串行外部設備它不僅適(如終端機、繪圖儀、數(shù)字化儀等)的連接。信號電平規(guī)定RS- 232C規(guī)定了雙極性的信號邏輯電平:-3V到-25V之間的電平表示邏輯“ 1 ”。+3V到+25V之間的電平表示邏輯“ 0”。因此這是一套負邏輯定義。以上標準稱為 EIA電平。PCX XT系列使用的信號電平是-12V和+12V,符合EIA標準, 但在計算機部流動的信號都是TTL電平,因此這中間需要用電平轉(zhuǎn)換電路。常用芯片MCI488或SN75150將TTL電平轉(zhuǎn)換為 EIA電平,MCI489或SN75154將EI

10、A電平轉(zhuǎn)換為 TTL電平。PCX XT系列以這種方式進行串行通信時,在波特率不高于9600的情況下,理論上通信線的長度限制紐為15米。2) 20mA電流環(huán)20mA電流環(huán)并沒有形成一套完整的標準,主要是將數(shù)字信號的表示方法不使用電子的高低,而改用20mA電流的有無:“1”信號在環(huán)路中產(chǎn)生 20mA電流;“0”信號無電流產(chǎn) 生。當然也需要有電路來實現(xiàn) TTL電平和20mA電流之間的轉(zhuǎn)換。圖3-3是PCX XT微機 中使用的一種20mA電流環(huán)接口。當發(fā)送方SOUT= 1時,便有20mA電流灌入接收方的光 耦合器,于是光耦合器導通,使SIN= 1。反之當發(fā)送方 SOUT= 0時環(huán)路電流為零,接收方光耦

11、合器截止,SIN = 0。顯然,當要求雙工方式通信時,雙方都應各有收發(fā)電路, 通信聯(lián)線至少要4根。由于通信雙方利用光耦合器實現(xiàn)電氣上隔離,而且信號又是雙端回路方式,故有很強的抗干擾性,可以傳送遠至1千米的距離。+ 5V十5VK12-3 20fuA赴謊環(huán)接I“0”、“1”信號的表示方法不同外,其他方面(如字符的傳輸格式)常借用RS-232C標準。因此PC/ XT微機中的異步串行信道接口往往將這兩種標準做在一起,實際通過跨 接線從二者中擇一使用。ARM自帶三個UART端口,每個UART通道都有16字節(jié)的FIFO (先入先出寄存器)用于 接受和發(fā)送。用系統(tǒng)時鐘最大波特率可達230.4K,如果用外部時

12、鐘(UCLK)UART可以以更高的波特率運行。S3C2410X UART包括可編程波特率,紅外發(fā)送 /接收,插入一個或兩個停止位,5字節(jié),6字節(jié),7字節(jié),或8字節(jié)數(shù)據(jù)寬度和奇偶校驗。其特點是:-基于 DMA或者中斷操作的 RxD0, TxD0, RxD1, TxD1, RxD2, TxD2。- 包括 IrDA 1.0 和 16 字節(jié) FIFO 的 UART通道 0, 1 , 2。 包括 nRTS0, nCTSQ nRTS1 和 nCTS1 的 UART通道。-支持握手方式的接收/發(fā)送與UART有關的寄存器主要有以下幾個:(1)UART線控制寄存器包括 ULCON0ULCON和ULCON2主要用

13、來選擇每幀數(shù)據(jù)位數(shù)、 停止位數(shù),奇偶校驗模式及是否使用紅外模式,如表3-1 , 3-2所示。農(nóng)3 1 LURT寄衣嚮設!FlegiBtiirR/TUcstripticMiRostVdl. urLLOJXO0x50000000R/VUARt channel 1) Lire controL register0k 00LLC0S100001000R./TUAI?r cliunnel 1 I inu cutLLr</ i vhisIulQxOOILCDV2R/VHARF chsttiiifl 2 Ine control restar0x00rVR-rH E湃忖端迷I I.CtA-.lii iIf

14、tencrifit hiiiInitialStalo70lufi h HrdVhdr:ti:ChpierainF Hhethir cur w»- In 從舅護 I.lit* Inf:ih Hrd ngdH 01 KathiiI nrp <ikTAi b»-n I hTTRx m de0Ferity VI drGr3Spri 11 t nr I ypr of peiri 1 > R'-nrrl i nn fird hrr k I he rfuri ng L'ART iruULi and rirccive opurEjilDci, Qxsi 二 恤

15、parity IDO -Udd pai111y 1£U - bven parity LIO I'arltv forced = cheerked Fl? 1 111. = Tirity forfrrl/rhnrlkj'd ns 0Nunfier ofStoy Bit2how mmw stoo bl its am io be used for ehd-of*fra>e!=,KEtal. 0 Dnu blop bit jjlt fmfte L - Tk> Glop bitfrtukc0linrd 1 pngthkOjn r i f h1 hn nL|nhELr

16、、 d»1 m hi i £ 門 h” 1 rar Km i 11nrrrnipnr Krsmo 00 -気-hi" 01 - Kbits (I = "hitv 1 1 =9-bitsno(2) UART控制寄存器包括 UCONO, UC0N1 and UCON,主要用來選擇時鐘,接收和發(fā)送中斷類型(即電平還是脈沖觸發(fā)類型),接收超時使能,接收錯誤狀態(tài)中斷使能,回環(huán)模式,發(fā)送接收模式等。如表3-3,3-4所示豪円IWTO制寄器設II:Rivi r'rAddressR/IDprriil innVallieUCOItOOxJjOOOMO :l.iAK

17、T chtHii叱0 LiJi.tan 1 rexEsLei0100UCOL0阿如砂R/WlAltT fhtmrwl 1 cunIrvl registerQkOOUC0K20xSOCObOO4WLART channel 2 iioiitrol reisEster0100UART控制喘A黠位抽述UCOSnKitDescriptionIniual$1最匕Clock Sc lot t ion10Svlpct RXK or LCLK for the IAKT baud rate, (PCLK : RRNTn - (ini) (PClh / 亦 x HO ) -I 1-UCLI(«GPHS):

18、 LTRD/n 二(in0(UCLI / (bps x 16) 1(iTk Trilrrruil Typm:91f rii11()1 i riiiio 1 l.jrpp. 0 - ruliNh fin! prnjipl isreqjiisti-d u器 m-ib aia the T bulof bccoin-ji empty in Non-FIFO mode or roadnos Im FIFO fnggijr Lovfrl in FIFO mode. )1 = Level (lnterrupi is request-eci whi le lx bult er Is ?nply In fd-n

19、-F FO imide or reaches. 1 P1P0 TfiseF Level in FIFO vnode. *(1Rx Inlprrupl Typp->1TntFrru卩l(xiāng) request trp?- 0 Putse Tmlprnjpt is requbsled the instant FJx burfer receives theinFfon-FIFD mode or rctichcs R席 FIFO Trigmr Level in. FIFO iwd?. ) I = Love (ntprrupl ix requotd a'hi 1c K?c hul'f er

20、 Is rc?fiFiF>g rim a in NcmFTFO nndc or refiehs six FIFO Trilet】 in Fl F0 inKlt )(1Rx Tim' dut Enable71Eimtil材DI皿】e R開(lie ciut hrlerrupt wlien UART FIFO Is efiablgdL The interrupt is o receive interrupt, 0 1 |)1 abl$ 1 jitl-ub | cflRx trrcir Status tnteiTTjpl tnab-L.6JLnable? the LjIHI to gc

21、nei'atc an interrupt upon an eiceptiioiip 3Lich as a break, traroo error, parity error, nr ctvern.in errr rlltiri ng n vvFive3 naerw 1 inr . 0 - Dri r>% sen era le reteivt error Vidius interrupt. 1 二 Cejierale receive error slatns interrupt.uLtMJikiiK h UudpSellinw luoptwck bi t to 1 cou旺p th

22、e I'ART tg «nl?r the loopbiick tnodc. This aodc is provided for test pufpo曲合 oiil卅 0 一 Rcitimd operali'sci 1Loopback mode0'Send Bbgfc Si gnalSfM 9 inyu. I 'iis bi i磬pr Th。: ARtoh link rlurlng.1 fldLiie lilutf. This bit is tiuluiiiiliccillY cltrareJ dfltsr scncing the break.0 Nor

23、ma 1 trsnsmit L 一 Sendhrejik sietihI0Trfirisiini t WmJe:J 2'LX? term mt which L'anction l a cununt ly ul It tc 'ylto Ik daUi to tht UART ui>tiit 1 ufRi riMisW(M' JihiDI - lr iPTriifit rpqupst nr pn 1 1 i ng mrrp 1 D - RWM) rpqijpt (Ohly tm I.W10),IMAJ roquet (QiJy for U.AKI2) LI =

24、 L)li:l ro電呃狀(Only fu LART1)00Kncpi ve VlcdoI i-o:Determine riilLh run<( Ion Is currenil able io read dam frat LARI iccci'xc bufftri± t<_r.UO = Disable01 = lntt?rrupT roijuest or (x)11 ing mdo 10 = DMAO request (Only for CAUTO),DMA3 requesl COnh for JAR12) 11 - DMjU rquejil (Only for

25、UMH)00(3) UART錯誤狀態(tài)寄存器包括 UERSTATO, UERSTAT1 and UERSTAT2此狀態(tài)寄存器的相關位表明是否有幀錯誤或溢出錯誤發(fā)生。如表3-5 , 3-6所示農(nóng)3 5山U?T雷利態(tài)寄存器設蜀stcrAddressRz*Sccr iplionVtilueUEftSTATOOiSOOOHRI ART channel fl Rx errcir stituti rcirltpr0x0UERSTATIOxSOOOJOMRL'ART channel 1 Ex error status register0x0UERSTAT20150008014RLART cliajin

26、el 2 fix error' sLaluij noisier0x0K LAH1H址贋患帯(I囂位期ii£(IERSTATdBitDescriptionInitialSRet'i ved310 Yu rrwne error dur.ng reteivr 1- Frtifie 世rnirT(Interrupt is requested,)0Ft Hine Er rcr2Set lu <ul(nkal kill ly whtiLewr n fiiins1 eri uf tjccurs during rocoivo oporat kn. G - No fratio e

27、rror during receive 1 = Fry me error (interrurit is request ed,)0R versed【flrr>itht? error during receive 1 ; Fran# error(Interrupt is ruested.)0Overrun ErrorSet to L autnmfit icftl ly whenever an overrun erroi" occurs during recci ve epert ion, Qoverrun t?rrorduring rwoix'電 J = Overrun

28、error (Interrupt 呵山陶Erl”)0“口:在讀取UART錯謨狀態(tài)寄存器時.這哋位(UERSATn $:(】)矣門動清零.()在UART模塊中有三個接收 /發(fā)送狀態(tài)寄存器,包括UTRSTATOUTRSTAT和UTRSTAT2如表3-7 , 3-8所示:表47 LAET按收/女送奇存器設譽RegisterAddressR/HUcscriptionHcsut ValueITETSTATOOvnOCXiCOinRART channel 0 Tk Rx st ar iis rpflisipr0k6IHIISTATIOk.W 1fl0RUART channel I Tk/Ri slsius

29、 iesiser0晦LTRSTAT?OxSQOOSO9K HT channel E Tx Bx gw冃 register0k6表3-H HART接收/發(fā)送寄存器&描述叮 RSTATnHitIrUli l|Staff*TraitxiilHer muiy(2St-l Lcr 1 dJlmikiL iu<iLh whtNi thi? L.rdiisniL buffer rtffijter huj no vlLid data to traruitiit and the tr4n<mit vhifi rof sicr ts pnipij1. 0 - Wei <*npiy 】 =

30、Trdjiaiii ltrj1buf & shifter reiister)eapty1Transmi: t buffer cnply1】Set to 1 EiutcHiKiticllr wlwn tranaHLt tiuFfir rAfffltr icy. 0 =ThP huffr rfjisif'r isenpty J11n Non FIFO mode, Jnlfi rupt or bUAis Equostod” In FIFO aodo, Intorrupt w DMA is ifudetluJ. vliuti Tx riFQ rtLevel i* set . y 00(

31、Eiptyl) If the UART jscs the FIFO, usore should chec?k r)t FIFO &>unt bits and Ti FIH> Ful L bii in the FSrAT registet iiistedd of this bit.Rf»ci /e buf Ti*r dat a readyroiSei to 1 aulnnidLiCidny irh倉ne 買er rect? i mp bufTi汕 register contiains valid data( r&CDL ved a甘亡r the RXDn p

32、ort. 0 - Empty 1 二 ha buffer regi stsr ha* a received dntiiIn Nrr FII;0 tiocId, Interrupt or 1>MA i缶 requested) If the* U.V?r 貯的 the FIFO,should check Rx FIFO Count bits <nd Rk FIFO Full bit in the UFSTAT rdgistK1 ImBtomd of this bit.0()UERSTATO, UERSTAT1 and UERSTAT2(2)在UART模塊中有 3個UART發(fā)送緩沖寄存器

33、, 包括UTXH0 UTXH1和 UTXH2 UTXHn有8位發(fā)送數(shù)據(jù)。如下表 3-9 :9 I ART好.我沖宙存棉RegisterAddresswDescriptionReset ValueCTX1IO0(1000)20 JJ Oi;)<l(XXK)23;B)H (by In it)HART chnnnel 0 transni1 buffer regislerUTXH1(iv 500010)(1,) 血HJQQ102肌町* (hyUAIR'I. chaitnl 1 t ran sail buffer resisteri rxHi0x50008020(L)0x50008023t

34、B)V (by byteUART channel 2 rransmit buffer leg i sIe r兀功能如下喪370所為我3-10 UAKT發(fā)送緩沖路存器功能UTXHrBitiptionInitial StateTIWTMn17:0Trutti-mil data for UARTn-注測(L八小羯模式;佃卄大漏模式(3)在UART模塊中有 3個UART接收緩沖寄存器, 包括URXH0 URXH1和URXH2 URXHr有8位接收數(shù)據(jù)。如表 3-11 :表3 11 "KF按收耀沖寄柑牆Register.Wdressill/lDescriptionBeset ValueWHOK

35、 (by byte)UART channel 0 receive bufferURXI310i6OOO4O24(L)Ui5auU;U27.)K (bf bfie)UART charmel L receive huffrr regretUHXH2Oi5OOUSO24(L> 0i5WQSQ27(B)R (by byte)HART rhnnnpl 2ozi艸 buffer i rgizst 廣廠肓功能如下應3T2所示:$3 12訕RT接收級沖布存功懺UHXlhBitipticiflInitial State7:OJRecc i vc dita for I ARTn-注意:當發(fā)生溢出錯誤時,必須

36、讀 URXHn否則,即使 UERSTAT的溢出位已經(jīng)清零, 下個已接收數(shù)據(jù)也會產(chǎn)生溢出錯誤。()UART波特率因子寄存器農(nóng)3-門I1WT波持率國子寄徉跟設置Rogi su>r?ddrossK/»LX>scripticnRc«ot XaluoLIIKIJIW0 疝 OOOtX)湘R/Upltiud rate divisior reeisier 0-L13RDJV1OiWOOiOSBR/WBaud rate divisiar register 1WTV2R/WI riUd mtp rilvisinr rpfjistpr 2丟UART波特率因子奇徉議功虧r!R>:VnBiLOvstript iwii' i i

溫馨提示

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

評論

0/150

提交評論