文档库 最新最全的文档下载
当前位置:文档库 › 课程嵌入式技术制作文件系统解决方案与看门狗驱动移植

课程嵌入式技术制作文件系统解决方案与看门狗驱动移植

课程嵌入式技术制作文件系统解决方案与看门狗驱动移植
课程嵌入式技术制作文件系统解决方案与看门狗驱动移植

课程嵌入式技术制作文件系统解决方案与看门

狗驱动移植

Document serial number【KK89K-LLS98YT-SS8CB-SSUT-SST108】

课程19嵌入式技术---制作2440文件系统解决方案与看门狗驱动移植

编辑作者张进杰20121201

操作平台Fedora9源码包

交叉编译器

1.嵌入式linux系统组成?为什么要编译内核镜像,并制作根文件系统镜像?

2.用busybox的mkyaffs2image制作yaffs2文件系统镜像后,烧写到开发板,可能会出现的问题汇总:

解决办法:将文件系统的/etc/inittab中的tq2440_serial10::askfirst:-/bin/sh改为console::askfirst:_/bin/sh,再次制作文件系统的镜像文件

系统启动最后可能会出现这个错误:

Kernelpanic-notsyncing:Attemptedtokillinit!

然后出打印出一些很乱的东西。

因为用4.X.X版本的交叉编译器使用EABI,但内核默认是不支持EABI编译的,所以编译出的系统会报错,但用3.X.X版本的编译器就不会出现这个问题。

解决办法:配置内核支持EABI编译,用make再次编译成内核镜像,再烧写文件系统镜像

解决办法:在Linux进入到制作文件系统的/etc/init.d/rcS的28、30行注释掉看门狗和qtopia.在/lib/下找到对应的模块,例如/lib/input-polldev.ko将它注释掉,在自动启动进程的/etc/rc.d/init.d/leds的16行,将没有发现的文件或其它给注释掉。注释方法:前面加#或//或句子两边加/*…*/

注释后,没有再提示或警告,截图如下

但新的问题又来临了!也是今天要解决掉的问题。当将内核镜像和文件系统镜像烧写到TQ2440开发板后,空格键进入根文件系统,但不到十秒钟,根文件系统自动退出,串口终端又进入到uboot的下载模式

根据天嵌亚瑟王的讲叙,出现这种情况,应该是看门狗没有喂狗。关于喂狗可以参考TQ2440的linux移植教程的Step19.1-19.5

3.现在来开始对文件系统添加看门狗驱动

方法1编写喂狗程序

为了避免因为没有喂狗而自动重启,需要编写一个看门狗的应用程序,并且在开机时自动启动该程序。

在linux系统/home#vifeed_dog.c

#include

#include

#include

#include

#include

#include

#include

#include

intmain()

{

intfd=0;

intn=0;

fd=open("/dev/watchdog",O_RDONLY);

if(fd<0){

perror("/dev/watchdog");

return-1;

}

for(;;)

{

ioctl(fd,WDIOC_KEEPALIVE);//一直喂狗,不让看门狗重启CPU

sleep(3);

}

close(fd);

return0;

}

采用交叉编译器,静态编译

拷贝生成的看门狗应用程序feed.dog到文件系统的“/sbin/”目录下面(注意:修改权限为可执行),然后修改文件系统的“/etc/init.d/rcS”文件,

添加

hwclock-s

feed_dog&#启动看门狗喂狗程序

再次制作好文件系统后,烧写到开发板中,再次启动系统,终端就不会出现每隔30s 就文件系统自动退出的情况了。

sbin\EmbedSky_wdg看门狗喂狗应用程序到自己制作的文件系统zjj_rootfs\sbin 下,然后修改zjj_rootfs文件系统的/etc/init.d/rcS文件,

添加

EmbedSky_wdg&#启动看门狗喂狗程序

天嵌科技Linux移植资料移植看门狗驱动的截图如下:

鸣谢!

_看门狗_芯片的选择及软件控制

电子世界2004年1 期 26??单片机与可编程器件 “看门狗”芯片的选择 及软件控制 ?吉林化工学院自动化系 梁 伟 ?

