《嵌入式系统课程设计与实践》.docx

上传人:b****3 文档编号:10213184 上传时间:2023-05-24 格式:DOCX 页数:15 大小:240.17KB
下载 相关 举报
《嵌入式系统课程设计与实践》.docx_第1页
第1页 / 共15页
《嵌入式系统课程设计与实践》.docx_第2页
第2页 / 共15页
《嵌入式系统课程设计与实践》.docx_第3页
第3页 / 共15页
《嵌入式系统课程设计与实践》.docx_第4页
第4页 / 共15页
《嵌入式系统课程设计与实践》.docx_第5页
第5页 / 共15页
《嵌入式系统课程设计与实践》.docx_第6页
第6页 / 共15页
《嵌入式系统课程设计与实践》.docx_第7页
第7页 / 共15页
《嵌入式系统课程设计与实践》.docx_第8页
第8页 / 共15页
《嵌入式系统课程设计与实践》.docx_第9页
第9页 / 共15页
《嵌入式系统课程设计与实践》.docx_第10页
第10页 / 共15页
《嵌入式系统课程设计与实践》.docx_第11页
第11页 / 共15页
《嵌入式系统课程设计与实践》.docx_第12页
第12页 / 共15页
《嵌入式系统课程设计与实践》.docx_第13页
第13页 / 共15页
《嵌入式系统课程设计与实践》.docx_第14页
第14页 / 共15页
《嵌入式系统课程设计与实践》.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《嵌入式系统课程设计与实践》.docx

《《嵌入式系统课程设计与实践》.docx》由会员分享,可在线阅读,更多相关《《嵌入式系统课程设计与实践》.docx(15页珍藏版)》请在冰点文库上搜索。

《嵌入式系统课程设计与实践》.docx

《嵌入式系统课程设计与实践》

课程设计

课程名称嵌入式系统课程设计与实践

题目名称嵌入式最小系统设计

学生学院自动化学院

专业班级电子

(2)

学号3110001576

学生姓名何延

指导教师尹明

 

2013年5月30日

广东工业大学课程设计任务书

题目名称

嵌入式最小系统设计

学生学院

自动化学院

专业班级

电子

(2)

姓名

何延

学号

3110001576

一、课程设计的内容

学习LPC2000系列ARM处理器的启动流程,学习嵌入式系统硬件设计(最小系统),学习嵌入式系统应用程序框架,学习在ARM7处理器上移植uC/OS-II操作系统的流程及设计流水灯应用程序。

设计实现一个基于LPC2000系列ARM处理器的最小系统,完成操作系统移植,设计流水灯程序。

鼓励在完成基本功能的基础上,自由发挥完成其它功能。

二、课程设计的要求与数据

熟悉LPC2000系列ARM处理器的启动流程,掌握嵌入式系统硬件设计(最小系统),掌握嵌入式系统应用程序设计,掌握在ARM7处理器上移植uC/OS-II操作系统的流程及设计流水灯应用程序。

1完成嵌入式系统最小系统硬件设计,并制作硬件平台。

2在无操作系统情况下,设计流水灯应用程序,并在前述硬件平台上调试、运行。

3移植UC/OS-II操作系统,并设计流水灯应用程序,在前述硬件平台上调试、运行。

三、课程设计应完成的工作

1嵌入式系统最小系统硬件设计,并调试验证。

2设计流水灯应用程序,调试、运行。

3移植uC/OS-II操作系统,设计流水灯应用程序,调试、运行。

四、课程设计进程安排

序号

设计各阶段内容

地点

起止日期

1

选择设计任务,准备相关资料

实2-212

2

设计硬件平台,完成制作、调试验证

实验室或宿舍

3

设计任务实现框架确定、程序流程图的设计

实2-212

4

按照设计的框架和流程图编写具体的实现程序(结合调试)

实2-212

5

调试程序并对故障进行修改排除,完成设计任务

实2-212

6

移植操作系统uC/OS-II,完成应用程序设计

实验室或宿舍

7

进行演示验收

实2-212

8

完成课程设计报告

实验室或宿舍

