小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

51驅(qū)動W5500做TCPClient

 回家的夢想 2021-12-14
  • W5500簡介
  • 芯片特點
  • 引腳說明
  • 相關寄存器相關程序測試結果圖總結

W5500簡介

本次寫一篇相關驅(qū)動W5500模組的文章,W5500 芯片是一種采用全硬件 TCP/IP 協(xié)議棧的嵌入式以太網(wǎng)控制器,它能使嵌入式系統(tǒng)通過 SPI(串行外設接口)接口輕松地連接到網(wǎng)絡。此次準備寫一下51驅(qū)動W5500作為客戶端的相關說明。下面我們將看到更多關于W5500模塊的說明以及如果使用它,我們也準備了相關的代碼以供測試使用。

文章圖片1

點擊圖片購買

芯片特點

①支持硬件 TCP/IP 協(xié)議:TCP、UDP、ICMP、IGMP、IPv4、ARP、IGMP、PPPoE 和以太網(wǎng)
②支持 8 個獨立的端口(sockets)
③極小巧的 LQFP48 無鉛封裝
④提供休眠模式
⑤提供網(wǎng)絡喚醒
⑥支持高速 SPI 總線(SPI 模式 0,3)
⑦內(nèi)部 32K 字節(jié)存儲器作 TX/RX 緩存
⑧內(nèi)嵌 10/100Mbps 以太網(wǎng)物理層
⑨支持自動協(xié)商(10/100-Based 全雙工/半雙工)
⑩不支持 IP 分段
注意:3.3V 工作電壓,I/O 口可承受 5V 電壓使用時一定要注意供電和I/O口的電壓不小心的話容易燒壞模塊。

引腳說明

引腳說明

功能說明

3.3V

3.3V 電源輸入引腳

MISO

SPI 主機輸入從機輸出引腳

MOSI

SPI 主機輸出從機輸入引腳

SCS

SPI SLAVE 選擇引腳(低電平有效)

SCLK

SPI 主機輸出從機輸入引腳

5V

5V 電源輸入引腳

GND

電源地引腳

RST

W5500 硬件初始化引腳(低電平有效)

INT

W5500 中斷引腳(低電平有效)

NC

懸空

原理圖可看:電路中加了LDO從而可以允許5V供電,注意供電3.3V不要接入5V會損壞模組

文章圖片2

相關寄存器

W5500具有一個公共寄存器和8個端口寄存器,TX和RX的緩沖區(qū)分配給8個端口寄存器,51單片機也可以通過查詢寄存器去讀取對應端口的狀態(tài)來檢測發(fā)送和接受數(shù)據(jù)。

文章圖片3

還有一些需要用到的公共配置的寄存器去配置IP或者MAC地址還有子網(wǎng)掩碼等參數(shù),8個端口寄存器可用于通信,使用端口號的值可以有SPI的BSB幀【4:0】進行選擇。
下圖為幾個重要配置參數(shù)寄存器可以分別配置網(wǎng)關,子網(wǎng)掩碼,MAC物理地址等信息。

文章圖片4


這些配置信息在程序中完成相關配置放入數(shù)組中存儲用于取用。

相關程序

驅(qū)動芯片:STC89C52
部分相關初始化函數(shù)可看下圖配置相關寄存器:
復位W5500并檢測以太網(wǎng)連接:

文章圖片5
/********************復位W5500并檢測W5500的連接狀態(tài)連接成功時候PHYCFGR寄存器LINK位硬件置1********************/void W5500_Hardware_Reset(void){W5500_RST=0;//復位引腳拉低Delay(200);W5500_RST=1;//復位引腳拉高Delay(200);while((Read_W5500_1Byte(PHYCFGR)&LINK)==0);//等待以太網(wǎng)連接完成

初始化相關代碼:
注意端口寄存器可配置TXBUFF,RXBUFF緩存空間大小
可參考手冊中的示例配置:

文章圖片6
void W5500_Init(void){unsigned char i=0;Write_W5500_1Byte(MR, RST);//軟件復位W5500,置1有效,復位后自動清0Delay(10);//延時10ms,自己定義該函數(shù)//設置網(wǎng)關(Gateway)的IP地址,Gateway_IP為4字節(jié)unsigned char數(shù)組,自己定義//使用網(wǎng)關可以使通信突破子網(wǎng)的局限,通過網(wǎng)關可以訪問到其它子網(wǎng)或進入InternetWrite_W5500_nByte(GAR, Gateway_IP, 4);//設置子網(wǎng)掩碼(MASK)值,SUB_MASK為4字節(jié)unsigned char數(shù)組,自己定義//子網(wǎng)掩碼用于子網(wǎng)運算Write_W5500_nByte(SUBR,Sub_Mask,4);//設置物理地址,PHY_ADDR為6字節(jié)unsigned char數(shù)組,自己定義,用于唯一標識網(wǎng)絡設備的物理地址值//該地址值需要到IEEE申請,按照OUI的規(guī)定,前3個字節(jié)為廠商代碼,后三個字節(jié)為產(chǎn)品序號//如果自己定義物理地址,注意第一個字節(jié)必須為偶數(shù)Write_W5500_nByte(SHAR,Phy_Addr,6);//設置本機的IP地址,IP_ADDR為4字節(jié)unsigned char數(shù)組,自己定義//注意,網(wǎng)關IP必須與本機IP屬于同一個子網(wǎng),否則本機將無法找到網(wǎng)關Write_W5500_nByte(SIPR,IP_Addr,4);//設置發(fā)送緩沖區(qū)和接收緩沖區(qū)的大小,參考W5500數(shù)據(jù)手冊for(i=0;i<8;i++){Write_W5500_SOCK_1Byte(i,Sn_RXBUF_SIZE, 0x02);//Socket Rx memory size=2kWrite_W5500_SOCK_1Byte(i,Sn_TXBUF_SIZE, 0x02);//Socket Tx mempry size=2k}//設置重試時間,默認為2000(200ms)//每一單位數(shù)值為100微秒,初始化時值設為2000(0x07D0),等于200毫秒Write_W5500_2Byte(RTR, 0x07d0);//設置重試次數(shù),默認為8次//如果重發(fā)的次數(shù)超過設定值,則產(chǎn)生超時中斷(相關的端口中斷寄存器中的Sn_IR 超時位(TIMEOUT)置“1”)Write_W5500_1Byte(RCR,8);}

測試結果圖

燒入51單片機后使用電腦打開TCP服務端口即可收到單片機作為客戶端發(fā)送到電腦服務端的相關數(shù)據(jù)。
==注意:==電腦服務端配置需要先配置好和單片機中程序中設置的目的IP和端口號不然沒法通信傳輸數(shù)據(jù)。

文章圖片7

總結

W5500內(nèi)嵌了硬件TCP/IP協(xié)議在使用過程中比較方便直接使用SPI進行通信即可驅(qū)動,免去軟件協(xié)議上的實現(xiàn),對于單片機的驅(qū)動以太網(wǎng)通信是十分方便的,程序代碼比較長,需要相關程序代碼的可下方留言獲取,另外可提供STM32相關驅(qū)動代碼,本文對于W5500的使用總結到此結束,歡迎一鍵三連?。。?/span>

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多