Altium Designer学习之1——Stm32f103c8t6最小系统板(PCB制图,手把手教程)

目录


文章末尾有项目的所有文件分享链接
包括原理图、PCB、原理图库、封装库
绘图软件:Altium Designer 2019

一、项目工程的创建

1.新建项目

文件-> 新建-> 项目
在这里插入图片描述
修改项目名-> 修改存放路径-> 点击创建

2.新建项目文件

【1】新建原理图:新建的项目鼠标右键-> 新建…到工程-> Schematic
【2】新建PCB:新建的项目鼠标右键-> 新建…到工程-> PCB
在这里插入图片描述

二、原理图的绘制

1.最小系统板总原理图(模板)

在这里插入图片描述
原理图+封装库+原理图库:
链接:https://pan.baidu.com/s/1S-EqdsDofUg2I7RcY392wA
提取码:ajlx

2.小技巧

2.1.1 放置导线

在这里插入图片描述

2.1.2 批量放置导线(偷懒):

在这里插入图片描述

2.2.1 放置网络标签

在这里插入图片描述

2.2.2 批量放置网络标签

在这里插入图片描述

2.3 元器件的翻转(水平、垂直、90度)

水平翻转180度:放置的时候按键盘 x键
垂直翻转180度:放置的时候按键盘 y键
翻转90度:放置的时候按键盘 空格键
在这里插入图片描述

2.4 方框红线的画法

在这里插入图片描述
注意:选择线之后,按下键盘TAB键可以修改线的颜色和大小等参数
放置的线不直时,按下空格,可以把线变成正交

2.5 批量给元器件编号

方法1:
工具-> 标注 -> 原理图标注
在这里插入图片描述
更改更新列表 -> 接收更改创建
在这里插入图片描述
验证变更 -> 执行变更
在这里插入图片描述
方法2:
工具 -> 标注
先按 重置原理图位号,再按 强制标注都有原理图
在这里插入图片描述

3.主控芯片c8t6

在这里插入图片描述
实物图如下:
在这里插入图片描述

4.SWD仿真接口

在这里插入图片描述
实物图如下:
在这里插入图片描述

5.复位电路

在这里插入图片描述
实物图如下:
在这里插入图片描述

6.下载方式选择电路

在这里插入图片描述
实物图如下:
在这里插入图片描述

7.USB接口电路

在这里插入图片描述
实物图如下:
在这里插入图片描述

8.晶振电路

在这里插入图片描述
实物图如下:
在这里插入图片描述

9.指示灯电路

在这里插入图片描述
实物图如下:
在这里插入图片描述

10.电源滤波电路

在这里插入图片描述

11.稳压电路

在这里插入图片描述
实物图如下:
在这里插入图片描述

12.最终成果原理图

在这里插入图片描述

三、原理图封装

1.单个元器件封装

双击需要封装的元器件 -> Footprint里的Add… -> Footprint
在这里插入图片描述
浏览 -> 选择封装库 -> 选择合适的封装 -> 确定
在这里插入图片描述
确认信息后,点击确定,封装完成
在这里插入图片描述

2.批量封装元器件

选择需要批量处理的单个元器件-> 鼠标右键-> 查找相似对象
在这里插入图片描述
快捷键CTRL A 全选
双击任意元件 -> 点击Add… 添加封装
在这里插入图片描述
取消选择查找相似对象的方法:
快捷键:SHIFT C (要在英文输入法下按)
在这里插入图片描述

3.封装管理器检查

快捷键 :t g(先按键盘t,再按键盘g)
在这里插入图片描述
查看一下各个元件是否已经封装。

4.检查编译

鼠标右键-> 点击第一个
在这里插入图片描述
右下角Panels -> Messages
在这里插入图片描述
绿色 没有错误
在这里插入图片描述

四、PCB布局

1.PCB封装的导入

