DIY编程器网

标题: W5100数据手册 Version 1.2.4 版本之:.应用资料 [打印本页]

作者: admin    时间: 2015-4-27 23:58
标题: W5100数据手册 Version 1.2.4 版本之:.应用资料
6. 应用资料
          W5100有三种方式与 MCU接口:直接总线接口、间接总线接口和 SPI总线接口。
           
          6.1 直接总线接口模式
          直接总线接口模式采用15位地址线和8位数据线,另加/CS,/RD,/WR,/INT等信号线。
           
         
           
          6.2 间接地址接口模式
          间接总线接口采用 2位地址线,8位数据线,另加/CS,/RD,/WR及/INT等信号线。[14:2]没用到的地址线经过电阻接地。
         
           
          间接总线接口模式相关寄存器说明如下:
         
         
           
          读/写内部寄存器或存储器的过程如下:
           1. 先将要读写的地址写入到IDM_AR0或IDM_AR1寄存器当中。
           2. 再从IDM_DR寄存器中读或写。
           
          如果要对某个地址顺序地读写,则可以将模式寄存器 MR的 AI置”1”,然后执行一次述第 1项后,在读写 IDM_DR,IDM_AR的值将自动加 1。这样,只需要连续对 IDM_DR写,数据就可以连续地读出或写入。
           
          6.3 SPI总线接口
          串行接口模式只需要 4个引脚进行数据通信。这 4个引脚的定义分别为:SCLK、/SS、MOSI、MISO。W5100的 SPI_EN引脚选择 SPI操作。
         
           
          6.3.1 设备操作
          主控制器(SPI的主设备)发出一系列指令控制 W5100的运行。SPI主设备通过四个信号线与W5100通信:从设备选择(/SS)、串行时钟(SCLK)、MOSI(主出从入)和 MISO(主入从出)。
           
          SPI协议定义了四种操作模式(模式 0、1、2、3),每种模式的差异在于 SCLK时钟极性和相位,它控制数据在 SPI总线上传输。
           
          W5100工作在 SPI从设备的模式 0,这是最通用的工作模式。
           
          模式 0和模式 3的唯一差别在于非工作状态时的时钟 SCLK的极性。在 SPI模式0和模式 3,数据在时钟 SCLK的上升沿锁定,在时钟 SCLK的下降沿输出。
           
          6.3.2 命令
          根据 SPI协议,SPI设备之间只有 2条数据线。因此需要定义操作代码(OP-Code)。W5100使用两种操作代码——读代码和写代码。除了这两种代码,其它的操作码都不响应。
           
          在 SPI模式,W5100使用“完整 32位数据流”。
           
          完整的 32位数据流包括一个字节的操作码、2个字节的地址码和 1个字节的数据。操作码、地址和数据字节传输都是高位(MSB)在前低位(LSB)在后。换句话说,SPI数据的第一位是操作码的高位(MSB),最后一位是数据的低位(LSB)。
           
          W5100的 SPI数据格式如下:
         
           
          6.3.3 SPI主设备操作
           1. 配置SPI主设备输入/输出方向
           l */SS(从设备选择):输出
           l *SCLK(串行时钟):输出
           l *MOSI(主输出从输入):输出
           l *MISO(主输入从输出):输入
           
           2. 配置/SS为高电平
           
           
           3. 配置SPI主设备的寄存器
           l *SPI使能位在SPCR寄存器(SPI控制寄存器)
           l *主/从设备选择位在SPCR寄存器
           l *SPI模式选择在SPCR寄存器
           l *SPI数据速率在SPCR寄存器和SPSR寄存器(SPI状态寄存器)
           
           4. 向SPDR寄存器(SPI数据寄存器)写入要传输的数据
           
           5. 配置/SS为低电平
           
           6. 等待接收完成
           
           7. 如果所有数据都传输完成,配置/SS为高电平
         




欢迎光临 DIY编程器网 (http://www.diybcq.com/) Powered by Discuz! X3.2