Aocoda-RC F405V2 FC(STM32F405RGT6 v.s. AT32F435RGT7) IO Definitions

@[TOC](Aocoda-RC F405V2 FC(STM32F405RGT6 v.s. AT32F435RGT7) IO Definitions)

1. 源由

Aocoda-RC F405V2飞控支持betaflight/inav/Ardupilot固件,是一款固件兼容性非常不错的开源硬件。

之前我们对比过STM32F405RGT6 v.s. AT32F435RGT7 Comparison for Flight Controller,整体对比:

  1. 性能上显著提升
  2. 引脚定义基本一致
  3. 容量上最大支持4MB

通过betaflight开源,可以非常快速的了解硬件的引脚对应关系:

  • AOCODAF405V2MPU6000
  • AOCODAF405V2MPU6500

若将该芯片直接替换成AT32F435RGT7,在硬件升级上需要做哪些改动或者调整/优化?

2. 功能引脚对比

STM32F405RGT6飞控引脚连线参考图:

在这里插入图片描述

2.1 SPI

2.1.1 Gyro

#define GYRO_1_CS_PIN        PA4
#define SPI1_SCK_PIN         PA5
#define SPI1_SDI_PIN         PA6
#define SPI1_SDO_PIN         PA7#define GYRO_1_EXTI_PIN      PC4

在这里插入图片描述在这里插入图片描述

2.1.2 OSD

#define MAX7456_SPI_CS_PIN   PA13
#define SPI2_SCK_PIN         PB13
#define SPI2_SDI_PIN         PB14
#define SPI2_SDO_PIN         PB15

在这里插入图片描述

在这里插入图片描述

2.1.3 Flash

#define FLASH_CS_PIN         PC0
#define SPI3_SCK_PIN         PB3
#define SPI3_SDI_PIN         PB4
#define SPI3_SDO_PIN         PB5

在这里插入图片描述在这里插入图片描述

2.2 I2C

#define I2C1_SCL_PIN         PB6
#define I2C1_SDA_PIN         PB7

在这里插入图片描述在这里插入图片描述

2.3 USB

#define USB_DETECT_PIN       PB12

在这里插入图片描述

2.4 UART

# The normal usage of this ordering is:
# 1) SERIAL0: console (primary mavlink, usually USB)
# 2) SERIAL1: GPS
# 3) SERIAL2: RC input
# 4) SERIAL3: ESC Telemetry
# 5) SERIAL4: VTX
# 6) SERIAL5: Telemetry

2.4.1 UART1

#define UART1_TX_PIN         PA9
#define UART1_RX_PIN         PA10

在这里插入图片描述

2.4.2 UART2

#define UART2_TX_PIN         PA2
#define UART2_RX_PIN         PA3

在这里插入图片描述
注:PA3有定时器资源,可用于单线协议。

2.4.3 UART3

#define UART3_TX_PIN         PC10
#define UART3_RX_PIN         PC11

在这里插入图片描述

2.4.4 UART4

#define UART4_TX_PIN         PA0
#define UART4_RX_PIN         PA1

在这里插入图片描述

2.4.5 UART5

#define UART5_TX_PIN         PC12
#define UART5_RX_PIN         PD2

在这里插入图片描述在这里插入图片描述

2.5 Motor

#define MOTOR1_PIN           PC6
#define MOTOR2_PIN           PC7
#define MOTOR3_PIN           PC8
#define MOTOR4_PIN           PC9
#define MOTOR5_PIN           PA15
#define MOTOR6_PIN           PA8
#define MOTOR7_PIN           PB10
#define MOTOR8_PIN           PB11TIMER_PIN_MAP( 1, PC6 , 2,  1) \
TIMER_PIN_MAP( 2, PC7 , 2,  1) \
TIMER_PIN_MAP( 3, PC8 , 2,  1) \
TIMER_PIN_MAP( 4, PC9 , 2,  0) \
TIMER_PIN_MAP( 5, PA15, 1,  0) \
TIMER_PIN_MAP( 6, PA8 , 1,  1) \
TIMER_PIN_MAP( 7, PB10, 1,  0) \
TIMER_PIN_MAP( 8, PB11, 1,  0) \

在这里插入图片描述

2.6 ADC

#define ADC_VBAT_PIN         PC2
#define ADC_RSSI_PIN         PC3
#define ADC_CURR_PIN         PC1

在这里插入图片描述

2.7 LED & LED stripe

2.7.1 LED

#define LED0_PIN             PC13

在这里插入图片描述

2.7.2 LED stripe

#define LED_STRIP_PIN        PB1TIMER_PIN_MAP( 9, PB1 , 2,  0)

在这里插入图片描述

2.8 Buzzer

#define BEEPER_PIN           PB8

在这里插入图片描述

3. 总结

3.1 电气特性差异

  • STM32F405RGT6 : VCAP_1/VCAP_2
    在这里插入图片描述

  • AT32F435RGT7: PH3/PH2
    在这里插入图片描述
    在这里插入图片描述

3.2 功能引脚差异

基本一致。

3.3 未使用功能引脚

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

4. 参考资料

【1】STM32F405/415
【2】AT32F435 Series
【3】STM32F405RGT6 v.s. AT32F435RGT7 Comparison for Flight Controller

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/165568.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中的容器(集合),HashMap底层原理,ArrayList、LinkedList、Vector区别,hashMap加载因子0.75原因

一、java中的容器 集合主要分为Collection和Map两大接口;Collection集合的子接口有List、Set;List集合的实现类有ArrayList底层是数组、LinkedList底层是双向非循环列表、Vector;Set集合的实现类有HashSet、TreeSet;Map集合的实现…

freeipa server副本同步中断,两主节点数据不一致

