请选择 进入手机版 | 继续访问电脑版
搜索
查看: 167|回复: 1

[求助] lpc54608 SCT0 input0 硬件触发DMA传输,实际传输次数偏小。

[复制链接]
  • TA的每日心情

    2016-12-22 13:51
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    21

    主题

    138

    帖子

    602

    积分

    高级会员

    Rank: 4

    积分
    602
    发表于 2017-10-12 16:04:54 | 显示全部楼层 |阅读模式
    本帖最后由 zhangshengping 于 2017-10-12 16:07 编辑

    想用LPC54608来采集摄像头的数据,
    每个像素时钟信号的上升边沿 触发DMA将GPIO口的状态传输到SRAM中。

    DMA请求源

    DMA请求源

    根据DMA可选的硬件触发源,想了两种实现方式:
    方案 1. 使用PINT中断来触发DMA传输, DMA设置为burst模式,每次触发传输1个字节的数据。

    方案 2. 使用SCT0 input0 的上升边沿触发SCT0的事件0, 设置SCT0的事件0 触发 SCT0 DMA请求,
                由SCT0 DMA请求触发DMA传输, DMA设置为burst模式,每次触发传输1个字节的数据。

    实际测试发现两种方案都存在问题。

    方案1: PINT中断标志为不清除的情况下,引脚的上升沿不能重复触发PINT中断请求,
                而且DMA不能自动清除PINT中断标志位。这导致只能触发一次DMA传输

    方案2: 可以实现多次DMA传输, 但是实际测试的时候发现并不能保证引脚上的
                每一个上升沿都可以触发DMA传输
    。实际测试, 512次上升沿,会有140多次
                触发失败。
                      SCT的配置情况如下:  时钟选择主时钟 180MHz, 引脚上升沿的频率低于 14k。            

    源代码 dma_gpio_to_memory.zip (4.1 KB, 下载次数: 0)
    回复

    使用道具 举报

  • TA的每日心情

    2016-12-22 13:51
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    21

    主题

    138

    帖子

    602

    积分

    高级会员

    Rank: 4

    积分
    602
     楼主| 发表于 2017-10-20 15:08:31 | 显示全部楼层
    自己顶一下!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2017-12-16 15:12 , Processed in 0.172179 second(s), 15 queries , Memcache On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

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