基于嵌入式系统的智能控制网络终端你了解吗

但是,STM32F103在与W5100以SPI方式连接时,应注意以下几点:

(1)W5100的SEN引脚必须通过一个10 kΩ的电阻接到高电平,以选W5100的SPI接口方式;

(2)W5100的D0~D7、A0~A14及CS、WR、RD可以悬空,只使用SCLK、SCS、MOSI和MISO四根信号线;

(3)W5100的INT引脚是中断输出,MCU需要根据该信号来判断W5100的中断状态;

(4)LINKLED是W5100输出的以太网物理层信号,MCU需要根据该信号判断以太网的联接是否正常。该信号一般需要上拉输入到MCU;

(5)W5100的SPDLED、FDXLED、COLLED可以根据选择是否需要输入到MCU。

另外,系统中的存储器模块可以选用ST公司的64 MB的串行代码存储闪存M25P64。该器件的数据传输时钟频率为50 MHz,数据读取吞吐量为50 MB/s,其简单的SPI串行外设接口可简化系统的设计。本硬件平台使用两片M25P64级联,可存储128 MB的信息,图4所示是其存储电路,它完全可以满足平台信息采集存储的需求。为方便人员察看,系统中的LCD屏可选用(114.0 mm×64.0 mm)。

基于嵌入式系统的智能控制网络终端你了解吗

3 W5100的驱动程序设计

W5100的驱动程序主要完成初始化和端口的数据通信等功能。

通过SPI接口来配置W5100的寄存器一般具有固定的命令格式。根据SPI协议,SPI设备之间只有两条数据线。因此需要定义操作码(OP_Code)。W5100使用两种操作码:读操作码和写操作码。除了这两种代码,它将忽略和不响应其它的操作码。在SPI模式下,W5100只对“完整的32位数据流”进行操作。这个32位的数据流包括1个字节的操作码、2个字节的地址码和1个字节的数据。其操作码、地址和数据字节的传输都是高位(MSB)在前、低位(LSB)在后。也就是说,SPI数据的第一位是操作码域的MSB,最后一位是数据域的LSB。W5100的SPI数据格式如表1所列。

初始化W5100主要是设置W5100的公共寄存器,包括MR、IMR、RTR、RCR、GAR、SUBR、SHAR、SIPR、RMSR和TMSR。一般在使用W5100之前,都要对W5100进行初始化。

3.1数据通信的建立

TCP是面向连接的通信方式,它首先必须建立连接.然后才能利用IP地址和端口号进行数据通信。TCP有两种建立连接的方式,一是通过服务器模式(被动打开)等待连接请求;二是通过客户模式(主动打开)发送连接请求给服务器。本例采用TCP客户模式。在建立TCP连接之前,一般都需要初始化端口,包括设置端口号、设置W5100为TCP模式和写入OPEN命令。端口初始化主要配置端口0的相关寄存器,包括:S0_PORT、S0_MR和S0_CR。