设计 -> Update PCB Document
注意:必须先保存CTRL S,才能导入,不然无法导入
在这里插入图片描述
验证变更 -> 都是绿色的✓ -> 执行变更
注意:必须在项目下要建好PCB文件 即xxx.PcbDoc
在这里插入图片描述
导入结果如下
在这里插入图片描述
把封装下的红色框删除(没有用)
单击红色框 -> 键盘点击DELETE键 删除
在这里插入图片描述

2.PCB板子前期准备工作

2.1设置原点

编辑-> 原点-> 设置-> 点击任意地方设置原点
在这里插入图片描述

2.2画PCB的边界线

小工具栏最右边-> 选择线条
在这里插入图片描述
使用鼠标让线从坐标(0,0)开始画
在这里插入图片描述

2.3 画出PCB板子的大致形状

利用排针的长度预估PCB板子的长度,画出大概形状
在这里插入图片描述

2.4 设置板子形状

点击一条边-> 按SHIFT键点击其他三条
设计 -> 板子形状 -> 按照选择对象定义
在这里插入图片描述
完成的效果:在这里插入图片描述
如果无法成功设置板子,原因是你画的四条边不是封闭的,有开口

2.5 锁定某个元器件

双击排针-> 点击锁定
可以防止后续操作,误触移动位置
在这里插入图片描述

2.6隐藏飞线的方法

快捷键:n -> 隐藏连接 -> 全部
在这里插入图片描述
同理,显示飞线的方法:
快捷键:n -> 显示连接 -> 全部

2.7 切换丝印层,画辅助线

在这里插入图片描述

2.8 开启交叉选择模式

快捷键·:SHIFT CTRL X
在这里插入图片描述

2.9 把元件丝印文字缩小

随便选中一个-> 查找相似对象
在这里插入图片描述
直接点确定
在这里插入图片描述
Font Type 选择第一个 TrueType
在这里插入图片描述

3. 依次放置所有的模块

3.1 放置stm32主控芯片

放置Stm32f103c8t6芯片
在这里插入图片描述

3.2 放置USB接口

在开启交叉选择模式下
在原理图中选择“USB接口电路”,整个电路
PCB这边会自动选中相应元件
鼠标拖下来,既可以使用了
在这里插入图片描述
将USB接头放在如下位置
在这里插入图片描述
把三个电阻放置到如下位置
(移动过程中,按下键盘L键,使其放置到底层)
在这里插入图片描述
注意:PCB中,绿色即为报错
如果放置后为绿色,则说明USB和电阻在空间上重合了
在这里插入图片描述

3.3 放置晶振电路

在这里插入图片描述

3.4 放置SWD仿真电路

在这里插入图片描述

3.5 放置指示灯电路

在这里插入图片描述

3.6 放置下载方式选择电路

在这里插入图片描述

3.7 放置复位电路

在这里插入图片描述

3.8 放置稳压电路

在这里插入图片描述

3.9 放置电源滤波电路

在这里插入图片描述

3.10 PCB完成3D正反图

切换3D 、 2D的方法:
切换3D:英文输入法下按 数字3
切换2D:英文输入法下按 数字2
在这里插入图片描述

3D图 正面
在这里插入图片描述

3D图 反面
在这里插入图片描述

注意:3D模式下,按键盘SHIFT键拖动鼠标,可以让3D模型旋转起来

五、PCB布线

1.小技巧

1.1 取消隐藏跳线

快捷键:n -> 显示连接 -> 全部
在这里插入图片描述

1.2 隐藏与显示丝印层

在最下面的Top Overlay鼠标右键 -> Hide
在这里插入图片描述
隐藏底层丝印层同理:
在最下面的Bottom Overlay鼠标右键 -> Hide
在这里插入图片描述
显示丝印层
在这里插入图片描述

1.3 布线时对地GND的处理

因为GND在后面覆铜工作的时候会连在一起,所以不需要手动将GND连接
快捷键:n -> 隐藏连接 -> 网络
在这里插入图片描述
弹窗输入GND,点击确定
在这里插入图片描述

