通訊行業(yè)ARM接口設(shè)計(jì)技術(shù)知識(shí)_第1頁(yè)
通訊行業(yè)ARM接口設(shè)計(jì)技術(shù)知識(shí)_第2頁(yè)
通訊行業(yè)ARM接口設(shè)計(jì)技術(shù)知識(shí)_第3頁(yè)
通訊行業(yè)ARM接口設(shè)計(jì)技術(shù)知識(shí)_第4頁(yè)
通訊行業(yè)ARM接口設(shè)計(jì)技術(shù)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章ARM接口設(shè)計(jì)技術(shù)本章主要內(nèi)容:鍵盤接口LED顯示器接口LCD顯示器接口觸摸屏接口通訊接口中斷接口A/D和D/A轉(zhuǎn)換器接口ARM的JTAG接口1芯片S3C44B0XⅠ本章主要基于芯片S3C44B0X,介紹其多個(gè)接口。S3C44B0X是基于ARM7TDMI的體系結(jié)構(gòu),是ARM公司最早為業(yè)界普遍認(rèn)可并且贏得最廣泛應(yīng)用的處理核。芯片S3C44B0X具有71個(gè)通用多功能輸入輸出引腳,這些I/O口的應(yīng)用是S3C44BOX處理器的基礎(chǔ)應(yīng)用,分別包含在如下7組端口中:1個(gè)10位輸出端口〔端口A〕;1個(gè)11位輸出端口(端口B);1個(gè)16位輸入/輸出端口(端口C);2個(gè)8位輸入/輸出端口(端口D和G);2個(gè)9位輸入/輸出端口(端口E和F)。2芯片S3C44B0XⅡ每組端口都是多功能口,需要用軟件對(duì)端口配置寄存器PCONn來設(shè)置滿足不同系統(tǒng)和設(shè)計(jì)的需要,在運(yùn)行程序之前必須先對(duì)每一個(gè)用到的引腳功能進(jìn)行設(shè)置。如果某些引腳的復(fù)用功能沒有使用,可以將該引腳設(shè)置成I/O口。在一般的應(yīng)用中,PA作為地址線使用;PB作為bank選擇線和SDRAM的接口信號(hào)線使用;PC可以作為數(shù)據(jù)線、IIS接口或LCD數(shù)據(jù)線等使用;在系統(tǒng)具備LCD的情況下,PD主要作為L(zhǎng)CD的信號(hào)線使用;PE可以作串口信號(hào)線和定時(shí)器輸出使用;PF和PG則是多功能I/O口。3鍵盤概述

計(jì)算機(jī)的鍵實(shí)際上就是開關(guān),制造這種鍵的方法是多種多樣的,以下是幾種常用的按鍵:機(jī)械式按鍵

電容式按鍵

薄膜式按鍵

霍耳效應(yīng)按鍵

4用ARM芯片實(shí)現(xiàn)鍵盤接口Ⅰ

本應(yīng)用實(shí)例中,要與4X4的矩陣鍵盤接口,采用節(jié)省口線的“行掃描法”方法來檢測(cè)鍵盤,這樣只需要8根口線,在此選取PF口作為檢測(cè)鍵盤用端口,并設(shè)定PF0–PF3為輸出掃描碼的端口,PF4--PF7為鍵值讀入口。5用ARM芯片實(shí)現(xiàn)鍵盤接口Ⅱ矩陣鍵盤按鍵的識(shí)別方法,此方法分兩步進(jìn)行:

①識(shí)別鍵盤哪一行的鍵被按下:讓所有行線均為低電平,檢查各列線電平是否為低,如果有列線為低,則說明該列有鍵被按下,否則說明無鍵被按下。②如果某列有鍵被按下,識(shí)別鍵盤哪一行的鍵被按下:逐行置低電平,并置其余各行為高電平,檢查各列線電平的變化,如果列電平變?yōu)榈碗娖?,則可確定此行此列交叉點(diǎn)處按鍵被按下。6行掃描法獲取鍵值的程序設(shè)計(jì)Ⅰ1.

寄存器設(shè)置

接口中利用了PF口的相關(guān)寄存器,PF口的寄存器有3個(gè):PCONF,PDATF和PUPF。(1)設(shè)置PCONF寄存器需要設(shè)定PF0-3為輸出口,PF4-7為輸入口,因此,在端口工作之前設(shè)置:

rPCONF=0000000000001010101B=0x55;(2)設(shè)置PDATF寄存器PF0-3作為輸出口輸出掃描碼時(shí),可采用語(yǔ)句:rPDATF=Oxf0;//PF0-3全寫入0PF4-7作為輸入口讀入鍵值時(shí),采用語(yǔ)句:Keyval=(rPDATF&0xf0)>>4;(3)設(shè)置PUPF寄存器設(shè)置內(nèi)部上拉電阻的語(yǔ)句為:rPUPF=0x00;//使能PF0-7的內(nèi)部上拉電阻7行掃描法獲取鍵值的程序設(shè)計(jì)Ⅱ2.編寫鍵盤掃描程序3.代碼見課本P1538LED顯示器接口概述Ⅰ

LED(LightEmittingDiode)常稱為七段發(fā)光二極管,在專用的微型計(jì)算機(jī)系統(tǒng)中,特別是在嵌入式控制系統(tǒng)中,應(yīng)用非常普遍。它價(jià)格低廉、體積小、功耗低,而可靠性又很好,因此,從單板微型機(jī)、袖珍計(jì)算機(jī)到許多微型機(jī)控制系統(tǒng)及數(shù)字化儀器都用LED作為輸出顯示。9LED顯示器接口概述Ⅱ在多個(gè)LED顯示電路中,通常把陰(陽(yáng))極控制端接至一輸出端口,我們稱它為位控端口;而把數(shù)據(jù)顯示段接至一個(gè)輸出端口,我們稱這個(gè)端口為段控端口。段控端口處應(yīng)輸出十六進(jìn)制數(shù)的7段代碼。為了將一個(gè)4位二進(jìn)制數(shù)(可能為一個(gè)十六進(jìn)制數(shù),也可能是一個(gè)BCD碼)在一個(gè)LED上顯示出來,就需要將4位二進(jìn)制數(shù)譯為L(zhǎng)ED的7位顯示代碼。要完成譯碼功能,可以采用兩種方法:一種方法是采用專用芯片,可以實(shí)現(xiàn)對(duì)BCD碼的譯碼,但不能對(duì)大于9的二進(jìn)制數(shù)譯碼。另一種常用的辦法是軟件譯碼法。在軟件設(shè)計(jì)時(shí),將0到F共16個(gè)數(shù)字(也可以為0到9)對(duì)應(yīng)的顯示代碼組成一個(gè)表。10用ARM芯片實(shí)現(xiàn)LED顯示接口Ⅰ1.接口電路11用ARM芯片實(shí)現(xiàn)LED顯示接口Ⅱ2.初始化程序如下。

(1)設(shè)置PCONF、PCONG寄存器,由于需要設(shè)定端口F、G為輸出口,因此,在端口工作之前設(shè)置:

rPCONF=0010010010101010101B=0x12555;rPCONG=0101010101010101B=0x5555;(2)設(shè)置PUPF、PUPG寄存器,設(shè)置內(nèi)部上拉電阻的語(yǔ)句為:rPUPF=0x00;//使能PF0-7的內(nèi)部上拉電阻rPUPG=0x00;//使能PG0-7的內(nèi)部上拉電阻12用ARM芯片實(shí)現(xiàn)LED顯示接口Ⅲ3.7段數(shù)碼LED編程

4.代碼見課本P15813LCD顯示器接口概述液晶顯示是一種被動(dòng)的顯示,它不能發(fā)光,只能使用周圍環(huán)境的光?;驹硎峭ㄟ^給不同的液晶單元供電,控制其光線的通過與否,從而達(dá)到顯示的目的。LCD有三種顯示方式:反射型,透射型和透反射型。市面上出售的LCD有兩種類型:一種是帶有驅(qū)動(dòng)電路的LCD顯示模塊,這種LCD可以方便地與各種低檔單片機(jī)進(jìn)行接口;另一種是LCD顯示屏,沒有驅(qū)動(dòng)電路,需要與驅(qū)動(dòng)電路配合使用

14

LCD控制器

LCD控制器用來把定位在系統(tǒng)存儲(chǔ)器中的視頻緩沖區(qū)的LCD圖象數(shù)據(jù)傳輸?shù)絃CD驅(qū)動(dòng)器,并產(chǎn)生必須的LCD控制信號(hào)。REGBANK具有18個(gè)可編程寄存器,用于配置LCD控制器LCDCDMA為專用DMAVIDPRCS從LCDCDMA接收數(shù)據(jù),將相應(yīng)格式的數(shù)據(jù)通TIMEGEN包含可編程的邏輯

TIMEGEN部分產(chǎn)生VFRAME,VLINE,VCLK,VM等信號(hào)。15LCD應(yīng)用實(shí)例Ⅰ1.LCD接口電路

16LCD應(yīng)用實(shí)例Ⅱ2.I/O口LCD功能設(shè)置通常采用S3C44BOX的PC口和PD口作為L(zhǎng)CD驅(qū)動(dòng)接口,因此需要設(shè)置PC口工作在第3功能狀態(tài)和PD口工作在第2功能狀態(tài),設(shè)置對(duì)應(yīng)I/O口控制寄存器的語(yǔ)句:rPCONC=00000000000000001111111100000000B=OxO00Off00;rPUPC=0x00;//上拉使能rPCOND=Oxaaaa;rPUPD=0x00;17LCD應(yīng)用實(shí)例Ⅲ3.LCD初始化程序代碼見課本P16918觸摸屏的工作原理

