视频:WIZnet全硬件TCPIP协议栈芯片视频教程系列之——WizFi210

博客
http://v.youku.com/v_show/id_XNDM2MTQ1NTI0.html WizFi210- 低功耗“串口转WiFi”无线模块         已被完全认证的WizFi210系列模块,为一些设备和电器制造商在他们的产品上增加无线功能提供了一种快速、简单和高性价比的实现方法。这个模块具有串行UART接口,这些接口通过一些简单的命令可以连接到任何的利用一个8/16/32位单片机的嵌入式。对于那些受WIFI或RF技术限制的用户,WizFi210对于有一点或者没有无线网络或RF技术的产品是一种非常理想的解决方案。它不仅大幅减少了RF的设计时间,同时也消除了测试和认证的负担,使用户可以专注于他的核心应用、产品或技术。模块支持的数据速率可达到11Mbps,与802.11b兼容。           WizFi210为用户提供了超低功耗无线片上系统和串口转WIFI的嵌入式软件来评价它的无线网络能力。串口转WIFI的嵌入式软件可以使设备和电器生产商很方便地为他们的产品增加WIFI功能,并且对单片机的固件影响甚微。          视频中为您展示WizFi210的几大特点:         特点一:串口转WiFi透传         特点二:支持802.11b,最高速率可达11Mbps         特点三:支持WEP,WPA,WPA2-PSK等加密         特点四:支持AT命令配置         特点五:超低功耗,支持AT命令唤醒         特点六:体积小巧,尺寸:23*23.5*3mm         特点七:工作电压:DC3.3V;工作温度:-40°C 至+ 85°C         (通过KCC,CE,FCC三大认证)         另有评估板WizFi210-EVB的快速演示。                     感谢您的关注!          更多信息请登录WIZnet官方主页:http://www.iwiznet.cn/                                    WIZnet企业官方微博:http://e.weibo.com/wiznet2012                        
Read More

WIZnet将出席国际集成电路中国展会(IIC China)(明日开幕)

博客
  中国香港—WIZnet香港有限公司是WIZnet有限公司亚太分公司。         将作为唯一的一家全硬件TCP/IP以太网芯片公司,出席于明日开始的在国际集成电路中国展会(IIC China)。展会在中国深圳举办,历时三天。届时WIZnet香港有限公司将提供更多有关该以太网芯片的讯息。并有经销商携带设计参展,让用户获悉WIZnet产品的优势。 (以下是2012年展会相关照片) 国际集成电路展会内容: 代理商展位 我们中国区域的代理商计划展出:他们客户的最新设计并提供详尽的解说及技术支持。 2.    IIC展会演讲 WIZNet中国地区总经理陈海峰博士将举行题为“简化开发嵌入式以太网”的主题演讲。 演讲题目:简化开发嵌入式以太网 以太网无处不在。以太网是应用得最广泛的网络,它安装在许多办公室和工业建筑中。一旦设备连接到以太网,就可以通过网络对其进行监视和控制。虽然网线的最大传输距离是100米,但是基于互联网的通信则打破了之前距离的障碍。远程监视、控制、诊断、数据收集和数据分享都是使用嵌入式以太网的便利。 现在,不只有计算机具备接入互联网的能力,许多有着有限内存和计算能力的小型嵌入式设备也同样渴望具备互联网接入能力。传统的TCP/IP协议栈由于太过“臃肿”而无法应用于这样的嵌入式设备。本演讲将介绍一种硬件TCP/IP技术,该技术可以从主单片机上卸载掉TCP/IP处理过程。所以,对于资源受限的设备,带有硬件TCP/IP协议栈的以太网控制器将会为互联网接入提供极大的便利。 3.    WIZnet产品 1)WizFi模块—今年我们很高兴的展现代表我们WIZnet正式开始发展WiFi市场的’WizFi’系列产品参展。直到现在,我们已经有三种类型的模块来支持不同种类的802.11协议,并服务于不同使用方向的用户。 2)W5500-这将是我们最新以太网芯片组。它更便宜并有更好的性能。它在中国提供了一个大的潜能。如果你对这个感兴趣,请来我们的展会了解更多我们的产品。 时间:2月28号-3月2号 地点:WIZnet展位 2S11 深圳会展中心 富华路3号,深圳福田中心区    关于WIZnet WIZnet是一家知名的私营半导体公司,于1998年在韩国创办。 主要产品是相关网络处理器,iMCU,基于TOE技术的全硬件TCP/IP协议栈芯片。 iMCU市场中,在嵌入式因特网设备拥有多种应用,这与当地区域情况密切相关。  欢迎大家届时光临! 感谢关注
