IP控制器范文(精选11篇)
IP控制器 第1篇
嵌入式系统是指被嵌入到各种产品或工程应用中的以微处理器或微控制器为核心的软、硬件系统。嵌入式系统与Internet技术相结合,形成的嵌入式Internet技术是近几年随着计算机网络技术的普及而发展起来的一项新兴技术,它通过现有的嵌入式系统,增加因特网接入能力来扩展其功能,创造性地提出以低价位单片机作为微处理器,使嵌入式设备而非PC系统直接接入Internet。在本文中,采用ARM内核的LPC2210外接以太网控制芯片RTL8019AS实现了嵌入式Web服务器的硬件结构和软件功能,使传统的基于DCS结构的工控系统向嵌入式Web结构转移,可有效降低成本,方便最终用户,并改善故障检测和设备维护的远程访问能力。
在比较了现有的几种网络化方案的基础上,提出了通过为单片机系统增加嵌入式TCP/IP协议栈实现嵌入式Internet的方案,实现了网络智能家电控制器远程模拟。
1 设计思想
1.1 单片机系统连接Internet的方案
单片机系统接入Internet的典型方案有3种:①MCU+内部固化TCP/IP协议的芯片接入Internet;②采用由emWare公司开发的EMIT技术,即在应用系统的单片机内部使用emNet协议,再通过emGateway与Internet网连接;③MCU+Webchip接入Internet。
综合比较这3种典型方案,我们选择第三种,它具有以下特点:
(1) 应用系统的设计更简单。在MCU系统中使用Webchip,统一了MCU对外的通信接口,应用时不需要考虑MCU与Gateway之间复杂的通信协议,只需要解释并执行Webchip传送过来的命令;而Webchip与MCU之间的命令只有十多条,传送格式简单易懂。
(2) 降低了对应用系统中MCU性能的要求,减少了应用系统的硬件开支。由于MCU与Gateway之间的通信协议都是由Webchip来处理,因此极大地减少了应用系统中MCU的工作量,使MCU可以去处理其它更多的事务。
(3)成本低廉。由于应用系统设计简单,从而缩短了软、硬件的开发周期。
1.2 系统总体硬件连接图
本设计通过网络实现控制家电的运作,其控制方式模拟图见图1。其目的是使远程监控主机通过以太网控制器发给CPU信号,然后由CPU通过I/O口控制家电的运作,图2为其硬件连接图。
2 嵌入式操作系统
uC/OS-II和uClinux是两个优秀的嵌入式操作系统,而进程调度、文件系统支持和系统移植是嵌入式操作系统实际应用中最常见的问题,因此就从以下几个方面入手对uC/OS和uClinux进行分析比较:
2.1 进程调度
进程调度又称为CPU调度,其根本任务是按照某种原则为处于就绪状态的进程分配CPU,可分为“剥夺型调度”和“非剥夺型调度”两种基本方式。“非剥夺型调度”是指:一旦某个进程被调度执行,则该进程一直执行下去直至该进程结束,或由于某种原因自行放弃CPU进入等待状态,才将CPU重新分配给其它进程。而“剥夺型调度”指:一旦就绪状态中出现优化权更高的进程,或者运行的进程已用满了规定的时间片时,便立即剥夺当前进程的运行(将其放回就绪状态),把CPU分配给其它进程。
uC/OS采用的是可剥夺型实时多任务内核,最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级。
而uClinux的进程调度沿用了Linux的传统。即系统每隔一定时间挂起进程,同时产生快速和周期性的时钟计时中断,并通过调度函数(定时器处理函数)决定进程何时拥有它的时间片,然后进行相关的进程切换。
2.2 文件系统
所谓文件系统是指负责存取和管理文件信息的机构,也可以说是负责文件的建立、撤销、组织、读写、修改、复制及对文件管理所需要的资源(如目录表、存储介质等)实施管理的软件部分。
uC/OS是面向中小型嵌入式系统的,如果包含全部功能(信号量、消息邮箱、消息队列及相关函数),编译后的uC/OS内核仅有6kB~10kB,所以系统本身并没有对文件系统的支持。但是uC/OS具有良好的扩展性能,如果需要也可自行加入文件系统的内容。
uClinux则是继承了Linux完善的文件系统性能,其采用的是romfs文件系统,这种文件系统要求更少的空间。uClinux还继承了Linux网络操作系统的优势,可以很方便地支持网络文件系统且内嵌TCP/IP协议,这为uClinux开发网络接入设备提供了便利。
2.3 操作系统的移植
uC/OS的移植只需要修改与处理器相关的代码即可,具体有如下内容:①OS_CPU.H中需要设置一个常量来标识堆栈增长方向;声明用于开关中断和任务切换的宏;需要针对具体处理器的字长重新定义一系列数据类型;②OS_CPU_A.ASM需要改写4个汇编语言的函数;③OS_CPU_C.C需要用C语言编写6个简单函数;④修改主头文件INCLUDE.H,将上面的.H后缀文件和其它的头文件加入。
通过对uC/OS和uClinux的比较可以看出:uC/OS占用空间少、执行效率高、实时性能优良,且针对新处理器的移植相对简单;uClinux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。但是,uClinux具有对多种文件系统的支持能力、内嵌了TCP/IP协议,可以借鉴Linux丰富的资源,对一些复杂的应用,uClinux具有相当优势。小型控制系统可充分利用uC/OS小巧且实时性强的优势;如果开发PDA和互联网连接终端等较为复杂的系统,则uClinux是不错的选择。
3 系统软件和调试部分
3.1 开发平台和编译器
开发平台选择EasyARM2200,它是以16位单片机LPC2210为主处理器的开发板,为ARM7DMI内核。开发板集成了网络芯片RTL8019AS,一个FLASH,一个RAM,很好地满足了本设计需要的全部元件;编译器选择ADS1.2,它是ARM公司专为ARM内核芯片开发的编译器,性能优秀。
3.2 TCP/IP软件协议层调用关系
系统软件主要实现链路层协议、网络层协议、传输控制层协议和用户数据包协议。图3为软件协议层,图中实线箭头表示正常的调用关系,模块所在水平位置代表其所在的网络层次。
3.3 调试
该系统运用Easy JTAG仿真器下载程序到目标板EasyARM2200上,通过编译,软件仿真,脱机运行,实现了从PC的浏览器浏览预先写到目标板存储器中的WebServer,然后通过控制I/O口的开关量的打开和关断来控制LED模拟基本的家电开关控制。
4 结论
本文成功地将嵌入式实时操作系统μC/OS-II移植到ARM处理器上,通过该操作系统的支持,使嵌入式TCP/IP协议栈有了支持多用户任务的功能。在了解了TCP/IP协议标准和TCP/IP内核源代码的基础上,实现了一个支持多任务、多用户的嵌入式TCP/IP协议栈的基本框架,成功建成了Embedded WebServer,并完成了实验和调试。实现了基于TCP/IP协议的网络家电控制器的软件模拟和硬件仿真。
参考文献
[1]Jean J Labrosse.嵌入式实时操作系统μC/OS-II[M].第2版.邵贝贝,译.北京:北京航空航天大学出版社,2004.
[2]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2004.
[3]周立功.ARM嵌入式系统软件开发实例(一)[M].北京:北京航空航天大学出版社,2004.
[4]马忠梅,马广云,徐英慧,等.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社,2002.
IP控制器 第2篇
IPpermitlistenabled.
Console>(enable)setippermit172.16.0.0255.255.0.0telnet
172.16.0.0withmask255.255.0.0addedtotelnetpermitlist.
Console>(enable)setippermit172.20.52.32255.255.255.224snmp
172.20.52.32withmask255.255.255.224addedtosnmppermitlist.
Console>(enable)setippermit172.20.52.3all
172.20.52.3addedtoIPpermitlist.
Console>(enable)showippermit
Telnetpermitlistfeatureenabled.
Snmppermitlistfeatureenabled.
PermitListMaskAccessType
---------------------------------------------
172.16.0.0255.255.0.0telnet
172.20.52.3snmptelnet
172.20.52.32255.255.255.224snmp
DeniedIPAddressLastAccessedTimeTypeTelnetCountSNMPCount
---------------------------------------------------------------
172.100.101.10401/20/97,07:45:20SNMP141430
172.187.206.22201/21/97,14:23:05Telnet7236
Console>(enable)
Console>(enable)setippermitdisableall
Console>(enable)clearippermit172.100.101.102
172.100.101.102clearedfromIPpermitlist.
Console>(enable)clearippermit172.160.161.0255.255.192.0snmp
172.160.128.0withmask255.255.192.0clearedfromsnmppermitlist.
Console>(enable)clearippermit172.100.101.102telnet
172.100.101.102clearedfromtelnetpermitlist.
Console>(enable)clearippermitall
IPpermitlistcleared.
Console>(enable)
交换机配置
IP控制器 第3篇
【关键词】空管语音交换与控制系统;VoIP
1、空管地空通信系统传输网络的现状及发展方向
1.1空管地空通信系统传输网络的现状
标准化组织(ITU(国际电信联盟),3GPP(第三代合作伙伴计划),EUROCAE(欧洲民航装备组织)等)已经停止对TDM技术的新标准制定。
电信运营商(e.g.Orange, German Telecom)已经或者即将停止提供传统的电信链路(模拟, 64k and E1 services)。
所有的电信运营商已经把TDM(时分复用)的传输网升级到IP网络,预计TDM网络将在5年内消失。
无法实现各个地区空管系统之间共享甚高频电台资源,互联互通困难。
1.2空管地空通信系统传输网络的发展方向
迁移至IP网络在电信网络业可谓大势所趋。究其原因主要是为降低成本。因为IP网络宽带相对数字或模拟网络成本更低。但是对于地空无线通信需要特别考虑实际操作用例。例如,IP连接延迟变化的不确定性对于无线覆盖操作和无线耦合来说是一项重大挑战。对于有线通信,必须保持与现有电话协议的兼容性,例如MFC-R2、LB等电话协议。
EUROCAE和ICAO已经制定了基于IP语音的空中交通管制标准
EUROCAE WG 67是规定ATM VoIP系统语音技术和操作的要求。ICAO已经通过EUROCAE WG 67(European Organization for Civil Aviation Equipment Working Group 67)成为国际标准。包括以下内容:
ATM VoIP技术和操作要求;
ATM VoIP系统组件和兼容性要求的定义;
ATM VoIP组件互联的网络要求的定义;
ATM VoIP系统质量验证测试的定义。
EUROCAE WG 67创建的最终文件于2009年2月发布,并于2010年和2012年更新两次。
2、基于IP网络的空中交通管制的可行性及优点
2.1IP网络在空中交通管制应用的可行性
现在几乎所有电信运营商的骨干传输网都是基于IP的。
VoIP具备QOS(服务质量控制),可以提供非常好的话音质量。
IP网络安全性很高,银行等金融机构的网络全部基于IP网络,而且空管系统自成一个局域网,与外网物理隔断,安全性更高
2.2基于IP网络的空中交通管制优点
不同的骨干网络整合成一个基于IP网络的所有服务,降低了系统维护成本,并为话音和数据服务提供了灵活的路由。
IP网络可以提供固有的路由功能,减少网络链接的故障,并确保快速恢复通信链路,在语音和数据通信方面使用IP网络可以增加方案的灵活性。
此外,基于IP的网络可以从不同的站点动态访问数据并且进行多个中心的数据共享。因此,不同的空中交通管制中心可以通过深入到其他地理区域和数据共享功能进行远程控制操作。
3、IP技术在空管语音交换与控制系统中的应用
3.1民航空管语音交换与控制(内话)系统
VCS(内话系统)是一种多功能的空管专用通信终端设备,可接入多个有线、无线信道,支持多个席位操作面板,具备席位间通信、信道分配、共享的话音通信系统。空管内话系统主要完成管制人员与飞机驾驶员地空通讯和管制人员所需的地面通讯功能。
3.2VoIP的基本原理
VoIP(Voice over Internet Protocol)是将模拟声音信号(Voice)进行压缩编码处理,然后再将经过压缩编码处理过的语音数据根据相关的协议进行打包(数据封包),通过IP分组网络将数据包传送到接收端,经过数据拆包,解压解码等操作后,获得原始的语音信号,从而在IP数据网络上做实时传递。
3.3VoIP内话系统(VCX-IP)网络解决方案
(1)从TDM到IP技术的分布迁移。十多年前基于TDM技术的语音与数据VCX网络问世。如今,这部分客户正利用VCX网络的分步迁移功能实行到IP基础设施的迁移。最新版本的VCX-IP在各个阶段都强化了现有解决方案。VCX-IP旨在将顶尖IP网络技术结合到现有TDM基础设施。由此,VCX网络解决方案可以提供冗余的、对原有应用完全透明的TDM和IP广域网。
(2)集成IP、TDM及VSAT网络。VCX-IP网络解决方案引用本地的广域网物理架构,通过与现有设备相兼容的冗余WAN提供高度可靠性。顺应国际电信业的发展趋势,客户将其数据、地/地、地/空通信模拟系统替换为先进的IP系统。VCX-IP网络解决方案是因为迁移过程高度安全,不会对原有系统的正常运行造成任何影响。
VCX-IP网络解决方案系统拓扑图如下图所示:
(3)应急方案与节省带宽。先进的网络路由技术与全面的VSAT备份广域网提供可靠的应急方案:一个管制中心接管另一个管制中心的业务。这一方案确保即使在重大自然灾害期間也能时刻保持空域开放。据了解,Frequentis内话厂家已将最初基于TDM的VCX网络方案升级到最新IP解决方案,重点目的主要集中在节省带宽。另外G.729语音压缩技术已经将带宽负荷减少到8kbit/s。
(4)针对安全型设计。VCX-IP网络解决方案集成多级冗余概念并提供冗余的物理设备、内部站点及运行网络。在多个广域网下VCX-IP集成基于优先级的路由及接入控制功能实现可靠通信,同时为系统操作及管理任务提供独立的处理单元,确保监控和重新配置设备时的通信安全。
(5)降低成本。VCX-IP通过提供传统技术到 IP技术的网关(如低速数据、磁石电话、MFC及ATS- QSIG)来减少投资。通过语音压缩、呼叫聚合机制和支持服务类型及优先级的灵活路由功能来节约运行成本。尽管国际趋势在不断缩短IT生命周期,但依然可以提供长达十年的生命周期支持。
4、结束语
随着民航事业的不断发展,IP技术很有潜力来实现未来地空通信系统的功能需求和技术要求,通过该技术实现VHF频率的共享,不仅能够节约日益紧张的频率资源、提高地空通信设备使用率,还能节约空管系统投资与运行成本。
作者简介
IP控制器 第4篇
1 GPIB控制器方案设计(1)
通用接口总线(General Purpose Interface Bus,GPIB)使自动化测试仪器的互联有了统一的标准,极大地推动了自动测试技术的发展。GPIB总线具有并行总线传送速度快、有效数据速率高、驱动能力强、通信距离可达20m、抗干扰能力良好及通用性等特点,总线上最多可挂接15台设备并且传输速度可以达到8Mbit/s,因此有良好的应用前景[1],其自动测试系统组建如图1所示。
GPIB控制器IP核设计采用模块化思想,主要模块包括状态机模块、数据通路模块和译码电路模块。对状态机模块的设计包括8个小模块(如源方挂钩及受方挂钩等),采用VHDL语言对各个小模块进行编程实现,最后调用各子模块并用原理图的方式进行状态机顶层模块设计,并在Synplify以及QuartusⅡ平台进行分析和仿真。对数据通路的设计也采用同样的方式,先对各个子模块进行设计,然后进行整体设计。最后调用状态机顶层模块、数据通路顶层模块及多线消息译码电路模块等进行GPIB控制器IP核的顶层设计。完成整个IPCore设计后,通过JTAG下载方式将Core下载到选定的DE2专用开发套件CPLD芯片进行通信设置验证,成功后再搭建硬件,从而得到实体化GPIB控制器。
2 GPIB控制器IP核设计的实现
2.1 接口控制电路的工作原理
GPIB总线是一种24芯的并行无源总线,由8根地线和16根信号线组成。16根信号线为8根数据线(DIO1~DIO8)、3根握手线(DAV、NRFD、NDAC)和5根管理线(ATN、REN、IFC、EOI、SRQ)。数据传输采用位并行、字节串行的双向异步传输方式。需要注意的是:GPIB采用的是负逻辑,即低电平(不大于0.8V)为逻辑1,高电平(不小于2.0V)为逻辑0[2]。
GPIB总线的基本原理是将控者作为服务器,利用编程并通过GPIB总线实现对各个仪器的控制,同时各个仪器也通过操作GPIB控制芯片来实现与服务器的数据传输,其输出到GPIB母线上的信号符合IEEE488标准,从而达到自动控制和测试的目的。
2.2 模块设计
GPIB控制器的设计主要包括3个模块:接口功能模块、多线消息译码器和数据通路模块。
2.2.1 与GPIB母线通信的接口功能模块
在GPIB系统中,把器件与GPIB总线的一种交互作用定义成一种接口功能,实质上是一组逻辑功能,实现IEEE488通信协议。该功能模块是本设计的重点,在接口功能子集的选择上也有一定的要求,主要实现各子接口功能,即:源方挂钩SH、讲者T、听者L、服务请求SRQ及远控本控RL等。各接口模块功能采用同步MOORE状态机(只与当前信号有关,与输入信号无关)实现。在各子接口模块功能实现的基础上,对其进行顶层状态机设计,即:调用各子模块,用原理图方式对其进行互联式设计,并用VHDL语言完成对状态机的描述,实现的逻辑功能如图2所示。其中,输入信号有:GPIB母线信号(ATN、DAV、IFC、REN、NDAC、NRFD、EOI、SRQ),多线消息(MTA、MLA、OTA、LLO、GTL、GET、DCL、SDC、UNL、SPD、SPE),辅助寄存器产生的内部消息及本地消息(swrst、lon、rsv、ton)等。这些输入的信号均通过译码电路产生,输出信号对接口功能的状态进行控制。
下面以源方挂钩SH为例说明其逻辑的实现,逻辑图如图3所示。
主要代码为:
2.2.2 数据通路模块设计
其模块实现微处理器端到GPIB接口功能端的数据,对控制器内部寄存器进行读、写操作。
2.2.3 多线消息译码器电路
译码电路的目的是产生逻辑功能信号,对控者发送的远地消息和本地消息译码,实现各接口功能的控制。
2.3 程序设计
程序设计主要完成接口初始化、主控PC向仪器发送消息以及接收消息并对数据分析处理等工作。母线上各种动作均是通过PC机向NAT9914内部寄存器写入或读取数据,使接口实现相应的功能变化。
2.4 实验结果
通过对整体系统搭建,完成仪器与总线间的数据传输。以AH与L功能配合接收GPIB总线的数据为例分析实验结果。AH与L功能接收数据实验结果波形如图4所示。
由图4可以看出,在信号WRITE及地址RS[2..0]=010(ADR在寄存器中的地址)的作用下,仪器通过INDATA[7..0]数据端口向地址寄存器ADR内写入该仪器在GPIB总线上的地址11H。
在第4个时钟下降沿器件收到ATN信号,表明AH功能从AIDS状态进入ANRS状态;第5个时钟下降沿仍然有ATN信号,表明AH功能从ANRS状态进入ACRS状态,同时发出RFD信号,告诉控制者已经准备好接收GPIB接口命令;在6个时钟下降沿,检测到总线传输的DAV信号,表明AH功能从ACRS状态进入ACDS状态。随后,系统控制者通过DIO线发送地址命令31H,通过多线消息译码器输出MLA信号,在第7个时钟下降沿,L功能在MLA&ACDS的作用下从LIDS进入LADS状态,表明仪器已经受命于听者,接收接口消息结束后,便会产生一个T信号;在第8个时钟下降沿,GPIB控制器检测到T信号,表明AH功能进入AWNS状态,并发出DAC信号,告诉控制者接口命令接受完毕;在第9个时钟下降沿,系统控制者撤销DAV信号和ATN信号,表明AH功能进入ANRS状态,至此一个三线挂钩的过程已经完成。在ATN为0的作用下,L功能进入LACS状态,此时仪器正式进入听者状态。其他传输过程与听者接收数据过程类似,在此不再赘述。
3 结束语
实验证明,由GPIB控制器构成的自动测试系统具有自动采集数据、速度快及效率高等特点,其核心部件采用IP核设计具有可移植性,可开发周期短、成本低,改变了传统仪器手工操作及单台使用等缺点,并为计算机与仪器仪表相结合的自动测试系统向智能化、标准化发展提供了有力的媒介。
参考文献
[1]陈长龄,田书林,师奕兵,等.自动测试及接口技术[M].北京:机械工业出版社,2005.
IP的商业价值及全球IP商业趋势 第5篇
其实IP最关键的是情感。任何一个IP都有情感,都有追求。你可以延伸到像旅游也好,场景也好,场地也好,商品也好,甚至一些互动,这是IP的最大价值。刚才谢总说到,IP很多。而且以后,IP满天飞。真正有价值的IP是能落地的IP,能有内容沉淀的,可以做延伸,可以长红的IP。
我今天演讲的主题是《IP的商业价值和全球IP商业趋势》。我讲之前,讲一下授权链,版权、收购、改编、合作。每年5月份、6月份,在美国拉斯维加斯有全球的授权展,已经好几十年了,包括上海也已经坚持5年,而且越来越火。授权链从上到下,从文字到内容改编,是非常长尾的大工程。
我们现在国内文旅板块,是异军突起的文化板块。我这里讲一个小故事,很多年以前,有一个全球知名IP做得很好,英国DT,我不知道大家有没有看过,现在在别的国家卖得很好,中国还没有进来,找我谈的时候,我开玩笑,我说为什么把授权给我,他说你为什么不要?我说不是不要,这是传播英国的文化,英国的文化通过IP,通过品牌力量到中国来。
我当时开了一个玩笑,这20年来我学了很多。我举一个例子,可以拿北京地铁来说。北京地铁大家坐过,有几个环,每个环,每个门,东直门、西直门,每个门是一个出口,就代表中国IP的崛起,代表中国IP文化的露出,这些年大家也肯定看到文旅板块,特别是前几年很多特色小镇在各地建设,现在看怎么样?基本上都有问题,特色小镇不特色,没有内容,没有文化,没有挖掘出来。
下面和大家分享一下全球授权商品的数据。从20到,已经是2800多亿美元。这只是官方数据,还是远不止的,可以按照授权、地区、品类进行划分。这个数据大家看一下,授权商品年零售额中国排在第五位,年销售额95亿元,700亿人民币,美国1500亿美元。所以可以看到我们的差距,我们这个空间很大。现在对于IP商品,对它文化的传播以及我们国内IP的崛起,这是一个蓝海。其实现在说什么生意好做?很多人说生意都不好做,但是这个板块的生意现在是一片蓝海,因为刚刚开始。
中国授权趋势现在还是以商品为重的。IP可以赋能很多生活方式,刚才我们一直在探讨的小鸟,想把愤怒的小鸟、可爱的小鸟带到中国,现在已经谈得差不多了,准备落地,大家也看过今年7月份大电影《愤怒的小鸟》上映。
我们不考虑做大乐园,可以做一些室内,或者国内特色小镇,或者文旅板块、地产项目,现在很多地产项目说,文旅的的背后有地产,地产靠着文旅拉动,没有主题真的很难拉动。我现在一直坚持,做乐园可以做,最好做室内乐园,做互动的,可控性大的。不是大批量建房子,一心不能二用,这样做乐园基本很难成功。这是我们乐园的示意图,室内为主,又节省空间,不浪费土地,关键是聚人气,室内乐园还有什么好处?一年四季刮风下雨,冬天夏天,天热天冷都无所谓,关键是里面的情感、互动,IP乐园是最直接抓人心的。
这是我们20年红纺走过的路,我在这个行业一不小心干了20年,这是我最大的受益。从20开始,我们开始注重产权、授权、特许经营、特许加盟、特许商品这块儿。当时我参与过奥运,我是中国唯一的福娃独家授权商。从年到,奥运结束以后就转型,当时环境也是20的金融危机,像现在一样,也是寒冬。但是这个时候也有机会,所以在每一次危机的时候,机会就来了。但是怎么选这个路,选择适合自己企业发展的路,所以年奥运结束以后,我们坚定不移做了这个转动。
年之前,几十亿的市场。但是2015年很少人知道IP运营、IP授权、IP链怎么做。2015年以后,这个行业迎来了春天。特别是现在和旅游结合,把空间做出来了,这是对IP更大的延伸。
我们的企业使命是成为IP商业转化的领导品牌企业。用我们的一句话讲一下,IP链接一切。今天这个会场也是IP链接一切,我和洪总第一次见面也是因为IP和IP的力量,我们两个意见一样,一起合作,创造共享了很多和IP相关联的事。
IP控制器 第6篇
针对上述缺陷,本文提出了基于So PC技术的SD卡控制器的架构方案,即在Altera公司提供的Quartus I软件中开发SD卡控制器并在So PC Builder中将其作为一个独立的IP核集成到So PC中,通过软件驱动控制器以实现SD卡读写及文件操作,使其系统设计灵活、集成度高、读写速度快,为SOPC设计中使用非易失性存储提供了新的方案。
1 SD卡协议规范
SD联盟在2000年和2006年分别发布了SD卡规范1.0和2.0版本,SD卡规范主要包括物理层规范[1]、文件系统规范和安全规范三部分内容,最大支持容量为32 GB,支持的文件系统为FAT16和FAT32。
SD卡内部不仅有大量的存储单元,还有卡接口控制器、寄存器等,外部控制器不能直接访问存储器,所有对SD卡的操作如读/写、设置块长度、擦除等都是由卡接口控制器根据收到的命令自动完成,减少了外部控制器对存储器操作的负担[2]。SD卡支持SD和SPI两种工作模式,两种模式下SD卡的管脚意义如表1所示。SD模式下数据采用4线并行传输,速度较快。而SPI模式接口协议简单,在各嵌入式平台中的通用性好,故本设计中采用SPI模式。
2 SD卡控制器IP核设计
SD卡工作在SPI模式下,其总线主要有时钟线CLK、命令线CMD、数据线DAT和片选线CS。SD卡控制器主要实现三大功能:
(1)复位和初始化SD卡。
控制器按照SD卡总线协议产生控制时序对其进行复位和初始化。
(2)读写SD卡。
控制器首先通过CMD线发送读或写命令和扇区地址,等收到正确的命令回执后,将DAT线上传输的串行数据进行串/并转换,然后存储在控制器内部缓存中(写数据则将控制器内部缓存中的数据并/串转换后从DAT线发送到SD卡),一个扇区数据(512 B)传输完毕后将就绪信号置为有效。
(3)设置SD卡。
设置操作与读写操作相同,都是发送命令和参数,只是不接收和发送数据。
需要特别指出的是:CLK信号由控制器产生,对SD卡的命令或数据传输等一系列操作均要与该时钟同步(SD卡的最大工作时钟为25 MHz)。
SD控制器的功能模块划分如图1所示。
2.1 总线接口模块
总线接口模块SDInterface是整个SD卡控制器的核心,其端口信号遵循Avalon协议规范[3],主要负责连接Avalon总线、缓存SD卡命令、缓存扇区地址、将要发送的数据送至缓存(双口RAM)以及从缓存中读取数据等。
当处理器要对SD卡进行初始化时,需要写SDInterface模块的特定地址,之后SDInterface选择启动复位/初始化模块(SDInit),由SDInit完成SD卡的初始化工作。
向SD卡写数据时,需要先通过SDInterface模块将要写的数据缓存到双口RAM中,然后将扇区地址和写命令(CMD24)发送到SDInterface模块的特定地址,之后SD-Interface会启动命令控制(SDcmd)模块并将命令和地址传递给后者,最后由SDcmd模块完成一次写操作。
从SD卡中读数据或对SD卡进行其他操作与向SD卡写数据过程基本一致,处理器首先向SDInterface发送命令和参数(如果是读写操作,则参数即为扇区地址),之后SDInterface启动SDCmd模块并由SDCmd模块完成后续操作(如果是读操作则将读得的数据缓存到双口RAM中)。
2.2 初始化模块
对SD卡进行读写或其他操作前首先应将其初始化。初始化模块SDInit主要负责完成SD卡的初始化工作,主要工作流程如下:
(1)当总线接口模块使能SDInit后,SDInit通过SPITrans模块向SD卡发送复位命令(CMD40)。
(2)等待复位命令的回执,如果复位成功(返回值为0x01),则转向步骤(3),否则继续等待。
(3)向SD卡发送初始化命令(CMD41),等待初始化命令的回执并将执行结果返回给SDInterface以便通知处理器。
2.3 命令控制模块
命令控制模块SDCmd主要完成SD卡命令、参数、命令校验值的发送和命令回执的读取(如果是读写操作,则还要进行数据的发送和接收)。
SDInterface模块使能SDCmd前会将SD命令、参数传递给SDCmd,这样SDCmd使能后,首先通过SPITrans模块将得到的命令、参数发送到SD卡,然后等待命令回执,如果当前命令是读、写之外的其他命令,则将执行结果返回给SDInterface模块即可;如果是读、写命令则收到正确的命令回执后,则还要将数据接收并存到缓存或发送到SD卡。
2.4 选择器和双口RAM
选择器模块Mux主要用来根据当前操作从SDInit模块和SDCmd模块的输出信号中选择一路送至SPI-Trans模块。双口RAM是SD控制器的缓存,用来存储发送到SD卡和从SD卡上读取的数据。
2.5 串/并、并/串转换及时钟产生模块
SPITrans模块主要负责串/并转换、并/串转换和SD卡时钟产生。当SPITrans模块使能后,它通过对输入时钟进行分频产生SD卡时钟,并在8个SD卡时钟周期内将选择器输出的8位并行数据转换为串行数据发送到SD卡,同时将SD卡DAT线上的串行数据转换为并行数据返回给SDInit模块和SDCmd模块。
3 基础读写设计
SD卡控制器软件的编写在Altera公司的Quartus II中完成,使用SOPC Builder工具将具有Avalon总线接口的SD卡控制器封装成IP核并集成到SOPC中,利用Nios II IDE编写软件驱动实现SD卡的基础读写(以扇区为单位进行读写)。写数据到SD卡扇区操作函数如下:
4 文件系统移植
读写操作均以扇区为单位,SD卡仅相当于一块容量较大的Flash,移植文件系统可方便地与PC机或其他电子产品数据交换以及后期分析处理。μC/FS是一种为其提供基本的硬件访问功能即可应用于任何存储介质的FAT文件系统,其使用标准ANSI C编写可应用于几乎任何CPU。μC/FS具有以下特点[4]:(1)支持DOS/Windows环境下的FAT12,FAT16和FAT32。(2)支持多个存储器共同工作,可以同时访问多个存储器。(3)多操作系统支持,可以很方便地移植到几乎任何操作系统。(4)可以很容易地集成使用SPI模式的MMC/SD卡通用设备驱动等。基于以上的特点,μC/FS非常适用于嵌入式系统。
4.1 μC/FS文件系统结构分析
μC/FS采取分层工作方式,每一层负责不同的功能,由高层的数据抽象到底层的硬件实体分工明确,其系统结构层次划分如图2所示。
4.2 文件系统实现
在完成SD卡控制器及其软件驱动并实现SD卡基础读写的基础上,按照μC/FS文件系统的接口函数编写设备驱动程序并对系统参数做相应设置即可实现SD卡文件操作。μC/FS文件系统的接口函数主要通过一个结构体(FS__device_type)进行描述,该结构体包含了驱动设备的名称以及4个基本的驱动设备挂接函数的函数指针:
其中,dev_status()函数主要实现FAT表状态信息的读取并表明该SD设备可以使用;dev_read()函数实现对SD卡进行文件系统块数据的读取;dev_write()函数实现对SD卡进行文件系统块数据的写入;dev_ioctl()函数则主要实现文件操作的相关指令,包括文件格式化、数据cache回写等操作。
5 仿真与验证
对SD卡控制器的仿真验证工作主要从时序仿真和软件驱动控制器读写SD卡进行文件操作验证两方面进行。
5.1 SD卡控制器的时序仿真
在Quartus II中创建波形激励文件后,得到的时序仿真结果如图3所示。在仿真图中可以看出,控制器在初始化过程中,首先将CMD0(0x40)、参数(0x00000000)和命令校验位(0x95)通过SPITrans模块进行并/串转后发送到SD卡的CMD线进行复位,等收到SD卡DAT线上发送回来的回执(0x01)后,接着发送CMD1(0x41)、参数(0x00000000)和命令校验位(0x FF)到SD卡进行初始化。由此可见,SD卡控制器设计符合SD卡协议标准。
5.2 文件操作验证
通过调用μC/FS文件系统提供的API函数,如:FS_Fopen()打开文件、FS_FRead()读文件、FS_FWrite()写文件等编写测试程序如下:
选用4 GB容量的SDHC卡,在PC机上将其格式化为FAT文件系统并创建文件夹HELLO和文件WORD DOC。SD卡在线运行调试结果如图4所示。由运行结果可知,初始化成功并识别此SD卡为SDHC(Secure Digital High Capacity)卡,卡容量为964 256(总簇数)8(每簇扇区数)512(每扇区字节数)≈3.7 GB。创建test.txt文件成功后读取根目录(有文件目录hello、文件word.doc和文件test.txt),读取文件test.txt内容为test sd card write与写入一致。运行结果表明文件操作正确可靠。
通过对SD卡物理层协议和μC/FS文件系统的研究,成功设计了具有Avalon总线接口的SD卡控制器,并通过时序仿真、软件驱动的方式进行仿真和调试,验证了SD卡控制器的工作情况,在此基础上实现了SD卡中的文件操作,使SOPC设计能与PC机或各种电子产品方便地进行数据交换。本设计已成功应用在基于SOPC架构的多用途无线防盗监控系统中。
摘要:针对目前在嵌入式平台中使用SD卡控制器专用芯片价格昂贵、软件模拟SPI时序控制读写速度较慢的问题,提出了一种基于SoPC技术的SD卡控制器IP核设计的架构方案。采用VHDL语言设计SD卡控制器IP核,利用自定义模块技术将其添加到SoPC中,利用Nios II IDE编写SD卡的基础读写驱动软件并移植μC/FS文件系统,实现对SD卡的文件操作。该设计具有使用方便、集成度高、数据传输可靠、文件格式通用等特点,在基于SoPC架构的多用途无线防盗监控系统中得到良好的应用。
关键词:可编程片上系统,SD卡,μC/FS文件系统,控制器,IP核
参考文献
[1]SD Group.SD specifications part 1:physical layer simpli-fied specification version 2.0,september 25,2006.
[2]李锦,吕柏权.基于AT91RM9200的SD卡主控制器的设计[J].微计算机应用,2009,30(1):64-67.
[3]Altera.Avalon bus specificational reference manual[EB/OL].http://www.altera.com,2002.
[4]User′s&reference manual forμC/FS V1-34a.MicriμmTechnologies Corporation.2003.
TCP/IP协议的拥塞控制探讨 第7篇
1 网络拥塞概述
网络的性能会逐渐下降, 当过多的数据包存在于网络中时, 这种现象被称为网络拥塞。吞吐量下降在发生网络拥塞的时候, 并且严重的时候拥塞崩溃的现象会在发生。通常而言, 增加的网络负载导致网络效率降低, 在此时容易发生拥塞崩溃的现象。拥塞现象的描述如图1。
在较小的网络负载时, 吞吐量随着负载的增长也会增长, 两者为线性关系, 相应的时间也缓慢增长。当网络容量被负载达到的时候, 相应的时间急剧增加, 吞吐量呈现缓慢增长, 这一点被成为Knee点。吞吐量在负载超过一定量时开始急剧下降, 路由器在负载继续增加的情况下开始丢包, 这一点是死锁点。在拥塞控制机制中有拥塞控制和拥塞避免两种方式, 前者的目的是在控制运行在死锁点附近的网络拥塞现象, 后者是避免网络运行在Knee点的时候发证拥塞现象。前者是一种恢复措施, 使网络从拥塞中恢复过来, 进入正常运行状态;后者是一种预防措施, 使网络维持在低延迟、高吞吐量状态, 网络拥塞现象得以避免。
2 分析网络拥塞产生的原因
网络的处理能力和资源容量被网络的负载超出了是网络拥塞产生的根本原因, 也就是网络对资源的总需求量大于总的可用资源, 下面分析一下网络拥塞产生的原因。
1) 不足的存储空间
一个输出端口需要对各种报文在接收端口的缓冲区域中进行排队, 因为它接受的报文是由多个端口转发而来的, 若满足使用要求的缓冲空间在输出端, 报文就会丢失, 尤其是突发的数据流也会丢失。这一矛盾的缓解通过增加存储空间来实现。但将会出现更加严重的拥塞现象在不断增加存储容量时。因为缓冲区网络结点的延时增加的时候, 报文也会增加, 最终端到端的确认时间也增加了, 就会产生超时重发。网络负载因此会进一步增加, 拥塞现象最终会加重。
2) 不足的宽带容量
在低速链路中流通的高速数据流经常会产生拥塞现象, 在数据发送率小于信道容量的时候, 拥塞现象才会避免。不然在节点的缓冲区域堆集大量的报文就会产生拥塞。
3) 速度缓慢的节点处理机
报文被放入其CPU队列中进行缓存当被路由器对其进行接收的时候, 路由器来选择路由并且把报文转发到相应的节点。此时路由器的处理速度的快慢是能否出网络现拥塞的关键因素。
总而言之, 只有考虑到从以上三方面的因素, 来解决拥塞现象, 优化整体性能。只考虑一方面内的因素拥塞问题不仅不能够解决, 反而拥塞问题还会更加严重。
3 控制拥塞的策略
1) Tahoe和Reno拥塞控制算法
随着网络技术的发展, TCP拥塞控制有快速恢复 (fast recovery) 、快速重传 (fast retransmit) 、拥塞避免 (congertion avoidance) 、慢启动 (slow start) 这四种, 其中常用的是TCP Tahoe和TCP Reno两种算法。快速重传、拥塞避免、慢启动是Tahoe包括的三个部分, 并且改进了往返时间RTT, 从而对超时重发计时器进行更好的重新设定, 具体的算法描述如下:
a、每次一个报文被受到的确认后
b、如果一个报文被测得丢失, 则
最多发一个报文在一个RTT内。其中窗口的大小由w来表示, 慢启动门限值由ssthresh来表示, 是慢启动进入拥塞避免的分界值。
这种算法的基本思想是通过线性增加速率源端对网络中的空闲容量进行探测, 当拥塞被检测到的时候用指数递减它的速率, 在源端丢包被检测到的时候确认拥塞。实现拥塞避免和慢启动的例子如图2。
由上图可知, 每当一个丢包被检测到的时候, 慢启动门限值被源端设置为当前窗口的一半, 对丢失的包重传, 窗口被设置为1, 重新进入慢启动。
2) TCP中拥塞控制的关键
TCP协议在Internet上被95%的数据流使用, 对发送端的发送速率进行控制是TCP中拥塞控制的关键。可以采用控制算法中的乘法减少加法增加 (AIMD) 的来解决拥塞问题。每个拥塞窗口由发送方维持着, 如果没有发生窗口中的报文丢失, 那么目前是良好的网络状况, 窗口的大小被发送者加大, 同时报文的发送速率加大。当窗口内的一个报文被发送方发现丢失的时候, 则认为报文的丢失是由网络拥塞造成的, 于是窗口的大小减半, 随之发送速率也减小, 拥塞加重的现象得以避免。
3) 慢启动阶段的拥塞控制
一个连接被TCP启动的时候多个数据包被发送到网络时会造成不必要的网络拥塞和数据丢失, 而慢启动可以避免这种现象的发生, 还能避免吞吐量在AIMD算法中增加引起网速过慢的问题。初始化拥塞窗口cwnd为一个数据包大小在新的TCP连接建立的时候, 按照cwnd大小源端进行数据的发送, 也就是随着RTT的增长cwnd呈指数增长。
4) 拥塞避免阶段
处理丢失数据包的方法被称为拥塞避免算法。当重复确认被发送方收到或数据包超时被发送方发现的时候, 网络拥塞就会发生, 此时进入拥塞避免阶段, 置为1的cwnd在数据包发送超时并且重复确认被发送方收到时, 那么每收到一个ACK, cwnd将增加segsize*segsize/cwnd。其中数据包的大小被称为segsize, cwnd在拥塞避免阶段不是呈指数增长而是呈线性增长的。
5) 快速恢复和快速重传阶段
当3个或3个以上的重复ACK被源端收到的时候, 发送方认为出现数据包丢失的现象, 对数据包进行重新传输, 而且启动阈值ssthresh被设置为一半的当前cwnd, 然后对丢失的数据包重新传输, 这个过程被称为快速传输。系统执行的不是慢启动算法而是拥塞避免算法, 这被称为快速恢复, 能够使TCP连接的吞吐量提高。另外, 不必要的重传超时要想避免可以应用一种受限传输机制:在接收方中允许如果有广播窗口, 一个或两个重复的ACK被发送方接收到后, 发送方对新的报文段继续传输, 具有较小窗口的TCP在受限的传输机制的允许下进行错误码恢复, 不必要的重传得以避免。
6) IP拥塞控制策略
对于Internet的健壮性而言基于窗口的端到端的TCP拥塞控制起着关键性作用, 在Internet的迅速发展的今天网络的规模也越来越大, 并且日趋复杂的结构在不断出现, 端对端的拥塞控制已经不能满足需求, 那么对拥塞的控制也需要在网络层进行, 需要在路由器中采用数据丢弃和排队算法策略。其中丢弃策略进行分配缓存是通过决定哪些包被丢弃来实现的, 排队算法进行分配宽带是是通过决定哪些包可以被传输来实现的。IP拥塞控制的方法有:先进先出、公平排队算法、加权公平排队算法。
总而言之, 无论哪种拥塞控制方法都有它的优势, 总体上包括TCP拥塞控制和IP拥塞控制两种, 下面表格针对这两种方式进行了比较:
4 结束语
通过上述网络拥塞概述、网络拥塞产生的原因、控制拥塞的策略, 可以得知, 随着互联网用户越来越多, 网络宽带等资源也在持续增加, 但是用户的需求仍然不能得到满足, 逐渐暴漏出网络拥塞问题, 拥塞如何更好的预防和控制, 使网络具有同时到达资源并且低延时和低丢包率的最大效用。无论TCP拥塞控制还是IP拥塞控制都有自身的优势, 要想在这个基础上更好的解决网络拥塞问题, 需要结合各种方法并且灵活的使用。
参考文献
[1]The Stream Control Transmission Protocol (SCTP) as a Transport for the Session Initiation Protocol (SIP) .internet Draft, IETF, Jan, 2005Work in Progress.
[2]黄卫平.TCP/IP协议中拥塞控制算法探讨[J].广西工学院学报, 2003, 14 (2) :71-73.
[3]Gonzalo Camarillo, Raimo Kantola.Evaluation of Transport Protocols for SIP.IEEE Network September/October 2003.
[4]武航星, 慕德俊, 潘文平.网络拥塞算法综述[J].计算机科学, 2007, 34 (2) :51-54.
[5]郭伟.流控制传输协议研究[J].中兴通讯技术, 2004 (4) .
IP控制器 第8篇
一、拥塞控制的原理
在某段时间, 若对网络中的某一资源的需求超过了该资源所能提供的可用部分, 网络的性能就要变化, 这种情况叫做拥塞[1]。网络拥塞往往是由许多因素引起的, 简单的提高节点处理机的速度或者扩大结点缓存的存储空间并不能解决拥塞问题。当某个结点缓存容量扩展到非常大, 于是凡到达该结点的分组均可在结点的缓存队列中排队, 不受任何限制。由于输出链路的容量和处理机的速度并未提高, 因此在这队列中的绝大多数的分组在排队等待时间会大大增加, 结果上层机制只好把分组进行重传。因此, 拥塞往往是指整个系统的各个部分不匹配, 只有各个部分平衡了, 问题才会得到解决。
二、TCP/IP拥塞解决方法
因特网建议标准RFC2581定义了进行拥塞控制的四种算法, 即慢开始 (Slow-start) , 拥塞避免 (Congestion Avoidance) , 快重传 (Fast Restrangsmit) 和快回复 (Fast Recovery) [2]。
在文献【3】中, 作者提到了一种基于接收阈值的容延网络拥塞控制方法, 该机制独立于节点所运行的转发路由算法, 不影响路由算法对中继节点的选择, 具有很好的普适性, 可以有效降低节点拥塞。在文献【4】中, 通过对基于链路的AQM协议和显式拥塞控制机制研究, 较好的解决了网络延时高的情况下链路高利用低的问题, 同时提高了系统的Qo S性能。文献【5】在VCP协议的基础上, 提出了一个扩展的可变结构拥塞控制协议EVCP (Extended VCP) , 在平均延时情况下可以有效的提高网络吞吐量。
拥塞现象是发生在通信网络等复杂网络上的一种典型的动态行为, 研究路由策略的优化算法问题是众多学者要解决的重要课题之一。
三、网络拥塞案例分析及研究
3.1问题描述
中山某大客户因业务发展需要, 开通了广东中山至美国旧金山的一条10M的电路, 本地通过OSN500传输光端机接入, 客户在的使用过程中发现上行速率严重不达标, 后期换成Metro 1000后情况有较大改善。本文接下来从此案例出发, 分析研究网络拥塞对实际网络测速的影响及相应的对应策略。
下图是测试环境图:
结论:在时延较大时 (大于50ms) , Metro1000上载速率会高于OSN500。
根据以上测试情况, 引出两个问题:为什么测速带宽会随着时延增加而降低?为什么在同样的大时延条件下, Metro1000 (EFS) 单板测速会比OSN500 (EFT8) 高?
3.2原因分析
(1) 从抓包信息得知, 该测速网站是基于TCP协议进行文件传送测速的。TCP协议定义了一个拥塞窗口, 如果发送端的已发送但未收到确认报文的数据超过拥塞窗口, 则需要停止发送报文, 等待接收端新的确认报文。
每TCP连接吞吐量计算公式可以按照以下公式进行计算[6]:
其中, RTT指Round-trip Time, 是双向时延;cwnd指Congestion Window, 是拥塞窗口大小。从公式得知, 吞吐量与端到端往返时延RTT成反比, 而缓存大小与RTT时间成正比。所以, 随着时延的增加, 测速的吞吐量是会逐步降低的。
(2) 在时延一定的情况下要提高测速吞吐量, 则需增加拥塞窗口 (对于网络设备理解为设备缓存Buffer) 。
为了链路利用率达到最大值, 对网络节点的Buffer要求为:在网络空闲时吐出报文能够弥补TCP拥塞时降低的吞吐量。
对于单条TCP流时, 业内采用“rule-of-thumb”的规则:
对于多条流时, 规则为:
其中n为TCP流数。
从业内对Buffer的要求规则可知, Buffer的大小要求与网络时延有关:网络的时延越大, 对缓存的要求就越高。在TCP流条目数越少对Buffer的要求越高。网络中越靠近用户的设备, 接入用户数越多, 因此对网络中接入设备的Buffer要求高于汇聚层与核心层设备。
以上所述, 正是由于Metro1000 EFS (交换板) 单板缓存比OSN500 EFT8 (透传板) 缓存大, 所以在网络时延大场景, 单条TCP流测到的速率会较大。
3.3解决方案
(1) 测速时建议使用多TCP (多进程, TCP流量充满出口带宽场景, 实际应用中的峰值场景) 连接进行测速, 网络使用过程中通常也是多用户同时使用该管道。
(2) 对于特殊单TCP流测试场景, 建议选用合适的数据单板进行测试。
(3) 单板缓存不是越大越好:合理最重要。
简单说, 如果一味的增大EOS (Ethernet over SDH) 单板缓存, 会导致MSTP网络时延过大, 同样会影响下载速率。MSTP产品聚焦于高品质高安全数据管道, MSTP客户对业务转发时延要求很高, 所以MSTP的缓存设计不会太大。
四、结束语
文章主要针对TCP/IP中的网络拥塞问题进行分析和案例研究。首先对网络拥塞的相关概念及技术特点进行了阐述, 对典型的网络拥塞解决方案进行了介绍, 结合具体的测试应用案例给出了网络拥塞的对应策略, 最后希望本文的案例分析及相关研究能够给相关网络维护人员提供参考并带来帮助。
参考文献
[1]江艳, 李宝林;《TCP/IP拥塞控制算法研究》计算机技术与发展
[2]谢希仁;《计算机网络》 (第6版) 电子工业出版社
[3]赵广松, 陈鸣;《基于接收阈值的容延网络拥塞控制机制》计算机网络与信息安全
[4]毛鹏轩;《下一代网络拥塞控制关键算法的研究》北京交通大学
[5]LU Guang1, WANG Yong-chao, ZHU Miao-liang1;《EVCP:a convergence time improved high-speed transport congestion control protocol》Information Science&Engineering
IP网络流量控制技术的应用及发展 第9篇
关键词:IP宽带,网络流量控制,TCP/UDP传输
在Internet上传输的流量大部分是TCP(Transmission Control Protocol 传输控制协议,TCP是一种面向连接的、可靠的、基于字节流的运输层通信协议)流量和UDP(User Datagram Protocol的简称, 中文名是用户数据包协议,是OSI 参考模型中一种无连接的传输层协议)流量。通常所谓的关键任务应用一般都采用TCP作为传输协议,因此保证TCP的传输性是保证关键任务服务质量的重点,提高TCP的传输性才能保证关键业务流量的传输的稳定性。UDP是Internet中被广泛采用的传输流媒体的协议。UDP协议最核心的问题是它没有传输层的流量控制机制,而缺乏流量控制机制的UDP流量会导致网络资源的不公平利用,同时影响TCP流量的性能。因此,必须对TCP和UDP流量进行管理控制,以实现有效的带宽利用。
目前,中国网通和中国电信正在积极地开展VoIP电话试点运营业务,同时也在采取各种措施规范P2P应用。针对这一现状,中太数据作为国内资深的电信解决方案和产品提供商,率先推出了为国内运营商量身打造的智能流量控制系统Bgate6030。结合中太数据完善的智能流量解决方案,该产品将有效地帮助运营商从VoIP电话和P2P下载的困境中解脱出来,并尝试创新的赢利点,同时为电信用户提供更加优质的服务。
1 网络流量控制技术
流量控制器主要部署在企业内网的边缘,如图1所示,网络流量控制器部署在企业内网和连接外网的路由器之间,对进/出企业内网的流量进行控制。
网络流量控制模型一般包括流量分类器、流量整形器、流量监测器和队列管理器等几个部分。分类器的功能是按照不同的优先级或者控制策略,把数据包注入到不同的队列;整形器的功能是使数据包比较平稳地注入网络,减少拥塞的发生,提高传输效率;监测器是对网络控制模块实施效果进行监测分析,打印报表等;队列管理器的功能主要是队列缓存管理以及队列调度管理,这些与业务的带宽分配有关。
2 流量控制器的设计与实现
2.1 NS2仿真平台
NS2(Network Simulator,version2)是一种面向对象的网络仿真器,由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都是由离散事件驱动的。目前,NS2可以用于仿真各种不同的IP网,已经实现了的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTO、Telnet、Web、CBR和VBR;路由队列管理机制,比如DrogTrail、RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。NS2使用C++和Otcl作为开发语言。
除了网络组件对象以外,NS的另一主要组件就是事件调度器。NS中的一个事件就是一个具有唯一ID的分组,这个分组内包含调度时间以及指向该事件的对象的指针。事件调度器计算(Keep Track of)仿真时间,并且激活事件队列中的当前事件(主要是通过激活适当的网络组件),执行一些相关的事件(通常都是那些发出事件的对象),网络组件通过传递分组(Packet)来互相通信,但是这并不耗费仿真时间。所有需要花费仿真事件来处理分组的网络组件(比如一个延时部件)都必须使用时间调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。
当某个仿真完成后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用来下一步的分析处理,也可以使用NAM将整个仿真过程展现出来,它具有类似CD播放器的图像界面(播放、快进、倒带、暂停等)和一个播放速率控制器。此外,它还能够图形化地展示诸如链路吞吐率以及分组丢失数之类的信息,尽管这些信息并不能用于准确的仿真分析。
2.2 流量控制模块实现
网络流量控制涉及流量分类(Classification)、流量整形(Shaping)、流量监测和统计,以及队列调度管理等方面,是一个比较大的范畴。本论文研究的重点是队列调度管理以及流量整形,以下将对流量控制模块中的队列调度管理子模块和流量整形子模块的实现作详细地阐述。所有的模块都是基于NS2平台实现的。
3 仿真实验
3.1 实验环境构建
本文采用的实验平台是windows 2000+cygwin+ns2.27。ns从2.26版本开始,就只能运行在linux环境下或者模拟的linux环境下。简单地说,cygwin在windows上提供了一个类似linux(Linux-like)的环境,可以让使用者在windows上执行linux的程序。严格地说,cygwin是模拟了GNU的环境,而不是linux的环境,借着cygwin的函数库(library),在Win32 API环境上提供了类似linux般的API环境,利用cygwin,可以将linux上的程序移植到Windows,而不必做重大的修改,只需将原始码拿来作configure与make就好了。同时可以使用常用的linux工具程序,如grep、sed、awk等。
3.2 实验结果及其分析
表1表示的是在边缘网关中分别应用ADWRR调度算法和DWRR算法,多媒体流端对端平均时延的比较。表2表示的是在边缘网关中分别应用ADWRR调度算法和DWRR算法,多媒体流数据包平均传输时延抖动jitter的比较。
由以上的实验以及实验结果图表可以看出,采用 ADWRR 算法可以使多媒体流的端对端传输时延以及传输时延抖动jitter 都有所改善。
4 总结
随着以IP为基础的互联网的飞速发展和网络业务的极大丰富,互联网己经逐渐发展成为承载多种业务、服务多类用户群体的全球性公共信息传输平台。但是由于IP协议固有的无连接特性和传统IP网络尽力而为(Best-effort)的服务原则,传统的互联网无法向用户提供有效的服务质量(QoS)保障,也不能实现网络资源的有效监控和管理。
流量控制技术通过对企业内网和Internet之间的进/出流量进行分类、调度、整形等手段来保证关键业务服务质量,如改善实时业务的传输时延、时延抖动等,避免网络拥塞的出现。本文主要完成了以下工作:
(1) 研究了支持区分服务的流量控制模型,重点讨论了流量控制模型的队列调度管理模块和流量整形模块常用的算法和策略,为后续改进算法的提出以及流量控制器模块的实现作基础。
(2) 在经典的队列调度算法DWRR算法基础上作出改进,提出了ADWRR算法,该算法为每个队列引入两个参数,分别是权值Wi、延迟指数(Delay Index)DIi。该算法解决了实时业务端对端时延以及时延抖动的问题。
(3) 在网络仿真工具NS2所提供的网络组件的基础上,应用ADWRR算法,设计并实现了流量控制器的队列调度管理模块和流量整形模块,进行仿真实验并分析仿真结果。
参考文献
[1]郭长金.基于网络流量控制策略的研究与实现[J].微计算机信息,2007(30):170-171,174.
[2]Netfilter core team.Netfilter[EB/OL],http://www.Net-filter.org,2008-12-29.
[3].现代电信科技,2006(3).
[4]高益,黄俊伟.网络流量控制的分析与设计[J].北京电子科技学院学报,2008(2):68-69.
[5]Lan K C,Heidemann J.A Measurement Study of Correla-tions of Internet Flow Characteristics[J].Computer Net-works,2006,5(1):46-62.
[6]ISC.Internet Domain Survey[EB/OL].2005-8/2006-4.
[7]Huan-yun wei,Shih-Chiang Tsao,Ying-Dar Lin.As-sessing and Improving TCP Rate Shaping over Edge Gate-ways[J].IEEE TRANSACTIONS ON COMPUTERS,2004,53(3).
漫画完结,IP不灭 第10篇
精心布置的场景和放映厅是为了招待六家来自日本和中国的动漫、游戏公司高层——集英社董事茨木政彦、东京电视台动画局长川崎由纪夫、Pierrot董事长兼总经理本间道幸、万代南梦宫游戏董事冷泉弘隆、CyberConnect2(下称CC2)董事长兼总经理松山洋、腾讯公司高级副总裁马晓轶。他们共同宣布,11月10日《火影忍者》漫画完结之时,腾讯将开启《火影忍者OL》(页游)的新篇章,同时腾讯也获得了《火影忍者》手游的中华区改编授权。
《火影忍者》已经和腾讯互娱紧紧绑在了一起。一部经过精心策划的人气漫画的完结,更像是一盘新生意的开始。
马晓轶透露,今后腾讯互娱将打造立体化的“一站式平台”,打通《火影忍者》的动漫、游戏、粉丝交流平台乃至影视、真人剧等,比如声优见面会、配音大赛以及在游戏内对《火影忍者》内容的延展和剧情的演绎。另外,通过腾讯社交平台分享这些作品,让更多人参与进来,进而发掘和缔造粉丝经济。
火影IP矩阵
10月份,腾讯互娱魔方工作室群的章雯诚从日方直接拿到《火影忍者》将要完结的消息,尽管早有预感,但章雯诚的心头还是一紧:他是《火影忍者OL》的主策划,开发游戏的经历让他觉得《火影忍者》完结就像伙伴突然要离开自己;另一方面,《火影忍者》完结会不会影响到漫画以及衍生品在中国国内的人气,进而影响到《火影忍者OL》以及即将问世的《火影忍者》手游的成绩,也是未知数。
2013年1月19日,腾讯互娱同时获得《火影忍者》电子漫画和网页游戏的改编权,这也是中国大陆首次引入日本超人气正版漫画,其中还包括《航海王》(即《海贼王》)、《阿拉蕾》等11部作品,至于为什么以《火影忍者》为核心再获取游戏改编权,腾讯互娱方面的解释是:更受欢迎的《海贼王》不给独家网游授权,至于《阿拉蕾》这样的漫画其实是日方的打包产品,品质虽好,但实在太老(1980-1984年)。2014年7月,腾讯互娱又获得了《火影忍者》的手游改编权。
10月份官方正式宣布《火影忍者》将在11月10日的《周刊少年jump》完结,在中国,众多明星在微博上纷纷表示对火影的喜爱和怀念,腾讯还做了一个专题,收集整理陈坤、杨幂等明星追过火影的微博“证据”。借着大家把眼光聚焦到火影的时候,官方便趁热打铁,宣布《火影忍者》还有后续的短篇连载计划和剧场版。
马晓轶将这段过程称为腾讯在大陆地区所构建的火影IP(intellectual property,知识产权)矩阵:“包括《火影忍者》页游、《火影忍者》手游以及火影官方站,这个矩阵极大丰富了火影的IP内涵与影响力,并让《火影忍者》实现真正的‘永不完结’。”这同腾讯互娱近年来开展的泛娱乐战略有关:从国外引进优质IP,再围绕优质IP建立包括资讯社交、在线阅读、游戏等衍生品在内的娱乐内容矩阵。《火影忍者》算得上近年来引入的最大牌和优质的IP。
利用“剩余价值”
如果说《七龙珠》和《灌篮高手》时代的动漫作品,其最核心的价值在于“漫画—出版社销量与动画—电视台收视率”这种比较简单的链条,那么在今天这样一个技术(包括游戏和人物模型制作、电子漫画制作与传播)高度发展的多屏时代,一部漫画的价值已经超越了漫画本身,变成了一个品牌。围绕这个IP产生了纷繁复杂的合作和利益链条,牵一发而动全身。当一部作品快要完结时,利益相关方自然会倾尽全力利用这个品牌的剩余价值。
以这次腾讯互娱在东京同日方合作伙伴举办的发布会为例,除了集英社(漫画)高管,还包括万代南梦宫(娱乐游戏)、东京电视台、Pierrot(动画制作公司)、CC2(游戏公司,万代南梦宫合作伙伴)五家公司的高层。他们都是日本动漫产业链的巨头,相互紧密合作,除了在动漫及衍生品生产上形成了一个阵营,还共同负责IP的海外推广。比如,集英社是漫画版权方,改编为动画时会由上述几个产业链上的投资方组成制作委员会,这几个公司也共同分享后续的改编游戏、制作衍生品等权利,但其中一家公司会作为主签约方,比如此次《火影忍者》手游的主签约方就是万代南梦宫。
而日方阵营在与中方合作的时候,最主要的工作是监修,以保证《火影忍者》能够原汁原味地传播到中国,充分体现了日本企业的严谨传统。CC2董事长兼总经理松山洋在接受《二十一世纪商业评论》(下称《21CBR》)记者采访时如是描述:“(我们)两年以前就开始策划游戏和游戏监修审核部分,使游戏还原火影原作的世界观;至于美术方面的监修,每个背影每个副本都在我们公司进行最严格的监修并提供经验,先由腾讯公司将要制作的角色提交到CC2公司,提供监修后再和万代商量,最后交到版权公司。”
对中国的游戏制作公司来说,这是一个艰难而繁琐的过程。但对腾讯互娱《火影忍者OL》的团队来说,这种技术层面的问题并不是他们最“计较”的,更重要的是,能不能借由原作者(岸本齐史)在后续创作的故事中得到展示,这对于粉丝是否认可非常重要。
对此,集英社版权事业部授权课股长小玉庆太做了比较模糊的回答:“游戏改编都会有监修的程序,首先会有编辑的参与,当涉及到原创性较高的元素时,就会把这部分内容提交给原作者老师,经过老师的审核确认才对外放出。像这次《火影忍者ONLINE》的5名全新原创角色,也是经过岸本老师的监修。”
IP控制器 第11篇
关键词:SOPC,IP核,FPGA,步进电机控制器
随着系统级芯片集成度越来越高,SOPC技术成为电子系统设计的热点。它是利用FPGA器件的可编程性进行SOC设计,其最突出优点是在提供丰富IP库的情况下,用户可以利用IP库中的组件按需求来搭建系统,有较大的灵活性。但是在供应商提供的IP库中没有用户所需的IP核时,用户只能根据需要自定义IP核。另外,FPGA的传统应用是在通信、工业控制等领域。鉴于此,设计了一款步进电机控制器IP核,它具有对步进电机的转速、转向及运转节拍数进行控制的功能。
1 步进电机驱动原理
步进电机驱动是通过按一定顺序切换每相线圈中的电流,以达到旋转切换步进电机的过程。其中,步进电机的控制转速与各绕组中输入脉冲的频率成正比,转向则取决于控制绕组中的通电顺序。步进电机按其励磁相数可以分为三相、四相、五相、六相甚至八相制式。其中工业常用的是三相、四相励磁制式。其中三相制式又包括单三拍(A-B-C-A)方式及双三拍(AB-BC-CA-AB)方式,而四相制式则有三种常见方式,即双四拍(AB-BC-CD-DA-AB)方式;单四拍(A-B-C-D-A)方式;单、双八拍(A-AB-B-BC-C-CD-D-DA-A)方式。
2 步进电机控制器IP核设计
对于面向Nios II处理器开发的所有IP核,包括从设备IP核和主设备IP核两大类。文中设计的步进电机控制器IP核是一个受控对象,属于从设备。Nios II处理器通过Avalon总线对步进电机控制器IP核的寄存器进行参数设置,实现对步进电机的一系列操作。其中Avalon总线接口规范的功能是它定义了信号类型、信号的行为及传输类型等信息。
一个典型的IP核由硬件文件、软件文件及组件描述文件组成,步进电机控制器IP核也严格按照规范来编写。它的硬件文件由多个HDL模块组合完成硬件设计,其中包括逻辑任务模块、寄存器模块及接口模块,其原理如图1所示,软件文件则由寄存器头文件、驱动文件组成。Nios II开发工具自2006年公布新版本以后,软件可以自动生成组件描述文件。
2.1 硬件文件设计
IP核设计部分中的逻辑任务模块根据寄存器模块传递的参数产生步进电机控制所需的脉冲信号;寄存器模块则用来存储Avalon总线传来的参数,包括步进电机的转速、励磁相数、正/反转参数、节拍数等;接口模块是一个符合Avalon规范的接口,起着连接Avalon总线与IP核寄存器模块桥梁的作用。
2.1.1 逻辑任务模块设计
产生控制步进电机所需的脉冲信号一般可以采用ROM查表法或状态机法。本文采用状态机法,即状态机的每个状态输出一种脉冲信号。以四相单、双八拍制式来控制步进电机举例进行说明,其模块设计原理如图2所示,图中共有8种状态,每种状态对应每种输出状态。该制式电机相位顺序为A-AB-B-BC-C-CD-D-DA,那么输出状态即为1000-1100-0100-0110-0010-0011-0001-1001。
逻辑任务模块采用VHDL语言进行编写,本模块采用控制规则如下,其中,xiangwei为控制电机的相位;direction为控制电机正/反转位;pai为选择节拍数位。
(1)如果xiangwei为0,direction为0,pai为00,电机转向为C-B-A-C(三相单拍反转)。
(2)如果xiangwei为0,direction为0,pai为01,电机转向为CB-BA-AC(三相双拍反转)。
(3)如果xiangwei为0,direction为1,pai为00,电机转向为A-B-C(三相单拍正转)。
(4)如果xiangwei为0,direction为1,pai为01,电机转向为AB-BC-CA(三相双拍正转)。
(5)如果xiangwei为1,direction为0,pai为00,电机转向为 D-C-B-A(四相单拍反转)。
(6)如果xiangwei为1,direction为0,pai为01,电机转向为DC-CB-BA-AD(四相双拍反转)。
(7)如果xiangwei为1,direction为0,pai10,电机转向为D-DC-C-CB-B-BA-A-AD-DC-C-CB-B-BA-A-AD(四相单、双拍反转)。
(8)如果xiangwei为1,direction为1,pai为00,电机转向为A-B-C-D(四相单拍正转)。
(9)如果xiangwei为1,direction为1,pai为01,电机转向为AB-BC-CD-DA(四相双拍正转)。
(10)如果xiangwei为1,direction为1,pai为10,电机转向为A-AB-B-BC-C-CD-D-DA(四相单、双拍正转)。
根据上述控制规则编写逻辑任务模块程序并进行仿真,得到仿真结果如图3所示,所得结果与设计要求一致。
2.1.2 寄存器模块
寄存器模块的作用是存储IP核与外界交换的信息。驱动程序可以通过Avalon接口采用“基地址+地址偏移量”的方式读取各寄存器的数据。设计一共有3个寄存器,即方向寄存器、励磁制式选择寄存器、节拍寄存器。设计方法:在reset无效,clock和write有效的前提下,若address信号为“00”时,writedata数据则写入方向寄存器direction中;当address信号为“01”时,writedata数据写入节拍寄存器pai中;当address信号为“10”时,writedata数据写入励磁制式选择寄存器中。对此模块进行编程仿真,仿真结果如图4。图中可以看到当address为 00时,方向寄存器direction数据与writedata的数据都为1;address为 01时,节拍寄存器pai数据与writedata数据相同;address为10时,励磁制式选择寄存器xiang数据与writedata一致。
2.1.3 接口模块
接口模块作为顶层模块,为寄存器文件模块提供了一个标准的Avalon前端,它使用Avalon必需的信号来访问寄存器文件,并且支持任务逻辑的传输类型,负责复位、片选、寻址及对内部寄存器进行读写等,主要完成从Nios II处理器接收指令和数据。对于步进电机控制器IP核,用到接口模块信号有:clk,reset,chipselect,address,write,writedata信号。
2.2 软件设计
软件设计包括寄存器头文件、驱动软件的设计。
2.2.1 寄存器头文件
寄存器头文件定义了外设的底层硬件访问接口信息,程序员只需使用定义与该头文件的宏来操作外设,其好处在于使应用程序独立于底层硬件。设计首先创建一个寄存器头文件altera_avalon_stepping_regs.h,它的功能用于描述步进电机控制IP核设备的3个寄存器。
2.2.2 驱动软件
驱动软件包括altera_avalon_stepping_routines.h和altera_avalon_stepping_routines.c文件。altera_avalon_stepping_routines.h定义了驱动函数的原型及常量。其函数定义语句为:
int altera_avalon_stepping_init(unsigned int address,unsigned int data1,unsigned int data2,unsigned int data3,int error);
int ltera_avalon_stepping_enable(unsigned int address);
int tera_avalon_stepping_disable(unsigned int address);
3 生成IP核
将软硬件文件编译完毕后,就需要在SOPC Builder软件中利用Component Editor生成工具封装成自定义组件。设置好HDL files、Signals、Interface以及SW files选项后,生成的IP核便成功设置在组件框内。利用此IP核即可与其他IP核联合搭建构成一个步进电机嵌入式控制系统。整个系统结构图如图5所示。
4 结束语
提出的基于Nios II的步进电机控制器IP核设计采用的软件平台是Quartus II6.0和Nios II IDE6.0,硬件平台采用康芯公司的SOPC实验系统,步进电机控制IP核的占用资源为20%,它可以移值到所有Altera公司支持SOPC技术的芯片上。采用SOPC技术设计的自定义步进电机控制IP核,在提高效率、缩短开发周期的前提下,可以满足工业控制场合的需要及开源升级。
参考文献
[1]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2010.
[2]李兰英.Nios II嵌入式软核SOPC设计原理及应用[M].北京:北京航空航天大学出版社,2009.
[3]郑恭明,沈媛媛.基于Nios II的伪随机序列信号发生器IP核设计[J].工矿自动化,2011(2):52-55.
[4]高枫,王玉松.基于NiosII自定制Avalon设备的设计与实现[J].中国测试技术,2007,33(4):105-108.
[5]殷苏民,杨仁宇.基于Avalon总线的插补器IP核的设计[J].机械设计与制造,2009(8):198-200.