1.4 解决芯片绿色问题

芯片发绿,报错的问题是引脚小于10mil,修改电气规则即可
设计 -> 规则
在这里插入图片描述
Electrical -> Clearance -> Clearance -> N/A改成6,回车 ->确定
在这里插入图片描述
结果如下,不报错了
在这里插入图片描述

1.5 顶层和底层的线连接方法

通过放置过孔
在这里插入图片描述
双击过孔 -> 选择网络net
相同网络才能连接到一起
在这里插入图片描述
上下两层各自连到相同过孔
在这里插入图片描述
其中,顶层的线是红色的,底层的线是蓝色的
注意:快捷创建过孔的方法
移动线条的过程中按下键盘数字2
在这里插入图片描述

1.6 布置15mil电源VCC线

画线 -> 键盘TAB键 -> 10mil改成15mil
发现,无法修改,这是因为默认设置里线的最大、最小值都为10mil,需要修改
在这里插入图片描述
点击Width Constraint -> 最大宽度改成20mil
在这里插入图片描述
修改成功
在这里插入图片描述

2.手动布线

点击交互式布线连接 -> 手动连线
在这里插入图片描述
选择一个网络后,与它相同网络的就会显示高亮,不同就会变成阴影,方便布线
在这里插入图片描述
调节量、暗的方法
在这里插入图片描述
在这里插入图片描述

3.自动布线

3.1 修改电气规则

【1】修改线的间距
设计 -> 规则
在这里插入图片描述
Electrical -> Clearance -> Clearance -> N/A改成6,回车 ->确定
在这里插入图片描述
【2】修改5V的线宽和优先级
设计 -> 规则向导
在这里插入图片描述
next -> 选择Width Constraint -> next
在这里插入图片描述
选择一个网络 -> next
在这里插入图片描述
Belongs to Net的条件值改成 5V -> next
在这里插入图片描述
将5V的规则优先级调高 -> next ->finish
在这里插入图片描述
修改线宽和名称 -> 应用
在这里插入图片描述
【3】修改过孔大小
设计 -> 规则
在这里插入图片描述
Routing -> Routing Via Style -> RoutingVias
直径的优先改成24mil,孔径的优先改成12mil
在这里插入图片描述

3.2 开始自动布线

布线 -> 自动布线 -> 全部
在这里插入图片描述
选择 Route All
在这里插入图片描述
正在自动布线
在这里插入图片描述
完成提示
在这里插入图片描述
可以手动修改一些细节,让板子更好看
在这里插入图片描述

3.3 布线完成展示

在这里插入图片描述

六、PCB覆铜

1.先给任意一面铺铜 Bottom Layer

放置多边形平面 -> 铺铜
在这里插入图片描述
将板子围成一个封闭的大图形
在这里插入图片描述
使用选择过滤器,只选择铺铜
在这里插入图片描述
修改铺铜的net,not net 改成GND
在这里插入图片描述
现在铺铜的层是底层,蓝色代表底层
铺铜是需要顶层、底层都要铺的
在这里插入图片描述
勾选移除死铜(Remove Dead Copper)
在这里插入图片描述
现在都铺铜是全部绿色状态(报错),需要重新铺铜
工具 -> 铺铜 -> 重铺选中的铺铜
在这里插入图片描述
底层铺铜效果展示
在这里插入图片描述

2.再给另一面铺铜 Top Layer

使用选择过滤器,只选择铺铜 -> 框选全部
-> 复制粘贴 CTRL C + CTRL V
在这里插入图片描述
复制粘贴完之后,全是绿色,疯狂报错
在这里插入图片描述
框选新复制粘贴的覆铜 -> 双击
Net 改成 GND,Layer改成 Top Layer
在这里插入图片描述
现在都铺铜是全部绿色状态(报错),需要重新铺铜
工具 -> 铺铜 -> 重铺选中的铺铜
在这里插入图片描述
底层铺铜效果展示
在这里插入图片描述

