freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機如何控制以太網(wǎng)網(wǎng)卡進行傳輸數(shù)據(jù)(更新版)

2025-08-15 13:04上一頁面

下一頁面
  

【正文】 rite (Active on all memory write cycles) C11 SD08 Data bit 8 C12 SD09 Data bit 9 C13 SD10 Data bit 10 C14 SD11 Data bit 11 C15 SD12 Data bit 12 C16 SD13 Data bit 13 C17 SD14 Data bit 14 C18 SD15 Data bit 15 D1 /MEMCS16 Memory 16bit chip select (1 wait, 16bit memory cycle) D2 /IOCS16 I/O 16bit chip select (1 wait, 16bit I/O cycle) D3 IRQ10 Interrupt Request 10 D4 IRQ11 Interrupt Request 11 D5 IRQ12 Interrupt Request 12 D6 IRQ15 Interrupt Request 15 D7 IRQ14 Interrupt Request 14 D8 /DACK0 DMA Acknowledge 0 D9 DRQ0 DMA Request 0 D10 /DACK5 DMA Acknowledge 5 D11 DRQ5 DMA Request 5 D12 /DACK6 DMA Acknowledge 6 D13 DRQ6 DMA Request 6 D14 /DACK7 DMA Acknowledge 7 D15 DRQ7 DMA Request 7 D16 +5 V D17 /MASTER Used with DRQ to gain control of system D18 GND Ground Note: Direction is Motherboard relative ISACards. (四)89C52單片機與網(wǎng)卡接口電路圖——電路是由作者自己設(shè)計的,可能不是很標(biāo)準(zhǔn),也可能不是理想的,但是它可以實現(xiàn)。——以太網(wǎng)的物理傳輸幀:(僅介紹第二種格式)PRSDDASATYPEDATAPADFCS56位8位48位48位16位不超過1500字節(jié)可選32位——PR:同步位,用于收發(fā)雙方的時鐘同步,同時也指明了傳輸?shù)乃俾剩?0M和100M的時鐘頻率不一樣,所以100M網(wǎng)卡可以兼容10M網(wǎng)卡),是56位的二進制數(shù)101010101010.....——SD: 分隔位,表示下面跟著的是真正的數(shù)據(jù),而不是同步時鐘,為8位的10101011,跟同步位不同的是最后2位是11而不是10.——DA:目的地址,以太網(wǎng)的地址為48位(6個字節(jié))二進制地址,則是廣播地址,廣播地址的數(shù)據(jù)可以被任何網(wǎng)卡接收到.——SA:源地址,48位,表明該幀的數(shù)據(jù)是哪個網(wǎng)卡發(fā)的,即發(fā)送端的網(wǎng)卡地址,同樣是6個字節(jié).TYPE:類型字段,表明該幀的數(shù)據(jù)是什么類型的數(shù)據(jù),不同的協(xié)議的類型字段不同?!宜鶎懙尿?qū)動程序并不是標(biāo)準(zhǔn)的,因為我沒有學(xué)過UNIX,無法使用UNIX提供的原代碼。單片機如何控制以太網(wǎng)網(wǎng)卡進行傳輸數(shù)據(jù),如何加載TCP/IP協(xié)議連接到互聯(lián)網(wǎng),這些都是一些令人感興趣的問題。也許有一天研究了100M的網(wǎng)卡之后,可以讓單片機驅(qū)動它,那是可能的事,只不過接口可能會復(fù)雜一些。因此對我們來說只需要了解其中的一種就夠了,特別是對單片機來說,不可能支持太多的協(xié)議格式。 active high when DMA controls bus A12 A19 Address bit 19 A13 A18 Address bit 18 A14 A17 Address bit 17 A15 A16 Address bit 16 A16 A15 Address bit 15 A17 A14 Address bit 14 A18 A13 Address bit 13 A19 A12 Address bit 12 A20 A11 Address bit 11 A21 A10 Address bit 10 A22 A9 Address bit 9 A23 A8 Address bit 8 A24 A7 Address bit 7 A25 A6 Address bit 6 A26 A5 Address bit 5 A27 A4 Address bit 4 A28 A3 Address bit 3 A29 A2 Address bit 2 A30 A1 Address bit 1 A31 A0 Address bit 0 B1 GND Ground B2 RESET Active high to reset or initialize system logic B3 +5V +5 VDC B4 IRQ2 Interrupt Request 2 B5 5VDC 5 VDC B6 DRQ2 DMA Request 2 B7 12VDC 12 VDC B8 /NOWS No WaitState B9 +12VDC +12 VDC B10 GND Ground B11 /SMEMW System Memory Write B12 /SMEMR System Memory Read B13 /IOW I/O Write B14 /IOR I/O Read B15 /DACK3 DMA Acknowledge 3 B16 DRQ3 DMA Request 3 B17 /DACK1 DMA Acknowledge 1 B18 DRQ1 DMA Request 1 B19 /REFRESH Refresh B20 CLOCK System Clock (67 ns, MHz, 50% duty cycle) B21 IRQ7 Interrupt Request 7 B22 IRQ6 Interrupt Request 6 B23 IRQ5 Interrupt Request 5 B24 IRQ4 Interrupt Request 4 B25 IRQ3 Interrupt Request 3 B26 /DACK2 DMA Acknowledge 2 B27 T/C Terminal count。為閱讀以下的內(nèi)容,請在本站下載RTL8019AS的芯片資料。電路圖上方的兩大塊為ISA槽,網(wǎng)卡是插在這ISA槽上的。A0A6(ADDR8ADDR15)接單片機的P2口。在程序里,我使用110XXXXX來選中網(wǎng)卡的地址。 這 是網(wǎng)卡的接口的后半部分,ISA槽的擴展部分。DMA操作為16位)(六)接口電路圖詳解(2)89c52單片機部分——外部存儲器62256和373。(用網(wǎng)卡上的RAM來代替 62256會影響速度)----MAX232,24c02 --24C02是IIC總線的eeprom,可以用來存儲用戶的一些設(shè)置,比如IP地址,網(wǎng)關(guān)等。其中00H--0FH共16個地址,為寄存器地址。給該引腳施加一個1us以上的高電平就可以復(fù)位。 跟復(fù)位有關(guān)的寄存器:18H--1FH共8個地址,為復(fù)位端口。 為了保證驅(qū)動程序?qū)λ蠳e2000的網(wǎng)卡有效,不要去操作第四頁的寄存器)由于寄存器較多,我將在用到該寄存器的時候才對該寄存器介紹。 //void netcardreset(){uint data i。 //使網(wǎng)卡的RSTDRV引腳變成低電平,網(wǎng)卡上電復(fù)位完畢f(xié)or(i=0。 }上面所講的實際上是網(wǎng)卡復(fù)位的兩種情況,reset=1。當(dāng)然如果讀者愿意,也可以寫一些檢查代碼。}錯誤修正:(2001年11月10日) :以上程序有問題,在中斷驅(qū)動或發(fā)送數(shù)據(jù)包不作等待時,因為發(fā)送數(shù)據(jù)包的命令是讓TXP置位,如果在發(fā)送數(shù)據(jù)包的過程中,使用該函數(shù),就會不斷地向外發(fā)送 ,只能是發(fā)完數(shù)據(jù)包的時候,由網(wǎng)卡內(nèi)部將TXP位清0,命令不能使TXP清0,上 面的程序修正如下,請用戶使用下面的程序:void page(uchar pagenumber){uchar data temp。 reg00命令寄存器:CR,mand register,地址偏移量00H,為一個字節(jié)位76543210名字PS1PS0RD2RD1RD0TXPSTASTP //設(shè)置第幾頁當(dāng)然也可以寫成更加簡單的幾句:temp=reg00amp。=001 讀網(wǎng)卡內(nèi)存=010 寫網(wǎng)卡內(nèi)存=011 發(fā)送網(wǎng)卡數(shù)據(jù)包=1** 完成或結(jié)束DMA的讀寫操作---TXP這個位寫入1時發(fā)送數(shù)據(jù)包,發(fā)完自動清零---STA,STP這兩個位用來啟動命令或停止命令=10 啟動命令=01 停止命令下面介紹網(wǎng)卡的初始化子程序:void ne2000init(){ reg00=0x21。 //TCRreg0e=0xc8。 //MAR3reg0c=0x00。(寫指針)--網(wǎng)卡含有16K字節(jié)的RAM,地址為0x40000x7fff(指的是網(wǎng)卡上的存儲地址,而不是ISA總線的地址,是網(wǎng)卡工作用的存儲器),每256個字節(jié)稱為一頁,共有64頁。它指向當(dāng)前正在寫的頁的下一頁。用戶從網(wǎng)卡讀走一頁數(shù)據(jù),要將BNRY加一,然后再寫到BNRY寄存器。初始化為指向第一個發(fā)送緩沖區(qū)的頁,0x40。要對網(wǎng)卡的物理地址進行設(shè)置,就必須知道網(wǎng)卡的物理地址是多少。//存儲網(wǎng)卡的物理地址union u protocal。//RBCR0 count low reg00=0x0a。 網(wǎng)卡在上電的時候?qū)?3C46的一部分內(nèi)容讀到這256字節(jié)的RAM里。 reg00=0x0a 的意思是進行DMA的內(nèi)存讀取操作。 //PAR3reg05=mynodeid[2].。那么我們?nèi)绾问褂玫?種方式跳線方式呢?網(wǎng)卡使用哪種方式由rtl8019as的第65腳JP決定。高電平時使用aui接口,懸空為低電平,使用bnc接口。作為一個例子來自的電路圖,該電路圖沒有使用中斷方式工作,使用跳線方式,所以沒有接93c46,I/O地址用的是300H,網(wǎng)絡(luò)接口為bnc(雙絞線),沒有使用brom),支持協(xié)議,24c512用來存儲網(wǎng)頁,F(xiàn)C22為耦合隔離變壓器模塊:(十三)網(wǎng)卡地址和多點播送(組播)及廣播以太網(wǎng)的地址為48位,由ieee統(tǒng)一分配給網(wǎng)卡制造商,每個網(wǎng)卡的地址都必須是全球唯一的。42414039。如果你不是購買網(wǎng)卡,而是自己購買 芯片制造,那么地址怎么辦?可以自己使用一個還沒有被ieee分配的廠商編號就可以了。網(wǎng)卡可以接收以下3種地址的數(shù)據(jù)包:第一種 目的地址跟自己的網(wǎng)卡地址是一樣的數(shù)據(jù)包第二種 目的地址為FF:FF:FF:FF:FF:FF廣播地址的數(shù)據(jù)包第三種 目的地址為跟自己的組播地址范圍相同的數(shù)據(jù)包那么在以太網(wǎng)的應(yīng)用當(dāng)中,如果你希望你的數(shù)據(jù)包只發(fā)給一個網(wǎng)卡,目的地址用對方的網(wǎng)卡地址如果你想把數(shù)據(jù)包發(fā)給所有的網(wǎng)卡,目的地址用廣播地址如果你想把數(shù)據(jù)包發(fā)給一組網(wǎng)卡,目的地址用組播地址。我對于該8個寄存器跟組播地址的關(guān)系不是很清楚,也沒有找到相關(guān)的資料。我們設(shè)置為0就可以了。對一個單播的網(wǎng)絡(luò)地址,通過ARP協(xié)議可以獲取與IP地址對應(yīng)的物理地址。同一個子網(wǎng)中具有組播功能的主機都是這個組的成員。范圍 TTL 地址區(qū)間 描述節(jié)點(Node) 0 只能向本機發(fā)送的數(shù)據(jù)包,不能在局域網(wǎng)內(nèi),主機的網(wǎng)絡(luò)接口將到目的主機的數(shù)據(jù)包發(fā)送到高層,這些數(shù)據(jù)包中的目的地址是物理接口地址或廣播地址。 MAR1=0x41。建議該過濾的算法不寫在單片機里,最好是先算好,存儲在單片機里,用的時候直接調(diào)用,以節(jié)省單片機的程序空間。程序調(diào)用的時候 將組播地址列表的地址傳遞到ds:si 。程序運算的結(jié)果放在mcast_list_bits里,相當(dāng)于c語言里的unsigned char mcast_list_bits[8]。 public set_multicast_listset_multicast_list:。t.。 Set the multicast mask bits in chip 。 set 32 bit numberadd_mcb_1: lodsb ;將一個字節(jié)的數(shù)(地址為si指向的數(shù))裝到AL里,同時使si地址+1 call upd_crc 。程序的執(zhí)行將dh里的數(shù)反順序排列 。循環(huán)左移,高位進c和低位, rol al,1 rol al,1 。 set the correct bit, 。 shift bx 。 xor with lsb of data 。 shift the data 。0x8000)!=0){cf=1。al=al1。}else{cf_temp=0。}else{cf_temp=0。}else{cf_temp=0。}else{cf=0。}。//字節(jié)順序為高位在前的2byte結(jié)構(gòu) }。//unsigned char multicast_address[6]={0x00,0x00,0x00,0x5e,0x00,0x01}。cx8。 //0001,1101,1011,0110b + 1 。}cl=8。bh=bh^bh。for(i=0
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1