WIZnet员工SQL Server 2008培训笔记(四)

博客
大家好,前面我们为大家连载了数据库SQLServer2008的培训笔记1,2,3, 今天为大家继续分享第四篇,WIZnet员工SQL Server 2008培训笔记(三)请阅读 http://blog.csdn.net/wiznet2012/article/details/7548516   SQLServer2008设置开启远程连接   在SQL Server 2008实际应用中,管理员可以通过权限控制,设置其他人访问该数据库,以及对数据库的操作权限。这时候,需要设置SQL Server 2008的远程连接,其他人就可以在本地用SSMS连接远程服务器的SQL Server 2008。 下面我们就来讲述管理员如何创建用户,如何进行服务器上SQL Server 2008的配置等等。为了实现远程连接,我们需要做两个部分的配置: 1,SQL Server Management Studio Express(简称SSMS) 2,SQL Server配置管理器/SQL Server Configuration Manager(简称SSCM) 注意:有些设置生效需要重启 SQL Server服务器。 step 1: 打开SSMS,用windows身份连接数据库,登录后,右键选择“属性” step 2: 左侧选择“安全性”,选中右侧的“SQL Server和 Windows身份验证模式”以启用混合登录模式 step 3: 选择“连接”,勾选“允许远程连接此服务器”,然后点“确定” step 4: 展开“安全性”,右键选择“新建登录名” step 5: 在“常规”中,选择SQL Server身份验证模式,设置登录名和密码。若取消“强制实施密码策略”勾选,则下次登录不用重新设置密码。选择默认数据库是WIZnet。 step 6: 选择“用户映射”,在映射到此登录名的用户中勾选“WIZnet”,在数据库角色成员身份中勾选“db_owner”和“db_public” step 7: 选择“状态”,选中“启用”(默认),点击“确定” step 7: 右击数据库选择“方面” step 8: 将服务器配置的“RemoteAccessEnabled”属性设为“True”,点“确定” step 9: 至此SSMS已设置完毕.     step 10: 下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行 step 11: 选中左侧“SQL Server服务”的“MSSQLSERVER的协议”。如图:右侧的TCP/IP默认是“已禁用”,双击打开设置面板将已启用选项修改为“是”   step 12: 选择“IP 地址”选项卡,设置端口“1433” step 13: 如图将“SQL Native Client 10.0配置”的“客户端协议"的"TCP/IP”也修改成“已启用” tep 14: 配置完成,重新启动SQL Server 2008。   此时应该可以使用了,但是还是要确认一下防火墙。   SQL Server 2005/2008 Express安装以后,默认情况下是禁用远程连接的。如果需要远程访问,需要手动配置。   打开防火墙设置。将SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允许的列表中。  
Read More

IP机顶盒系列一,WIZNET解决方案