Read More

如何使用W5200的间接总线接口模式(二)

博客
       W5200是WIZnet公司研发的一款高速SPI以太网控制芯片,内嵌全套硬件TCP/IP协议栈。它支持ADSL连接 (支持PPPOE协议 & 带PAP/CHAP验证),支持8个独立的端口(sockets)同时连接,内部32K字节存储器作TX/RX缓存。多种指示灯信号输出(Full/Half duplex. Link, Speed)。休眠模式及网络奂醒也是其很有特色的功能。下面继续给大家介绍如何使用W5200的间接总线接口模式? 驱动程序移植指引 首先,我们要定义W5200的基地址 定义它为 ‘__DEF_IINCHIP_MAP_BASE__’ 方法: #define __DEF_IINCHIP_MAP_BASE__ 0x8000   如果它的基地址是大于0xffff, 以下的部分就要改变一下.   <Refer to types.c> static u32 SBUFBASEADDRESS[MAX_SOCK_NUM]; static u32 RBUFBASEADDRESS[MAX_SOCK_NUM]; u32 getIINCHIP_RxBASE(u8 s) u32 getIINCHIP_TxBASE(u8 s) u8 IINCHIP_WRITE(u32 addr, u8 data) u8 IINCHIP_READ(u32 addr)   W5200界面 用户使用不同的MCU会有不同‘__DEF_IINCHIP_BUS__’的基本值. 用户是需要在间接模式和SPI模式选择其中一个模式来实现硬件界面   <Refer to types.h> #define __DEF_IINCHIP_INDIRECT_MODE__ 1 #define __DEF_IINCHIP_SPI_MODE__   2 #define __DEF_IINCHIP_BUS__            __DEF_IINCHIP_INDIRECT_MODE__   W5200初始化 1)    设置ADDR[0-1]为0x0000。(写入0x00值到0x0000地址) *((volatile uint8*)(0x0000)) = 0x00;   2)    W5200硬件重设   3)    设置W5200为间接的接口模式和地址自动增加功能 MR [0x0000]  0x03;   4)    使用软件重设将W5200初始化. MR [0x0000]  0x80;   5)    设置网络配置 以下是要配置的基本网络的配置 - 网关地址寄存器 - 源硬件地址寄存器 - 子网掩码寄存器 - 源IP地址寄存器   ex) 网关地址要设置为192.168.0.1 GAR [0x0001 ~ 0x0004]  [0xC0, 0xA8, 0x00, 0x01];   使用以上的方法来配置其他的寄存器 (源硬件地址寄存器, 子网掩码寄存器, 源IP地址寄存器)   6)    设置RX寄存器和TX寄存器的内存大小.你可以分配每一个信道的内存大小   7)    当你完全第6 步, 你可以得到W5200的ICMP应答消息. 这代表了,你可以用W5200的IP 地址去 “Ping” 来得到自W5200的回复.   感谢关注! 相关内容: 如何使用W5200的间接总线接口模式(一)
Read More

芯片制造商的新霸主:物联网

博客
"The internet of things is quickly achieving the same levels of froth and excitement as big data in the venture and entrepreneurial community. And like “big data,” the prevalence of smartphones, cheap computing and connectivity all are combining into a substantial and real opportunity under all the hype. So instead of yet another smart light bulb or connected hub (yes, I love those too) let’s dig a little deeper where the internet of things is already changing the fortunes of several large companies. To build the internet of things we’re going to need a lot of chips — orders of magnitude more than we have in use today. Generally those chips will fall into three categories, and each of those categories is poised to become a booming business with a…
Read More

用WizFi210连接Cosm

