台灯开发协议范文(精选8篇)
台灯开发协议 第1篇
台灯开发规划
一、台灯开发决策
1、调研分析
(1)、台灯的定义:
台灯是人们生活中用来照明的一种家用电器。它一般分为两种,一种是立柱式的,一种是有夹子的。它的工作原理主要是把灯光集中在一小块区域内,集中光线,便于工作和学习。一般台灯用的灯泡是白炽灯或者节能灯泡。有的台灯还有应急功能,用于停电时无电照明已用来应急。(2)、台灯的发展历史:
1879年 爱迪生发明电灯
1926年 布兰特台灯 1959年 卤素灯问世 1961年 高压钠灯问世 1962年 金属卤化物灯
1966年 意大利的乔.哥伦布发明“SPIDET台灯” 1969年 第一盏LED灯(红色问世)1976年 绿色LED灯问世 1983年 荧光灯问世 1993年 蓝色LED灯问世 1999年 白色LED灯问世 2000年 LED应用于室内照明
1966年,德国设计师IngoMaurer受惠于波普艺术,设计了其第一件作品:一款拥有有巨大灯泡的台灯,完成了其向电灯的发明者爱迪生的敬礼。此后的30多年间,IngoMaurer一直为光――简单之美的诗意追求而不断创造。1992年,Lucellino带着诗意的天使翅膀飘落人间――这也是IngoMaurer最受赞誉和畅销的作品。工作在慕尼黑的“诗人”既不是极简主义者也不种牢牢守着那些设计理论的设计师。只有对“无限多样性”的追求才是IngoMaure的一件件作品所要平静地阐发的。对他而言,设计不过是一种可以从日常生活就能获取灵感的有趣科学。一件件的作品的创作可以说也就是一次次和灵感的偶遇,IngoMaurer用他安静的敏锐将它们(灵感)捕获,再用他诗人的气质将一切的美展现给一双双为之闪亮的双眸。而IngoMaure对光的材料的研究尝试和革新才是其塑造一件件诗意作品的前提。从还 在学生时代作学校的印刷工起Ingo就一直思考这用“纸”来塑造光的形状。1980年的Lampampe和1997年的Zettel’z就是来于纸的创造。而对织物的运用以及塑造
雕塑般的视觉效果则是Ingo设计中的又一大特色。而IngoMaure还走在技术的前沿,是一个“先锋诗人”。LED(发光二极管)技术刚出现,IngoMaure马上就把其运用到了LaBellissimaBrutta(1997)的设计上,让新技术散发诗的光芒。其后作品ohoodoo(1999),Stardust(2000)和El.E.Dee(2001)的设计则无一不继续延续了IngoMaure试验风格和技术先锋的诗意设计美学。(3)、台灯的分类:
根据使用功能分类有:阅读台灯、装饰台灯。阅读台灯,灯体外形简洁轻便,是指专门用来看书写字的台灯,这种台灯一般可以调整灯杆的高度、光照的方向和亮度,主要是照明阅读功能;装饰台灯外观豪华,材质与款式多样,灯体结构复杂,用于点缀空间效果,装饰功能与照明功能同等重要。
根据风格分类有:现代台灯、仿古台灯、欧式台灯、中式台灯。
根据材质分类有:五金台灯、树脂台灯、玻璃台灯、水晶台灯、实木台灯、陶瓷台灯等等。
(4)、台灯的工作原理:
220V电源电压经变压器T降压后输出12V的交流电压,经二极管VD1~VD4整流、电容C1滤波后,由可调稳压集成块LM317稳压,输出稳定的可调电压供白色发光管LED1~LEDl5使用。为了能使灯光可调,这里由三极管VT和电位器RP1等元件组成输出电压调节电路。用三极管作调节元件是由于带开关绝缘性能好、阻值又低的电位器难于找到,只能使用一般调光台灯的电位器,阻抗在500kΩ左右,所以无法对电压直接进行调节,故使用了三极管。调节电压方法是:由于通过电阻R1和三极管集电极的电流为5mA恒定不变,这样三极管VT的集一射极电压可通过调节偏流电阻来改变。当电位器RP1的阻值调小时,偏流变大,集.射极电压变小,输出电压也变小;反之,集一射极电压变大,输出电压也变大。这样通过调节可以使输出电压在8~10V之间变化,实现对发光管的亮度调节。发光管由三只串联为一组,五组并联制成。由于白色发光管最大工作电压在3.5V,三只发光管串联为10.5V,考虑到每只发光管工作电压略有不同,故稳压电源输出电压取10V。(5)、台灯的发展趋势:
书写台灯的光源一般有四大类:白炽灯、卤钨灯、荧光灯和LED。三类光源各有利弊,不同的人可能喜欢不同光源的光色和亮度,应因人而宜。现在人们大多偏向于用Led照明。
Led是一种半导体固体发光器件:有体积小、重量轻、亮度高、能耗低、寿命长、安全性高、色纯度高、方向性好、维护成本低、环保无污染等优点。
Led照明是一种绿色光源:工作电压低,耗电量少;性能稳定,寿命长(一般为10 万小时);抗冲击,耐振动性强;led照明产品能提供优质的光环境,提升照明系统的光效,没有红外和紫外的成分,显色性高并且具有很强的发光方向性;调光性能好,色温变化时不会产生视觉误差;冷光源发热量低,可以安全触摸;改善眩光,减少和消除光污染。零频闪,不会使眼睛产生疲劳现象。无电磁辐射,杜绝辐射污染保护大脑。它既能提供令人舒适的光照空间,又能很好地满足人的生理健康需求,是环保的健康光源。长期使用可保护视力,预防近视。
2、台灯的使用寿命:
5—6年
3、台灯的开发时机:
在老一代产品销售高峰期开始研发生产,到老一代产品即将衰落的时候新产品正好到达销售最佳时期。
4、台灯的开发策略:
台灯是人们生活中必不可少的用具,随处可见,根据使用场所的不同,选用的台灯大小尺寸、风格、材质也略有区别。比如酒店用的台灯就比家居装饰台灯的尺寸大很多,特别是用于酒店大堂的台灯,外形尺寸更大、厚重豪华。欧式仿古台灯经久耐看,配套欧式建筑风格,有锦上添花的效果。现代商务酒店套房,则配套一些现代简约台灯,清爽简洁,不拖泥带水,也会令人耳目一新。豪华高档次的台灯,与适合的环境相搭配,点缀空间效果好情况下,无论灯是亮的,还是关着的,都是一件艺术品。相较之下,一般的阅读台灯的外形就简洁轻便许多,主要功能就是照明阅读,没有了那么多得款式花样。要开发一款功能与造型兼具的壁灯,重点在台灯开合的变化上,从造型和颜色两方面的变化去研究。
5、台灯的开发方式:
运用新型材料,外形设计大方简洁,操作方便安全,对产品开发技术上有一定的要求,产品开发之后要进行宣传,以广告宣传、传单发放、网络宣传、报刊杂志、交通设施、电影播放、促销等方式进行开发销售。
二、台灯设计
1、台灯设计任务:
要设计一款功能与造型兼具的壁灯,重点在台灯开合的变化上,从造型和颜色两方面的变化去研究。要求造型独特,美观大方。
2、方案设计:
开合型的,带感应的触控式台灯。
触控式台灯的原理是内部安装电子触摸式ic与台灯触摸处之电极片形成一控制回路。当人体碰触到感应之电极片,触摸信号藉由脉动直流电产生一脉冲信号传送至触摸感应端,接着触摸感应端会发出一触发脉冲信号,就可控制开灯;如再触摸一次,触摸信号会再藉由脉动直流电产生一脉冲信号传送至触摸感应端,此时触摸感应端就会停止发出触发脉冲信号,当交流电过零时,灯自然熄灭。不过有时停电后或电压不稳也会有自行亮起情形,如果触摸接收信号敏感度极佳纸张或布也是可以控制的。
3、技术设计:
要求各种材料与生产新工艺的关系需清楚,针对产品结构与构思确立合理的设计方案,有电路原理图。
4、工作图设计:
要求有效果图、CAD制图、模型,并且要求有一个一目了然的效果图排版。
三、台灯的工艺设计
1、台灯分析、审查:
ž
人们对于壁灯的要求首先是偏向于美观,其次,在造型上会喜欢简洁而大方的,有新意又不千篇一律,开关方便,色彩上大多倾向于灰色和暖色调,营造一种或沉稳或温暖的感觉。
2、材料选择:
Led:有体积小、重量轻、亮度高、能耗低、寿命长、安全性高、色纯度高、方向性好、维护成本低、环保无污染等优点。新型材料。感应之电极片.3、工艺选择:
优质光源是绿色照明的基础。第一、光谱成分中应没有紫外光和红外光。长期过多接受紫外线,不仅容易引起角膜炎,还会对晶状体、视网膜、脉络膜等造成伤害。红外线极易被水吸收,过多的红外线经过人眼晶状体聚集时即被大量吸收,久而久之晶状体会发生变性,导致白内障。
第二、光的色温应贴近自然光。人们长期在自然光下生活,人眼对自然光适应性强,视觉效果好。
第三、灯光为无频闪光。普通的供电频率为50赫兹,表示发光时每秒亮暗100次,属于低频率的频闪光,会使人眼的调节器官处于紧张的调节状态,导致视觉疲劳。如果发光时的频率提高到数百、数万赫兹以上--—成为高频率,人眼即不会有频闪感觉;但真正的无频闪是直流供电或半导体固体发光器件(如led发光二极管)发出的光称为无频闪光。
四、台灯的试制鉴定
1、样品:
石膏模型、小产品模型、成品(少数)。
3、小批量生产
4、台灯的鉴定:
对产品的功能、是否环保、质量是否合格、使用是否安全、方便,开关接触是否通畅等鉴定合格后发放市场。
5、台灯的储存:
区城仓储、商城专柜、企业仓储等。
6、物流:
快递、包裹、邮局。
7、服务:
区域推广、电信服务、网路服务。
8、回收:
以旧换新、零部件回收、塑料、不锈钢等回收再利用。
9、推介:
电视广告、平面广告、交通设施、网络、电影播放等。
10、成本核算:
材料费:50元
技术开发费:60元
加工费用:5元
物流及仓储:5元
广告费用:50元
包装费用:5元
出厂值:75元
市场零售价:280元。
基于SDL的通信协议开发平台 第2篇
关键词:SDL,通信协议,进程,状态机
1 引 言
SDL是一种用来说明和描述系统的国际通用的标准化语言。它将直观的图形和固定的格式结合起来,使开发人员可以简洁高效地将规范和协议描述出来,SDL的应用可以缩短开发周期,降低系统的差错率,提高软件质量。现在越来越多的电信设备开发商开始使用SDL进行协议软件开发。
但SDL并非编程语言,用SDL描述系统以后最终需要将SDL系统映射成实际程序才有意义,而目前一般是借助于国外的一些开发工具如SDT提供的SDL和C语言的转换工具来完成,开发人员通过编写SDL系统和环境的接口函数来实现所生成的代码和RTOS的集成。这种方法提高了协议开发的效率,但也有一些缺点:设计依赖于工具,脱离工具则代码难以维护、SDL生成的代码非常复杂,不便于修改和阅读,所以在实际应用中这些工具往往用于协议验证。
为了提高协议开发效率,我们在无线通信系统开发中建立一套自主的基于SDL的通信协议开发平台,通过这个平台可以实现SDL基本元素进程以及进程之间的通信和RTOS任务之间的通信,并集成了协议中常用的定时器管理功能、内存管理功能。
2 SDL介绍
SDL(Specification and Description Language) 是1976年至1992年由ITU-T发展和标准化的一种描述系统行为的语言,SDL的数学模型是扩展有限状态机(EFSM),是一种高层泛用型的用于事件驱动、实时和通信系统的描述语言,电信系统和协议是它主要应用领域之一。SDL有图形和文本两种表示形式,SDL/GR和SDL/PR。它既可以用来对系统的功能进行说明,也可以描述系统的内部结构和行为,因而应用范围很广,可以用于协议工程的各个阶段。SDL采用一种层次结构来对系统进行描述和说明,结构和功能被清楚地划分。系统可以分为多个功能块,功能块表示系统内部功能相对独立的几个模块,它们之间通过信道相连。根据系统规模的大小,每个功能块还可以分为子功能块或进程。与传统FSM 类似,SDL进程具有有限数量的被有限数量跃迁连接着的宏控制状态。通过一个输入信号(也可称使能条件)的接收、事先设置的定时器的定时或当前状态变量(连续信号)值所指定条件的确认,跃迁能够被触发。在SDL中,定义了一些基本的数据类型和操作,以及构造新类型的机制,使得SDL拥有和C/C++语言一样的数据操作能力,因此它可以用于系统的设计和实现。
3 SDL通信协议开发平台构成和实现
SDL通信协议开发平台建立在嵌入式实时操作系统上,主要包括4个模块:进程管理、消息管理、定时器管理、缓存管理,如图1所示。其中进程管理模块提供了SDL进程的创建、删除等库函数,并提供了SDL功能块和进程的描述表,通过这张表格可以确定任务块和进程的从属关系。在消息管理模块提供了进程间、进程和功能块间、进程和外部任务间的消息通信函数;定时器管理和缓冲管理模块则提供了定时器的创建、删除函数以及缓冲的创建和释放函数。
3.1 功能块和进程的实现
3.1.1 功能块实现
采用SDL描述的系统包含若干个功能块(block),每个功能块内至少有一个进程(process),功能块是用RTOS的任务直接实现的不需要开发者单独创建,只需在功能块中预先定义包含哪些进程,SDL系统在初始化时直接可以创建功能块。每个功能块内进程的并发调度是由功能块的一个调度函数实现,而功能块之间的调度则由操作系统完成。功能块任务内除了完成个进程状态机的轮询调度外,还负责接收外部环境的消息并分发消息到各个进程状态机中;除此外功能块任务还负责本功能块内所有进程的定时器管理工作。功能块内部工作流程图如图2所示。
3.1.2 进程状态机的实现
进程是并行执行的扩展的有限状态机,它规定一个系统的动态行为,进程基本上是处于等待信号的状态,收到信号则立刻进行状态之间的转移,进程的这一概念非常类似于操作系统中进程或者任务的概念。进程之间,进程与系统环境之间通过异步信号进行通信,这些信号可携带不同类型的参数。虽然进程的特点和RTOS中任务有点相似,但实际开发中一个SDL的进程会同时存在上百个甚至上千个,这显然不能用任务去直接实现SDL进程。
在SDL平台上采用一个C函数对应一个SDL的进程,该进程所在的功能块负责调度该进程的运行。在SDL语言中进程可以看作是一个有限状态机,状态机的状态跃迁是由一系列信号触发的,在进程的入口函数采用swicht-case架构的实现状态机。在平台规定了一个标准的进程状态机函数模板,协议开发中每个进程按照这个模板编写SDL进程的代码。
3.1.3 进程并发性的实现
进程并发性是通过在功能块任务内的进程调度函数实现的,在调度函数内按照消息的触发次序轮流调用进程的状态机函数。在实际应用中还会碰到一个状态机函数,需要并发调用的情况,比如在WiMAX系统中每个用户站入网过程都是一样的,包含下行同步参数获取、上行参数获取、初始测距、能力协商、注册等状态跃迁过程,所以对基站来说只要一个进程状态机就可以完成一个用户站的入网接入过程,但对基站来说又需要同时接入多个用户,这就需要进程状态机函数允许被重用,就像面向对象就是类和对象的关系,我们把这种需要被重用的进程称做进程类型,而每个实际使用的进程称作进程实例,在协议开发过程中开发者调用平台提供接口函数就可以创建一个或者多个进程实例。在程序中要实现状态机函数的重用就需要解决函数的重入问题,我们采用在每个状态机函数中保留一个私有存储区方法解决函数重入过程中私有变量的保存问题,如图3所示。
3.2 通信机制的实现
在SDL中系统通过信道与环境连接。系统由许多用信道连接起来的功能块组成,每个功能块相对于其他功能块而言是独立的。在两个不同功能块中的进程之间,通信的惟一手段是靠发送信号,信号通过信道来传递。信号是系统的不同功能块之间或功能块和环境之间进行通信的手段。
根据信号发送的目的采用两种不同方式实现SDL的通信:
(1) 同一功能块内部的进程通讯,这种情况下进程之间的通信是由功能块内部的消息分发机制实现的;
(2) 不同功能块之间进程的通信,在这种情况下先通过调用操作系统的消息发送机制将消息发送给目标进程所在功能块,由功能块再分发给进程。
这种两种方式不管是哪种方式都使用了统一消息发送接口函数,对开发者来说是透明的。
3.3 定时器管理
定时器是SDL语言中一个重要元素在通信协议开发中被大量应用,比如在WiMAX系统开发中周期测距需要一个定时器周期触发周期测距进程进行信号质量的检测,在网口地址过滤中需要周期进行地址老化。在SDL协议开发平台中,我们将定时器绑定在进程状态机上,通过静态分配的方法将在平台初始化时分配定时器给每个进程,定时器的定时功能由进程所在的功能块任务维护,这种方法避免了采用一个任务管理所有定时器带来任务负荷过大的问题。另外为了降低功能块的任务负荷,在功能任务内没有采用传统的在一个固定tick周期内检查是否有定时器超时的方法,而是利用功能块任务已经有的等待外部任务消息超时来实现定时器的定时检查。具体说就是在SDL的功能任务内采用差值定时的方法维护定时器,在每个功能块任务内维护一个定时器链表,当定时器启动时就插入到这个定时器链表中并根据时间进行排序。在功能块任务等待外部消息超时后就检查是否链表中有定时器超时,如果有则向相应的进程发送超时消息并删除该定时器,然后更新下一个定时器超时周期并把这个周期设置成等待外部消息超时的时间。采用这种定时器管理机制的好处是定时器管理任务只在下一个定时器超时的时候被激活,而不需要每隔一个固定周期就需要激活去检查定时器链表,大大节省了任务的切换时间。
4 结 语
基于SDL协议开发平台提供一套将SDL语言直接映射成协议代码的高效方法,使通信协议软件开发人员在协议开发过程中将主要精力集中在前期的SDL对系统的描述阶段,而无需关心系统底层的实现,较好地提高了协议开发的效率和代码的可维护性、可移植性,这些优点已经在基于IEEE802.16d的固定宽带无线接入系统的开发中得到了充分的体现。目前SDL协议开发平台还只是实现了基本的SDL进程、功能块、定时器等元素,对SDL中通信只实现了消息的交互,没有实现远端过程(Remote Procedure)调用和远端变量(Remote Variable),这会限制SDL平台在一些复杂通信协议开发中的使用,针对这些问题我们将在后续的工作逐步完善。
参考文献
[1]Sridhar T.Designing Embedded Communications Software[M].US.:CMP Book,2003.
[2]ITU2T Z.100.Specification and Description Language SDL[Z].1999.
[3]宋瑾钰,魏仰苏.SDL语言动态语义模型的研究[J].计算机应用,2004,24(11):50-51.
基于BT协议的下载程序开发 第3篇
台灯开发协议 第4篇
一、Ad Hoc网络研究与发展现状
一般认为,没有基础设施的网络出现在20世纪70年代,在最初开发报文交换技术(后来发展成因特网)不久,美国国防部高级研究规划署(DARPA)资助了一项特别的研究即分组无线网络(Packet Radio Network),即让报文交换技术在不受固定或有线的基础设施限制的环境下运行。90年代中期,随着一些技术的公开,Ad Hoc网络开始成为移动通信领域一个公开的研究热点。90年代以来,移动Ad Hoc网络的研究在世界范围内方兴未艾,已经从无线通信领域中的一个小分支逐渐扩大到相对较独立的领域。无论在国际上,还是在区域上(欧洲和亚洲等地区),周期性的Ad Hoc网络学术会议日益增多。目前,路由协议的研究仍然是Ad Hoc网络成果最集中的部分。研究Ad Hoc网络的相关技术,以适应未来高技术民用和军事发展的需要,这项研究不仅具有重要的社会和经济意义,也具有十分重要的战略意义。
二、DSR简介
动态源路由协议(DSR)中,每一个被传输的包都携带一个到达目的地所必经的节点的完整序列,即要求发送者知道到达目的节点的完整路径,这个特性就是源路由。DSR协议就是采用了这种源路由的方法,将路径信息直接记录在每一个包中。此协议由两个基础过程组成:(1)路由发现过程(2)路由维护过程。其中路由发现和路由维护都是按需的(on-demand),按需的路由发现是只有当将发送一个包到某个节点但是在路由缓存中没有找到到达该目的节点的路由时才发起一个路由发现。路由发现过程是从源端以广播的方法来动态发现路径。按需的路由维护过程主要的工作是根据路由信息来通知各个节点整个网络拓扑的变化让节点更新路由缓存。当节点使用某一条路径的过程当中,就靠着路由维护机制对该路径的正确性进行监控,当路由维护探测到正在使用的路径出现问题时,路由发现过程就可能被启动,以发现新的正确路径。
三、Windows NT平台下DSR的实现
1、Windows网络协议架构
Windows操作系统的总体架构分为两个层次,上面的为应用层,下面的为核心层。其结构如表3-1所示:
这种分层结构可以实现代码共享,还可以实现安全保护。因为像协议驱动程序之类的程序对程序的执行效率和代码的严谨性、强壮性要求都非常高,一旦程序出问题就可能使系统瘫痪,因此将操作系统分为两层,可以分别赋予她们不同的操作权限。
2、Pass thru对DS R分组操作
(1)Passthru接收DSR包
Passthru通过Protocol Receive Packet函数,从低层NIC驱动程序以完整数据包形式接收内入数据,该数据包由NDIS_PACKET类型的包描述符指定,也能够通过将内入数据指示给Protocol Receive函数,并将数据复制到中间层驱动程序提供的数据包中。下边界面向连接的中间层驱动程序总是调用Protocol Co Receive Packet函数,从低层NIC驱动程序接收数据作为一个完整的数据包。所以本论文处理动态源路由(DSR)分组是放在Protocol Receive Packet函数里,先对分组进行判断,然后针对不同的分组根据动态源路由算法做不同的处理,最后把处理后的分组提交给上层程序,在程序里数据分组体现的是数据包描述符Packet,数据包描述符记载着数据分组所在内存的地址的地址,Packet指示着buffer的地址,而buffer指示着数据包所在内存的地址Packet Content,关键的程序代码略。
(2)Passthru发送DSR包
在Passthru截获网络数据包函数里的必须建立一个包描述符(packet)指示要传输的数据,并且在协议层之间传递数据时,需要添加不同的协议头。此外,在DSR协议中,IP层利用路由缓存来解析目标IP地址的路由。对每个可从路由表中找到路由的目标IP地址,路由表返回一个DSR_SOURCE_ROUTE_ENTRY数据结构来描述达到目的节点路由的入口,然后通过入口得到到达目的节点的源路由,如果在路由表中没有找到到达目的节点的路由,则发起一个路由发现来侦探到达目的节点的路由。
四、展望
由于动态源路由是单径的,所以通过对Ad Hoc网络的动态源路由进行扩展,即在Ad Hoc网络中实现一种多路径路由方法,得到一种多路径协议称为MSR(Multi-path Source Routing)。MSR是在DSR基础上改进而成的,MSR对DSR的主要改进就在于使用多径源路由和负载平衡,同时使用MSR只需对DSR的路由选择机制进行相应的修改而可以直接使用DSR的路由发现和路由维护机制。
随着无线Ad Hoc网络的进一步发展,人们对于网络协议的性能研究已经不在满足于仿真手段,而是要求在实际的系统中去实现并通过实际测量来评价协议的性能好坏,因此,路由协议的研究将会越来越受到人们的重视。
摘要:无线Ad Hoc网络是由一组具有路由功能的无线节点所组成的、独立于固定基础设施的分布式网络。由于具有自主性、无严格的控制中心、动态拓扑等特点,近些年Ad Hoc网络越来越受到人们的关注,各种Ad Hoc网络路由协议的提出及相关性能的分析评价也成为学术界的研究热点。
关键词:无线Ad Hoc网络,动态源路由,路由发现
参考文献
[1]刘元安.《Ad Hoc网络中的路由算法》[M].北京邮电大学报,2004年.
印度和台湾省签署半导体开发协议 第5篇
台灯开发协议 第6篇
1 数据采集系统
数据采集系统主要完成从正在工作中的通信终端中采集数据的任务。
1.1 采集点的选择
整个通信系统中有多个数据采集切入点可选,可以对中频信号直接采样,也可以对基带信号采样,还可以通过模拟系统中的AD数据接收时序,直接接收AD输出数据。但前两种采集点不能确保采集到的信号数据与DSP输入数据完全一致,而模拟AD数据时序的方式则可能影响DSP与AD之间的主从关系,影响DSP协议栈的正常运行,而且各种外部中断的采集也比较困难。因而最为稳妥的方式是DSP通过数据总线输出其接收到的数据。这种方法的缺点是需要占用DSP少量资源,但这与协议栈运行相比,完全可以忽略不计,不计不会影响协议栈本身的运行。
1.2 硬件连接
参考文献[1]对各种数据采集系统进行了分析比较,并指出USB总线为数据采集卡与PC机较理想的接口,因此选用CY68013A作为USB接口芯片。采用1片FPGA进行DSP与CY68013A之间数据格式的转换,CY68013A固件程序存放在E2PROM中,通过I2C总线连接,连接方式如图1所示。
其中,DSP除了输出16位数据总线之外,还引出7位地址线(A0~A6),用以区分不同的数据类型。FPGA须将DSP外部总线输出的数据格式转换为CY68013A外部GPIF可兼容的格式。
1.3 FPGA程序设计
CY68013A外部GPIF端口可作为数据输入端口的仅有16位(FD0~FD15),而DSP输出的信息数据一共有23位(16位数据线D0~D15和7位地址线A0~A6),故而需要将多出的7位地址信息嵌入到数据中去。将1个16位数据拆分成2个,每个数据中的低8位(FD0~FD7)用于存储原数据信息(D0~D7或D8~D15),高7位(FD8~FD14)存放地址类型信息(A0~A6),最高位(FD15)用于标识当前数据中FD0~FD7是原数据的D0~D7或是D8~D15,具体格式如图2(b)所示。CY68013A GPIF端口使用内部48 MHz时钟,根据参考文献[2],每个GPIF信号周期为20.83 ns,二者时钟不同步,FPGA为了与高速设备兼容,需要使用更高的时钟源。因此,为了保证GPIF能够采集到RDY信号,FPGA输出的信号至少需要保持1.5个GPIF信号周期。GPIF每次从外部读取数据存入FIFO需要6个状态,故而每个输出数据间隔应大于6个GPIF信号周期。以TI公司C55系列DSP为例,主频时钟144MHz,与FPGA连接的为EMIFS外部总线,则FPGA转换信号时序如图2所示。其中,图2(a)为DSP EMIFS输出时序,图2(b)为经FPGA转换后的CY68013A GPIF输入时序及数据格式。
考虑到DSP输出数据时钟可能较CY68013A GPIF采集时钟快,因而FPGA需要设计内置的FIFO存储器,用于缓存DSP输出的数据。
1.4 USB固件设计
由于CY68013A内置的8051内核时钟周期较慢,不适于高速传输,因而采集程序中仅使用8051进行初始化配置,而不干预数据传输过程。CY68013A通过外部GPIF读取数据存入FIFO中,FIFO满时通过USB传入PC机。采用Cypress公司提供的通用程序框架以及图形化GPIF设计工具,参照图2(b)的时序,编辑GPIF波形。USB总线选择传输大量数据时比较常用的Bulk传输模式,硬件配置程序采用Cypress公司提供的程序模板,参考文献[3]对该模板进行了详细说明,这里不再赘述,程序框架与参考文献[4、5]类似。
1.5 PC机接收程序
USB接口驱动程序可直接使用Cypress公司提供的ez-usb驱动。由于ez-usb驱动没有提供高级的文件操作IO方式,因而需要调用比较底层的DeviceIoControl函数来处理。考虑到Bulk传输方式完全是由主机端(PC机)发起读操作,从机端(采集板)只能被动地等待,而当CY68013A内置的FIFO写满之后,如果主机不能及时地发起读操作,则FIFO不再接收数据写入操作,因而会有少量的数据丢失。对于底层协议栈调试,这种少量的数据丢失可能引起程序流程错误,是不能接受的。因此PC机端接收程序应采用多线程处理方式,将接收USB数据的工作列为单独的线程,并将其优先级设置为实时性最高的THREAD_PRIORITY_TIME_CRITICAL,防止接收数据过程被系统中其他进程打断,以确保每次读操作能够及时发出。同时也要保证负责数据采集的PC机操作系统中同时运行的进程尽量少,关掉不必要的后台进程。
PC机接收到的数据先存入临时文件中,以备后续解析、仿真程序使用。临时文件以字(16 bit)为单位存储,每个数据用2个字来表示,低字节在前,与FPGA转换后的数据格式一致,如表1所示。
2 仿真系统
仿真系统使用采集系统采集到的数据,再现通信终端中的协议栈运行状态,便于开发者随时检查程序错误,对程序进行调试。
2.1 系统框架
要想再现底层协议栈运行状态,除了保证协议栈整体输入、输出一致外,最大的难度在于系统的定时,要能够准确再现各种事件的发生时刻。基于软件无线电技术的数字通信系统大都采用过采样方式,AD/DA速率都比较高而且稳定,因而底层协议栈也大多以AD/DA的输入、输出中断作为系统定时。当通信终端作为接收机时,底层协议栈需要以AD采样数据作为其他部分(信道估计与均衡、解调、信道解码等)的驱动数据;作为发射机时,DA输出数据是底层协议栈的最终输出结果,需要仿真程序进行验证。故而仿真程序可以采用AD/DA中断来划分程序运行的最小时间片,其他各种事件的发生都通过中断个数来计时,仿真程序通过判断AD/DA数据的个数调用各程序函数来再现底层协议栈运行状况及数据流向。这样就可以在不增加开销的情况下,尽最大可能保证仿真程序与实际DSP中运行的协议栈一致,方便再现问题。
2.2 输出数据
根据1.1节所选择的数据采集点,需在DSP的底层协议栈代码中输出仿真时所用的数据:(1)需要输出的为前端AD/DA数据,以及底层协议栈与上层协议栈之间的交互数据,这是底层通信协议栈接收、发射信息时所需的输入数据与最终的输出结果;(2)其他外围设备产生的中断和输入数据也会影响底层协议栈流程,是仿真时所必须的部分;(3)底层协议栈各任务挂起、运行、结束等状态变化需要输出,以保证仿真程序运行时刻与实际情况一致。另外,在2次AD/DA中断之间会发生多次变化的全局变量也需要输出,以弥补时间片划分的不足。
2.3 数据解析
1.5节中所存储的接收数据不方便直接用于仿真,需要进行格式转换。根据2.1节中所述系统框架,所有事件通过AD/DA数据计时,故而除AD/DA数据外,其他类型数据需要记录AD/DA数据个数信息,作为时间戳,因而可将所有数据分为两大类:AD/DA数据和非AD DA数据。为仿真方便,将这2种类型数据分别存放于2个文件中。在解析数据时,需要将1.3小节中为了与CY68013A兼容而通过FPGA拆分开的2个16位数据重新合并为1个,并将不同类型的数据分开。AD/DA数据一般长度固定,由AD/DA转换器分辨率(位数)而定,例如,AD/DA数据为16位,每次中断输出1个数据,则解析后的数据格式如表2所示。
非AD/DA数据根据程序需求,长度不固定,可在协议栈程序输出数据中包含长度信息,也可在接收程序与输出程序中提前规定好数据长度。例如,非AD/DA数据以字为单位,数据长度为N,则解析后的数据格式如表3所示。
由于底层协议栈需要兼顾外围硬件控制,各种外部中断比较多,很可能会打断数据输出,因而在解析数据时,需要考虑各种数据之间的嵌套。为此,可以对每种数据采用单独的缓冲区,待解析到1条完整数据之后再存入文件中,同时还要保证文件中各种非AD/DA数据按照发生时间的先后顺序排列。其流程如图3所示。
2.4 系统仿真
系统仿真之前,首先要将运行于DSP中的底层协议栈代码转换为PC机上可运行的代码,一般DSP大多采用C语言和汇编语言相结合的方式进行开发,C代码基本上不需要进行大量修改,而汇编代码需要根据其工作原理,转译成C代码。系统仿真时采用2.3节中解析后的数据文件作为输入,按照2.1节定义的仿真系统框架,以AD/DA数据为驱动,通过判断非AD/DA数据的发生时刻(AD/DA数据计数值)来调动底层协议栈各部分任务运行,以达到再现协议栈运行状况、调试程序的目的。仿真流程如图4所示。有些硬件操作需要底层协议栈控制,仿真时可以按照“[发生时间]硬件操作内容”的格式写到文件中作为仿真程序的输出。这样通过查询输出文件,各种硬件操作的先后关系一目了然,更形象化,有利于发现硬件控制上的逻辑错误。
本文设计了一种专门用于底层协议栈开发的数据采集与仿真系统,利用USB高速传输特点以及物理连接的便利性,采用CY68013A进行数据传递,充分利用其GPIF资源,使用FPGA进行格式转换。文中对仿真系统的整体框架和数据转换细节进行了详细说明。该系统可用于各种类型协议栈调试,便于追踪、再现问题。经过实验验证,系统可承受100 Mb/s的实时数据流,在数字集群手持终端开发中进行了广泛应用,不仅降低了协议栈的开发难度,而且缩短了开发周期,有很高的实用性。
摘要:针对数字通信系统中底层协议栈开发过程中处理数据量大,出现问题不易再现、难于追踪的问题,设计了一种专门用于底层协议栈开发的高速数据采集、仿真系统。系统采用USB总线作为高速数据通路,使用FPGA进行格式转换及数据缓冲。论述了仿真系统的工作原理和系统框架,分析了数据转换、解析的流程,给出了系统仿真的一般模式。
关键词:数据采集,仿真,USB,FPGA
参考文献
[1]刘泽西,程晶晶,孔力.基于USB2.0接口的高速实时数据采集系统[J].测控技术,2007,26(2):34-37.
[2]Cypress Semiconductor Corporation.CY7C68013A,CY7C-68014A,CY7C68015A,CY7C68016A,EZ-USB FX2LP?USB microcontroller high speed USB peripheral controller[EB/OL].http://www.cypress.com/?rID=14181,2009-05-22.
[3]梁鸿翔,王润田.基于USB2.0的同步高速数据采集器的设计[J].电子技术应用,2004,31(8):13-15.
[4]安荣,任勇峰,李圣昆.基于FPGA和USB2.0的数据采集系统[J].仪器仪表与传感器,2009(3):49-51.
台灯与蜡烛 第7篇
一天,蜡烛出来散步,遇到了台灯。
“你好啊,台灯大姐!”蜡烛高兴地打起招呼。可是高傲的台灯想:“她怎么能和我交朋友?她不配!”于是就没有吱声。可蜡烛一而再,再而三地和台灯搭话,台灯只好开口了:“我应该算你的老上级了吧,你看我发的光比你亮多了!”蜡烛听了笑了笑,没再说话。这时,小主人回来了,开了灯就做作业。台灯乐得合不拢嘴,那股得意劲儿呀,就别提了。她对蜡烛说:“小蜡烛,你看看,主人多重视我呀,你应该好好向我学习用电的本领哦!”小主人听见了,说:“今天我要给你们讲个故事。爱迪生小时候,一次妈妈生病需要手术,家里没有煤油灯,他就问邻居借了煤油灯和镜子,利用镜子反射光的原理,让屋里变得亮后医生给做了手术。在这之后,他反复研究,才发明了电灯。而煤油灯的祖先其实就是蜡烛,所以蜡烛才是台灯的老祖宗呢!”这时,“咔”地突然停电了,小主人点上蜡烛,又说道:“虽然有了电灯,但有时候还是会用到蜡烛的,比如停电呀,有人过生日的时候呀……”听到这里,台灯变得谦虚了许多,对蜡烛说:“小妹,想不到你原来那么厉害呀!”这时,蜡烛被燃烧地越来越短,火红的头发也将要熄灭了。“你,你怎么……变成这样了?”台灯害怕地询问。“别怕,我要走了。我们蜡烛的寿命虽然只有几小时,但为人们付出了我们的价值也就值得了……”说着,蜡烛倒在桌上,成了一堆蜡油。
台灯看着那堆蜡油,若有所思。
江苏省海门市东洲小学
指导老师:王 敏
台灯开发协议 第8篇
随着计算机网络技术的不断发展及广泛应用, 新一代的通信网络逐渐向着数字化、智能化和个人化发展, 网络所提供的服务也开始由传统的通信服务逐渐向信息服务转变。随着软件的不断增多, 结构越来越复杂, 通信网络协议也面临着越来越多的困难。与此同时, 网络系统在空间分布性、不稳定性及多样性方面表现出来的复杂性对通信网络协议的完整性、正确性、可靠性及标准化都提出了更高的要求。伴随着通信网络协议开发成本的增加, 市场竞争的周期开始缩短, 在通信网络协议的开发和设计上采用协议工程技术和方法, 并有效实现通信网络设计合使用过程的规范化和自动化, 成为当前通信网络协议开发课题中的热点及难点问题。本文就围绕着通信网络协议开发的形式化方法进行探究。
二、网络协议的要素分析
能够确保计算机网络顺利进行数据通信的通信网络协议, 其要素主要包括以下几点:第一, 网络协议所能提供的服务;第二, 网络协议运行环境的假设;第三, 实现网络协议的词汇信息及对每个词汇信息进行的编码;第四, 控制消息保持一致性的规则。
能够在计算机之间实现网络数据通信自动化的协议, 一般来说都是很复杂的, 针对这种复杂的问题, 采用分层结构来理解网路协议, 具有重要作用。其中, “七层”协议结构模型是当前网络协议中的标准结构, 是网络协议开发的基础。
三、网络协议形式化方法、形式化模型及描述
网络协议形式化方法是采用数学方法对目标软件的系统性质进行描述的一种技术方法。通过使用数学符号及数学法则就目标软件系统的结构来进行综合分析, 研究, 为网络协议的开发和验证提供一个利于发现目标软件和系统需求不完整性、不一致性等问题的框架。网络协议的形式化方法主要还是通过形式描述技术, 即FDT技术来获得支持, 形式化方法描述与模型技术及形式描述语言息息相关。
网络协议的形式化模式, 其核心技术就是对协议进行分析和设计。形式化模型主要有以下几种:第一, 有限状态机模型。这种模型主要在有限状态集、输入集和转移规则集, 其中, 有限状态集一般用于对系统不同状态进行描述;输入集则对系统接受的不同信息进行表征;状态转移规则集则主要是对表述系统在接受不同输入时, 转移到下一个状态的规则。第二, Petri网模型, 此种模型是适用于并发、异步及分布式系统描述和分析的数学工具, 是目前网络协议中的典型模型之一, 具有静态结构和动态行为机制。第三, 协议时态逻辑模型, 此种模型在时间信息的事件、状态及其关系命题中予以应用, 对标识系统中的个体常量、定义变量等进行表达, 进而对协议进行描述。
四、SDL
SDL产生于1976年, 是由ITU-T发展的一种FDT, 它是一种基于有限状态机建立的数学模型, 用于事件驱动、实时和通信系统的描述语言。其形式化方法主要是作为对开发结果进行验证、测试的基础, 为设计和应用人员提供交流的途径, 进而为开发者提供一种分析、设计的方法。SDL着重从全局的视角来对系统结构进行描述, 对系统中哪些是由子系统构成, 各子系统之间如何相互作用等进行描述, 进而递归式的对各子系统功能和结构进行描述。
SDL分为图形和文本两种形式, 对系统功能进行说明, 并对系统内部结构行为进行描述。纯文本表示更容易被计算机处理;而图形表示则更直观, 利于进行可视化建模。SDL对一种层次结构来进行描述说明, 其结构和功能并明确划分, 功能块之间通过信道相连;同时, 各个功能块还可以分为子功能块或进程。SDL对一些基本数据类型和操作以及对构造新的类型进行了定义, 因此可以用于系统设计和实现。对SDL的优缺点而言, SDL能够通过全局视角, 递归式的对各子系统功能及结构进行描述, 并对硬件系统和其他各种人造或非人造系统进行描述。与此同时, SDL也具有一定的缺点, 例如, SDL不适用于对需要大量进程的紧密协作, 不能对并行处理和应用进行很好的处理;不能适应所有类型的实时系统等。
五、LOTOS
LOTOS产生于1989年, 是用于详细说明和通信系统的描述技术标准形式, 适应协议工程、分布处理及并行处理技术的要求, 进而形成的规范语言, 充分引入抽象的数据类型, 对进程行为及交互作用进行描述。LOTOS主要是针对分布式的开放系统规范, 尤其对开放式系统连接计算机网络架构的服务与协定, 进行形式化的技术描述。LOTOS被用来对系统中事件发生顺序来建立运作模式, 通过衍生自过程的运作模式和引入抽象数据形态结构来分析, 提供对特定抽象数据形态的对等描述。LOTOS中的一个系统可以当做多个相互通信的进程;同时, 这些进程又可以由多个子进程构成, 进行一个规范的层次结构。一个进程通过门径和内部行为的时序关系来进行交互和定义;两个进程通过一个门径, 可以对数值进行匹配, 行程三种交互作用, 这种进程行为为表达式描述。
六、ESTELLE
ESTELLE开始于1981年, 由ISO发起, 在1989年被批准为国际ISO标准, 能够实现完整、一致、简练的描述分布, 并对信息进行处理。ESTELLE使用的是Pascal语法和数据类型, 基于扩展的通信有限状态机理论, 在事件驱动行为建模中进行数据处理方面, 能够准确描述并发布信息系统, 因此, 特别适合用于通信协议。ESTELLE是有许多相互通信的模块分层构成的系统, 在每一级别中可以有多个模块, 同时, 每个模块和子模块中, 都能通过通道以异步方式或凄然模块进行通信, 而通道则是在两个实体之间相互传送的结构化双向路由。其本元素为模块, 由模块头和模块体组成。其中, 模块头被定义为外部交互点和输出变量。模块体则被定义为三个部分, 即初始化部分, 说明部分和跃迁部分。根据模块中是否包含状态变迁, 可以分为三种类型, 即活跃模块。目前, 在ESTELLE中, 已经开发看多个用于设计、调试、测试的工具, 形成了一套完整的ESTELLE开发工具套。ESTELLE与SDL的扩展基本一致, 但在某些概念上有所不同, ESTELLE扩展主要体现在:用变量和变量型的表示状态空间不一样;所用参数表示交互的方式不一样;操作与变迁相联系的方式也不一样。ESTELLE大部分主要集中在对ISO的应用协议进行描述。
七、Petri网
Petri网是在1962年, 德国的Carl Adam Petri的博士论文中提出, 是使用网状结构模拟通信系统, 研究信息系统及其相互关系的数学模型, 用于并发和分布系统行为描述的建模技术, 目前, Petri网还没有明确的国际标准, 但已经在分布式系统和通信协议的相关验证机性能分析反面得到了广泛应用。PN是对某一个系统状态及变化所提供的图形表达方式, 通过可视描述功能, 能够对模拟系统的动态和活动行为进行标记。一组通信实体能够被描述为单一的或相互通信的Petri网模型, 由位置和跃迁表示通道实现, 网络的动态特征, 例如控制和数据流等由标记进行分布描述。为了适应不同协议的需求, Petri模型逐渐扩展到多个模型系统。近年来, Petri网技术得到了极大发展, 各种网系统被开发, 例如, 条件/事件网, 变迁网, 有色网等, 这些网络协同的开发对复杂系统的建模能力实现了很大的扩展作用。
Petri网对系统结构能够较好的描述, 对系统中并发、同步、冲突及顺序等关系, 可以用图形等来表示组合模型, 更具有直观、易懂和易用的优势。Petri网具有严格定义的数学对象, 具备完善的数学理论为基础。Petri网作为系统建模的工具, 在系统设计和分析中, 着眼于系统发生的变化, 以及变化发生的条件和影响。因此, 从组织结构的角度来看, 其模拟系统不涉及系统所依赖的物理和化学原理;精确描述系统中事件的依赖关系与不依赖关系, 这是事件之间的客观存在, 也不依赖与观察的关系;Petri网还具有与应用环境无关的动态行为, 作为可独立的研究对象, 且Petri网可以在具有不同应用领域中得到不同的解释, 进而起到沟通不同领域间桥梁的作用和效果。
八、结束语
形式化方法被用于描述复杂的系统, 对通信系统的描述、实现和测试均变得十分容易, 对此, 在通信网络协议的开发设计中, 就应该积极采用一些形式化的方法, 在网络协议开发和使用效率及降低开发成本上做出贡献。
综上所述, 通过对形式化方法在建模、验证及性能分析方面的比较, 在对某些性质或协议工程的某些阶段的工作的秒速比较好, 而在其他阶段和方面则表现出一些缺陷。例如, SDL在分析技术方面较为缺乏, LOTOS对于所描述的协议抽象性级别比较高, Petri网则在复杂语义和时序方面进行扩展的描述到具体实现的差距较大。由此可见, 通信网络协议开发的形式化方法多有不同, 尚没有一个完全泛用型的方法。因此, 在对通信网络协议进行开发时就要在关键过程中引入形式化方法。
参考文献
[1]鲁来凤, 吴振强, 马建峰.基于PCL的改进型Helsinki协议的形式化分析[J].华中科技大学学报 (自然科学版) , 2011 (4) :34-36
[2]王惠斌.安全认证协议的设计与分析[D].解放军信息工程大学, 2010.11:111-113
[3]罗军舟.从Petri网到形式描述技术和协议工程.软件学报, 2000, 11 (5) :606-615
[4]古天龙, 蔡国永.网络协议的形式化分析与设计.北京:电子工业出版社, 2003, 11 (12) :54-57
[5]潘红艳, 于全.用于通信网络协议开发的形式化方法[J].计算机工程, 2004, 30 (01) :129-131