基于Ucos的多通道数据采集系统
- 格式:doc
- 大小:507.17 KB
- 文档页数:26
课程设计(论文)任务书 信息工程 学 院 物联网 专 业 2014-2 班 一、课程设计(论文)题目 基于Ucos的多通道数据采集系统 二、课程设计(论文)工作自 2017 年 06 月 26 日起至 2017 年 06 月 30 日止。 三、课程设计(论文) 地点: 嵌入式系统实验室 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握嵌入式开发板(实验箱)各功能模块的基本工作原理; (2)培养嵌入式系统的应用能力及嵌入式软件的开发能力; (3)使学生较熟练地应用嵌入式操作系统及其API开发嵌入式应用软件; (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析所设计嵌入式软件系统中各功能模块的实现机制; (2)选用合适嵌入式操作系统及其API; (3)编码实现最终的嵌入式软件系统; (4)在实验箱上调试、测试并获得最终结果。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善嵌入式软件实时性能;扩展嵌入式软件功能及改善其图形用户界面。 3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写课程设计论文。 (2)论文包括目录、正文、小结、参考文献、谢辞、附录等(以上可作微调)。 (3)课程设计论文装订按学校的统一要求完成。 4) 课程设计评分标准: (1)学习态度:20分; (2)回答问题及系统演示:30分 (3)课程设计报告书论文质量:50分。 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献: (1)罗蕾.《嵌入式实时操作系统及应用开发》北京航空航天大学出版社 (2)Jean J.Labrosse. 《嵌入式实时操作系统uC/OS-II》北京航空航天大学出版社 (3)王田苗.《嵌入式设计与开发实例》.北京航空航天大学出版社 (4)北京博创科技公司. 《嵌入式系统实验指导书》 6) 课程设计进度安排 (1)准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关资料。 (2)嵌入式软件设计分析阶段(4学时):程序总体设计、详细设计。 (3)嵌入式软件代码编写调试阶段(8学时):程序模块代码编写、调试、测试。 (4)撰写论文阶段(4学时):总结课程设计任务和设计内容,撰写课程设计论文。 7) 课程设计题目具体要求: 本题的具体任务是设计多任务的嵌入式软件—— ,通过分析、设计、编程、调试、测试等步骤,形成一个基于ucos可稳定运行的嵌入式多任务软件系统。
学生签名: 2017 年 6 月26 日
课程设计(论文)评审意见
(1)考勤(10分): 优( )、良( )、中( )、一般( )、差( ); (2)系统设计(20分):优( )、良( )、中( )、一般( )、差( ); (3)编程调试(10分):优( )、良( )、中( )、一般( )、差( ); (4)回答问题(15分):优( )、良( )、中( )、一般( )、差( ); (5)论文撰写(35分):优( )、良( )、中( )、一般( )、差( ); (6)创新思想(10分):优( )、良( )、中( )、一般( )、差( ); 综合评定等级:
评阅人: 职称:副教授 2017 年6 月 30日 目录 一、课设目的及内容.................................................. 1 1.1课设目的..................................................... 1 1.2课设内容..................................................... 1 二、设计的原理...................................................... 2 2.1总体设计原理................................................. 2 2.2A/D转换器原理................................................ 2 2.3基于uc/os2II的系统程序流程.................................. 3 三、环境搭建及开发环境.............................................. 5 四、主要程序代码设计................................................ 7 五、运行测试结果................................................... 20 六、心得体会....................................................... 22 七、参考文献....................................................... 23 1
一、课设目的及内容 1.1课设目的 在二十一世纪的今日,人们生活在一个信息的的时代,各种各样不同的信息给予我们很多不同的选择。 对于信息的需求,各类人有着不同的需求,但是肯定的是,对于信息的重要性大家已经有了认识。数据采集 已经成为一种专业的技术,在各个领域得到了广泛的应用。数据采集系统起源于20世纪50年代,并当 即就获得了初步的认可,在很多的地方得到了运用。在60年代前后,国外就有了用于专业数据采集的系 统。20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系 统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了 惊人的发展。到了现在,经过更长久的发展,嵌入式系统已经走进千家万户,嵌入式的数据采集系统不仅功 耗低,而且操作简单,正适合应用于在家中,路上或者生活中的各处。
1.2课设内容 一、 基本要求(必做) (1) 求出四路通道的平均值,并绘制在显示屏上(平均值应该象其他通道的值一样,可以根据实时采集值的变化而变化)。 (2) 报警,在超出阈值时报警一次,如果此后此通道的值不变则不再报警,若此通道的值被调小为小于阈值而后又被调为大于阈值,则再次报警一次。 (3) 设置时间和日期初值,并实时显示在LCD上(同各通道的值同屏显示)。并能够在整点的时候发声提示。 二、 提高要求(选做) 在一的基础上利用四路通道平均值的大小控制电机的转动速度,使电机实时转动。 2
二、设计的原理 2.1总体设计原理 本系统由硬件和软件两部分组成。硬件以AT89C51和12位ADC芯片AD574A为核心,具有键盘控制和液晶显示功能,并有一路数模转换输出。该系统还具有实时时间显示和看门狗功能,可以通过RS232和GPIB接口以便与外部(微机)通信。系统的软件以实时嵌入式操作系统uc/os2为基础,采用多任务机制,通过任务调度和任务监视,系统具有较好的实时性和安全性。uc/os2II是源码公开的实时嵌入式操作系统,采用优先级调度算法完成任务间的调度,并支持抢占式调度。uc/os2II具有可裁减的体系结构,并具有内存管理、中断管理和任务控制块(TCB)扩展的功能。uc/os2II还提供很多系统服务,例如邮箱、消息队列、信号量等等。
2.2A/D转换器原理 主要介绍以下三种方法:逐次逼近法、双积分法、电压频率转换法 1)逐次逼近法 逐次逼近式A/D是比较常见的一种A/D转换电路,转换的时间为微秒级。 采用逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成,如图所示。
基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。 逐次逼近法的转换过程是:初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为 Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo位1被保留,否则被清除。然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的 Vo再与Vi比较,若Vo被清除。重复此过程,直至逼近寄存器最低位。转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数 字量的输出。逐次逼近的操作过程是在一个控制电路的控制下进行的。 3
2)双积分法 采用双积分法的A/D转换器由电子开关、积分器、比较器和控制逻辑等部件组成。如图所示。基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换。 双积分法 积分法A/D转换的过程是:先将开关接通待转换的模拟量Vi,Vi采样输入到积分器,积分器从零开始进行固定时间T的正向积分,时间T到后,开关再接通与Vi极性相反的基准电压VREF,将VREF输入到积分器,进行反向积分,直到输出为0V时停止积分。Vi越大,积分器输出电压越大,反向积分时间也越长。计数器在反向积分时间内所计的数值,就是输入模拟电压Vi所对应的数字量,实现了A/D转换。 3)电压频率转换法 采用电压频率转换法的A/D转换器,由计数器、控制门及一个具有恒定时间的时钟门控制信号组成,它的工作原理是V/F转换电路把输入的模拟电压转换成与模拟电压成正比的脉冲信号。电压频率转换法的工作过程是:当模拟电压Vi加到V/F的输入端,便产生频率F与Vi成正比的脉冲,在一定的时间内对该脉冲信号计数,时间到,统计到计数器的计数值正比于输入电压Vi,从而完成A/D转换。
2.3基于uc/os2II的系统程序流程 基于uc/os2II的程序流程如图1所示。程序中,每个模块对应一个任务,彼此之间是并行的,但每个模块都对应着一个不同的优先级,由操作系统进行调度运行。系统可以通过监控模块对其他模块的工作进行监控,从而减少看门狗的复位次数。而且通过uc/os2II内核的任务调度,系统的实时性会提高很多。