你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32+LoRa硬件设计中的一个小“坑”

[复制链接]
freeelectron 发布时间:2018-8-22 17:15
本帖最后由 freeelectron 于 2018-8-22 17:26 编辑
4 L4 d" W8 g/ q& A3 ]5 w# K* R# R( v/ A/ s3 Y/ s4 Y8 K' t
背景:前一阵在支持客户的一个项目,据他们自己说是主要搞嵌入式linux的,现在需要用到LoRa,用stm32做了LoRa的板子,在官方的驱动的基础上,只改了GPIO,但是stm32与LoRa就是一直有问题,让他们用我们的试了试,是没问题的,之后看了他们的原理图,发现LoRa芯片的几个中断GPIO与stm32的连接上有问题。8 s2 \' R" D+ v/ b$ ~

2 y& b) Q* @  D% V: O% a1 @5 hLoRa除了需要SPi通讯外,还需要6个GPIO配置成外部中断,来产生接收中断,发送超时中断,发送完成中断,cad中断等等,这几个外部中断非常非常非常重要,如下图:0 D, ?% W+ e0 R" D
3.png
# N- _- H9 t% }( ^
, l3 M; k; D- [. N: e  a
STM32的每一个GPIO都可以配置成外部中断,但是对于初次接触的人,或者说是硬件设计的人来说,这里就需要注意了:5 O" @$ J$ [  H/ [
! Q; A4 P9 ]( ~$ R7 i7 o4 e9 L
PA0~PG0 对应的是外部中断0. O- ?, V0 j/ M3 O& E
PA1~PG1 对应的是外部中断1# a, T! h% F- U1 y
PA2~PG2 对应的是外部中断20 z! q: p: l  p" Q2 ^( V
PA3~PG3 对应的是外部中断3
2 [+ {9 r9 a+ `4 E! k+ fPA4~PG4 对应的是外部中断42 Y4 m! {! H/ |1 p' y) ^
……
. o% X) B6 x& [PA15~PG15 对应的是外部中断15! g. ~' ?7 Q, N4 }

& ?* d- h; v9 s
以外部中断0为例来说:同一时刻PA0~PG0只能有一个配置为外部中断。换句话说,STM32只能同时支持16个外部中断。(题外话,LoRa需要六个外部中断是见过的比较多的了,应用需要的外部中断大于16个,可能就要另辟蹊径了
6 S5 `/ K9 |  j" [- D; j6 f  C! u! i

; {3 C8 K5 O3 X: k$ O
/ P- D4 z/ J! S; F; x/ w+ h9 J; z2 K可以看到官方的设计,; e  O9 C0 Z- @7 {$ b# I5 ^% p
DIO5<->PA15# p8 Q4 V5 ]- b9 @/ X* h
DIO4<->PB3
, X. S6 {, j9 p! WDIO3<->PB4
9 ]8 T: i0 |) d5 W/ H7 J7 _DIO2<->PB9
, z6 _) m% @) Q' lDIO1<->PC13; ?2 b4 m' _* P3 g* X. ]% }3 \( G: Z. ^
DIO0<->PB11% J7 @! ], H9 ]8 g# T
如下图:
) O$ Q" H* |- V8 N% O 1.png 2.png % q6 ^# q* U8 L1 A# W& @# m
1 l. B0 X) C  K  B0 C. z  f
附件,semtech官方的设计原理图: SensorNode-schematic.pdf (1.93 MB, 下载次数: 199)
收藏 3 评论10 发布时间:2018-8-22 17:15

举报

10个回答
zero99 回答时间:2018-8-22 17:53:10
大佬大佬,支持下
Departures 回答时间:2018-8-22 17:58:44
没有那么多中断吧  5~9共用一个中断线 10~15共用一个中断线
freeelectron 回答时间:2018-8-23 09:08:09
machiato 发表于 2018-8-22 17:58
2 ^! b; _4 \; V# g" x  q+ ]没有那么多中断吧  5~9共用一个中断线 10~15共用一个中断线
; |  y7 f( Z. r! o6 i1 e# x
5-9 共用一个中断函数  10-15也是共用一个中断函数  
STM1024 回答时间:2018-8-23 14:01:24
中断源最多只有16个(line)
: y' P, Z7 _8 Q7 j! l1,2,3,4可独立配置中断函数% N7 r  L  O  H' E
5-9共用一个中断函数
. y5 \8 j! e% u  P/ l7 m7 E10-15共用一个中断函数
兄弟连 回答时间:2018-9-6 09:03:11
标记
' c& p$ Z- g/ u
sujido 回答时间:2018-9-26 21:22:03
谢谢
mmuuss586 回答时间:2018-12-5 15:22:33

' \4 Q0 u0 M# `& i  }用的1276不错;
mffthan 回答时间:2019-5-2 20:59:38
谢谢。回头试试
淡々とS★Y 回答时间:2020-2-29 16:02:14
谢谢楼主
李康1202 回答时间:2020-3-2 15:08:29
一般一个DIO0就可以了/ y; s1 r; J/ q- X3 q7 X' x

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版