博客
你了解IP机顶盒吗?你知道未来的机顶盒会是什么样吗?下面就通过这篇文章详细了解下机顶盒市场的发展趋势以及客户为什么选用WIZnet方案。 IP机顶盒 它是视频解码终端,相当于一台自带嵌入式操作系统的计算机。IP机顶盒一端通过DSL或以太网方式接入IPTV网络,一端将通过网络传输过来的媒体流等信息转换成模拟视音频输出至电视,由此在电视上享用视频点播、网页浏览、游戏等功能,它具备计算机的数据交换等基本功能,可以采用遥控器或PC直接操作。 IP机顶盒的构成与功能 机顶盒由软件和硬件两大部分组成,机顶盒的硬件包含了主芯片、内存、调谐解调器、回传通道、CA(ConditionalAccess)接口、外部存储控制器以及视音频输出等几大部分。软件则分成应用层、中间解释层和驱动层三层,每一层都包含了诸多的程序或接口等。 与传统的数字机顶盒相比,IP机顶盒实现了视频、语音、数据三者的融合,即所谓的三网合一业务(TriplePlayService)。IP机顶盒的系统架构包含三个独立的子系统:TV单元、PC单元和条件存取(即加密系统、CA)单位。TV子系统由调频器和视频解码器组成,它们用来处理数字串流信息;CA子系统让服务商具有控制能力,可以对用户实现临近,能够知道用户在何时收看什么节目;PC子系统大多是模块式的设计,STB的设计者可以依其需求而增加或减少这个系统中的组件,由于IPSTB的目标是要提供互联网的服务功能,故它的PC系统方面就得提供TCP/IP的堆栈协议,并具有更佳的储存方案。 由此可以看出,IP机顶盒的功能主要包括以下三方面: ·支持目前的LAN或DSL网络传输,接收及处理IP数据和视频流; ·支持MPEG、WMV和Real等视频解码; 支持用户认证功能、通过与IPTV系统的交互实现用户的访问控制、计费等管理功能。 IP机顶盒的分类方式 根据硬件、软件的不同,IP机顶盒有不同的分类方式 1.基于硬件的分类方式 IP机顶盒按照基中使用的CPU芯片的不同,可以分为以下三种: (1)基于专用芯片组(ASIC/SOC编解码芯片)的机顶盒 专用芯片组除了处理器以外,在芯片内还集成了一些其他的IP(LntelligentProperty)模块,如Videoin,Videoout,Audioin及Audio out等,有的还有图像压缩硬件加速模块等。由于专用视频压缩芯片携带固定压缩模块、固定的处理方式和固定的微码,所以传统的基于ASCI/SOC的机顶盒产品价格比较低廉,但由于全硬件芯片的实现方案使得运营商无法通过软件升级来提升产品性能,另外这种机顶网络适应性也有较大问题。 (2)基于X86平台 基于X86架构CPU的嵌入式系统有如下优势:一是它可以对不同格式的文件进行编解码;二是X86架构的CPU有较齐全的应用软件,维护成本低;三是基于X86架构的嵌入式系统可以轻松与PC资源共享。 (3)基于多媒体处理器技术 基于X86平台的方式在使用时要占据CPU的绝大部分处理能力。因此,在有些不适合采用这种方式。于是出现了基于多媒体处理器技术的独立机型的机顶盒。这种芯片高速的运算能力完全可以实现适合不同协议的通信终端。采用这些芯片可以很方便地实现MPEG视频和音频处理、H.263视频处理,以及DVD、机顶盒、数字电视等。 由于使用了实时视频解码功能芯片,视频处理速度明显提高,配合实时编码,全程视频处理时延小,特别适合视频直播系统应用;系统配有USB,IDE,PCMCIA和以太等接口,使IPTV终端功能可扩充性增强、内存占用少、硬件结构紧凑,成本不高。 2.基于软件的分类方式 操作系统是机顶盒中的核心软件,机顶盒中的操作系统不大,但却要求可以在实时的环境中工作,并能在较小的内在内存空间中运行,这种操作系统称为实时操作系统(RTOS),目前主要有VxWorks、WindowsCE、嵌入式Linux等三类。 (1)嵌入式WinCE终端 WinCE最大特点是其API与Win32兼容,这有利于使用Windows环境开发WinCE应用,此外,WMV播放器还可直接运行于WinCEOS,许多现成的Windows组件稍加改造就能应用于终端上的网络管理以及视频流控制等功能,能够充分分享MMS等的WindowsMedia优秀成果。微软目前推出WinCE5.0,并扩大开放部分程序源代码。在这个开放了源代码计划授权下,微软开放250万行源代码程序作为评估套件,凡是个人、厂商都可以下载这些源代码加以修改使用。未来厂商OEM时,则需依执行时期授权,支付WinCE5.0核心每台机器数美元的授权费用。,作为市场新进入者,微软强调较低的开发成本。微软在WinCE加入了档案系统、IPv4/IPv6、WLAN、蓝牙等联网功能以及WindowsMediaCoder等功能。 不过此类终端的弊端在于:应用源代码不公开,终端采用WinCE须向微软交纳版税;另外,WinCE代码庞大,占用很多的ROM和RAM,要求有高性能的X86微处理器支持,所有这些都造成了终端成本的居高不下。 (2)嵌入式LINUX终端 这种终端往往以专用的多媒体微处理器为核心,辅以以太接口和视频接口构成系统。多媒体微处理器本身不但具有嵌入式RISC(精简指令集CPU)去运行系统软件和应用软件,而且带MPEG2或MPEG4实时解码功能芯片,在引LinuxOS和必要的视频以及各辅助接口驱动程序后,就成为一个完整的IPTV网络终端运用环境。 使用Linux开发平台优点首先Linux源代码公开,有大量免费优秀开发工具和应用软件可用,无须为每例应用交纳许可证费;其次有庞大的开发群体,技术交流方便,软件开发和维护成本低;最后,Linux本身稳定,内核精焊,运行所需资源少,有优秀的网络功能,支持的硬件数量庞大。总之,性价比高是其最大特色。 但是,这种系统适应低带宽能力存在一定的局限性。由于采用的是硬件实时解码,解码器性能提高受制于芯片技术发展,于是就省去QPEL和GMC编码工具,这就使得MPEG4ASP高清晰度性能、适合DSL低带宽网络传输的优点得不到充分发挥,某些OS基于μCLinux、解码器甚于不完全MPEG4ASP的终端,线路工作带宽在3Mbit/s,在同样播放分辩率D1下,适合DSL网络低带宽的能力比基于WMVx的Codec终端逊色。这种机顶盒的价格较低,但由于兼容性不好,系统服务器端的建设和媒体文件的采集成本会偏高。 VxWorks是美国WindRiverSystem公司推出的一个实时操作系统。VxWorks是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域,如卫星通信、军事演习、弹道制导、飞机导航等。 当然,根据机顶盒的功能高低和价格差异,也可把机顶盒分成基本型、专业型、综合型等。 机顶盒与IPTV平台的接口 机顶盒与IPTV平台的接口涉及内容很多,其中涉及用户业务流程的可以分为:认证接口、付费接口和服务使用接口三大类。 1.认证接口 认证接口含网络层认证和应用层认证就是实现机顶盒早互联网的过程,即互联网用户接入互联网的过程。按用户与网络设备之间的通信方式,目前使用较多的网络层接入认证方式分为PPPoE和DHCP+WeB两种。 (1)PPPoE技术 目前PPPoE认证技术在以太网接入和ADSL接入方式中应用的最为广泛,其组网原理基本相同,都是利用交换机或DSLAM将用户接入网内,在交换机和DSLAM后面设置BRAS设备来终结PPP。终结PPP连接的宽带接入服务器可以对这PPP连接分别进行管理,可对用户上网业务分别进行时长和流量信息的统计,各种计费方式提供必要的用户上网信息。 PPPoE的实质是在以太网上跑PPP协议,在用户端和宽带接入服务器之间建立了PPP的点对点通道。也就是说,如果在用户主机和BRAS之间启用组播业务,则组播数据必须以BRAS作为接收端复制点,这样会使大量的组播数据穿越网络和DSLAM设备,违背组播的初衷。因此PPPoE接入方式限制了组播协议的存在,影响视频业务的开展。 (2)DHCP+Web技术 DHCP+Web认证需要与DHCP服务器和Web认证服务器配合使用,Host首先通过DHCP得到一个IP地址,与Web认证服务器通信,也可以使用户只访问一些内部服务器,然后,接入服务器将用户强制连接到Web认证服务器上,并在浏览器中弹认证页面。在该页面中输入赂和密码,WebSever作为Radius的Client端把认证信息传送到RadiusServer,对用户进行认证。认证通过后,用户获得新的合法的IP地址,可以访问因特网或特定的网络。 在DHCP+Web认证方式中,用户主机和接入服务器之间并没有任何类似PPP的第3层通道,也不存在对组播协议的限制。如果用户主要到接入服务器之间的交换机或DSLAM能支持IGMPSnooping改u盘,组播业务很容易开展。但是DHCP本身存在很多缺点,特别是安全性问题,如何能够保证用户信息的合法性、真实性是DHCP需要解决的关键问题。 (3)改进方案 由此可以看到,网络层认证根据STB终端支持的程度可采用PPPoE认证或DHCP方式。但是这两种认证方式,都不能够满足IPTV业务开展的需要。因此,我们就需要针对现在的认证方式提供相应的解决方案,在保证IPTV业务开展的前提下,尽可能的减少对现网的大规范改动,以保证原有业务的的支撑。 对于STB终端采用PPPoE进行认证的方式,主要需要解决的问题是数据的下发。因此可以针对用户的不同业务采用不同的业务分发通道。也就是说,一方面要求BRAS设备支持IPTV业务的PPPoE认证,其相关的单播数据通过PPPoE的通道进行下发;这就要求BRAS通过认证信息能够区分用户业务种类,而DLSAM设备需要支持组播分发及组播组的控制,同时要求STB设备支持双协议栈。这样既可以保证原有认证系统的功能,同时也能够保证组播业务的顺利开展。 而对于DHCP认证方式,其主要问题是保证DHCP接入的安全性和真实性,这就需要在DHCP包文中引入OPTION82选项;对于存在多个终端同时使用DHCP的场合,为了区分这些终端,还需引入OPTION60选项。DHCPOOPTION82选项通常由DSLAM设备将用户的商品信息和设备信息到用户的DHCP报文,DHCP服务器通过识别OPTION82为来执行IP地址分配策略或其它策略。OPTION60选项通常由终端自带,不同类型的终端可以通过设置不同的OPTION60来识别。通过OPTION60选项,可以实现不同的终端分配不同的地址空间。但是,OPTION82的引入需要DSLAM的支持,目前运营使用的设备并不具备该功能,因此需要进行网络设备的改造。 目前的解决方案比较倾向于采用DHCP,并采用独立的IPPOOL的方式,该方案可以通过针对IP的策略配置实现IPTV业务与传统上网业务的隔离。在IP-TV用户量不高的情况下,较小的设资就可以满足业务要求。 (4)应用层认证 应用层认证实现了机顶盒用户在IPTV系统的身份认证过程,经过应用层认证的用户才可以消费、使用IPTV台提供的各种类型的服务。只有安全的应用层认技术,才能保证内容提供商放心地精彩的内容用放在IPTV系统上。 2.用户消费接口 用户消费接口需要实现系统价格提示、用户确认购买、系统实现扣费一个复杂的消费过程,根据计费方式和付费方式的不同,接口的流程也有不同。 3.内容使用接口 内容使用接口实现用户从内容运营获得不同应用服务的过程IPTV系统提供的应用已经日益丰富,如视频直播、视频点播、游戏、卡拉OK、信息检索等等,随着机顶盒功能的日益强大,网络传输带宽的不断增加,我们有理由相信现在PC上的各种互联网应用都会通过机顶盒呈现在用户的电视机上。 IP机顶盒的发展方向 从数字电视机顶盒(DVB-C)、卫星机顶盒(DVB-S)、网络电视机顶盒,机顶盒到现在最红火的IP机顶盒,机顶盒的队伍不断壮大,更不断发展。为了机顶盒的大规模发展,机卡分离的机顶的大规模发展,机卡分离的机顶盒渐成趋势。另外,双模机顶盒、软件机顶盒也在不断成熟。随着数字家庭概念的发展和推广,未来的机顶盒可能会演变成为家庭中客厅技术的核心控制单元,也就是业界称的“HomeGateway”或“ResidentialGateway”。除了可以包今现有的视频传输功能之外,更多的是向家庭中所有的智能设备提供一条集成的,综合的交通本世纪,实现设备之间的互联互通,并且可以给不同终端提供不同个性业务,实现“Multi-Play”。
Read More

