查看: 2614|回复: 13

[求助] 为何NXP LPC5500系列 MCU的设计如此闹心?

[复制链接]
  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
    发表于 2020-11-21 10:23:28 | 显示全部楼层 |阅读模式
    今天仔细看了一下LPC55X28系列MCU的定时器(含CTIMER和SCT),这两种定时器竟然无法配置成简单的周期触发定时器(定时触发trigger),只能配置成Free running timer(无Trigger)、Pulse Width Modulator via match outputs、Pulse Width Demodulator via capture input三种形式,若是想用一个简单的周期触发定时器就只能配置成Pulse Width Modulator via match outputs、Pulse Width Demodulator via capture input两种形式(必须配置输入或输出引脚,可以让系统对引脚无反应),但是这样必然会浪费一个引脚,本来很简单的事情为何弄得这么复杂?感觉NXP的设计能力越来越差了(闭门造车,根本不考虑实际的应用需求),在定时器的应用上真怀念freescale的日子。

    MRT可以用于周期出发定时器,但是能设置的时长有限(因为不能分频)且计数器最大值只能达到0xFFFFFF,因此在主频为150MHz情况下最大触发时间只能达到0xFFFFFF,约为168ms,若是想配置出更长的出发时间就只能自己在终端中去定义计数器来控制了。

    最佳答案

    adb157 发表于 2020-11-23 23:44 这个我试过了,不行,触发dma只能触发一次,不是一直触发的 SCT, DMA... 这类东西在单片机上很麻烦,如果能用中断实现,就最好不用。 因为那个的学习和试错,需要时间和努力。 ...
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3975
    最后登录
    2024-4-16
    发表于 2020-11-30 11:13:40 | 显示全部楼层
    okwh 发表于 2020-11-30 11:10
    SCT, DMA... 这类东西在单片机上很麻烦,如果能用中断实现,就最好不用。
    因为那个的学习和试错,需要时 ...

    CTIMER 或者 MRT吧,学习成本低很多
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3975
    最后登录
    2024-4-16
    发表于 2020-11-21 15:02:26 | 显示全部楼层
    本帖最后由 mgn 于 2020-11-21 15:04 编辑

    我记得有个OSTimer 应该也可以吧,OSTimer的时钟源可以选择到32KHz去,24bit
    CTimer的话也不难,只是可能不太熟悉,习惯LPC的用户啊拿来上手还算简单。 配合着LPC2000的资料,算是一个比较经典的Timer了。

    SCT确实有点复杂,本身SCT也是为了更复杂的应用去设计的。

    感谢提的意见。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3975
    最后登录
    2024-4-16
    发表于 2020-11-21 19:21:53 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3975
    最后登录
    2024-4-16
    发表于 2020-11-21 22:41:03 | 显示全部楼层
    哦,对了,你举得Kinetis那个Timer IP比较好? 给我说说,tks
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-2-5 12:06
  • 签到天数: 627 天

    [LV.9]以坛为家II

    94

    主题

    1628

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4429

    热心会员

    最后登录
    2024-2-5
    发表于 2020-11-23 08:25:42 | 显示全部楼层
    这个就有点尴尬了。SCT虽说应用灵活,但是也是多了道工序,很多人不喜欢,大道至简,复杂的东西要有,简单的更要保留。
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3975
    最后登录
    2024-4-16
    发表于 2020-11-23 10:53:16 | 显示全部楼层
    胤幻1988 发表于 2020-11-23 08:25
    这个就有点尴尬了。SCT虽说应用灵活,但是也是多了道工序,很多人不喜欢,大道至简,复杂的东西要有,简单 ...

    所以按需向下简单点的有CTimer,更简单的比如MRT啊,OSTimer啊还有UTICK之类的定时器。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35

    主题

    356

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2563
    最后登录
    2023-6-23
    发表于 2020-11-23 17:24:18 | 显示全部楼层
    本帖最后由 香水橙 于 2020-11-23 17:25 编辑

    只要能做PWM,就肯定可以做周期中断触发,只要不配置输入输出引脚即可,不会浪费引脚的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5378
    最后登录
    2021-12-22
    发表于 2020-11-23 18:13:34 | 显示全部楼层
    本帖最后由 okwh 于 2020-11-23 18:29 编辑

    楼主没搞错吗?   LPC55 系列
    1   通用的计数计时器有5个32位的, 每个计数器可支持1~4个计时中断,甚至支持触发DMA.
    2  其他计数计时器: 一个SCTimer/PWM,一个 RTC,一个 MRT, 一个WWDT, 一个Micro-Tick Timer,一个42-bit OS Timer。

    这么多了,不够用?    SCT是用于特别复杂的状态机硬件化。通常不必使用。
    那5个通用的,每个可支持产生1~4个计时中断, 应该足够用了吧。
    简单的周期触发 这5个任何一个都可以的。
    它们的功能:
    使用32 位可编程预分频器的32 位定时器/ 计数器。
    • 计数器或定时器操作
    • 每个定时器拥有四个32位捕获通道,可以在某输入信号PinI跃迁时生成定时器值捕获。捕获事
    件还可以有选择性地生成中断。

    • 32 位匹配寄存器 计数匹配时可以:每个计数周期内 最多可产生4次/种中断,最后一个匹配后 重新开始计数--循环模式。
    – 连续操作,可选择在匹配时产生中断。
    – 在与可选中断生成相匹配时停止定时器运行。
    – 在与可选中断生成相匹配时进行定时器复位。      这个就是周期计时
    --  需要时可配置引起DMA

    • 匹配寄存器还可拥有四个外部输出,它们 计数匹配时可具有如下功能:
    – 匹配时设置某PinO为低电平。
    – 匹配时设置某PinO为高电平。
    – 匹配时切换某PinO。
    – 匹配时不执行任何操作。


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

    使用道具 举报

  • TA的每日心情
    开心
    2020-6-11 11:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    5

    主题

    68

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    286
    最后登录
    2020-12-17
    发表于 2020-11-23 23:44:38 来自手机 | 显示全部楼层
    okwh 发表于 2020-11-23 18:13
    楼主没搞错吗?   LPC55 系列
    1   通用的计数计时器有5个32位的, 每个计数器可支持1~4个计时中断,甚至支 ...

    这个我试过了,不行,触发dma只能触发一次,不是一直触发的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-6-11 11:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    5

    主题

    68

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    286
    最后登录
    2020-12-17
    发表于 2020-11-23 23:48:17 来自手机 | 显示全部楼层
    okwh 发表于 2020-11-23 18:13
    楼主没搞错吗?   LPC55 系列
    1   通用的计数计时器有5个32位的, 每个计数器可支持1~4个计时中断,甚至支 ...

    大神做过dma触发的例子没?求个联系方式可好?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-24 13:02 , Processed in 0.161896 second(s), 32 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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