博客
      将你的WizFi210连接到Cosm,你首先需要一个cosm帐号。如果你还没有帐号的话去http://cosm.com注册一个。注册后,你会得到一个API键,它用来和Cosm服务进行通讯。 在你的cosm账户中,建立一个新的Feed账户,通过点击“添加Feed账户”按钮,并选择“something else”。 跟随这个目录创建你的Feed账户,选择“No,I will push data to cosm.”并设置题目和标签,然后你可得到一个六位的Feed账户ID。                                           WizFi210设置 和AP做关联 它取决于AP的安全选项,下面的例子显示了无安全选项和被DHCP服务器租借的IP地址。 AT + WD AT + WAUTH = 0 AT + NDHCP = 1 AT + WA = “SSID of your AP”         如果WizFi210正确连接到AP,你可以看到被租借的WizFi210的IP地址。 2.    DNS查找和连接 1) 为了获得准确的IP地址,使用DNSLOOKUP命令并得到”api.cosm.com”的准确IP地址。 2) 使用TCP客户端连接命令,NCTCP,WizFi210连接到Cosm。 3) CID命令显示连接上的ID是0. 3.    发送HTTP数据 要发送HTTP原始数据,执行以下步骤。 1) 类型3字节”[ESC][S][CID]”在串口终端。在这个例子中,CID是”0”,[ESC]是0x1B在十六进制中 2) 发送HTTP原始数据 你需要指定API键,Feed账户ID和你创建的数据流。设置好后,下一次你的设备发送一个数据时,数据将传送到你的新数据流中。HTTP请求cosm服务器(若成功显示”200”) “在上面的图片中,数字1是Feed账户ID,2是API键,3是数据大小,4是数据名称和值” 3) 类型2字节”[ESC][E]”.数据发送到Cosm服务器,随后你会看到如下回应。 在一些更新之后,你会有一个漂亮的数据流历史图片。 提醒,cosm没有速率限制,每15s内,将不会允许你推送数据到任意之前不常用的数据流中。
Read More

《W5200E01-M3远程固件更新教程》之操作说明+应用程序

博客
      前几章给大家讲解了有关W5200E01-M3远程固件更新的系统说明 ,boot.bin程序说明,zpp.bin程序说明以及上位机说明相关内容。对其远程更新的内容有所了解。       今天给大家介绍一下,如何通过我们的Nuri配置工具来进行远程固件更新。一下给出详细步骤,供您使用. 应用程序下载:http://pan.baidu.com/share/link?shareid=3767154418&uk=1930353891 5.1  概述 WIZnet的W5200E01-M3模块是一款硬件TCP/IP嵌入式以太网控制器。由于该模块通常被固化在其他设备当中,因此WIZnet特别为该模块开发了一款应用程序——Nuri,来实现对该模块固件的远程更新,避免了繁琐复杂的手动连接。只要设备连接到网络,就能够对其进行设置或重置。同时,通过网络的广播和组播,还可实现对多个设备的同时更新,省时省力。 5.2  操作方法 现在W5200E01-M3中已装载有固件boot.bin,接下来介绍Nuri的基本操作和远程更新W5200E01-M3固件的方法。 首先,利用[email protected][email protected]电源适配器通过USB数据线为W5200E01-M3模块供电(或者直接通过USB数据线连接至电脑,为W5200E-M3模块提供稳定的5V电源)。同时,利用网线将该模块连接到以太网中。 然后,打开应用程序ConfigTool_Nuri.exe,出现如下界面: 截图 1  主程序界面 点击“Search”图标,进行设备搜索。找到设备,出现如下界面: 截图 2  查找设备 此时,设备信息即更新到“Device”,“Connection”和“Option”标签下。点开左侧串口转以太网下面的设备MAC地址前面的“加号”,可以查看该硬件设备的固件版本信息,如图所示,当前版本信息为0.1。 截图 3  查看固件版本 接下来进行基本操作:更改设备IP地址和恢复出厂设置。 更改设备IP地址: 修改Device IP address中的内容为192.168.11.101,然后点击“Setting”图标,即完成了硬件设备的IP地址更改操作。设备的IP地址被设置为192.168.11.101。如下图所示: 点开左侧串口转以太网下面的设备MAC地址前面的“加号”,可以查看该硬件设备的固件版本信息,如图所示,当前版本信息为0.1。 截图 4  设置IP地址 恢复出厂设置: 点击“Factory Reset”图标,实现恢复出厂设置的功能,再点击“Search”图标更新界面信息,发现Device IP address又恢复为192.168.11.100,即完成了恢复出厂设置的操作。 截图 5  恢复出厂设置 最后,介绍利用Nuri对W5200进行固件远程更新的方法。 点击“Firmware Upload”图标,弹出窗口,要求选择固件。 选定新版本的固件,单击“打开”,确认升级。 截图 6  查找可用固件 耐心等待固件升级完成。 截图 7  等待升级完成 固件升级完成后会出现提示: 截图 8  升级完成提示 升级完成后,点击“Search”图标,更新显示信息:可以看到固件版本从0.1升级为1.0。 截图 9  更新显示信息 需要注意的内容: 远程更新固件时,主机与设备必须处于同一网段内,否则更新将不被允许。 远程更新固件时,W5200硬件开关必须处于“RUN”运行模式下,而不是“PROM”编程模式,否则更新将不被允许。 以上是《W5200E01-M3远程固件更新教程》的全部内容,感谢您的关注!   更多相关内容: 第三章:《W5200E01-M3远程固件更新教程》之app.bin程序说明&上位机程序说明 第二章:《W5200E01-M3远程固件更新教程》之boot.bin程序说明 第一章:《W5200E01-M3远程固件更新教程》之系统说明  
