从零制作一个烧录器

从零制作一个烧录器

yjy Lv1

目标

通过学习软硬件知识,动手从零制作一个烧录器,实现给嵌入式芯片烧录功能。

理论知识

烧录

通俗地讲就是将写好的程序导入到我们的芯片上。但是为什么不直接叫导入而是叫“烧录”?
烧录(通常指一般意义上的烧录),是通过刻录机将数据刻录(也称为烧录)到刻录盘上,例如 CD、DVD 等介质。而在电子产品的制造过程中,我们常常使用单片机或 ARM 控制器。这些控制芯片在初始状态下并没有任何程序。为了使单片机或 ARM 芯片按照我们设计的功能执行操作,我们需要将预先编写好的程序文件烧录到控制器芯片中。
在以前,内存是 PROM 只读存储器 (不可擦写),在写入程序的过程中通过改变硬件内部的电子分布,并且这个过程是不可逆的,与热能和烧毁有关联,因此叫做烧录。但是随着科技的发展,如今的内存发展到可擦写上百万次甚至上亿次了。不过写入程序的名称“烧录”仍然沿用至今。

通信协议

1. 为什么需要烧录器?学会区分:USB 和 TTL

2. TTL

transistor transistor logic (晶体管-晶体管逻辑电平)
TTL 电平信号规定,+5V 等价于逻辑“1”,0 V 等价于逻辑“0”(采用二进制来表示数据时)
一般的电子设备用的多是 TTL 电平,但是它的驱动能力和抗干扰能力很差,不适合作为外部的通信标准,一些通信方式如 RS232、RS485、USB 等在传输线上使用的不是 TTL 电平,因此这些通信线上的信号在电子设备端要进行电平转换,才能够正常通信。

拓展

RS232、RS422、RS485、USB


Transistor-transistor logic –wiki
什么是TTL?标准USB接口是TTL吗?RS232、RS422、RS485的区别?-CSDN博客

3. UART

universal asynchronous receiver-transmitter
UART 有 4 个 pinVCC, GND, RX, TX), 用的 TTL 电平, 低电平为 0 (0 V),高电平为 1(3.3 V 或以上)。
UART 通常是单个(或集成电路的一部分)集成电路 (IC),用于通过计算机或外围设备串行端口 进行串行通信。一个或多个 UART 外设通常集成在微控制器 芯片中。专用 UART 用于汽车智能卡SIM 卡

4. USB

线缆

USB 线缆分为很多种,这里展示常见的 5 种线缆,分别是 Mini-USB、USB-TypeA、USB-TypeB、USB-TypeC、Micro-USB 接口

电气特性

