硬件开发笔记(二):硬件开发基本流程,制作一个USB转RS232的模块(一):开发基本过程和元器件选型
前言
做个usb转串口,同时兼容ttl,讲述硬件模块基础的开发流程,本篇描述了全流程过程,然后选型了合适的元器件。
基本流程
以下是笔者个人从事过相关硬件研发,总结出来的流程,仅代表个人意见。
设计原理图
原理图至关重要的第一步,后续PCB依据原理图设计,本模块涉及电源电路,485与ttl芯片以及其外围电路,还有模块输出输入。
设计原理图的时候是与选型芯片方案相辅相成的:
- 如果已经设计好或者有了只是更改下主芯片,那么就是先选型芯片后修改原理图了。
- 如果什么都没有,那么也可以先选择主485与ttl转换芯片,然后设计依据其需要的外围电路设计电路图。
此步骤并没有什么标准,是做硬件最关键的步骤,后续的一切都基于原理图的正确设计,原理图一旦设计存在错误,后续能补救的空间是没有的(硬件出版后的调试 过程中,可以采取外接电源,外接信号,飞线等方式进行硬件上的调试)。
封装映射阶段
此阶段是需要对上述原理图使用到的一些元器件的示意图进行元器件硬件上的映射,元器件的大小引脚映射。
元器件封装库:一般来说供应商公司、官网等相关渠道会提供其出售的元器件封装,以避免设计者自行创建,网上也有封装库购买,硬件工程师有积累的封装库。
PCB设计阶段
PCB设计阶段,就是将原理图与封装库映射完后,然后生成PCB,生成的PCB是杂乱无章的,元器件的引脚是通过线网络来连接的(实际上物理上的连接是没有的),需要自己通过比如机械层来划定PCB的实际大小,然后把元器件布上去(多层板,焊盘,过孔,差分,屏蔽,DIP涉及的知识非常多,设计者需要知识经验的长期积累)。
PCB打样阶段
PCB设计好后,导出bom表和可供生产的文件,交给打板子常见,bom表用于采购元器件,如果是像量比较多或者bga等封装,都是等样板出来后,交给专门的贴片厂子去贴片,元器件比较少又没有难焊接的,则一般都是研发人员手焊。
PCB的程序调试研发测试阶段
PCB成型之后,需要驱动系统人员联合硬件人员一起调试并测试,确认板子上的电路基本没啥问题(只能说明调试的时候没问题,一般调试的时候没问题不涉及高速等复杂电路,后续生产一般也不会有问题),则可以开始进入小批量阶段。有些电磁干扰,震动实验一般也是在此阶段测试。
小批量生产阶段
小批量阶段一般是生产10-50块板子,然后刷入程序(此时基础的测试程序都已经完成,如果是应用开发,可能应用开发也完成),然后进行老化等相关的测试(高温、48小时连续运行等一些出厂前的老化测试),通过测试之后,小批量可以发货。
批量生产阶段
小批量稳了,然后就会根据需求进入批量阶段,批量阶段有些传统企业(笔者就认识这样一家企业,月出货3-4K左右),都会进行老化测试,进一步确保产品质量稳定。(其实产品前期不做足够的实验,发出去出现问题的几率更大,而维保售后的费用成本则更高)
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电源芯片

晶振
2DIP的即可,CH340G需要一个有源12MHz的晶振。

USB口
这个不需要选型,找个便宜的即可,使用dip的牢固些。

芯片转换口
这个是切换输出的ttl是3.3V和5V的,使用标准2.54mm的DIP:

232切换口
是否输出rs232,如果输出,那么需要将芯片电平输出转换切换至5V。
同“芯片转换口”
输出DIP口
要很好的伸出来,考虑到水平,所以选择90弯折的DIP针,其实大部分类似模块也是这么做的。

透明热缩管
做成长条状,我们可能需要把他包住,选个透明管吧

