tag 标签: 硬件tcpip

相关博文
  • 热度 30
    2015-7-28 11:54
    1139 次阅读|
    0 个评论
    Wizwiki-W7500开发板简介 WIZnet WIZwiki 开发板是基于WIZnet  MCU  W7500的开发板。 The IOP4IoT W7500 芯片为单芯片解决方案,集成ARM Cortex-M0,128KB Flash 及用于多种嵌入式应用平台的全硬件TCP/IP核,特别适用于物联网领域。使用 WIZwiki-W7500,助您轻松完成原型开发。WIZwiki-W7500与Arduino插板兼容,使用CMSIS-DAP USB 及ISP插针,轻松实现固件写入。 特点 WIZnet  W7500 ●    ARM Cortex-M0 Core ●    48MHz, 128KB Flash ●     16KB RAM ●     32KB RAM 用于 TCP/IP – 可扩展至系统 RAM ●    全硬件TCP/IP 核 ●     MII 接口 ●    ADC (8) ●    GPIO (53) ●    SWD (串行线调试) ●    Timer/PWM ●    UART (3) ●     SPI (2) ●     I2C (2) 外部 Ethernet PHY ●    IC+ IP101GA ●    单串口 10/100 MII/RMII/TP/Fiber 快速以太网收发器 ●    自动 MDI/MDIX 功能 ●    支持 MDC MDIO与MAC通信 CMSIS-DAP ●     LPC11U35FHI33/501,  ARM Cortex-M0 Core, NXP ●     Drag-n-drop 编程 ●     USB 串口 ●     可用C/C++ SDK 连接器 ●    Mini  USB接口 ●    沉板型 RJ45(带变压器) ●    Arduino 兼容引脚 ●     SWD 插针 (1.27mm 2.54mm) ●    GPIO 插针 ●     ISP 插针 ETC ●     5V USB 供电或5V 插针供电 ●     2 个系统开关 – RESET SW, BOOT SW ●    RGB LED ●    Micro SD 卡槽 WIZwiki-W7500 方框图  如何启动WIZwiki-W7500开发板? 当你拿到WIZwiki-W7500开发板时,首先,串口驱动安装及硬件测试是必须的。因为WIZwiki-W7500使用CMSIS-DAP固件写入,并通过W7500上的UART1进行串口通信。 安装串口驱动 通过ARM mbed安装串口驱动,请参考以下链接。 如何安装WIZwiki-W7500串口驱动 硬件自测 WIZwiki-W7500有一个内置默认固件。你可以使用下面的默认固件进行自测。 下载WIZwiki-W7500实例代码 测试序列 1. 将WIZwiki-W7500连接网线,USB线。如果你有一个SD卡,插入SD卡。 2. 在控制面板中运行设备管理器,检查COM端口是否分配到了WIZwiki-W7500上的USB端口上。 3. 按 Reset SW,WIZwiki-W7500上的LED ‘D4’会开启。如果D4关闭,再次按下Reset SW。 Serial setting Baud rate : 115200 Data bits : 8 Parity : None Stop bits : 1 Flow : None 4. If you have a SD card, the state of D4 will turn like this: White = White Blink = Yellow The following message prints out to the serial port. If you do not have a SD card, D4 of the state will turn like this: White = White Blink = Red The following message prints out to the serial port. 继续阅读:http://www.iwiznet.cn/blog/?p=7347
  • 热度 29
    2012-11-6 10:36
    835 次阅读|
    0 个评论
    在昨天的博文的 “WIZ140SR/WIZ145SR用户手册 ( 版本 1.0 ) (一)”中有讲到串口模块WIZ14XSR的入门指南及部分配置功能,今天继续昨天的内容,讲解其他的功能及测试方法和步骤,希望对大家有帮助!   3.6 实时调试功能 在系统开发过程中,当模块连接到系统时,该功能用于检查模块的状态。控制台端口用于实时读取模块的调试码。 图 6 通过串口进行调试 3.7 数据打包功能 该功能决定串口读取的数据以何种以太网数据包发送给远程服务器或客户端。   3.7.1 特殊字符 串口数据保存在模块的内存缓存中,直到接收到特殊字符,缓存的数据被转换成以太网数据包发送给远端系统。 该功能适用于在串口发送给模块的数据帧是以特殊字符结束的情况。   ① 单击 “Search” 按钮,搜索连接到以太网的模块; ② 在屏幕左边显示的列表框中选择模块的MAC地址; ③ 在“Data Packing Condition”文本框的“Character”字段输入十六进制的ASCII码值, (输入0×00为禁用该功能) ④ 单击“Setting” 按钮。   3.7.2 大小 该功能用于在串口缓存数据,直到串口接收到的数据达到指定的字节大小时,缓存的数据被转换成以太网数据包发送给远端系统。 该功能适用于串口发送的数据大小固定的情况。 ① 单击 “Search”按钮,搜索连接到以太网的模块; ② 在屏幕左边显示的列表框中选择模块的MAC地址; ③ 在“Data Packing Condition”文本框的“Size”字段输入预期的大小; (输入0 为禁用该功能) ④ 单击“Setting” 按钮。   3.7.3 时间 如果在指定时间内,串口没有数据交换时,串口缓存的数据被转换成以太网数据包发送给远程系统。如果串口接收到新的数据,则重新开始计时,并且将接收到的数据保存到串口缓存中。 时间条件适用于串口数据大小不固定,并且没有结束字符的情况,但是需要以帧为单位进行发送(如果该值设为0,表示不用该选项。)。 ① 单击 “Search”按钮,搜索连接到以太网的模块; ② 在屏幕左边显示的列表框中选择模块的MAC地址; ③ 在“Data Packing Condition”文本框的“Time”字段输入预期的大小; (输入0 为禁用该功能) ④ 单击“Setting” 按钮。   3.7.4 复合配置 以上三个功能可以混合使用。   3.8 闲置时间功能 如果在指定时间内,模块与远程系统之间没有任何的数据转换,该功能就用于强制断开通信连接(TCP socket)。 ① 单击“Search” 按钮,搜索连接到以太网的模块; ② 在屏幕左边显示的列表框中选择模块的MAC地址; ③ 在“Disconnect Condition”文本框的“Inactivity Time”字段输入预期的大小; (输入0 为禁用该功能) ④ 单击 “Setting”按钮。   3.9 通过TCP/IP烧录固件 该功能用于烧录模块的固件。 ① 单击“Search” 按钮,搜索连接到以太网的模块; ② 在屏幕左边显示的列表框中选择模块的MAC地址; ③ 单击“…” 选择需要烧录的二进制文件; ④ 单击”Upload” 按钮。 ※ 为了使用固件烧录的功能,需要配置模块通信的IP地址。确保利用ping测试检查模块可以通信。 3.10 日志数据保存和报告功能 该功能是通过将模块的操作和结果保存在内存中,可以在用户需要的时候加载和读取。该功能可以在与远程系统通信不良的情况下检查问题所在,例如,串口设备是否发送了数据,模块是否断电,通信电路是否出问题(ISP通信电路)。 3.10.1 日志数据 3.10.1.1 日志数据帧     Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 时间信息 CODE PARM1 PARM2 PARM3 日志时间 日志数据   3.10.1.2 代码和参数 表 4 日志数据代码和参数表 3.11 TCP连接状态函数 该功能用于检查模块的每个信道的连接状态。(可以通过引脚进行检查,如果引脚为低电平,则状态为“已连接”;如果引脚为高电平,则状态为“未连接”) ※ 如果是串口命令模式,所有的通信信道会被强制清除,并且连接的状态不能通过串口进行检查。   4 测试   4.1 运行在服务器模式   4.1.1 组成   4.1.2 操作顺序   ① 单击“Search” 按钮,搜索连接到以太网的模块; ② 在屏幕左边显示的列表框中选择模块的MAC地址; ③ 第1信道配置; ④ 第2信道配置; ⑤ 第3信道配置; ⑥ 第4信道配置; ⑦ 单击 “Setting” 按钮; ⑧ 应用对模块新配置的值并重启。 图 8 模块重启的控制台屏幕显示 ⑨ 运行Socket通信程序,尝试连接; 图 9 使用TCP/IP连接模块的屏幕显示 ⑩ 使用调试终端检查与模块的连接状态; 图 10 TCP连接后的控制台屏幕显示 ⑪ 重复这些步骤配置其他信道,并启用数据通信。     本手册的全部内容就是这些,欢迎大家的探讨和评论,可以给我发邮件或是评论留言。谢谢关注!
  • 热度 32
    2012-10-11 10:56
    1067 次阅读|
    0 个评论
      该文章详细描述了W5200芯片驱动中使用基本的TCP socket应用程序接口实现FTP客户端的所有步骤。   IAR 5.41是用来编译该FTP客户端应用笔记的软件。W5200E01-M3是用来运行该FTP客户端应用的板子。   该文档中提到的所有代码和文件都可以从官网下载。   1. FTP客户端 如同每个标准FTP客户端的实现,任何FTP连接都有两个通道,一个会话通道和一个数据通道。会话通道是用来交换FTP服务器和客户端之间标准的FTP命令。数据通道是用来交换数据(像上传或下载一个文件)。 需要记住,必须创建两个到FTP服务器的TCP请求。一个TCP请求用于会话通道创建,另一个用于数据通道创建。 遵循下面的程序来建立FTP客户端。请参阅下面一节的应用实例。   1 创建一个TCP服务器监听一个特定的端口。该服务器将被用做数据通道(来自FTP服务器的入口数据连接)。 2 执行一个TCP客户机请求,该TCP客户机请求通过端口21到任何FTP服务器。这将用作会话通道。 3 在成功创建连接后,给出需要的登录认证信息(使用标准的FTP命令)来连接FTP服务器。服务器将回复登录成功的提示。 注意:考虑到内存大小和常用命令,该应用笔记只支持ls,cd,put,get和bye。其他命令不支持。 4 根据FTP标准,如果必须执行任何相关数据的操作,则需要在一个新的数据通道中执行(来自FTP服务器的入口数据)。因此实现/创建该数据连接,FTP客户端需要提供详细的IP地址和socket,该socket将接收来自FTP服务器的入口数据。为了达到这些要求,FTP协议建议使用命令“PORT”。(该端口命令有6个参数,前4个参数建立IP地址,后两个参数建立通信端口) 5 如果FTP服务器针对发出的端口命令返回一个成功消息,连接已准备好数据通信了。 6 执行任何数据相关的FTP命令时,FTP服务器初始化一个入口数据通道到TCP服务器,该TCP服务器在W5200中处于监听模式下。FTP服务器使用端口命令提供的信息来初始化该数据连接。 7 在数据传输结束后,FTP服务器将关闭该数据通道。 8 为了以后相关数据的活动,通过发出另一个端口命令重新启用数据通道,再启用会话通道。   阅读全文 : http://blog.iwiznet.cn/?p=1351
  • 热度 25
    2012-9-19 11:30
    1256 次阅读|
    0 个评论
    这篇文档将会介绍DNS以及如何用iMCU7100EVB来实现DNS客户端,并且通过实际例子演示该功能。 在昨天的博文“如何用W7100A实现DNS客户端(一)”我们给大家介绍了第二章域名系统以及第三章DNS演示的部分,今天继续与大家分享第四章实现代码的内容。本文中所有的示例代码全部基于Keil编译环境。 这是本篇文档的最后一部分,希望对大家有所帮助。   第一部分请参考:http://blog.iwiznet.cn/?p=1208       4 实现代码 本章将会介绍相关的示例代码,这些代码被下载到iMCU7100EVB开发板后,开发板利用UDP协议实现DNS客户端的功能。更多关于UDP协议的详细信息,请参考文档‘如何使用W7100A实现UDP通信’。   4.1 dns_query()函数 该DNS客户端的示例代码是用dns_query()函数完成的。其它的低级函数被dns_query()函数调用执行。代码4.1为dns_query()函数的代码。 所有的变量都定义于dns_query()函数内,结构变量dhdr位于dns.c的头文件中。DNS_IP保存DNS服务器的IP地址,必须正确输入。 首先,打开UDP socket。在代码4.2中,将端口号设置为5000(端口号可以根据用户的需求进行修改),然后利用dns_makequery()函数(后面将会详细介绍该函数)创建一个查询信息。在查询信息创建后,调用sento()函数将该信息作为一个UDP数据包发送到服务器。 在发送完查询信息后,iMCU7100EVB等待DNS服务器的响应。通过getSn_RX_RSR()函数来确认DNS服务器是否接收到响应信息;如果在一段时间后没有收到响应,就会认为是超时。一旦有响应,通过recvfrom()函数接收响应,并且调用parseMSG()函数来解析该响应信息。parseMSG()函数可以检测来自DNS服务器应答的rcode(DNS信息报文头段);并且返回1或者0。若返回值为1(rcode=0), 表示域名搜索成功。除了0之外的其它值都表示发生错误,但是在示例代码中,对于其它错误parseMSG()函数的返回值都将为0。   后续部分请参考: 如何用W7100A实现DNS客户端(二)/ http://blog.iwiznet.cn/?p=1220     技术支持: wiznetbj@wiznettechnology.com 销售和代理: winzethk@wiznettechnology.com   更多信息,请登录我们的官方网站:http://www.wiznettechnology.cn     有关产品W7100A的更多应用博文,请参考下列文章: 如何用W7100A实现DNS客户端 如何用W7100A实现HTTP客户端(一)  
  • 热度 20
    2012-3-14 10:20
    3259 次阅读|
    0 个评论
    通过这段时间连续对硬件开放平台Arduino的介绍,相信大家对它已经有初步的了解了。可是你了解Arduino的Ethernet shield方案吗?你知道在Arduino网络扩展板中谁的方案表现最佳吗?毫无疑问是WIZnet硬件网络芯片W5100. Arduino 电子积木-W5100网络芯片 目前将Arduino连接到局域网中已经有不少解决方案,比如之前介绍Ethernet扩展板或者WiFi模块,这里要介绍的电子积木W5100网络模块提供了另外一种选择。W5100是一款集TCP/IP协议、MAC和PHY于一体的网络芯片,支持直接总线接口、间接总线接口和 SPI总线,并且Arduino IDE内置Ethernet库就是直接针对W5100设置的。这款W5100网格模块电子积木采用的是SPI接口,因此我们可以使用IDC扩展板与Arduino主板进行连接: 另外正常使用时模块上的PROG开关不能置到ON的位置上: 测试的话我们可以使用Arduino自带的Ethernet库中的WebServer例子,从Arduino IDE的File-Examples-Ethernet菜单中选择WebServer,打开相应的代码: 根据你的局域网设置的不同,一般只需要修改IP地址就可以了:byte ip[] = { 192,168,0, 177 }; 相应的程序下载到Arduino并运行起来之后,Arduino实际上就成为了一个Web Server,因此我们可以通过浏览器来进行访问。Ethernet库所提供的WebServer程序实际上是接收来自于浏览器的请求,读出所有模拟输入端口的值,并返回给浏览器。如果感兴趣的话可以试着在模拟输入端口上接上相应的传感器,来观察返回值的不同: 如果您想知道更详细的内容,请关注  http://blog.flamingoeda.com/ Arduino相关网站: Arduino官方(英文): http://www.Arduino.cc Arduino中国相关网站:http://blog.flamingoeda.com/ Arduino台湾(繁体:) http://www.Arduino.tw 如果您对WIZnet产品有任何疑问,欢迎大家留言一起讨论哦。