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

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

[复制链接]
freeelectron 发布时间:2018-8-22 17:15
本帖最后由 freeelectron 于 2018-8-22 17:26 编辑
% Q5 f5 w# \( f1 w0 _) [" z4 `* H1 y& `
背景:前一阵在支持客户的一个项目,据他们自己说是主要搞嵌入式linux的,现在需要用到LoRa,用stm32做了LoRa的板子,在官方的驱动的基础上,只改了GPIO,但是stm32与LoRa就是一直有问题,让他们用我们的试了试,是没问题的,之后看了他们的原理图,发现LoRa芯片的几个中断GPIO与stm32的连接上有问题。  Q9 y9 b, o* k5 ]& T

# w1 L- e3 m; B  U4 _4 w- ILoRa除了需要SPi通讯外,还需要6个GPIO配置成外部中断,来产生接收中断,发送超时中断,发送完成中断,cad中断等等,这几个外部中断非常非常非常重要,如下图:) _. S$ Z' o0 @2 O7 X% b& T
3.png & ?0 ~: w7 c( B- [: [& T

" @4 ^$ C/ t/ n( `8 B2 `STM32的每一个GPIO都可以配置成外部中断,但是对于初次接触的人,或者说是硬件设计的人来说,这里就需要注意了:5 X6 T- R* ~: b7 _# M

% m0 l8 S- T. D$ ?, ZPA0~PG0 对应的是外部中断06 E: l7 `& z* l4 V& d. a# b
PA1~PG1 对应的是外部中断1
5 Q! B) a2 p* q- T6 y" KPA2~PG2 对应的是外部中断2
1 L- n4 [: M0 s. r: c+ Y, y# D. pPA3~PG3 对应的是外部中断3
: b7 r) t5 ^- b+ HPA4~PG4 对应的是外部中断4
, m3 s+ [' I8 o) I8 A……
3 [1 B! C* Q: ?4 {/ CPA15~PG15 对应的是外部中断15  j1 ]" @. M* A/ L- @/ M

" Z+ f: q) {/ z' o: I8 h4 w. m
以外部中断0为例来说:同一时刻PA0~PG0只能有一个配置为外部中断。换句话说,STM32只能同时支持16个外部中断。(题外话,LoRa需要六个外部中断是见过的比较多的了,应用需要的外部中断大于16个,可能就要另辟蹊径了
: b8 A3 Z  E3 `0 a0 e; K

9 P: S* S- t$ B: U6 D1 X% k9 N' E- G# z3 S
可以看到官方的设计,/ H% S3 T$ v9 d# K7 m
DIO5<->PA15
4 _0 I& @# s9 I9 y1 kDIO4<->PB3
; \  V5 t. F5 o, T& x. YDIO3<->PB4, n0 e8 s7 Q. v5 |+ ^" l% Y# j0 V) H
DIO2<->PB9* V9 `9 q& a# T2 |& [) v2 j
DIO1<->PC13
. q- n% y* D( mDIO0<->PB11, O4 t! @  f% m: k/ N5 l0 f
如下图:3 ]: _3 n' Q. }3 e
1.png 2.png
. Y9 j3 i6 F# Z" u6 J5 M1 m! l! c% A( V  ?4 @4 g- R- ]3 D
附件,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
, ~5 a% o' L# F- O: b) m1 g没有那么多中断吧  5~9共用一个中断线 10~15共用一个中断线
& U* m* w" s5 b2 S* J* E' f
5-9 共用一个中断函数  10-15也是共用一个中断函数  
STM1024 回答时间:2018-8-23 14:01:24
中断源最多只有16个(line)- W/ z. N1 n$ d! d; v/ y
1,2,3,4可独立配置中断函数
+ J! H$ g5 j) T) _7 ?! C" \! K5-9共用一个中断函数
+ L# n, d) V9 L10-15共用一个中断函数
兄弟连 回答时间:2018-9-6 09:03:11
标记( V) n+ D% f# x$ u* w3 H' h9 w( h
sujido 回答时间:2018-9-26 21:22:03
谢谢
mmuuss586 回答时间:2018-12-5 15:22:33
9 _/ T* y- f* G% q! f$ d
用的1276不错;
mffthan 回答时间:2019-5-2 20:59:38
谢谢。回头试试
淡々とS★Y 回答时间:2020-2-29 16:02:14
谢谢楼主
李康1202 回答时间:2020-3-2 15:08:29
一般一个DIO0就可以了2 R- c& N2 @1 Z* J0 x0 M1 ~* v

所属标签

相似分享

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