Wiznet支持PPPoE协议的固件以太网芯片W5100

博客
W5100概述 W5100是其早些时候的W3150A的升级版本,它在W3150A的基础上增加了一个以太网PHY,利用逻辑硬件实现,使系统设计更加简单,紧凑。目前,很多嵌入式以太网芯片是直接通过软件实现的,但是由于网络协议都比较大,写入软件后稳定性欠佳,而且客户时常会有新的需求,这种用软件实现的方式就很难满足频繁更新升级的要求。因此,一种方式就是将网络协议的处理独立于系统处理器之外,让应用程序与资料的输入/输出分别执行于不同的硬件,来适应多方面的条件。它将网络协议的处理分成一个由特定处理器执行的控制部分和一个硬件线路部分。这种方式的优点是具有较短的开发周期与较高的弹性,而其主要的成本则来自于处理器本身的授权费。  由于 W3150A使用时还必需要在外面接一个以太网物理层接口器件(RTL8201CP),增加了使用时的硬件难度,因此Wiznet 公司最新推出了 W5100,将 TCP/IP协议栈、以太网的 MAC和 PHY 三种功能集为一体。W5100不仅保留了原来与 MCU接口的并行总线接口,还增加了 SPI串行总线接口。  W5100 器件的推出,大大简化了硬件电路设计,使单片机系统在没有操作系统的支持下,真正实现了单芯片接入Internet 的理想。  W5100将10/100Mbps以太网MAC和PHY集成到自动MDIX,具有16KB数据缓冲区,线路传输率可达25Mbps。此外,它最大的特点是除了支持TCP,ARP,ICMP等硬件协议栈外,还支持PPPoE协议,不需要经过电脑就能直接接入ADSL,实现数据通信。W5100可以用于要求高通信速率的地方,如机顶盒,数字录像机,以太网络,远程控制等。  W5100“3 合1”的功能可以满足各种单片机在没有操作系统的支持下接入 Internet网络,简单、可靠,价格低廉,已广泛应用于各种安全监测、电力系统的测量监控、音视频传输、远程信息传输等领域。随着嵌入式系统网络化的广泛应用,相信 W5100 一定会被更多的工程师所喜欢。 W5100特性:                               与MCU多种接口选择,直接总线接口、间接总线接口和SPI总线 支持硬件TCP/IP协议:  TCP, UDP, ICMP, IGMP, IPv4, ARP, PPPoE, Ethernet 支持ADSL连接  (支持PPPOE协议,带PAP/CHAP验证) 支持4个独立的端口(Sockets)连接 内部16K字节存储器作TX/RX缓存 内嵌10BaseT/100BaseTX以太网物理层,支持自动应答(全双工/半双工模式) 支持自动极性变换(MDI/MDIX) 多种指示灯输出(Tx,Rx,Full/Duplex,Collision,Link,Speed) 0.18µm CMOS工艺 3.3V工作电压,I/O口可承受5V电压 LQFP80无铅封装,符合环保要求。   韩国WIZnet公司背景 ①公司名称:WIZnet ②专长 WIZnet公司成立于1998年,是一家专注于全硬接线TCP/IP核心技术的无晶圆厂半导体公司。 ③技术特征 WIZnet公司的核心技术TCP/IP卸载平台适合于任何操作系统甚至是非操作系统应用。借助独立于主处理器的on-the-fly处理结构,它的全硬接线TCP/IP算法可以确保较高的线路速度。另外它还通过卸载TCP/IP任务防止了主处理器过载的现象,因此提升了系统整体性能,尤其是在多媒体流应用领域。 ④使命和目标 WIZnet公司的目标在于实现片上互联网,并成为全球标准TCP/IP专家。它将在SoC(片上系统)开发之后构造结合了各种嵌入式系统功能的互联网平台。 韩国WIZnet公司市场情况 ①市场地位 WIZnet已经拥有全球营销网络、iinChip公司(美国子公司)和全球37家分销商。尤其是在中国,WIZnet在大量生产电视机顶盒和DVR。另外,在美国和欧洲它的主要方向也是工业领域(例如,工厂自动化、楼宇自动化和远程医疗诊断系统等)。 ②目标市场和业绩 WIZnet连续三年营销额达到35000美元左右。其中韩国市场占25%,国外市场占75%。2007年,韩国和中国机顶盒市场对WIZnet芯片的采用将达到高峰。因此,2007年销售额将至少达到50000美元。 ③营销策略和目标 在不久的将来,嵌入式系统市场将开始需要特殊应用平台。因此,WIZnet一直在努力和市场领先的MCU公司(NEC, Microchip,ATMEL等)建立战略联盟关系。MCU是嵌入式系统的大脑。WIZnet的芯片将给MCU制造商提供互联网方案,并创造出独特的互联网型处理器。Internet-tuned的授权业务不仅面向各种MCU制造商,也面向DVD、机顶盒和多媒体CODEC芯片等。
Read More