觸摸屏按其工作原理的不同可分為電阻式觸摸屏、表面聲波觸摸屏、紅外式觸摸屏和電容式觸摸屏幾種。最常見的是電阻式觸摸屏,其屏體部分是一塊與顯示器表面非常配合的多層復(fù)合薄膜。觸摸屏工作時(shí),上下導(dǎo)體層相當(dāng)于電阻網(wǎng)絡(luò)。當(dāng)某一層電極加上電壓時(shí),會(huì)在該網(wǎng)絡(luò)上形成電壓梯度。如有外力使得上下兩層在某一點(diǎn)接觸,則在另一層未加電壓的電極上可測(cè)得接觸點(diǎn)處的電壓,從而知道接觸點(diǎn)處的坐標(biāo)。19

觸摸屏的驅(qū)動(dòng)芯片ADS7843ⅠS3C44BOX通過端口G模擬串行的SIO接口與觸摸屏專門的控制芯片ADS7843進(jìn)行數(shù)據(jù)傳輸,來完成對(duì)觸摸屏觸摸位置坐標(biāo)的讀取。ADS7843要完成兩件事:(1)是完成電極電壓的切換;(2)是采集接觸點(diǎn)處的電壓值,并進(jìn)行A/D轉(zhuǎn)換。20觸摸屏的驅(qū)動(dòng)芯片ADS7843Ⅱ1.ADS7843引腳配置及功能引腳號(hào)名稱描述1,10+Vcc供電電源輸入2.7-5V2,3X+,Y+觸摸屏X+、Y+輸入,接內(nèi)部ADC輸入通道4,5X-,Y-觸摸屏X-、Y-輸入6GND接地7,8IN3,IN4附屬ADC輸入通道9VREFADC參考電壓11PENIRQ接觸中斷輸出,必須外接10-100KΩ電阻12,1416DOUT,DIN,DCLK控制字輸入、A/D轉(zhuǎn)換結(jié)果輸出端;在時(shí)鐘下降沿時(shí)輸出,上升沿時(shí)輸入13BUSY忙指示輸出15CS片選21觸摸屏的驅(qū)動(dòng)芯片ADS7843Ⅲ2.ADS7843的控制字第7位(MSB)第6位第5位第4位第3位第2位第1位第0位(LSB)SA2A1A0MODESER/DFRPD1PD022觸摸屏的接口設(shè)計(jì)Ⅰ1.觸摸屏的驅(qū)動(dòng)芯片ADS7843典型接口觸摸屏的控制采用專用芯片,專門處理是否有筆或手指按下觸摸屏,并在按下時(shí)分別給兩組電極通電,然后將其對(duì)應(yīng)位置的模擬電壓信號(hào)經(jīng)過A/D轉(zhuǎn)換送回處理器。S3C44B0選取PG口與ADS7843接口,共使用PG2-PG7的6條口線,也可以選擇其他的I/O口,但注意不要與I/O口上已經(jīng)設(shè)定的功能相沖突.其中,X+、Y+、X-、Y-引腳直接與觸摸屏的相應(yīng)管腳相連。23觸摸屏的接口設(shè)計(jì)Ⅱ2編程實(shí)現(xiàn)利用連接好的電路設(shè)置PCONG寄存器如下:

rPCONG=Ox015f;其中,PENIRQ最好加上內(nèi)部上拉,設(shè)置為:

rPUPG&=Ox80。(1)讀取觸摸點(diǎn)坐標(biāo)程序:

編程采用固定參考電壓模式,因此SER/DFR=1。首先檢測(cè)PENIRQ是否為低電平,如果為低電平,則認(rèn)為有接觸;否則認(rèn)為觸摸屏沒有接觸。利用軟件模擬DIN,DOUT和DCLK上的3線串行傳輸時(shí)序,將讀取的x或Y坐標(biāo)數(shù)值的控制字串行送入ADS7843,然后再串行讀出坐標(biāo)值。最后將X和Y軸坐標(biāo)值送串口顯示即可。(2)送控制字并讀取結(jié)果子程序。24

串行通信概述

串行數(shù)據(jù)傳送模式:?jiǎn)喂ぐ腚p工全雙工串行通信方式:同步通信異步通信25RS-232C串行接口Ⅰ

1.RS-232C接口規(guī)格26RS-232C串行接口Ⅱ2.RS-232C接口信號(hào)。

實(shí)際應(yīng)用中,并不是每只管腳信號(hào)都用到27

S3C44BOX內(nèi)部集成的UART

S3C44B0XUART單元提供了兩個(gè)異步串口(SIO),每個(gè)SIO可以操作在中斷模式或DMA模式,支持波特率最大為115.2kbps,每個(gè)SIO通道包含都有一個(gè)16字節(jié)的接收與發(fā)送FIFO緩沖區(qū)。每個(gè)UART模塊包含以下幾個(gè)部件:波特率發(fā)生器,發(fā)送器,接收器和控制單元。

28UART操作數(shù)據(jù)發(fā)送數(shù)據(jù)接收

動(dòng)流控制(AFC)

非自動(dòng)流控制(通過軟件控制nRTS和nCTS)

調(diào)制解調(diào)器接口29中斷/DMA請(qǐng)求產(chǎn)生器

S3C44BOX的每個(gè)UART都有7個(gè)狀態(tài)信號(hào):接收FIFO/緩沖區(qū)數(shù)據(jù)準(zhǔn)備好、發(fā)送FIFO/緩沖區(qū)空、發(fā)送移位寄存器空、溢出錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、幀錯(cuò)誤和中止,所有這些狀態(tài)都由對(duì)應(yīng)的UART狀態(tài)寄存器(UTRSTATn/UERSTATn)中的相應(yīng)位來表現(xiàn)。當(dāng)接收器要將接收移位寄存器的數(shù)據(jù)送到接收FIFO,它會(huì)激活接收FIFO滿狀態(tài)信號(hào),如果控制寄存器中的接收模式選為中斷模式,就會(huì)引發(fā)接收中斷。當(dāng)發(fā)送器從發(fā)送FIFO中取出數(shù)據(jù)送到發(fā)送移位寄存器,那么FIFO空狀態(tài)信號(hào)將會(huì)被激活。如果控制寄存器中的發(fā)送模式選為中斷模式,就會(huì)引發(fā)發(fā)送中斷。

30與FIFO有關(guān)的中斷

類型FIFO類型非FIFO模式Rx中斷每當(dāng)接收數(shù)據(jù)達(dá)到接收FIFO觸發(fā)的水平,就產(chǎn)生接收中斷;如果FIFO非空且連續(xù)3個(gè)字時(shí)間沒有接收到任何數(shù)據(jù),就產(chǎn)生超時(shí)中斷;每當(dāng)接收數(shù)據(jù)滿,接收移位寄存器將產(chǎn)生一個(gè)中斷;Tx中斷每當(dāng)發(fā)送數(shù)據(jù)達(dá)到發(fā)送FIFO觸發(fā)的水平,就產(chǎn)生發(fā)送中斷;每當(dāng)發(fā)送數(shù)據(jù)空,發(fā)送保持寄存器將產(chǎn)生一個(gè)中斷;錯(cuò)誤中斷幀錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤和被檢測(cè)到并按字節(jié)接收的中止信號(hào),都將產(chǎn)生錯(cuò)誤中斷;當(dāng)達(dá)到接收FIFO的頂部,就會(huì)產(chǎn)生溢出錯(cuò)誤中斷;所有錯(cuò)誤都會(huì)立即產(chǎn)生一個(gè)錯(cuò)誤中斷。但兩個(gè)錯(cuò)誤同時(shí)發(fā)生,只有一個(gè)中斷會(huì)產(chǎn)生;31波特率發(fā)生器

波特率發(fā)生器以MCLK作為時(shí)鐘源

每個(gè)UART的波特率發(fā)生器為傳輸提供了串行移位時(shí)鐘。波特率時(shí)鐘由通過時(shí)鐘源的16分頻及一個(gè)由UART波特率除數(shù)寄存器(UBRDIVn)指定的16位除數(shù)決定。

UBRDIVn=(取整)(MCLK/(波特率×16))-1

32回送模式與紅外通信模式回送模式:S3C44BOX的UART提供的一個(gè)測(cè)試模式。在這種模式下,發(fā)送出的數(shù)據(jù)會(huì)立即被接收。這一特性用于校驗(yàn)運(yùn)行處理器內(nèi)部發(fā)送和接收通道的功能,這種模式可以通過設(shè)置UART控制寄存器(UCONn)中的回送位來實(shí)現(xiàn)。紅外通信模式:S3C44BOX的UART模塊支持紅外線(IR)發(fā)送和接收??梢酝ㄟ^設(shè)置UART控制寄存器(UCONn)中的紅外模式位來選擇這一模式。33UART的寄存器Ⅰ1.UART線控制寄存器

ULCONn位描述初始值保留[7]

0紅外線模式[6]該位確定是否使用紅外通信模式0:正常模式1:紅外收發(fā)模式0奇偶校驗(yàn)?zāi)J絒5:3]

