若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/124901204

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

硬件相关开发

上一篇:《硬件开发笔记(一):高速电路设计Cadence Aleegro软件介绍和安装过程》
下一篇:《硬件开发笔记(三):硬件开发基本流程,制作一个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再选择尺寸。

上一篇:《硬件开发笔记(一):高速电路设计Cadence Aleegro软件介绍和安装过程》
下一篇:《硬件开发笔记(三):硬件开发基本流程,制作一个USB转RS232的模块(二):设计原理图库》

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/124901204

硬件开发笔记(二):硬件开发基本流程,制作一个USB转RS232的模块(一):开发基本过程和元器件选型相关推荐

  1. 硬件开发笔记(六): 硬件开发基本流程,制作一个USB转RS232的模块(五):创建USB封装库并关联原理图元器件

    `该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125369228 红胖子网络科技博文大全:开发技术集合( ...

  2. 硬件开发笔记(八): 硬件开发基本流程,制作一个USB转RS232的模块(七):创建基础DIP元器件(晶振)封装并关联原理图元器件

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125370284 红胖子网络科技博文大全:开发技术集合( ...

  3. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  4. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7707628 作者:毛星云 邮箱: happ ...

  5. [安卓开发笔记二]android Studio通过jni调用C++代码

    [安卓开发笔记二]android Studio通过jni调用C++代码 16/12/11 更新 此博客基于安卓android studio 1.5所写,现在已经有了android studio2.2的 ...

  6. MLX90640开发笔记(三)工作流程和操作MLX90640的一般步骤

    默认参数时,MLX90640的工作流程如下: (1)上电,内部初始化(约40ms) (2)读取工作参数到控制和状态寄存器 (3)开始以2Hz的速率测量实时数据并更新到RAM,自动更新状态寄存器. 测量 ...

  7. iOS工程开发笔记二

    iOS工程开发笔记<二> 在Xcode 4, 5的模板工程中可以看到Precompile Prefix Header,但是在Xcode 6被去除了. Xcode 6去掉Precompile ...

  8. 微信小程序开发笔记二(WXSS和CSS样式美化)

    微信小程序开发笔记二(WXSS和CSS样式美化) 一.CSS基本知识 1.Class选择器的定义 2.ID选择器的定义 3.ID选择器和class选择器的区别 4.CSS中设置颜色 5.CSS中的文本 ...

  9. 【Visual C++】游戏开发笔记二十三 游戏基础物理建模 五 粒子系统模拟 二

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  10. 【Visual C++】游戏开发笔记二十三 游戏基础物理建模(五) 粒子系统模拟(二)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7607916 作者:毛星云    邮箱: h ...

最新文章

  1. 生产型机器学习已经没那么困难了?
  2. 提升篇——SELINUX相关介绍
  3. 【原创】Python 源文件编码解读
  4. C#正则表达式整理备忘
  5. HTML基础_Day03
  6. 【Linux】/dev/null 21 详解
  7. python函数的作用降低编程复杂度_Python语言程序设计 (第11期) 测验5: 函数和代码复用...
  8. bellman ford java_Java C 实现Bellman-ford算法
  9. 计算机信息管理的检索步骤,信息检索策略与步骤
  10. 快递查询API接口对接案例(顺丰、圆通、中通、德邦、天天)
  11. 电信4g网络问题及恢复方案
  12. MaaS来了!深圳先行?
  13. Caliburn.Micro学习笔记目录——其他
  14. asyncio系列之sleep()实现
  15. ps文件导出html
  16. Apache Geode 1.4 快速搭建示例
  17. Continuous Graph Neural Networks
  18. H1102NL 普思Pulse 网络变压器
  19. 点云拼接-将局部扫描设备拼接到完整点云地图
  20. 机器学习案例之:甲状腺射频消融数据模型

热门文章

  1. VB语言复习助力(基础篇)
  2. ECharts实操手册
  3. 个人账目管理系统oracle,个人账务管理系统(论文).doc
  4. ZK(1)——分布式系统概念与ZK简介
  5. BMFont 快速入门教程
  6. UE4启动GameActivity
  7. 大数据 流式计算 apache storm 学习笔记 01 ---汪文君
  8. 学习笔记-Map集合的遍历
  9. 《统计自然语言处理》(宗成庆)学习笔记(一)
  10. 自然语言处理——第一章 绪论