基于STM32的CAN转USB模块的PCB设计

1. 项目的文件结构

设计PCB项目时,文件结构主要分为四个模块

  • 第一个文件夹用来存放设计PCB时用到芯片的数据手册。
  • 第二个文件夹用来存放设计PCB时用到的参考设计,包括所用芯片最小系统电路图,各种规范手册,别人设计的PCB等。
  • 第三个文件夹用来存放原理图库和封装库。
  • 第四个文件夹用来存放AD的project文件,最好在每做一些修改时,就保存为一个版本。
    在这里插入图片描述

2. 原理图设计

首先进行原理图设计。
在此之前提一下,芯片的原理图库可以从立创商城下载,使用立创EDA的导出功能就能完成原理图库的下载。

2.1 最小系统

如下图所示,此模块的MCU选用了STM32F103RCT6,即64引脚的MCU。倒不是说非要用64引脚的才能实现,48引脚的也可以,而且利用率更高,只是因为手头刚好有STM32F103RCT6,而且这个模块只是一个用来做练习的,所以就使用此款芯片作为主控芯片。
在这里插入图片描述
在最小系统中,采用3.3V供电,8M的外部晶振电路,并且对BOOT0采用下拉电阻,NRST采用了上拉电阻。
为了减小模块尺寸,又考虑到功耗方面,电阻与电容的封装均采用0603。

2.2 USB转串口

在这里插入图片描述
一般见到USB转串口电路,使用的芯片都是CH340G,但由于本模块只是一个实验性模块,不需要使用到很多的功能,因此在查阅资料后,选用了尺寸更小但又能刚好满足需求的CH330N模块。
在CH330N的TXD以及RXD引脚都各自外接了一个LED灯,这样,在本模块开始通讯的时候,指示灯就会亮起来:上位机发送数据时,TXD1指示灯亮;上位机接收数据时,RXD1指示灯亮。
一开始设计LED灯的驱动电路时,考虑到,若直接接电阻然后驱动LED灯,将会损耗很多电流,这样可能会影响到数据的收发。因此,还有一个思路是,采用MOS管来驱动LED灯,这种方案损耗的电流很小,不会影响数据的收发,但缺点是占用的面积更大,电路更复杂。最后在网上查阅各种参考电路后,发现存在直接驱动LED灯的电路,因此最终采用了直接驱动LED灯的方案。

2.3 CAN通信

在这里插入图片描述
CAN收发器采用TJA1050。
CAN的外部接口采用5引脚的接插件,这样的设计是为了匹配安装CAN转USB模块的外壳。
一般来说,CAN通信部分要加上隔离电路,例如光耦隔离或电阻隔离或磁耦隔离等。但还是由于本模块只是一个实验用模块,就没有设计隔离电路。
SW1这个开关,是为了让CAN总线的一端能够根据情况,可以选择挂载或者不挂载120Ω的电阻。

2.4 JLINK仿真器

在这里插入图片描述
为了进一步减小尺寸,选用了J-Link仿真器的SWD模式。根据博客STM32中使用J-Link仿真器选择JTAG模式和SWD模式的区别就可设计出此电路。

2.5 电源

在这里插入图片描述

本模块采用外部USB供电,由于USB供电电压为5V,因此需要采用AMS1117-3.3将5V转为3.3V。
外接了一个保险丝F1,确保电路的安全。

3. PCB设计

注意,芯片的封装库也可以从立创商城下载,使用立创EDA的导出功能就能完成封装库的下载。

3.1 布局

原理图设计好后,进行编译,编译通过后,就可以将其导入到pcb文件了。但在导入元件之前,我们最好先进行一下pcb板子的尺寸设计
根据CAN转USB模块的外壳设计出的PCB尺寸图如下图所示。
在这里插入图片描述
根据尺寸图在keepout layer中绘制出PCB的外边框。
在这里插入图片描述
然后选中所有的框线,点击define from selected objects。
在这里插入图片描述
完成pcb板子的形状尺寸设计。接下来进行布局。
在这里插入图片描述
设计好后,就可以将元件导入pcb了。
在这里插入图片描述

布局时要注意,每一个小模块内的所有元件,在布局时最好放在一起。用已经设计好的pcb图中的电源部分举个例子,电源部分的布局如下图所示。
在这里插入图片描述

3.2 布线

本模块采用双层板设计。
在打过孔时,要注意:信号线采用内径为0.2mm,外径为0.45mm的过孔;电源线采用内径为0.5mm,外径为1mm的过孔。并且过孔要离焊盘远一些。
走线时,要注意:信号线采用0.2mm的线;电源线根据情况选择,至少要0.5mm的线。
CANL和CANH要采用0.5mm的线。

3.3 敷铜

本模块正反面敷铜。
敷铜时注意与GND网络连接。例如,top层敷铜时的设置如下图所示。
在这里插入图片描述
正反面敷铜后的pcb板子如下图所示。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mahoon411/article/details/110132303