控制/MCU
应用资料
W5100有三种方式与 MCU接口:直接总线接口、间接总线接口和 SPI总线接口。
直接总线接口模式
直接总线接口模式采用15位地址线和8位数据线,另加/CS,/RD,/WR,/INT等信号线。
间接地址接口模式
间接总线接口采用 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写,数据就可以连续地读出或写入。
SPI总线接口
串行接口模式只需要 4个引脚进行数据通信。这 4个引脚的定义分别为:SCLK、/SS、MOSI、MISO。W5100的 SPI_EN引脚选择 SPI操作。
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的下降沿输出。
2 命令
根据 SPI协议,SPI设备之间只有 2条数据线。因此需要定义操作代码(OP-Code)。W5100使用两种操作代码——读代码和写代码。除了这两种代码,其它的操作码都不响应。
在 SPI模式,W5100使用“完整 32位数据流”。
完整的 32位数据流包括一个字节的操作码、2个字节的地址码和 1个字节的数据。操作码、地址和数据字节传输都是高位(MSB)在前低位(LSB)在后。换句话说,SPI数据的第一位是操作码的高位(MSB),最后一位是数据的低位(LSB)。
W5100的 SPI数据格式如下:
3 SPI主设备操作
1. 配置SPI主设备输入/输出方向
l */SS(从设备选择):输出
l *SCLK(串行时钟):输出
l *MOSI(主输出从输入):输出
l *MISO(主输入从输出):输入
2. 配置/SS为高电平
配置SPI主设备的寄存器
l *SPI使能位在SPCR寄存器(SPI控制寄存器)
l *主/从设备选择位在SPCR寄存器
l *SPI模式选择在SPCR寄存器
l *SPI数据速率在SPCR寄存器和SPSR寄存器(SPI状态寄存器)
4. 向SPDR寄存器(SPI数据寄存器)写入要传输的数据
5. 配置/SS为低电平
6. 等待接收完成
7. 如果所有数据都传输完成,配置/SS为高电平
全部0条评论
快来发表一下你的评论吧 !