1.2 TCP/IP协议栈W3100A简介
W3100A是一种TCP/IP协议栈芯片,它包含了TCP、IP Ver.4、UDP、ICMP、ARP等Internet协议和DLC、MAC以太网协议。其功能框图如图 3所示。W3100A芯片由4部分组成:微控器接口单元、网络协议引擎、双口RAM及网络物理层介质开关接口MII(Media Independent Interface)单元。W3100A支持全双工20Mbps的数据通信,并可同时支持4个独立的网络连接;提供16KB的数据缓冲双口SRAM;采用0.35μm的CMOS工艺,64引脚LQFP封装;采用3.3V电源电压,其I/O接口兼容了5V的数字逻辑电平,可非常方便地与MCU和DSP接口连接。
2、电路设计
该系统的主要电路由微控制器MSP430F169、网络协议栈W3100A、以太网接口控制器RTL8201及网络接口构成。W3100A与MSP430F169的连接可采用I2C接口模式或直接总线模式。采用I2C接口模式的优点是电路简洁,占用端口资源少。但I2C接口的传输速度会受到一定限制,所以当要求更高传输速度时,可采用直接总线接口方式,如图 4所示。W3100A提供MII接口与RTL8201相连,其中引脚RX_CLK、RXDV、RXD[0:3]以及COL用于数据的接收,而TX_CLK、TXE、TXD[0:3]用于数据的发送。
在接口的实现中,以太网变压器是不可缺少的。在差分发送引脚(TX+/TX-)上,需要一个专用于10BASE-T 操作的脉冲变压器,将要发送的数据发送到网络上。网络传来的数据也经过变压器,由差分接收引脚(RX+/RX-)接收。以太网变压器的作用主要是将外部线路与RTL8201隔开,防止干扰和烧坏元器件,实现带电的插拔功能。本设计采用了PULES的J0011型变压器,其内部结构如图 5所示。该变压器集成了RJ-45接头,在简化了连线的同时也提高了高频信号传输的可靠性。
同时在设计复位电路时应注意,由于W3100A的复位引脚为高电平有效,而MSP430F169和RTL8021的复位引脚为低电平有效,所以在设计复位电路时要求同时产生高、低两路复位信号,如图 6所示。
3、软件设计
3.1 MSP430总线读写
W3100A有专门的微控制器接口与MCU相连,其总线操作类似于MCU对外部存储器的读写。但MSP430微控制器没有专门的外部扩展总线接口,所以这里采用通用端口模拟外部扩展总线端口。对于W3100A的访问要依照其读写时序进行操作,如图 7、图 8所示,可将读写程序作为函数在主程序中调用。
下面列举了部分读总线程序:
写总线过程与读总线类似,不同的是将P4端口设为输出状态,并操作写有效(/WE)。要注意的是/WE恢复到高电平时的上升沿触发数据写入。