找回密码
 注册
关于网站域名变更的通知
查看: 148|回复: 3
打印 上一主题 下一主题

器件选型原则根据、常用单片机资源配置要点

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-11-15 10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
单片机的资源配置与调度相对简单,根据详细的官方指导,以及开发设计参考(各类开发板)步骤即可;% p+ E/ C& J( W% p, U& O$ O
一、单片机内核
1 c" S  w* \8 b6 V/ r/ P*不同的内核有不同的性能/功耗表现,按需选择;. V. D! X5 n& |
*内核即代表某系列的单片机;
! a6 n2 H  w# ^; q  b" Y6 R6 d1、简单基础单片机内核: 51、STM8、AVR、PIC、S08、430;
. M0 }% s: P7 ~' n5 L2、ARM Cortex系列:Cortex-M0内核是低功耗的内核;( d& A* x+ f" ^0 \$ c6 _0 G
3、ARM全系列详解找arm官网。; B9 @, s9 F  }+ I
4、两种逻辑电路集成器件:
" C; A- O& V* s  z    a、FPGA:基于门编程(altera、xilinux);类似:SDAM  掉电不保存;! B& V5 Z) N+ l# J
    b、cpld:基于块编程;类似:EEPRM FLASH 掉电保存; . f  G+ [; C+ x! E& |, M; |

3 A. P" d+ d$ P" d二、单片机选型0 o; I, [8 o" ?7 O
*市面的产品基本都是围绕这几款单片机:51(低端)、ST(中端)、ARM(高端);
7 G, m6 p. S7 @7 }! _1、单片机的性能;' G% [9 e+ Q) {) s
2、单片机的自身资源是否满足项目需求,长远考虑后续的更新迭代(封装、功能)、系统升级和维护难度;
  z6 D7 \! j  k! L4 b5 ?    a、内存是否足够(储存常量数组、密码等数据);
) I: z! Q# Y5 ]- z    b、I/O的数量充足;
9 J4 j: ]9 q, n6 R( d  j    c、外设资源(RTC、IIC(硬件、模拟)、SPI、UART);1 j6 G8 n4 d. t) d
3、开发周期:熟悉该类型单片机的硬件与软件,可用高级语言编写和调试;
# G4 C$ ?; n# b& d4、单片机的价格、货源、体积、封装;
/ f) M. J$ d% X- h+ m- r- _# U 5 G) y7 A) p. Z9 G( Y
/ A+ r) D- u. E) E# f
三、单片机的资源配置要点
! w3 ]( J& [; k' v/ E6 @要点总结:
* v" Q8 }  k# J, X5 f. b. h*单片虽然种类很多,但大同小异,掌握了产品的开发流程以及基本资源的配置方法,可以在任意平台上游刃有余;
' k3 a1 n$ E5 ?0 b1 Y" N! A. Q1、涉及到多数据线、地址线的应用,尽量选择连续IO资源,这样效率会高点;8 W. l  I% m# L! v: y( T
2、能够使用硬件资源的尽量使用硬件资源,提高工作效率;( c0 j( m- e0 s. f3 i
3、共用中断服务函数;
8 Q/ T' U7 j' ?& N4、优化等级可以提高单片机运行速度?; t1 ~  E  R6 {/ P7 Y
5、VCAP引脚为了保证内部主调压器的电压稳定;
" H$ h) I% C! G: z5 B/ r# f6、时钟的重要性-保证信号的同步进行(在信号上升沿或下降沿采样);
) t! V8 f. K+ H/ [7、mVpp   噪声波形幅度单位;
1 @$ x3 ^. `) V9 a8、Vpp=Vpeak to peak 一个信号或电压源其最高和最低的电压波幅(差值);
! i  u. {' y# R; a5 G& w- X9、JTAG功能的GPIO引脚默认是第一功能是JTAG,想使用普通IO使用,必须先关闭JTAG接口功能;$ y' D. J/ x; H5 j- I3 |; m
10、程序字节对齐的作用:提高运行效率,在一些内存池操作时需要采用;  (面对一些旧式CPU,要求字节对齐);2 b1 V* |% c6 f9 e$ L
11、底层驱动尽量参考官方,切勿随意更改,产生很多隐患;
$ P5 `; t- ], N$ a/ q" \/ y" N ; A' b* S, y% w: |# a
四、GPIO
, t( V2 R% a/ ^. M*GPIO看似简单,但很多使用细节,注意掌握;
. c3 I( M1 X: _1 m4 V$ n" f* T1、使用GPIO模式:& q2 g$ [" a: G' w7 v1 Q: K
输入:弱上拉输入,浮空输入,消极(高阻态)输入;
3 f, W) ?* G- `/ z) W输出:推挽输出,开漏输出;
- S( E" }1 G" w: @# i% B
# J$ N8 \- Q; r  L2 W4 X2、真正的开漏脚:输出高电平相当于开关断开,需要外接上拉(优点:1)灌电流承受能力强;2)可以多个开漏脚连接实现线与);适合做电流型驱动(20ma);9 ~% N; t9 A0 r- ?: n+ V  k+ |# [
% C" S% A0 g0 F! G. X4 W
3、准双向口:可输出输入高低电平;1 Y1 n- k/ c/ b# E- G

0 _, |" k4 x8 x5 _  g6 k4、GPIO必须开启时钟,才可以配置;/ _, j! W! |( C) V" V! F2 E

8 n4 O# Q4 H& }; Z, t5 E; V5、上下拉电阻# X7 n& m: x6 L
    a、单片机GPIO接上拉电阻的作用:与内部电阻并联,减少总电阻的阻值,从而使端口的电平升高,整体抬高端口的电位;/ i9 Q1 [( o- C" `
    b、单片机GPIO接下拉电阻的作用:与内部电阻串联,增加总电阻的阻值,从而使端口的电平降低,整体拉低端口的电位;
6 D; z5 e8 b+ T  }8 ?* |, R) f# H5 H
5 V5 e2 q6 O5 ~" s6、GPIO的低功耗处理:! ~& O6 |1 M% d% N! o
    a、空闲IO处理(悬空处理);( z) e! g2 w3 ?. T# Z
    b、占用IO处理(上电开启、睡眠关闭);  l7 R5 T# E5 ]# K% ~+ s& O
    c、中断唤醒IO处理(睡眠前开启/使能中断、唤醒前禁止中断(输入模式));
+ e' `! k6 s% A, u- X    d、使用睡眠设置函数(例程);' r* u( v" }% S

0 N0 y7 t* [* }5 d" ~7、IO口的高阻态问题( @$ c1 o0 E$ l$ w
    a、数字电路概念,常用于总线的分时复用功能上(作断开作用);3 O6 r. k4 {& Z7 P0 [/ Q; F
    b、设置高阻态时相当于电阻无限大,该门电路放弃对输出端电路的控制;3 ^2 J, ]) X0 ~; U0 W$ @  p. ^/ W  x
    c、设置高阻态输入,可降低功耗,以及对前级影响;
/ ^( z. y. U  T- D0 V    d、高阻态与准双向口的区别: F; m3 }% P3 B! a
        1)可作模拟信号输出输入,悬空时电平随外界;
- F. r. T" O5 B$ C) B- s6 y3 m. \4 q            *(配置因单片机的不用而不同,AVR无高阻态;NXP可直接读端口电平;先置1后配置)/ h; J4 e5 N, t1 H9 V
        2)准双向口只能做数字IO口输入输出,悬空时电平为1;# _% S% F6 W+ h$ o9 w% b# |
+ N7 |: a1 C9 e
8、中断配置
4 F& ]% m8 m% s! M/ I$ I    *设置优先级之前必须关闭中断,否则会导致hard fault;
6 q  P6 z+ u$ ~    a、外部低电平有效:配置下降沿触发,上拉模式;! r' g0 g+ x8 Q
    b、外部高电平有效: 配置上升沿触发,消极模式;- R& ?8 ]+ w5 p8 @* @# ?+ K! A