得根据实际设计出得PCB再选择尺寸。
硬件开发笔记(二):硬件开发基本流程,制作一个USB转RS232的模块(一):开发基本过程和元器件选型的更多相关文章
- 硬件开发笔记(四):硬件开发基本流程,制作一个USB转RS232的模块(三):设计原理图
前者 前面建立好的基础的元器件,下面开始设计原理图. 需求 USB转RS232,输出RS232 可以选择性输出5V的TTL 可以选择性输出3.3V的TTL 设计原理图 步骤一:CH340G ...
- Django开发笔记二
Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...
- SDL开发笔记(二):音频基础介绍、使用SDL播放音频
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- EasyUI 开发笔记(二)
接上篇 :EasyUI 开发笔记(一) (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...
- Hi3516开发笔记(六):通过HiTools使用USB/串口将uboot、kernel、roofts和userdata按照分区表烧写镜像
若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121706033红胖子(红模仿)的博文大全:开发技术集合( ...
- Vue-cli开发笔记二----------接口调用、配置全局变量
我做的一个项目,本身是没用任何框架,纯手写的前端及数据交互,项目已经完结.最近学Vue,于是借用这个项目,改装成vue项目. (一)接口问题:使用axios的调用方法,proxyTable解决开发环境 ...
- 离线谷歌地图API的开发笔记(二)
一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小 ...
- RBL开发笔记二
17:13:55 2014-08-25 有以下几个点: 第一 :怎么在预处理阶段能够做到识别某个宏是否给定义了 这里就定义了一个SystemConfig.h 专门做这个事情 当然是需要make ...
- openwrt开发笔记二:树莓派刷openwrt
前言及准备 本笔记适用于第一次给树莓派刷openwrt系统的玩家,对刷机过程及注意事项进行了记录,刷机之后对openwrt进行一些简单配置. 使用openwrt源码制作固件需要花费一点时间. 平台环境 ...
- 高性能JavaScript笔记二(算法和流程控制、快速响应用户界面、Ajax)
循环 在javaScript中的四种循环中(for.for-in.while.do-while),只有for-in循环比其它几种明显要慢,另外三种速度区别不大 有一点需要注意的是,javascript ...
随机推荐
- 乌班图安装docker
目录 一.前言 二.安装 2.1 设置仓库 2.3 安装 Docker Engine 2.4 安装特定版本的 Docker Engine: 2.5 测试 三.配置非 root 用户运行 Docker ...
- 从零开始配置vim(30)——DAP的其他配置
很抱歉这么久才来更新这一系列,主要是来新公司还在试用期,我希望在试用期干出点事来,所以摸鱼的时间就少了.加上前面自己阳了休息了一段时间.在想起来更新就过去一个多月了.废话不多说了,让我们开始进入正题. ...
- 深入浅出Java多线程(四):线程状态
引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第四篇内容:线程状态.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在现代软件开发中,多线程编程已经成为提升 ...
- UIWindow的概念与使用
UIWindow的作用 UIWindow是UIView的子类用于显示程序内容.每一个UIView想要将内容显示到屏幕上都需要依赖于一个UIWindow. iOS应用程序要想正常运行至少要有一个UIWi ...
- Intel Arrow Lake处理器还是8+16 24核心:接口换LGA1851
Intel已经确认,将在今年内发布未来两代处理器Arrow Lake.Lunar Lake,其中前者将弥补Meteor Lake的不足,同时用于笔记本.桌面.服务器,现在它的核心规格流出了. 这份曝光 ...
- 苹果打破12年惯例:iPad一整年未更新
1月2日消息,据媒体报道,自2010年首次亮相以来,苹果一直保持着每年至少发布一款新型号的传统. 但是在过去的2023年,苹果没有发布iPad,2023年苹果发布的唯一与iPad相关的产品是USB-C ...
- Java应用系统监控方法简介
1. tsar 阿里巴巴开源的实时系统监控工具.其内部的sunfire有部分指标就是基于该工具每分钟采集一次来获取的. github 监控项及数据来源一览 摘自tsar/info.md 监控项 来源 ...
- Spring 与 Mybatis 中的 @Repository 与 @Mapper
@Repository.@Service.@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean.如果使用@Repository则需要使用@MapperScan(&quo ...
- Linux-sshpass(shell脚本使用ssh远程执行命令通过密码的方式登录)
1. sshpass简介 sshpass 是一个在非交互式 ssh 会话中自动输入密码的工具.它可以直接在命令行中指定密码,因此可以用于 Shell 脚本等自动化场景.在 Red Hat 系统中,可以 ...
- python-命令行参数处理 getopt模块详解
背景 在写脚本程序的时候需要添加一些额外的参数来实现脚本的附加功能或者增强功能,通常的做法是通过sys.argv[i]直接来获取参数的值,但是这个比较局限,要求参数的输入一定要按照顺序. fileNa ...