原创 单片机硬件与软件设计

2019-12-22 19:51 2266 11 2 分类: 工业电子

硬件设计与软件设计相互制约、相互转化。单片机产品的差距往往由硬件设计水平决定。任何没有可靠硬件支持的软件设计都是空中楼阁。本文讨论了单片机硬件设计与软件设计的相互作用。

1硬件设计

硬件设计是单片机产品开发的基础。如果这个环节出现错误或缺陷,将对整个开发工作产生不良影响:

1.1硬件原理

设计硬件原理设计的任务是设计并绘制硬件原理图。1)最小应用系统设计:微处理器和存储器的选择、总线驱动、复位电路设计等。2I/O通道设计:接口电路、A/DD/A转换芯片在模拟I/O通道中的选择等。3)人机界面设计:键盘、显示器(LCDNIXYE管)和接口设计。4 系统扩展设计:外部RAMROM、定时/计数、中断管理、串行端口扩展等5)连接器定义:板间数据通信形式由连接器类型、引脚定义等决定

1.2资源分配

资源分配是分析内存、定时器/计数器、中断源、异步串行口、并行I/O口等内部资源和扩展资源的用途、工作方式、起止时间和限制条件,并分配端口地址。一方面可以减少资源的浪费。另一方面,如果发现资源不足,可以及时纠正原则设计中的潜在问题。

1.3电路板图

在用CAD绘制电路板时,必须注意:1)设备布置:干扰源远离敏感元件,键盘和显示器按用户要求的位置放置,CPU周围有其它设备。2 接线方法:A.加厚电流回路;B.使地线形成闭环;C.分离三条母线;D.接线时避免直角或锐角;e.使晶体振荡器尽可能靠近引脚,用地线隔离时钟区,接地固定晶体振荡器外壳。3 可靠性措施:A.减少冗余过孔,减少连接器和电线,尽量增加电线、电线和盘、孔和盘之间的距离;B.防止毛刺和不良焊接电阻材料造成的隐患;C.将集成块焊接在印刷板上;D.不要挂空I/O端口。

2软件设计

在软件设计中,首先要进行任务划分、数学模型、算法和数据结构、资源分配和结构设计、流程图绘制、子程序模块、仿真和调试,然后要考虑MCU产品开发的特殊性。

2.1准备工作

准备工作不充分会导致许多重复工作。1 模块功能定义:根据需求确定整个程序的功能,将这些功能分解成多个子功能,确定这些功能模块与数据传输方式的关系。2 计划数据类型并形成数据类型字典:计划数据类型以确保数据类型的一致性。参数的数据类型确定后,应形成数据类型字典,供编程时参考。3 内存资源分配:合理分配未分配的ram单元。ram资源分配后,如果发现某些资源分配不合理,可以进行局部更改。

2.2系统监控程序

设计监控程序是根据当前单片机或事件的内外部状态,及时决策,实现相应的模块,完成指定的工作。监视器的扫描周期应尽可能短。监控程序的结构包括工单调度、键盘驱动调度等。监控程序的设计方法主要有状态分析法、状态转换法和事件驱动法。

2.3中断和子程序设计

1)中断:A.现场保护;B.及时返回;C避免中断再入;2)子程序设计和子程序调用:以子例程的形式提取重叠部分,并共同同意其进入/退出参数。优化程序时,还可以将所有可能合并的程序段或子程序合并为一个子程序。

2.4程序试验

程序测试可以采用白盒测试和黑盒测试。单片机测试工具主要是软件模拟器。在软件模拟器上调试后,可以与硬件调试相结合。

3硬件设计与软件设计的关系

单片机产品的完成,对硬件设计的理解是决定性的,它可以让你知道可行性有多重要。在具备软件设计能力的同时,可以合理配置系统功能。为了加快开发周期,一些企业往往把一个产品的开发分成两个相对独立的部分:硬件和软件,由总设计师进行规划和协调,分成任务,然后由不同的人并行完成。这是可行的,具有一定的技术实力和管理水平,也符合现代产品开发的规律。一般来说,软硬件功能的划分是根据运行速度、成本、可靠性等要求来确定的。

