- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多路高速串口的通信方法设计
基于VxWorks的多路高速串口的通信方法设计
关键字: 中断 负载 串口通信
?串口通信具有传输距离远、传输稳定、简单实用等特点,已被广泛应用于工业控制、数据采集、网络通信等领域。在这些应用领域中,串口通信用于实时地从各个串口接收数据,而向各个串口发送的主要是控制信息,一般不要求严格的实时性。因此提高串口设备接收的实时性至关重要。设备接收到数据时,系统可通过两种途径获取数据包到达的信息。一种是中断方式,利用硬件中断机制实现设备和系统的应答对话,即当外部设备需要CPU处理数据时,设备就发一个中断信号给系统,系统在收到中断请求时要保存中断现场,调用相应的中断服务程序响应设备的中断请求,退出中断处理程序后要恢复现场。上下文的切换要占据系统开销,在数据量过载时会使得中断频率过高,CPU忙于处理硬件中断,上层应用程序对于数据包的处理无法执行,而中断程序还不断往队列中放数据,系统将自陷在中断响应这一环节,产生所谓的“活锁”。另一种是轮询方式,系统每隔一定时间便检查一次物理设备,若设备“报告”有数据到达,则调用相应的处理程序。但固定的轮询周期增加了数据等待处理时间,降低了系统实时性。而且当数据量比较小时,频繁查询没有数据达到的设备也是对CPU资源的浪费。可见中断和轮询方式都不能满足不同负载情况下系统的实时性要求。本文借鉴Linux系统中NAPI[1]方法,结合中断与轮询的优点,提出一种轮询与中断结合的调度方式。这种调度机制在多串口系统中,当负载在不同的串口通道不均衡时,可以提高CPU的利用效率,并能满足业务的时延要求。另外,根据到达数据量分析得出了轮询、中断切换门限和轮询周期。1 算法描述在同一系统中处理相同业务量时,中断和轮询处理的时间相同。因为过程相同,都是把数据从外设缓冲搬移到CPU内存中,所不同的是中断进行上下文切换要占据系统开销,而轮询只是查询一下寄存器状态。相比之下,轮询占用CPU的时间很短,一般中断为几个μs,轮询为几百ns,根据不同系统而有差别。相反,在数据量比较小的情况下轮询中存在空转情况,无疑增加了系统开销。目前,处理中断和轮询互换的方法有定时中断法(Clocked Interrupts),即设置一个定时器,定时器到时,如果有中断,则响应中断,调用中断服务程序处理数据。这种方法在数据量大时类似于轮询,在负载小时中断由异步事件触发降低了开销。但是这种机制需要一个精确的、频率很高的系统时钟,并且这种方法受固定定时周期的限制,不是在任何情况下都有效。在并行系统中还应用了一种叫轮询定时(Polling Watchdog)的机制,这种方法主要是为了解决接收处理中的等待时延问题。基本思想就是在轮询接收开始时设置一个看门狗定时器,以满足业务的最小时延要求,而且中断要在接收超时才产生。此方法的不足之处是在负载小时解决不了轮询空转问题。混合中断、轮询方式(HIP)主要应用在网络接口系统中。工作方式为基于观测接收的负载,改变切换门限,自动在中断和轮询两种方式中切换。中断方式没有考虑到超时中断,当数据到达间隔很大时,会降低实时性。在比较中断和轮询开销时,定义VI+V(B)为中断开销,其中VI为中断的固有开销,V(B)为系统接收B字节数据的开销,VP+V(B)为轮询开销,VP为轮询的固有开销。但在一次轮询和中断接收中,中断和轮询所接收的数据可能不相等,中断开销和轮询开销便失去了比较意义。以上几种方法均有不足,但在多路串口系统中,还各有不同的特点,即在每个独立的通道可能存在不同的负载情况。如果对全部的串口通道统一应用中断方式或查询方式,则显然不能适应各自串口通道的数据量,不能满足系统实时性和高效率的综合要求。根据这一特点,提出了在多路串口系统中,轮询和中断相结合的接收策略,在中断方式下还灵活应用了批中断技术。算法描述:com0=N=pollingFor comID←0 up to comMAXIf TIγ or PU=PUMAX ThencomID=interruptDelList(comID)N路串口的初始状态为轮询,检查轮询队列,如果数据到达间隔时间TI大于门限γ或者轮询空转次数PU等于空转门限PUMAX,则该端口改为中断状态,在轮询队列中删除该端口。根据不同的系统,间隔时间门限γ和空转门限PUMAX的取值不同。If TIγ ThencomID=pollingAddList(comID)在中断状态下,如果数据到达间隔时间TI小于门限γ,则该端口改为轮询状态,在轮询队列中增加该端口。2 门限设计如果事件随机发生而且发生频率很低,以致大多数轮询都认为事件没有发生,则中断就会是首选的事件通知机制;如果事件定期发生且可以预测,而大多数轮询都发现事件已发生,则首选机制是轮询。在这两者之
您可能关注的文档
- 英语商务法律论文.docx
- 美国零售量下降,失业人数上升.doc
- 英国文学简史 笔记整理.doc
- 2015-2016-1期中考试试卷.doc
- java试题).doc
- 精读英语答案unit 3.doc
- 关于生死20条语录.doc
- Reason to Leave 离职原因.doc
- 关于财富的英文段落.doc
- 数据结构(第二版)第六讲.doc
- 山东省济南市2025届高三下学期3月模拟考试数学试题和答案详解.pdf
- 辩证唯物主义和历史唯物主义 课件高考政治二轮复习统编版必修四哲学与文化.pptx
- 第八课 把握辩证分合 课件-高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 第七课 经济全球化与中国 课件高考政治一轮复习统编版选择性必修一当代国际政治与经济 .pptx
- 第二课 依法有效保护财产权 课件-高考政治一轮复习统编版选择性必修二法律与生活.pptx
- 建筑工程项目成本管理的方法与实践.docx
- 第七课 学会归纳与类比推理 课件-高考政治一轮复习统编版选择性必修三逻辑与思维.pptx
- 第七课 治国理政的基本方式 课件高考政治一轮复习统编版必修三政治与法治.pptx
- 江苏省南京市鼓楼区2024~2025学年九年级上学期期末物理模拟试卷.docx
- 第三课 我国的经济发展 课件高考政治一轮复习统编版必修二经济与社会 (1).pptx
文档评论(0)