Read More

《W5200E01-M3远程固件更新教程》之app.bin程序说明&上位机程序说明

博客
今天给大家继续介绍《W5200E01-M3远程固件更新教程》中,app.bin及上位机程序的说明。 3.1  main 函数 首先,对系统各个组件进行初始化,该过程包括系统时钟初始化、输入输出引脚初始化、嵌套中断向量初始化、计时器初始化、串行通信端口初始化、WIZnet W5200的SPI通信端口初始化,再对W5200进行复位操作。同时,打印输出“W5200 init over”。 然后,获取当前配置信息,并打印固件版本号,检查配置信息中的调试标志ConfigMsg.debug。如果调试标志位为0,则调试标志置1,并进行网络设置。 最后,循环执行do_dhcp(),do_dns(),do_udp_config()函数,以实现动态主机配合功能和域名系统功能。 图10  主函数流程图 3.2  app.bin main() function source code 4.上位机程序说明 上位机通过电缆与下位机相连。下位机进行数据预处理,组成一定的数据格式,通过RS-232串行口,将数据送到上位机,上位机采用串口终端方式接收数据,保证采集数据的实时处理。  那么在远程固件更新的过程中。PC机作为上位机,接收数据,进行固件程序的更新。 我们在更新过程中,使用Nuri配置工具。 配置工具与软件NURI通过PC的RS232与设置相连接,作用有两个: 1.设备对数据进行预处理,并组帧上传给PC。 2.PC可以通过软件对设备固件进行升级。 点击此按钮,即可上传更新程序到上位机。实现快速更新。 感谢关注! 相关内容: 《W5200E01-M3远程固件更新教程》之boot.bin程序说明 《W5200E01-M3远程固件更新教程》之系统说明  
Read More

《W5200E01-M3远程固件更新教程》之boot.bin 程序说明