五、应收集的资料及主要参考文献

《LPC2210使用指南》(LPC2210-user_cn.pdf)

LPC2131板原理图(Z2418PSCH.pdf)

《ADS开发者指南》(ADS_DeveloperGuide_D.pdf)

发出任务书日期:

年月日指导教师签名:

计划完成日期:

年月日基层教学单位责任人签章:

主管院长签章:

摘要

本文介绍基于LPC2136制作的ARM7最小系统,并且在ARM7处理器上移植uC/OS-II操作系统,以及设计流水灯应用程序。

最小系统的硬件除了LPC2136芯片外,还包括电源模块,JTAG模块,流水灯模块,按键、蜂鸣器模块,以及复位电路模块。

电源用USB再通过LM1117芯片,由5V传成3.3V进行供电。

而JTAG模块则是用来烧写程序的,可以有多种下载方式,本次试验采用H-Jtag下载方式。

流水灯模块则是用来实现应用程序的功能。

复位电路本次采用最常见的低电平下拉电路,从而使得上电复位以及手动复位更稳定,保证处理器的正常工作和JTAG的正常连接。

软件方面通过移植uC/OS-II操作系统,实现多任务功能。

利用uC/OS-II操作系统的工程模板建立新工程,在main函数中编写应用程序。

本次编写的程序功能如下:

流水灯按一定规律一直流动。

各个任务之间是靠优先级进行切换的。

关键词:

LPC2136JTAGuC/OS-II多任务

1设计任务目的及要求………………………………6

1.1设计目的及要求…………………………………6

2原理与模块介绍………………………………………6

2.1设计最小系统硬件所需原理图…………………6

3设计方案………………………………………………8

3.1PCB板制作…………………………………………8

3.2软件设计……………………………………………9

4实验结果与数据处理……………………………………10

4.1实验结果……………………………………………10

5结论与问题讨论…………………………………………11

5.1课程设计工程出现的一些问题…………………………12

1设计任务目的及要求

1.1设计目的及要求

熟悉LPC2000系列ARM处理器的启动流程,掌握嵌入式系统硬件设计(最小系统),掌握嵌入式系统应用程序设计,掌握在ARM7处理器上移植uC/OS-II操作系统的流程及设计流水灯应用程序。

(1)设计嵌入式系统最小系统硬件

(2)设计流水灯应用程序,调试、运行;

(3)移植uC/OS-II操作系统,设计流水灯应用程序,调试、运行

2原理与模块介绍

2.1设计最小系统硬件所需原理图

(1)LED模块与按钮开关

按钮开关

LED模块

(2)电源模块,采用USB方行接口供电,LM1117-3.3把5V电压转换成3.3V

(3)复位电路模块,在原有的基础上简化了,还有外加了个蜂鸣器

(4)主芯片LPC2136

主芯片LPC2136

电源模块

蜂鸣器模块

复位模块

(5)晶振采用11.059MHz的频率,还有jtag模块

Jtag模块

晶振模块

3设计方案

3.1PCB板制作

(1)制作流程:

画好PCB电路图并打印好,用硫酸纸打印,打印特黑的,打印质量影响到做板的质量,把其和镀铜板放好,用转印机把电路转印到镀铜板上。

然后配好腐蚀液腐蚀镀铜板,将非电路所需的铜腐蚀掉,最后钻孔。

还有就是把元件对应地焊上去。

(2)PCB电路图制作结果:

1.这个是大板的PCB线路图

2.下面是小板,主意是把主芯片的引脚引出来的,要与大板连在一起用

3.2软件设计

(1)未经移植的流水灯程序如下:

/*********************************************************

* 文件名:

main.c

* 功  能:

LED灯控制,采用软件延时方法。

Bank1-Flash;

********************************************************/

#include  "config.h"

#define   LEDCON 0x03fc0000

const uint32 data[]={0xf004ffff,0xf008ffff,0xf010ffff,0xf020ffff,0xf040ffff,

0xf080ffff,0xf100ffff,0xf200ffff};

*********************************************************/

void  DelayNS(uint32  dly)// 名    称:

