TMS32F28027的GPIO34驱动光耦问题

问题:硬件研发同事在调试一块TMS32F28027产品电路板时发现GPIO34出现上电控制正常,运行中只要Reset芯片,系统进入锁死状态,GPIO34引脚外部直接通过一个510欧电阻驱动光耦TLP181。据同事描述只有这个引脚驱动光耦的时候会出现这个问题,换用其它引脚驱动光耦,或则光耦去掉换成驱动LED都不会发生这个问题。

相关原理图如下:

处理过程:首先查TI此芯片相关手册,发现GPIO34是普通GPIO复用比较输出端,对于端口使用方面没有任何问题,然后对于光耦驱动部分首先怀疑IO引脚驱动力不够问题,换用1k电阻问题依旧。此后查找思路转换到软件IO口配置部分,仔细查看代码初始化IO部分发现IO口配置无问题。此时问题陷入瓶颈,于是在网络上查找此芯片GPIO34相关的内容,发现芯片手册上未提及关于GPIO34内容,其实GPIO34除了手册上提及两个功能外还有第三个功能,芯片Boot选择脚,此引脚和另外两引脚状态决定了芯片上电后引导选择,当上电后GPIO34处于低电平的时候会使芯片进入Boot Rom等待状态,遂怀疑因为光耦容性的关系和驱动力关系(据手册芯片IO只能输出3mA),当reset时候因为某种原因拉低了此引脚使芯片进入了等待状体。于是在引脚和光耦间加一级三极管缓冲后问题解决。

回顾:引脚输出能力要提前预估,对于特殊引脚一定要查清后再使用。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

SpringBoot整合Redis乱码原因及解决方案

问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa