W5100S使用FSMC總線方式解析

W5100S使用FSMC總線方式解析

W5100S, 博客
- - - W5100S介紹 W5100S 是一款多功能的單芯片網絡接口芯片,內部集成全硬件的TCP/IP協議棧,以太網MAC和 10Base-T/100Base-TX以太網控制器。主要應用於高集成、高穩定、高性能和低成本的嵌入式系統中使用W5100S,用戶MCU可以方便的處理IPv4,TCP,UDP,ICMP,IGMP,ARP,PPPoE等各種TCP/IP協議。W5100S分別擁有8KB的發送緩存和接收緩存,可以最大限度地減少MCU的開銷。主機還可以同時使用W5100S的4個獨立的硬件SOCKETs,並基於每個硬件SOCKET開發獨立的互聯網應用。 W5100S支持SPI接口和並行系統總線接口。 它還提供低功耗/低熱量設計,WOL(Wake On LAN),以太網PHY掉電模式等。 W5100S是基於W5100改進的低成本網絡接口芯片。W5100使用的任何固件及程序都可以直接在W5100S上使用,無需任何修改。 此外,W5100S採用48引腳LQFP和QFN無鉛封裝,明顯小於W5100的80引腳封裝,方便產品小型化 W5100S總線方式 W5100S連接的MCU型號是STM32F103VCT6。(以下簡稱STM32) STM32與W5100S採用間接總線的通信方式。並行接口通過下表中的寄存器訪問通用寄存器/SOCKET寄存器,TX/RX數據緩衝區。並支持多字節數據的順序讀寫 表 間接模式地址值 ADDR[1:0] 符號 描述 00 MR 通用寄存器MR 01 IDM_ARH 高8位偏移地址寄存器 10 IDM_ARL 低8位偏移地址寄存器 11 IDM_DR 8位數據寄存器 並行總線數據寫入,多字節數據寫入時序,如下圖所示: 間接模式連續寫入 並行總線數據讀取,多字節數據讀取時序,如下圖所示: 間接模式連續讀取 FSMC簡介    FSMC包含四個主要模塊: AHB接口(包含FSMC配置寄存器) NOR閃存和PSRAM控制器 NAND閃存和PC卡控制器 外部設備接口 W5100S如何使用FSMC總線 STM32的FSMC支持數據與地址線 復用 或 非復用 兩種模式: 非復用模式:16位數據線及26位地址線分開使用。只能在144腳及以上的STM32上使用該模式。 復用模式:低16位數據/地址線復用。在該模式下,使用地址鎖存器以區分數據與地址。 在復用模式下,若不使用鎖存器,當NADV為低時,ADx(x=0…15)上出現地址信號Ax,當NADV變高時,ADx上出現數據信號Dx;若使用鎖存器:可同時在ADx上得到Ax和Dx。 FSMC中未使用的數據線或地址線可配置為GPIO。對於16位寬度的外部存儲器,FSMC將在內部使用HADDR[25:1]產生外部存儲器的地址FSMC_A[24:0]。因此,實際的訪問地址為右移一位之後的地址。 非復用模式的非復用接口: 復用模式的復用接口: W5100S使用FSMC總線的復用模式(MUXEN),W5100S直接與FSMC總線的復用引腳AD0~AD1相連,不需要增加外部器件。如下圖所示: 根據上圖所示:當該位為‘0’時,則為非復用模式;當該位為‘1’時,則為復用模式。 以下是介紹W5100S使用FSMC總線的復用模式:(WIZnet官方使用FSMC復用模式) W5100S與STM32通信採用FSMC總線方式的復用模式,如原理圖所示,在數據傳輸時需要保存DA0、DA1地址不變,所以需要外部連接一個鎖存器,使用了74HC573PW作為地址鎖存器,如FSMC的讀寫數據時序圖所示,STM32的FSMC_NADV是低電平輸出地址,因為鎖存器高電平輸入有效,所以將FSMC_NADV信號進行反轉,由低電平轉換成高電平,通過鎖存器實現地址鎖存。 地址鎖存原理圖 FSMC_NADV信號寫數據時序圖 FSMC_NADV信號讀數據時序圖
Read More