該位確定奇偶如何產(chǎn)生和校驗(yàn)0xx:無校驗(yàn)位100:奇校驗(yàn)101:偶校驗(yàn)110:校驗(yàn)位強(qiáng)制/檢測(cè)置1111:校驗(yàn)位強(qiáng)制/檢測(cè)置0000停止位的數(shù)量[2]該位確定停止位的個(gè)數(shù),0:1位停止位1:2位停止位0數(shù)據(jù)位長(zhǎng)度[1:0]該位確定數(shù)據(jù)位的個(gè)數(shù)00:5位01:6位10:7位11:8位0034UART的寄存器Ⅱ2.UART控制寄存器UCONn位描述初始值發(fā)送中斷類型[9]發(fā)送中斷請(qǐng)求類型0:脈沖(在發(fā)送緩沖區(qū)變空時(shí)立即引發(fā)中斷)1:電平(在發(fā)送緩沖區(qū)為空時(shí)引發(fā)中斷)0接收中斷類型[8]接收中斷請(qǐng)求類型0:脈沖(接收緩沖區(qū)接收到數(shù)據(jù)時(shí)立即引發(fā)中斷)1:電平(接收緩沖區(qū)正在接收數(shù)據(jù)時(shí)引發(fā)中斷)0接收超時(shí)中斷使能[7]在UART的FIFO使能的情況下,使能/禁止接收超時(shí)中斷0:禁止1:使能0接收錯(cuò)誤狀態(tài)中斷使能[6]使能UART在接收操作中發(fā)生錯(cuò)誤時(shí)的錯(cuò)誤中斷響應(yīng)0:不產(chǎn)生錯(cuò)誤狀態(tài)中斷1:產(chǎn)生錯(cuò)誤狀態(tài)中斷0回送模式[5]該位使UART自動(dòng)進(jìn)入回送模式0:正常操作1:回送模式0發(fā)送中止信號(hào)[4]該位將引發(fā)UART在一幀時(shí)間內(nèi)發(fā)送中止信號(hào),該信號(hào)發(fā)送完后,該位自動(dòng)被清除0:正常操作1:發(fā)送中止信號(hào)

0發(fā)送模式[3:2]這2位決定當(dāng)前哪個(gè)功能項(xiàng)能夠向UART發(fā)送保持寄存器寫入發(fā)送數(shù)據(jù)00:禁止01:中斷請(qǐng)求或輪流檢測(cè)模式10:BDMAO請(qǐng)求(僅對(duì)UARTO)11:BDMAI請(qǐng)求(僅對(duì)UART1)00接收模式[1:0]這2位決定當(dāng)前哪個(gè)功能項(xiàng)能夠從UART接收保持寄存器中讀出接收數(shù)據(jù)00:禁止01:中斷請(qǐng)求或輪流檢測(cè)模式IO:BDMAO請(qǐng)求(僅對(duì)UARTO)11:BDMAl請(qǐng)求(僅對(duì)UART1)0035UART的寄存器Ⅲ3.FIFO控制寄存器

UFCONn位描述初始值發(fā)送FIFO的觸發(fā)電平[7:6]這兩位確定發(fā)送FIFO的觸發(fā)條件00:空01:4字節(jié)10:8字節(jié)11:12字節(jié)00接收FIFO的觸發(fā)電平[5:4]這兩位確定接收FIFO的觸發(fā)條件00:4字節(jié)01:8字節(jié)10:12字節(jié)11:16字節(jié)00保留3

0發(fā)送FIFO復(fù)位2該位在FIFO復(fù)位后自動(dòng)清除0:正常1:發(fā)送FIFO復(fù)位0接收FIFO復(fù)位1該位在FIFO復(fù)位后自動(dòng)清除0:正常1:接收FIFO復(fù)位0FIFO使能00:禁止FIFO1:FIFO使能036UART的寄存器Ⅳ4.Modem控制寄存器UMCONn位描述初始值保留[7:5]這3位必須為0000自動(dòng)流控制4AFC是否允許0:禁止1:使能0保留[3:1]這3位必須為0000請(qǐng)求發(fā)送0如果AFC允許,該位忽略;如果AFC禁止,必須由軟件來控制nRTS。0:高電平(不激活nRTS)1:低電平(激活nRTS)037UART的寄存器Ⅴ5.發(fā)送/接收狀態(tài)寄存器

UTRSTATn位描述初始狀態(tài)發(fā)送移位寄存器為空[2]當(dāng)發(fā)送移位寄存器中不包含有效數(shù)據(jù)或移位寄存器為空,該位自動(dòng)被置位。0:非空1:發(fā)送保持和移位寄存器為空1發(fā)送緩沖器為空[1]當(dāng)發(fā)送緩沖區(qū)寄存器中不包含有效數(shù)據(jù),這一位將自動(dòng)被置位0:緩沖區(qū)寄存器非空1:空如果使用了FIFO,則用戶不用檢測(cè)這個(gè)位,而應(yīng)當(dāng)檢測(cè)UFSTAT中發(fā)送FIFO計(jì)數(shù)器位和FIFO滿位1接收緩沖器數(shù)據(jù)準(zhǔn)備好[0]當(dāng)接收緩沖器寄存器中包含了有效數(shù)據(jù),這一位將自動(dòng)被置位0:完全為空1:緩沖區(qū)寄存器中包含有效數(shù)據(jù)如果使用了FIFO則用戶不用檢測(cè)這個(gè)位,而應(yīng)當(dāng)檢測(cè)UFSTAT中接收FIFO計(jì)數(shù)器位038UART的寄存器Ⅵ6.UART錯(cuò)誤狀態(tài)寄存器

UERSTATn位描述初始值間隔中斷[3]如果接收到某個(gè)中止信號(hào),該位將自動(dòng)置10:未接收到中止信號(hào)1:接收到中止信號(hào)0數(shù)據(jù)幀錯(cuò)誤[2]如果在接收操作中發(fā)生了幀錯(cuò)誤,該位將自動(dòng)置10:接收中沒有發(fā)生幀錯(cuò)誤1:幀錯(cuò)誤0奇偶錯(cuò)誤[1]如果在接收操作中發(fā)生了奇偶校驗(yàn)錯(cuò)誤,該位將自動(dòng)置11:奇偶校驗(yàn)錯(cuò)誤0:接收中沒有發(fā)生奇偶校驗(yàn)錯(cuò)誤0Overrun錯(cuò)誤[0]如果在接收操作中發(fā)生了溢出錯(cuò)誤,該位將自動(dòng)置10:接收中沒有發(fā)生溢出錯(cuò)誤1:溢出錯(cuò)誤039UART的寄存器Ⅶ7.UART的FIFO狀態(tài)寄存器UFSTATn位描述初始值保留[15:10]

000000發(fā)送FIFO滿9當(dāng)發(fā)送FIFO滿時(shí)該位為10:0字節(jié)≤發(fā)送FIFO的數(shù)據(jù)個(gè)數(shù)≤15字節(jié)1:滿

0接收FIFO滿8當(dāng)FIFO將要滿時(shí),該位為10:0字節(jié)≤接收FIFO數(shù)據(jù)個(gè)數(shù)≤15字節(jié)1:滿0發(fā)送FIFO計(jì)數(shù)器[7:4]發(fā)送FIFO里的數(shù)據(jù)數(shù)量0000接收FIFO計(jì)數(shù)器[3:0]接收FIFO里的數(shù)據(jù)數(shù)量000040UART的寄存器Ⅷ8.Modem狀態(tài)寄存器:

Modem狀態(tài)寄存器0(UMSTAT0)、寄存器1(UMSTAT1)的地址分別為0x01D0001C、0x01D0401C,可讀,初始值為0x06。9.UART發(fā)送/接收保持(緩沖區(qū))寄存器:

發(fā)送/接收保持寄存器0(UTXH0)、寄存器1(UTXH1)的地址在小模式下分別為0x01D00020、0x01D04020,在大模式下分別為0x01D00023、0x01D04023,可寫,初始值可編程。10.UART波特率除數(shù)寄存器

UART波特率除數(shù)寄存器0(UBRDIV0)、寄存器1(UBRDIV1)的地址分別為0x01D00028、0x01D04028,可讀寫,初始值可編程。41S3C44BOX的UART的應(yīng)用Ⅰ1.電路接口和I/O口設(shè)置S3C44BOX的串行應(yīng)用接口電路中的PC12,PC13,PE1,PE2是多功能I/O口,因此,在編寫串口數(shù)據(jù)收發(fā)程序之前,首先需要對(duì)PC口和PE口的工作模式進(jìn)行設(shè)置。

Rpconc=Ox0f000000|rPCONC;rPUPC=0x3000;//設(shè)置內(nèi)部上拉rPCONE=(rPCONE&Oxfc3)|Oxeb;rPUPE=0x6;42S3C44BOX的UART的應(yīng)用Ⅱ2.UART初始化

對(duì)UART口的可配置參數(shù)進(jìn)行初始化,使其能夠按照所要求的通訊方式進(jìn)行通訊。對(duì)UART口進(jìn)行初始化的設(shè)置程序見課本P186。3.字符發(fā)送程序Uart_SendByte()見課本P187。4.字符接收程序Uart_GetByte()見課本P187。43

USB接口概述

USB(通用串行總線)接口正在被用于多種嵌入式系統(tǒng)設(shè)備的數(shù)據(jù)通信中,如移動(dòng)硬盤、數(shù)碼相機(jī)、PDA、高速數(shù)據(jù)采集設(shè)備等。它是由Compaq、HP、Intel、Lucent、Microsoft、NEC和Philips七家公司聯(lián)合推出的新一代標(biāo)準(zhǔn)接口總線。是一種連接外圍設(shè)備的機(jī)外總線。其主要性能特點(diǎn)如下:

提供機(jī)箱外的熱即插即用功能;每個(gè)USB系統(tǒng)中有個(gè)主機(jī),采用“級(jí)聯(lián)”方式USB總線可連接多個(gè)外部設(shè)備;適用于帶寬范圍在幾千位/秒(Kb/s)一幾百兆位l秒(Mb/s)的設(shè)備;低成本的電纜和連接器;具有錯(cuò)誤檢測(cè)和處理機(jī)制;較低的協(xié)議開銷帶來了高的總線性能;支持主機(jī)與設(shè)備之間的多數(shù)據(jù)流和多消息流傳輸。44USB系統(tǒng)組成一個(gè)USB系統(tǒng)由三部分來描述:USB主機(jī):在任一USB系統(tǒng)中只有一個(gè)主機(jī),到主計(jì)算機(jī)系統(tǒng)的USB接口被稱作主控制器。