博客
      上一次给大家介绍了《W5200E01-M3远程固件更新教程》中系统说明的部分,对此更新方式有了大概的了解。在ISP更新过程中,首先我们先来看一下关于boot.bin程序的说明。 2.1  main 函数        首先,对系统各个组件进行初始化,该过程包括系统时钟初始化、输入输出引脚初始化、嵌套中断向量初始化、串行通信端口初始化、WIZnet W5200的SPI通信端口初始化,再对W5200进行复位操作。同时,打印输出“W5200 Demo Code for Remote IAP.”         然后,从闪存中读取配置信息,从应用程序的开始地址处读取4字节信息,该信息指明了在闪存中是否存在应用程序。值得注意的是,引导程序(boot)的存储地址范围是0x08000000到0x08004fff,而应用程序(app)的存储地址范围从0x08005000开始。 若应用程序没有存在于闪存中,那么再通过已经读取的配置信息检查固件版本号,如果固件版本号是0xffff,则恢复默认配置[i]。如果固件版本号是0x00,同样恢复默认配置;否则通过已读取的配置信息检查硬件地址,如果mac地址是0xffffffffff,则恢复默认配置。最后,配置网络信息[ii]。 若应用程序存在于闪存中,那么再通过已读取的配置信息检查固件版本号,如果固件版本号为0x00,则进行网络配置;否则,查找到应用程序地址,并跳转至应用程序。 [i] 恢复默认配置的函数set_default(),该函数执行的操作包括:设置DHCP为静态模式,设置固件版本号,设置当前模式为TCP混合模式,设置默认端口,设置波特率为115200,设置数据位为8位,设置无校验,设置停止位为1位,设置停止流控制,DNS标志复位,设置设备默认名称和设备默认序列号。 [ii] 配置网络信息的函数set_network(),该函数执行的操作包括:配置mac地址,配置子网掩码,配置网关地址,配置源IP地址,发送接收缓存初始化,设置重传时间,设置重传次数。 图1  主函数流程图 2.2  boot.bin main() function source code 上述内容均是和主机应用程序通信之前的准备工作,通过主机应用程序对设备进行设置和固件更新的具体操作如下: 2.3  do_udp_config函数 UDP配置函数do_udp_config()执行的主要功能是:建立UDP通信端口,实现主机PC端软件与W5200E01-M3模块之间的通信。用户使用主机PC端软件与模块进行交互,PC端以UDP广播的形式向模块发送指令,指令包含“FIND(查找设备)”、“SETT(设置)”、“FIRM(固件更新)”、“FACT(复位)”等操作。而W5200E01-M3同样以UDP广播的形式对接收到的命令进行回复。该函数执行过程如下:   图2  Do_udp_config() 函数流程图    UDP配置过程使用的端口为SOCK_CONFIG. SOCK_CONFIG可能出现的状态如下: SOCK_UDP                 UDP端口打开 SOCK_CLOSED          UDP端口关闭 根据SOCK_CONFIG的状态,执行如下操作: 如果当前状态是SOCK_CLOSED,则建立UDP端口。 如果当前状态是SOCK_UDP,则与主机程序进行通信。 图3  do_udp_config() 函数状态图   在UDP模式下,主机程序与W5200E01-M3的通信过程如下: 若接收到“FIND”字符,即操作人员点击主机应用程序界面的“Search”按钮时,则利用配置信息ConfigMsg来更新接收信息RecvMsg,并将RecvMsg的op字段改写为“FIND”重新发回主机程序,告知主机设备已找到,配置信息已发送,发送模式为UDP广播数据包。 图4  “FIND”指令下的通信时序图 若接收到“SETT”字符,即操作人员点击主机应用程序界面的“Setting”按钮时,首先检查配置信息与接收信息中的mac地址是否一致,若一致,则利用接受信息RecvMsg来更新配置信息,同时修改配置信息中的软件版本号ConfigMsg.sw_ver并写入闪存,再将配置信息发回主机程序,告知主机当前配置信息,发送模式为UDP广播数据包,最后重新启动程序。若mac地址不一致,则不会执行上述操作。 图5  “SETT”指令下的时序图 若接收到“FIRM”字符,即操作人员点击主机应用程序界面的“Firmware Upload”按钮时,首先检查配置信息与接收信息中的mac地址是否一致,若一致,则修改配置信息中的软件版本号ConfigMsg为0x00写入闪存,再将接收信息发回主机程序,告知主机固件升级已准备好,发送模式为UDP广播数据包,最后重新启动程序。若mac地址不一致,则不执行上述操作。 图7  “FACT”指令下的时序图  2.4  boot.bin do_udp_config() function source code 2.5  do_fw_update函数 在上述过程中,若接收到“FIRM”信息,则固件更新过程开始,根据固件更新端口SOCK_FW状态的不同,执行不同的操作。 SOCK_FW可能的状态如下: SOCK_INIT                          TCP连接正在建立 SOCK_ESTABLISHED                  TCP连接已经建立 SOCK_CLOSE_WAIT          TCP连接正在关闭 SOCK_CLOSED                   TCP连接已经关闭 根据SOCK_FW的状态,执行如下操作: 如果当前状态是连接正在关闭,则等待连接关闭; 如果当前状态是连接已经关闭,则重新建立连接; 如果当前状态是建立正在连接,则等待连接建立完成; 如果当前状态是连接已经建立,则开始进行固件更新[i]。 [i] 固件更新正式开始之前还要进行解锁闪存FLASH_Unlock(),清除闪存标志位FLASH_ClearFlag()和寄存器设置setSn_IR()等操作。 图8  do_fw_update() 函数状态图 为保证固件文件的可靠传输,用于固件更新的端口SOCK_FW采用的是TCP连接模式。最先收到的TCP数据包包含有固件长度信息,为4个字节,接收到该数据包后,将其存储于变量fLen中,并根据固件文件的大小计算出更新固件需要擦除闪存页数,完成擦除后将擦除标志isErased置位。 此后接收到的若干TCP数据包即为固件文件,逐次写入闪存并记录已经写入数据的长度,直到该长度与fLen一致时,即完成了固件文件的接收。接下来,发送断开连接请求disconnect(),同时更新配置信息ConfigMsg中的软件版本信息sw_ver为0xffff,并将该信息写入EEPROM,打印输出“OK”。最后,重新启动并执行新版固件的应用程序。 下面根据该过程的时序图对固件更新过程进行说明。W5200E01-M3始终监听TCP连接状态,检测到连接建立后,其与主机之间的通信如下: (1)     主机发送包含固件长度信息的TCP数据包。W5200E01-M3将固件长度保存在fLen变量中。同时根据固件长度擦除闪存。 (2)     W5200E01-M3将fLen发回主机,告知其已准备好接收固件。 (3)     主机发送固件文件。W5200E01-M3接收固件文件,并写入闪存。同时将已接收的固件长度保存在rxLen变量中。 (4)     W5200E01-M3将len发回主机,告知其已接收到此次发送的数据。 (5)     反复执行步骤(3)(4),直到rxLen==fLen时,表明全部固件文件都已经接收完毕,此时,W5200E01-M3发送断开连接的请求disconnect()。 需要着重说明的是,在每一次的连接关闭之后,即端口状态变成SOCK_CLOSED之后,要重新初始化rxLen, nPage, nErasedPage, fLen, isErased, flashdest等变量,以便为下一次的固件更新做好准备。 远程固件更新时序图如下: 图9  do_fw_update() 序列图  2.6  boot.bin do_fw_update() function source code 1 恢复默认配置的函数set_default(),该函数执行的操作包括:设置DHCP为静态模式,设置固件版本号,设置当前模式为TCP混合模式,设置默认端口,设置波特率为115200,设置数据位为8位,设置无校验,设置停止位为1位,设置停止流控制,DNS标志复位,设置设备默认名称和设备默认序列号。 2 配置网络信息的函数set_network(),该函数执行的操作包括:配置mac地址,配置子网掩码,配置网关地址,配置源IP地址,发送接收缓存初始化,设置重传时间,设置重传次数。 3 固件更新正式开始之前还要进行解锁闪存FLASH_Unlock(),清除闪存标志位FLASH_ClearFlag()和寄存器设置setSn_IR()等操作。 明天讲解的是第三部分:app.bin程序说明 相关内容: 《W5200E01-M3远程固件更新教程》之系统说明  
Read More

《W5200E01-M3 远程固件更新教程》之 系统简介

博客
       今天给开始大家介绍《W5200E01-M3 远程固件更新教程》的相关内容,教您一步一步实现便捷更新。         首先,先让大家了解一下W5200E01-M3. W5200E01-M3 是WIZnet公司出产的一款开发板, 用于W5200芯片的测试和原型开发,可实现各种以太网应用程序。W5200E01-M3内嵌W5200芯片--高速SPI以太网控制芯片,具有全硬件TCP/IP协议栈。并采用STM32 MCU。操作便捷。功耗低。应用广泛。        对于拥有全硬件TCP/IP协议栈的WIZnet芯片。远程的固件更新 更带来了便捷。 1.1  在线编程技术简介         那么以往在烧写芯片时,往往需要将芯片从系统中取出,离开电路后,才能用编程器烧写程序。也就是说芯片不能脱离系统而进行写入。         现在介绍两种在线编程技术——ISP和IAP,支持在线烧写。芯片不需要从电路板上取下,不离开系统,甚至不离开应用,就可以完成固件程序的写入。这两种技术有效避免了调试时由于频繁的插入取出芯片对芯片和电路板带来的不便和损伤,同时也节省了大量时间和金钱上的开销。因此,ISP和IAP技术将是未来嵌入式编程的主要发展方向。 ISP(In-System Programming) “在系统可编程”,即逻辑器件不用脱离系统,就可以进行程序写入。 ISP实现起来相对容易,通常的做法是利用上位机软件通过串口来改写单片机的内部存储器。条件是单片机需要具备非易失性存储器,用来存储由上位机传来的程序和数据。实现ISP的硬件接口支持JTAG、串口、无线等等。该接口通常固化在单片机所在的电路板上,芯片烧写时无需返厂或技术人员亲临现场,用户只需要通过计算机上的RS232接口或者USB接口就可以自行改写程序。 IAP(In-Application Programming) “在应用可编程”,即逻辑器件不用脱离应用,就可以进行程序写入。 IAP实现起来相对要复杂一些,单片机内部需要有两个存储区,一块被称为BOOT区,一块被称为APP区。单片机上电后,首先运行在BOOT区,如果满足改写程序的条件时,则对APP区的程序进行改写操作,程序改写完成后,单片机重新启动;如果不满足改写程序的条件时,程序指针直接跳转到APP区,开始执行存放在APP区的程序。实现IAP的硬件接口支持串口、无线、网口等等。由于网口的原因,一方面工作人员可以不用亲临现场即可实现固件的远程更新,另一方面,可以通过以太网的广播、组播数据包实现多个用户的同时全部更新,节省人力物力资源。 1.2 系统说明        在W5200E01-M3中,通过ISP的方式来烧写BOOT程序。之后由BOOT程序远程更新APP程序时,采用的是IAP方式。        在W5300E01-M3中,单片机使用的是STM32F103CB。该单片机有128KB的FLASH存储空间,可以将固件程序存储在该存储器中。在我们的程序中,实际上是将FLASH存储器映射为两个存储区,其中BOOT区映射地址是从0x0800 0000到0x0800 4FFF,合计20KB;APP区映射地址是从0x0800 5000到0x0801 FFFF,合计108KB。详细内容请参考第二章boot.bin程序说明和第三章app.bin程序说明中的具体介绍。        上位机程序Nuri.exe的主要作用是为用户提供图形界面,使得用户可以通过远程的方式利用以太网UDP广播更新固件程序。上位机程序的工作原理请参考第四章上位机程序说明。上位机程序的具体使用方法请参考第五章操作方法。        下次给大家讲解 boot.bin程序说明 的内容。期待您继续关注!   更多信息请关注: WIZnet中文官方网站:http://www.iwiznet.cn/ WIZnet企业官方微博:http://e.weibo.com/wiznet2012/
