显示标签为“全硬體TCP/IP”的博文。显示所有博文
显示标签为“全硬體TCP/IP”的博文。显示所有博文

2012年9月6日星期四

【視頻演示】LED News Ticker中的乙太網板WIZ810MJ


簡介: LED屏對我們來說並不陌生,電影院售票處的LED大螢幕會顯示各部電影的播放時間以及價格等;銀行大廳裡會顯示每天的匯率以及利率等,還會顯示正在辦理業務的客戶的號碼等;每天上班的路上,抬頭看看橋上面的LED屏,會顯示路段的擁擠狀況……這些既是所謂的“LED News Ticker”,它的一個最大的特點是可以即時地更新資訊,在LED屏上顯示的消息可以是變化的、動態的以及即時更新的。
微知納特WIZnet)設計挑戰賽在該方面有很好的表現,以上視頻中提到的“基因項目”是很好的證明。借助於WIZnetWIZ810MJ ,“基因項目”易於實現。“LED News Ticker”由兩個主要部分組成,第一部分是主機板,第二部分是與LED顯示幕相連的乙太網板。主機板是內嵌了Microsoft擴展包的MAC控制器,乙太網板是WIZnetWIZ810MJWIZ810MJ模組的主要部件是WIZnet的全硬體TCP/IP乙太網控制器W5100W5100是已經內嵌了PHY部分的。用W5100實現介面轉乙太網。
主機板把本地資訊轉換成合適的資訊,然後再把這些資訊發送到乙太網板顯示出來,乙太網板與LED通過SPI介面進行通信。詳情請觀看視頻。
Translated From:LED News Ticker 

 

2012年8月13日星期一

軟體協定棧PK硬體協定棧,你更看好誰?

(WIZnet 核心技术Christina培训笔记)



背景介绍


在持续增长的电子设备联网需求下,无线传感器网络、智能家居等新兴应用市场急需找到更加稳定可靠的以太网解决方案,来实现以太网功能。


软件协议栈PK硬件协议栈

以往都是在用软件来做协议栈,但是面向链接的TCP/IP协议是非常复杂的协议,需要非常强的可靠性,用软件来实现确实要花很大功夫,很多电子学专业的学生和工程师也很难摸透那些协议。那想实现TCP/IP通信,但是又不会写软件协议栈要怎么办呢?由此硬件TCP/IP协议芯片的出现自然就成为了我们更加理想的选择,也就是说网络数据处理全部由硬件逻辑电路实现。

很多人没有接触过硬件协议栈,不知道用硬件怎么去实现,也不了解有哪些公司在专注于这项技术。

在这里我为大家介绍下只要硬件就能够实现协议栈功能的WIZnet全硬件TCP/IP核心技术及相对于软件协议栈而言,它独有的技术性优势。

WIZnet全硬件TCP/IP协议栈

WIZnet核心技术就是全硬件TCP/IP协议栈。硬件协议栈独立于MCU运作,能够负载所有TCP/IP协议栈的处理过程,并与嵌入式操作系统相兼容,更适合于无操作系统装置。
详细可查看【百度百科:全硬件TCP/IP协议栈】作为参考。