USB 使用差分传输模式,标准的 USB 连接线使用 4 芯电缆:5 V 电源线(VBUS)、差分数据线负(DM)、差分数据线正(DP)和地线(GND)。在 USB OTG 中,使用 5 芯线缆,比标准的 USB 多了一条 `身份识别线(ID)

差分信号

差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的单端信号传输,差分传输在这两根线上都传输信号,这两个信号的振幅 相同,相位 相反。使用两根线传输信号相比一根线会更加稳定,可以减少干扰带来的影响。。


差分信号
usb

5. USB 转 TTL

通过 CH340 即可转化电平,达到从电脑发送的信号转化给芯片所需的信号。

学会看数据手册 Datasheet

数据手册包含了元器件的详细说明,是我们全面学习了解一个元器件很重要的一个工具。因此学会看数据手册是非常基本的操作。

1. 查找数据手册

  1. 半导小芯-芯片查询工具_芯片替代查询_数据手册查询_规格书查询_datasheet查询_IC查询
  2. Site Unreachable
  3. taobao | 淘寶

2. 学习元器件

数据手册不一定要一页一页地仔细浏览,它更像一本字典,按需查看即可。
查看数据手册中对元器件的介绍,了解芯片的特性、封装、作用、引脚、协议等等。

如何阅读datasheet_如何看数据手册-CSDN博客

3. 应用电路

这是应用芯片最直接的地方,通过应用电路可以很快的绘制所需的 pcb。
举例:LDO 线性稳压器,IN 跟 OUT 都要接一个 100nf(104)的滤高频,220uF 的钽电容滤低频(只要 10uf 以上就行,理论上越大越好,可以接 100uF)

ch340 的应用电路,注意这是 ch340T, 我们要使用的是 ch340G, 注意区分

PCB 绘制

1. 快速上手嘉立创 EDA

嘉立创 EDA 官方教程 嘉立创EDA专业版用户指南

设计流程

简单的设计流程如下:
1、如果没有需要的库,则先画库:器件,符号,封装。器件需要绑定符号和封装。
2、新建工程,放置器件在原理图
3、原理图转 PCB,模块化布局,合理分配元件
4、导出 BOM 和 Gerber 下单。

绘制目标

选择一种即可,第二种相当于第一种的升级板。

1. 标准板 ch340g

原理图

pcb

2. 包含电压转化的 ch340

有能力的同学可以选择这种,挑战一下自己,主要增加了一个电平选择。

原理图

PCB 正面

PCB 背面

2. 绘制技巧

详见文末,仅供参考,灵活应用,无需死记。

关于串口通信思考_串口需要上拉电阻吗-CSDN博客

实践部分

PCB 制作

前期制图

1. 安装嘉立创 EDA 专业版

软件下载 - 嘉立创EDA

2. 导入激活文件

生成客户端激活文件 - 嘉立创EDA

绘图

视频教程

〖PCB绘制〗CH340G教程_哔哩哔哩_bilibili

[!tip] 视频的操作的可能有些错误,弹幕已经更改,并且以上面标准版的原理图为标准。

要注意的点

免费打板

打开网页 PCB打样-PCB报价-专业PCB厂家-深圳嘉立创科技集团股份有限公司 ,注册并登录。
下载嘉立创下单助手,打开个人主页,在左侧点击优惠券中心
选择 1-4 层喷锡 EDA 专用券

然后点击 PCB 立即下单

上传我们的 PCB 文件, 点击立即下单

个性化服务默认即可,注意要填写板上加标签,根据需要自行选择,不需要 SMT 贴片,不需要开钢网,收货地址自行填写

然后在右侧选择优惠券,即可零元购。

购买元器件

打开嘉立创 EDA, 打开工程文件,然后在右上方点击下单,选择元件下单,点击器件标准化检查,完成后应会自动跳转,然后选择采购 5 套, 因为选择 1 套跟 5 套的价格是差不多的,大多数元器件都是 5 件起发货,所以同学之间可以一起拼团。最后填写一下个人信息即可完成元器件购买。当然也可以在淘宝购买对应的元器件。

焊接

前言

手工焊接是电子产品装配中的一项基本操作技能,它是利用烙铁加热被焊金属件和锡铅焊料,熔融的焊料湿润已加热的金属表面使其形成合金,待焊料凝固后将被焊金属件连接起来的一种焊接工艺,故又称为锡焊。

焊接器材

电烙铁

电烙铁是电子制作和电器维修的必备工具,主要用途是焊接元件及导线,这里仅针对两种烙铁头进行介绍,一般便宜的电烙铁即可达到我们的学习要求。锡焊用到的各种焊接笔头有以下几种:
尖头:尖头烙铁头是焊接作业中应用最广的一种,适合于一般焊接,适合焊接空间狭小的场合。
弯头:弯头烙铁头主要用于锡炉架的焊接,焊接面积大的场合使用,易弯曲,不易烫伤。
平头:平头烙铁头主要用于对焊接表面平面的焊接,如电脑主板锡炉架的焊接等。
刀头:适用于 SOJ, PLCC, SOP, QFP,电源, 接地部分元件,修正锡桥,连接器等焊接。

焊锡丝

锡是用来链接各种元件的导体,建议购买无铅锡丝(减少对身体的危害)。焊锡丝还可自带松香助焊剂,可买带松香的焊锡丝方便焊接操作。

助焊剂

助焊剂是一种常用的焊接材料,能在焊接过程中起到助焊的作用,使焊接更加牢固和稳定。助焊剂的主要成分包括活性剂、稳定剂和溶剂等,能有效地清除金属表面的氧化物,促进焊接表面的清洁和润湿,提高焊接质量。常见的助焊剂有松香、焊油等。

焊盘

表面贴装装配的基本构成单元,用来构成电路板的焊盘图案,即各种为特殊元件类型设计的焊盘组合。洞洞板是我们会用到的焊盘。

耐热海绵

电烙铁头长时间加热状态下会氧化,阻止了锡的附着,此时将加热了的电烙铁在海绵上来回磨几下即可去掉氧化层,然后就可以再涂助焊剂继续使用了。

热风枪

热风枪通过吹出热风使锡丝融化,使锡与焊盘、元器件融合,然后待其冷却凝固,从而达到焊接目的。
热风枪相对与电烙铁有一定的优势,可以批量焊接元器件,但也要注意焊接温度和风速。


用热风枪焊接贴片元器件_哔哩哔哩_bilibili

焊接操作

1 、电烙铁插座和搁架放右手边,方便我们取用,温度建议 300 度到 350 度。
2 、准备高温海绵,海绵加水,并用手捏刚好不出水为适,放置搁处。
3 、新电烙铁使用前要先上锡保护,焊头预热 1~2 秒后蘸点松香,然后上锡,有助于电烙铁快速导热。已用过的烙铁头表面若有氧化物不能上锡,可以在高温海绵上擦拭一下,接着反复上锡、海绵擦拭几次。4 、元件脚垂直地插在焊盘中,关于元件弯角,不要弯在根部,容易断开,可以用镊子帮忙。元件引脚及导线焊在线路板上后过长部分要剪掉。
5 、左手焊锡丝,右手电烙铁,元件脚垂直焊盘,电烙铁抵住焊盘与焊盘 45 度,电烙铁同时也要抵住元件引脚。
6 、左手焊条抵住焊盘,在焊锡融化至焊盘上,量不多不少,撤走焊条,电烙铁继续抵住。
7 、继续用电烙铁加热焊点,等焊锡完全湿润和扩散,焊点外表明亮光滑,这时候顺势向斜上方撤电烙铁。
8 、电烙铁关电源后,利用余热在烙铁头上上一层锡,以保护烙铁头。在下次使用时,电烙铁蘸松香上锡即可继续使用。


丝滑,焊接贴片电阻的正确姿势_哔哩哔哩_bilibili
焊接教学—如何焊接多引脚元器件_哔哩哔哩_bilibili

注意事项

1、务必注意用电安全,还要防止烫伤!
2 、电烙铁不能碰到电线!
3 、避免长时间高温干烧电烙铁!烙铁头氧化变黑后,离报废就不远了。
4 、焊接时间不宜过久(不然会导致芯片烧坏或电路烧断),但要完全熔着,以免造成冷焊。
5 、焊点完全冷却前,不可移动
6 、电烙铁不用时一定要放置在搁架上,并随时保持烙铁头的清洁。

实操

热风枪版

打开嘉立创 eda,打开工程 pcb,在工具中选择 焊接辅助工具,摆好板子。

在焊盘涂上锡膏,根据提示摆放元器件。

[!warning] 注意芯片的方向(看圆点),注意 led 灯的方向,注意有没有虚焊。

最后上用热风枪加热,冷却后再焊接上接口。

烧录

1. 安装驱动

windows

CH341SER.EXE

linux

CH341SER_LINUX.ZIP

1
2
3
cd driver
make
sudo make install

此时插入设备,并连接好 stm,终端输入 lsusb, 此时应该看到
Bus 003 Device 006: ID 1a86:7523 QinHeng Electronics CH340 serial converter
终端输入 sudo dmesg | grep tty 应该看到最下面一行
usb 3-2: ch341-uart converter now attached to ttyUSB0

mac

CH341SER_MAC.ZIP

2. 下载固件

windows

下载 Flymcu 单片机在线编程网
烧录教程
视频版使用CH340和FlyMcu给STM32下载程序_哔哩哔哩_bilibili
文字版 STM32芯片ISP串口程序一键下载—FlyMcu - STM32团队 ST意法半导体中文论坛
添加我们编译好的. hex 文件,选择好串口 (应该会显示 ch340),波特率为 115200
将 stm 的 rx 连接烧录器的 tx, stm 的 tx 连接烧录器的 rx, stm 的 3v3 和 GND 则对应连接烧录器即可。

[!warning] stm32 的 boot0 要接 1,boot1 要接 0,然后按一下复位,下面选择 DTR的地电平复位,RTS高电平进bootloader 点击读器件信息,成功的话回显示下面的信息

将生成的固件烧录到芯片中。

linux

安装 stm32flash

1
yay -S stm32flash

或者官网下载
https://sourceforge.net/projects/stm32flash/files/

烧录

进入工程目录

1
2
sudo stm32flash /dev/ttyUSB0
sudo stm32flash -w ./cmake-build-debug/ch340g.elf /dev/ttyUSB0

注:更改自己的. elf 文件位置

参考部分


ch340 相关资料, 包括驱动,原理图等等。 USB转串口 - 南京沁恒微电子股份有限公司

PCB 部分绘制技巧

  • 走线宽度
    • 电源走线:最小 8 mil(对于芯片引脚出现部分可以为 6 mil)、通常 15 mil、最大 60 mil
    • 信号线:通常 6 mil、8 mil/10 mil(空间足够的情况)
  • 过孔大小
    • 12 mil/20 mil(孔径 12 mil,焊盘大小 20 mil)、10 mil/20 mil(孔径 10 mil,焊盘大小 20 mil)
  • 电气间距
    • 走线间距:3 倍 W,12 mil(因为走线是 6 mil 宽度)
    • 铺铜间距:10 mil(铜皮与其他对象之间)
    • 铜皮与板框间距:>0.5 mm,为了防止铜皮卷边
  • 铺铜规则
    • 铺铜连接方式:焊盘孔十字连接、过孔全连接、表贴焊盘全连接
    • 器件间距规则:10 mil,考虑到如果空间不够,丝印可以相近。
  • 电气性能
    • 滤波电容:需要放置在尽量靠近被滤波的对象处
    • 晶振:应该放置在尽量靠近芯片晶振引脚处,且晶振中间不能走线
    • 走线:尽量走钝角,不要走锐角线,更不要直角
  • 其它注意事项:
    • 相邻两层的走线不要重合。解释:因为层厚度很小,如果相邻两层的走线重合那么从同一个平面看就相当于它们距离很近,这样就会引起串扰影响信号的质量。建议垂直交叉
  • 铺铜使用:
    - 增加铜皮宽度增大载流能力。
  • 布局技巧:
    • 前提:
      • 在原理图设计时就应该按模块化来设计。
      1. 确定主要的以及大的元器件的位置(根据用户习惯等来放置)
      • 先把主要的器件(主控芯片、核心器件)放置 PCB 板上,以及将一些有固定位置的器件放置好。
      • 对于一些接口器件(排针座、USB 口等),应该放置在 PCB 板边上。
      • PCB 板的长边常用于放置一些排针座,而对于 USB 口、充电口这类的经常拔插的应该考虑用户习惯来规划它们放置的位置。对于屏幕和按钮也应该遵循用户习惯来放置
      1. 按模块将元器件放置在 PCB 周边
  • 布线技巧
    1. 隐藏丝印:
    • 减少视觉干扰因素。(因为丝印过多会影响我们布线)
    1. 短的走线先连接起来,长的线就先打孔(添加过孔)
    1. 先走信号线,然后再走电源 VCC。最后再处理 GND 网络
    1. 换孔/换线。
  • 整理丝印
      1. 对于 PCB 板空间比较宽裕的情况下,需要在 PCB 板上放置好丝印
      1. 对于 PCB 板空间不够的情况下,需要将丝印单独输出。即其他对象都隐藏只保留丝印层
    • 注意事项:
        1. 焊盘上不能放置丝印
        1. 阻焊上不能放置丝印
        1. 过孔盖油的情况下,丝印可以放置在过孔上。过孔开窗了就不行
      • 丝印大小:字宽/字高:4/25 mil、5/30 mil、6/45 mil
      • 丝印方向
  • tips
    • 坚持手动布线,慎用自动布线
      • 放置完所有的组件后,你可以使用自动布线工作检查你的完成率,如果低于 85%,就需要调整你的组件放置。
    • 了解制造商的规格
      • 看制造商是否对最小迹线宽度、迹线间距以及他们可以组装的 PCB 层数有要求
    • 合适的走线宽度
      • 如果可用空间不是问题,建议使用宽度大于最小值的走线,从而提高电路板的热管理和可靠性,外层上的走线可实现更好的热交换,因此可能具有更小的宽度
    • 元器件放置
      • 元器件的放置方式决定了 PCB 设计是否成功。要正确放置元器件,就必须要充分了解它们的特性。
      • 例如,热敏电解电容必须远离发热二极管、电阻和电感。
    • 接地层
      • 每个 PCB 至少需要一个接地层,因为它为所有走线提供了相同的参考点来测量电压
      • 最简单和最线性的解决方案是创建一个坚固的接地层,可以是整个铜区域,在多层板的情况下甚至可以是整个层
      • 在传输信号的走线下放置一个接地层有助于降低其阻抗并提高抗噪能力,建议是将电源和接地层放置在电路板的最内层,使它们保持对称和居中,这样可以防止 PCB 弯曲
    • 放置散热孔和焊盘
      • 放置散热孔可以提高 PCB 板的散热效率。
        • 散热孔可以将空气流动引入 PCB 板内部,并且增加 PCB 板表面积,使得热量更容易散发。此外,散热孔还可以减少 PCB 板表面的气泡和焊接时的气体积聚
      • 放置焊盘可以提高 PCB 板的可靠性。
        • 在焊盘的设计中,需要考虑到焊接工艺和焊接质量,以及元件与 PCB 板之间的机械强度和稳定性。通过优化焊盘的设计和布局,可以提高焊接质量,减少焊接缺陷,从而提高 PCB 板的可靠性和性能
    • 接地和电源走线
      • 与电源和接地信号相关的走线要比承载数字或者模拟信号的走线粗,这可以使它们能够承载更大的电流
    • 利用丝印层
      • PCB 板附带的丝印层可以用于标记你想要标记的信息。
      • 不要用太多的文字,占空间。
      • 不需要写下所有可用的信息,例如,绝对不需要标注电阻值。
      • 如果允许,文本可以大点,这样打印出来也比较清晰。
      • 不要在要焊接的裸露铜焊盘上贴标签,因为墨水可能会阻碍焊料的流动,从而导致接头不良
    • 避免 90°
      • 通常的工程师应该都知道锐角和直角曲线在高频下会产生问题,从而产生不连续性,进而通过增加串扰、辐射和反射来损害信号完整性
  • Title: 从零制作一个烧录器
  • Author: yjy
  • Created at : 2024-10-16 17:20:22
  • Updated at : 2024-10-16 20:22:21
  • Link: https://yjy.us.kg/ch340g/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments