单片机的资源配置与调度相对简单,根据详细的官方指导,以及开发设计参考(各类开发板)步骤即可;

一、单片机内核

*不同的内核有不同的性能/功耗表现,按需选择;
*内核即代表某系列的单片机;
1、简单基础单片机内核: 51、STM8、AVR、PIC、S08、430;
2、ARM Cortex系列:Cortex-M0内核是低功耗的内核;
3、ARM全系列详解: http://www.myir-tech.com/resource/448.asp
4(附)、两种逻辑电路集成器件:
a、FPGA:基于门编程(altera、xilinux);类似:SDAM  掉电不保存;
b、CPLD:基于块编程;类似:EEPRM FLASH 掉电保存; 

二、单片机选型

*市面的产品基本都是围绕这几款单片机:51(低端)、ST(中端)、ARM(高端);
1、单片机的性能;
2、单片机的自身资源是否满足项目需求,长远考虑后续的更新迭代(封装、功能)、系统升级和维护难度;
a、内存是否足够(储存常量数组、密码等数据);
b、I/O的数量充足;
c、外设资源(RTC、IIC(硬件、模拟)、SPI、UART);
3、开发周期:熟悉该类型单片机的硬件与软件,可用高级语言编写和调试;
4、单片机的价格、货源、体积、封装;

三、单片机的资源配置要点

要点总结:
*单片虽然种类很多,但大同小异,掌握了产品的开发流程以及基本资源的配置方法,可以在任意平台上游刃有余;
1、涉及到多数据线、地址线的应用,尽量选择连续IO资源,这样效率会高点;
2、能够使用硬件资源的尽量使用硬件资源,提高工作效率;
3、共用中断服务函数;
4、优化等级可以提高单片机运行速度?
5、VCAP引脚为了保证内部主调压器的电压稳定;
6、时钟的重要性-保证信号的同步进行(在信号上升沿或下降沿采样);
7、mVpp   噪声波形幅度单位;
8、Vpp=Vpeak to peak 一个信号或电压源其最高和最低的电压波幅(差值);
9、JTAG功能的GPIO引脚默认是第一功能是JTAG,想使用普通IO使用,必须先关闭JTAG接口功能;
10、程序字节对齐的作用:提高运行效率,在一些内存池操作时需要采用;  (面对一些旧式CPU,要求字节对齐);
11、底层驱动尽量参考官方,切勿随意更改,产生很多隐患;

四、GPIO

*GPIO看似简单,但很多使用细节,注意掌握;
1、使用GPIO模式:
输入:弱上拉输入,浮空输入,消极(高阻态)输入;
输出:推挽输出,开漏输出;
2、真正的开漏脚:输出高电平相当于开关断开,需要外接上拉(优点:1)灌电流承受能力强;2)可以多个开漏脚连接实现线与);适合做电流型驱动(20ma);
3、准双向口:可输出输入高低电平;
4、GPIO必须开启时钟,才可以配置;
5、上下拉电阻
a、单片机GPIO接上拉电阻的作用:与内部电阻并联,减少总电阻的阻值,从而使端口的电平升高,整体抬高端口的电位;
b、单片机GPIO接下拉电阻的作用:与内部电阻串联,增加总电阻的阻值,从而使端口的电平降低,整体拉低端口的电位;
6、GPIO的低功耗处理:
a、空闲IO处理(悬空处理);
b、占用IO处理(上电开启、睡眠关闭);
c、中断唤醒IO处理(睡眠前开启/使能中断、唤醒前禁止中断(输入模式));
d、使用睡眠设置函数(例程);
7、IO口的高阻态问题
a、数字电路概念,常用于总线的分时复用功能上(作断开作用);
b、设置高阻态时相当于电阻无限大,该门电路放弃对输出端电路的控制;
c、设置高阻态输入,可降低功耗,以及对前级影响;
d、高阻态与准双向口的区别
1)可作模拟信号输出输入,悬空时电平随外界;
*(配置因单片机的不用而不同,AVR无高阻态;NXP可直接读端口电平;先置1后配置)
2)准双向口只能做数字IO口输入输出,悬空时电平为1;
8、中断配置
*设置优先级之前必须关闭中断,否则会导致hard fault;
a、外部低电平有效:配置下降沿触发,上拉模式;
b、外部高电平有效: 配置上升沿触发,消极模式;

五、ADC

1、AD满量程可能性:
a、输入电压超过基准电压;
b、基准电压无输入或过低;
2、AD的满量程是参考电压;
3、采样率的选择(时钟分频、采用保持时间);
4、DMA通道时可采用高速,中断采用低速;
5、IO的选择(内部有上下拉)与配置模式(消极模式);
6、电路设计(尽量以最短的距离连接);

六、IIC(半双工)

1、地址硬件移位,软件移位;
2、时序准确;
3、EEPROM发送256字节以上需要重新发送设备地址;
4、注意地址位数;
5、常用的一对多(寻地址);
6、如果SCL/SDA是开漏脚,需要给加上拉电阻;
7、先配置GPIO,再使能时钟;(BUSY位的置位问题);
8、硬件IIC开漏输出脚;
9、总线速率:有些支持100KHZ,有些支持400KHZ(10KHZ/1MHZ/3.4MH Z);
10、ST系列的IIC网上评论:
***大家都在聊IIC,我也来说说我的认为,硬件IIC在ST的设计中并无使用问题,但是存在使用便捷性问题,不知道大家是否研究过硬件IIC和模拟IIC,若从速率上比较,硬件肯定有优势,若从程序复杂度上分析,ST片子上反而是模拟的IIC比较简单,这是因为ST在IIC资源设计上有意规避了一些问题保证知识产权,引入了相当多功能位设定和事件配置,好处是通信很透明,不好的是和我们一般使用的习惯有出入,有的工程师弄了半天发现复杂度没有降低太多,索性还是用起了模拟方法,所以有的人就说ST有缺陷,实际不是缺陷,是你是否用得惯的问题。

七、SPI(全双工器件的多样性)

1、三线(MOSI=MISO或无CS)与四线(标准);
2、CPOL/CPHA模式,主与从相反的时钟信号(调试重点,不同设备必须操作在相同的模式下);
3、片选信号(低或高有效)
4、支持不同的字长;
5、只能收或发;
6、是否支持命令;

