查看: 4332|回复: 5

[求助] K60DN512Z的硬件IIC收不到ACK

[复制链接]

该用户从未签到

7

主题

33

帖子

0

注册会员

Rank: 2

积分
167
最后登录
2015-12-14
发表于 2015-2-10 22:01:37 | 显示全部楼层 |阅读模式
K60DN512ZVLQ10用了LPLD的库和官方不带Z的MMA8451的例程。。在连续读取寄存器的时候会导致写数据后收不到ACK。并且从此以后本IIC再也收不到ACK了(只能收到发送从机地址的ACK)。。只有复位芯片后才能读取正常。。

这是带Z的K60缺陷。。? Mask是8N30D。。勘误表上说的那个IIC问题好像不适用我,

还有个问题。。。。我IIC引脚悬空的时候,开启了OD,竟然。。能收到ACK?!我IIC上一个设备都没接。。发送任意从机地址收到ACK,读写任意数据都能收到ACK。。。。怎么来的。

还有个问题就是。。。K60抗电磁干扰的能力强不强。K60芯片背后有一条大电流(2A)的电源线。。会不会是电磁干扰造成的?虽然我单独用核心板接MMA8451也有这个问题。。

我还没来得及换不带Z的芯片试试。。现在申请不到K60的样片了。。
K40DN512VLQ10和K60DN512VLQ10可互换吗?我申请了2片K40回来试试。。。
我用了LPLD的K60库函数可以直接更换吗。。?未用到K60比K40多的独有接口

我知道答案 目前已有5人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2015-2-11 16:44:38 | 显示全部楼层
    楼主你好
    Kinetis K系列是否带Z区别还是蛮大的,程序需要相应修改后才能通用。
    具体区别请看:AN4445 Kinetis 100 MHz Rev 1.x to Rev 2.x Migration Guide

    LPLD这类第三方库我记得都是用在带Z的芯片上的,官网那个[url=https://www.freescale.co
    m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=K60_100&fpsp=1&tab=Design_Tools_Tab#]KINETIS512_V2_SC[/url]
    例程包是给不带Z的芯片用的。

    如果你确定自己芯片上刻的掩码是8N30D,那么那个bug和你的问题无关。


    如果你用LPLD的库,就还是用他们支持的芯片吧。否则出了问题很难定位。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2015-2-11 16:48:06 | 显示全部楼层
    建议你按照参考手册上的流程图编写IIC中断服务函数:
    Typical I2C Interrupt Routine.jpg
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7

    主题

    33

    帖子

    0

    注册会员

    Rank: 2

    积分
    167
    最后登录
    2015-12-14
     楼主| 发表于 2015-2-11 22:52:18 | 显示全部楼层
    FSL_TICS_Robin 发表于 2015-2-11 16:44
    楼主你好
    Kinetis K系列是否带Z区别还是蛮大的,程序需要相应修改后才能通用。
    具体区别请看:AN4445[/back ...

    谢谢回复..我是在DN512ZVLQ10上移植了官方的MMA8451例程(硬件无关,只移植了IIC_ReadReg类似的函数),在连续单个读取MPU6050的寄存器的时候.发现间隔时间需要到5Ms才能保证通信正常,通信速度50K-400K都试过(MMA8451同样,但是Pause在2Ms的时候就能正常通信),单独用核心板测试的..没有外围设备..供电正常...
    捕获.JPG
    一旦出错..一直卡在这个函数...并且从此以后发送任意从地址数据都能收到ACK,包括我把IIC设备拔掉以后也能收到,但是读写寄存器操作永远都收不到ACK,
    除了复位单片机(尝试过卡死以后重新初始化IIC和MPU6050,但是只要单片机不断电,就一直会有这个错误,但是MPU6050/MMA8451从未断电,所以我推测是K60Z 设计或者官方例程或者我的环境有问题,现在放假回家,不能继续测试,过年后K40样片到了再测试.谢谢)


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    16

    帖子

    0

    注册会员

    Rank: 2

    积分
    97
    最后登录
    2017-4-26
    发表于 2016-3-16 11:41:36 | 显示全部楼层
    FSL_TICS_Robin 发表于 2015-2-11 16:48
    建议你按照参考手册上的流程图编写IIC中断服务函数:

    最新的库还是有点问题,我长在调试IIC
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40

    主题

    500

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1089
    最后登录
    2025-1-13
    发表于 2016-3-17 14:26:58 | 显示全部楼层
    引脚大部分应该是可以的,细节看手册!
    xingxiny75@gmail.com.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 14:15 , Processed in 0.101126 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表