0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

做为一个合格单片机工程师,你应该具有这7种能力

电子设计 来源:电子设计 作者:电子设计 2021-01-20 14:50 次阅读

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单元中。在编程中,对于在的数据区,可以指定放在外部存储器中。

免责声明:本文系网络转载,版权归原作者所有。如不支持转载,请联系删除。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    嵌入式工程师常用的开发工具有哪些?

    嵌入式工程师常用的开发工具有哪些? 在嵌入式系统开发的广阔领域中,嵌入式工程师们凭借着系列强大的工具,将创意与技术完美融合,打造出高效、可靠的嵌入式系统。以下是
    发表于 12-20 15:29

    硬件工程师面试基础知识点

    、晶振电路 大多数电子工程师都见过单片机中如下图所示的形式,单片机都会有这样的电路。晶振的
    的头像 发表于 11-21 11:04 222次阅读
    硬件<b class='flag-5'>工程师</b>面试基础知识点

    单片机方案开发:如何给电子产品单片机选型?

    在给电子项目做IC方案开发时,总是需要考虑到许多关键因素。在本文中,对于给即将开发的电子产品做好单片机选型。英锐恩单片机开发工程师将从以下几点进行介绍。 、选择制造商: 许多生产
    发表于 09-25 10:56

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题() Q:FPGA中的FPGA算法工程师、FPGA逻辑工程师、FPGA原型验证工程师三者有什么区别? A:FPGA 算法
    发表于 09-23 18:26

    篇文章告诉:射频工程师的主要能力应该是什么?

    手机射频工程师的主要能力是什么,是匹配吗?为什么N次的面试都纠结于史密斯和调匹配,这很重要吗,我不这么认为,因此我来说说我的看法ChrentVol.1首先自然是原理图的设计能力。当然,从无到有目前
    的头像 发表于 06-20 08:27 330次阅读
    <b class='flag-5'>一</b>篇文章告诉<b class='flag-5'>你</b>:射频<b class='flag-5'>工程师</b>的主要<b class='flag-5'>能力</b><b class='flag-5'>应该</b>是什么?

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了未来的发展方向和成就。接下来,我们
    发表于 06-12 11:20

    答应我!单片机工程师快来试

    单片机工程师
    WT-深圳唯创知音电子有限公司
    发布于 :2024年05月23日 16:58:56

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的一种专业工程师
    发表于 05-16 11:00

    如何入门硬件工程师

    想跨行业做硬件设计工程师应该如何学习规划呢
    发表于 03-17 21:49

    单片机如何通过代码控制硬件:工程师的分享

    今天跟大家聊聊单片机是怎样通过代码来操控硬件的。作为一名单片机工程师,我们平时的工作就像是给单片机编写“指令集”,让它按照我们的意图去驱动各种硬件设备。
    的头像 发表于 03-06 14:46 1482次阅读
    <b class='flag-5'>单片机</b>如何通过代码控制硬件:<b class='flag-5'>一</b>名<b class='flag-5'>工程师</b>的分享

    如何搞崩硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    【2023电子工程师大会】单片机/RTOS/Linux全栈工程师

    【2023电子工程师大会】单片机/RTOS/Linux全栈工程师修炼之路ppt
    发表于 01-03 16:31 45次下载