USB設(shè)備:分為Hub(集線器)和Function(功能)兩大類。Hub提供到USB的附加連接點(diǎn),功能為主機(jī)系統(tǒng)提供附加的性能。USB互連:USB互連指的是USB設(shè)備與主機(jī)的連接和通信方式,它包括總線拓?fù)浣Y(jié)構(gòu)、內(nèi)層關(guān)系、數(shù)據(jù)流模型和USB調(diào)度表。

USB總線用來連接各USB設(shè)備和USB主機(jī)。45USB的物理接口USB總線的電纜有4根導(dǎo)線:一對(duì)標(biāo)準(zhǔn)尺寸的雙絞信號(hào)線和一對(duì)標(biāo)準(zhǔn)尺寸的電源線。USB總線支持的數(shù)據(jù)傳輸率有三種:高速信令位傳輸率為480Mbs;全速信令位傳輸率為12Mbs;低速信令位傳輸率為1.5Mb/s。USB2.0支持在主控制器與Hub之間用高速傳輸全速和低速數(shù)據(jù),而Hub與設(shè)備之間以全速或低速傳輸數(shù)據(jù),這種支持能力可以將全速設(shè)備和低速設(shè)備對(duì)高速設(shè)備可用帶寬的影響減到最小。46USB的電源

USB的電源規(guī)范包括兩個(gè)方面:電源分配用來處理USB設(shè)備如何使用主機(jī)通過USB總線提供的電源。電源管理用來處理USB系統(tǒng)軟件和設(shè)備如何適應(yīng)主機(jī)上的電源管理系統(tǒng)。47USB的總線協(xié)議

USB是一種查詢(Polling)總線,由主控制器啟動(dòng)所有的數(shù)據(jù)傳輸。USB上所掛連的外設(shè)通過由主機(jī)調(diào)度的(Host-Scheduled)、基于令牌的(Token-Based)協(xié)議來共享USB帶寬。大部分總線事務(wù)涉及3個(gè)包的傳輸:令牌包

(TokenPacket)

數(shù)據(jù)包(DataPacket)

握手包(HandshakePacket)主控制器和Hub之間的某些總線事務(wù)涉及4個(gè)包的傳輸,這些類型的事務(wù)用來管理主機(jī)與全/低速設(shè)備之間的數(shù)據(jù)傳輸。主機(jī)與設(shè)備端點(diǎn)之間的USB數(shù)據(jù)傳輸模型被稱作管道,管道有兩種類型:流和消息。48USB接口工作原理

USB設(shè)備最大的特點(diǎn)就是即插即用,之所以能夠這樣,是因?yàn)閁SB協(xié)議規(guī)定在主機(jī)啟動(dòng)或USB設(shè)備插入系統(tǒng)時(shí)都要對(duì)設(shè)備進(jìn)行配置。就是按照USB協(xié)議,在USB主機(jī)與USB設(shè)備之間進(jìn)行的一系列“問答”過程。從而主機(jī)知道了設(shè)備的情況以及該如何與設(shè)備通訊,并為設(shè)備設(shè)置一個(gè)唯一的地址。在配置階段主機(jī)也了解了設(shè)備端點(diǎn)的使用情況,便可以通過這些端點(diǎn)來進(jìn)行特定傳輸方式的通訊。對(duì)于標(biāo)準(zhǔn)USB設(shè)備,操作系統(tǒng)帶有它的驅(qū)動(dòng),而不需要編寫專門的主機(jī)驅(qū)動(dòng)程序。但這樣就必須為它選擇一種標(biāo)準(zhǔn)命令集;但對(duì)于非標(biāo)準(zhǔn)設(shè)備,則可以自定義一套請(qǐng)求指令集,,并需要編寫專門的主機(jī)驅(qū)動(dòng)程序來實(shí)現(xiàn)對(duì)USB設(shè)備的操作。49USB設(shè)備應(yīng)用Ⅰ對(duì)USB設(shè)備的開發(fā)需要考慮的因素:選擇USB接口控制器芯片。編寫USB設(shè)備要執(zhí)行的USB通信代碼(也稱為固件程序)。USB設(shè)備需要執(zhí)行的其他功能,例如處理接收數(shù)據(jù)和即將發(fā)送數(shù)據(jù)所需要的硬件和程序代碼。一臺(tái)支持USB接口的主機(jī)。主機(jī)上裝有與USB設(shè)備通信的驅(qū)動(dòng)軟件。如果USB設(shè)備不是操作系統(tǒng)支持的標(biāo)準(zhǔn)設(shè)備,則主機(jī)上必須具有專用的應(yīng)用軟件來訪問USB設(shè)備。50USB設(shè)備應(yīng)用ⅡUSB設(shè)備開發(fā)的一般步驟:①根據(jù)所要開發(fā)的設(shè)備的功能需要,確定設(shè)備在USB總線上的位置、傳輸數(shù)據(jù)的速度以及傳輸數(shù)據(jù)的量等,從而確定選擇哪一類的USB控制器芯片,并進(jìn)一步具體決定采用芯片的廠家和型號(hào),然后根據(jù)該器件和其他所需芯片進(jìn)行電路設(shè)計(jì)。②編寫固件程序,其作用是讓主機(jī)能夠識(shí)別該設(shè)備,并響應(yīng)主機(jī)的各種請(qǐng)求。③根據(jù)所用設(shè)備是否為標(biāo)準(zhǔn)USB設(shè)備,來決定是另外編寫驅(qū)動(dòng),還是使用操作系統(tǒng)自帶的驅(qū)動(dòng)程序來訪問USB設(shè)備。④把編寫好的固件程序載入U(xiǎn)SB設(shè)備,并將USB設(shè)備插入主機(jī)總線打開應(yīng)用程序可以對(duì)該設(shè)備進(jìn)行指定的操作。⑤按需要調(diào)試和重復(fù)以上步驟。51以太網(wǎng)接口概述以太網(wǎng)以其高度靈活、相對(duì)簡(jiǎn)單、易于實(shí)現(xiàn)的特點(diǎn),成為當(dāng)今最重要的一種局域網(wǎng)建網(wǎng)技術(shù)。通常所說的以太網(wǎng)主要是指以下3種不同的局域網(wǎng)技術(shù):以太網(wǎng)/IEEE802.3采用同軸電纜作為網(wǎng)絡(luò)介質(zhì),傳輸速率達(dá)到10Mbps。100Mbps以太網(wǎng)又稱為快速以太網(wǎng),采用雙紋線作為網(wǎng)絡(luò)介質(zhì),傳輸速率達(dá)到100Mbps。1000Mbps以太網(wǎng)又稱為千兆以太網(wǎng),采用光纜或雙紋線作為網(wǎng)絡(luò)介質(zhì),傳輸速率達(dá)到1000Mbps(1Gbps)。

52以太網(wǎng)工作原理

以太網(wǎng)最早是由Xeros公司開發(fā)的一種基帶局域網(wǎng)技術(shù);使用同軸電纜作為網(wǎng)絡(luò)介質(zhì);以太網(wǎng)采用廣播機(jī)制;采用載波多路訪問和碰撞檢測(cè)(CSMA/CD)機(jī)制;數(shù)據(jù)傳輸速率達(dá)到10Mbps;以太網(wǎng)/IEEE802.3通常使用專門的網(wǎng)絡(luò)接口卡或通過系統(tǒng)主電路板上的電路實(shí)現(xiàn)。53以太網(wǎng)的傳輸編碼

曼徹斯特編碼差分曼徹斯特編碼

54以太網(wǎng)幀格式

字段同步位分隔位目的地址源地址類型/長(zhǎng)度數(shù)據(jù)段填充位FCS長(zhǎng)度56848481646~1500X32在以太網(wǎng)幀中,同步位、分隔位、填充位和校驗(yàn)位這幾個(gè)字段都是由以太網(wǎng)控制器自動(dòng)產(chǎn)生的;人們所關(guān)心的只是目的地址、源地址、類型和數(shù)據(jù)這4個(gè)字段的內(nèi)容;所有數(shù)據(jù)位的傳輸由低位開始(傳輸?shù)奈涣魇褂寐鼜厮固鼐幋a);以太網(wǎng)的沖突退避算法是由硬件自動(dòng)執(zhí)行的;

55以太網(wǎng)控制器RTL8019

RTL8019是高度集成的以太網(wǎng)控制器,為即插即用式NE2000兼容網(wǎng)絡(luò)適配器提供了簡(jiǎn)易的解決方案。RTL8019共有32個(gè)輸入輸出地址,對(duì)應(yīng)地址偏移量為00h—lFh。RTL8019的內(nèi)部寄存器是分頁(yè)的,每個(gè)寄存器都是8位。56RTL8019的復(fù)位RTL8019的復(fù)位引腳RSTDRV是高電平有效的復(fù)位信號(hào),高電平時(shí)間長(zhǎng)度需大于800ns,通常在RSTDRV從高電平回到低電平之后的100ms時(shí),再對(duì)RTL8019進(jìn)行讀寫操作,以確保完全復(fù)位。當(dāng)處理器復(fù)位時(shí),以太網(wǎng)控制器也復(fù)位。熱復(fù)位:為了保證能夠完全復(fù)位,可以使用熱復(fù)位方法。18h一1Fh的8個(gè)地址,為復(fù)位端口,對(duì)該端口的偶數(shù)地址讀或?qū)懭肴魏螖?shù),都會(huì)引起以太網(wǎng)控制器的復(fù)位,這種方式稱為熱復(fù)位。中斷狀態(tài)寄存器中的第7位RST跟復(fù)位有關(guān),它的地址為07h,位于第0頁(yè),可直接讀寫。在以太網(wǎng)控制器執(zhí)行了正確復(fù)位之后該位為1。一般在復(fù)位之后檢查該標(biāo)志位,以確認(rèn)是否復(fù)位成功。57RTL8019寄存器Ⅰ

