查看: 3909|回复: 11

[已解决] 如何利用K60的PDB实现输出输出可控宽度的脉冲?(已解决)

[复制链接]

该用户从未签到

3

主题

9

帖子

0

新手上路

Rank: 1

积分
41
最后登录
2014-11-10
发表于 2014-8-28 10:07:24 | 显示全部楼层 |阅读模式
本帖最后由 knife 于 2014-9-4 21:41 编辑

我是新手,通过阅读K60的参考手册中PDB部分得知可以用它产生输出(Pulse-Out),但在手册中没有具体的说明怎么将其输出到引脚上,只是简单的如下叙述:
The pulse-out connections implemented in this MCU are described in the device's chip configuration details
由于没有时间阅读整篇文档,特来请教前辈,最好能够给出示例代码,也可给出相关在参考文档中的具体章节信息.
谢谢
我知道答案 目前已有11人回答
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-28 10:28:20 | 显示全部楼层
    楼主你好
    参考手册里让你看的chip configuration其实就是参考手册“Chapter 3 Chip Configuration”,你可以从“3.8.1 PDB Configuration”章节看到相关信息。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    41
    最后登录
    2014-11-10
     楼主| 发表于 2014-8-28 16:20:49 | 显示全部楼层
    阅读了PDB Configuration相关内容,原来PDB的Pulse-Out只能作为CMP单元窗口/采样控制信号,并不能直接输出到引脚上,自然就不能通过它直接输出一个可控的脉冲.不过我有如下想法,不知是否能够达到输出一个可控的脉冲的目的,方法如下:
    1.将输出脉冲信号的引脚(设置成GPIO)与PDB的外部触发引脚关联.
    2.设置好PDB中断的时间(该时间就是脉冲的宽度时间)和触发条件为外触发.
    3.需要输出脉冲时,直接通过GPIO操作改变引脚状态,从而产生脉冲的前沿(此时将触发PDB).
    4.时间到后产生PDB中断,在中断服务处理里将引脚状态恢复常态.
    这个方法我认为在理论上是可行的,在100MHz下其脉冲宽度应该可以达到几十纳秒,但有个缺点,这就是中断响应时间会影响脉冲的宽度,且决定了脉冲的最小宽度.
    有哪位能告诉我K60的中断相应时间最小值是多少?
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-28 16:41:40 | 显示全部楼层
    FTM模块的PWM模式也可以输出可控宽度的脉冲,请问你对这个脉冲的需求是什么?
    为何要用PDB去产生呢?

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    41
    最后登录
    2014-11-10
     楼主| 发表于 2014-8-28 16:53:30 | 显示全部楼层
    FSL_TICS_Robin 发表于 2014-8-28 16:41
    FTM模块的PWM模式也可以输出可控宽度的脉冲,请问你对这个脉冲的需求是什么?
    为何要用PDB去产生呢?

    脉冲宽度在几十到几百纳秒宽,而且要尽可能的精确
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    41
    最后登录
    2014-11-10
     楼主| 发表于 2014-8-28 16:54:25 | 显示全部楼层
    并且是单脉冲
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-28 17:53:12 | 显示全部楼层
    knife 发表于 2014-8-28 16:53
    脉冲宽度在几十到几百纳秒宽,而且要尽可能的精确

    Cortex M4的interrupt latency就要12个core cycles,你再去操作IO口速度就慢啦。
    建议你试一下FTM输出PWM,把FTMx_CnV设置成1
    这样当你的FTM时钟为bus clock=50MHz的情况下,应该还能输出20ns的高电平脉冲。

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    41
    最后登录
    2014-11-10
     楼主| 发表于 2014-8-28 20:44:34 | 显示全部楼层
    FSL_TICS_Robin 发表于 2014-8-28 17:53
    Cortex M4的interrupt latency就要12个core cycles,你再去操作IO口速度就慢啦。
    建议你试一下FTM输出PWM ...

    你所说述的关于M4对于中断响应消耗的时间,也是我考虑到的,毕竟第一次学习和使用M4及K60,许多细节都还没有去弄清楚,本来准备用实验对比的方式来测试,感谢FLS_TICS_Robin的告知及建议
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-9-1 10:11:53 | 显示全部楼层
    knife 发表于 2014-8-28 20:44
    你所说述的关于M4对于中断响应消耗的时间,也是我考虑到的,毕竟第一次学习和使用M4及K60,许多细节都还没有 ...

    楼主如果还有问题,欢迎继续交流。
    如果问题解决了,还请帮我们及时结贴,在你标题的结尾加上(已解决),这样方便我们查看未结帖。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    帖子

    0

    新手上路

    Rank: 1

    积分
    41
    最后登录
    2014-11-10
     楼主| 发表于 2014-9-4 21:39:43 | 显示全部楼层
    确实用PDB没有用FTM效果好,不过我没有用FTM的PWM模式,而是用的Output Compare,两路输出外加一个与门,实现了20ns的单脉冲
    偷偷问一下版主,怎样操作才能将标题结尾处加上(已解决)
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 19:33 , Processed in 0.107801 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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