说到这里,有必要简单讲下协议栈。协议栈到底指什么,它的结构如何?
协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。现在一般也用5层的TCP/IP网络协议泛指最广泛的是英特网协议栈,由上到下的协议分别是:
l  应用层(HTTPFTPTFTPTELNETDNSEMAIL等)
l  运输层(TCPUDP
l  网络层(IP
l  链路层(WI-FI,以太网,令牌环等)
l  物理层(MAC

传统MCU实现Ethernet功能,需要外设物理层以太网控制芯片,片内还需要再撰写TCP/IP协议栈的上层协议命令。而WIZnetMACPYH集成到一块芯片里并加入了各种标准的网络协议。也就是说,全硬件TCP/IP协议栈芯片采用了“TCP/IP Offload Platform”技术,囊括了TCP/IP协议栈全部的四层结构,因此WIZnet网络芯片能够独立于MCU运作,信息的进栈/出栈,封包/解包等网络数据处理全部在全硬件TCP/IP网络芯片中进行。
如图所示:


封包和解包的过程是怎样的呢?
网络传输的过程就是封包和解包的过程。数据要在通讯系统中必须要先经过某些处理,才能在网络上依照某种通讯协议来传送,这种过程就好像将包裹打包一样,所以叫做封包。解包就是压包的反过程,即将压包文件还原成原来的文件。简单讲,封包就是一层一层的加帧头,解包就是一层一层的将其剥落。
WIZnet核心技术的关键在于它就是完全用逻辑电路即硬件而不是操作系统来实行这种网络封包解包的过程的。




以太网解决方案大对决

简单了解了WIZnet核心技术之后让我们来更加形象的对比一下传统以太网解决方案与WIZnet提出的方案有何大不同。

传统的以太网解决方案有诸多弊端,可列出以下几项。
1. 需要OS 或者 软件栈。
2. 如果现有的系统是使用低端单片机,那么整个系统结构,包括主单片机都要更换,才能实现网络功能。而事实证明,使用低端嵌入式系统的市场仍在持续增长。
3. 研发OS ,更换单片机和増加内存都会导致成本增加。
4. 当使用公开源代码时, 其稳定性和技术支持是必须考虑的。

与传统的以太网解决方案相比,你会发现WIZnet核心技术提出的以太网解决方案会有更大的效率和可靠性。
1. 正因为WIZnet硬件化TCP/IP协议栈芯片独立于MCU运作,卸载掉了MCU对于以太网庞大数据处理的负载,从而给用户留出了更多可占用的资源,即使8位低端单片机也能达到数Mbps的数据吞吐率。而不占用MCU资源,保证了MCU保证高速稳定的通信速率。



2. 软件协议栈想要拓展以太网功能可能会面临侵入病毒、甚至网络瘫痪的隐患,而WIZnet硬件协议栈方面,由于TCP/IP在独立于CPU运行,因此网络攻击不会对MCU中的主程序产生影响,增加了MCU工作的安全性。
3. 硬件协议栈优化了MCU的网络功能,尤其对于不能支持OS8 bit & 16 bit MCU的优化提升无疑是革命性的。
4. 工程师不需深入了解TCP/IP协议,无需专业的网络知识,如同控制外部存储器一样简单。程序的烧制和移植比较方便,就简单几句程序化初始就可以了,这样可以大大的缩短产品开发时间。
5. 由于网络部分相对独立于主系统,无需移植繁琐的TCP/IP协议栈,便于产品更新,并且便于为已有的产品扩展网络功能。

WIZnet基于开源硬件平台(Arduino)

说到这里,对于全硬件TCP/IP协议栈芯片,诸位电子发烧友们是否有些心动,忍不住想要跃跃一试呢?也有人会问,硬件协议栈有木有向软件一样的平台社区供大家参考相关的硬件设计呢?

很多电子爱好者肯定对开源硬件Arduino早已有所耳闻。
简单讲,开源硬件(Open Source Hardware),是指与自由及开放源代码软件相同方式设计的计算机和电子硬件。开源硬件考虑的是软件以外的领域,用来反映自由释放详细信息的硬件设计,如电路图、材料清单和电路板布局数据。
WIZnet就是基于开源硬件平台使开发者大大节省了产品的开发时间和调试时间,它的开放性,使用户有了更加自由、开放的论坛去分享经验和想法,形成更多的参考模板,使产品更加的多元化、丰富化了。

WIZnet 产品应用

WIZnet产品都会应用在哪些领域呢?
在运用全硬件TCP/IP协议栈的WIZnet 产品应用方面,有超过3000多个客户应用WIZnet产品于无数的应用,包括下面几大应用范围。
1.       Smart Energy
2.       Digital Consumer
3.       Security
4. Industrial





详细内容在这里就不过多阐述了,有兴趣的朋友们可点击WIZnet官方中文网站www.iwiznet.cn 进行查看并了解。∩_

往后我也会写一些有关WIZnet主打产品的介绍,供大家参考学习。
到此一游的朋友们方便请留下您的足迹~
有问题的童鞋也可以跟我交流哦~


想了解更多,请登录我们的网站:http://www.iwiznet.cn/
官方博客:blog.iwiznet.cn


2012年8月3日星期五

W5300E01-ARM用戶手冊版本1.0(三)


本用户手册将为大家介绍W5300E01-ARM,它是W5300基于ARM920T的功能评估测试板。共分为9大板块,包括有概述、产品说明、硬件设计向导、板操作、配置开发环境、Linux 内核补丁与编译、根文件系统、启动程序及附录等。上两篇博文里我们为大家介绍了概述、产品说明及硬件设计向导的内容,现在我们为大家介绍第三部分包括板操作及配置开发环境的部分内容,希望对大家有帮助。

第二部分在这里:http://wiznet2012.blogspot.kr/2012/08/w5300e01-arm10_2.html

4.板操作

4.1启动检查

4.1.1Windows启动检查
执行Windows超级终端和配置端口如下图所示。

配置端口如上所示。
为了检查板的操作,我们在连接串口线后接通电源,执行超级终端程序。
以下启动命令表示板正常运行,以下屏幕信息表示正在执行启动程序和Linux内核,用户可以使用Linux。
如果没有显示以下信息,检查电源适配器或串口线是否连接正常。

4.1.2Linux启动检查
在Linux系统下,可以通过小型计算机检查启动

执行‘minicom –s’命令,选择‘Serial port setup’菜单,配置端口如上所示。
选择‘Save setup as dfl’菜单保存串口配置,通过选择Exit’菜单,推出配置菜单。
根据Linux操作系统版本的不同,‘Serial Device’的驱动文件也不同。
通过串口线连接板和PC后,打开板的电源,执行超级终端程序。如果在终端屏幕上显示以下启动信息,说明板正常运行。
以下屏幕信息表示正在执行启动程序和Linux内核,用户可以使用Linux。
如果没有显示以下信息,检查电源适配器或串口线是否连接正常。

4.2测试网络操作
W5300E01-ARM板支持W5300 linux驱动的混合模式——同时使用S/W & H/W TCP/IP协议栈。通过配置信道0为MAC_RAW模式,可以利用混合模式与现有的网络程序兼容。通过H/W TCP/IP信道栈配置信道1进行Loopback。
通过配置信道0为MAC_RAW模式,可以支持现有的网络程序而不用修改。如果有任何的网络应用需要更高的功能,你可以使用其他H/W TCP/IP信道。
根据产品的需求,混合模式是非常有用的。想了解更多,参见W5300数据手册。
当启动了W5300E01-ARM板,FTP服务器、HTTP服务器和远程登录服务器会自动加载。

4.2.1测试FTP 服务器
1.给W5300E01-ARM 供电并检查启动程序正常运行。
2.运行FTP客户端程序。
Windows :Start ->‘Run’ ->输入‘ftp’
Linux : 在终端输入‘ftp’
3.输入‘open 192.168.1.53’ 连接FTP W5300E01-ARM服务器。
4.使用‘id > wiznet, password > wiznet’ 登录。


4.2.2测试HTTP 服务器
1.给W5300E01-ARM供电并检查启动程序。
2.运行浏览器。
3.输入地址‘http://192.168.1.53’ 。


4.2.3测试远程登录服务器
1.给W5300E01-ARM供电并检查启动程序。
2.运行远程登录客户端程序。
Windows :Start ->‘Run’ -> 输入‘telnet’
Linux : 在终端输入‘telnet’ 。
3.使用‘id > wiznet, password > wiznet’ 登录。


4.2.4Loopback
使用W5300E01-ARM的回路程序,可以测试S/W和H/W TCP/IP协议栈。回路程序安装在5300E01-ARM板的‘/root’目录下。
1.安装光盘提供的AX1。(Software/Tools/AXInstallV3.1.exe)
关于AX1的详细信息,参见光盘提供的‘Documents/Menual/AX1 Menual V3.1’。
2.给W5300E01-ARM供电并检查启动程序。
3.使用‘root’ 登录。
4.使用‘./loopback –t -w’命令命令执行服务器回路程序,回路选项如下所示。
-h回路帮助
-uUDP 回路模式
-tTCP 回路模式
-wPF_WIZNET(H/W TCP/IP) 回路模式(默认‘PF_INET’)
-b <size>缓存大小(默认4096)
-p <port>端口号(默认5001)
表4-1 : 回路选项

5.在PC上执行AX1程序。

6.为了测试的准确性,选择AX1的‘CPUTICK’ ->‘CPUTICK’ 计算CPU时钟。

7.选择AX1的‘TCP’ ->‘Connect’ 。

8.输入‘IP > 192.168.1.53’ 和‘PORT > 5001’ 单击‘OK’ 按钮。
安装了AX1程序的PC的IP地址应该设置成192.168.1.xxx (Ex> 192.168.1.2)。

9.检查是否显示‘Connected’信息。如果PC和W5300E01-ARM板连接正常,回路开始,信息会显示在W5300E01-ARM的Loopback程序中;如果连接不正常,请作如下检查。
l 网线是否正确连接?
l IP地址是否配置成192.168.1.xxx?
l Loopback程序在W5300E01-ARM中是否正常运行?



10.选择AX1的‘∞’工具栏,选择任意图像文件。(大小 : 10~50Mb)



5.配置开发环境
开发环境与平常使用的相同,在主机完成编程。目标板的执行文件可以使用交叉编译器创建,并发送给目标板执行。

5.1电缆连接

如<图5-1>所示连接主机和W5300E01-ARM板,需要在主机安装Linux操作系统。串口线用于系统控制台、编译和数据传输;网线用于数据传输。通过网线传输数据比串口线快,为了传送更大的文件,使用网线更有效率。
如果不熟悉Linux,可以在Windows环境下开发,并通过给主机发送编译源码实现,如<图5-2>所示。


5.2安装工具链
工具链包含在光盘中,在主机使用‘root’登录,安装步骤如下所示。

1.插入光盘到CD-ROM
2.复制压缩的工具链文件到‘/’
3.提取工具链压缩文件
插入光盘后,在终端屏幕输入以下命令。

# mount /dev/cdrom /media/cdrom
# cp /media/cdrom/Software/Tools/arm-toolchain-3.4.3.tar.gz/
# cd /
# tar zxvf arm-toolchain-3.4.3.tar.gz


如果在最新版本的Linux自动安装了光盘内容,更多情况下不需要输入‘mount’命令。当手动安装光盘文件时,检查驱动文件和安装目录。

5.3主机网络配置
为了使用网线在主机电脑和目标板之间进行文件传输,需要在主机中安装服务器程序,可以在这个网络下使用虚拟IP地址。因为是软件包管理程序处理服务器程序的安装,需要将板连接到WAN中。为了同时使用LAN 和WAN,通过以下命令添加虚拟IP。

# ifconfig eth0 add 192.168.1.2

5.3.1TFTP(简单文件传输协议) 服务器配置
为了传输Linux内核映象、虚拟硬盘映象或其他文件,需要在主机中安装tftp服务器。这里,我们将在Red Hat 和Debian中安装tftp服务器

如果主机正在使用Debian Linux,使用apt-get软件包管理程序安装tftpd-hpa包。

# apt-get install tftpd-hpa

在Red Hat Linux中, 使用yum软件包管理程序安装tftpd-server包。

# yum install tftp-server

使用目录配置并执行tftp 服务器。

# mkdir /tftpboot
# in.tftpd –l –s /tftpboot

现在,就可以使用tftp下载主机的‘/tftpboot’目录下的文件到目标板中。

当使用xinetd程序执行tftp服务器程序时,在编辑器中打开‘/etc/xinetd.d/tftp’文件,将‘disable = yes’ 改为‘disable = no’。如果不使用‘/etc/xinetd.d/tftp’文件,创建文件包含以下各项。

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -c –s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
 
重启‘xinetd’程序

# /etc/init.d/xinetd stop
# /etc/init.d/xinetd start
 
当使用‘xinetd’程序时,需要安装‘xinetd’包。如果没有安装‘xinetd’包,使用yum包管理系统安装apt-get包。

5.3.2NFS(网络文件系统) 服务器配置
当在主机和目标板之间传输更大的文件时,串口的效率并不高。对于这种情况,可以使用NFS (网络文件系统)。在主机进行编程和编译后创建二进制映象文件,如果在NFS配置的目录下安装二进制映象文件,就可以在目标板中执行该映象。
如果没有在主机中安装nfs 服务器,就安装nfs 服务器。如果使用的是Debian Linux操作系统,使用apt-get包管理系统安装nfs-kernel-服务器包。

# apt-get install nfs-kernel-server

如果是Red Hat, 使用yum包管理系统安装nfs-utils包。

# yum install nfs-utils

在主机和目标板之间创建文件以共享NFS。

# mkdir /nfs

打开‘/etc/’exports’文件并添加以下信息。

/nfs 192.168.1.0(rw, insecure)

重启NFS。(如果使用Debian,输入input ‘/etc/init.d/nfs-kernel-server’,而不是‘/etc/init.d/nfs’)

# /etc/init.d/nfs stop
# /etc/init.d/nfs start

文件传输
使用串口进行文件传输(调制解调器)
使用终端程序的调制解调器可以传输一个文件。
串口传输简单方便,但是速度非常低,可以用于传输小的文件。
在‘test.c’源文件下测试‘Hello World’。

#include <stdio.h>

int main(void)
{
printf(“Hello World!\n”);
return 0;
}

为ARM编译源代码到执行文件中。

# arm-linux-gcc –o test test.c




☞想了解更多,请登录我们的网站:http://www.iwiznet.cn/

或者来电:86-10-84539974(转166),QQ:2377211388,
邮箱:wiznetbj@wiznettechnology.com 联系人:Jerry ,谢谢!