1.命令寄存器CR:地址偏移量是00h,長(zhǎng)度為一個(gè)字節(jié)。

位符號(hào)描述7,6PS1,PS0選擇寄存器頁(yè)00:0頁(yè)01:1頁(yè)10:2頁(yè)11:3頁(yè)(為RTL8019AS配置)5—3RD2—0表示要執(zhí)行的功能000:不允許001:遠(yuǎn)程讀取以太網(wǎng)控制器內(nèi)存010:遠(yuǎn)程寫入以太網(wǎng)控制器內(nèi)存011:發(fā)送包1XX:中止/完成遠(yuǎn)程DMA2TXP要發(fā)送數(shù)據(jù)包時(shí),要將該位置1,該位可能在發(fā)送完成后或者發(fā)送中止時(shí)內(nèi)部清0,對(duì)該位寫0操作無效1STA寫STP組合使用0STP該位是停止命令。該位被置1,就停止接收或發(fā)送任何數(shù)據(jù)包,上電時(shí)該位為1。STA與STP組合使用,10:?jiǎn)?dòng)命令01:停止命令58RTL8019寄存器Ⅱ(1)2.與發(fā)送/接收相關(guān)的寄存器:①PSTART:接收緩沖區(qū)的起始頁(yè)地址(位于01h,在第0頁(yè)可寫,在第2頁(yè)可讀)。②PSTOP:接收緩沖區(qū)的結(jié)束頁(yè)地址(該頁(yè)不用于接收,位于02h,在第0頁(yè)可寫,在第2頁(yè)可讀)。③BNRY:邊界寄存器(作為讀指針使用,位于03h,在第0頁(yè)可讀寫)。這個(gè)寄存器用來避免對(duì)環(huán)形接收緩沖區(qū)中數(shù)據(jù)的錯(cuò)誤覆蓋,通常用作指針,指向接收緩沖區(qū)中已經(jīng)被讀取的最后一個(gè)頁(yè)。④CURR:當(dāng)前頁(yè)寄存器(作為寫指針使用,位于07h,在第1頁(yè)可讀寫)。這個(gè)寄存器的內(nèi)容指向接收緩沖區(qū)中第一個(gè)可用于接收新數(shù)據(jù)的頁(yè)面。⑤DCR:數(shù)據(jù)配置寄存器。將它設(shè)置為使用FIFO緩存,普通模式,8位數(shù)據(jù)傳輸模式。字節(jié)順序?yàn)楦呶蛔止?jié)在前,低位字節(jié)在后。59RTL8019寄存器Ⅱ(2)⑥TPSR:為發(fā)送頁(yè)的起始頁(yè)地址。初始化為指向第一個(gè)發(fā)送緩沖區(qū)的頁(yè)。⑦RCR:接收配置寄存器,設(shè)置為使用接收緩沖區(qū),僅接收與自己地址相匹配的數(shù)據(jù)包(以及廣播地址數(shù)據(jù)包)和多點(diǎn)播送地址包;小于64字節(jié)的包和校驗(yàn)錯(cuò)的數(shù)據(jù)包將被丟棄。⑧TCR:發(fā)送配置寄存器,啟用CRC(循環(huán)冗余校驗(yàn))自動(dòng)生成和校驗(yàn)功能,工作在正常模式。⑨RSAR0,1:對(duì)存儲(chǔ)器進(jìn)行操作的起始地址寄存器,RSAR0存放低8位,RSARl存放高8位。⑩RBCR0,1:對(duì)存儲(chǔ)器操作的字節(jié)計(jì)數(shù)寄存器,RBCR0存放低8位,RBCRl存放高8位。⑩TBCR0,1:發(fā)送字節(jié)計(jì)數(shù)器,這兩個(gè)寄存器設(shè)置了要發(fā)送數(shù)據(jù)包中的字節(jié)個(gè)數(shù)。TBCR0存放低8位,TBCRl存放高8位。60RTL8019寄存器Ⅲ3.其他寄存器:①IMR:中斷屏蔽寄存器,設(shè)置成0x00時(shí),屏蔽所有的中斷,設(shè)置成0xFF將允許中斷。②MAR0一MAR8:多點(diǎn)播送地址,可以全寫0xFF。③PAGE2的寄存器是只讀的,不用設(shè)置。PAGE3的寄存器不是NE2000兼容的,所以也不用設(shè)置。61

RAM空間結(jié)構(gòu)

以太網(wǎng)控制器含有16KB的RAM,地址為0x4000—0x7FFF,每256個(gè)字節(jié)稱為一頁(yè),共有64頁(yè)。

使用0x40—0x45作為以太網(wǎng)控制器的發(fā)送緩沖區(qū),共6頁(yè)。使用0x46~0x5F作為以太網(wǎng)控制器的接收緩沖區(qū),共32頁(yè)。CURR和BNRY寄存器是以太網(wǎng)數(shù)據(jù)收發(fā)中用到的兩個(gè)最主要的寄存器,CURR和BNRY主要用來控制緩沖區(qū)的存取過程,保證能順次寫入和讀出。

CURR是以太網(wǎng)控制器寫接收緩沖區(qū)的指針。BNRY指向接收緩沖區(qū)中已經(jīng)被讀取的最后一個(gè)頁(yè)。62網(wǎng)卡的物理地址

在完成對(duì)寄存器的初始化后,還要對(duì)以太網(wǎng)控制器的物理地址(即48位的以太網(wǎng)控制器地址)進(jìn)行設(shè)置。RAM地址中的0x0000~0x000B的12字節(jié)是網(wǎng)卡的物理地址。網(wǎng)卡的物理地址本應(yīng)該是6個(gè)字節(jié)的,這12字節(jié)是單雙地址重復(fù)存儲(chǔ)的。0x000B后面的地址存儲(chǔ)的是生產(chǎn)廠商的代碼和產(chǎn)品標(biāo)識(shí)代碼,也是單雙地址重復(fù)存儲(chǔ)的。

63以太網(wǎng)模塊的接口設(shè)計(jì)Ⅰ配置RTL8019:為了系統(tǒng)的精簡(jiǎn),配置RTL8019為非即插即用模式。有著固定的中斷,有著固定的端口地址。以太網(wǎng)模塊與處理器的接口電路:64以太網(wǎng)模塊的接口設(shè)計(jì)Ⅱ1.寄存器地址映射:采用nGCS5作為以太網(wǎng)模塊的地址使能位,將以太網(wǎng)卡映射在了系統(tǒng)的Bank5上,地址從0xa000000開始,由此,要在程序中定義RTL8019的寄存器地址。2.書寫RTL8019中的頁(yè)面切換函數(shù),熱復(fù)位函數(shù)(硬件復(fù)位之后的一次熱復(fù)位)和初始化函數(shù)(設(shè)置接收緩沖區(qū)的位置和以太網(wǎng)物理地址,初始化寄存器,設(shè)置中斷的模式)。通過RTL8019傳輸數(shù)據(jù):數(shù)據(jù)的發(fā)送校驗(yàn),總線數(shù)據(jù)包的碰撞檢測(cè)與避免都由芯片自己完成的,我們只需要配置發(fā)送數(shù)據(jù)的物理層地址的源地址、目的地址、數(shù)據(jù)包類型以及發(fā)送的數(shù)據(jù)就可以進(jìn)行數(shù)據(jù)發(fā)送了。65IIC接口概述IIC是一種雙向兩線制的串行總線,由于它支持任何一種IC制造工藝,且能夠提升硬件的效率和簡(jiǎn)化電路的設(shè)計(jì),因此眾多廠商都提供了IIC兼容芯片。S3C44BOX內(nèi)部也具有IIC總線接口模塊,支持一個(gè)多主IIC-BUS串形接口,主S3C44B0X能發(fā)送或接收串形數(shù)據(jù)到從設(shè)備,并遵守標(biāo)準(zhǔn)的IIC協(xié)議。IIC總線操作模式為:主發(fā)送模式、主接收模式、從發(fā)送模式、從接收模式。

66

IIC總線通用傳輸格式

1.起始條件和停止條件:起始條件發(fā)生在SCL信號(hào)為高時(shí),SDA產(chǎn)生一個(gè)由高變低的電平變化處。停止條件發(fā)生在SCL信號(hào)為高時(shí),SDA產(chǎn)生一個(gè)由低變高的電平變化處。

2.數(shù)據(jù)傳輸格式:每個(gè)字節(jié)長(zhǎng)度都是8位,每次傳輸中字節(jié)的數(shù)量沒有限制。在起始條件后面的第一個(gè)字節(jié)是地址域,之后,每個(gè)傳輸?shù)淖止?jié)后面都有一個(gè)應(yīng)答(ACK)位。傳輸中串行數(shù)據(jù)的MSB(字節(jié)的高位)首先發(fā)送。應(yīng)答信號(hào):ACK脈沖信號(hào)在SCL線上第9個(gè)時(shí)鐘處發(fā)出。67S3C44B0X的IIC總線

S3C44B0X處理器多主模式的IIC總線串行接口。S3C44B0X采用專門的串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)與總線上的其他外設(shè)傳輸信息。IIC總線操作讀寫操作配置IIC總線IIC總線接口專用寄存器68

CAN總線概述CAN全稱為ControllerAreaNetwork,即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。CAN的主要特點(diǎn)包括:低成本;極高的總線利用率;很遠(yuǎn)的數(shù)據(jù)傳輸距離(長(zhǎng)達(dá)10公里);高速的數(shù)據(jù)傳輸速率(高達(dá)1Mbit/s);可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文;可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制;發(fā)送的信息遭到破壞后可自動(dòng)重發(fā);節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能;報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功能信息優(yōu)先級(jí);