电子世界2004年1期 27??单片机与可编程器件 个问题的方法就是做一个看门狗清除脉冲子程序,在延时等循环的圈内中加入它,可以保证万无一失。 2. 使用其它软件方法配合看门狗除了保证对看门狗的合理控制外,还要考虑使用其它软件方法配合看门狗,才能够保证MCU可靠运行。许多书籍在分析MCU失控后的情况时,几乎都假定一般是PC错位,进入未知区域,并不再进入正常程序代码段。但实际并非如此,以下就两种情况做具体分析,并给出解决方法。(1)干扰造成PC出错,但出错后进入了正常代码段,并在错误的情况下继续运行,看门狗没有起作用,但系统实际上已经瘫痪。解决这个问题可以使用软件路标法,几乎所有软件的主程序都是在一个大循环里工作,可以在循环中设置一些断点,断点处设置路标,程序运行 时随时检查路标,这样就可以判断程序是否有非法进入的可能。具体的路标可以是一个计数器,每个断点加1,在终点清除。因为断点数固定,因此每个断点处路标值固定,只需要检测路标值就可以进行对非法进入的判断。余下的问题就是发现错误后如何处理,正常的处理就是设置死循环,等待看门狗复位。对于PHILIPS的LPC系列MCU也可以置位AUXR1寄存器的SRST位立即进行软件复位。(2)干扰导致内部寄存器及RAM出错,但PC未错,因为错误的数据和标志导致程序在错误状态下运行。解决这种问题可以采用RAM校验的方法,具体是在MCU的内部RAM中开辟几个校验区,复位时写入固定代码,如55H或者AAH,并编制校验子程序,运行时随时调用校验,发现错误马上处理,处理方法同(1)。 考虑到可靠性,应该多设置几个校验区, 但要付出RAM资源代价,应酌情处理。此方法如果与(1)方法同时使用,则会获得更好的效果。 结束语 以上对看门狗的芯片选择和软件控制做了一些介绍,笔者通过合理运用,成功地设计出了许多应用系统,这些系统在恶劣的环境下都能够正常工作。但设计看门狗的初衷是防止系统万一死机的弥补措施,设计者本身是希望它永远也不要启动的。因此对于设计MCU系统,不应该过分依靠看门狗,而应该在电源及抗干扰措施上下足功夫,同时合理选择MCU芯片,尽可能选择那些抗干扰能力强,同时低EMI的品种。只有在各个环节都精心设计,才能够保证最终系统的可靠性。◆ Protel 99SE是基于Windows环境下的EDA电子辅助设计软件。一般来讲,利用Protel软件设计工程最基本的完整过程可以分为四大步骤:(1)查找资料,确定方案;(2)电路原理图的设计;(3)产生网络表;(4)印刷电路板的设计。 本文按照实际的设计流程顺序,来谈一谈如何使用Protel 99SE软件准确、高效地设计出电路原理图和设计印刷电路板的一些技巧。 电路原理图的设计 在电路原理图的设计过程中主要应 注意以下方面: 1.设置图纸 在设计开始之前首先要选择好图纸的大小,否则在打印时,若需将图纸由大号改为小号,而电路原理图不会跟着缩小,就存在部分原理图超出图纸范围打印不出来,从而返工的问题。通常的设计顺序为从左到右,从上到下。 2.放置元件 (1)利用元件库浏览器放置元件,对于元件库内未包括的元件要自己创建。创建的元件其引脚没有必要和实物一致, Protel 99SE 软件的实用技巧 ?上海海运学院商船学院轮机工程系 黄志坚 胡以怀? 可将功能相近或相同的引脚放到一起,以方便布线。(2)自创建元件时,还要注意,一定要在工作区的中央(0,0)处 (即“十”字形的中心) 绘制库元件,否则可能会出现在原理图中放置(place)制作的元件时,鼠标指针总是与要放置的元件相隔很远的现象。 (3) 在画原理图时,有时一不小心,使元件(或导线)掉到了图纸外面,却怎么也清除不了。这是由于Protel在原理图编辑状态下,不能同时用鼠标选中工作面内外的元件。要清除图纸外的元件,可点击 【Edit】/【Select】/【Outside Area】,然后框选整张图纸,再点击【Edit】/【Cut】即可。 元件放置好后,最好及时设置好其属性(Attributes),若找不到其相应的封装形式,也要及时为其创建适当的封装形式。 3.原理图布线 (1)根据设计目标进行布线。布线应该用原理图工具栏上的(Wiring Tools)工具,不要误用了(Drawing Tools)工具。(Wiring Tools)工具包含有电气特性,而(Drawing Tools)工具不具备电气特性,会导致原理图出错。 (2) 利用网络标号(Net Label)。网络标号表示一个电气连接点,具有相同网络标号的电气接线表明是连接在一起的。虽然网络标号主要用于层次式电路或多重式电路中各模块电路之间的连接,但若在同一张普通的原理图中也使用网络 标号,则可通过命名相同的网络标号使它们在电气上属于同一网络(即连接在一起),从而不用电气接线就实现了各引脚之间的互连,使原理图简洁明了,不易出错,不但简化了设计,还提高了设计速度。 4.编辑和调整编辑和调整是保证原理图设计成功很重要的一步。 (1)当电路较复杂、或是元器件的数目较多时,用手动编号的方法不仅慢,而且容易出现重号或跳号。重号的错误会在PCB编辑器中载入网络表时表现出来,跳号也会导致管理不便,所以Protel提供了很好的元件自动编号功能,应该好好地利用,即【Tools】/【Annotate...】。 (2)在原理图画好后,许多细节之处

嵌入式系统课程设计题目

