嵌入式系统硬件设计与实践(第一步下载eda软件)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
现实生活中,我们经常发现有的人定了很多的目标,但是到最后一个都没有实现。这听上去有点奇怪,但确实是实实在在发生的事情。朋友们虽然有了目标,但是往往第一步都还没有迈出去,就打起了退堂鼓。
所以,对于想学习硬件设计的朋友来说,第一步就是下载eda软件。早期读书的时候,大家都用protel,现在国内很多人慢慢开始用lceda。就我个人而言,基本上算半路出家,所以也就习惯了用lceda。目前lceda有标准版本、专业版本,对于需求不高、器件不多的人,其实标准版就可以了;而对于有复杂电路需求的人来说,建议还是用专业版本。
1、设定合理的目标
在学习eda软件之前,设定合理的目标是非常有必要的。归根到底,每一行要学深学透,都需要花费很多的时间,但是每个人的时间和精力都是有限的。那么这个时候,就需要对时间进行分配下,问一下自己,愿意花多少时间来学习硬件设计。
这里面,我总结了一下,主要分四个层次。第一个层次,看得懂原理图。大部分公司并不要求嵌入式软件工程师画原理图,所以这个层次只是相当于要求软件工程师看得懂原理图,甚至可以画一些简单的原理图交给硬件工程师进行补充和修正就可以了。
第二个层次,独立设计原理图。独立设计,这意味着自己可以完成所有的原理图的绘制工作。比如说输入、输出、电源、晶振、复位、屏幕、摄像头等等。相比较第一层,这一层要求更加细致和具体,它要求工程师知道信号细节、器件选型、功率估算等等。硬件工程师拿着这个原理图,基本直接进行layout pcb设计就好了。
第三个层次,设计原理图和一般的pcb。这个时候,工程师可以应付所有的原理图设计了,并且进行一般的pcb设计了。之所以是一般的pcb设计,这主要是因为对于复杂的pcb设计,工程师实在精力有限,不可能方方面面照顾到,无法像专业的硬件工程师考虑到所有的细节。那什么样的pcb设计,软件工程师是可以完全自己应付的呢?比如说51电路设计、mcu设计、ad设计、da设计、soc的底板设计,这些都没有问题。但是如果是复杂的soc核心板、高速电路、高端fpga开发板,建议原理图自己出,找专门的硬件工程师直接layout就可以了,毕竟术业有专攻。
第四个层次,这个层次的软件工程师几乎可以干所有硬件工程师干的活了。不是说不可以,但是中间花费的精力和时间是否值得,就要自己权衡了。个人建议大家根据自己的兴趣爱好,灵活选择这四个层次来作为自己的目标。
2、下载eda软件
可以直接访问lceda.cn,选择下载标准版,或者是专业版。大家可以从标准版学起,只要标准版学好了,完全可以实现上面前三个层次的目标。
此外,lceda支持网页版本和离线软件版本,可以根据需求灵活来选择。
3、原理图和pcb
虽然我们最终实现的目标是pcb,但是需要用原理图来建模。原理图本身其实就是对真实的电子元器件进行建模处理,至于真实的元器件是什么样,根本不重要,它所要考虑的就是器件之间信号是怎么流通的,用eda的专有名词来说,这就是构建网络。
但是到了pcb阶段就不一样了,以电容为例,选用的电容是什么材质的、分不分正负、尺寸大小多少、贴在顶层还是底层、信号从哪一层走,这都是实实在在需要考虑的问题。
4、根据初中物理知识画第一个原理图
电路不复杂,就是一个利用一个电源来点亮一个二极管的led灯。中间为了防止短路,增加一个电阻;为了演示开关功能,增加一个开关。

器件和期间之间的信号都是用绿色的连线完成的。如果两者有相连,代表相互是导通的;如果不相连,则代表相互之间是不导通的。
5、 第一个pcb图
上面原理图中的每一个元器件都有自己的封装。所谓的封装,就是这些元器件对应的真实形态是什么样的,大小、正负、pin引脚个数等等。这些所有的元器件放到一个pcb上面,用铜线连在一起,那就构成了pcb电路图了。

这个pcb图和原理图差不多,只是连线部分换成了红色的。可以在此基础上铺一层铜,这样pcb电路图更好看点,

细心的同学可以发现,这里led1和key1之间的连线没有了。这主要是因为整个电路板做了铺铜处理。上面的电路板,大家如果还是觉得不好看,可以看下2d效果,

2d效果不过瘾的话,可以看下3d效果,

有了这个3d效果,其实与最终我们想要的效果本身已经很接近了。
6、打板和购买元器件
有了原理图和pcb图,这个时候怎么加工成pcb板子呢。目前网上打板子的地方很多,大家可以找到很多的代工厂。但是我们怎么把文件导出来,转成代工厂需要的文件呢,这就需要用eda工具,将pcb转成gerber文件,

把这个gerber文件交给pcb厂家,它就可以做出板子来了。下面的问题就是统计一下,需要购买哪些元器件了。eda也可以帮助我们导出bom元器件,

