本科毕设-中期报告

信息与通信工程学院毕业设计(论文)中期报告

本科毕设中期报告

大连民族学院教务处制

中 期 报 告

毕业设计已经进行到了中期阶段,在过去的数周里,我查阅大量的资料,通过视频学习了一些关于嵌入式开发的基本知识,对嵌入式开发有了一定的了解,在此基础之上我又通过不断分析毕设要求,不断提出设计方案,从而不断完善自己的设计思路。目前,本课题已取得了一些进展。首先是自学了以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

本科毕设中期报告

 

第二篇:yuwei毕设中期报告1

yuwei毕设中期报告1

yuwei毕设中期报告1

毕业设计(论文)中期报告

相关推荐