新嵌入式设计方案龙傲天小组.docx

上传人:b****6 文档编号:6001641 上传时间:2023-01-02 格式:DOCX 页数:10 大小:100.72KB
下载 相关 举报
新嵌入式设计方案龙傲天小组.docx_第1页
第1页 / 共10页
新嵌入式设计方案龙傲天小组.docx_第2页
第2页 / 共10页
新嵌入式设计方案龙傲天小组.docx_第3页
第3页 / 共10页
新嵌入式设计方案龙傲天小组.docx_第4页
第4页 / 共10页
新嵌入式设计方案龙傲天小组.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

新嵌入式设计方案龙傲天小组.docx

《新嵌入式设计方案龙傲天小组.docx》由会员分享,可在线阅读,更多相关《新嵌入式设计方案龙傲天小组.docx(10页珍藏版)》请在冰豆网上搜索。

新嵌入式设计方案龙傲天小组.docx

新嵌入式设计方案龙傲天小组

盐城师范学院

课程设计报告

系(院、校区):

物电学院

专业:

电子信息工程(通信技术)

学生姓名:

朱程

施天雨

何文

谢金鑫

学号:

12413247

12413234

12413222

12413240

课程设计题目:

嵌入式Linux智能停车终端系统

起迄日期:

6月1日~6月5日

课程设计地点:

逸夫实验楼422

指导教师:

王荣奇周殿凤

1、课程设计综述

本次课程设计由华清远见资深讲师向我们学生展示完整嵌入式项目设计开发流程及方法,以及嵌入式核心技术运用等满足企业真实岗位需求的实用内容,帮助学生在快速熟悉ARM-Linux开发环境的搭建及相关工具的配置及使用,嵌入式项目开发的代码编写规范,以及基于ARM-Linux产品实现细节等,并在行业专家的引导下,体验一个全真案例的实战过程,同时通过更多行业典型应用的示范分析帮助学生更贴近企业的真实需求和行业的发展,为进一步在嵌入式研发行业中发展打下坚实基础。

随着科技的进步,电子技术、计算机技术、通讯技术不断地向各种收费领域渗透,当今的停车场收费系统已经向智能型的方向转变。

先进可靠的停车场收费系统在停车场管理系统中的作用越来越大。

所以本次课程设计就是用嵌入式Linux设计一个只能停车终端系统。

2、开发平台和软件环境

2.1硬件平台

表2.1硬件配置表

名称

说明

CPU

Cortex-A8构架S5PC100

FLASH

2Mnorflash+256MNandFlash

SDRAM

256M

USB

4路USBHost接口,USB2.0-OTG接口

网口

DM9000以太网控制器

串口

2个5线串口,1路3线串口

摄像头

USB2.0接口/Camera接口

I/O

8路I/O

A/D转换器

10bit电压0-3V

LCD

480*320大小

PWM

蜂鸣器实验

2.2软件平台

 

表2.2软件环境需求表

名称

说明

操作系统

Linux-2.6.26.5

开发工具

GNU工具

启动代码

u-boot1.3.1或者1.3.4

驱动程序

项目所涉及到的硬件驱动(蜂鸣器、ADC,按键、FLASH、USB-CAMERA,SD卡等)

文件系统:

要求根文件系统采用cramfs,用户文件系统采用JFFS2或者yaffs2

协议栈

TCP/IP(TFTP/NFS实验)

服务器

B0A或者APACHE服务器

3、系统软件架构与流程图

3.1软件架构

表3.1系统软件架构图

 

3.2系统工作流程图

4、课程项目内容

4.1LED模块

4.1.1模块功能说明

开发平台上有四个LED灯硬件资源,主要用于模拟信号提示,也可用于限高报警灯的警报,灯的顺序可由项目开发需求自行决定。

4.1.2模块部分代码

#defineGPG3CON(*(volatileunsignedint*)0xE03001C0)

#defineGPG3DAT(*(volatileunsignedint*)0xE03001C4)

#defineN1000000

voidmydelay(unsignedintcount)

{

while(count>0)

count--;

}

voidmain(void)