有了这个bom表,就可以拿着它去各大电商网站买零件了。接着有了pcb、有了从从电商买过来的元器件,下面要做的就是拿起烙铁自己焊接了。一番操作之后,硬件设计就上路了,自己的第一块pcb也就可以完成了。
相关文章:
嵌入式系统硬件设计与实践(第一步下载eda软件)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 现实生活中,我们经常发现有的人定了很多的目标,但是到最后一个都没有实现。这听上去有点奇怪,但确实是实实在在…...
Portraiture4免费磨皮插件支持PS/LR
Portraiture 4免去了繁琐的手工劳动,选择性的屏蔽和由像素的平滑,以帮助您实现卓越的肖像润色。智能平滑,并删除不完善之处,同时保持皮肤的纹理和其他重要肖像的细节,如头发,眉毛,睫毛等。 一键…...
Python学习笔记202302
1、numpy.empty 作用:根据给定的维度和数值类型返回一个新的数组,其元素不进行初始化。 用法:numpy.empty(shape, dtypefloat, order‘C’) 2、logging.debug 作用:Python 的日志记录工具,这个模块为应用与库实现了灵…...
2023年大数据面试开胃菜
1、kafka的message包括哪些信息一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成,header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。当magic的值为1的时候,会在magic和crc32之间多一个字节…...
优雅的controller层设计
controller层设计 Controller 层逻辑 MVC架构下,我们的web工程结构会分为三层,自下而上是dao层,service层和controller层。controller层为控制层,主要处理外部请求。调用service层,一般情况下,contro…...
同步、通信、死锁
基础概念竞争资源引起两个问题死锁:因资源竞争陷入永远等待的状态饥饿:一个可运行程序由于其他进程总是优先于它,而被调用程序总是无限期地拖延而不能执行进程互斥:若干进程因相互争夺独占型资源而产生的竞争关系进程同步…...
【聚类】谱聚类解读、代码示例
【聚类】谱聚类详解、代码示例 文章目录【聚类】谱聚类详解、代码示例1. 介绍2. 方法解读2.1 先验知识2.1.1 无向权重图2.1.2 拉普拉斯矩阵2.2 构建图(第一步)2.2.1 ϵ\epsilonϵ 邻近法2.2.2 k 近邻法2.2.3 全连接法2.3 切图(第二步…...
最牛逼的垃圾回收期ZGC(1),简介
1丶什么是ZGC? ZGC是JDK 11中引入的一种可扩展的、低延迟的垃圾收集器。ZGC最主要的特点是:在非常短的时间内(一般不到10ms),就可以完成一次垃圾回收,而且这个时间是与堆的大小无关的。另外,ZGC支持非常大…...
微服务的Feign到底是什么
Feign是什么 分区是一种数据库优化技术,它可以将大表按照一定的规则分成多个小表,从而提高查询和维护的效率。在分区的过程中,数据库会将数据按照分区规则分配到不同的分区中,并且可以在分区中使用索引和其他优化技术来提高查询效…...
JavaScript 正则表达式
正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。什么是正则表达式?正则表达式是由一…...
【批处理脚本】-1.15-文件内字符串查找命令find
"><--点击返回「批处理BAT从入门到精通」总目录--> 共7页精讲(列举了所有find的用法,图文并茂,通俗易懂) 在从事“嵌入式软件开发”和“Autosar工具开发软件”过程中,经常会在其集成开发环境IDE(CodeWarrior,S32K DS,Davinci,EB Tresos,ETAS…)中,…...
【手撕面试题】JavaScript(高频知识点二)
目录 面试官:请你谈谈JS的this指向问题 面试官:说一说call apply bind的作用和区别? 面试官:请你谈谈对事件委托的理解 面试官:说一说promise是什么与使用方法? 面试官:说一说跨域是什么&a…...
Web学习1_HTML
在学校期间学的Web知识忘了一些,很多东西摸棱两可,现重新系统的学习一下。 首先下载安装完vsc后并下载拓展文件live server(模拟一个服务器) Auto Rename Tag(在写网页时,自动对齐前后标签)在设…...
华为OD机试真题Java实现【靠谱的车】真题+解题思路+代码(20222023)
靠谱的车 题目 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。 出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。 比如: 23再多一块钱就变为25; 39再多一块钱变…...
【C++入门(下篇)】C++引用,内联函数,auto关键字的学习
前言: 在上一期我们进行了C的初步认识,了解了一下基本的概念还学习了包括:命名空间,输入输出以及缺省参数等相关的知识。今天我们将进一步对C入门知识进行学习,主要还需要大家掌握我们接下来要学习的——引用…...
基于合作型Stackerlberg博弈的考虑差别定价和风险管理的微网运行策略研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
2023年全国最新保安员精选真题及答案8
百分百题库提供保安员考试试题、保安职业资格考试预测题、保安员考试真题、保安职业资格证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 81.以下各组情形都属于区域巡逻中异常情况的是()。 A&#x…...
JavaScript高级程序设计读书分享之6章——MapSet
JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 Map 作为 ECMAScript 6 的新增特性,Map 是一种新的集合类型,为这门语言带来了真正的键/值存储机制。Map 的大多数特性都可以通过 Object 类型实现,但二者之间还是存在…...
改进的 A*算法的路径规划(路径规划+代码+毕业设计)
引言 近年来,随着智能时代的到来,路径规划技术飞快发展,已经形成了一套较为成熟的理论体系。其经典规划算法包括 Dijkstra 算法、A算法、D算法、Field D算法等,然而传统的路径规划算法在复杂的场景的表现并不如人意,例…...
Tina_Linux存储性能参考指南
OpenRemoved_Tina_Linux_存储性能_参考指南 1 概述 1.1 编写目的 介绍TinaLinux 存储性能的测试方法和历史数据,提供参考。 1.2 适用范围 Tina V3.0 及其后续版本。 1.3 相关人员 适用于TinaLinux 平台的客户及相关技术人员。 2 经验性能值 Flash 性能与实…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