W5100E01-AVR(W5100评估板用户手册)(八)

博客
W5100E01-AVR是为AVR开发者提供的W5100评估板。本文是W5100E01-AVR的用户手册,希望对大家有所帮助。今天我们介绍最后一部分: 第七部分在这里:W5100E01-AVR(W5100评估板用户手册)(六) W5100E01-AVR(W5100评估板用户手册)(六)   4. 硬件设计向导 4.1 模块图 <图4‑1: 评估板模块图> 4.2 模块描述 评估板由W5100E01-AVR(EVB底板)和PM-A1(AVR模块)组成。 以下9个块组成了评估板。 -PM-A1 -LCD -PAL -SRAM -RS232端口 -扩充板接口 -电源稳压器 -用于系统复位的3.3V电源 4.2.1. PM-A1 PM-A1(AVR模块)由Atmega128处理器、74HC573地址锁存器、8MHz外部晶振、(JP4,JP5)接头、ISP(JP3)和JTAG(JP1)接口。 为了便于利用评估板开发,除了ALE(PG2),所有的端口引脚都通过模块接口(JP4,JP5)连接MB-EVB-X2,接口的引脚描述如<表4-1:MB-EVB-X2模块引脚描述>所示。   AVR ISP (JP3) 引脚映射 4.2.2. LCD LCD用于调试和系统状态显示。 LCD接口(JP3)引脚描述如下表所示。 在LC1624的规格文件中,LCD使用的电压范围是-0.3V~13V。为了适应这个数据,需要使用R6(电压5V、最大上拉电阻10千欧)和R7(下拉接地电阻820欧),在实际应用中,LCD显示经过R6调整后变得明显。更多关于LC1624,参见“LC1624 Specifications”文档。 4.2.3. PAL PAL用于给评估板使用的各种芯片和模块制作启动信号,PAL组件在ATMEL公司的ATF16V8B-15PL产品在使用,该产品使用了10个输入引脚和8个I/O引脚。 PAL制作有关SRAM(/CS_RAM)、LCD(LCD_E)和W5100(/CS_IINCHIP)的芯片选择或启动信号。输出和PAL_OUT_0~PAL_OUT_4信号通过扩展接口为后续扩展预留空间。 4.2.4. SRAM SRAM大小为32K字节,作为Atmega128的外部存储器使用。 4.2.5. RS232端口 RS232端口是Atmega128支持的双向串口USARTs接口, 评估板使用9针的DSUB的公口类型(P1,P2)连接器。 4.2.6. 扩展板接口 扩展板接口的设计是为了便于使用评估板开发。多数的Atmega128端口引脚、PAL (PAL_OUT_0~PAL_OUT_4)的输出信号、电源以及许多预留的引脚都与外界板接口连接。 Atmega128中没有连接到外接板接口的信号有7个: RXD1(PD2)、TXD1(PD3)、RXD0(PE0)、TXD0(PE1)、LED0(PG3)、LED1(PG4)、/I2CHIP_IRQ(PE4)。   外接板接口连接器是Hirose公司的“PCN10BK-96S-2.54DS”,属于96引脚的母口直角形连接器,公口型的连接器在这里与“PCN10-96P-2.54DS”成对。 4.2.7. 功率调节器 评估板通过电源适配器得到5V电压,板内部使用的电压时5V和3.3V。调节器是LT1963EST-3.3(U1),可以使用切换开关(SW1)关闭调节器。 4.2.8.用于系统复位的3.3V电源 使用RC模拟电路实现手控复位和上电复位。   4.3. 原理图 4.3.1 W5100E01-AVR 请参考光盘文件中的“W5100E01-AVR.DSN”。   4.3.2. PM-A1 请参考光盘文件中的”PM-A1.DSN”。   4.4. PAL 在评估板中,PAL用于创建芯片选择(模块使用)。 评估板的地址映射与<图3.1:评估板存储器映射>所示相同。 评估板支持3号使能信号(芯片选择),与评估板的地址映射一致。 评估板提供VHDL(硬件描述语言)编码,对使用PAL单元的开发者来说,推荐使用CUPL,因为PAL编译器是免费软件。在简单的注册后,可以使用ATMEL公司的WINCUPL。 需要使用的“AWINCUPL.EXE”可以在ATMEL的主页下载。 用法请参考“AVR工具指南.pdf”。 4.4.1. IO定义 以下是VHDL的源代码   以下是CUPL的源代码 4.4.2. 外部SRAM区域 外部SRAM区域的地址范围从0x0000到0x7fff。 以下是制作SRAM CS信号的VHDL源代码。 4.4.3. LCD区域 LCD的地址范围从0x9000到0x9400。 使用WR和RD信号一起控制时序。 4.4.4. W5100区域 在W5100中,地址被分成两部分相同的芯片。 想了解更多,请参考“W5100 用户手册”。 对于VHDL源码,参见光盘中的“EVB_PAL.VHD”。 对于CUPL源码,参见光盘中的“EVB_PAL.PLD”。 编译时请参考“AVR工具指南.pdf”。 4.5 零件清单 4.5.1. W5100E01-AVR零件清单 请参考光盘中的“W5100E01-AVR_PARTLIST.PDF”。 4.5.2. PM-A1零件清单 请参考光盘中的“PM-A1_PARTLIST.PDF”。 4.6. 实体规格 4.6.1. 功耗 评估板的每个部件的功耗如下表所示。 总功耗为243mA X 5V = 1215mW。   这是本文的最后一部分,希望对大家有所帮助。欢迎大家的留言讨论。   更多有关W5100的博文请看这里: http://blog.iwiznet.cn/?page_id=329 全硬件TCP/IP嵌入式以太网控制器——W5100E01-AVR http://blog.iwiznet.cn/?p=432 开源硬件-开源思潮到了? http://blog.iwiznet.cn/?p=316 WIZnet员工Richard培训笔记: WIZnet核心技术和产品对比 http://blog.iwiznet.cn/?p=29  …
Read More