嵌入式系统课程设计题目 2016.5 共同要求:在LCD上显示设计题目、设计者名字(主设计者在前) 常用外设引脚: LED:LED0(上边)~LED3(下边)分别接PF5~PF9引脚,低电平点亮 按钮:K0(上边)~K3(下边)分别接PA0、PC13、PA8、PD3引脚,另一端均接地,按下为低电平。 蜂鸣器:蜂鸣器BEEP接PB10引脚,为有源蜂鸣器,PB10输出低电平发声 1、频率计设计 所谓频率计,就是每秒的计数值。使用2个通用定时器,一个计时,另一个对外部信号计数,在LCD 上显示出计数值和频率值。 2、用DAC设计低频信号发生器——硬键盘 使用DAC的模拟输出功能,模拟输出正弦波、方波、三角波信号。 用实验板上的4个按钮(K0~K3)控制输出:K3用于循环选择输出的信号类型,K0、K1、K2用于设置输出的频率,K2用于循环选择输出频率的某个位(个十百千万),K0按钮用于对选中的位加1,K1用于对选中的位减1。 在LCD上显示出频率值和输出信号的波形(曲线)。 3、用DAC设计低频信号发生器——软键盘 使用DAC的模拟输出功能,模拟输出正弦波、方波、三角波信号。 在LCD上设计4个触摸屏按钮(K0~K3)控制输出:K3用于循环选择输出的信号类型,K0、K1、K2用于设置输出的频率,K2用于循环选择输出频率的某个位(个十百千万),K0按钮用于对选中的位加1,K1用于对选中的位减1。 在LCD上显示出频率值和输出信号的波形(曲线)。 4、直流电机控制器设计——硬键盘 直流电机控制原理:理论上转速与电压成正比,用PWM控制则与占空比成正比;旋转方向与绕组电流的方向有关,改变绕组接电源的极性,便可改变电机的转向。 使用通用定时器的比较输出引脚,接直流电机的绕组,改变比较寄存器的值,即改变了占空比,便可调速(可以使用ARM实验箱上的直流电机(有驱动),只需把时钟信号和地线接到直流电机上即可)。 用4个按钮分别控制启动、停止、加速、减速;在LCD上显示出电机的转速等级。 5、直流电机控制器设计——软键盘

基于STM32和uC_OS-II的多任务设计-嵌入式系统课程设计报告

基于STM32和uC_OS-II的多任务设计-嵌入式系统课程设 计报告 NORTH CHINA UNIVERSITY OF SCIENCE AND TECHNOLOGY 嵌入式系统课程设计报告 学生姓名: 学号: 学院: 专业班级: 指导教师: 同组成员: 2016年 12 月 26 日 嵌入式系统课程设计报告 一、课程设计目的 本课程设计是在《嵌入式系统原理与应用》课程的基础上,通过软件编程及仿真调试的实践,进一步掌握嵌入式系统的原理和应用方法,是毕业设计前的一 次重要实践,为今后从事嵌入式系统相关工作岗位打下良好的基础。 二、设计题目及要求 2.1 设计题目: 基于STM32和uC/OS-II的多任务设计 2.2 功能实现:

使用uC/OS-II的任务管理函数和STM32库函数控制相应的寄存器,完成一个多任务设计。整个设计共有4个任务,驱动一个LED指示灯闪烁、由3个LED指示灯组成的流水灯、驱动蜂鸣器和利用swd方式进行printf输出。 2.3 设计要求: 理解和熟练使用KEIL软件、STM32寄存器、STM32库函数和uC/OS-II任务管理函数,用KEIL软件完成编程和调试,下载到开发板中实现4个设定的任务,并完成课程设计报告。 四个任务分别为: (1)驱动1个LED指示灯闪烁、 (2)由3个LED指示灯组成流水灯 (3)驱动蜂鸣器发出响声。 (4)利用swd方式进行printf输出。 三、设计原理说明 3.1 硬件说明 本次课程设计主要使用的是STM32 神舟 IV 号开发板为基础进行课程设计的,本节将详细介绍神舟IV号开发板的各部分硬件原理与实现。 (1)开发板资源图 - 1 - 嵌入式系统课程设计报告

嵌入式点亮一个LED灯的程序

飞凌OK6410开发板(裸板)第一个点亮LED灯程序,主要的C程序,完整程序请下载附件。 #define rGPMCON (*(volatile unsigned *)(0x7F008820)) #define rGPMDAT (*(volatile unsigned *)(0x7F008824)) #define rGPMPUD (*(volatile unsigned *)(0x7F008828)) void msDelay(int time) { volatile unsigned int i,j; for(i = 0; i < 2000000; i++) for(j=0; j

1.设计要求 EM-STM3210E开发板上有一个LED灯D1,编写程序点亮该灯。 2.硬件电路连接 在开发板上,D1与STM32F103ZE芯片上的引脚PF6相连,如下图所示。 3.软件程序设计

