• 滨海湾新区要变“湾区明珠” 2019-05-21
  • 孙杨、宁泽涛扛起中国游泳大旗 2019-05-11
  • 那你就写个帖子驳呀!告诉你,我是普通老百姓就是错了也没有啥,你可是论坛“真理化身”呀! 2019-05-11
  • 守住青山不放松 护好绿水不辞难——在渝全国人大代表聚焦“共抓大保护、不搞大开发”专题调研记略 2019-05-10
  • 巴厘岛被爆众多海域垃圾成灾 潜水常被塑料瓶塑料袋包围 2019-05-04
  • 两个不能否定,怎会是停留在30年前? 2019-04-27
  • 国际在线:向世界报道中国,向中国报道世界 2019-04-27
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-26
  • 董卿海霞李思思康辉撒贝宁 央视名嘴童年照谁更萌 2019-04-26
  • “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • 打印

    广东11选5走势图第一球: GD32F303的GPIO口配置为AF输入会导致电平改变,最终无法触发

    [复制链接]
    615|14
    跳转到指定楼层
    楼主
    本帖最后由 liangzheng63 于 2018-11-8 15:43 编辑

    我在使用TIMER和SPI的时候,需要将IO口配置为AF模式,即该IO口连向了TIMER外设或SPI外设。

    • 当使用TIMER的输入引脚TIMERx_ETI(TIMER的外部触发引脚)输入电平时,配置不同的GPIO口速度会导致TIMERx_ETI线上的电平发生不同变化,最后甚至无法正常触发TIMERx的事件。
    • 当我把SPI的配置为从模式,即SCK也为输入时,将SCK与TIMERxETI相连(即外部的信号来同时控制SCK与TIMERxETI),会导致线上的电平更低,最终无法使用。
    • 甚至在只配置IO口的情况下(即不初始化SPI和TIMER),该情况也是一模一样的

    如图所示:原始信号(高电平为3.32V):


    一、当GPIO口配置为50MHz
    • 外部信号只连接SCK或TIMERxETI(高电平为1.17V):
    • 外部信号同时连接SCK和TIMERxETI(高电平为0.54V):

    二、当GPIO口配置为10MHz
    • 外部信号只连接SCK或TIMERxETI(高电平为2.35V):
    • 外部信号同时连接SCK和TIMERxETI(高电平为0.98V):

    三、当GPIO口配置为2MHz
    • 外部信号只连接SCK或TIMERxETI(高电平为3.13V):
    • 外部信号同时连接SCK和TIMERxETI(高电平为2.92V):


    测试芯片使用的是GD32F303CC,我感到很是奇怪,为什么AF电路会钳低输入电平呢,这将会导致在外部信号根本不能触发AF电路的电平改变,而在使用STM32F303的时候不会发生这种事情,这问题也真是比较刁难,找了好久才找到原来和AF电路配置的速率相关。

    可从测试结果看出来,要想完成外部信号同时控制从机SCK,TIMERxETI的话,在10MHz下是无法完成的,只能在2MHz下来完成。那么,毕竟从机SCK、TIMERxETI都是AF输入接口,是否配置的频率会影响施密特触发的结果?


    问题:
    • 修改AF速率,会拉低电平的原因是?
    • 10MHz的外部输入接于2MHz的AF输入配置下是否有风险?
    • 有更好的解决方案让电平不被接低,从而正常工作触发的吗?

    希望GD的工程师能看到,或碰过这个问题的水友能提提建议
    测试代码:
    main.zip (767 Bytes, 下载次数: 6)


    沙发
    | 2018-11-8 14:19 | 只看该作者
    AF模式是什么模式呀

    评论

    liangzheng63 2018-11-8 14:49 回复TA
    Alternate Function,就是将IO口配置到外设上去了 
    板凳
    | 2018-11-8 14:28 | 只看该作者
    本帖最后由 GONGO 于 2018-11-8 15:05 编辑

    修改一下,看一下 user manual 中的寄存器配置,
    CTL0[1:0] = 改成 In input mode(Floating input / Input with pull-up / pull-down) 选一种,

    MD0[1:0] = 必须是 00 ,代表输入,其他都是输出模式




    你把模式配成了输出模式当然不行了!


    地板
     楼主 | 2018-11-8 14:48 | 只看该作者
    GONGO 发表于 2018-11-8 14:28
    修改一下,把模式改成 In input mode(Floating input / Input with pull-up / pull-down)看一下 user man ...

    不是的,我配置的就是AFIO output,指的输入是指配置成该模式后与外设相连,外设将该引脚视为输入引脚,就像帖子里最后一个图的Alternate Function Input一样
    5
     楼主 | 2018-11-8 15:41 | 只看该作者
    本帖最后由 liangzheng63 于 2018-11-8 17:13 编辑
    GONGO 发表于 2018-11-8 14:28
    修改一下,看一下 user manual 中的寄存器配置,
    CTL0[1:0] = 改成 In input mode(Floating input / Inpu ...

    问题解决了,谢谢 GONGO和王工!

    看 GONGO 的画重点才发现了这个异处,GD32F303里是叫AFIO output 的,这个规则与GD32F103、STM32F103是相同的,即只有确定外设使用该IO口输出,才将其配置为Alternate function output mode,如果外设为输入时,则需配置为Input mode。

    而STM32F303是这样描述的:

    叫做Alternate function mode,只要是和外设要使用的IO口,配置为该Alternate function mode将IO交给外设管理,应该是当外设使用该IO口作为输入时,会在外设内部切断输出线路。

    出现帖子里的原因就是我将STM32F303其配置成了Alternate function mode,将代码转到GD32F303上时,该寄存器位又对应了Alternate function output mode,导致输入信号与外设的输出线共线,才出现了上面这些滑稽的测试。

    STM32F303寄存器异变的太多了,我没愣神,真是一字之差啊,还以为GD32F303可以像STM32F103向GD32F103替换一样,浪费了一天多时间找问题,算是给后来的人提个醒吧。
    6
    | 2018-11-8 16:24 | 只看该作者
    感觉是不是寄存器的配置有问题呀
    7
    | 2018-11-8 16:26 | 只看该作者
    有没有可能跟外部硬件连接也有关系啊

    评论

    liangzheng63 2018-11-8 17:14 回复TA
    没有,这就是最小电路测出来的,确实是配置的问题,STM32F303与GD32F303寄存器差别太大 
    8
     楼主 | 2018-11-8 17:18 | 只看该作者
    xiaoqizi 发表于 2018-11-8 16:24
    感觉是不是寄存器的配置有问题呀

    恩,就是寄存器的问题,STM32的寄存器规则变得多,有些特别小的点就很难注意到差别,且GD32F303与STM32F303差别还是挺大的
    9
    | 2018-11-10 18:16 | 只看该作者
    这个用示波器的来监控的就很一目了然了的
    10
    | 2018-11-25 10:44 | 只看该作者
    配置不同的GPIO口速度会导致TIMERx_ETI线上的电平发生不同变化,最后甚至无法正常触发TIMERx的事件。
    11
    | 2018-11-30 21:56 | 只看该作者
    那个10M的时候,向下的那个尖尖的波形是什么原因呢?
    12
    | 2018-11-30 21:56 | 只看该作者
    labasi 发表于 2018-11-8 14:19
    AF模式是什么模式呀

    配置为特殊功能IO。
    13
    | 2018-11-30 21:57 | 只看该作者
    vibra2016 发表于 2018-11-25 10:44
    配置不同的GPIO口速度会导致TIMERx_ETI线上的电平发生不同变化,最后甚至无法正常触发TIMERx的事件。 ...

    那是肯定的,我们实际运行的时候是不变的,固定为一个速度的。
    扫描二维码,随时随地手机跟帖
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    我要发帖 投诉建议 创建版块 申请版主

    快速回复

    您需要登录后才可以回帖
    登录 | 注册
    高级模式

    论坛热帖

    快速回复 广东快乐十分走势图 返回列表
  • 滨海湾新区要变“湾区明珠” 2019-05-21
  • 孙杨、宁泽涛扛起中国游泳大旗 2019-05-11
  • 那你就写个帖子驳呀!告诉你,我是普通老百姓就是错了也没有啥,你可是论坛“真理化身”呀! 2019-05-11
  • 守住青山不放松 护好绿水不辞难——在渝全国人大代表聚焦“共抓大保护、不搞大开发”专题调研记略 2019-05-10
  • 巴厘岛被爆众多海域垃圾成灾 潜水常被塑料瓶塑料袋包围 2019-05-04
  • 两个不能否定,怎会是停留在30年前? 2019-04-27
  • 国际在线:向世界报道中国,向中国报道世界 2019-04-27
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-26
  • 董卿海霞李思思康辉撒贝宁 央视名嘴童年照谁更萌 2019-04-26
  • “龙江二号”微卫星传回地月合影 2019-04-18
  • 中国驻泰国大使考察合艾国光中学孔子课堂 2019-04-18
  • 【清园20年】感恩大回馈!半价!半价! 2019-04-18
  • 中央纪委紧盯节点 4年来通报曝光问题近4000起 2019-04-13
  • 2013环球企业领袖宁夏圆桌会议嘉宾云集 2019-04-13
  • 《魔兽世界》未解之谜 那些仍不能被玩家们踏足的领地 2019-04-11
  • 快乐扑克稳赢技巧 克里斯丁欢乐生肖 北京pk10计划怎么倍投 大乐透走势图最近2500 牛牛720lu刺激偷拍 老时时彩玩法 如何下载新浪彩票网 重庆时时彩改名欢乐生肖 西安福利彩票中心电话 超级大乐透开奖结果查询 体育7星彩18090 巅峰玩家德州扑克 幸运飞艇官网注册账号申请 福彩15选5开奖结果 重庆福彩欢乐生肖开奖结果查询 今天双色球预测号码