愿君学长松,慎勿作桃李。这篇文章主要讲述硬件开发笔记:硬件开发基本流程,制作一个USB转RS232的模块:开发基本过程和元器件选型相关的知识,希望能为你提供帮助。
前言
做个usb转串口,同时兼容ttl,讲述硬件模块基础的开发流程,本篇描述了全流程过程,然后选型了合适的元器件。
<
br>
基本流程
以下是笔者个人从事过相关硬件研发,总结出来的流程,仅代表个人意见。
设计原理图
原理图至关重要的第一步,后续PCB依据原理图设计,本模块涉及电源电路,485与ttl芯片以及其外围电路,还有模块输出输入。
设计原理图的时候是与选型芯片方案相辅相成的:
- 如果已经设计好或者有了只是更改下主芯片,那么就是先选型芯片后修改原理图了。
- 如果什么都没有,那么也可以先选择主485与ttl转换芯片,然后设计依据其需要的外围电路设计电路图。
封装映射阶段 此阶段是需要对上述原理图使用到的一些元器件的示意图进行元器件硬件上的映射,元器件的大小引脚映射。
元器件封装库:一般来说供应商公司、官网等相关渠道会提供其出售的元器件封装,以避免设计者自行创建,网上也有封装库购买,硬件工程师有积累的封装库。
PCB设计阶段 PCB设计阶段,就是将原理图与封装库映射完后,然后生成PCB,生成的PCB是杂乱无章的,元器件的引脚是通过线网络来连接的(实际上物理上的连接是没有的),需要自己通过比如机械层来划定PCB的实际大小,然后把元器件布上去(多层板,焊盘,过孔,差分,屏蔽,DIP涉及的知识非常多,设计者需要知识经验的长期积累)。
PCB打样阶段 PCB设计好后,导出bom表和可供生产的文件,交给打板子常见,bom表用于采购元器件,如果是像量比较多或者bga等封装,都是等样板出来后,交给专门的贴片厂子去贴片,元器件比较少又没有难焊接的,则一般都是研发人员手焊。
PCB的程序调试研发测试阶段 PCB成型之后,需要驱动系统人员联合硬件人员一起调试并测试,确认板子上的电路基本没啥问题(只能说明调试的时候没问题,一般调试的时候没问题不涉及高速等复杂电路,后续生产一般也不会有问题),则可以开始进入小批量阶段。有些电磁干扰,震动实验一般也是在此阶段测试。
小批量生产阶段 小批量阶段一般是生产10-50块板子,然后刷入程序(此时基础的测试程序都已经完成,如果是应用开发,可能应用开发也完成),然后进行老化等相关的测试(高温、48小时连续运行等一些出厂前的老化测试),通过测试之后,小批量可以发货。
批量生产阶段 小批量稳了,然后就会根据需求进入批量阶段,批量阶段有些传统企业(笔者就认识这样一家企业,月出货3-4K左右),都会进行老化测试,进一步确保产品质量稳定。(其实产品前期不做足够的实验,发出去出现问题的几率更大,而维保售后的费用成本则更高)
< br>
USB转232按照需求大致选型过程 选型usb转串口芯片
文章图片
选型的过程,不多说,一般是需要什么模块就查看什么模块,也可以使用自己有存货的模块。
选型还涉及选型后的芯片的外围器件,外围器件多了成本也高了,总直硬件设计一个复杂的过程,复杂在成本计算(芯片,外围器件,是否贴片等),个人熟悉程度等等,挺麻烦的一个事。
usb转ttl芯片选型 CH340+SP232
usb转ttl的usart,不带232电平功能,这样既可以拿到5V又可以拿到3.3V的ttl。
文章图片
文章图片
电脑的USB是5V的,所以需要匹配个5V的ttl转232电平:
- 5V的TTL转232电平芯片:max232,sp232
- 3.3V的TTL转232电平芯片:max3232,sp3232
ttl分为5V和3.3V,设计的时候,我们全部留出来,然后看看,选择5V, CP2102
文章图片
只能输出3.3V的ttl。
PL2303
文章图片
最终选型结果:CH340G+MAX232
文章图片
5V转3.3V电源芯片
文章图片
文章图片
USB口 这个不需要选型,找个便宜的即可,使用dip的牢固些。
文章图片
芯片转换口 这个是切换输出的ttl是3.3V和5V的,使用标准2.54mm的DIP:
文章图片
232切换口 是否输出rs232,如果输出,那么需要将芯片电平输出转换切换至5V。
同“芯片转换口”
输出DIP口 要很好的伸出来,考虑到水平,所以选择90弯折的DIP针,其实大部分类似模块也是这么做的。
文章图片
透明热缩管【硬件开发笔记(硬件开发基本流程,制作一个USB转RS232的模块:开发基本过程和元器件选型)】 做成长条状,我们可能需要把他包住,选个透明管吧
文章图片
得根据实际设计出得PCB再选择尺寸。
推荐阅读
- C语言实战小项目通讯录
- #yyds干货盘点# 解决剑指offer(数组中的逆序对)
- Windows更新报错0x80246008
- 小胖学Linux day42~43(NFS共享存储)
- 80%的 Linux 使用者都不懂的内存问题
- gitlab管理员账号密码忘记怎么办()
- 树莓派配置wifi地址
- VMWare维护实践(处置VCSA6.7管理账号root密码过期)
- Docker-Compose 安装