; C4 q6 ]" T$ F2 d& e) y1 S
' y2 ^( v$ p  X( P# k+ A5 o五、ADC/ B5 D& {% |+ q, ^! T
1、AD满量程可能性:
  X6 S* ~$ Z( ~1 _4 v      a、输入电压超过基准电压;! _/ U5 s  S/ u7 ]
      b、基准电压无输入或过低;! k; Q2 ?1 W+ k( |8 N& P. n
2、AD的满量程是参考电压;# \0 O* l6 z1 y) \2 T, X3 a
3、采样率的选择(时钟分频、采用保持时间);
, n" ^/ k2 }) P: |+ o4、DMA通道时可采用高速,中断采用低速;
  u7 E! M# r6 u" E5、IO的选择(内部有上下拉)与配置模式(消极模式);1 L6 @$ N* [- n1 v  a- T# z
6、电路设计(尽量以最短的距离连接);9 s( s% s. D, i& Y4 W. C
: S) \* r- V. h
. I' F+ o( B; U
六、IIC(半双工)+ t) m* X9 U* E( W4 T
1、地址硬件移位,软件移位;
/ j7 v8 M# o# \6 ]/ }2、时序准确;0 C; j6 X" j5 f$ I! F* y9 L
3、EEPROM发送256字节以上需要重新发送设备地址;" |, G0 [% @% A+ f1 s! Y* c4 ?
4、注意地址位数;
7 {8 B) D6 e: q9 i" \5、常用的一对多(寻地址);# k6 N' s  s& C
6、如果SCL/SDA是开漏脚,需要给加上拉电阻;: I/ y: p+ h, Q- s6 m& N' X- v
7、先配置GPIO,再使能时钟;(BUSY位的置位问题);8 ~7 w& K7 g% L6 I* ^
8、硬件IIC开漏输出脚;
8 Z' J3 _" O$ v3 z; z, h9 T6 f9、总线速率:有些支持100KHZ,有些支持400KHZ(10KHZ/1MHZ/3.4MH Z);
8 x" @9 z. a9 P( h' }/ n" v10、ST系列的IIC网上评论:
* g/ \, T* X4 O7 Y* F9 x***大家都在聊IIC,我也来说说我的认为,硬件IIC在ST的设计中并无使用问题,但是存在使用便捷性问题,不知道大家是否研究过硬件IIC和模拟IIC,若从速率上比较,硬件肯定有优势,若从程序复杂度上分析,ST片子上反而是模拟的IIC比较简单,这是因为ST在IIC资源设计上有意规避了一些问题保证知识产权,引入了相当多功能位设定和事件配置,好处是通信很透明,不好的是和我们一般使用的习惯有出入,有的工程师弄了半天发现复杂度没有降低太多,索性还是用起了模拟方法,所以有的人就说ST有缺陷,实际不是缺陷,是你是否用得惯的问题。
& G/ A% _# o9 u- M/ J七、SPI(全双工器件的多样性)
4 Q$ l% c7 K3 q8 T6 n1、三线(MOSI=MISO或无CS)与四线(标准);5 t) x& k% ?& |* L. N# {/ u) e
2、CPOL/CPHA模式,主与从相反的时钟信号(调试重点,不同设备必须操作在相同的模式下);
# }  P5 j5 h. l& ^4 g- |8 n3、片选信号(低或高有效)0 f7 ~2 J. g8 g2 s3 W( t2 R
4、支持不同的字长;
0 t/ _6 b# s; j5、只能收或发;' @/ j4 d8 H& W4 A. \% \( I8 U9 x
6、是否支持命令;4 Y" z, s: a9 I: l) |( K2 d0 t) Z

7 O) ]- g4 A, v% m3 m

该用户从未签到

2#
发表于 2022-11-15 11:20 | 只看该作者
选择适合产品使用的微处理器是一项艰巨的任务。5 ^" C0 g: b) I' k! N
不仅要考虑许多技术因素,而且要考虑可能影响到项目成败的成本和交货时间等商业问题。

该用户从未签到

3#
发表于 2022-11-15 13:23 | 只看该作者
在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。

该用户从未签到

4#
发表于 2022-11-15 13:31 | 只看该作者
8位架构可以支撑这个应用吗?需要用16位的架构吗?或者要求32位的ARM内核?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-4 23:01 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表