69CAN總線與同步串行接口SIOS3C44B0X的SIO能與各種類型的串行外設(shè)接口,這個(gè)SIO模塊能以一定的頻率(由寄存器設(shè)定)發(fā)送或接收8位串行數(shù)據(jù)。時(shí)鐘源可以選擇內(nèi)部時(shí)鐘或外部時(shí)鐘。SIO模塊功能:8位數(shù)據(jù)緩沖(SIODAT);12位的預(yù)定標(biāo)器(SBRDR);8位間隔計(jì)數(shù)器(ITVCNT);時(shí)鐘源選擇邏輯;串行數(shù)據(jù)I/O腳(SIORXD和SIOTXD);外部時(shí)鐘輸入輸出腳(SIOCK);DMA運(yùn)行模式。70SIO正常操作模式操作模式:發(fā)送與接收同時(shí)進(jìn)行,一個(gè)發(fā)送數(shù)據(jù)腳,一個(gè)接收數(shù)據(jù)腳,當(dāng)一個(gè)字節(jié)寫入SIODAT數(shù)據(jù)寄存器,如果SIO運(yùn)行位設(shè)置和發(fā)送模式允許,則SIO開始發(fā)送數(shù)據(jù)。對(duì)SIO模塊編程的步驟:①配置I/O腳(SIOTXD,SIOCLK,SIORXD);②設(shè)置SIOCON為適當(dāng)?shù)呐渲?;③設(shè)置串行I/O中斷允許位;④如果想發(fā)送數(shù)據(jù),寫數(shù)據(jù)到SIODAT;⑤設(shè)置SIOCON[3]為1,開始數(shù)據(jù)移位操作;⑥當(dāng)數(shù)據(jù)移位操作完成時(shí),SIO中斷被請(qǐng)求和SIODAT接收到數(shù)據(jù);⑦返回第4步。71

SIODMA操作Ⅰ

在自動(dòng)運(yùn)行模式(非握手模式)下,SIO等待直到發(fā)送的數(shù)據(jù)被外部目標(biāo)設(shè)備讀走,在每次8位數(shù)據(jù)發(fā)送后,SIO插入一個(gè)可編程的間隔周期。1.DMA發(fā)送數(shù)據(jù)步驟:①清DCNTZ為0,使SIO能請(qǐng)求DMA服務(wù)。除了SIOCON[1:0]必須為00外,適當(dāng)?shù)呐渲肧IO;②適當(dāng)?shù)呐渲肈MA;③SIO被配置為DMA發(fā)送模式;④SIO自動(dòng)請(qǐng)求DMA服務(wù);⑤SIO發(fā)送數(shù)據(jù);⑥返回步驟4直到DMA計(jì)數(shù)為0;⑦設(shè)置DCNTZ為1,停止SIO請(qǐng)求進(jìn)一步的DMA服務(wù)。72SIODMA操作Ⅱ2.DMA接收數(shù)據(jù)步驟:①清DCNTZ為0,使SIO能請(qǐng)求DMA服務(wù).除了SIOCON[1:0]必須為00外,適當(dāng)?shù)呐渲肧IO;②適當(dāng)?shù)呐渲肈MA;③SIO被配置為DMA只接模式;④設(shè)置SIOCON[3](SIO開始位)來開始接收操作;⑤SIO在接收到8位數(shù)據(jù)后請(qǐng)求DMA服務(wù);⑥返回步驟5直到DMA計(jì)數(shù)為0;⑦設(shè)置DCNTZ為1,停止SIO請(qǐng)求進(jìn)一步的DMA服務(wù)。

73SIO接口寄存器1)SIO控制寄存器(SIOCON):其地址為0x01D14000,可讀寫,初始值為0x00。2)SIO數(shù)據(jù)寄存器(SIODAT):是一個(gè)8位的SIO數(shù)據(jù)寄存器,它用于存放要發(fā)送數(shù)據(jù)或已接收的數(shù)據(jù),地址為0x01D14004,可讀寫,

初始值為0x00。3)SIO波特率預(yù)定標(biāo)器寄存器(SBRDR):用來確定SIO的波特率。是12位寄存器,地址為0x01D14008,可讀寫,初始值為0x00。

SIO的

波特率=MCLK/2/(SBRDR寄存器的值+1)4)SIO間隔計(jì)數(shù)寄存器(IVTCNT):IVTCNT是一個(gè)8位計(jì)數(shù)器,地址為0x01D1400C,可讀寫,初始值為0x00。在自動(dòng)運(yùn)行模式下,每傳送8位數(shù)據(jù)插入一個(gè)時(shí)間間隔:

時(shí)間間隔=

MCLK/4/(IVTCNT+1)

5)SIO間隔計(jì)數(shù)寄存器(IVTCNT):當(dāng)SIO工作在DMA模式時(shí),對(duì)應(yīng)的DCNTZ必須為0,當(dāng)DMA完成時(shí),對(duì)應(yīng)的DCNTZ設(shè)置為1。DCNTZ地址為0x01D14010,可讀寫,初始值為0x00。74中斷接口概述S3C44BOX具有30個(gè)中斷源,包括1個(gè)看門狗定時(shí)器,6個(gè)定時(shí)器,6個(gè)UART,8個(gè)外部,4個(gè)DMA,2個(gè)RTC,1個(gè)ADC,1個(gè)IIC和1個(gè)SIO共30個(gè)中斷。S3C44BOX內(nèi)置的中斷控制器可以接收來自30個(gè)中斷源的請(qǐng)求。S3C44B0X支持新的中斷處理模式稱為矢量中斷模式。中斷控制器的角色,就是響應(yīng)來自FIQ(快速中斷請(qǐng)求)或IRQ(普通中斷請(qǐng)求)的中斷,并請(qǐng)求內(nèi)核對(duì)中斷進(jìn)行處理。多個(gè)中斷請(qǐng)求發(fā)生時(shí),由硬件優(yōu)先級(jí)邏輯確定應(yīng)該有哪個(gè)中斷得到服務(wù),同時(shí)硬件邏輯使中斷向量表的跳轉(zhuǎn)指令加載到(0X18或0X1C)位置,在該位置執(zhí)行跳轉(zhuǎn)指令使程序跳到相應(yīng)的中斷服務(wù)線程,因此相對(duì)于傳統(tǒng)的ARM的軟件方法能夠大大減少中斷進(jìn)入延時(shí)。

75中斷控制器Ⅰ

1.中斷模式ARM7TDMI有2種類型的中斷模式:FIQ和IRQ。IRQ和FIQ之間的區(qū)別是:對(duì)于FIQ必須盡快處理事件并離開這個(gè)模式;IRQ可以被FIQ中斷,但I(xiàn)RQ不能中斷FIQ;為了使FIQ更快,FIQ模式具有更多的私有寄存器。2.PSR的F位和I位PSR指ARM7TDMI處理器的程序狀態(tài)寄存器。如果PSR的F位被設(shè)置為1,處理器將不接受來自中斷控制器的FIQ;如果PSR的I位被設(shè)置為1,處理器將不接受來自中斷控制器的IRQ。因此,為了使能相應(yīng)中斷機(jī)制,PSR的F位或I位必須被清0,同時(shí)中斷屏蔽寄存器INTMSK的相應(yīng)位也必須被清0。76中斷控制器Ⅱ3.中斷請(qǐng)求寄存器INTPNDINTPND的各位指示了某個(gè)中斷請(qǐng)求是否還未被處理。在INTPND中將要或已被置位的中斷位稱為pending位。INTPND是一個(gè)只讀寄存器,在中斷服務(wù)程序中要想清除pending位時(shí),需要采用在中斷服務(wù)寄存器I_ISPC或F_ISPC的相應(yīng)位寫入1的方式實(shí)現(xiàn)。INTPND寄存器中的26個(gè)位對(duì)應(yīng)著每一個(gè)中斷源。當(dāng)某個(gè)中斷產(chǎn)生時(shí),INTPND中的相應(yīng)位就會(huì)置1,說明該中斷還未被處理。在中斷服務(wù)程序中,當(dāng)處理結(jié)束后必須及時(shí)清除該pending位,從而使系統(tǒng)能夠及時(shí)再次響應(yīng)該類型的中斷。4.中斷屏蔽寄存器INTMSK如果該寄存器的某位被置1,則與該位對(duì)應(yīng)的中斷響應(yīng)被禁止。如果對(duì)應(yīng)位為0,則這個(gè)中斷發(fā)生時(shí)將會(huì)被正常響應(yīng)。如果某個(gè)中斷在INTMSK寄存器中的對(duì)應(yīng)位為1,但是又有這個(gè)中斷發(fā)生,則它的pending位還是會(huì)置位,只是不會(huì)自動(dòng)轉(zhuǎn)入中斷服務(wù)程序。如果全局屏蔽位被置1,那么,當(dāng)任一中斷發(fā)生時(shí),中斷pending位還是會(huì)置位,但是所有的中斷都不會(huì)得到服務(wù)。77中斷源Ⅰ在30個(gè)中斷源中有26個(gè)中斷源提供給中斷控制器,4個(gè)外部中斷(EINT4/5/6/7)請(qǐng)求是通過“或”的形式合成為1個(gè)中斷源送至中斷控制器,2個(gè)UART錯(cuò)誤中斷(UERRORO/1)也是如此。

下頁(yè)續(xù)78中斷源Ⅱ注意:EINT4,EINT5,EINT6和EINT7分享同一個(gè)中斷請(qǐng)求源,中斷服務(wù)程序ISR要通過讀取EXTINTPND3-0寄存器來區(qū)別這4個(gè)中斷源,并在處理結(jié)束時(shí)通過將EXTINTPND3-0中對(duì)應(yīng)位寫1來清除該位。

