硬件开发笔记(二):硬件开发基本流程,制作一个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 ...
随机推荐
- [转帖]比快更快的 ELK 8 安装使用指南-Elasticsearch,Kibana,Logstash
https://juejin.cn/post/7133907643386560519 携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第23天,点击查看活动详情 Elastic 8 ...
- [转帖]Jmeter脚本录制:Jmeter5.0脚本录制
第一部分进行jmeter设置 第一步:在JMeter中添加线程组 第二步:在线程组下添加HTTP请求默认值 添加->配置元件->HTTP请求默认值,设置服务器IP和端口号 第三步:在线程组 ...
- [转帖]logback:logback和slf4j中的:appender、logger、encoder、layout
(1)appender 1.appender标签是logback配置文件中重要的组件之一.在logback配置文件中使用appender标签进行定义.可 以包含0个或多个appender标签. 2.a ...
- 慢SQL的致胜法宝
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什么思路去解决是我们必须 ...
- vite配置开发环境和生产环境
为什么需要境变量的配置 在很多的时候,我们会遇见这样的问题. 开发环境的接口是:http://test.com/api 但是我们的生产环境地址是:http://yun.com/api 此时,我们打包的 ...
- jenkins上发布项目后将文件推送到另一台服务器build镜像
1.配置jenkins 1)主页面点击manage jenkins 2) 选择SystemConfiguration 3) 配置服务器信息,注意密码一定要输入对,还有端口有,一般是默认的22端口,但有 ...
- MySQL 列操作记录
在 MySQL 中,你可以使用多种命令和语句来执行列操作,包括添加.修改.删除列等.以下是一些与列操作相关的常用 MySQL 命令和语句: 1. 添加列: 添加新列到表格中: ALTER TABLE ...
- 新来的一个同事,把SpringBoot参数校验玩的那叫一个优雅
介绍 在开发现代应用程序时,数据验证是确保用户输入的正确性和应用程序数据完整性的关键方面.Spring Boot 提供了强大的数据验证机制,使开发者能够轻松地执行验证操作.本文将深入介绍 Spring ...
- Tire树 学习笔记
定义与基本求法 定义 又称字典树,用边表示字母,从根节点到树上某一节点路径形成一个字符串. 例如 \(charlie:\) 基本求法 廷显然的,往树中存就行了,查询也是显然的,通过一道例题来理解吧: ...
- AES算法:数据传输的安全保障
在当今数字化时代,数据安全成为了一个非常重要的问题.随着互联网的普及和信息技术的发展,我们需要一种可靠的加密算法来保护我们的敏感数据.Advanced Encryption Standard(AES) ...