DelayNS()

{  

    uint32  i;// 功    能:

长软件延时。

    for(; dly>0; dly--) // 入口参数:

dly延时参数,延时越久

    {

        for(i=0; i<5000; i++);

    }

int  main(void)//主函数,实现流水灯功能

{

  uint8  i;

 IO1DIR = LEDCON;     // 设置I/O为输出口

    while

(1)

          {

          for(i=0;i<8;i++) 

         IO1CLR=data[i];

 DelayNS(50);

 IO1SET=0xffffffff;

    }

   return(0);

}

 

(2)ucosII移植后的流水灯程序:

#include"config.h"

#include"stdlib.h"

#defineTaskStkLengh64

OS_STKTaskStk[TaskStkLengh];

voidTask0(void*pdata);//Task0任务0

voidDelayNS(uint32dly)

{

uint32i;

for(;dly>0;dly--)

{

for(i=0;i<5000;i++);

}

}

intmain(void)

{

OSInit();//目标板寄存器的初始化设置

OSTaskCreate(Task0,(void*)0,&TaskStk[TaskStkLengh-1],2);

OSStart();

return0;

}

voidTask0(void*pdata)

{

pdata=pdata;

TargetInit();

IO2DIR=0XF0000000;//28-31LED灯设置为输入,其他为输出

while

(1)

{

IO2CLR=0x80000000;//引脚31的灯亮,其他灭

DelayNS(10);//延时

IO2SET=0xF0000000;//全灭

IO2CLR=0x40000000;//引脚30的灯亮,其他灭

DelayNS(10);

IO2SET=0xF0000000;//全灭

IO2CLR=0x20000000;//引脚29的灯亮,其他灭

DelayNS(10);

IO2SET=0xF0000000;//全灭

IO2CLR=0x10000000;//引脚28的灯亮,其他灭

DelayNS(10);

IO2SET=0xF0000000;//全灭

}

}

4实验结果与数据处理

(测试步骤、实验现象及数据分析)

4.1实验结果

1.硬件检查

基本完成PCB板的制作,但在转印时某些电路没有印制上去,后来手动画线,把板弄得一塌糊涂了。

大板是这样,小板本来做得很好,电路线路很清晰,但是,没有考虑到芯片是用贴片贴上去的,在打印时没有把电路弄反,所以引脚跟原先的设定不对应,PCB板操作,失败告终。

2.程序调试

既然板没有弄好,程序的编写及编译只能空头讲了,大致是这样的,程序较简单,调试部分没有什么问题,就直接生成目标文件下载到目标板上。

本次设计采用ADS生成.hex文件后由H-jtag下载到目标板的。

首次安装H-jtag要设置相关参数,如核心芯片型号等。

5结论与问题讨论

(完成设计要求的程度、遇到的问题及解决办法、存在的不足及改进思路)

5.1课程设计工程出现的一些问题

不足与问题:

做这个课程设计的时候发现有不少问题,一个是PCB制作问题,一开始对那个软件AltiumDesignerWinter09不太熟悉,做的时候进度较慢,积极性较低。

然后等到大部分工作做好后,PCB最后的封装出现了问题,就是有那么几条线连不上去,在这个地方卡了很久,针对电路一再修改,还是没能解决这个问题,后来班长指出那个电源稳压芯片说,它设置在顶层,然后我在底层布线,所以根本不可能连得上,把它设置为底层后,问题就迎刃而解了。

后来打印的时候,没有留意小板是要贴片连上去的,没有设置镜像,然后大板在转印的时候出现气泡,导致一部分电路没有印上去,最后用手动画上去也于事无补,所以最后板唯有失败告终!

最后也把那些元件焊上起来,虽然没有成功,但起码学到了一定的经验。

程序:

至于程序那块,由于板没弄好,也没去弄程序,简单的程序应该能看得懂,就像流水灯,但还是不怎么会下载程序到板上,这个课程设计就到此结束了吧。

收获:

主要还是学会了使用AltiumDesignerWinter09这个软件,还有电路板的设计流程,还有一些需要注意的问题。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2