Read More

单片机以太网控制器W7100A用户手册(五)

博客
继续给大家介绍W7100A功能描述,电气特性,IR回流焊温度简介(无铅封装)和封装说明的内容。 9.2.3   IPRAW IPRAW属于IP层的数据通信,它是比TCP、UDP低一层协议。IPRAW支持IP层的协议,如ICMP(0x01)和IGMP(0x02),由协议号决定。ICMP的’ping’功能和IGMP v1/v2已经在W7100A中由硬件实现。如果用户需要,主机可以将SOCKET n以IPRAW的模式打开,直接处理IPRAW的数据。在使用IPRAW模式时,用户必须设置IP包头中用户所使用的协议号。协议号由IANA定义,请参考官方网站: http://www.iana.org/assignments/protocol-numbers。 在打开SOCKET之前,必须由Sn_PROTO先定义协议号。W7100A在IPRAW模式下不支持TCP(0x06)和UDP(0x11)。IPRAW模式的SOCKET通信只支持设定的协议号通信。ICMP的SOCKET不能接收非设定的协议数据,如IGMP。   图9.7 IPRAW操作流程 端口初始化 选择端口,设置协议号,然后设置Sn_MR(P3:P0)到IPRAW模式,执行”OPEN”命令。如果Sn_SR在”OPEN”命令之后转化到了SOCK_IPRAW,端口初始化就完成了。 检查接收数据 参考9.2.2.1”单播和广播模式” 接收过程 处理内部RX存储器的IPRAW数据。接收到的IPRAW数据的结构如下: 图9.10 接收MACRAW数据格式 MACRAW数据包含”包信息”,”数据包”和4字节的循环校验码。”包信息”是数据包的长度,”数据包”包括6字节的”目的MAC地址”,6字节的”源MAC地址”和2字节的”类型”,46-1500字节的实际传输数据。”实际传输数据”包括网络协议,如根据”类型”而定的ARP,IP。关于详细的”类型”信息,清参考下面网站:(Uhttp://www.iana.org/assignments/ethernet-numbersU) <注意> 如果内部RX存储器的剩余空间比MACRAW数据小的话,存于内部RX缓存中的一些包信息和数据包会偶然性地出现一些问题。因为这样的问题是出于包信息的分析错误,所用它不能正确地处理MACRAW数据。越接近RX存储器大小,错误发生率越高。如果用户可以允许MACRAW数据有部分丢失,这个问题就可以解决。 解决办法如下: 尽快地处理内部RX存储器中的数据以避免它接近缓存的最大限。 在样例代码中对SOCKET进行初始化的部分,通过设置S0_MR的MF位(MAC过滤器)以实现对MACRAW数据的选择性接收,从而减少接收负载。 如果内部RX存储器的剩余空间小于’1528-默认MTU(1514)+包信息(2)+数据包(8)+CRC(4)’,关闭端口,然后处理收到的所有数据。再重新打开端口。关闭端口之后,从关闭开始起接收到的MACRAW数据将会丢失。 检查发送数据/发送过程 用户想发送的数据的大小不能超过内部TX存储器的大小和默认MTU。主机产生与”接收过程”的数据包一样格式的MACRAW数据,然后发送它。这个时候,如果产生的数据小于60字节,发送的以太网包在内部会以“0填充”的方式扩充到60字节,然后发送。 检查结束/SOCKET关闭 参考9.2.2.1”单播和广播” 10.   电气特性 10.1      绝对最大额定值 *注:器件在超越”绝对最大额定值”的条件下工作,可能会造成永久性的损坏。                                                 直流特性 10.2      功耗(驱动电压3.3V) 10.3      交流特性 复位时序 外部存储器访问时序 10.4      晶振特性 10.5      变压器特性 在使用内部的PHY模式时,一定要使用对称的变压器,以支持自动MDI/MDIX(交叉)。 在使用外部的PHY模式时,要根据外部PHY的特性选择变压器。 11.   IR回流焊温度简介(无铅封装) 湿度敏感等级:3级 需要干燥包装:是的 12.   封装说明 12.1      封装类型:LQFP100 注意: 要确定在底座面– C -. ‘D1’和’E1’的尺寸不包括模具突起部份。’D1’和’E1’是最大的塑料体尺寸包括不匹配模具。 ‘b’的尺寸不包括突出杆。杆不可以位于较低的半径或脚下。 每个角落的精确形状是可选的。 这些尺寸应用于从铅平段到铅尖的0.10mm至0.25mm之间。 A1被定义为从底座面到包体最低点之间的距离。 控制尺寸:毫米(mm) 参考文档:JEDEC MS-026,BED。 12.2 封装类型:QFN64  控制尺寸:mm 注意: 要确定在底座面– C -. ‘D1’和’E1’的尺寸不包括模具突起部份。’D1’和’E1’是最大的塑料体尺寸包括不匹配模具。 ‘b’的尺寸不包括突出杆。杆不可以位于较低的半径或脚下。 每个角落的精确形状是可选的。 这些尺寸应用于从铅平段到铅尖的0.10mm至0.25mm之间。 A1被定义为从底座面到包体最低点之间的距离。 控制尺寸:毫米(mm) 参考文档:JEDEC MS-026,BED。  感谢阅读! 相关内容请查看: 单片机以太网控制芯片W7100A用户手册(一) 单片机以太网控制芯片W7100A用户手册(二)  单片机以太网控制芯片W7100A用户手册(三)  单片机以太网控制芯片W7100A用户手册(四)    
Read More