3.设置铺铜和走线的间距

为了美观和节约成本,可以设置增大一下铺铜和走线的间距
设计 -> 规则
在这里插入图片描述
Electrical -> Clearance -> Clearance -> 高级
Poly这里全部设置成10 -> 确定
在这里插入图片描述
工具 -> 铺铜 -> 所有铺铜重铺
在这里插入图片描述

七、丝印的整理

1.调整丝印字体大小

打开丝印
左下角LS -> All Layer
在这里插入图片描述
打开选择过滤器 -> 只选 Texts
在这里插入图片描述
选择任意字 -> 右键 -> 查找相似对象
在这里插入图片描述
直接按确定
在这里插入图片描述
Text Height 改成30mil
在这里插入图片描述

2.调整丝印摆放位置

换成3D模式,把丝印的位置整理好
3D模式切换:英文输入法下,按数字3
2D模式切换:英文输入法下,按数字2
旋转板子的方法:按键盘SHIFT键,拖动鼠标右键
在这里插入图片描述

八、电气规则检查

1.开始电气检查

工具 -> 设计规则检查
在这里插入图片描述
点击 运行
在这里插入图片描述
发现有335个错,开改
在这里插入图片描述

2. 疯狂修改335个错误

2.1 Silk To Solder Mask错误

在这里插入图片描述
这189个错误都是丝印层和对象之间间距大小引起的
设计 -> 规则
在这里插入图片描述
Manufacturing ->Silk To Solder Clearance
-> SilkToSolderClearance
对象与丝印层的最小间距改为1mil
在这里插入图片描述
改完之后,重新电气规则检查,发现只剩下159个错误了
在这里插入图片描述
发现1mil仍有部分报错,改为0mil
在这里插入图片描述
按前几步修改,把间距改成0mil
在这里插入图片描述
重新电气规则检查,189个丝印错误全部修改完毕
在这里插入图片描述

2.2Minimum Solder Mask Sliver错误

有75个Minimum Solder Mask Sliver错误
在这里插入图片描述
这是PCB焊盘与阻焊层之间间距太小造成的
设计 -> 规则
在这里插入图片描述
Manufacturing ->Minimum Solder Mask Sliver
-> MinimumSolderMaskSliver
最小画阻焊层裂口间距改为1mil
在这里插入图片描述
重新电气规则检查,发现这个大错误还有2个没改过来
在这里插入图片描述
改成0mil
在这里插入图片描述
重新电气规则检查,75个焊盘错误,已消除
在这里插入图片描述

2.3 Silk to Silk错误

最后还有Silk to Silk 71个错误
在这里插入图片描述
这是丝印与丝印之间间距太小造成的
设计 -> 规则
在这里插入图片描述
Manufacturing ->Silk to Silk Clearance
-> SilktoSilkClearance
最小画阻焊层裂口间距改为0mil
在这里插入图片描述
重新电气规则检查,71个丝印错误,已消除
在这里插入图片描述
0错误 0警告,收工完成

九、成果展示

1.PCB原理图展示

在这里插入图片描述

2.PCB展示

在这里插入图片描述

3. 3D模式正面图

在这里插入图片描述

4. 3D模式背面图

在这里插入图片描述

5. 3D模式侧面图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十、项目分享下载链接

1.百度网盘

里面有板子的所有文件包括原理图、PCB、原理图库、封装库
在这里插入图片描述
链接:https://pan.baidu.com/s/1glVbd1JNyPL_XaiKg8j41w
提取码:4nh4