根据任务要求,程序内容主要包括: 1、配置Reset and clock control (RCC)以使能GPIOF端口模块的时钟 2、配置GPIOF端口的PF6引脚(50MHz,推挽输出) 3、调用STM32标准固件库函数GPIO_WriteBit以令PF6引脚输出高电平,从而点亮LED灯D1。 整个工程用户只需要实现源代码文件:main.c,其他工程文件由MDK和STM32标准固件库提供。 main.c文件的内容如下: [cpp] /** ********************************************************** ******************** * @file main.c * @author Max Liao * @version * @date 02-Novenber-2012 * @brief Main program body ********************************************************** ******************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/

实验5-2 看门狗实验

实验5-2 看门狗定时器应用实验 1、实验目的 了解watchdog 的作用 掌握S3C2410A 的watchdog 定时器的使用方法 2、实验内容 实现看门狗复位 编程实现看门狗喂狗 3、实验设备 S3C2410A 开发板 ADS1.2 集成开发环境,ARM 仿真器、串口连接线 4、实验原理 4.1 看门狗功能简述 嵌入式系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”,导致整个系 统瘫痪。为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(watchdog)电路。看门狗的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。 4.2 看门狗的工作原理 其基本原理为:设本系统程序完整运行一周期的时间是Tp,看门狗的定时周期为Ti, Ti>Tp,在程序正常运行时,定时器就不会溢出,若由于干扰等原因使系统不能在Tp 时刻修改定时器的记数值,定时器将在Ti 时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控的作用。 4.3 S3C2410A 的看门狗 S3C2410A 的看门狗定时器有两个功能: 作为常规时钟,并且可以产生中断; 作为看门狗定时器使用,当时钟计数减为0(超时)时,它将产生一个128 个时钟 周期(PCLK)的复位信号。 主要特性如下: 通用的中断方式的16bit 定时器。 当计数器减到0(发生溢出),产生128 个PCLK 周期的复位信号。 下图为看门狗的电路示意图,看门狗时钟使用PCLK 作为他的时钟源,PCLK 通过预分 频产生适合的看门狗时钟。 看门狗模块包括一个预比例因子放大器,一个是四分频器,一个16bit 计数器。看门狗 的时钟源来自PCLK,为了得到较宽范围的看门狗信号,PCLK 先被预分频,之后再经过分频器分频。预分频比例因子的分频值,都可以由看门狗控制器(WTCON)决定,预分频值的有效范围从0 到256-1。分频因子可以选择16、32、64 或者128。 看门狗定时器记数值的计算公式如下: t_watchdog=1/ [PCLK/( prescaler value +1)/ Division_factor ]

看门狗电路及原理

看门狗电路。在单片机中,为了能使得程序能够正常的运行。设定的及时根据程序所返回的值检测程序运行情况的定时电路。 在主程序中设定一定的值,把这个值在看门狗定时电路数值益处之前定时赋给看门狗赋给定时电路,让看门狗定时器复位。主程序的赋值周期要小于看门狗定时电路的运行周期。 看门狗 百科名片 单片机"看门狗" 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog) 目录[隐藏] 应用 基本原理 看门狗使用注意 看门狗运用 设计思路 [编辑本段]应用 看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,

即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。 [编辑本段]基本原理 看门狗,又叫watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,使MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等. 软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。而T1的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。51 系列有专门的看门狗定时器,对系统频率进行分频计数,定时器溢出时,将引起复位.看门狗可设定溢出率,也可单独用来作为定时器使用。凌阳61的看门狗比较单一,一个是时间单一,第二是功能在实际的使用中只需在循环当中加入清狗的指令就OK了。AVR系列中,avr-libc 提供三个API 支持对器件内部Watchdog 的操作,它们分别是:wdt_reset() // Watchdog 复位wdt_enable(timeout) // Watchdog 使能wdt_disable() // Watchdog 禁止C8051Fxxx单片机内部也有一个21位的使用系统时钟的定时器,该定时器检测对其控制寄存器的两次特定写操作的时间间隔。如果这个时间间隔超过了编程的极限值,将产生一个WDT复位。-------------------------------------------------------------------------------- [编辑本段]看门狗使用注意

嵌入式课程设计报告

嵌入式课程设计报告设计题目:电子密码锁

、 摘要 随着科技和人们的生活水平的提高,实现防盗的问题也变得尤为突出,传统机械锁构造简单,电子锁的保密性高,使用灵活性好。根据需要设计运用W90P170开发板,制作一款电子密码锁,密码锁通过键盘输入密码,通过在LCD的文字和图片显示当前密码锁的状态。实现设置密码,密码验证,错误密码自锁、图片显示的功能。 目录

一、选题意义及系统功能 (3) 二、硬件设计及描述 (4) 三、软件设计及描述 (5) 四、程序代码 (6) 五、课程设计体会 (11) 六、运行结果 (12) 七、心得体会 (12) 八、参考文献 (13) 九、附录 (13) 一、选题意义及功能描述 1、选题意义 电子密码锁是通过密码输入来控制电路或是芯片工作,从而控制机械的开关闭合、开锁的电子产品。随着科技提高和人们生活水平的提高,对电子密码锁的需求增加。电子密码做较传统的机械锁安全性能更高。 特点如下: (1)保密性好,编程量大,随机开锁的成功率几乎为零。

(2)密码可变,用户可以随时改变密码,防止密码被盗,同时也可以避免人员的更替而使锁的密级下降。 (3)误码输入保护,输入密码多次错误是,系统进行自锁。 (4)无活动零件,不会磨损,寿命长。 (5)使用灵活性好,无需佩戴钥匙,操作简单。 2、功能描述 基本功能: (1)从键盘输入任意6位数字作为密码,将这六位数字经过USI总线存储到Flash芯片中,设置密码完成。 (2)从键盘输入密码,比较键盘输入的密码与Flash中存储的密码是否相同。 (3)如果密码正确,则LED灯点亮;如果密码不正确,则LED灯闪烁,而且如果连续三次输入密码错误则系统锁定,不允许再次输入密码。 扩展功能: (1)首先显示“请输入密码:”,显示密码锁背景图片1。 (2)如果密码正确则显示“密码正确”,显示成功进入系统的背景图片2。 (3)如果密码不正确则显示“密码不正确,请重新输入:” (4)如果连续三次输入密码错误则显示“对不起,您已经连续三次输入密码错误,系统锁定”,显示图片1。

嵌入式系统设计课设报告分析解析

福州大学 《嵌入式系统设计课设》 报告书 题目:基于28027的虚拟系统 姓名: 学号: 学院:电气工程与自动化学院 专业:电气工程与自动化 年级: 起讫日期: 指导教师:

目录 1、课程设计目的 (1) 2、课程设计题目和实现目标 (1) 3、设计方案 (1) 4、程序流程图 (1) 5、程序代码 (1) 6、调试总结 (1) 7、设计心得体会 (1) 8、参考文献 (1)

1、课程设计目的 《嵌入式系统设计课设》是与《嵌入式系统设计》课程相配套的实践教学环节。《嵌入式系统设计》是一门实践性很强的专业基础课,通过课程设计,达到进一步理解嵌入式芯片的硬件、软件和综合应用方面的知识,培养实践能力和综合应用能力,开拓学习积极性、主动性,学会灵活运用已经学过的知识,并能不断接受新的知识。培养大胆发明创造的设计理念,为今后就业打下良好的基础。 通过课程设计,掌握以下知识和技能: 1.嵌入式应用系统的总体方案的设计; 2.嵌入式应用系统的硬件设计; 3.嵌入式应用系统的软件程序设计; 4.嵌入式开发系统的应用和调试能力 2、课程设计题目和实现目标 课程设计题目:基于28027的虚拟系统 任务要求: A、利用28027的片上温度传感器,检测当前温度; B、通过PWM过零中断作为温度检测A/D的触发,在PWM中断时 完成温度采样和下一周期PWM占空比的修正;PWM频率为1K; C、利用按键作为温度给定;温度给定变化从10度到40度。 D、当检测温度超过给定时,PWM占空比增减小(减小幅度自己设 定);当检测温度小于给定时,PWM占空比增大(增大幅度自己 设定); E、把PWM输出接到捕获口,利用捕获口测量当前PWM的占空比; F、把E测量的PWM占空比通过串口通信发送给上位机; 3、设计方案-----介绍系统实现方案和系统原理图 ①系统实现方案: 任务A:利用ADC模块通道A5获取当前环境温度。 任务B:PWM过零触发ADC模块,在PWM中断服务函数中,将当前环境温度和按键设定温度进行比较,并按照任务D的要求修订PWM占空比。

C51单片机看门狗电路及程序设计方案

C51单片机看门狗电路及 程序设计案 院系:信息工程学院 年级:2010级 电子一班禹豪 电子一班训虎 电子二班邓启新 一、引言 在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog) (1)看门狗电路基本原理 看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。 *此处设计原理实际上为下文中硬件看门狗设计思路。

(2)看门狗电路一般设计式 “看门狗”电路一般分为硬件看门狗与软件看门狗两种设计式。 硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等. 软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的法实现(即利用单片机部定时器资源,通过编程模拟硬件看门狗工作式),以51系列为例:因在51单片机中有两个定时器,在利用部定时器资源来对主程序的运行进行监控时。可以对T1(或T0)设定一定的定时时间(设定的定时值要小于主程序的运行时间),当产生定时中断的时候对一个变量进行赋值(此变量在主程序运行的开始已有一个初值)。当主程序运行至最后时对此变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。 考虑到设计要求,本设计采用软件看门狗设计思路。 二、看门狗电路整体设计思路 根据设计要求,本设计利用C51单片机部自带的定时器1进行编程,并配合少量电路实现“看门狗“电路功能。整个设计分为软件部分与硬件部分,如下: (1)软件部分设计原理: 软件设计分为三部分:“看门狗“定时器设置程序、溢出中断服务程序和喂狗代码。 1.1设计思路: 1)在主程序开头,“看门狗“定时器设置程序设置定时器1计时50ms。 2)当定时达50ms时,定时器1产生溢出中断,溢出中断服务程序开始工作,将看门狗标志num加1。当num的值等于100时,说明看门狗定时器已经计时5s,此时,单片机I/O端口P1.0输出高电平,对程序进行复位。 3)在此过程中,喂狗代码将被穿插于程序中循环体末尾。当循环体结束时,喂狗代码执行,关闭定时器1、清空num并重新初始化定时器设置。若循环体进入死循环,喂狗代码无法执行,num将一直累加至100,此时程序复位。 注:喂狗代码放置位置可根据num预计数值进行调整:当num门限值较小,即看门狗计数时间较短时,喂狗代码可放于程序中各循环体之后或均匀分布于整个主程序中。当num门限值较大,即看门狗计数时间较长时,喂狗代码可放于程序主循环体末尾。但是需注意看门狗计数时间必须长于正常工作时间,以免非正常复位。 1.2软件设计流程图:

嵌入式系统课程设计

《嵌入式系统设计与应用》课程设计 题目嵌入式系统的实践教学探讨 1.嵌入式系统设计与应用课程的内容概述 1.1 内容概述 本课程适用于计算机类专业,是一门重要的专业课程。它的任务是掌握嵌入式系统的基本概念;掌握嵌入式处理器 ARM 体系结构,包括ARM总体结构、存储器组织、系统控制模块和I/O外围控制模块;掌握ARM指令集和Thumb指令集;掌握ARM汇编语言和C语言编程方法;了解基于ARM 的开发调试方法。它的目的是了解和掌握嵌入式处理器的原理及其应用方法。 1)介绍嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应 用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入 式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基 本内容,使学生系统地建立起的嵌入式系统整体概念。 2)对ARM技术进行全面论述,使学生对ARM技术有个全面的了解和掌握,建立起以ARM技术为基础的嵌入式系统应用和以ARM核为基础 的嵌入式芯片设计的技术基础。 3)ARM指令系统特点,ARM 指令系统,Thumb 指令系统,ARM 宏汇编,ARM 汇编语言程序设计,嵌入式 C 语言程序设计。 1.2实践教学探讨 在IEEE 计算机协会2004年6月发布的Computing Curricula Computer Engineering Report, Ironman Draf t 报告中把嵌入式系统课程列为计算机工程学科的领域之一,把软硬件协同设计列为高层次的选修课程。美国科罗拉多州立大学“嵌入式系统认证”课程目录包括实时嵌入式系统导论、嵌入式系统设计和嵌入式系统工程训练课程。美国华盛顿大学嵌入式系统课程名称是嵌入式系统

嵌入式系统课程设计

嵌入式系统课程设计 学号:1070410014030 班级:通信10 姓名:刘豆

嵌入式系统在智能交通中的应用摘要:介绍了嵌入式系统及其操作系统,并将其系统和通用计算机系统作了比较,总结了嵌入式系统产品在ITS(Intelligent Traffic system ),智能交通系统应用中的工作稳定性高,环境适应能力强和设备独立性三个特点,且结合嵌入式产品在ITS中应用的这几个特点,探讨了嵌入式系统在智能交通系统中应用研究。最后,展望嵌入式系统在ITS(智能交通系统)中的广泛应用。 关键词:嵌入式系统;嵌入式操作系;ITS;数字信号 中图分类号: Application of Embedded System in ITS Abstract: This article mainly introduce embedded system and its operation system , the embedded system are compared with general computer system. And this article summarizes three characteristics about embedded systems’ production applied to ITS: the high working stabilities, the strong ability for environment and the independency of equipments .Combining with the application research of embedded systems in ITS。At last, the author prospects that embedded systems are used widely in ITS in the whole nation. Keywords; embedded system; embedded operational systems ; ITS ; digital signal 嵌入式系统如今在实际生活中有巨大应用,观察身边不难发现电子产品、智能家居等大多用嵌入式系统来实现。这篇论文举一个应用实例,即智能交通系统。一个智能交通系统(ITS)主要由交通信息采集、交通状况监视、交通控制、信息发布和通信5大子系统组成。各种信息都是ITS的运行基础,而以嵌入式为主的交通管理系统就像人体内的神经系统一样在ITS 中起至关重要的作用。嵌入式系统应用在测速雷达、(返回数字式速度值)运输车队遥控指挥系统、车辆导航系统等方面,在这些应用系统中能对交通数据进行获取、存储、管理、传输、分析和显示,以提供交通管理者或决策者对交通状况现状进行决策和研究。 1.嵌入式系统与嵌入式操作系统 1.1嵌入式系统 通俗来讲,嵌入式系统是带有操作系统的单片机系统;主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组。他的框架可分为5个部分:处理器、内存、输入/输出、操作系统与应用软件(如图1所示)。嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点,可以嵌入到现有任何信息家电和工业控制系统中。软件角度来看,嵌入式系统具有不可修改性,系统所需配置要求较低&系统专业性和实时性较强等特点。 1.2 嵌入式操作系统 对于目前发展迅速的信息产品来说,其最关键的核心技术就是嵌入式操作系统。嵌入式操作系统EOS(Embedded Operating System)是一种支持嵌入式系统应用的操作系统软件。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序;另外,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

嵌入式系统看门狗实验报告

竭诚为您提供优质文档/双击可除嵌入式系统看门狗实验报告 篇一:《嵌入式系统原理与应用》实验报告04-看门狗实验 《嵌入式系统原理与接口技术》实验报告 实验序号:4实验项目名称:看门狗实验 1 2 3 4 篇二:嵌入式实验报告 目录 实验一跑马灯实验................................................. (1) 实验二按键输入实验................................................. .. (3)

实验三串口实验................................................. . (5) 实验四外部中断实验................................................. .. (8) 实验五独立看门狗实验................................................. (11) 实验七定时器中断实验................................................. (13) 实验十三ADc实验................................................. .. (15) 实验十五DmA实验................................................. .. (17) 实验十六I2c实验................................................. .. (21) 实验十七spI实

看门狗溢出实验 按键不停喂狗

/*----------------------------------------------- 名称:看门狗溢出实验按键不停喂狗 论坛:https://www.wendangku.net/doc/f612978208.html, 编写:shifang 日期:2009.5 修改:无 内容:通过按键喂狗防止溢出复位看门狗演示程序在16383个机器周期内必须至少喂狗一次 标准A T89s52单片机试验通过。 ------------------------------------------------*/ #include sfr WDTRST = 0xA6; sbit K1 = P3^0; sbit K2 = P3^1; sbit LED1=P1^1; sbit LED2=P1^2; void DelayUs2x(unsigned char t);//us级延时函数声明void DelayMs(unsigned char t); //ms级延时 /*------------------------------------------------ 主函数 ------------------------------------------------*/ main() { LED1=0; DelayMs(100); LED1=1; DelayMs(100); TMOD=0x01; TH0=0xc6; //定时16ms

