下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于small rtos51的数据采集器设计介绍如何运用small rtos51多任务操作系统举行控制器的软件设计。首先介绍small rtos51多任务操作系统,然后介绍基于该操作系统举行数据采集器软件系统的设计。随着嵌入式系统的进展,嵌入式软件设计向软件平台逼近,软件设计不再是单一线程结构方式,而是逐步采纳多任务的设计思想。实时内核也称为实时操作系统或rtos。它使得实时应用程序的设计、扩展和维护变得更简单,不需要大的改动就可以增强新的功能。通过应用程序分割成若干自立的任务,rtos使得应用程序的设计过程大为简化。用法可剥夺性内核时,全部时光要求苛刻的大事都得到了尽可能快捷、有效的处理。通
2、过有效的服务,如信号量、邮箱、队列、延时、超时等,rtos使得资源得到更好的利用。目前8位单片机在嵌入式系统中,应用还是最广泛的。51多任务系统中, c51 所带的rtx51 full 太大(6kb多),且需要外部ram,又无源代码,无数时候不有用。rtx51 tiny虽然小(900多字节),但是任务没有优先级和中断管理,也无源代码,也不太有用。而uc/osii虽有源代码,但是它太大,又需要外部ram,全部函数又必需是重入函数,用在51这类小片内ram的单片机上有点牵强。small rtos为小ram系统设计,ram需求小,比较适合51这种资源比较少的系统上。1 数据采集器系统设计1.1 数据
3、采集器原理数据采集器是将采集到的电表脉冲信号转换为电能量数据收拾保存,并与上行设备通信传输到管理单元举行电表数据的统一管理。1.2 硬件设计主控制器采纳at89c52芯片,利用7032将脉冲信号采样,经过cpu的处理将数据存储到eeprom芯片中,数据通过信道上传到掌上电脑中。系统框图1所示。2 small rtos51多任务操作系统small rtos是一个源代码藏匿的多任务实时操作系统,small rtos 51是其在8051系列处理器上的移植(用法keil c51)。small rtos可以简化那些复杂而且时光要求严格的工程的软件设计工作。small rtos有以下的特点。 藏匿源代码。
4、只要遵循许可协议,任何人可以免费获得源代码。 可移植。尽量把与cpu相关部分压缩到最小,与cpu无关部分用ansi c编写。 可固化。small rtos为嵌入式系统设计,假如有固化手段,它可以嵌入到产品中成为产品的一部分。 占先式。small rtos可以管理17个任务,用户最多可以用法16个任务,每个任务优先级不同。 中断管理。中断可以使正在执行的任务挂起。假如优先级更高的任务被中断唤醒,则高优先级的任务在中断嵌套所有退出后立刻执行。中断嵌套层数可达255 层。假如需要,可以禁止中断嵌套管理。 ram需求小。small rtos为小ram系统设计,因而ram需求小,相应的,系统服务也少。目
5、前,small rtos的最新版本为1.20.0。可以举行任务的建立、删除、动态内存分配等操作。3 任务分解设计数据采集器主要包括采集处理、显示处理、按键处理、通信处理等模块,由中断处理相应采集脉冲信号和串口通信。因此,将任务分解为按键显示处理、接收数据、指令处理、发送数据、采样滤波处理、系统检测6个任务。主程序举行系统初始化以后,挨次建立6个任务,进入cpu休眠状态。各个任务运行后,首先进入任务休眠状态,等待相应任务的唤醒。任务被唤醒以后,举行相应处理,再次进入休眠状态。这样,可以削减任务切换,减轻系统负担。任务框图2所示,主程序流程3所示。脉冲到来时,引发相应外部中断,由中断处理程序处理后
6、,置相应信号量,然后唤醒采样滤波处理任务。采样滤波处理任务将数据收拾后,存储到外部存储器中。串口数据到来时,引发串口中断,串口中断处理程序唤醒数据接收任务。数据接收任务完成数据包的接收,并按照通信数据包的特点举行错误处理。数据包被正确接收后,唤醒指令处理任务。指令处理任务推断数据包的校验和,若正确就处理相应的指令。指令处理完成以后,将回应数据打包,然后唤醒发送数据任务,将数据通过串口发送出去。每个任务均采纳以下结构。while(1)oswait(k_sig, 0); / 任务睡眠,等待任务唤醒处理过程任务的唤醒用ostaskresume(task_id)完成。串口接收和发送处理采纳队列模式,设
7、立发送和接收两个缓冲区,自立的进出队列处理。数据解包和数据打包采纳单独处理方式,这样单独处理通信协议,以利于今后协议的改动。系统节拍设置:将os_ticks_per_sec设为20,即系统时钟节拍为每秒20次。定义定时器0的中断时光设为50ms。define m_fosc 11059200ldefine m_time 65536l - (m_fosc / (os_ticks_per_sec *12l)void inittimer0(void) tmod = (tmod %26;amp; 0xf0) | 0x01;th0 = m_time / 256;tl0 = m_time % 256;et0 = 1;tf0 = 0;testsys任务定时检测各任务的回应,若长时光没有回应,则启动复位功能,热启动囫囵系统,以保证系统的牢靠性。因为单片机采纳at89c52,片内ram为256,用法ds12887中的一部分ram作为扩展。队列长度各为15个字节时,程序经过9级优化后,ram占用140字节,xram占用106字节。因为系统ram很小,因此,没有用法信号量和消息举行数据传输。在其它应用时,可以按照系统资源举行信号量和消息的用法,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产xxx客厅隔断项目可行性研究报告(项目建议书)
- 抱箍项目可行性研究报告
- 幼儿园沟通培训内容
- 4.1陆地水体及相互关系课件高中地理鲁教版(2019)选择性必修1
- 人教版部编本四年级下册《千年梦圆在今朝》教案设计及教学反思
- 年度总结团建活动汇报
- 老年腹泻个案护理查房
- 病区护理人员心理疏导
- 儿童财商课程培训
- 猴痘的诊断与治疗
- 承台、墩柱模板施工方案
- 一年级大个子二年级小个子
- 无轴螺旋输送机检验记录报告(LS)
- 逆向思考的艺术
- 销售报价工作流程图
- 《消化系统疾病》PPT课件.ppt
- 广东常用的100种植物
- 经皮肾镜取石术的并发症及防治.ppt
- 电工仪表与测量PPT课件
- 输电线路设计知识讲义
- 意大利汽车零部件企业
评论
0/150
提交评论