

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
RTL8019AS使用手冊(cè)序言RTL8019ASRTL8019AS分來自網(wǎng)絡(luò),所以,在此我對(duì)網(wǎng)絡(luò)上的大俠們表示謝意。本資料主要是針對(duì)8位單片機(jī)用RTL8019AS接入以太網(wǎng)提供技術(shù)協(xié)助,所8BROM93C46RTL8019AS面,需要的時(shí)候再回過頭來看前面,你就會(huì)知道前部分的用意了。RTL8019ASRTL8019ASRTL8019AS正常工作時(shí)沒有用到,所以我沒有整理;網(wǎng)上的RTL8019ASRTL8019AS電路。對(duì)此,我認(rèn)為另一個(gè)版本是錯(cuò)誤的,由于我在網(wǎng)上找到的電路圖,和我自RTL8019ASRTL8019AS20104月名目第一、管腳配置 3特性 3管腳圖 3部分管腳說明(使用跳線工作方式) 4IO地址配置 5中斷管腳配置 5網(wǎng)絡(luò)接口選擇 5第二、RTL8019AS寄存器 6寄存器配置 6寄存表 6寄存器功能說明 77ISR中斷狀態(tài)寄存7IMR中斷屏蔽寄存8DCR數(shù)據(jù)配置寄存8TSR傳輸狀態(tài)寄存8TCR傳輸配置寄存9RCR接收結(jié)構(gòu)寄存10RSR接收狀態(tài)寄存10RAM和常用寄存11接收緩存區(qū)為一個(gè)環(huán)形的使用區(qū)域當(dāng)CURR達(dá)到最大值PSTOP時(shí)網(wǎng)卡自動(dòng)將其設(shè)置為PSTART,當(dāng)所有的緩存區(qū)都被用完,而接收的數(shù)據(jù)又不被讀走時(shí),此時(shí)網(wǎng)卡內(nèi)存溢出,網(wǎng)卡停止向緩存區(qū)寫入數(shù)據(jù),新接收的包將被丟棄。 11第三、開頭使用RTL8019AS 121接線 12寄存器的讀寫 13對(duì)RAM的操作 13寫RAM 13讀RAM 14發(fā)送數(shù)據(jù)包 14初始化RTL8019AS 16RTL8019AS時(shí)序圖 18第四、結(jié)束語 19第五、讀寫子程序 20第六、電路圖 21第一、管腳配置特性100PINPQFP封裝支持EthernetII和IEEE802.310Base5,10Base2,10BaseT軟件兼容816NE2000模式支持跳線和非跳線模式支持8路中斷請(qǐng)求(IRQ)內(nèi)建16KRAM管腳圖部分管腳說明(使用跳線工作方式)管腳號(hào)61747
名稱 VDD P5770577089142844528386
描述+5V地34AENI097-1001-4INT7-0O中斷引腳29IORBI讀引腳30IOWBI寫引腳33 RSTDRV96
電平將使網(wǎng)I 卡復(fù)位RTL8019ASI 16808116該引腳決定使用aui還是bnc接口。64 AUI
bnc80),bnc65818284857879807477
JP IIII
線模式當(dāng)選擇跳線方式工作時(shí),芯片的i/o地址由這幾個(gè)管腳決定。當(dāng)選擇跳線方式工作時(shí),芯片的中斷線由這幾個(gè)管腳決定。當(dāng)選擇跳線方式工作時(shí),網(wǎng)卡的接口網(wǎng)卡自動(dòng)檢測(cè)就能夠了。自動(dòng)檢測(cè)是用同軸電纜還是雙絞線。27-1816-1513-7587-8890-9543-36
SA19-0SD15-0
II/O
地址總線數(shù)據(jù)總線(8位時(shí)只用SD7-0)LEDS0CONFIG361 LED0 O6263 LED1,LED2 O
0,LED_COL(有數(shù)據(jù)發(fā)送或接收),為1時(shí)該管腳為L(zhǎng)ED_LINK寄存器中)為0,該兩管腳工作分別為1LED_CRS,MCSBIO地址配置IOS3(85IOS2(84IOS1(82IOS0(81IO0000300H0001320H0010340H0011360H0100200H0101220H01102400111260H1000380H10013A0H10103C0H10113E0H1100280H11012A0H11102C0H11112E0H中斷管腳配置IRQS2(80IRQS1(79IRQS0(78中斷管腳000INT0(4001INT1(3010INT2(2011INT3(1100INT4(100101INT5(99110INT6(98111INT7(97網(wǎng)絡(luò)接口選擇PL1(74PL1(77類型00自動(dòng)檢測(cè)(一般選擇自動(dòng)檢測(cè))0110BaseTwithtestdisabled1010Base51110Base2寄存器配置
第二、RTL8019AS寄存器RTL8019AS共32個(gè)輸入輸出地址,其首地址由IOS3-IOS0決定(跳線8位數(shù)據(jù)模式),地址偏移量為00H--1FH。如IOS3-IOS00,則首地址為300H;那00H,31FH1FH。NE20003頁(Page-Page2)(RTL8019AS自己卡是有效的,假若你換成其他Ne2000兼容的網(wǎng)卡,例如DM9008,DP8390等,Ne2000的網(wǎng)卡有效,不要去操作第四頁的寄存器)8DMA端口,只要用其中的一個(gè)就能夠了)18H為復(fù)位地址,對(duì)該地址的讀,或者寫入任何數(shù),都引起網(wǎng)卡的復(fù)位,這(18H到1FH共8個(gè)地址都是復(fù)位地址,每個(gè)地1EH這幾個(gè)復(fù)位端口是有效的,其他不要使用,有些兼容卡不支持19H,1BH,1DH等奇數(shù)地址的復(fù)位)序號(hào)0序號(hào)012310-1718-1F復(fù)位端口讀寫讀/寫讀讀寫00CRCRCRCRCRCR01CLDA0PSTARTPAR0PSTART9346CR9347CR02CLDA1PSTOPPAR1PSTOPBPAGEBPAGE03BNRYBNRYPAR2-CONFIG0-04TSRTPSRPAR3TPSRCONFIG1CONFIG105NCRTBCR0PAR4-CONFIG2CONFIG206FIFOTBCR1PAR5-CONFIG3CONFIG307ISRISRCURR--TEST08CRDA0RSAR0MARO-CSNSAV-09CRDA1RSAR1MAR1--HLTCLK0A8019ID0RBCR0MAR20B8019ID1RBCR1MAR3-INTR-0CRSRRCRMAR4RCR-FMWP0DCNRT0TCRMAR5TCRCONFIG4-0ECNRT1DCRMAR6DCR--0FCNRT2IMRMAR7IMR--注:<->為保留,用粗體字的寄存器只在RTL8019AS里定義的,NE2000標(biāo)準(zhǔn)不支持3寄存器功能說明3.1CR寄存器7 6543210PS1 PS2RD2RD1RD0TXPSTASTP位符號(hào)描述RD2-RD0位符號(hào)描述RD2-RD035-3RAM時(shí)置為100,DMA)2TXP這一位在置1時(shí)發(fā)送數(shù)據(jù)包,在發(fā)送完畢或終止時(shí)自動(dòng)清零,寫0沒影響10STASTPSTA10STP01說明停止命令PS1PS0寄存器頁說明000NE2000兼容76PS1PS0011NE2000兼容102NE2000兼容113RTL8019AS配置RD2RD1RD0說明000不允許001遠(yuǎn)程讀010遠(yuǎn)程寫011發(fā)送包1**DMAISR中斷狀態(tài)寄存器位于第0頁 地址:07H 類型:R/W位符號(hào)7RST描述位符號(hào)7RST描述執(zhí)行開頭命令后清零;當(dāng)接2RXE10PTXPRXCRC校驗(yàn)錯(cuò)誤幀隊(duì)列失敗丟失包這一位顯示發(fā)送無錯(cuò)誤(發(fā)送完數(shù)據(jù)包并無錯(cuò)誤時(shí)置1)這一位顯示接收無錯(cuò)誤(接收收到數(shù)據(jù)包并無錯(cuò)誤時(shí)置1)6RDC收緩沖區(qū)溢出時(shí)置1,讀出一個(gè)或多個(gè)包后自動(dòng)清零。當(dāng)遠(yuǎn)程DMA操作(RAM15CNTMSB14OVW當(dāng)接收緩沖區(qū)滿時(shí)置13TXE發(fā)送一個(gè)包時(shí),因沖突等原因而中止發(fā)送時(shí)置1當(dāng)接收到一個(gè)包時(shí)發(fā)覺以下錯(cuò)誤時(shí)置1IMR中斷屏蔽寄存器地址:0FH 類型:W在第0頁 類型:R在第2頁所有的位都是相應(yīng)的ISR寄存器位。POWERUP=0,設(shè)置某一位會(huì)使相應(yīng)的中斷打開。位數(shù)76543210符號(hào)描述-RDCECNTEOVWE溢出中斷TXEERXEEPTXE發(fā)送PRXE接收DCR數(shù)據(jù)配置寄存器4ARM3LS0:發(fā)送數(shù)據(jù)包,命令不執(zhí)行Loopback0:loopbackloopback,TCR4ARM3LS0:發(fā)送數(shù)據(jù)包,命令不執(zhí)行Loopback0:loopbackloopback,TCR12位符號(hào)描述7165FT1FT2FIFO10自動(dòng)遠(yuǎn)程初始化2LAS0,POWERUP=11BOS字節(jié)挨次選擇,8位數(shù)據(jù)模式下初始化寫0即可。0WTS字傳送選擇0:寬字節(jié)(byte)DMA1:寬字(word)DMATSR傳輸狀態(tài)寄存器位符號(hào)7OWC位符號(hào)7OWC描述6CDH沖突一樣從新傳送。當(dāng)傳送器傳送信號(hào)失敗時(shí)該位被設(shè)置5-14CRS當(dāng)傳送器在傳送經(jīng)過中丟包時(shí)該位被設(shè)置3ABT說明沖突中止傳送2COL顯示傳輸?shù)臎_突是和網(wǎng)絡(luò)的其他節(jié)點(diǎn)有關(guān)1-10PTX該位表示無錯(cuò)誤的傳送TCR傳輸配置寄存器地址:0DH 類型:W在第0頁 類型:R在第2頁位符號(hào)7位符號(hào)7-16-15-14OFST自動(dòng)傳輸禁止3
0:正常操作1:6263LB1021 LB1LB0 011
LB00101
模式 說明0 1Lookback2 外部Lookback3Lookback網(wǎng)卡(NIC)的CRCCRCCRC1,CRCCRC。條件 CRC的工作CRCCRC模式CRCCRC0一般使能使能1一般禁止使能0Lookback使能禁止1Lookback禁止使能RCR接收結(jié)構(gòu)寄存器地址:0CH 類型:W在第0頁 類型:R在第2頁位位76--描述5MON4PRO3AJM2AB1AR0SEP11幀隊(duì)列,但不存入緩存區(qū),否則存入緩存區(qū)1,MAC地址都接收假若為,接收目標(biāo)地址為組播地址的包假若為0,不接收目標(biāo)地址為組播地址的包1,164064為1包有接收錯(cuò)誤也接收為0包有接收錯(cuò)誤不接收RSR接收狀態(tài)寄存器位于第0頁 地址:0CH 類型:R位位符號(hào)描述7DFR當(dāng)傳送器或者沖突被檢測(cè)時(shí)被設(shè)置6DIS5PHY4MPA模式結(jié)束后,接收使能時(shí)重置。標(biāo)地址時(shí)該位被重置。CNTR23-1。2FAE1CRCCRC位和分界位不對(duì)應(yīng),則置1,增加CNTR0計(jì)數(shù)器。CRCCRCFAECNTR10PRX此位表明無錯(cuò)誤的數(shù)據(jù)接收。RAM16K字節(jié)的RAM,地址為0x4000-0x7fff,每256個(gè)字節(jié)稱為一頁,共有648位,頁地址為0x40-0x7f。這16K的RAM一部分用來存放接收的數(shù)據(jù)包,一部分用來存儲(chǔ)待發(fā)送的數(shù)據(jù)包。TPSR:發(fā)送RAM(04H,Type=Winpage0)PSTART:接收RAM(01H,Type=Winpage0,Type=Rinpage2)PSTOP:接收RAM(02H,Type=WinPage0,Type=RinPage2)BNRY:讀接收RAM起始頁地址(03H,Type=R/Winpage0)CURR:當(dāng)前接收結(jié)束頁地址(07H,Type=R/WinPage1)TBCR1,0:要發(fā)送數(shù)據(jù)包的字節(jié)數(shù)(06HTBCR1,05HTBCR0,Type=Winpage0)RSAR1,0:讀或?qū)懢W(wǎng)卡RAM88(09HRSAR1,08HRSAR0,Type=WinPage0)RBCR1,0:讀網(wǎng)卡RAM88(0BHRBCR1,0AHRBCR0,Type=WinPage0)PAR0-5:MAC(01H-06H,Type=R/WinPage1)初始化時(shí),BNRY=CURR=PSTART,當(dāng)沒有數(shù)據(jù)包接收時(shí),BNRY=CURR=PSTART。當(dāng)有數(shù)據(jù)包接收時(shí),網(wǎng)卡自動(dòng)增加CURR的值,當(dāng)有多個(gè)包收到時(shí),從網(wǎng)卡RAM里讀走一個(gè)包時(shí),要把下一個(gè)要讀取的包的頁地址寫入BNRY,讀下一個(gè)包的時(shí)候就從今頁開頭讀取,下一個(gè)要讀取的包的頁地址為這次讀的包的第二字節(jié),如下圖:接收緩存中的一個(gè)數(shù)據(jù)包BYTE1:BYTE2:下一個(gè)包的起始頁地址,若接收包已經(jīng)讀完,則BYTE2=CURR。BYTE38BYTE48BYTE3、BYTE4接收緩存區(qū)為一個(gè)環(huán)形的使用區(qū)域,當(dāng)CURR達(dá)到最大值PSTOP時(shí),網(wǎng)卡自動(dòng)將其設(shè)置為PSTART,當(dāng)所有的緩存區(qū)都被用完,而接收的數(shù)據(jù)又不被讀走時(shí),此時(shí)網(wǎng)卡內(nèi)存溢出,網(wǎng)卡停止向緩存區(qū)寫入數(shù)據(jù),新接收的包將被丟棄。第三、開頭使用RTL8019AS接線RTL8019ASRTL8019ASS8、S9VCC,有些卻不一樣,這使得我在一RTL8019AS接線的作用。JP(65JPRTL8019AS0VCC,選擇跳線模式;的下拉電阻),所以IOS3-IOS0都為0,IO地址為300H。(IO分配表可查看第一4IO300H-31FH(1FH),轉(zhuǎn)換為二進(jìn)制為:A19A18A17A16A15A14A13A12A11A10000000000000000000000000000000A9A8A7A6A5A4A3A2A1A0地址11000000000x30011000*****0x301-0x31e11000111110x31fA9VCC,A0-A4,就可輸IOCUPIOIRQS2-0模式下中斷管腳的配置請(qǐng)查看第一章的第五節(jié)。8IOCS16B(968以我懸空,選擇8位數(shù)據(jù)模式。其他的管腳如:VCC,VDD,GND,LED,晶振等等的接線各個(gè)電路都相同,可參照我下列的電路圖接線即可。寄存器的讀寫STASTPRAMRD2-RD0100,TXP0。STASTP設(shè)置好后,就能夠?qū)ο鄳?yīng)的頁、相應(yīng)的地址做相應(yīng)的操作了。1RAMRD2-RD0100,TXP10,如下表:位76543210符號(hào)PS1PS2RD2RD1RD0TXPSTASTP值011000100x62程序如下:rtl8019Write(CR,0x62);//#defineCR0x00i=rtl8019Read(CURR);//#defineCURR0x07unsignedchari415(01H-0FH),對(duì)哪一頁的寄存器操作先選擇相應(yīng)的頁,然后再對(duì)其進(jìn)行操作。如以上程序,想要讀ISR,假若接著就寫:i=rtl8019Read(ISR);//#defineISR0x07unsignedchariCURR0x07,但是當(dāng)前選擇的ISR0ISR0rtl8019Write(CR,0x22);//#defineCR0x00i=rtl8019Read(ISR); //#defineISR0x07unsignedcharibry=rtl8019Read(BNRY);//#defineBNRY0x03unsignedcharbryBNRY,0BNRY0在對(duì)RTL8019AS寄存器操作時(shí)還應(yīng)該著重可讀或可寫,如PSTART寫在第0頁,2PSTART020CLDA0RAMRAMRAM0序如下:rtl8019Write(CR,0x22);//#defineCR0x00選擇第0rtl8019Write(RSAR0,0x00);//#defineRSAR00x088rtl8019Write(RSAR1,0x40);//#defineRSAR00x09 高8位rtl8019Write(CR,0x12); //#defineCR0x00啟動(dòng)寫RAM命令for(unsignedinti=0;i<length;i++)rtl8019Write(RDMAPORT,Buffer[i]);//#defineRDMAPORT0x10BufferRDMAPORT(0x10RAMRTL8019ASRDMAPORT(0x10RAMRAMRAM(RSAR1,0),然后設(shè)置要讀的字節(jié)數(shù)(RBCR1,0)RAMRAMlengthrtl8019Write(CR,0x22);//#defineCR0x000rtl8019Write(RSAR0,0x00);//#defineRSAR00x088rtl8019Write(RSAR1,0x47);//#defineRSAR00x098rtl8019Write(RBCR0,(unsignedchar)length);//#defineRBCR00x0a8rtl8019Write(RBCR1,(unsignedchar)(length>>8));//#defineRBCR10x0b高8位設(shè)置讀字節(jié)數(shù)rtl8019Write(CR,0x0a); //#defineCR0x00啟動(dòng)讀RAM命令for(unsignedinti=0;i<length;i++)Buffer[i]=rtl8019Read(RDMAPORT);//#defineRDMAPORT0x10發(fā)送數(shù)據(jù)包(RBCR1,0節(jié)),然后設(shè)置發(fā)送數(shù)據(jù)包的長(zhǎng)度,然后把要發(fā)送的數(shù)據(jù)包寫入RAM,啟動(dòng)發(fā)送數(shù)據(jù)包命令,發(fā)送數(shù)據(jù)包,程序如下:rtl8019Write(CR,0x22);//0while(rtl8019Read(CR)&0x04);//有數(shù)據(jù)包發(fā)送則等發(fā)送完畢rtl8019Write(TPSR,0x40);//RAMrtl8019Write(RSAR0,0x00);//RAM8rtl8019Write(RSAR1,0x40);//RAM8rtl8019Write(ISR,(1<<ISR_PTX));//清除發(fā)送中斷標(biāo)志rtl8019Write(RBCR0,(unsignedchar)(packetLength));//8rtl8019Write(RBCR1,(unsignedchar)(packetLength>>8));//8rtl8019Write(TBCR0,(unsignedchar)(sendPacketLength));//8rtl8019Write(TBCR1,(unsignedchar)((sendPacketLength)>>8));//8rtl8019Write(CR,0x12);//RAMfor(unsignedinti=0;i<length;i++)rtl8019Write(RDMAPORT,Buffer[i]); //RAMrtl8019Write(CR,0x24);//發(fā)送數(shù)據(jù)包CR的TXP=1rtl8019Write(ISR,(1<<ISR_RDC));//RAM接收數(shù)據(jù)包讀數(shù)據(jù)包之前,可經(jīng)過讀BNRY和CURR來推斷有許多據(jù)包的接收,當(dāng)BNRY=CURR的時(shí)候說明沒有數(shù)據(jù)包接收,當(dāng)BNRY不等于CURR時(shí),說明有數(shù)據(jù)包BNRYRAM4RBCR1,0(RAMRAMBNRY+4,44,讀到的數(shù)據(jù)將不完整;同時(shí),讀之前還要推斷是否有內(nèi)存溢出,假若溢出,則做相應(yīng)的處理。rtl8019ProcessInterrupt();//RAMrtl8019Write(CR,0x62); //1CURRcurr=rtl8019Read(CURR);//CURRrtl8019Write(CR,0x22);//0BNRYbnry=rtl8019Read(BNRY); //BNRYif(bnry==curr)return; //沒有包,返回rtl8019Write(ISR,(1<<ISR_PRX));//清除接收中斷標(biāo)志//4rtl8019Write(RBCR0,4);rtl8019Write(RBCR1,0);rtl8019Write(RSAR0,0);rtl8019Write(RSAR1,bnry);rtl8019Write(CR,0x0A); //RAMfor(i=0;i<4;i++)buffer[i]=rtl8019Read(RDMAPORT);rtl8019Write(CR,0x22);//RAM//RAMfor(i=0;i<=20;i++)if(rtl8019Read(ISR)&1<<6)break;rtl8019Write(ISR,1<<6);//RAMrxlen=(buffer[3]<<8)+buffer[2];//數(shù)據(jù)包實(shí)際長(zhǎng)度nextPage=buffer[1];//下一數(shù)據(jù)包頁的首地址ReadAddress=(bnry<<8)+4;//RAM//讀實(shí)際數(shù)據(jù)包rtl8019Write(RBCR0,(unsignedchar)rxlen);rtl8019Write(RBCR1,(unsignedchar)(rxlen>>8));rtl8019Write(RSAR0,(unsignedchar)ReadAddress);rtl8019Write(RSAR1,(unsignedchar)(ReadAddress>>8));rtl8019Write(CR,0x0A); //RAMfor(i=0;i<(rxlen-4);i++)DataBuffer[i]=rtl8019Read(RDMAPORT);rtl8019Write(CR,0x22);//RAM//RAMfor(i=0;i<=20;i++)if(rtl8019Read(ISR)&1<<6)break;rtl8019Write(ISR,1<<6);//RAMrtl8019Write(BNRY,nextPage);//設(shè)置下一個(gè)數(shù)據(jù)包的頁地址5RTL8019ASRAMMACvoidrtl8019Init(void){RTL8019_RESET_PORT_H();//RTL8019AS1delay_ms(50);RTL8019_RESET_PORT_L();//RTL8019AS0rtl8019Write(ISR,rtl8019Read(ISR)); //軟件復(fù)位delay_ms(50);rtl8019Write(CR,0xE1); //3rtl8019Write(0x01,0xC0); //EEM1=EEM0=1rtl8019Write(CONFIG2,0x20);//設(shè)置網(wǎng)卡為10M自動(dòng)檢測(cè)模式rtl8019Write(CONFIG3,0); //設(shè)置LED工作模式delay_ms(255);rtl8019Write(0x01,0); //EEM1=EEM0=0rtl8019Write(CR,0x21); //0delay_ms(2);rtl8019Write(DCR,DCR_INIT);//#defineDCR_INIT0x58rtl8019Write(RBCR0,0x00);rtl8019Write(RBCR1,0x00);rtl8019Write(RCR,0x04); //接收結(jié)構(gòu)寄存器rtl8019Write(TCR,0x02); //傳送配置寄存器rtl8019Write(TPSR,TXSTART_INIT);//#defineTXSTART_INIT0x40rtl8019Write(PSTART,RXSTART_INIT);//#defineRXSTART_INIT0x47rtl8019Write(BNRY,RXSTART_INIT);//#defineRXSTART_INIT0x47rtl8019Write(PSTOP,RXSTOP_INIT);//#defineRXSTOP_INIT0x60rtl8019Write(ISR,0xFF); //清除中斷標(biāo)志rtl8019Write(IMR,IMR_INIT);//中斷屏蔽rtl8019Write(CR,0x61); //1delay_ms(2);rtl8019Write(CURR,RXSTART_INIT);//#defineRXSTART_INIT0x47//MACrtl8019Write(PAR0+0,MYMAC_0);rtl8019Write(PAR0+1,MYMAC_1);rtl8019Write(PAR0+2,MYMAC_2);rtl8019Write(PAR0+3,MYMAC_3);rtl8019Write(PAR0+4,MYMAC_4);rtl8019Write(PAR0+5,MYMAC_5);rtl8019Write(CR,0x22);//starttheNIC} //endrtl8019asinit6RTL8019AS第四、結(jié)束語問題的方式;由于我用的MCUAtmega128,所以我主要講用Atmega128SRAMRTL8019ASICC6.35。首先接線要準(zhǔn)確確定自己是否要用擴(kuò)展的外部SRAM空間由于RTL8019AS和外部SRAM一般都共用單片機(jī)對(duì)外部SRAM的讀寫管腳,(Atmega128使用外部和PG0)這樣能夠提升對(duì)RTL8019AS的讀寫速度,采納這樣的接線方式時(shí)一般都用A15接到外部SRAM的禁止管腳讀寫RTL8019AS的時(shí)候,把地址最高位強(qiáng)制為 1,然后再加上實(shí)際地址,實(shí)現(xiàn)方式一般為為對(duì)RTL8019AS操作的實(shí)際地址,地址最高位為1,也就是A15為1,外部SRAM就被禁止了,這樣操作RTL8019AS就不會(huì)影響到外部SRAM了。但是需要著重的是,要是編譯器把一個(gè)變量分配在外部SRAM0x11000SRAM00SRAMRTL8019ASRTL8019ASSRAMRTL8019ASSRAMRTL8019ASRTL8019ASA15SRAM,這樣對(duì)兩個(gè)部分操作就互不干擾了。但是需要著重的是,假若一個(gè)數(shù)組被分配到外部SRAM中,你又想把這個(gè)數(shù)組中的數(shù)據(jù)經(jīng)過RTL8019ASRTL8019AS,RTL8019AS設(shè)置編譯器不使用外部SRAM,不讓編譯器把變量分配到外部SRAM中,所有要經(jīng)過RTL8019AS發(fā)送的數(shù)據(jù)必需存在內(nèi)部RAM中,要使用外部SRAM就必需自己分配空間,分配方式如下:#defineval(*(volatileunsignedchar*)0x1100)val=0x01;0x1100你能夠這樣定義:unsignedchar*pval=&val;pval[0]=5;pval[1]=6;pval[2]=2;pval[3]=1;5unsignedchar,那么你定義下一個(gè)變量的地址為:#definesum(*(volatileunsignedchar*)0x1105)char8unsignedint162。第五、讀寫子程序以下程序?yàn)橐罁?jù)電路所寫的字程序,僅供參考。/*RTL8019AS寫子程序*/#define\rtl8019Write(RTL_ADDRESS,RTL_DATA)\{\ ICCTL為0*/*(volatileunsignedchar*)\(MEMORY_MAPPED_RTL8019_OFFSET\+(unsignedchar)(RTL_ADDRESS))=\(unsignedchar)(RTL_DATA);\RTL8019_CONTROLPORT_H();}while(0)
ICCTL為1*/#define_rtl8019Read(RTL_ADDRESS)(*(volatileunsignedchar*)\(MEMORY_MAPPED_RTL8019_OFFSET\+(unsignedchar)(RTL_ADDRESS)))unsignedcharrtl8019Read(RTL_ADDRESS){unsignedchartemp;RTL8019_CONTROLPORT_L();temp=_rtl8019Read(RTL_ADDRESS);RTL8019_CONTROLPORT_H();returntemp;}
ICCTL為ICCTL為第六、電路圖R101C8R101C8TD+12RESET 1KVCC104TD-3C20512C9RD+6716TX+C2110nF/1KVTX+115TX-214TX-RX+3C20411RX+10nF/1KV510RX-69RX-78151D0151D0ALE1150D149D2D0248D3D1347D4D2446D5D3545D6D4644D7D5743ALED68D7935A8A02119A0A12318A1A22417A2A325
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校社團(tuán)協(xié)議
- 《敏捷開發(fā)協(xié)作流程》課件
- IT運(yùn)維團(tuán)隊(duì)的組建及管理總結(jié)模版
- 中秋節(jié)的歷史文化背景
- 中醫(yī)理療按摩術(shù)的手法要點(diǎn)
- 中醫(yī)預(yù)防疾病的方法
- 身體美容的七大護(hù)理步驟
- 《財(cái)務(wù)分析框架與方法》課件
- 區(qū)塊鏈在提升工作效率的實(shí)踐案例
- DIY天然身體乳液零添加帶來肌膚滿滿的滋養(yǎng)舒適無負(fù)擔(dān)
- 福建省動(dòng)植物疫病防控專項(xiàng)資金管理辦法
- 《高級(jí)財(cái)務(wù)管理(第三版)》配套教學(xué)課件
- 離婚協(xié)議書免費(fèi)版大全
- DB32T 4076-2021 生活垃圾焚燒穩(wěn)定化飛灰填埋處置技術(shù)標(biāo)準(zhǔn)
- 分析化學(xué)第三章酸堿滴定法課件
- 生產(chǎn)安全事故應(yīng)急預(yù)案(含深井鑄造)
- 初中數(shù)學(xué)課程標(biāo)準(zhǔn)(2021版)
- 連鎖藥店商圈分析精編版
- 工程地質(zhì)測(cè)繪ppt版(共61頁)
- 水文地質(zhì)與工程地質(zhì)勘察工程地質(zhì)測(cè)繪PPT
- 崩塌易發(fā)程度數(shù)量化評(píng)分表
評(píng)論
0/150
提交評(píng)論