具有W5300的HD PVR

博客
HDT (Hyundai Digital Technology)是一家韩国的STB公司,主要研发和生产数字卫星,PVR,IPTV等等。 2009年1月, HDT开始设计了他们的HD PVR硬件。在新的设计中,他们使用了STMicronics的STi7101作为主要的处理器。这项新产品的以太网控制器是用来与中间件进行通信并且加入一些网络服务。WIZnet’s W5300就是用来实现以太网功能的。 STi7101 已经包含了集成的MAC和MII/RMI接口.所以,只需加入外部的PHY芯片就可以实现网络功能。在HDT看来,W5300中外加的MAC与STi7101的板上MAC重复。然而,HDT选择WIZnet解决方案的主要原因还是网络的新能。在软件TCP/IP协议栈的帮助下,资源可以在CPU和网络之间共享。 当有大量数据需要网络处理时,CPU的开销就会增加,并且降低了整个系统的稳定性。 W5300的混合结构是用来连接在WIZnet上层协议中的中间件。 W5300提供了8个端口通过TCP/IP硬件核来处理以太网的数据。但是,如果我们将第一条信道(端口 #0)配置为Mac-Raw模式,那么端口#0就如同一个MAC/PHY芯片。有了这样的结构,STB就可以使应用程序采用硬件协议栈同时将软件协议栈释放给中间件。   W5300 WIZnet员工Richard培训笔记: WIZnet核心技术和产品对比 http://blog.iwiznet.cn/?p=29  
Read More

WIZnet员工SQL Server 2008培训笔记(三)

博客
前面一节,我们给大家分享了WIZnet员工SQLServer 2008培训笔记(二),点击这里(WIZNET员工SQL SERVER 2008培训笔记(二))大家可以阅读第一部分,今天我们继续给大家分享更多WIZnet员工SQLServer 2008培训笔记,希望大家喜欢。     导入Excel表后,我们可以对表列名的属性进行修改,如图1所示,右键单击数据表->设计。 图1:修改数据类型 SQL Server 2008不允许保存更改的解决方法         在进入设计界面后,我们可以对数据列的数据类型进行修改,并规定该列是否可以为空,后续我们将详细讲述SQL Server 2008的数据类型。修改完数据类型的表格我们需要保存才能生效,但是在保存过程中有可能会提示“不允许保存更改。您所做的更改要求删除并重新创建以下表”,如图2所示。 图2:不允许保存更改   这时候,我们需要做如下设置,具体方法为: 工具—选项—设计器—取消勾选“阻止保存要求重新创建表的更改”即可,如下图所示。   SQL Server 2008编辑所有行 在图1中,我们可以看到菜单选项中有“选择前1000行”和“编辑前200行”选项,这在很多应用中很不方便,那么如何实现“编辑所有行”和“返回前所有行”或者自定义编辑行数和返回的行数呢?通过以下简单的几步即可实现。   具体方法为: 工具–选项–SQL Server对象资源管理器–命令,把其中的“编辑前<n>行命令的值”和“选择前<n>行命令的值”都改为0,之后确定。 再打开表,就变成“编辑所有行”和“选择所有行”。当然如果想要编辑指定的行数和返回指定的行数,可以不设置0,设置你想要的值即可。   稍后我们会继续为大家分享更多SQL Server2008的培训笔记,希望大家喜欢~~
Read More

WIZnet W5100和W5300的Linux驱动

博客
WIZnet解决方案的优势在于“简单易用”和“保证高速”。这也正是它为什么经常被用在无操作系统的小型嵌入式应用和Linux平台的原因。   W5300性能比较 也许Wiznet W5300和W5100的Linux驱动程序可以在Linux主线3.4或3.5上应用。这要感谢来自TRIKOM的Taehun Kim 和Mike Sinkovsky。 W5100和W5300的Linux驱动
Read More

WIZnet员工SQL Server 2008培训笔记(二)

博客
前面一节,我们给大家分享了WIZnet员工SQLServer 2008培训笔记(一),大家可以阅读第一部分,今天我们继续给大家分享更多WIZnet员工SQLServer 2008培训笔记,希望大家喜欢。 1.导入Excel数据 成功创建数据库后,我们可以进行创建数据表、导入数据表。下面我们来讲如何导入Excel格式的数据。 在导入数据之前,我们要检查Excel数据的格式,使Excel数据表中,只第一行包含列名,每一列只对应一个属性。例如,图1所示为Excel源数据格式,需要修改成图2所示的Excel数据格式。 图1:源Excel数据表 图2:修改以后的Excel数据表 2.Excel取消隐藏行和列 注意:如果Excel数据表中有隐藏数据,需要取消隐藏行和列,并删除隐藏数据,才能正确修改成图2的格式。例如上图1中,第19行以上的行被隐藏了,我们可以左键单击图1中的左上角,选中整个工作表。如图3所示,选择格式->隐藏和取消隐藏,我们可以看到一些隐藏和取消隐藏的操作选项,选择取消隐藏行和隐藏列,并删除多余数据,我们就可以得到图2所示的数据表。 图3:Excel取消隐藏行和列操作 3.SQLServer 2008导入数据   在整理好Excel数据格式后,我们就可以对数据进行导入了,如图4所示,在对象资源管理器中选择数据库,单击右键->任务->导入数据,我们会看到图5所示的界面。 图4: SQL Server 2008导入数据 图5:导入数据界面 如图6所示,选择数据源为Microsoft Excel,并选择文件路径,首行包含列名称选项默认勾选,单击下一步。 图6:选择数据源 进入目标选择界面,如图7所示。目标数据库默认为对象资源管理器中右键选择的数据库,选择名称为WIZnet的数据库,单击下一步。 图7:目标数据库选择界面 默认选择复制一个或多个表或视图的数据,单击下一步。 在表和视图源中选择需要导入的数据表,其他设置可以默认,单击下一步。 进入运行包界面,单击下一步。 单击下一步,完成数据导入向导。 单击完成,完成数据的导入。 这样,在WIZnet数据库下的表文件中就有我们导入的表。如果没有,如下图所示,在表文件夹中单击右键->刷新,就可以看到我们导入的表了。 后续中我们仍会继续给大家分享SQL Server 2008的更多学习笔记,敬请期待哦。  
Read More

W5100E01-AVR(W5100评估板用户手册)(七)

博客
W5100E01-AVR是为AVR开发者提供的W5100评估板。本文是W5100E01-AVR的用户手册,希望对大家有所帮助。今天我们接着前天的博文继续介绍: 第六部分在这里:W5100E01-AVR(W5100评估板用户手册)(六) 3.2.6.6.6 DNS客户端 在介绍DNS客户端设置之前,让我们简要的看一下DNS(域名系统)。 DNS系统用于将因特网域名转换成因特网IP地址,反之亦然。DNS由域名服务器和域名解析模块组成,域名服务器包含IP地址与域名之间的映射图,域名解析模块通过给域名服务器传输查询接收查询结果。 域名解析模块查询转换成本地域名服务器的IP地址或域名。本地域名服务器通过搜索DB(数据库)接收查询,并响应解析模块。如果域名解析模块找不到需要的信息,本地域名服务器就将接收到的查询发送给上一级域名服务器,接收到的响应就可以发送给域名解析模块。 如<图3.33>所示,DNS查询与DNS响应信息在域名解析系统和域名服务器之间的传送包括5部分,如<图3.34>所示。 Header部分包含固定12字节长度,其他4部分的长度是可变的。除了Header和Question部分,Answer、Authority和Additional部分被称为资源记录(RRs)。每一个Header、Question和RRs都有不同的格式。 DNS消息的首部保存信息类型、DNS查询类型和可变长度部分的计数信息。 在<图3.35:首部格式>中,当DNS信息是域名解析器到域名服务器的请求,QR字段值为0;反之,QR字段得值为1。当DNS信息为查询域名IP地址时,Opcode字段值为0;当它查询域名服务器状态时,Opcode字段值为2。 QDCOUNT、ANCOUNT、NSCOUNT与ARCOUNT字段统计可变长度的信息、由Question部分组成的代表区块数、Answer、Authority以及additional部分。组成Question部分的块如<图3.36:Question部分格式>所示,组成Answer、Authority和Additional部分的块如<图3.37>所示。 举例来说,如果QDCOUNT是1,ANCOUNT是0,NSCOUNT是10,ARCOUNT是10,那么组成Question部分的块如<图3.36:Question部分格式>所示。Answer、Authority和Additional部分由10块组成,如<图3.37>所示。 <图3.37>的NAME字段、<图3.36>的QNAME字段与RDDATA字段也是可变长度。QNAME与NAME字段是可变长度字段,组成的格式和他们处理的每一个字段如<图3.36>所示。RDDATA可变长度字段,使用RDLENGTH字段的数据长度进行处理。 想了解更多,参见RFC1034和RFC1035。 DNS信息由<表3-38>所定义的数据类型操作,参见“inet/dns.h”。 如<图3.33>所示,DNS查询与DNS响应信息在域名解析系统和域名服务器之间的传送包括5部分,如<图3.34>所示。 域名解析模块基于gethostbyaddr()函数和gethostbyname()函数运作。gethostbyaddr()函数负责将因特网IP地址转换成因特网域名,gethostbyname()的功能正好相反。gethostbyaddr()函数和gethostbyname()函数测试域名服务器IP地址的设置和搜索W5100连接域名服务器所需信道。如果W5100的闲置信道存在,gethostbyaddr()函数和gethostbyname()函数用‘BYNAME’或‘BYIP’元素调用dns_query()。 更多gethostbyaddr() 函数和gethostbyname()函数的例子,参见3.2.5.3.章——Ping请求程序。 实际与域名服务器的连接是通过dns_query()函数执行的,gethostbyaddr()函数和gethostbyname()函数只负责报告dns_query()函数的结果。 dns_query()函数用于初始化域名服务器间的工作缓存区并基于‘BYNAME’和‘BYIP’查询类型创建Question部分的QNAME。如果查询类型是‘BYNAME’,那么当使用IP地址查询域名时,域名可以当成QNAME使用而不需要转换。 当查询类型是‘BYIP’时,那么当使用IP地址查询域名时,需要将IP地址转换成IP地址字符串,并在改变的IP地址字符串添加“in-addr.arpa”后使用QNAME。创建完QNAME后,需要为域名服务器间的工作创建UDP Socket,并通过调用dns_make_query()函数创建DNS请求信息。如果DNS请求信息被成功创建,就通过UDP Socket发送给域名服务器。发送完DNS请求信息后,它就接收DNS响应信息或等待,直到等待时间结束。 如果在等待期间从域名服务器接收到DNS响应信息,就使用dns_parse_response()函数分析接收到的DNS响应信息,dns_query()函数会基于查询类型返回IP地址或域名。 <图3.39>是dns_query()函数的流程图。 <图3‑39: dns_query()函数> <图3‑40: dns_makequery()函数> dns_makequery()函数创建需要发送给域名服务器的DNS请求信息。因为DNS请求信息只能通过Header和Question部分查询,dns_makequery()函数不需要创建RRs部分。如果你在dns_makequery()函数中查看首部,首先它将ID字段值与在域名服务期间工作的信息设置相同,这里ID设置成0x1122。为进一步实现域名服务器间的工作,ID值加1。QR、Opcode、AA、TC和RD字段通过MAKE_FLAG0()函数分别设置成QR_QUERY、OP_QUERY/OP_IQUERY、0、0、1,RA、Z和RCODE字段通过MAKE_FLAG1()函数分别设置成0、0、0。 因为count字段中,QDCOUNT、ANCOUNT、NSCOUNT和ARCOUNT都只有一个问题,因此分别设置成1、0、0、0。 让我们来看一下Question部分,QNAME字段用于设置IP地址字符串。域名和IP地址字符串由1 byte的标签和最大可达63 byte的标签组成。为了识别QNAME的可变长度,QNAME字段通常以0作为结尾。<图3.41>所示是QNAME字段中,域名为www.wiznet.co.kr的实际传输例子。 因为count字段中,QDCOUNT、ANCOUNT、NSCOUNT和ARCOUNT都只有一个question,因此分别设置成1、0、0、0。 让我们来看一下Question部分,QNAME字段用于设置IP地址字符串。域名和IP地址字符串由1 byte的标签和最大可达63 byte的标签组成。为了识别QNAME的可变长度,QNAME字段通常以0作为结尾。<图3.41>所示是QNAME字段中,域名为www.wiznet.co.kr的实际传输例子。 Question部分的QTYPE字段需要设置成‘TYPE_PTR’,当它保存的域名认为是QNAME时,它的IP地址设置成‘TYPE_A’时,因为它包含在网络中,因此QCLASS字段需要设置成‘CLASS_IN’。 <表3-41 >是在QTYPE & QCLASS字段使用的常量定义。 <图3‑42: dns_parse_response()函数> <图3.42> 所示的dns_parse_response()函数分析了通过域名服务器接收的响应信息。dns_parse_response()函数检查发送给域名服务器的ID与响应信息的ID是否相同,它也检测接收到的响应信息是否为通过检查Header部分的QR字段的响应信息。如果接收到的信息是域名服务器的响应,改变的成功与否决定于检查Header部分的RCODE字段。 <表3-42>所示为RCODE字段使用的常量定义。 如果RCODE是RC_NO_ERROR,可变长度部分,例如Question、Answer、Authority和Additional部分被解析,因为在Answer部分设置了必要信息被分析和处理,而其他部分没有。如果你需要Authority和Additional部分的信息,你可以通过自己很轻松的获取。 Question部分通过调用dns_parse_question()函数处理Header部分的次数与QDCOUNT一样。Answer部分通过调用dns_parse_question()函数处理部分的次数与首部的ANCOUNT一样多。 <图3‑43: dns_parse_question()函数和dns_answer()函数> dns_parse_question()函数分析和处理Question部分。在DNS请求信息的Question部分并没有实际的信息,但是它必须被处理以获取Answer部分的开始位置。因为Question 部分的QNAME字段得到可变长度,处理QNAME字段的parse_name()来处理可变长度过程,跳过了QTYPE和QCLASS字段。 dns_answer()函数分析和处理Answer部分。Answer部分是转换实际产生作用的部分,在Answer部分的TYPE字段执行适当的处理。 Answer部分的TYPE字段只有一种值,而不是来自TYPE_A 或TYPE_PTR,如<表3-41 : QTYPE & QCLASS字段的常量定义>所示。如果域名变成IP地址,它可以从TYPE中得到改变的IP地址,如果是IP地址变成域名,那么域名可以从TYPE_PTR中获取,改变的域名或IP地址也可以通过parse_name()函数处理和提取。 <图3‑44: parse_name()函数> parse_name()函数处理Question部分的QNAME字段或RRs部分的NAME、RDDATA字段。QNAME、NAME、RDDATA字段大多数的组成如<图3.41:Question 部分的QNAME 字段传输实例>所示,但是,它可以被压缩从而减少DNS信息的大小。压缩方法为2字节压缩,如果第1个字节——高字节的2位是‘11’,这就描述标签被压缩了。它包含第1个字节的偏移量,除了高字节的2位和第2个字节。 这个偏移量是DNS信息的偏移量,表示从DNS信息的起点到标签存放位置的实际偏移量。如果压缩方案尝试重新使用已经在DNS信息中使用过的域名,就需要间接设置在DNS信息中的相关域名偏移量。<图3.45>所示为DNS信息压缩方案和应用实例。 <图3.45>的压缩方案实例展示了”F.ISI.ARPA”、”FOO.F.ISI.ARPA”、”ARPA”和ROOT”的DNS消息。“F.ISI.ARPA” 使用20的未压缩的DNS消息偏移量,按照<图3.41 : Question部分的QNAME字段传输实例>的格式进行处理。 在“FOO.F.ISI.ARPA,”中,因为剩下的除了“FOO”,都和先前处理的Name字段一样。“FOO”在没有压缩的情况下的处理流程如<图3.41:Question部分的QNAME字段传输实例>所示格式,剩下的名称做位移26处理。ROOT是最高级的域名,它使用0的标签长度字段处理。 parse_name()函数在分析Name字段之前,检测标签长度字节的高字节2位是否为11。如果是‘11’,相关Label就分析DNS信息中Lable所在的偏移量;如果不存在,标签的分析和处理过程如<图3.41:Question部分的QNAME字段传输实例>所示。 这是本文的第七部分内容,剩余的内容我们将会在今后的博文介绍,希望对大家有所帮助。欢迎大家的留言讨论。
Read More

如何用W7100A实现串口转以太网(二)

博客
4    串口转以太网代码 在这一节,我们将会检查‘串口转以太网’中已载入的代码。代码的执行有三种方式:TCP服务器,TCP客户端,UDP。所有的代码按照下面章节中的讲述。 4.1  服务器模式 TCP服务器中的监听(LISTEN)状态表示服务器等待客户端的连接请求。客户端将会请求在连接(CONNECT)状态下与TCP服务器进行连接。如果服务器和客户端建立连接,SOCKET就会进入建立(ESTABLISH)状态(SOCK_ESTABLISHED;由WIZnet定义的)。在此状态下,可以进行数据发送/接收直到SOCKET关闭为止。TCP服务器模式下SOCKET的循环周期由打开(OPEN)、监听(LISTEN)、发送(SEND)、接收(RECEIVE)、断开(DISCONNECT)、关闭(CLOSE)这六种状态组成。     每一个状态下所对应的程序将会在后面的章节介绍。W7100A驱动支持socket()、listen()、recv()、send()、disconnect()、close()这些函数。 4.1.1     打开(OPEN)  s = 0;      // 设置SOCKET 0 (由0 to 7) socket(s, Sn_MR_TCP, port, mode);   //打开SOCKET 0 while(getSn_SR(s) != SOCK_INIT); 程序4.1 打开SOCKET     打开(OPEN)状态是表示SOCKET已创建了,而SOCKET由socket()函数创建。SOCKET号、协议、端口号以及标志位这些参数是需要在socket()函数中输入的;SOCKET号取0~7之间的值,而协议需要输入Sn_MR_TCP(0x01),端口号则取将要用来与客户端进行通信的端口号,标志位设置为0表示‘无延时Ack标志’。     在所有的设置完成后,调用socket()函数。检测Sn_SR()寄存器是否已经变成SOCK_INIT(0x13),该寄存器可以指示socket的状态。Sn_SR的值可以利用getSn_SR()函数直接读出。如果SOCKET “n”没有变成SOCK_INIT(0x13),则表示创建SOCKET失败。这种情况下,需要再次调用socket()函数重新创建SOCKET. 4.1.2    监听(LISTEN) s = 0;      // 设置SOCKET 0 listen(s);  // 将SOCKET 0的状态改成监听(LISTEN)状态 程序4.2 监听(LISTEN)状态     SOCKET被创建后,为了能够与客户端建立连接,SOCKET需要处于监听(LISTEN)状态下。通常有两种方法将SOCKET的状态从SOCK_INIT(0x13)变为SOCK_LISTEN(0x14):一种方法是对用户来说的,可以执行Sn_CR()寄存器中的Sn_CR_LISTEN(0x02);另一种方法是调用listen()函数。通过这两种方法都可以直接改变SOCKET的状态。在监听(LISTEN)状态下,TCP服务器等待客户端的连接请求。当服务器与客户端建立连接时,SOCKET的状态将变成SOCK_ESTABLISHED(0x17)。这时,TCP服务器就可以与客户端进行数据交换。 4.1.3 RS232参数初始化 /* 配置定时器(TIMER)来产生波待率 */ ET1 = 0;          /* 禁止TIMER1中断 */ TMOD = 0x20;         /* 选择TIMER2 */ PCON |= 0x80;         /* SMOD = 1 */ TH1 = 0xFC;            /*在88.4736MHZ频率下 X2 115200(SMOD=1) */ TR1 = 1;                  /*启动TIMER1 */ SCON = 0x52;          /*串行模式1, REN=1, TI=1, RI=0 */ /* 中断设置 */ RI  = 0;          /* 清除UART的接收中断标志位*/ TI  = 0;          /* 清除UART的传输中断标志位*/ ES   = 1;        /* 允许串行中断 */ 程序4.3 RS232初始化     TCP服务器初始化完成后,用户应该将在W7100A串行通信中的定时器(TIMER)相关寄存器也进行初始化设置,如上4.3代码段中所示。 4.1.4  串行中断处理 if(RI)                       //检测接收中断标志位 {                                  //s_buf :串行缓存器 s_buf[s_write_ptr] = SBUF;       /从串行缓存器向uart接收缓存器中写入数据 s_write_ptr++;         //写指针加1 //检测写指针是否大于串行缓存器的最大存储空间 if(s_write_ptr >= MAX_SBUF_SIZE){          s_write_ptr = 0;         if(s_write_ptr == s_read_ptr) overflow = 1;  //缓存器溢出检测 } else{         if(s_write_ptr == s_read_ptr) overflow = 1;  //缓存器溢出检测 }…
Read More