79中斷優(yōu)先級(jí)產(chǎn)生模塊

S3C44BOX中斷優(yōu)先級(jí)的決定有兩種方式:通過軟件查詢決定中斷優(yōu)先級(jí),該方式在跳到相應(yīng)服務(wù)程序之前需要一個(gè)較長(zhǎng)的延遲時(shí)間;通過硬件決定中斷優(yōu)先級(jí):矢量中斷模式。

如果中斷向量模式使用和一個(gè)中斷源被配置為ISQ中斷,中斷將被中斷優(yōu)先級(jí)產(chǎn)生模塊處理。中斷優(yōu)先級(jí)產(chǎn)生模塊處理包括五個(gè)單元:1個(gè)主單元,4個(gè)從單元,每個(gè)從單元管理6個(gè)中斷源,包括4個(gè)優(yōu)先級(jí)次序可編程的優(yōu)先級(jí)源(sGn)和2個(gè)固定優(yōu)先級(jí)源。一個(gè)主單元管理4個(gè)從單元mGn和2個(gè)中斷源mGKn,用來確定4個(gè)從單元和2個(gè)中斷源的優(yōu)先級(jí)mGKn。80中斷優(yōu)先級(jí)如果中斷源A被設(shè)置為FIQ中斷,而中斷源B設(shè)置為IRQ中斷,那么中斷源A比中斷源B具有更高的中斷優(yōu)先級(jí),因?yàn)樵谌魏吻闆r下,FIQ中斷都比IRQ中斷具有更高的優(yōu)先級(jí)。如果中斷源A和中斷源B在不同的主單元中,并且A所在的主單元的優(yōu)先級(jí)比B所在的主單元優(yōu)先級(jí)高,則中斷源A的優(yōu)先級(jí)肯定比中斷源B的優(yōu)先級(jí)高。如果中斷源A和B在同一個(gè)主單元中,且中斷源A的優(yōu)先級(jí)比B高,則A具有更高的優(yōu)先級(jí)。位于sGA,sGB,sGC和sGD的中斷優(yōu)先級(jí)總是高于位于sGKA和sGKB的中斷優(yōu)先級(jí)。在sGA,sGB,sGC和sGD之間的優(yōu)先級(jí)的高低是可編程的,或者通過Round一Robin(輪轉(zhuǎn))方式來決定。在sGKA和sGKB之間,sGKA總是擁有更高的優(yōu)先級(jí)。mGA,mGB,mGC和mGD組中的中斷優(yōu)先級(jí)總是高于mGKA和mGKB。因此,MGKA和mGKB在所有中斷源之中優(yōu)先級(jí)是最低的。81中斷矢量地址表Ⅰ分支指令機(jī)器代碼=0xea000000+((<destinationaddress>-<vectoraddress>-0x8)>>2)其中destinationaddress為中斷服務(wù)線程ISR的開始地址,vectoraddress為中斷源在中斷相量表中的地址,即分支指令所在地址,分支指令機(jī)器代碼有硬件自動(dòng)產(chǎn)生。82中斷矢量地址表Ⅱ每個(gè)中斷源對(duì)應(yīng)的矢量地址

中斷源矢量地址中斷源矢量地址EINT00x00000020INT_TIMER10x00000064EINT10x00000024INT_TIMER20x00000068EINT20x00000028INT_TIMER30x0000006cEINT30x0000002cINT_TIMER40x00000070EINT4/5/6/70x00000030INT_TIMER50x00000074TICK0x00000034INT_URXD00x00000080INT_ZDMA00x00000040INT_URXD10x00000084INT_ZDMA10x00000044INT_IIC0x00000088INT_BDMA00x00000048INT_SIO0x0000008cINT_BDMA10x0000004cINT_UTXD00x00000090INT_WDT0x00000050INT_UTXD10x00000094INT_UERR0/10x00000054NT_RTC0x000000a0INT_TIMER00x00000060INT_ADC0x000000c083控制中斷的寄存器Ⅰ1.中斷控制寄存器:在實(shí)際編程中,對(duì)中斷控制寄存器進(jìn)行讀取和設(shè)置來實(shí)現(xiàn)對(duì)中斷的響應(yīng)和控制。中斷控制寄存器INTCON的地址為0x01E00000,可讀寫,初始值為0x07。

INTCON位描述初始狀態(tài)保留300V2禁止/使能IRQ中斷的“矢量中斷模式”0:矢量中斷模式1:非矢量中斷模式1I1禁止/使能CPU響應(yīng)IRQ中斷請(qǐng)求0:IRQ中斷使能1:IRQ中斷禁止1F0禁止/使能CPU響應(yīng)FIQ中斷請(qǐng)求0:FIQ中斷使能1:FIQ中斷禁止184控制中斷的寄存器Ⅱ(1)2.中斷請(qǐng)求寄存器INTPND:INTPND寄存器的地址為0x01E00004,用來指示中斷請(qǐng)求狀態(tài)。下頁(yè)續(xù)85控制中斷的寄存器Ⅱ(2)86控制中斷的寄存器Ⅲ(1)3.中斷模式寄存器INTMOD:INTMOD中的26位分別對(duì)應(yīng)著每個(gè)中斷源,當(dāng)INTMOD中的某個(gè)位設(shè)置為1,則ARM7TDM1內(nèi)核將以FIQ(快速中斷)模式操作那個(gè)中斷;否則,將以IRQ(普通中斷)模式操作。中斷模式寄存器INTMOD的地址為0x01E00008,可讀寫。下頁(yè)續(xù)87控制中斷的寄存器Ⅲ(2)88控制中斷的寄存器Ⅳ(1)4.中斷屏蔽寄存器INTMSK:中斷屏蔽寄存器INTMSK的地址為0x01E0000C,可讀寫,用以確定哪個(gè)中斷源被屏蔽,屏蔽的中斷源將不被服務(wù)。

下頁(yè)續(xù)89控制中斷的寄存器Ⅳ(2)90控制中斷的寄存器Ⅴ5.IRQ矢量模式寄存器:主優(yōu)先級(jí)產(chǎn)生單元通過I_PMST寄存器決定4個(gè)輔單元和2個(gè)中斷源之間的優(yōu)先級(jí)。2個(gè)中斷源INT_RTC和INT_ADC在26個(gè)中斷源中優(yōu)先級(jí)是最低的。如果幾個(gè)中斷請(qǐng)求同時(shí)發(fā)生,在I_ISPR寄存器中將其中具有最高優(yōu)先級(jí)的中斷源對(duì)應(yīng)位置1。

91控制中斷的寄存器Ⅵ(1)6.IRQ/FIQ中斷服務(wù)寄存器(I_ISPC/F_ISPC):

對(duì)應(yīng)著IRQ的I_ISPR和I_ISPC寄存器,在FIQ中斷模式下,也與中斷服務(wù)相關(guān)的寄存器。寄存器地址R/W描述復(fù)位值F_ISPR0x01E00038R未經(jīng)中斷處理的FIQ中斷寄存器(只有1位置位)0x00000000F_ISPC0x01E0003CWFIQ中斷服務(wù)清除寄存器(一旦被置位,INTPND中的相應(yīng)位被清0)未定義92控制中斷的寄存器Ⅵ(2)I_ISPC/F_ISPC寄存器的位定義如下表所示:下頁(yè)續(xù)93控制中斷的寄存器Ⅵ(3)94控制中斷的寄存器Ⅶ7.外部中斷控制寄存器EXTINT:外部中斷控制寄存器EXTINT用來設(shè)置外部中斷的觸發(fā)模式。

EXTINT位描述EINT7[30:28]設(shè)置EINT7觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)EINT6[26:24]設(shè)置EINT6觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)EINT5[22:20]設(shè)置EINT5觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)EINT4[18:16]設(shè)置EINT4觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)EINT3[14:12]設(shè)置EINT3觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)EINT2[10:8]設(shè)置EINT2觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)EINT1[6:4]設(shè)置EINT1觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)EINT0[2:0]設(shè)置EINT0觸發(fā)模式000:低電平中斷001:高電平中斷01X:下降沿觸發(fā)10X:上升沿觸發(fā)11X邊沿觸發(fā)95控制中斷的寄存器Ⅷ8.外部中斷請(qǐng)求寄存器EXTINTPND:EINT4,EINT5,EINT6和EINT7分享同一個(gè)中斷請(qǐng)求源,因此,中斷服務(wù)程序要通過讀取EXTINTPND寄存器來區(qū)別這4個(gè)中斷源。它們的中斷處理程序(ISR)必須在處理結(jié)束時(shí),通過將EXTINTPND中對(duì)應(yīng)位寫1來清除該位。EXTINTPND位描述EXTINTPNDO0如果中斷發(fā)生在EINT4上,該位置1,同時(shí)INTPND21也置1EXTINTPND11如果中斷發(fā)生在EINT5上,該位置1,同時(shí)INTPND21也置1EXTINTPND22如果中斷發(fā)生在EINT6上,該位置1,同時(shí)INTPND21也置1EXTINTPND33如果中斷發(fā)生在EINT7上,該位置1,同時(shí)INTPND21也置196外部中斷的應(yīng)用Ⅰ1.I/O口設(shè)置首先對(duì)PG口的工作模式進(jìn)行設(shè)置,要讓PG4-7工作在外部中斷輸入狀態(tài)。因此,要將PG口設(shè)置在功能3模式下,采用語(yǔ)句:rPCONG=11111111xxxxxxxxB;如果希望采用內(nèi)部上拉,則語(yǔ)句為:

rPUPG=0000xxxxB。97外部中斷的應(yīng)用Ⅱ2.外部中斷觸發(fā)模式設(shè)置利用外部中斷控制寄存器來設(shè)置外部中斷的觸發(fā)模式.由于采用電平觸發(fā)容易引起重復(fù)觸發(fā),因此建議采用下降沿或上升沿觸發(fā),不同觸發(fā)方式的語(yǔ)句如下:①采用下降沿觸發(fā)時(shí):rEXTINT=01x01x01x01xxxxxxxxxxxxxB;②采用上升沿觸發(fā)時(shí):

rEXTINT=10x10x10x10xxxxxxxxxxxxxB;③采用邊沿觸發(fā)時(shí):rEXTINT=11x11x11x11xxxxxxxxxxxxxB;④采用低電平觸發(fā)時(shí):rEXTINT=000000000000xxxxxxxxxxxxB;98外部中斷的應(yīng)用Ⅲ3中斷寄存器設(shè)置將EINT4-7設(shè)置為IRQ中斷模式的語(yǔ)句為:rINTCON=0x5;//非矢量中斷模式,禁止FIQ中斷,使能IRQ中斷設(shè)置好了,采用以下語(yǔ)句開啟中斷:rINTMSK=~(BIT_GLOBAL|BIT_EINT4567)。4主程序編寫,代碼見課本P219.5中斷處理程序

voidirq_Eint4567lsr(void){which_int=rEXTINTPND;rEXTINTPND=Ox0f;//清除EXTINTPND寄存器rl_lSPC=BIT_EINT4567;//清除pending_bitDelay(1000);//延時(shí)消抖}99模/數(shù)轉(zhuǎn)換概述所謂模/數(shù)轉(zhuǎn)換器就是把電模擬量轉(zhuǎn)換成為數(shù)字量的電路.微機(jī)與控制系統(tǒng)的接口框圖100模/數(shù)轉(zhuǎn)換的方法和原理Ⅰ1.計(jì)數(shù)式A/D轉(zhuǎn)換法

其中,Vi是模擬輸入電壓,V0是D/A轉(zhuǎn)換器的輸出電壓,C是控制計(jì)數(shù)端,當(dāng)C=1時(shí),計(jì)數(shù)器開始計(jì)數(shù),C=0時(shí),則停止計(jì)數(shù)。D7~D0是數(shù)字量輸出,數(shù)字輸出量又同時(shí)驅(qū)動(dòng)一個(gè)D/A轉(zhuǎn)換器。

101模/數(shù)轉(zhuǎn)換的方法和原理Ⅱ2.雙積分式A/D轉(zhuǎn)換法

雙積分式A/D轉(zhuǎn)換的基本原理是對(duì)輸入模擬電壓和參考電壓進(jìn)行兩次積分,變換成與輸入電壓均值成正比的時(shí)間間隔,利用時(shí)鐘脈沖和計(jì)數(shù)器測(cè)出其時(shí)間間隔,因此,此類A/D轉(zhuǎn)換器具有很強(qiáng)的抗工頻干擾能力,轉(zhuǎn)換精度高,但速度較慢.(a)電路工作原理圖

(b)雙積分圖示102模/數(shù)轉(zhuǎn)換的方法和原理Ⅲ3.逐次逼近式A/D轉(zhuǎn)換法

逐次逼近式A/D轉(zhuǎn)換原理框圖逐次逼近式A/D轉(zhuǎn)換過程103

A/D轉(zhuǎn)換的重要指標(biāo)

1.分辨率(Resolution):反映A/D轉(zhuǎn)換器對(duì)輸入微小變化響應(yīng)的能力,通常用數(shù)字輸出最低位(LSB)所對(duì)應(yīng)的摸擬輸入的電平值表示。

2.精度(Accuracy):絕對(duì)精度(AbsoluteAccuracy);相對(duì)精度(RelativeAccuracy)。3.轉(zhuǎn)換時(shí)間(ConversionTime):指完成一次A/D轉(zhuǎn)換所需的時(shí)間,即由發(fā)出啟動(dòng)轉(zhuǎn)換命令信號(hào)到轉(zhuǎn)換結(jié)束信號(hào)開始有效的時(shí)間間隔。轉(zhuǎn)換時(shí)間的倒數(shù)稱為轉(zhuǎn)換速率。4.量程:量程是指所能轉(zhuǎn)換的摸擬輸入電壓范圍,分單極性、雙極性兩種類型。例如,單極性

量程為0~+5V,0~+10V;雙極性量程為-5~+5V,-10~+10V。

104S3C440BX自帶的A/D轉(zhuǎn)換器ARMS3C440BX芯片自帶一個(gè)8路10位A/D轉(zhuǎn)換器,該轉(zhuǎn)換器可以通過軟件設(shè)置為Sleep摸式,可以節(jié)電減少功率損失,最大轉(zhuǎn)換率為100K,非線性度為正負(fù)1。ARM芯片與A/D功能有關(guān)的引腳:AIN[7:0]為8路摸擬采集通道,ADC的模擬輸入;AREFT為參考正電壓,AREFB為參考負(fù)電壓,AVCOM為摸擬公共參考電壓。105ADC的相關(guān)寄存器Ⅰ1.A/D轉(zhuǎn)換控制寄存器(ADCCON):地址為0x01D40000(在小模式下,以字、半字、字符單位存取)、0x01D40002(在大模式下,以半字單位存取)、0x01D40003(在大模式下,以字符單位存取),可讀寫,初始值為0x20。ADCCON位描述初始狀態(tài)標(biāo)志6ADC狀態(tài)標(biāo)志(只讀)0:正在進(jìn)行A/D轉(zhuǎn)換1:A/D轉(zhuǎn)換結(jié)束0睡眠5系統(tǒng)省電模式0:正常模式,1:睡眠模式1輸入選擇[4:2]時(shí)鐘源選擇OOO:AINO001:AIN1Ol0:AIN2011:AIN3100:AIN4101:AIN5110:AIN6111:AIN7000讀啟動(dòng)1通過讀操作啟動(dòng)A/D轉(zhuǎn)換0:禁止通過讀操作啟動(dòng)轉(zhuǎn)換1:使能通過讀操作啟動(dòng)轉(zhuǎn)換0使能啟動(dòng)0通過使能操作啟動(dòng)A/D轉(zhuǎn)換,如果讀啟動(dòng)位置1,則該位無效0:無操作1:A/D轉(zhuǎn)換啟動(dòng),啟動(dòng)后該位被清零0106ADC的相關(guān)寄存器Ⅱ2.A/D轉(zhuǎn)換預(yù)分頻寄存器地址為0x01D40004(在小模式下,以字、半字、字符單位存取)、0x01D40006(在大模式下,以半字單位存取)、0x01D40007(在大模式下,以字符單位存取),可讀寫,初始值為0x00。

ADCPSR位描述初始狀態(tài)預(yù)分頻值[7:0]預(yù)分頻值(0-255),除數(shù)=2×(預(yù)分頻值+1)A/D轉(zhuǎn)換時(shí),時(shí)鐘頻率=2×(預(yù)分頻值+1)×160x003.A/D轉(zhuǎn)換數(shù)據(jù)寄存器地址為0x01D40008(在小模式下,以字、半字、字符單位存取)、0x01D4000A(在大模式下,以半字單位存取)、0x01D4000B(在大模式下,以字符單位存取),可讀寫,初始值為0x00。107數(shù)/模轉(zhuǎn)換器原理

D/A轉(zhuǎn)換器的主要功能是將數(shù)字量轉(zhuǎn)換為模擬量。數(shù)字量是由若干數(shù)位構(gòu)成的,每個(gè)數(shù)位都有一定的權(quán)。我們說把一個(gè)數(shù)字量變?yōu)槟M量,就是把每一位上的代碼按照權(quán)轉(zhuǎn)換為對(duì)應(yīng)的模擬量,再把各位所對(duì)應(yīng)的模擬量相加,所得到各位模擬量的和便是數(shù)字量所對(duì)應(yīng)的模擬量?;谏鲜鏊悸罚诩呻娐分?,通常采用T型網(wǎng)絡(luò)實(shí)現(xiàn)將數(shù)字量轉(zhuǎn)換為模擬電流,然后再用運(yùn)算放大器完成模擬電流到模擬電壓的轉(zhuǎn)換。所以,要把一個(gè)數(shù)字量轉(zhuǎn)換為模擬電壓,實(shí)際上需要兩個(gè)環(huán)節(jié):即先由D/A轉(zhuǎn)換器把數(shù)字量轉(zhuǎn)換為模擬電流,再由運(yùn)算放大器將模擬電流轉(zhuǎn)換為模擬電壓。

108T型電阻解碼網(wǎng)絡(luò)

109數(shù)/模轉(zhuǎn)換器的分類

1.電壓輸出型(如TLC5620):雖有直接從電阻陣列輸出電壓的,但一般采用內(nèi)置輸出放大器以低阻抗輸出。直接輸出電壓的器件僅用于高阻抗負(fù)載,由于無輸出放大器部分的延遲,故常作為高速D/A轉(zhuǎn)換器使用。2.電流輸出型(如THS5661A):很少直接利用電流輸出,大多外接電流—電壓轉(zhuǎn)換電路得到電壓輸出。當(dāng)外接運(yùn)算放大器進(jìn)行電流電壓轉(zhuǎn)換時(shí),則電路構(gòu)成基本上與內(nèi)置放大器的電壓輸出型相同,這時(shí)由于在D/A轉(zhuǎn)換器的電流建立時(shí)間上加入了達(dá)算放入器的延遲,使響應(yīng)變慢。3.乘算型(如AD7533):在基準(zhǔn)電壓輸入上加交流信號(hào)的,能得到數(shù)字輸入和基準(zhǔn)電壓輸入相乘的結(jié)果而

溫馨提示

  • 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)論