{

//GPG3CON=GPG3CON&0xffff0000|0x000011111;

GPG3CON=GPG3CON&(~0xffff)|0x1111;

while

(1)

{

GPG3DAT=0x2;

mydelay(N);

GPG3DAT=0x4;

mydelay(N);

GPG3DAT=0X8;

mydelay(N);

GPG3DAT=0x1;

mydelay(N);

GPG3DAT=0x8;

mydelay(N);

GPG3DAT=0X4;

mydelay(N);

}

4.1.3模块技术点

1.S5PC100硬件平台的GPIO端口控制;

2.学会查看S5PC100硬件平台原理图LED模块;

3.寄存器的位与和位或操作。

4.2PWM模块

4.2.1模块功能说明

脉宽调制(PWM)控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。

也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。

按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。

4.2.2模块部分代码

main.cCreatedon:

2013-5-20

Author:

Administrator

*/

/*

*主函数pwm_music

*/

//包含系统寄存器定义的头文件

#include"s5pc100.h"

 

//音阶频率表

constunsignedintyinyue[3][7]

={

//DOREMIFASOLAXI

262,294,330,370,415,266,294,//低音

523,578,659,698,784,880,988,//中音

1046,1174,1318,1396,1567,1700,1975//高音

};

voidsoft_delay(unsignedintmloop)

{

while(--mloop>0);

}

voidPwmBeepInit(void)

{

GPD.GPDCON=(GPD.GPDCON&(~0xf0))|(0x2<<4);

TIMER.TCFG0=(TIMER.TCFG0&~0xff)|65;//初始化预分频值是prescal0的预分频值是66

TIMER.TCFG1=(TIMER.TCFG1&~0xf0)|(0<<4);//初始化多路选通开关的值是1/1与prescal0配合使用,

//总的预分频的值是66

TIMER1.TCNTB1=1000;//初始化向下计数值是1000

TIMER1.TCMPB1=500;//初始化比较寄存器的值是500

TIMER.TCON=TIMER.TCON|(1<<9);//TCON寄存器手动更新TCNTB1TCMPB1

}

/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

*调用该函数,可以控制蜂鸣器响起,原理是使能了PWM的TOU1功能为动重装模式

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

voidbeep_on(void)

{

TIMER.TCON=(TIMER.TCON&(~(0xf<<8)))|(1<<11)|(1<<8);

}

//0000111100000000

*调用该函数,可以控制蜂鸣器响起,原理是停止了PWM的TOU1功能

voidbeep_off(void)

{

TIMER.TCON=(TIMER.TCON&(~(0x1<<8)));

}

*设置蜂鸣器发生频*

*输入参数:

unsignedintfre:

设置蜂鸣器的频率值

#defineSYS_SET_FREQUENCE1000000

voidbeep_set_frequence(unsignedintfre)

{

//若蜂鸣器的发声频率为0则返回

if(0==fre)

return;

TIMER1.TCMPB1=SYS_SET_FREQUENCE/(fre+fre);//根据设定频率重新设定计数器比较的值

TIMER1.TCNTB1=SYS_SET_FREQUENCE/fre;//根据频率重新调整计数值

}

/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

*大海的简谱,如果大海能够.....

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

constunsignedchardahai[]=

{

0x13,0x15,0x16,0x16,0x16,0x16,0x21,0x16,0x15,0x15,0x16,0x15,//哀愁

0x13,0x12,0x11,0x11,0x11,0x11,0x12,0x13,

0x13,0x12,0x11,0x11,0x11,0x11,0x21,0x16,0x15,0x15,0x16,0x15,

0x13,0x15,0x16,0x21,0x21,0x16,0x15,0x15,//飘远

};

 

/*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

*大海的简谱,控制每一个音的时间1为长时间4为短时间

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/

constunsignedchartime[]=

{

4,4,4,2,4,2,4,4,4,2,4,2,//哀愁

4,4,4,2,4,2,2,1,

4,4,4,2,4,2,4,4,4,2,4,2,

4,4,2,4,2,4,4,1//飘远

};

//主函数

intmain()

{

unsignedintloop=0;//循环控制变量

unsignedinta=0;//计算高中低音使用的变量

unsignedintb=0;//计算doremi....使用的变量

unsignedintdelay=0;//计算每一个音延时使用的变量

//GPH0.GPH0CON=(GPH0.GPH0CON)&~(0x3f<<1);//初始化key1-key6的引脚功能为输入

PwmBeepInit();//初始化PWM硬件,此刻没有启动PWM

//while((GPH0.GPH0DAT&(0x3ful<<1))==(0x3ful<<1));//等待有任意一个按键被按下,程序才会向下

while

(1)

{

//循环播放音乐

for(loop=0;loop

{

//查大海的简谱表

a=dahai[loop]>>4;//计算出高低音

b=(dahai[loop]&0x0f)-1;//计算出DOREMIFASOLAXI

delay=0x400000ul/time[loop];//计算出每个音的播放间隔时间

beep_set_frequence(yinyue[a][b]);//重新设定频率

beep_on();//发出一个音

soft_delay(delay);//播放延时

beep_off();//关闭蜂鸣器,每个音播放完成后有间隔感

soft_delay(0x10);//关闭蜂鸣器

}

soft_delay(1000000);//播放延时

}

}

4.2.3模块技术点

1.S5PC100芯片的时钟输出原理;

2.开发平台pwm硬件原理图的认识;

3.编写代码控制寄存器输出对应的pwm频率;

4.寄存器单个位操作。

4.3LCD模块

4.4CAM模块

5、项目总结与心得

朱程:

此次课程设计的实训的是由华清远见公司的小王老师带我们完成的。

小王老师看上去比较年轻,给我们很有亲和力,技术上也很强,而且讲解的比较详细,操作上相当娴熟,从他身上我们学到了不少东西,每次出现问题时,我们都会召唤小王老师来帮我们解决,小王老师每次都认真细心地帮我们解决每一个问题,在计算机这个博大深奥的领域我们感觉自己还有好多东西要学,还有好多的东西不懂,嵌入式软件开发应用广泛而且前景很好,目前正处于人才紧缺的关口,嵌入式技术在未来能够得到更加广泛的应用。

学好嵌入式,C语言很重要,所以感觉我们有必要再学习、积累一下这方面的知识。

 

施天雨:

这次课程设计不仅仅是锻炼了我在操作方面的一些技能,同时,经过这次课程设计,我还从中学到了很多课本上所没有提及的知识。

 

何文:

通过这一周的课程设计的学习,交流、研讨、评论等对这次课程培训有了全新的认识。

不仅使我更系统的把握新课程,让我仿佛身临其境,专题学习,互相评论,互相讨论,集众师之见,使我的眼界得以开阔,并且对于专业知识和技能的获得有重大的突破和认识。

 

谢金鑫:

通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。

同时它让我知道,只要你努力,任何东西都不会太难.

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

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1