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

实战经验 | 从CubeMX下载生成STM32元件封装库

[复制链接]
STMCU-管管 发布时间:2024-10-24 08:22
' z% Y  }5 e: [7 I. j! I5 Z' f

: i9 d' v$ l+ b" B" }) D

  q( W4 e" _3 A" S01引言 / u' K7 z; \" r; [" g: L7 P) p
使用 STM32 进行项目开发时,在原理图和 PCB 设计中都需要使用相应的元件封装 库。STM32 元件封装库的准确性是保证设计成功的前提。( J1 @3 J/ |- y, P
在最新版本的 STM32CubeMX 中内置了 STM32 元件封装的下载工具,下载的封装库 文件经 EDA 工具转换后可以在原理图和 PCB 设计中调用。
" P3 J6 H! }1 a- g% z- L" l本文将对如何下载和转换做简单的示例说明。
% M# q& J6 A$ M( P( j- ^4 c8 e  v3 J9 Q8 K; G0 }) H
01在 STM32CubeMX 中下载 STM32 封装文件 % |. v, R& d* ~0 [
  E( V9 I1 `& b1 x4 f/ `$ P

! W2 Z! a; d! \9 m* @( o! K: R下面我们以 STM32H503CBT 为例简单介绍下如何在 STM32CubeMX 中下载 STM32 MCU 的封装库文件。
/ ~/ l) a) K5 _打开 STM32CubeMX(本例中使用 Version 6.9.0)后,选中所使用的 STM32 型号 后进入配置页面。
- D9 V: t/ x6 R1 V. c0 V4 {0 @根据电路的需求,分配相应的功能给 STM32 的管脚。(如果不需要在原理图 STM32 封装库中显示管脚所分配的功能,这一步可以忽略。); D6 [2 c; Y4 e
这时,我们将见到如下图所示的元件示意图:; _; M& Q( f$ F( C
12.png
: N0 y, Y  T! K3 f6 H' H
▲ 图1. CubeMX 中的 STM32H503CVTx0 w9 A0 J+ c: H5 J5 d2 {
点击上图右上角的 Tools 菜单栏。进入 Tools 界面后点击左边的 CAD 菜单,进入 CAD 元件封装库配置和下载页面。

! s: p( @( b: H
13.png
3 S3 O  v* a) T
▲ 图2. CAD 元件库界面4 q$ N9 }5 z- O, Q; B5 H- \* P
4 ]# P- d) U" M* [, D* `2 K4 S

: c: o( f2 v! P% I. v$ \1 y# G然后根据硬件设计中使用的 EDA 工具在下图选项框中选择 CAD 文件格式: 0 }6 C- m7 W' r! ?5 K
/ G8 h- S7 C4 R. C0 e

: }9 S: z1 [4 \6 r
14.png

1 M" m& X+ i( \7 i5 k. R
▲ 图3. CAD 格式选择. J% y3 e3 r' o
可以选择的 STM32 元件库封装格式支持主流的 EDA 设计工具,包括 PADS, Altium Designer, Cadence 等等。这里以 Altium Designer (AD) 和 Pads 为例,可以看到将要 下载的工具格式被列出在下载格内,且支持一次性多格式下载:
7 [7 [# c* k2 P1 w
15.png
0 M; m. b- G" P9 l* V9 v
▲ 图4. 选择不同格式工具下载 4 M4 J, D' M5 w. l1 @
4 K# |2 x$ o! I; r% |% k% E* w
) R! Z! o% v6 w$ y) _
从 CubeMX 下载得到的 STM32 CAD 文件是基于 Ultra Librarian 工具在云端生成 的,这里我们需要勾选同意 Ultra Librarian 的条款和条件,不需要再下载安装 Ultra Librarian 工具。

4 {( T; y4 W, E2 S# G
16.png

( v9 U3 H& {( I# K' ?
▲ 图56 R- e* w" O+ x( J

4 C" U8 g) s! R

! B. o' K& h9 q在页面的右上角有个选择按钮可以用来选择管脚名的显示方式:

$ G. A1 i  l1 B9 ?( h  N8 u3 R
17.png

+ C3 P* }$ s/ r) C& H0 V
▲ 图6
) U6 G, \( G! G2 `当选择 Pin name 时,原理图封装库中管脚名按封装名显示:
' P6 R  X5 e3 S- e, e% m* }# a
18.png

3 f' t1 ~$ z' \' r* [  s) K: J
▲ 图7. Pin name
5 i: [, j" P! @如果选择了 Project naming, 管脚名按分配的功能名称显示:
/ U8 W  d! e% D6 `- }! }3 J) R, B0 S
19.png
% [$ A7 a* Z! m6 {& A
▲ 图8. Project Name
1 k# [; X$ p' }) a3 G
, {4 v$ U' y) h* h
: L2 [+ D" t$ E( ^7 q9 h9 Q
选择 Dual 则管脚名和功能名都显示:
$ E  E" S3 x6 k- x/ l) c9 s# L
20.png
+ Z+ c$ ^( V7 `! I/ J
▲ 图9. Dual; S3 P9 y7 x; ~2 B% v4 }
更改上述的管脚名显示等选项后,点击 Refresh symbol previews 按钮可以刷新显示。
- u" T' E9 j0 i; w
21.png

6 p  i2 {+ g& l* D9 G
▲ 图10. 下载和刷新菜单
6 Q; k3 l' Y2 H
# i" q' R' F7 t' h/ K
$ C; H) i5 x5 E
在 PCB 封装库的 Footprint 显示下面有 Basic 和 Detailed 两种显示,Detailed 显示 比 Basic 显示多了一些尺寸标注:
2 d  c/ C/ p, O1 X' f) F! o3 v
22.png

5 q4 Q% p5 N4 c+ F" h6 S
▲ 图11. Basic 和 Detail 显示 * E# @; H' }1 `/ |& {8 R

. S4 p  q& M2 i9 `
& V/ o8 J+ S- G7 ~0 E0 o
最后我们点击图 10 所示的下载菜单下载库文件。
/ u) h( W1 j1 C6 ~如果选择了管脚名的功能定义显示, 可能会先弹出一个警告信息:因为工具不支持一 些特殊的字符,这些字符会被替换:
3 l! F9 n3 K) I# E3 i
23.png

, Q9 ?5 n2 R! z4 l0 j
▲ 图12. 特殊字符替换警告 & _$ d: r. n4 h7 h
忽略这些信息,点击 Download anyway。等待,此时 Refresh symbol previews 下 的状态条会抖动, 过一会将显示:

1 X* A! R8 \6 m- L- M' U* n( b5 _
24.png

  B+ K6 M$ t; [# r# m) Q
▲ 图13. 选择目标目录下载
! U2 d" a4 f" W& z选择将文件保存到电脑目标地址即可。* L+ P8 t  j# B" j

, G9 |0 a6 _) R9 k! D! R5 @0 g  Q03在 EDA 工具中导入封装文件生成封装库
; g9 ]2 @' N& u+ i$ }
; O0 x; P& e9 v% I7 x; X9 W

7 J4 H* b/ @! j下载下来的 UL 生成文件并不是 EDA 工具可以直接使用的封装库文件,而是一些中间 文件, 必须在 EDA 工具中导入转换后才可以被 EDA 工具使用。下面我们以最常用的 Altium Designer 和 PADS 为例来说明这一过程。- X' x- ?& Z& u, S2 ?
+ @& t' ]: j9 s" T& R5 i

/ D, c& V# N2 Y% P0 b2 `0 V3 ^3.1. 在 Altium Designer 中生成封装库
. u& ~$ ^( F$ p% ?. E4 n. {* \; C4 \+ j( k: b  G
5 C" F; B, J2 V& X
我们使用 Altium Designer 22.9 来演示如何从 CubeMX 下载的文件生成库文件,不同版本的 AD 工具导入过程可能略有差异。
, ]/ F) f( y. R3 S4 f0 U解压刚才从 CubeMX 下载的压缩文件,在 AltiumDesigner 目录下我们可以看到共有 6 个文件:
! D1 o; n. l' x/ I# I7 m
25.png

0 ?- ?/ J5 T2 A. @6 T
▲ 图14
* ~( H* T* Q, n# S1 q
: p- Y+ z2 b% D2 r
3 ~( Z; N  ~; x! S) {4 ~
打开 AD 软件,在菜单栏打开 File --> Open 后找到解压文件中的.prjscr 工程文件打开
- u6 L; O' \8 W& O
26.png
: Z+ {4 r: t. q& g& m# |4 p
▲ 图15. AD 打开工程文件9 p+ ]" Y7 y2 I* ~/ a& e: q
工程打开后如下图:

( s0 @2 @, s* Z$ O% ~
27.png

; J: c& @0 Q- r- G5 \4 J' H8 ~
▲ 图16. 打开后的工程 ; {# J8 v0 M1 Z) i1 M
接着运行脚本,File --> Run Script…

) U, @7 s  D6 A5 O
28.png

5 }1 q! k- n5 P4 }& n( U
▲ 图17. 运行脚本
% M5 B/ Q. G, c在弹框中选择 UL_Form.pas 后点击 OK 运行。

+ M' i! e: r3 ]4 V/ [) h
29.png
4 [- }' F  H' L7 C
▲ 图18. 选择文件运行脚本- g+ q, R4 q. `$ U8 |1 z7 \" H+ T4 J
紧接着会生成另一个弹窗,选择导入刚才解压的 UL 生成的 TXT 文件,点击开始导入:

& K$ X' M3 E8 K( c. M2 F
30.png
/ y+ ~0 m' v; y  K' |
图19. 选择 TXT 文件后导入 . l; o! \/ n; @" U+ p0 A) _
等待一会可以看到库文件已经生成:

; t) P, W1 ~5 p& N. R4 E5 b
31.png & R* |" c2 P% ~2 b* c: o
图20. 生成的 LibPkg 文件 生成的.pcblib 库文件需要关闭 AD 再重新打开后才能正常检视/使用。图21. 生成的库文件 3.2. 在 PADS 中生成封装库 打开下载的 PADS 封装导入文件,可以看到压缩包内有三个文件:图22. PADS 的库导入相对简单,打开 PADS Layout, 点击菜单栏 File --> Library, 弹出元 件库管理框 Library Manger:图23. 元件库管理器
! e/ ^' ^, q% L6 t$ v9 M9 L6 q在元件库管理器框中依次选择: Decals --> Import 导入 pads.d 文件 如图 24 Parts --> Import 导入 Pads.p 文件,如图 25 Logic --> Import Pads.c 文件, 如图 26 导入后点击 Open 即可生成对应的库文件。 7 g* B7 B1 ?9 |$ g& T" h( D5 |! K
图24. 导入 Decals 封装
1 P3 q2 J; }, G, S+ l$ [图25. 导入 Parts 库
8 u% j6 X5 J. P  j图26. 导入 Logic 库 图27. 生成的原理图封装库
' t  Q3 P$ u% C. m4 j图28. 生成的 PCB 电气封装库 & ^# L) h  t$ D" a$ x9 f
1 e# ?7 p2 t& G9 S. M( D
04小结 7 @$ Z( G8 T3 L1 K- F- E
使用 STM32CubeMX 下载得到的元件封装可以让工程师从繁琐的元件封装库设计中解放出来,特别是当管脚数目较多时。很多用户对原理图封装库的外形,尺寸,管脚排列/命名,功能排列等方面,以及对 PCB 封装的焊盘大小,阻焊设计,字符标注等方面有特别的要求,下载的文件效果可能不 能全部满足要求。这些客户可以在下载的文件上做适当的修改。这样可以避免全新设计封 装库过程中可能发生的各种错误,特别是常发生的 PCB 封装尺寸中的错误。
4 I; ]  z' S( ~# O
收藏 评论2 发布时间:2024-10-24 08:22

举报

2个回答
LTLT 回答时间:4 天前

可以可以,其实文档啥的都能在 CubeMX下载

STMWoodData 回答时间:4 天前

这个好,越来越方便了

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