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

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

[复制链接]
STMCU-管管 发布时间:2024-10-24 08:22

) N. [: D& ^8 O% l" r6 y5 a, }$ r- Z( Q2 @
. b  ]" W6 k3 v2 N4 Y4 c0 I0 Q) G
01引言
) M9 [/ s  y- N, a. A2 a使用 STM32 进行项目开发时,在原理图和 PCB 设计中都需要使用相应的元件封装 库。STM32 元件封装库的准确性是保证设计成功的前提。
7 [2 I; d! J! P& Z在最新版本的 STM32CubeMX 中内置了 STM32 元件封装的下载工具,下载的封装库 文件经 EDA 工具转换后可以在原理图和 PCB 设计中调用。
5 L& L% S8 y  W/ W本文将对如何下载和转换做简单的示例说明。
- D! ~7 k2 v% W' K. }. ]6 a) f' F6 K, F
01在 STM32CubeMX 中下载 STM32 封装文件
5 b. [/ ?! p' K' k
9 z$ L" W6 F9 S# W8 n
* u( \* ~8 c" M3 W3 n! I
下面我们以 STM32H503CBT 为例简单介绍下如何在 STM32CubeMX 中下载 STM32 MCU 的封装库文件。
' a& T8 Z6 j- H打开 STM32CubeMX(本例中使用 Version 6.9.0)后,选中所使用的 STM32 型号 后进入配置页面。
4 p+ W0 b, r( _: t根据电路的需求,分配相应的功能给 STM32 的管脚。(如果不需要在原理图 STM32 封装库中显示管脚所分配的功能,这一步可以忽略。)
; \9 _% P1 O2 n4 J1 h' l这时,我们将见到如下图所示的元件示意图:; t$ E7 q4 O8 }
12.png

$ w2 }. T" }5 M& `" C- \# H, c4 _) v8 M
▲ 图1. CubeMX 中的 STM32H503CVTx. @* O; U( m' e# N- N: R
点击上图右上角的 Tools 菜单栏。进入 Tools 界面后点击左边的 CAD 菜单,进入 CAD 元件封装库配置和下载页面。
0 J5 B& a7 G7 n/ p: P
13.png

/ F+ R# h5 K; v
▲ 图2. CAD 元件库界面. R( w* A5 e6 m3 V- P/ V
: k5 J( M8 `" r3 i& q
2 d" F7 E- x7 X8 w+ @& o4 q  m$ ]" S
然后根据硬件设计中使用的 EDA 工具在下图选项框中选择 CAD 文件格式: 8 x# Z5 r) \5 {3 K# Z4 N. g9 `
& F& `% g& Q( f9 k5 j6 _; Q% x
: d9 U% w* i/ }2 V9 s
14.png
# H1 g% v0 e5 y, ^
▲ 图3. CAD 格式选择
* U2 c& z  M2 L; N0 X3 M可以选择的 STM32 元件库封装格式支持主流的 EDA 设计工具,包括 PADS, Altium Designer, Cadence 等等。这里以 Altium Designer (AD) 和 Pads 为例,可以看到将要 下载的工具格式被列出在下载格内,且支持一次性多格式下载:
7 ?, k; l6 y* K" e" c4 a4 s3 R
15.png

* k; X  }- R- }  _, p$ H
▲ 图4. 选择不同格式工具下载 ' ~% Z, f; Z2 `1 d3 }# @) F

8 \) j! a( f6 p$ y
3 f+ O/ o3 x! l/ i" |
从 CubeMX 下载得到的 STM32 CAD 文件是基于 Ultra Librarian 工具在云端生成 的,这里我们需要勾选同意 Ultra Librarian 的条款和条件,不需要再下载安装 Ultra Librarian 工具。

# m3 }3 u0 K" O" m1 @' ~
16.png
5 o( d# v" H/ s# R
▲ 图5
/ E) h( Z) t8 n) a8 g# y- T) g( z3 m0 Z/ e

, x) X, e: w5 V. K$ u% I4 u在页面的右上角有个选择按钮可以用来选择管脚名的显示方式:
+ R* C& V& D# \- M
17.png
" p$ z3 H( V9 C6 u2 r  S
▲ 图6
5 B. d7 a* J* Z( k) L& `8 @当选择 Pin name 时,原理图封装库中管脚名按封装名显示:

/ l% K' E+ R4 J
18.png
2 u# T" h6 r# m! _+ M% o. ?) J0 O
▲ 图7. Pin name7 `7 i, D3 ?+ Q- V& U* w- K, k
如果选择了 Project naming, 管脚名按分配的功能名称显示:
+ G4 O6 D; f2 O  N. R( l7 D
19.png

1 p" p2 x3 R# }
▲ 图8. Project Name
; h( z& b- U: S4 o' M" O0 P6 a$ v- W5 y0 {4 g: J

5 J/ s8 r( v, T, w  ^选择 Dual 则管脚名和功能名都显示:

* i4 \2 G+ \$ b0 @* Q! S3 k9 }1 U
20.png

- G' p# ^6 j0 q2 N
▲ 图9. Dual1 {0 S* P- H6 P
更改上述的管脚名显示等选项后,点击 Refresh symbol previews 按钮可以刷新显示。

9 R9 T$ j. r2 x
21.png
! P$ n  B2 t0 S5 C
▲ 图10. 下载和刷新菜单 ! b8 {1 l" [; Q
$ _" N* Q3 _# p

! V5 t, X! c: c5 U+ O9 W在 PCB 封装库的 Footprint 显示下面有 Basic 和 Detailed 两种显示,Detailed 显示 比 Basic 显示多了一些尺寸标注:

; W1 j' K6 K2 C' E6 e1 H2 k* C
22.png

9 q. U% w0 v# l
▲ 图11. Basic 和 Detail 显示
( k  w: v' V% f7 A: H6 ]& J  a7 r4 ]
- c, m* M% o& N$ Z( @' K
最后我们点击图 10 所示的下载菜单下载库文件。
1 @: t9 C+ N8 h# z8 i如果选择了管脚名的功能定义显示, 可能会先弹出一个警告信息:因为工具不支持一 些特殊的字符,这些字符会被替换:

! I4 S. M, i/ K6 ^
23.png

2 x4 w% a$ v9 x% h2 H* p/ O
▲ 图12. 特殊字符替换警告
% V2 y& H: Q. `忽略这些信息,点击 Download anyway。等待,此时 Refresh symbol previews 下 的状态条会抖动, 过一会将显示:

# c" U0 C* {' R0 }) T9 |* y
24.png

9 e$ |5 x4 N6 Y9 {# a, w, D
▲ 图13. 选择目标目录下载 & k  t8 ^. g( g. S0 k
选择将文件保存到电脑目标地址即可。
6 ~- i2 t3 k* Q; Z6 k+ o( m" [5 U/ _# V, }! p
03在 EDA 工具中导入封装文件生成封装库 % ]  o! S% m8 U8 v' ^

7 `  f4 Q' }% n8 m; b1 a0 t( F! F/ {

+ }! v4 p* I6 \6 w+ W: \下载下来的 UL 生成文件并不是 EDA 工具可以直接使用的封装库文件,而是一些中间 文件, 必须在 EDA 工具中导入转换后才可以被 EDA 工具使用。下面我们以最常用的 Altium Designer 和 PADS 为例来说明这一过程。
' n, V( \% }  G% X, f
- c# @8 X" b5 K7 S* p

: L- D, [2 `  I! Q. \& g9 @. x3.1. 在 Altium Designer 中生成封装库
1 ?+ s; T8 X; V6 X' q. X
  j) K% R, `! s$ J, @) q' f

" o7 p+ \2 w2 \' v' T4 p: z7 F我们使用 Altium Designer 22.9 来演示如何从 CubeMX 下载的文件生成库文件,不同版本的 AD 工具导入过程可能略有差异。
; q7 y5 f' y% q6 T解压刚才从 CubeMX 下载的压缩文件,在 AltiumDesigner 目录下我们可以看到共有 6 个文件:

' J( b7 f' Q' k& ^
25.png

3 v9 L1 n0 p9 I
▲ 图145 O+ w) i; a! k  k

8 t# _2 V7 |6 p
7 Y: b9 h% V  B
打开 AD 软件,在菜单栏打开 File --> Open 后找到解压文件中的.prjscr 工程文件打开
$ P- M* |; D8 @- I2 o" j" R! p
26.png

3 n' f; `) n# H& ^
▲ 图15. AD 打开工程文件
8 p" Z4 a  {# M0 ^  T. Z工程打开后如下图:
) x+ g, l! [; v
27.png

) v+ ?2 }2 c5 h3 H6 H
▲ 图16. 打开后的工程
  a3 c& a" E8 j: s' K2 d接着运行脚本,File --> Run Script…

0 z+ Q$ f; s& |2 R1 d" j' p
28.png

$ K2 h. o' i) W/ ]( n. P# }( W
▲ 图17. 运行脚本 ! Q7 u+ V* Y( s
在弹框中选择 UL_Form.pas 后点击 OK 运行。

4 K5 s9 O, P  Q; J
29.png
* Q7 T$ r; |% i9 {+ b( c
▲ 图18. 选择文件运行脚本4 F+ e4 j- Z& G
紧接着会生成另一个弹窗,选择导入刚才解压的 UL 生成的 TXT 文件,点击开始导入:
# i8 E  y7 O5 C  d
30.png

4 o  T* Z6 L3 J9 V' X. Q' p
图19. 选择 TXT 文件后导入
& k) S4 S' ~5 H9 E等待一会可以看到库文件已经生成:

, ?3 I. x2 b) u7 d: I
31.png
8 e6 M, m+ @4 o) A) r9 O图20. 生成的 LibPkg 文件 生成的.pcblib 库文件需要关闭 AD 再重新打开后才能正常检视/使用。图21. 生成的库文件 3.2. 在 PADS 中生成封装库 打开下载的 PADS 封装导入文件,可以看到压缩包内有三个文件:图22. PADS 的库导入相对简单,打开 PADS Layout, 点击菜单栏 File --> Library, 弹出元 件库管理框 Library Manger:图23. 元件库管理器% u% o8 j2 Z% L& A4 K# `
在元件库管理器框中依次选择: Decals --> Import 导入 pads.d 文件 如图 24 Parts --> Import 导入 Pads.p 文件,如图 25 Logic --> Import Pads.c 文件, 如图 26 导入后点击 Open 即可生成对应的库文件。 9 K+ V3 U$ H5 {' a1 g
图24. 导入 Decals 封装
* |  Z: P9 Q* W! a" h# H图25. 导入 Parts 库" |7 g5 u9 K+ b3 J0 W
图26. 导入 Logic 库 图27. 生成的原理图封装库
& r) c8 v7 Y* y" i0 f7 c图28. 生成的 PCB 电气封装库 & B0 J0 r) y; ~6 z1 ]
8 ?5 O- C9 m! H3 k
04小结
& {$ Y7 X! u1 T  m9 I* e* u3 d% p+ a使用 STM32CubeMX 下载得到的元件封装可以让工程师从繁琐的元件封装库设计中解放出来,特别是当管脚数目较多时。很多用户对原理图封装库的外形,尺寸,管脚排列/命名,功能排列等方面,以及对 PCB 封装的焊盘大小,阻焊设计,字符标注等方面有特别的要求,下载的文件效果可能不 能全部满足要求。这些客户可以在下载的文件上做适当的修改。这样可以避免全新设计封 装库过程中可能发生的各种错误,特别是常发生的 PCB 封装尺寸中的错误。
. Y' j  X7 ?* `0 q7 p$ P
赞 收藏 评论3 发布时间:2024-10-24 08:22

举报

3个回答
LTLT 回答时间:2024-10-24 09:44:57

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

STMWoodData 回答时间:2024-10-24 09:46:51

这个好,越来越方便了

科 回答时间:2026-1-15 19:15:05

stm32cubeMX 2.0 可以直接生成AD元件和封装了

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版