TL0=0x66; EA=1; ET0=1; WDTRST=0x1e; //在程序初始化中激活看门狗。 WDTRST=0xe1; //先送1E,后送E1 if(K1==0) { TR0=1; } while(1) { if(K2==0) { TR0=0; } LED2=1; LED1=1; DelayMs(100); LED2=0; DelayMs(100); } } /*------------------------------------------------ 定时器中断函数 ------------------------------------------------*/ void T ime0(void) interrupt 1 { TH0=0xc6; //定时16ms TL0=0x66; WDTRST=0x1e; //喂狗指令 WDTRST=0xe1; } /*------------------------------------------------ uS延时函数,含有输入参数unsigned char t,无返回值

嵌入式课设

河海大学计算机及信息工程学院(常州)课程设计报告 题目基于uCOSII的LCD驱动 专业、学号 授课班号 学生姓名 指导教师 完成时间2013,06,25

课程设计(报告)任务书 (理工科类) Ⅰ、课程设计(报告)题目: 基于uCOSII的LCD驱动 Ⅱ、课程设计(论文)工作内容 一、课程设计目标 1、培养综合运用知识和独立开展实践创新的能力; 2、掌握基于uCOSII的LCD驱动编写开发过程; 3、掌握在UCOSII操作系统下添加LCD驱动程序的基本方法; 4、使用做好的驱动程序做一些简单的应用实例。 二、研究方法及手段应用 1、将任务分成若干模块,查阅相关论文资料; 2、分模块调试和完成任务。 三、课程设计预期效果 1、完成实验环境搭建; 2、在移植好的uCOSII工程中添加LCD的驱动程序; 3、学习在uCOSII下,LCD应用任务的简单编程实例,实现实验箱的CPU板上的D7、D8灯闪烁的同时,在LCD屏上也进行D7、D8灯的模拟闪烁。 4、在完成要求任务的情况下,添加其他模块。 学生姓名:彭华亮专业年级:自动化10级