/var/log/messages 和/var/log/dirsrv/slapd-testhadoop-COM 日志都出现以下日志: If replication stops, the consumer may need to be reinitialized. [27/Jun/2023:05:15:09.469361922 0800] - ERR - NSMMReplicationPlugin - changelog program - repl_plugin_name_cl - a…

使用Axure RP和内网穿透技术制作静态站点并实现公网访问

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

某全球领先的芯片供应商:优化数据跨网交换流程,提高安全管控能力

1、客户介绍 某全球领先的芯片供应商,成立于2005年,总部设于北京,在国内上海、深圳、合肥等地及国外多个国家和地区均设有分支机构和办事处,致力于为客户提供更优质、便捷的服务。 2、建设背景 该公司基于网络安全管理的需求&am…

PCA降维可视化

二维 import pandas as pd import warnings warnings.filterwarnings("ignore")df pd.read_csv(data/data.csv).dropna() features df.columns[:-1] X, y df[features], df[label]from sklearn.preprocessing import MinMaxScaler # 创建MinMaxScaler对象 scaler…

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式

一、 背景: 在使用 Jmeter 进行接口测试时,有些小伙伴不知道 Headers 和请求参数 (Parameters,Body Data) 的联系,本文主要讲 Content-Type 为 application/x-www-form-urlencoded 和 application/json 的场景。 1、使用 Parame…

【ROS 2 基础-常用工具】-7 Rviz仿真机器人

所有内容请查看:博客学习目录_Howe_xixi的博客-CSDN博客

OpenLDAP LDIF详解

手把手一步步搭建LDAP服务器并加域 有必要理解的概念LDAPWindows Active Directory 服务器配置安装 OpenLDAP自定义安装修改对象(用户和分组等)修改olcSuffix 和 olcRootDN 属性增加olcRootPW 属性修改olcAccess属性验证新属性值 添加对象(用…

线性代数-Python-01:向量的基本运算 - 手写Vector及numpy的基本用法

文章目录 一、代码仓库二、向量的基本运算2.1 加法2.2 数量乘法2.3 向量运算的基本性质2.4 零向量2.5 向量的长度2.6 单位向量2.7 点乘/内积:两个向量的乘法 --答案是一个标量 三、手写Vector代码3.1 在控制台测试__repr__和__str__方法3.2 创建实例测试代码3.3 完整…

sql中的group by 举例子数据库日期带汉字转换2023年10月18天

sql中的group by 举例子 sql中 group by多个字段,对所有字段做group by_group by 多个字段_Foools的博客-CSDN博客 【精选】玩转SQL语句之group by 多字段分组查询与having子句,一篇解决你的疑惑!_sql多个分组查询-CSDN博客 select to_char…

【PACS系统源码】与医院HIS系统双向数据交换,实现医学影像集成与影像后处理功能

​医院医学影像PACS系统源码,集成三维影像后处理功能,包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等功能。系统功能强大,代码完整。 PACS系统与医院HIS实现双向数据交换&#xff0c…

语音芯片KT142C两种音频输出方式PWM和DAC的区别

目录 语音芯片KT142C两种音频输出方式PWM和DAC的区别 一般的语音芯片,输出方式,无外乎两种,即dac输出,或者PWM输出 其中dac的输出,一般应用场景都是外挂功放芯片,实现声音的放大,比如常用的音箱…

【常用图像增强技术,Python-opencv】

文章目录 常用图像增强技术调整大小灰度变换标准化随机旋转中心剪切随机裁剪高斯模糊亮度、对比度和饱和度调节水平翻转垂直翻转高斯噪声随机块中心区域 常用图像增强技术 图像增强技术是常用于数据增强的方法,可以帮助增加数据集中图像的多样性,提高深…

ICMPv6与NDP

1. ICMPv6简介 ICMP概述 Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议。 ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。 ICMP差错检查 ICMP …

【Ant Design Table + React】表格列伸缩实现

需求背景:需要实现Antd Table 组件的列伸缩,宽度可以拖拽 在Antd 3.x 的版本中是保留的列伸缩的Demo例子的: 借助 react-resizable 可以实现伸缩列。 # npm 安装 npm install react-resizable --save# yarn 安装 yarn add react-resizable参…

使用Simple JWT提供认证服务(详细介绍access_token和refresh_token的使用)

文章目录 基本概念JSON Web Token(JWT)Simple JWT 主要用途Cookie、Session、Token的区别CookieSessionToken Token续签access_token 和 refresh_token时效设置 基本概念 JSON Web Token(JWT) JSON Web Token(JWT&am…

Python 自动化测试框架unittest与pytest的区别!

引言 这篇文章主要讲unittest与pytest的区别,pytest相对unittest而言,代码简洁,使用便捷灵活,并且插件很丰富。 Unittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面…

从手动操作到自动化管理,如何实现企业身份业务全面自动化?

在数字化时代,身份管理已经成为了企业和组织不可或缺的一部分,企业对于管理员工、客户和合作伙伴的身份信息和访问权限的需求变得愈发复杂。身份管理不仅仅是一项必要的任务,更是确保业务流畅运营和数据安全的关键因素。然而,传统…

ESP32C3 LuatOS TM1650②动态显示累加整数

--注意:因使用了sys.wait()所有api需要在协程中使用 -- 用法实例 PROJECT "ESP32C3_TM1650" VERSION "1.0.0" _G.sys require("sys") local tm1650 require "tm1650"-- 拆分整数,并把最低位数存放在数组最大索引处 loc…

冒泡排序、插入排序、选择排序和快速排序的原理

下面是对冒泡排序、插入排序、选择排序和快速排序的原理的简要解释: 冒泡排序(Bubble Sort):冒泡排序是一种简单的排序算法。它通过多次迭代比较相邻的元素,并交换它们的位置,使得较大(或较小&…