3.1系统的运行速度

系统的运行速度决定了按运行速度划分软硬件的功能。例如,一台单片机执行一条指令至少需要1μs,但完成任何一项工作都需要几条指令,这比数字电路慢得多;如果要求一项任务的执行时间小于10μs,则必须通过硬件电路来实现。否则,使用能够完成此任务的高速微处理器系统将造成浪费。

3.2成本要求

产品开发成本包括硬件和软件成本。软件成本具有开发成本高、复制成本低的特点。在量产产品的开发中,应尽量采用软件代替硬件,以降低成本。小批量产品不宜用软件代替硬件,这会增加软件开发的成本。

3.3可靠性

如果可靠性硬件措施适当,大部分干扰都可以消除。然而,硬件电路越复杂,系统的可靠性就越差。所以软件措施可以作为第二道防线。软件正常运行的前提是CPU必须正常。虽然当CPU不能正常工作时,可以通过看门狗复位,但看门狗的频繁动作会导致系统无法正常工作。另外,软件的抗干扰措施是以占用CPU为代价的。如果没有硬件来抵抗大部分的干扰,CPU就会耗尽,严重影响系统的工作效率和实时性。因此,要建立一个成功的抗干扰系统,必须做好硬件抗干扰措施,并注意与软件的密切配合。总之,有些功能可以用硬件来完成,可以提高工作速度,减少软件工作量;有些功能可以用软件来完成,可以降低硬件成本,简化电路,提高系统的可靠性。硬件和软件相辅相成。

4结论

总之,一个好的硬件设计只能是一堆昂贵的浪费产品,没有灵活的软件设计协调。硬件设计和软件设计是相互依存、密不可分的。

作者: curton, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3876349.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论1条评论)

登录后参与讨论

minicaihong 2019-12-23 08:55

好的硬件设计只能是一堆昂贵的浪费产品,没有灵活的软件设计协调。硬件设计和软件设计是相互依存、密不可分的。
相关推荐阅读
curton 2024-11-18 08:22
一天的工作有感(1117周日加班)
一天的工作内容很多,需要自己去做的事情也很多,但是自己大部分时间又都利用不起来。比如我想周日来单位,人少,也没有人来打扰,就趁着这个时间做一下之前拉下的工作。可惜了,我是来了,也来工作了,但是自己的时...
curton 2024-11-18 08:14
面包板版友容鉴
面包板版友容鉴:  此时执笔,颇为忐忑,竟不知何言。你我相识已有数载之余,时至今日,未尝与汝谋面。发帖直言,网络之谈,幸勿见笑,还望版友海涵。  曾记,初次登录,便如沐春风,偶遇佳良,当是时,素面玉琢...
curton 2024-09-23 16:05
《易学易懂 电子回路入门》+第三部分读书有感
日本山下明的《易学易懂电子回路入门》的第三部分“器件的使用方法”,是一本对于电子学初学者而言极具实践指导意义的佳作。作为教师,我满怀热情地向学生们推荐这本书,因为它不仅深化了理论知识,更将学习带入了动...
curton 2024-09-23 15:59
《易学易懂 电子回路入门》+第二部分读书有感
日本山下明的《易学易懂电子回路入门》的第二部分“器件的结构”,无疑是一本非常适合初学者踏入电子世界大门的宝贵教材。作为教师,我强烈推荐此书给对电子学充满好奇与热情的学生们。山下明老师以其深入浅出的讲解...
curton 2024-09-10 08:16
《易学易懂 电子回路入门》+第一部分读书有感
书已经收到,拍照为证。山下明的《易学易懂电子回路入门》无疑是为学生们踏入电子电路世界打开的一扇明亮窗口。作为教师,我强烈推荐这本书作为初学者的首选读物。书中以清晰、生动的语言,结合直观的图示,深入浅出...
curton 2024-08-31 23:59
用Python实现点亮一个灯的代码。
基础知识GPIO.setup(LED_PIN, GPIO.OUT) 这行代码是在树莓派等嵌入式系统中使用Python控制GPIO(General Purpose Input/Output,通...
我要评论
1
11
关闭 站长推荐上一条 /2 下一条