资料介绍
01、设计满足要求的最精简的系统
正确估计单片机的能力,知道单片机能做什么,最大程度的挖掘单片机的潜力对一个单片机系统设计者来说是至关重要的。我们应该有这样一个认识,即单片机的处理能力是非常强大的。
早期的PC机,其CPU(8086)处理能力和8051相当,却能处理相当复杂的任务。单片机的能力的关键就在软件设计者编写的软件上。只有充分地了解到单片机的能力,才不会做出“冗余”的系统设计。而采用许多的外围芯片来实现单片机能实现的功能。这样做,即增加了系统成本,也可能会降低了系统的可靠性。
02、使用看门狗
看门狗电路通常是一块在有规律的时间间隔中进行更新的硬件。更新一般由单片机来完成,如果在一定间隔内没能更新看门狗,那看门狗将产生复位信号,重新复位单片机。更新看门狗的具体形式多是给看门狗芯片相关引脚提供一个电平上升沿或读写它的某个寄存器。使用看门狗电路将在单片机发生故障进行死机状态时,重新复位单片机。
当前有多种看门狗的芯片,如MAXIM公司的MAX802、MAX813等。而且,有好多种单片机中本身就集成有看门狗。一个外部的看门狗是最好的,因为它不依赖于单片机。如果可能的话,看门狗更新程序不应该放在中断或是子程序中,原则上应该放在主程序中。
我曾经见过一个工程师,他所调试的程序在运行时偶尔会引起看门狗的复位动作,于是他干脆在每10ms就中断一次的时钟中断程序中清看门狗。我相信他也知道使看门狗失去作用,可他却没有去查明引起这个现象的真正原因。因此,我想提醒大家:不论什么理由,绝对不要忽略系统故障的真正原因。高质量的产品来自于高素质的工程师,高质量的产品造就高素质的工程师。
03、确定系统的复位信号可靠
这是一个很容易忽略的问题。
当你在设计单片机系统时,你脑中有这个概念吗?
什么样的复位信号才是可靠的吗?
你用示波器查看过你设计的产品的复位信号吗?
不稳定的复位信号可能会产生什么样的后果?
你有没有发现过你所设计的单片机系统,每次重新上电启动后,数据变得乱七八糟,并且每一次现象并不相同,找不出规律,或者有时候干脆不运行,或者有时候进入一种死机状态,有时候又一点事都没有正常运行?在这种情况下,你应该查一下你的系统的复位信号。
一般在单片机的数据手册(Datasheet)中都会提到该单片机需要的复位信号的要求。一般复位信号的宽度应为。复位电平的宽度和幅度都应满足芯片的要求,并且要求保持稳定。还有特别重要的一点就是复位电平应与电源上电在同一时刻发生,即芯片一上电,复位信号就已产生。不然,由于没有经过复位,单片机中的寄存器的值为随机值,上电时就会按PC寄存器中的随机内容开始运行程序,这样很容易进行误操作或进入死机状态。
04、确定系统的初始化有效
系统程序开始应延时一段时间。这是很多单片机程序设计中的常用方法,为什么呢?因为系统中的芯片以及器件从上电开始到正常工作的状态往往有一段时间,程序开始时延时一段时间,是让系统中所有器件到达正常工作状态。究竟延时多少才算合适?这取决于系统的各芯片中到达正常工作状态的时间,通常以最慢的为准。
一般来说,延时20~100ms已经足够。对于系统中使用嵌入式MODEM等“慢热”型的器件来说,则应更长。当然,这都需要在系统实际运行中进行调整。
05、上电时对系统进行检测
上电时对系统中进行检测是单片机程序中的一个良好设计。在硬件设计时也应该细细考虑将各个使用到的芯片、接口设计成容易使用软件进行测试的模式。很多有经验的单片机设计者都会在系统上电时(特别是第一次上电时)进行全面的检测,或者更进一步,将系统的运行状态中分为测试模式和正常运行模式,通过加入测试模式对系统进行详细的检测,使得系统的批量检测更为方便容易。另外要注意的是,一个简单明了的故障显示界面也是颇要费得心思的。
比如:系统的外部RAM(数据存储器)是单片机系统中常用的器件。外部RAM如果存在问题,程序通常都会成为一匹脱缰的野马。因此,程序在启动时(至少在第一次上电启动时)一定要对外部RAM进行检测。
检测内容包括:
检测RAM中的单元。这主要通过写入和读出的数据保持一致。
检测单片机与RAM之间的地址数据总线。总线即没有互相短路,也没有连接到“地”上。
另外,很多芯片,都提供了测试的方法。如串行通信芯片UART,都带环路测试的功能。
06、按EMC测试要求设计硬件
EMC测试要求已经成为产品的必需。
07、尽可能使用Small模式编译
对比起Large模式和Compact 模式,Small模式能生成更为紧凑的代码。在Small 模式下,C51编译器将没有使用关键词,如idata、pdata、xdata特殊声明的变量通通放在data单元中。在编程中,对于在的数据区,可以指定放在外部存储器中。
免责声明:本文系网络转载,版权归原作者所有。如不支持转载,请联系删除。
- 工程师应该掌握的20个模拟电路.zip
- 单片机工程师的7种能力!
- 工程师应该掌握的20个模拟电路汇总 0次下载
- 单片机工程师是程序员吗?真实的月薪到底有多少?
- 一位工程师的单片机开发经验之谈资料下载
- 如何从单片机初学者迈向单片机工程师详细教程免费下载 14次下载
- 单片机教程之单片机入门到单片机工程师的教程免费下载 36次下载
- 工程师应该掌握的20个模拟电路【PDF】 102次下载
- 通信设备硬件工程师应该具备的基本能力和知识 10次下载
- 电子工程师应该掌握的20个模拟电路 27次下载
- 工程师应该掌握的20个模拟电路 0次下载
- 工程师应该掌握的20个模拟电路 37次下载
- 从单片机初学者迈向单片机工程师 44次下载
- 合格的网络工程师必会实验大全 0次下载
- 51单片机工程师实例设计程序集-(20种常见应用整编)
- 一篇文章告诉你:射频工程师的主要能力应该是什么? 179次阅读
- 固件工程师到底做的工作是哪个方面 1.3w次阅读
- 如何能成为一名网络工程师必须具有那些技能 9907次阅读
- 单片机工程师的发展前景 8298次阅读
- 如何才能成为一名杰出的电子工程师快来了解一下吧 4080次阅读
- IC设计工程师应该要具备的知识架构(超详细) 1w次阅读
- PCB布线技巧如何看你是否是一个合格的PCBLayout工程师 2.3w次阅读
- 如何成为一个优秀的硬件工程师? 1.1w次阅读
- 告诉你怎么编写一个最简单的单片机程序 4.2w次阅读
- 硬件工程师需要考虑哪四大现象?一个资深硬件工程师给你解答 8192次阅读
- 一个好的硬件工程师需要掌握的技能和能力要求 2.4w次阅读
- 电子工程师常犯的20个错误,你搞错哪些? 3687次阅读
- 一个合格FPGA 工程师的基本要求 5113次阅读
- 工程师模拟电路设计应该注意的12个问题 3082次阅读
- 嵌入式工程师分享:学习单片机必备的八大步骤 2710次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多