显示标签为“TCP/IP協定棧”的博文。显示所有博文
显示标签为“TCP/IP協定棧”的博文。显示所有博文

2012年10月17日星期三

教你如何使用網路單片機W7100A實現UDP通信

今天给大家介绍如何用网络单片机W7100A实现UDP通信。iMCU W7100A 是一款单片式以太网控制芯片,内嵌8051单片机、硬件 TCP/IP协议栈,以及10/100 高速以太网络MAC/PHY。

UDP提供不可靠、无连接的数据报文传输,它在没有建立连接时仍然能够处理数据。这样,可能会造成UDP信息的丢失、重叠或者改变。当数据包以高速方式传输时,接收端无法处理所有的数据。在这种情况下,用户必须考虑UDP是否符合自己的应用需求。由于UDP能够广播数据包,所以它通常用在多播系统下。

1. UDP SOCKET

用户可以使用W7100A所支持的8个socket作为UDP通信中的协议。但是,首先必须创建SOCKET。在创建SOCKET时需要用到socket号、使用的协议、使用的端口号以及设定的标志位。因为UDP协议是由Sn_MR_UDP(0×02)寄存器设定的(后面将会介绍)。Socket号则是由用户自己确定,可以选择W7100中0到7这8个socket中的任意一个或者全部8个socket。除此,用户也可以指定UDP协议中要使用的端口号。在打开UDP socket时,通过WIZnet提供的SOCKET()函数,来完成上面提到的各项参数的设定。

1.1 网络初始化

W7100A单片机的网路配置需要用到IP地址、网关、子网掩码以及MAC地址。网络参数的处理如图2.2.1所示。除此以外,还需要设置每一个socket的TX/RX缓存器以及其它寄存器的大小。

                       <图2.1> 设定网络配置

1.2 打开(OPEN)

由于UDP不需要建立连接就可以进行通信,可以通过调用socket()函数轻松创建UDP
socket。如图2.2.2所示为创建UDP socket的例程。

                     <图2.2> UDP socket的创建

1.3 接收(RECEIVE)

图2.2.3显示了数据的接收过程。在接收数据之前,用户可以通过检查Sn_RX_RSR来确定要接收的数据的长度。一旦有数据被接收到,用户便可以利用recvfrom()函数来执行接收过程。

                          <图2.3> 接收数据

1.4 发送(SEND)

在发送UDP数据报文之前,用户必须设置目的地IP地址和端口;一旦设置完成,用户再通过sendto()函数将UDP数据报文送出。

                            <图2.4>发送UDP数据

2. UDP回路测试程序

这一章节将会介绍如何利用第二章中的函数来实现UDP回路测试。UDP回路测试程序是一种编码,它可以将从对端接收到的数据准确无误的发送回去。
下面就是UDP串行回路测试程序的例子:

                     <图3.1> UDP回路测试程序

后面将会介绍UDP回路测试程序的代码示例。首先,设置IP或端口等网络信息,然后打开Sn_SR寄存器。Sn_SR在UDP模式下存在两种状态:一种是SOCK_UDP, 此时UDP socket已经成功打开并且可以进行UDP通信。在此状态下,在接收到UDP数据后,通过recfrom()函数和sento()函数再将数据回送。另一种状态是SOCK_CLOSED,UDP在这种状态下是未被打开的,必须先通过close()函数关闭socket,之后重新调用socket()函数打开socket。


3. UDP回路测试演示

在这一章节,将会用具体的示例代码程序来演示UDP回路测试。首先,下载UDP回路测试程序的应用文件到iMUCW7100EVB开发板,执行该程序确认iMCUW7100EVB是否可以正常进行回路测试。更多的详细信息,请参阅文档‘如何在W7100中建立工程(project)’,‘WizISP程序指南’以及‘W7100A Debugger指南’。

对于UDP回路测试程序,用户可以按照下面的步骤操作:

