pixhawk硬件设计粗略解析
文章目录
- 前言
- 一、pixhawk是什么?
- 二、pixhawk硬件解析
- 总结
前言
本片是个人对NFCYv5飞控的硬件设计的个人分析与笔记。为什么要这么做呢?原因很简单,一是对pixhawk硬件组成有更加深入的理解;二是为以后回顾留下一个较全的笔记。这里我选择NFCYv5的硬件原理图来解析,一是因为怒飞老师这款硬件全部开源了;二是原理图的颜色呀风格更合我胃口,感觉看着更舒服。另外需要说明的一点是,就像题目所写的我目前还是个硬件小小白,下面的解析想来必有不少缺漏可称之粗略,所以大佬就不必看了*_*(不过要是好奇看到了错误,还请大佬们多多斧正)。
一、pixhawk是什么?
首先在开始分析硬件组成之前,还是有必要回顾一下pixhawk是什么?那我们不妨看看pixhawk官网是如何说的(官网yyds)!
OK,一进入官网我们就可以看到这个说明。pixhawk是为无人机硬件所打造的开源标准。它为无人系统的发展提供了现成可得的硬件规范与指南。我靠,这一听起来很厉害吧。pixhwak不生成硬件也不提供原理图啥的,而是专注于提供标准与规范。我不是很熟悉硬件,但是就我有限的认知。我感觉这和ARM卖内核设计是一样一样的。当然了,pixhawk是开源的,不收钱!目前pixhawk更新出的最新硬件标准是FMUv6X,具体推出标准的如下所示:
所以呢,大家直观地看到每代标准的升级呢,大概是就MCU升级一波,或者传感器冗余升级一下。又或者通过传感器冗余和横温系统来定义一下有无X。高度总结就是内核+IMU的变化。这里大家可以注意到是pixhawk开源硬件标准不仅仅是一个标准。pixhawk也是硬件产品的名字哦,但是这个名字的使用是有讲究的,可不能乱用。是需要经过pixhawk官方授权,该硬件生产厂商才能使用上面的那些名字作为硬件产品的名称。这样的产品的是经过了pixhawk官方认证了,所以质量是有保证的。因此虽然这是开源硬件标准,其硬件却有正版和盗版之分。所以你在某宝搜到的什么pixhawk 2.4.8那玩意儿吧,说它是盗版并没啥问题。(我年少无知时也买过,做工怎么样就不说了懂的都懂)靠谱的生成符合pixhawk硬件标准的大厂也在这里也提一句:Hex,CUAV,holybro,穹人。然后你就会发现他们的名字有些是pixhawk,有些不是,因为并不是他们都授权了。但是他们都是按照pixhawk开源硬件设计标准和规范以及优秀的pcb设计得出的飞控,也是官方支持认可的,都是很不错的产品,这几家的产品也受到市场和玩家的广泛认可的。
ok,唠了这么多,现在让我们再来看看pixhawk标准规范都定义了些什么。
这一部分是定义了自驾仪的硬件标准,大概就是用啥MCU,用啥传感器,MCU的引脚又该如何分配的。
这一部分呢,定义了pixhawk的总线标准,比如用啥接线端子,共同的外部接口有哪些,PAB是啥样,PCB布线指导原则等等。
这一部分呢,主要定义了每个对外接口的和对内debug接口线序是啥样的
还有这一部分呢,是定义了载荷总线的标准,大概就是用啥协议,用啥接口这样。
好了,在我现在的认知范围里,pixhwak差不多就是这样的。也许有些不对,但应该大差不差吧。以后有进一步认识再补充。
二、pixhawk硬件解析
相信通过刚才的介绍,大家应该已经知道了我选择的NFCYv5硬件呢,它是一款符合pixhawk开源硬件标准的一个硬件产品,但肯定不该称为pixhwak。好了好了,不说了,现在来看原理图吧。
怒飞老师的原理图,第一张和第二张是主控单片机的IO和电源部分。作为一个电子小白,一开始我最好奇的是这上面的这些网络标号:SD_3V3_EN,Sensor_3V3_EN,MCU_3V3,USB_VCC,VDD5V。这些和电源有关的标号。我想这电源咋怎么多,这和我以前粗鄙的硬件使用经验形成了极大反差。为啥要这样呢?接着看一图
诶,这一看,所有的传感器的电源都是Sensor_3V3诶。虽然不懂,但我大为震撼。我想这就是规范,标准的力量吧,这一看就很合理的样子。继续往下看:
这个是存储部分,诶,我一看FRAM作为MCU的扩展memory,它和MCU一样使用MCU_3V3供电也很合理诶。然后可以看到SD卡的上拉电阻都采用了SD_3V3这看起来也很合理的样子,毕竟这玩意儿是可分离,应该是有实际区别的。这里说明一下这个FRAM的作用:
{ StorageParam, 4096, 1280},{ StorageRally, 5376, 300},{ StorageFence, 5676, 256},{ StorageMission, 5932, 2132},
如上所示,主要是存储系统参数、地理围栏、飞行任务、集结点这些数据。为什么这些东西要存储在FRAM里呢?因为FRAM读写速度快(不需要像flash那样需要先擦除)且功耗低,具有极大的读写次数寿命,掉电数据不丢失。
哦,这里就到了电源部分了。我们可以看到VDD5V,通过MIC5332-SSYMT-TR转换成了两个双路3.3v。他们分别是SD_3V3,MCU_3V3,Sensor_3V3,EXT_IO_3V3。这样我们就找到了那些电源的出处了。所以核心板的3v3电源都是由VDD5V通过LDO转换得到的。这里也会看见之前出现的SD_3V3_EN, Sensor_3V3_EN连接在IC的EN脚。看图盲猜也知道,EN1对应VOUT1,且高电平有效。所以MCU可以通过控制SD_3V3_EN, Sensor_3V3_EN电平来决定Sensor_3V3, SD_3V3的有效。这有什么好处呢,我听课里讲的是,可以保证IMU的正常上电初始化(可由MCU来确定IMU的上电时间,看bootloader和固件初始化来看都要求MCU初始化时,IMU不上电)。这个具体有啥用不太懂,因为我也见过一些简单的飞控硬件设计,IMU直接就和MCU一起上电了,但也运行良好。
接下来这个是CAN接口集成转发电路,这个没啥好说的。再往下看:
这部分是飞控的ADC电源电压电流的监测部分,使得我们可以监视电压电流,不过我自己有一个小小疑问,监测MCU_3V3和VDD5V有啥用呢?要是这两个凉了,MCU监测到也没用呀,MCU自己也会凉凉,emmmm?应该是有啥知识盲区,先记在这里。
很快就到了核心板的最后部分了,这里是IIC的上拉电路和地板接口部分,这里没啥要提的。接下来,我们来看飞控底板部分。
先总览一下,那么核心板接口部分没啥好说的了,略去。SD卡座,固定孔,对外接口,USB,5V转3.3v也没啥好说的了,略去。这里我们主要看看,三排排针,PWM缓冲,信号调理部分。
这个地方我们就可以清楚的看到,除了RC_IN口有VDD5V电源输出(这个飞控电源就完成了提供),其他servo输出口的电源口都连接在VDD_Servo上。而VDD_Servo是需要自己在这里插入外置BEC进行提供的,不然只插舵机是不会有任何反应的。显然这里在设计PCB时走线需要挺宽挺厚的。不然舵机工作起来电流大了,可能扛不住,相对应的隔离与屏蔽应该也需要注意。
然后是PWM缓冲电路,这里怒飞老师对FMU_CH和FMU_AUX的输出电平不同。我不是很确定这样的作用,因为我看了CUAV的硬件设计VCCB都是3V3。但这貌似也不是很重要了。这里这两个缓冲IC的作用可以归纳为以下4点:1.可以进行信号电平的电压转换 2. 提高PWM信号驱动能力 3.防反灌保护主控芯片 4.对外部干扰有抑制作用,保护PWM信号。
这里怒飞老师对其他信号的调理都采用了电阻串联的方案,对比CUAV的硬件设计这里基本也是采用了TXS0108E。我个人认为两者的设计都是合理的,首先直接用
TXS0108E肯定不会有啥问题。但是考虑到这些串口线,IIC线对外都是GH端子,所以基本不可能插错,另一方面如果外接设备正负极有问题那也只会烧掉外接设备且好像没啥办法避免。所以基于上述分析直接用电阻调理信号也是合理的。这里串联电阻的作用主要如下:
1.阻抗匹配。因为信号源的阻抗很低,跟信号线之间阻抗不匹配,串上一个电阻后,可改善匹配情况,以减少反射,避免振荡等。
2.可以减少信号边沿的陡峭程度,从而减少高频噪声以及过冲等。因为串联的电阻,跟信号线的分布电容以及负载的输入电容等形成一个RC 电路,这样就会降低信号边沿的陡峭程度。大家知道,如果一个信号的边沿非常陡峭,含有大量的高频成分,将会辐射干扰,另外,也容易产生过冲。
最后呢,是电源模块的设计,就是使用了TPS54560DDAR,来获得VDD_5V, 然后加入分压电路得到电池检测电压。这里这个电源模块并没有电流检测,不过老实说电流检测确实用的也不多。不过飞控本身是支持电流检测的。目前看到市面上常见的pixhawk电流计也应该都是模拟输入的。基本都是利用采样电阻的压降来确定电流,具体的电路原理图设计没有找到,不过基本是如下图所示的原理:
详细说明大家可以跳到这篇文章观看:电流检测电路
最后粘贴一张总的结构图,我觉得这个图做的还是很好的虽然年头应该有点久了,其具体出处应该是阿木实验室做的吧,我也不是很清楚,反正感谢原作者的总结。
总结
OK,止此pixhawk的硬件设计的粗略分析就结束了,通过自己这么写一通,感觉自己对硬件设计有了进一步的理解,也给自己留下了一些有用的笔记。也谈不上什么有什么深刻总结,但是我自己有了基本认知,当遇到真正的大佬,我知道该提些什么问题,也能大概和别人交流起来,我以为这样就很有意义了。当然我也希望能给看到的朋友带来一些帮助,那样就更好了,那我们下篇博客再见了。
pixhawk硬件设计粗略解析相关推荐
- SoC嵌入式软件架构设计之二:虚拟内存管理原理、MMU硬件设计及代码分块管理...
程序的大部分代码都可以在必要的时候才加载到内存去执行,运行完后可以被直接丢弃或者被其他代码覆盖.我们PC上同时跑着很多的应用程序,每个应用程序使用的虚拟地址空间几乎可以整个线性地址空间(除了部分留给操 ...
- 基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第三篇)故障保护及问题诊断
基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第三篇)故障保护及问题诊断 PIX无法安装驱动 双击下载的px4_driver_installer ...
- 基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第四篇)飞行特性
基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第四篇)飞行特性 自动起飞 固定翼飞机可以自动发射多种类型的飞机.下面的说明将教你如何设置你的任务 ...
- DM365的视频编码器的硬件设计
摘要:为了解决标准清晰度监控系统中存在的一些问题,设计了一个基于TMS320DM365的高清视频压缩系统.采用ITU-T的H.264(DM365内嵌硬件压缩器)视频压缩算法,高清模拟视频信号通过专用视 ...
- 基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第二篇)软硬件参数调试
基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第二篇)软硬件参数调试 本文内容大部分来自Kris,我们的K大,在VTOL领域的大牛,在此,非常感 ...
- 【毕业设计】基于STM32的无线WIFI投影设计(解析BMP、TCP通讯)
目录 0 引言 1 硬件设计 框图: 2 软件设计 main.c bitmap.c 3 重点难点(BMP文件格式解析.内存与屏幕显示的对应) 4 写在最后 0 引言 有幸做过一个无线传输的设计,有关B ...
- 微信小程序+阿里物联/Onenet物联+esp32搭建无服务器物联系统(一)---ESP32硬件设计开源
目录 简介 一.硬件设计开源连接 二.硬件设计解析 1.电路原理图 2.PCB版图 3.BOM资料 4.整体项目的资料连接 微信小程序+阿里物联平台+合宙Air724UG搭建无服务器物联系统(一) 微 ...
- 硬件设计从0到1之基础知识框架
**硬件工程师从0到1--<基础知识框架>****开篇语** 笔者自2011年从本科毕业至今已经近8年,目前从事与硬件产品经理相关工作,主要面向于B端产品(B端:企业用户).整个岗位职责经 ...
- 用stm32开发时是直接买现成的开发板还是芯片?开发板学习,芯片硬件设计
视情况而言,买开发板用于评估和学习,然后买芯片做硬件设计 开发板 开发板上手即可使用,并附带很多模块. 拿到开发板后即可直接根据开发板提供的原理图进行程序编写,学习. 优点:简单快捷,上手快,拿到手就 ...
- allegro差分信号走线_浅谈硬件设计中的一些思路和方法(5)—信号系统,又学到了...
房价在涨,客户需求在涨,体重在涨,房租在涨,火气在涨,唯一不涨的大概只有薪资了??? 现在客户好套路啊~我们卖的A+B,他非要让我在B上开一个兼容C的口子,然后他用C+B.问题是C不是我们的产品啊~让 ...
最新文章
- GoogleSketchUp构建家庭模型
- MongoDB3.4安装及卸载
- Application Loader:上传卡在App Store正在通过iTunes Store鉴定
- Spring boot注册三大组件
- AtCoder Beginner Contest 096 题解
- AESNI/XData勒索病毒来袭 目前主要在乌克兰传播 它居然还能使用硬件加速加密过程...
- 查询DB中每个表占用的空间大小
- 《Python Cookbook 3rd》笔记(4.3):使用生成器创建新的迭代模式
- Spring MVC前端控制器不拦截静态资源配置
- mysql5.7安装
- oracle——监听(二、sqlplus连接数据库)
- Linux之 linux7防火墙基本使用及详解
- python函数手册pdf_Numpy函数手册(中文版).pdf
- QT应用编程: 开发TCP网络调试助手
- Word弹窗提示“拼写或语法错误太多,无法继续显示”的处理办法
- JAVA随机生成中文姓名,性别,Email,手机号,住址
- Spring Gateway 报错java.lang.IllegalStateException: COMPLETED 解决
- chm提示 已取消到该网页的导航的解决方法
- ESP8266-Arduino编程实例-MAX44009环境光传感器驱动
- 社会生活中十大著名法则