GD32F103RCT6/GD32F303RCT6-杂项-GD32与STM32(GPIO)引脚差异

   本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发

向上代码兼容GD32F450ZGT6中使用

后续项目主要在下面该专栏中发布:

https://blog.csdn.net/qq_62316532/category_12608431.html?spm=1001.2014.3001.5482

感兴趣的点个关注收藏一下吧!

电机驱动开发可以跳转:

GD32F103RCT6/GD32F303RCT6-实战项目-无刷电机驱动(1)_gd32f103rct6例程-CSDN博客

BMS电源系统开发可以跳转:

暂未放链接

DCDC-双向BUCK-BOOST实战链接:

GD32实战篇-双向数控BUCK-BOOST-BUCK降压理论基础-CSDN博客

GD32实战篇-双向数控BUCK-BOOST-BOOST升压理论基础-CSDN博客

目录

介绍

       相信大部分人,最初的学习路径是从51单片机传统的STM32

       以后的趋势肯定是国产化为大趋势,今天主要是介绍一下基于兆易创新GD32 

两者的引脚区别

       为什么会想到出这个呢,因为最近在做无刷驱动的时候,反电动势过零点判断用了一个比较器,然后打完板子回来以后离谱的发现,芯片输出端口是5V的电平!吓得我里面去查阅资料,想看看会不会给我宝贵的GD32芯片整坏了,特此记录一下,方便后续查找!

       资料来源来自于官方提供的手册以及注意事项表,大家感兴趣可以去兆易创新家里面去看看

       我贴个传送门:兆易创新

       GPIO这东西在MCU里面基本上天天用,平常也没有太在意,等出问题的时候才会猛的想起来,糟了要嘎

用户手册

       首先查阅手册可以知道P148

       GD32的GPIO的主要特点:
  1. 输入/输出方向控制
  2. 施密特触发器输入功能
  3. 每个引脚都具有弱上拉/下拉功能
  4. 推挽/开漏输出使能控制
  5. 置位/复位输出使能
  6. 可编程触发沿的外部中断—使用EXTI配置寄存器
  7. 模拟输入/输出配置
  8. 功能输入/输出配置
  9. 端口锁定配置

       当然这些只是最常用的配置,其余的例如串口,SPI,IIC,485,CAN,ADC,PWM等各自各样的功能,极大的方便了我们的开发!

       首先GPIO在GD32里面和STM32一样,分为两种不同类型,5V耐受性非5V耐受性,具体建议大家去查阅手册,我这里更多是以基础型GD32F103RCT6为例进行介绍!

       好了让我们开始翻开厚重的GD32F10x的手册,去查看一下GPIO的外围结构

25a95cd5cd5c440cafcd0d46d80ca785.png

       这里大家肯定已经耳熟能详了

       每个通用 I/O 端口都可以通过两个 32 位的控制寄存器(GPIOx_CTL0/GPIOx_CTL1)和两个
32 位的数据寄存器(GPIOx_ISTAT,GPIOx_OCTL)配置为 8 种模式:模拟输入,浮空输入,上拉输入,下拉输入,GPIO 推挽输出,GPIO 开漏输出,AFIO 推挽输出和 AFIO 开漏输出。分别对应其端口寄存器的不同位

e23c21b3efdc48b18a2b707c07772795.png

633a30ded6204395878e20231c9e04b2.png

       对于VSS以及VDD供电电压来说,则有:

a41d29d3b7aa4ef7b188dc35cbbff932.png

       特别是ADC引脚!!

       不合适的输入电压在超过Vdd+0.3V约等于3.6V的情况下,发生由于漏电造成的ADC采样问题!!

       具体的解释手册上有很详细的解释,就不展开讲了

引脚介绍

       我们的5V耐受引脚的具体硬件则在这里的ESD保护电路中有着不同的区别!

2a8278051406446992547e11fa6577c9.png

af52e6490e7c4606842f78a5395686ec.png

       通过硬件原理图,能够看见

       针对第一种非5VIO来说,改引脚分别在Vdd以及VSS有着两个二极管,如果IO-->Vdd的电压  >  对应二极管的正向导通电压,则会产生一个从IO引脚到Vdd的电压,反之Vss-->Vss的电压   >对应二极管的正向导通电压,那么就会产生一个从Vss到IO的电流

       而针对第二种电路,没有对于Vdd的一个二极管在,为了避免由于引脚漏电产生的IO口拉低,GD32的手册中明确写出了优先选择使用 支持5V的引脚作为与外部连接先上电的引脚,以及若必须选择标准IO引脚,需采用比如三极管等隔离措施,防止引脚漏电。(以上两句均来自手册原话)

拓展建议以及安全保护

       平常在使用过程中可以加入芯片保护以达到安全的目的

       最常见的肯定是通过分压电阻输入到单片机里面

       其次则是常见的一些电平转换电路

       首先介绍一下,电平转换电路是我们在嵌入式设计中不可或缺的部分,适用于不同通讯信号,不同电压系统之间的信号传输,例如最常见的1.8V、3.3V、5V等

       对应的电路有专门的通讯转换芯片,根据芯片的使用手册去完成电平转换或者是逻辑门电平转换去完成。

       芯片常见方案比如:

       NSI8241

       XL74HC245     ( 这里举例的两款以隔离为主)

常见电路例如:

fc95e95d50744aa792ed8961261102f4.png

设计要点

       要保证,例如GD32单片机的3V3通讯电平,BC26的1V8通讯电平,你肯定要使其电平变化落在适合的电压范围

       更要保证,例如IIC开始、停止信号那样的上升电平时间、下降电平时间,延时长短等信号完整性问题

       最后则是需要做好ESD方面的,比如电流倒灌,电源信号干扰,静电保护,浪涌保护等方面的考虑以及选取合适的参考地平面,有着较为合理的对地阻抗

       自此结束,目前
       GD32F103RCT6 基础型 目前已经完成了教程文档开发、源码编写、UCOSIII移植、函数重写,正在进行电机驱动开发
       GD32F107RCT6 互联型 目前正在制作多路CAN、485、以太网通讯,输入输出隔离的开发以及源码编写和UCOSIII移植
       GD32F407ZET6 目前尚未开始

       我会在后续时机合适的时候发表,关注我!第一时间了解!

  • 23
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不及你的温柔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值