l 确认测试环境。详细信息,请参阅文档‘iMCUW7100EVB用户指南’。
用UTP线连接PC测试机和iMCUW7100EVB
用串行线连接PC测试机和iMCUW7100EVB
连接5V电源适配器到iMCUW7100EVB,并打开电源

l 确认测试PC机的网络信息:
源IP地址 : 192.168.1.2
网关IP地址: 192.168.1.1
子网掩码: 255.255.255.0

l 运行超级终端机程序和AX1程序


3.1 超级终端机

                 <图4.1> 超级终端机选项

运行超级终端机,如图4.1所示,设置串行通信选项,超级终端机程序将会然后通过串行通信显示iMCU7100EVB开发板的状态。

3.2 AX1程序

                   <图4.2> AX1设置为UDP通信

运行AX1程序,然后将AX1程序设置为UDP通信方式,如上图4.2所示。关于AX1程序设置的更多详细信息请参考AX1用户手册。如果要想使用UDP发送,请选择菜单栏中的UDP => SEND,然后点击OK按钮,AX1程序将会显示客户端PC机的状态。

3.3 UDP回路测试程序演示

在所有的设置完成后,点击UDP发送按钮。AX1将会显示PC机的进程,如图4.3中显示了发送/接收数据的大小,同时如图4.4超级终端机程序将会显示服务器iMCU7100EVB的处理进程。


                    <图4.3>使用UDP发送临时数据



            <图4.4> 超级终端机程序窗口



2012年9月11日星期二

【視頻教程】WIZnet產品WIZ145SR使用者手冊動畫視頻



本視頻出自原創,是關於微知納特公司乙太網產品WIZ145SR的產品特徵、內部結構、以及通信演示的動畫視頻。WIZ145SR是4個串口介面的串口轉乙太網模組,提供RJ-45連接器。
瞭解更多有關WIZ145SR的資料,歡迎登錄WIZnet中文網站:www.iwiznet.cn 或者官方blogblog.iwiznet.cn

微知納特,專注開發全硬體TCP/IP協定棧晶片。

2012年8月23日星期四

單片網路介面晶片W5100的性能介紹與應用設計


本篇博文引用了上海電力學院學報裡的一篇論文,該論文介紹了W5100晶片的性能特點和內部結構,分析了其軟硬體應用設計方法。W5100WIZnet公司推出的一款TCP/IP硬體協定棧的升級產品,是一種多功能的單片網路介面晶片,它除了集成TCP/IP協定棧外,還集成乙太網MAC層和實體層。(查看論文內容

下面簡單介紹下關於WIZnet公司的這一款硬體TCP/IP協定嵌入式乙太網控制晶片——W5100


1.W5100 (WIZnet硬體TCP/IP協定嵌入式乙太網控制晶片)
性能的好處
高速網路應用層資料傳輸,速率可達到
25Mbps(使用全硬體TCP/IP協定)
實行的好處
簡單易用, 減少開發時間
價格的好處
容易應用TCP/IP協定(不需使用OS)
嵌入 MAC & PHY
2. 結構圖

3. 功能

- 支援硬體TCP/IP協定: TCP, UDP, ICMP, IGMP, IPv4, ARP, PPPoE, Ethernet
- 內嵌10BaseT/100BaseTX乙太網實體層
- 支援自動回應(全雙工/半雙工模式)
- 支援自動極性變換(MDI/MDIX
- 支援ADSL連接 (支援PPPOE協定,帶PAP/CHAP驗證)
- 支持4個獨立的埠(sockets)同時連接
- 不支持 IP 分段
- 內部16K位元組記憶體作TX/RX緩存
- 0.18μm CMOS工藝
- 3.3V工作電壓,I/O口可承受5V電壓
- 小巧的LQFP80無鉛封裝,符合環保要求
- 支援串列外設介面(SPI Mode 0,3)
- 多種指示燈信號輸出(TxRxFull/DuplexCollision,Link,Speed

 
更多產品信息來這裡看:WIZnet官網>W5100
不懂得可以留言諮詢喔~