



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 时间触发模式下的ProtothreadS设计应用摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTAC)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz,阻带抑制率大于35 dB,带内波纹小于05 dB,采用18 V电源,TSMC 018m CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte1 概 述 嵌入式行业的飞速发展使
2、得嵌入式芯片的容量和功能都在不断地提升。以工业应用最为常见的8位微控制器为例,其ROM和RAM的容量都在不断扩大,甚至一些高端的8位处理器可以使用简单的操作系统(OS)来进行开发。同时,32位处理器的广泛普及也使得其价格逐渐逼近8位处理器。所以对很多应用来说,开发的简化和迅速成为最主要的目标。尤其是当使用一款新的处理器或者硬件电路时,快速的搭建其开发的框架变得尤其重要。在嵌入式系统中,通常会采用两种不同的任务管理和调度方式:事件触发和时间触发。事件触发方式以事件的发生为核心,往往会采用多级中断的方法来实现,其发生的时间具有随机性。所以事件触发方式具有较好的实时性,但是这样也意味着该系统具有较高
3、的复杂度。而且,事件触发方式的开销往往是很大的。Alexander Metzner的研究指出:一个包含27个任务、采用RM(Rate Monotonic)调度算法的事件触发系统,CPU的实际利用率仅为18。 而时间触发方式开发的系统,保证了在同一时刻只处理一个事件,虽然牺牲了并发处理的实时性,但是保证了系统的可靠性,并且使得程序员能很好地预测程序的流程。Kopetz就指出:使用基于时间触发的合作式调度器会使得系统有非常好的可预测性。在本项目中,嵌入式系统的功能主要集中在控制一些具有一定时隙间隔的外围设备上面。键盘的扫描、显示的刷新、数据缓冲的存储等都是需要定
4、期完成的任务,而这些任务的实时要求也并不高,所以选用时间触发方式的合作式调度器成为系统设计的首选。 Protothrcads利用隐式的return提供了阻塞的功能,经过Protothrcads封装的任务,其程序的逻辑更加接近处理事件的上层逻辑,大大简化了编程。而且使用简单的宏就可以实现Protothrcads,其开销也是很小的。本文就对使用Protothrcads应用于时间触发模式的合作式调度器做一些讨论。2 Protothreads简介 Protothrcads是由瑞典计算机科学研究所的科学家Adam Dunkels所创
5、的一种新的线程编程方法。按AdamDunkels所说,Protothreads是专为资源紧张的系统设计的一种耗费资源少,且不使用堆栈的线程模型,它可以不使用复杂的状态机机制来实现顺序流的控制。Protothrcads也可以用于操作系统当中。 简单地说,Protothrcads借鉴了用c语言实现协同(coroutine)的原理,它应用switchcase语句的直接跳转功能,实现了有条件阻塞(conditional block),最终实现了虚拟的并行处理功能(concurrent)。实际上,Protothrcads并不是真正的线程,在多任务的切换中并不会真正涉及
6、上下文的切换,其线程的调度也仅仅是依靠隐式的return,进而退出函数体来完成的。但是Protothreads的优点却是实实在在的。首先它不需要堆栈空间,而正如笔者用宏实现的那样,Protothrcads也实现了很多只有线程编程方法才能实现的机制,比如阻塞。而用宏进行了封装之后,使用者完全可以像使用线程一样使用它们,而且其逻辑更加简化,这大大增加了程序的清晰度,并降低了开发维护的难度。 在对实时性要求比较高或者说要求并行处理的场合,往往需要在任务A执行到一定程度、等待事件C发生时,退出当前任务A并转而执行任务B;当事件C发生之后,系统继续回到任务A,继续方才
7、的执行。所以必须将任务A上次执行到地方的环境存储起来,以便重回任务A后可以接着打断的地方继续运行。线程的上下文切换可以达到这个目的,Simon Tatham用C语言实现的coroutine也可以。Protothreads正是借鉴了这一原理,如以下任务函数所示: 可以看出,在进行了宏扩展之后,下面的程序段和上面的程序段是完全相同的,但是宏封装很好地构建了一个上层的逻辑体系。这正是Protothreads的核心所在。同时,这也决定了Protothreads具有一定的局限: Protothreads中使用的必须是静态变量或者全局
8、变量; 避免与switch语句的合用(Protothreads的实现已经用了switch语句); 因为编译器会将_LINE_解释为当前所在的行号,所以不能将多个“返回”置于同一行。3 调度器设计 时间触发方式的嵌入式系统是根据定时器产生的恒定间隔的中断来触发和管理任务的。系统依靠一个基准的时间中断,以此中断为任务处理的节奏和“节拍”,任务的调度发生在“节拍”规定的时刻。中断服务子程序也同样占用这个时间间隔,为了系统的稳定性,一方面要使中断服务子程序尽可能短,以节省任务的执行时间;另一方面,执行的任务也应该尽可能短,一些比较耗时的任务可以细分为若干个子任务加以调度。同时,这也要求调度器的设计尽可能简单。本文的设计思想就是对于系统仅仅定义一个任务控制块(TCB)队列,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住宅小区设计案例分析
- 2025届烟台市莱州市数学三上期末达标测试试题含解析
- 楚河汉街美食文化设计解析
- 2025年市政工程考试高效复习法与试题及答案
- 2025年市政考试趋势分析试题及答案
- 行政管理公共关系学的重点试题及答案
- 黄道婆教学设计
- 眼部皮肤专业知识课件
- 行政管理和公共关系学的比较试题及答案
- 详细讲解2025年中级经济师试题及答案
- 2025年南通市中考作文猜题及范文分析
- 食品召回管理办法培训
- 四川省遂宁市射洪中学2025届高三下学期三模化学试题(原卷版+解析版)
- 生物信息学中的序列比对与比对分析-全面剖析
- 全麻患者围手术期的护理
- 2025-2030国内干式真空泵行业市场发展现状及竞争格局与投资发展前景研究报告
- 《关于进一步强化食品安全全链条监管的意见》解读学习课件(2025年3月颁发)
- 预防合同诈骗
- 王庄矿5.0Mt-a新井设计 - 厚煤层回采巷道支护技术研究
- 2025年电力电子技术试题及答案
- 2025年安全生产考试题库(安全知识)安全教育与培训试题册
评论
0/150
提交评论