单片机项目开发设计 - 器件选型原则根据、常用单片机资源配置要点(GPIO、SPI、IIC、ADC)相关推荐

  1. 项目开发设计流程及方法

    每每当新项目下来时我都会有一种困惑,到底要如何设计原型样式啊!以往的项目经验告诉我,我的原型画成了什么交互样式,UI设计师就会做成什么样式,同时开发也会按照这种样式写.唯一的不同就只在于颜色及图标样式 ...

  2. 嵌入式单片机产品开发设计框架

    老板突然要给你一个新的需求,要你做一款自己不熟悉的产品,第一感觉都是懵的,不知道这个产品的工作原理是什么?用的是什么方案,什么芯片? 我们首先是买个样品回来研究一下,看别人是怎么做的,然后在别人样品的 ...

  3. 7.3.项目开发设计流程规范与技巧

    一个项目从客户提出需求,到需求分析,再到设计.开发.测试等,经过一系列的环节后,才能达到正式使用和上线的效果. 为了标准化开发流程,提高开发效率,特将项目开发的一下规范和技巧,做一些说明. 项目开发流 ...

  4. java项目开发的工具选型对比,这10条建议你一定要关注!

    现在越来越多的项目要用报表工具,但国内市场上报表工具鱼龙混杂,很难只从一个方面就分出高低优劣,必须多方面比较. 在报表选型这方面我也吃过开源工具和第三方的亏,特意总结了十点经验,你可以参考下. 建议一 ...

  5. 『设计模式』开发设计的七大原则,我做人还是挺有原则,那些代码呢?

    23种设计模式+额外常用设计模式汇总 (持续更新)23种设计模式+额外常用设计模式汇总 (持续更新) 设计模式的七大原则: 单一职责原则SRP(Single Responsibility Princi ...

  6. 单片机项目开发一般步骤

    一.需求分析 了解客户需求,形成用例: 根据用例,列出需要哪些技术实现: 查找实现相关技术的IC资料,包括怎么使用,接口电路,软件实现等: 二.设计思路分析 根据需求中查找的关键IC,并选取适合应用的 ...

  7. python基于svm项目+课程设计报告_单片机课程设计教学模式研究

    单片机课程设计教学模式研究 摘要:在分析单片机课程设计现状的基础上,提出将先进的CDIO工程教育理念应用到单片机课程设计教学中,对课程设计的时间安排.选题.组织实施.考核等方面进行改革与创新,构建新的 ...

  8. 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...

    万物互联-stm32单片机简介.烧录.编程 前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站.论坛.博客汲取知识.最下端 ...

  9. 网络型PLC可编程控制及单片机实验开发系统综合实验装置

    ZN-03B型 网络型PLC可编程控制及单片机实验开发系统综合实验装置 一.概述 ZN-03B型 PLC可编程控制器及单片机实验开发系统综合实验设备做到一机多用.资源共享.便于管理.该系统可完成51/ ...

  10. 实际项目开发管理流程图

    实际项目开发管理流程图 一个项目从提出需求到上线,需要哪些步骤? 如果要做一个项目,首先要有产品需求,有UI设计,由评估组确定项目可实施性然后进行概要设计及最终定稿. 招架构师给项目搭框架 项目开发设 ...

最新文章

  1. C#程序调用外部程序
  2. 我的世界java怎么骑马,我的世界怎么骑马?方法解答
  3. Java中六大时间类的使用和区别
  4. Qt Creator创建基于Qt Widget的应用程序
  5. log4j.properties 使用
  6. 图论算法及其matlab实现_BLDC有感FOC算法理论及其STM32软硬件实现
  7. 使用JDK自带jvisualvm监控tomcat(收藏)
  8. 哎呀,人家不小心变油腻了呢
  9. 局域网共享文件的方法,传输大文件比较快
  10. 曼联足球俱乐部披露安全漏洞
  11. FPGA的学习历程-入门篇
  12. 南京大学计算机考研的重点,南京大学计算机考研
  13. 输出dom对象的HTML,console 输出 DOM 对象
  14. 计算机考研833大纲,考研833之计算机组成与系统结构提纲
  15. Azure实现虚拟机的自动开关机
  16. linux查找不到kde桌面,观点|KDE Plasma 5 —— 给尚未确定桌面环境的 Linux 用户指明道路...
  17. 【转载】CodeWarrior IDE使用tips之prm链接文件详解(自定义存储器分区以及自定义RAM数据初始化与在RAM中运行函数)...
  18. 电脑开机就进入bios的解决方法
  19. 0.96寸OLED(SSD1306)屏幕显示(一)——基础功能介绍
  20. H.266/VVC:色度帧内预测模式之CCLM技术

热门文章

  1. HBuilderX日常踩坑之隐私合规检测
  2. 辉凌医药和维健医药就可利新达成战略合作
  3. 规范名称:汽车转向设计规范(齿轮齿条)
  4. CareUEyes Pro(电脑防蓝光软件)官方中文版V2.1.0.0 | 超实用电脑护眼软件下载-学生白领必备护眼神器!!
  5. 3DMAX的渲染后期丨怎么在PS里P出真实感的灯光?
  6. java 分布式任务_Java中实现分布式定时任务
  7. 淘宝京东查看价格历史的chrome插件
  8. c语言error lnk 2005,易语言5.71静态编译问题LIBC.lib(crt0dat.obj) : error LNK2005:
  9. 项目管理前话001——商业模式画布
  10. origin免安装_美俏女剑士ORIGIN中文免安装版 11.4G