信息与通信工程学院毕业设计(论文)中期报告
大连民族学院教务处制
中 期 报 告
毕业设计已经进行到了中期阶段,在过去的数周里,我查阅大量的资料,通过视频学习了一些关于嵌入式开发的基本知识,对嵌入式开发有了一定的了解,在此基础之上我又通过不断分析毕设要求,不断提出设计方案,从而不断完善自己的设计思路。目前,本课题已取得了一些进展。首先是自学了以Redhat5为例的linux相关操作和基于该系统的一些嵌入式编程,同时,我通过多种途径了解并学习了FriendlyARM mini2440开发板上的片上资源和外围接口电路,对该开发板有了初步的认识。其次基本确定了毕设的设计方案。
一、 毕业设计的进展情况
对于毕设我想从我目前学习和掌握的一些知识和设计思路来做报告。其中包括嵌入式系统框图、硬件电路框图、QT编程、和内核等几个部分进行说明。 (一) 嵌入式系统整体设计框图
嵌入式系统框图由顶层应用程序、文件系统、驱动程序、硬件电路四大部分组成。其中文件系统包括操作系统和根文件系统组成,具体如图2所示:
? 应用程序:这里我们主要是实现一个简单的图形界面所以应用程序是一
个QT应用程序。
? 文件系统:操作系统我使用的是以Linux内核为基础的操作系统,根文件
系统使用的是yaffs2。
? 驱动程序:由于使用了3.5寸触摸屏、USB接口以及DS18B20,所以需要编
写相应的驱动程序。
硬件电路:如图2所示便是本设计的基本硬件框图
(二) 系统总体硬件设计
系统总体硬件设计框图如图1所示,本系统由测温模块、S3C2440控制模块、
1
显示模块、复位模块和存储模块,这四部分组成,在控制模块的作用下,各模块协调统一的完成工作。各模块的功能如下:
图2 系统总体硬件设计框图
? 测温模块:由温度传感器DS18B20构成,对室内温度进行检测,完成对
温度信息的采集。其中使用DS18B20的理由是它是单总线传感器编程简
单而且很常用。
? S3C2440控制模块:S3C2440是一款ARM9系列处理器,功能强大。在嵌
入式开发方面被广泛应用,主要负责各个模块的控制。
? 复位模块:该模块已经集成在FriendlyARM mini2440开发板上所以不
再赘述。
? 显示模块:主要完成对采集到的温度和当前时间进行数据显示。此处使
用的是3.5寸的触摸屏,而且也是FriendlyARM mini2440开发板滋生
所带。
? 存储模块:我们主要使用了U盘作为存储媒质。
1. ARM 控制模块
本系统直接使用mini2440开发板作为平台,它含有丰富接口。比如:主从USB接口、网卡接口,音频输入输出接口、多个串口、多个可编程I/O口,3.5寸液晶显示触摸屏等等。所以只需要在I/O口加一个DS18B20温度模块就组成了毕设的整个硬件电路部分。
S3C2440采用ARM920T内核,集成如下片上功能:
? 1.2V内核,1.8V/2.5V/3.3V储存器,3.3V扩展I/O,16KB指令Cache
2
(I-Cache)/16KB数据Cache(D-Cache)
? 外部储存控制器(SDRAM控制盒片选逻辑)
? 集成LCD专用DMA的LCD控制器(支持最大4K色STN和256K色TFT)
? 4路拥有外部请求引脚的DMA控制器
? 3路URAT(IrDA1.0,64-Byte Tx FIFO,64Byte Rx FIFO)
? 2路SPI
? IIC总线接口(多主支持)
? IIS音频编解码器接口
? AC`97编解码器接口
? 1.0版SD主接口,兼容2.11版MMC接口
? 2路USB主机控制/1路USB期间控制(ver1.1)
? 4路PWM定时器/1路内部定时器/看门狗定时器
? 8路10位ADC和触摸屏接口
? 具有日历功能的RTC
? 摄像头接口(支持最大4096x4096的输入,2048x2048缩放输入)
? 130个通用I/O,24个外部中断源
? 电源控制:正常,慢速,空闲,睡眠模式
? 带PLL的片上时钟发生器
2. 测温模块
测温模块由温度传感器构成,其中,温度传感器DS18B20组成的温度检测电路,完成温度信息的采集。
温度传感器件为美国Dallas公司最新推出的DS18B20 数字式温度传感器,与传统的热敏电阻温度传感器不同,它能够直接读出被测环境温度,使用 DS18B20 可使系统结构更简单,可靠性更高,减小功耗。该芯片在检测点已把被测信号数字化了,因此在单总线上传送的是数字信号,使得系统的抗干扰性好、可靠性高、传输距离远。
系统有如下特点:
(1)单总线接口,只有一根信号线与CPU 连接。
(2)传送串行数据。
(3)温度测量范围从-55℃~+125℃,-10~+85℃时测量精度为±0.5℃完全满
足现实需要
(5)短时间内将温度值转化数字量;
(6)现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰, 适合于多种环境的现场温度测量.
3
图3 温度采集电路原理图
3. 复位模块
本系统选用的开发板已经含有了复位模块,具体电路如图4所示:
图4 复位电路原理图
4. 显示模块:
显示模块我们也是直接使用开发板上自带的3.5寸液晶触摸屏,板上集成4电阻式触摸屏接口,可以直接连接四线电阻触摸屏支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,尺寸 从3.5 寸到12.1寸,屏幕分辨率可以达到1024x768象素;支持黑白、4级灰度、16级灰度、256色、64K色、真彩色TFT液晶屏,尺寸从3.5寸到12.1寸,屏幕分辨率可以达到1024x768象素; 标准配置为统宝 256K色240x320/3.5英寸TFT真彩液晶屏,带触摸屏; 板上引出一个12V电源接口,可以为大尺寸TFT液晶的12V CCFL背光模块
4
(Inverting)供电。具体电路图参照下图图5所示:
图5 显示电路原理图
5. 存储模块
此处我们使用了U盘作为存储的媒质,所以我们也直接使用了开发板上自USB口,此处我们只使用主USB口。如图6所示:
图6 存储模块原理图
5
(三) 关键技术应用
QT编程可谓是本设计的一个关键技术,因为嵌入式开发一般都有较好的人机交互界面,而QT编程是实现人机交互界面的一个关键技术,Qt是事实上的标准 C++ 框架,用于高性能的跨平台软件开发。除了拥有扩展的 C++ 类库以外,Qt 还提供了许多可用来直接快速编写应用程序的工具。此外,Qt 还具有跨平台能力并能提供国际化支持,这一切确保了 Qt 应用程序的市场应用范围极为广泛。
具体的QT编程方法不做介绍我们来看一个QT实例,c++源代码如下: #include <QtGui>
#include "analogclock.h"
AnalogClock::AnalogClock(QWidget *parent)
: QWidget(parent)
{
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
setWindowTitle(tr("Analog Clock"));
resize(200, 200);
}
void AnalogClock::paintEvent(QPaintEvent *)
{
static const QPoint hourHand[3] = {
QPoint(7, 8),
QPoint(-7, 8),
QPoint(0, -40)
};
static const QPoint minuteHand[3] = {
QPoint(7, 8),
QPoint(-7, 8),
QPoint(0, -70)
};
QColor hourColor(127, 0, 127);
QColor minuteColor(0, 127, 127);
int side = qMin(width(), height());
QTime time = QTime::currentTime();
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.translate(width() / 2, height() / 2);
6
painter.scale(side / 200.0, side / 200.0);
painter.setPen(Qt::NoPen);
painter.setBrush(hourColor);
painter.save();
painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0)));
painter.drawConvexPolygon(hourHand, 3);
painter.restore();
painter.setPen(hourColor);
for (int i = 0; i < 12; ++i) {
painter.drawLine(88, 0, 96, 0);
painter.rotate(30.0);
}
painter.setPen(Qt::NoPen);
painter.setBrush(minuteColor);
painter.save();
painter.rotate(6.0 * (time.minute() + time.second() / 60.0));
painter.drawConvexPolygon(minuteHand, 3);
通过编译运行我们可以看到如图7所示:
图7 QT实例
二、 毕业设计中遇到的问题和解决方法
在硬件选择方面遇到了问题,其中主要DS18B20和开发板电平不兼容的问题,开发板主要工作电平是3.3V,而DS18B20使用5V电源,在传送数据时会发生电平错判的现象。
基于对这一现象的处理,使用一个电平驱动芯片来实现二者之间的电平兼容问题,例如:使用HC2440来做电平驱动。
7
三、 毕业设计剩下的任务
毕业设计的进展情况如以上已经详细叙述,大体完成了硬件电路的总体设计,同时,对各模块的电路设计和主要芯片的选择进行详细分析,并学习了关键技术理论知识。到目前,课题取得了一些实质性的进展。接下来,首先,要完成的任务是QT界面应用程序的编写,硬件驱动编写,内核的裁剪,内核配置,下载调试,之后,进行系统总体的调试,改进;其次,撰写论文并检查论文,修正错误,给出进一步工作的设想,完成论文,准备答辩。
四、 总结:
通过自己的努力,毕业设计的方案已经确定,接下来的任务主要就是耐心的调试了,调试成功,那么很快将进行最终论文的撰写阶段,但是,调试往往都是一个很漫长的过程。相信通过这个毕业设计对我四年所学是一个很好的测验。相信这段时间培养的能力将成为我以后的工作打下雄厚的基础。
8
附件:
9
10
11
12
毕业设计(论文)中期报告
毕业设计中期报告学生姓名:XX题目名称:粮库温度检测报警设计专业:电气工程及其自动化年级:2008级(4)班指导教师:XX中国大庆…
信息与通信工程学院毕业设计论文中期报告大连民族学院教务处制中期报告毕业设计已经进行到了中期阶段在过去的数周里我查阅大量的资料通过视…
毕业设计(论文)中期报告题目:基于飞轮摩擦观测器设计的卫星姿态控制方法研究专业飞行器设计与工程学生##学号31指导教师##日期20…
网络教育毕业论文中期报告题目基于姓名党国杰学号专业网络工程指导教师姚正琪ADSL技术原理的网吧局域网设计70011100420xx…
《代数方程组的MATLAB求解》中期报告专业、班级:数学与应用数学(师范)2班学号:20xx06034250报告人:蔡松廷1、前期…
齐齐哈尔大学毕业论文中期总结学院化学与化学工程学院专业班级化学063班学生姓名孙佳慧指导教师魏彦20xx年x月x日毕业论文中期总结…
毕业设计论文中期报告院系名称经济管理学院班级工商081学号20xx00634114学生姓名马凯指导教师王海宇20xx年4月毕业设计…
毕业设计论文中期报告题目AnAnalysisofsymbolisminAFarewelltoArms院系外国语学院专业英语班级10…
毕业设计(论文)期中总结土木与建筑工程学院系(院)20xx届题目阳明中学教学楼设计课题类型设计型课题来源自拟课题学生姓名李俊学号2…