当前位置: 首页 > news >正文

嵌入式系统硬件设计与实践(第一步下载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…...

同步、通信、死锁

基础概念竞争资源引起两个问题死锁:因资源竞争陷入永远等待的状态饥饿:一个可运行程序由于其他进程总是优先于它,而被调用程序总是无限期地拖延而不能执行进程互斥:若干进程因相互争夺独占型资源而产生的竞争关系进程同步&#xf…...

【聚类】谱聚类解读、代码示例

【聚类】谱聚类详解、代码示例 文章目录【聚类】谱聚类详解、代码示例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 切图(第二步&#xf…...

最牛逼的垃圾回收期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(高频知识点二)

目录 面试官&#xff1a;请你谈谈JS的this指向问题 面试官&#xff1a;说一说call apply bind的作用和区别&#xff1f; 面试官&#xff1a;请你谈谈对事件委托的理解 面试官&#xff1a;说一说promise是什么与使用方法&#xff1f; 面试官&#xff1a;说一说跨域是什么&a…...

Web学习1_HTML

在学校期间学的Web知识忘了一些&#xff0c;很多东西摸棱两可&#xff0c;现重新系统的学习一下。 首先下载安装完vsc后并下载拓展文件live server&#xff08;模拟一个服务器&#xff09; Auto Rename Tag&#xff08;在写网页时&#xff0c;自动对齐前后标签&#xff09;在设…...

华为OD机试真题Java实现【靠谱的车】真题+解题思路+代码(20222023)

靠谱的车 题目 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。 出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。 比如: 23再多一块钱就变为25; 39再多一块钱变…...

【C++入门(下篇)】C++引用,内联函数,auto关键字的学习

前言&#xff1a; 在上一期我们进行了C的初步认识&#xff0c;了解了一下基本的概念还学习了包括&#xff1a;命名空间&#xff0c;输入输出以及缺省参数等相关的知识。今天我们将进一步对C入门知识进行学习&#xff0c;主要还需要大家掌握我们接下来要学习的——引用&#xf…...

基于合作型Stackerlberg博弈的考虑差别定价和风险管理的微网运行策略研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

2023年全国最新保安员精选真题及答案8

百分百题库提供保安员考试试题、保安职业资格考试预测题、保安员考试真题、保安职业资格证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 81.以下各组情形都属于区域巡逻中异常情况的是&#xff08;&#xff09;。 A&#x…...

JavaScript高级程序设计读书分享之6章——MapSet

JavaScript高级程序设计(第4版)读书分享笔记记录 适用于刚入门前端的同志 Map 作为 ECMAScript 6 的新增特性&#xff0c;Map 是一种新的集合类型&#xff0c;为这门语言带来了真正的键/值存储机制。Map 的大多数特性都可以通过 Object 类型实现&#xff0c;但二者之间还是存在…...

改进的 A*算法的路径规划(路径规划+代码+毕业设计)

引言 近年来&#xff0c;随着智能时代的到来&#xff0c;路径规划技术飞快发展&#xff0c;已经形成了一套较为成熟的理论体系。其经典规划算法包括 Dijkstra 算法、A算法、D算法、Field D算法等&#xff0c;然而传统的路径规划算法在复杂的场景的表现并不如人意&#xff0c;例…...

Tina_Linux存储性能参考指南

OpenRemoved_Tina_Linux_存储性能_参考指南 1 概述 1.1 编写目的 介绍TinaLinux 存储性能的测试方法和历史数据&#xff0c;提供参考。 1.2 适用范围 Tina V3.0 及其后续版本。 1.3 相关人员 适用于TinaLinux 平台的客户及相关技术人员。 2 经验性能值 Flash 性能与实…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

高保真组件库:开关

一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...

MLP实战二:MLP 实现图像数字多分类

任务 实战&#xff08;二&#xff09;&#xff1a;MLP 实现图像多分类 基于 mnist 数据集&#xff0c;建立 mlp 模型&#xff0c;实现 0-9 数字的十分类 task: 1、实现 mnist 数据载入&#xff0c;可视化图形数字&#xff1b; 2、完成数据预处理&#xff1a;图像数据维度转换与…...

C#最佳实践:为何优先使用as或is而非强制转换

C#最佳实践&#xff1a;为何优先使用as或is而非强制转换 在 C# 的编程世界里&#xff0c;类型转换是我们经常会遇到的操作。就像在现实生活中&#xff0c;我们可能需要把不同形状的物品重新整理归类一样&#xff0c;在代码里&#xff0c;我们也常常需要将一个数据类型转换为另…...