### 回答1: c/c++和易语言都是常用的编程语言,可以用来编写驱动内存无痕读写的源码。 1. C/C++的驱动内存无痕读写源码: C/C++可以使用Windows提供的驱动开发工具包(Windows Driver Kit,简称WDK)编写驱动程序。在编写驱动程序时,可以使用设备驱动程序接口(Device Driver Interface,简称DDI)函数来读写内存。 首先,需要创建一个设备驱动程序,定义驱动程序的入口点,在其中初始化驱动程序,并注册读写内存的回调函数。在回调函数中,可以使用DDI函数来访问和修改内存。 2. 易语言的驱动内存无痕读写源码: 在易语言中,可以使用EasyAnti提供的驱动内存读写接口来实现驱动内存无痕读写的功能。EasyAnti是一个易语言开发的驱动内核模块,提供了一系列的读写内存函数。 首先,需要加载EasyAnti驱动模块,并进行初始化。然后,使用EasyAnti提供的读写内存函数来访问和修改内存。 无论是使用C/C++还是易语言,驱动内存无痕读写都需要特殊的权限和操作系统支持。此外,在进行驱动内存无痕读写时,需要确保程序安全可靠,避免对系统造成损害。 ### 回答2: C/C++和易语言都是编程语言,可以用来编写驱动内存无痕读写的源码。 驱动内存无痕读写是指在操作系统内核层面进行内存读写操作,不留下任何痕迹,不受应用程序或者防护软件的检测和干扰。 在C/C++中,可以使用Windows内核编程技术来实现驱动内存无痕读写。具体步骤如下: 1. 创建一个内核模式的驱动程序,可以使用Visual Studio等开发工具。 2. 在驱动程序中,使用操作系统提供的API函数来打开、读取和写入进程的内存。 3. 在驱动程序中,通过提权来获得对内核空间的访问权限。 4. 使用内核模式的I/O函数来读取和写入指定进程的内存。 在易语言中,可以使用Win32扩展库来实现驱动内存无痕读写。具体步骤如下: 1. 创建一个易语言项目,导入Win32扩展库。 2. 使用Win32扩展库提供的函数和接口,来打开、读取和写入进程的内存。 3. 通过调用Windows API函数来获得对内核空间的访问权限。 4. 使用Win32扩展库提供的函数来读取和写入指定进程的内存。 无论是使用C/C++还是易语言,实现驱动内存无痕读写都需要对操作系统内核有一定的了解,并且需要具备驱动开发和内核编程的相关知识和技能。此外,如此高级的技术也可能涉及到系统安全和法律合规性的问题,需慎重使用。 ### 回答3: C/C++和易语言都是常用的编程语言,可以用于编写驱动程序和进行内存的读写操作。下面分别讨论这两种语言的驱动内存无痕读写源码实现。 对于C/C++语言来说,可以通过直接调用操作系统提供的API函数来实现驱动内存的无痕读写。例如,在Windows平台上,可以使用Windows内核编程接口(Kernel-Mode Driver Framework,简称KMDF)和Windows驱动开发包(Windows Driver Kit,简称WDK)来编写驱动程序。具体实现的步骤包括以下几个方面: 1. 首先,需要通过注册驱动程序等步骤将编写的驱动程序加载到操作系统中。 2. 然后,驱动程序使用C/C++语言编写,并通过调用API函数来获取目标进程的句柄,进而访问进程的内存。 3. 在获取目标进程的内存句柄之后,可以通过调用API函数读取或写入目标进程的内存数据。 相比之下,易语言编写驱动程序则较为简单。由于易语言的语法和开发方式相对于C/C++来说更加简洁,易于上手和理解,因此许多初学者也会选择使用易语言编写驱动程序。易语言的编程环境自带了驱动开发模块,可以直接在集成开发环境中编写驱动程序,无需独立的驱动开发包。然而,易语言编写驱动程序的功能和灵活性相对较弱,对于一些高级操作可能存在限制。 综上所述,C/C++和易语言都可以用于编写驱动程序和进行内存的无痕读写操作。相比而言,C/C++提供了更为底层、灵活和功能丰富的编程能力,适合于对性能和功能有较高要求的应用场景;而易语言则更适合初学者或对功能需求较简单的场景。
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值