目录 前言 ............................................ 错误!未定义书签。第一章课题目标及总体方案.. (3) 第二章系统设计 (3) 2.1系统及工具简介 (3) 2.1.1 EL-ARM-830实验箱 (3) 2.1.2 ADS v1.2集成开发环境 (4) 2.2系统功能实现 (4) 2.2.1 uCOSII内核移植 (4) 2.2.2 LCD驱动程序的编写 (6) 2.2.3 uCOSII操作系统下添加LCD驱动程序 (7) 2.2.4 测试程序的编写 (8) 第三章实验(测试)结果及讨论 (9) 3.1测试步骤 (9) 3.2注意事项 (9) 3.3测试结果 (10) 心得体会 (10) 参考文献 (12) 附录 (13)

用CD4060制作看门狗报警电路

用CD4060制作看门狗报警电路 看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。 原理图: CD4060芯片特性 1) 电压范围宽,应该可以工作在3V~15V,输入阻抗高,驱动能力差外,跟74系列的功能基本没有区别; 2) 输入时,1/2工作电压以下为0,1/2工作电压以上为1; 3) 输出时,1=工作电压;0=0V; 4) 驱动能力奇差,在设计时最多只能带1个TTL负载; 5) 如果加上拉电阻的话,至少要100K电阻; 6) 唯一现在使用的可能就是计数器,CD4060的计数器可以到14级二进制串行计数。 以AT89C51为例: 看门狗电路由14位二进制计数器CD4060和三极管VT1、VT2等组成。

