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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机的资源配置与调度相对简单,根据详细的官方指导,以及开发设计参考(各类开发板)步骤即可;' c5 g5 _& l. c$ y: G
一、单片机内核* F- r( B4 q! a4 x
*不同的内核有不同的性能/功耗表现,按需选择;* A* U# M: H# r) q  j1 C8 w
*内核即代表某系列的单片机;
3 X" T* [, J7 A% j1、简单基础单片机内核: 51、STM8、AVR、PIC、S08、430;
  m, N) ?* P4 _2 [; f; X4 l2、ARM Cortex系列:Cortex-M0内核是低功耗的内核;. w" [% Z' s4 S* Z( p% ?6 Q  M' B
3、ARM全系列详解找arm官网。
. a; d" n- }) i6 T7 k4 c: a2 {4、两种逻辑电路集成器件:' S3 N* d4 ]: W9 Y
    a、FPGA:基于门编程(altera、xilinux);类似:SDAM  掉电不保存;* c! {6 L6 K# u
    b、cpld:基于块编程;类似:EEPRM FLASH 掉电保存; 1 `* w& r' z3 A: o0 W+ t" G

2 B1 n2 W; f5 B7 p3 ^2 L: l二、单片机选型1 K1 _5 B0 `# a6 M( l' D: U8 y$ j# N
*市面的产品基本都是围绕这几款单片机:51(低端)、ST(中端)、ARM(高端);' m5 Y5 ?! w2 A. N; w! i' X
1、单片机的性能;" n4 p- ?5 K/ L! L4 m
2、单片机的自身资源是否满足项目需求,长远考虑后续的更新迭代(封装、功能)、系统升级和维护难度;
3 H8 w8 w: n" c% v7 Y    a、内存是否足够(储存常量数组、密码等数据);4 n- p1 o0 K; H
    b、I/O的数量充足;4 w  [) z' y" A" f, F) j5 Q
    c、外设资源(RTC、IIC(硬件、模拟)、SPI、UART);, O$ R6 v. [6 D* T
3、开发周期:熟悉该类型单片机的硬件与软件,可用高级语言编写和调试;
5 T8 G! U& U8 i  N2 B; R& d& Y4、单片机的价格、货源、体积、封装;
' g5 |0 o3 H( n# q: X  o* f
9 }( ~+ o4 {3 a& O$ j* o6 ] . d5 f- ~4 O% K4 ?
三、单片机的资源配置要点2 _) `, |* d6 C& o" z
要点总结:; a( C" x3 A4 f; p
*单片虽然种类很多,但大同小异,掌握了产品的开发流程以及基本资源的配置方法,可以在任意平台上游刃有余;
" p1 ?7 B5 W2 h; h6 x1、涉及到多数据线、地址线的应用,尽量选择连续IO资源,这样效率会高点;* \4 L1 ]; d- x* U  G9 I* ]6 s
2、能够使用硬件资源的尽量使用硬件资源,提高工作效率;
9 W# R, s0 D% W* g0 J' C3、共用中断服务函数;* Z, F3 r" k/ B, e/ W  ~3 I
4、优化等级可以提高单片机运行速度?
/ f. s( ]6 L0 D5、VCAP引脚为了保证内部主调压器的电压稳定;& d3 s7 ^2 [5 W' }  _8 e
6、时钟的重要性-保证信号的同步进行(在信号上升沿或下降沿采样);  _9 t8 U1 ~8 a* l9 u9 F* `
7、mVpp   噪声波形幅度单位;
+ A+ ?; R- N6 b( g8、Vpp=Vpeak to peak 一个信号或电压源其最高和最低的电压波幅(差值);: {8 X8 O+ S" t2 y& z
9、JTAG功能的GPIO引脚默认是第一功能是JTAG,想使用普通IO使用,必须先关闭JTAG接口功能;
7 a9 ~! R1 Z0 o$ x6 H10、程序字节对齐的作用:提高运行效率,在一些内存池操作时需要采用;  (面对一些旧式CPU,要求字节对齐);8 y9 f8 l2 X0 Z  D  }8 d0 D& a
11、底层驱动尽量参考官方,切勿随意更改,产生很多隐患;
1 u8 o% v7 u8 h. h( T2 ^
, `- R9 ]/ m* S) }3 ]8 `四、GPIO/ O# R. }8 \+ H$ e
*GPIO看似简单,但很多使用细节,注意掌握;) L/ B' }' f4 C; |
1、使用GPIO模式:1 R0 C+ X3 L/ z' g, I
输入:弱上拉输入,浮空输入,消极(高阻态)输入;
+ E* g- b+ A: X3 m. l8 s输出:推挽输出,开漏输出;+ `& C! \1 d( y! N+ G

9 j( \2 H, N- h" @2、真正的开漏脚:输出高电平相当于开关断开,需要外接上拉(优点:1)灌电流承受能力强;2)可以多个开漏脚连接实现线与);适合做电流型驱动(20ma);
. E7 @' s8 a# n   M, y. p5 Q6 R0 T# @5 K2 F0 F" G: }
3、准双向口:可输出输入高低电平;/ d, v; d  v0 A2 y$ l

+ ?/ U- T- s* `# ?8 c7 j4、GPIO必须开启时钟,才可以配置;
9 {3 f# J. U/ F- ]7 o - q& [* e6 Y, ~' W: b$ _
5、上下拉电阻
' C$ }+ n# i8 J! z3 y! B% p* S    a、单片机GPIO接上拉电阻的作用:与内部电阻并联,减少总电阻的阻值,从而使端口的电平升高,整体抬高端口的电位;
( F  ^8 Z! H# K* ^9 \( ?" p3 x5 G    b、单片机GPIO接下拉电阻的作用:与内部电阻串联,增加总电阻的阻值,从而使端口的电平降低,整体拉低端口的电位;' h) I) T" l( s# {) s  p  `/ V8 B
. v* e! m/ n; E* E) U8 \
6、GPIO的低功耗处理:
- q6 i' w6 v4 \" g" @    a、空闲IO处理(悬空处理);/ p. R8 U* v) e) Q
    b、占用IO处理(上电开启、睡眠关闭);1 a/ A: o# @" j* v
    c、中断唤醒IO处理(睡眠前开启/使能中断、唤醒前禁止中断(输入模式));( V! B: B+ j, I: u/ ^& h
    d、使用睡眠设置函数(例程);2 ^( a# d2 B: [) N# L1 T5 F

( y# Y' s: Y: I$ `# O( Z5 m7、IO口的高阻态问题6 R! ]! n0 s' k: C
    a、数字电路概念,常用于总线的分时复用功能上(作断开作用);
5 P$ p, G; ]- J    b、设置高阻态时相当于电阻无限大,该门电路放弃对输出端电路的控制;
/ ^/ A  F9 Y/ N; u3 R. |    c、设置高阻态输入,可降低功耗,以及对前级影响;7 b; u( @  Q# G/ `, w
    d、高阻态与准双向口的区别  l% p  J- T1 I4 u  T) ]" W
        1)可作模拟信号输出输入,悬空时电平随外界;4 y: F  R; y7 I7 _" V- v! Z7 G
            *(配置因单片机的不用而不同,AVR无高阻态;NXP可直接读端口电平;先置1后配置)
% k& d% Z( `% C        2)准双向口只能做数字IO口输入输出,悬空时电平为1;
  Z; s4 x! p8 X: d, ? 6 d3 D6 `7 H) O# A
8、中断配置) E, q. M0 j/ K% V# X9 L" U
    *设置优先级之前必须关闭中断,否则会导致hard fault;5 z( f% L: o% r  M' r  N4 L
    a、外部低电平有效:配置下降沿触发,上拉模式;" b  X* m! Q6 z
    b、外部高电平有效: 配置上升沿触发,消极模式;
) g3 v- \+ F  K3 V
7 |' v1 K  c5 Y6 ?3 c ; d, D( c; m0 C. Q% e& U" i
五、ADC
  ~$ \% w1 z9 J) K1、AD满量程可能性:
! [1 P* m( j" t5 m) c& j( }      a、输入电压超过基准电压;
3 i$ i" u0 T' S- O  @      b、基准电压无输入或过低;' S! M" y8 o; C# Z: ^* ?7 [
2、AD的满量程是参考电压;
8 n& q; C8 T# P0 K% ~3、采样率的选择(时钟分频、采用保持时间);
/ Y! {8 D5 C: j  k+ }9 B4、DMA通道时可采用高速,中断采用低速;
6 T- f: s7 D4 d. d1 p" ]5、IO的选择(内部有上下拉)与配置模式(消极模式);
8 B% q$ t; `- ^" F( H6、电路设计(尽量以最短的距离连接);
" e; f/ C* T: {$ T
) `6 }2 N4 U1 d# h, a
! }1 l6 j8 b+ S# `9 h* p) T六、IIC(半双工)
8 R2 I' n. e' C9 P5 H* K1、地址硬件移位,软件移位;7 Y7 D8 W8 `6 z/ Z1 m6 u; o( O1 R
2、时序准确;3 z! C2 F) x2 v/ y
3、EEPROM发送256字节以上需要重新发送设备地址;5 a8 M. t9 k. ^& X; S* `9 ]
4、注意地址位数;  i+ {5 P7 ]' A
5、常用的一对多(寻地址);8 p7 p1 c! u3 r8 k- ~0 ^% p, `, v
6、如果SCL/SDA是开漏脚,需要给加上拉电阻;
( y( G% J( k7 d' G0 _! @7、先配置GPIO,再使能时钟;(BUSY位的置位问题);$ `. C9 U) b/ f9 f- L
8、硬件IIC开漏输出脚;
0 z* _/ H2 n0 w- b% L9、总线速率:有些支持100KHZ,有些支持400KHZ(10KHZ/1MHZ/3.4MH Z);. o( N5 Y8 Q: B/ V; s6 Q
10、ST系列的IIC网上评论:
' p" @- l) j4 E) e2 P/ }' K  `5 g0 p***大家都在聊IIC,我也来说说我的认为,硬件IIC在ST的设计中并无使用问题,但是存在使用便捷性问题,不知道大家是否研究过硬件IIC和模拟IIC,若从速率上比较,硬件肯定有优势,若从程序复杂度上分析,ST片子上反而是模拟的IIC比较简单,这是因为ST在IIC资源设计上有意规避了一些问题保证知识产权,引入了相当多功能位设定和事件配置,好处是通信很透明,不好的是和我们一般使用的习惯有出入,有的工程师弄了半天发现复杂度没有降低太多,索性还是用起了模拟方法,所以有的人就说ST有缺陷,实际不是缺陷,是你是否用得惯的问题。0 S( D. |/ k0 B. O) c
七、SPI(全双工器件的多样性)
2 p; o: e" E5 g( Y1、三线(MOSI=MISO或无CS)与四线(标准);2 l$ B' ^4 }0 s  k; B
2、CPOL/CPHA模式,主与从相反的时钟信号(调试重点,不同设备必须操作在相同的模式下);
5 a/ g9 G7 D! ^$ J1 A% `3 o/ D3、片选信号(低或高有效), a  U: ]3 B) n0 J0 M
4、支持不同的字长;$ C$ }  j  g' H$ {
5、只能收或发;/ I& p' J' L# e, Y1 _! I
6、是否支持命令;
, y& }, E, z1 N. {; Y
" G7 W; A2 }5 u! s* i

该用户从未签到

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

该用户从未签到

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-7-21 00:21 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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