Vout接单片机AT89C51的引脚输出口P1.7,由单片机的CPU向看门狗电路发送喂狗信号——正脉冲,在两个正脉冲间隔内,P1.7保持为低电平(此功能要结合软件才能实现,相应的软件设计在下面介绍)。我们知道,单片机AT89C51的I/O口带灌电流负载的能力比较大,每个引脚低电平时的吸入电流为20 mA,带拉电流负载的能力却很小,实测情况是,每个引脚高电平时的输出电流仅25μA,现在P1.7口被设计成带拉电流负载的方式,为了提高P1.7口带拉电流负载的能力,所以,电路中设置了上拉电阻R3。 14位二进制计数器CD4060的计数脉冲由其内部振荡器和外接阻容元件R1、R2、C1组成的电路产生,振荡周期为 T0SC=2.2×R1×C1=0.22 ms 振荡器产生的计数脉冲(矩形波)可以直接引出,同时还可以从CD4060的10个输出端Q4~Q10和Q12~Q14得到不同分频系数的方波输出,各方波输出信号的周期如表1所示。这样,如果CD4060得不到CPU通过P1.7口发送来的喂狗信号——正脉冲,则CD4060的输出端Q14在1.8S内将产生一个完整周期的方波信号,而且低电平在前,高电平在后,其高电平经三极管VT1、VT2处理后形成单片机AT89C51的复位信号,使单片机AT89C51复位。由此可见,单片机AT89C51正常工作时,只要在0.9S内从P1.7口送出一个正脉冲,便可及时清零看门狗,输出端Q14就不会产生定时溢出信号,从而使看门狗电路对单片机系统不起作用。并且,从CD4060的10个输出端Q4~Q10和Q12~Q14可以得到不同周期的方波信号,经三极管VT1、VT2处理后形成单片机系统的复位信号,可以适应不同用户应用程序,从而该硬件看门狗电路可以适应不同的单片机应用系统。 对MCS-51系列的单片机而言,它所需要的复位信号是高电平宽度大于2个机器周期的正脉冲,例如,单片机的时钟脉冲频率为12 MHz时,则所需要的复位信号高电平宽度为2μs以上就可以了,而由上面的分析可知,CD4060的Q14输出的是高电平宽度为0.9 s的方波,如果让它直接作为单片机的复位信号,则单片机的复位时间势必在0.9 s以上,这样尽管可以使程序跑飞的单片机复位,但是显然没有做到尽快地引导跑飞的程序到正确的轨道来,如果这样做的话,对于某些单片机应用系统而言可能带来非常严重的后果。图1中的三极管VT1、VT2及其周围阻容元件构成波形转换电路,把较宽的正脉冲变换为较窄的正脉冲,从而较好地解决了上述的问题。三极管VT1、VT2构成的2级直接耦合放大器作为缓冲器使用,它是CD4060的输出端Q14的灌电流负载,C2、R8是微分电路。 经分析后不难看出,电路中的R7、R8、C2还具有单片机上电复位的功能。 2 上电复位与看门狗信号复位的不同处理过程 由于程序跑飞很可能会造成一些随机破坏事件,对某些系统而言,希望尽可能从断点处恢复运行,因此,有必要妥善解决跑飞的程序回复后的处理。 单片机应用系统上电时,上电复位电路会使得单片机处于复位状态,这一般称为冷启动,这种情况下,单片机处于复位状态表现为: (1) 程序计数器PC的值为0000H。 (2) I/O口(P0、P1、P2、P3(1))为FFH状态,即准双向I/O口的输入状态。 (3) 堆栈指示器SP=07H,即堆栈底为片内RAM的07H单元。 (4) 除上述状态外,所有特殊功能寄存器SFR的有效位均为0。 (5) 上电复位时,由于是重新供电,RAM在断电时数据丢失,上电复位后为随机数。

相关文档
相关文档 最新文档