查看: 3214|回复: 1

[其他] 各位大神,问问K02使用PDB触发ADC并使用DMA采样率最高能达...

[复制链接]

该用户从未签到

2

主题

8

帖子

0

新手上路

Rank: 1

积分
42
最后登录
2016-9-28
发表于 2016-9-20 17:13:50 | 显示全部楼层 |阅读模式
static pdb_timer_config_t PDBTimerConfig;  
static pdb_adc_pretrigger_config_t PDBADCTriggerConfig;
static pdb_dac_interval_config_t PDBDACIntervalConfig;   

    pdb_clk_prescaler_div_t divMode = kPdbClkPreDivBy1;        
    uint32_t busClock, modValue;
       
    uint8_t preDivider = 1 << divMode;

    CLOCK_SYS_GetFreq(kBusClock, &busClock);    //40M总线时钟
    modValue = busClock/preDivider/SAMPLE_RATE/2U;//配置PDB周期数,SAMPLE_RATE = 153600

    // Initialize PDB driver
    PDBTimerConfig.loadValueMode = kPdbLoadValueImmediately;
    PDBTimerConfig.seqErrIntEnable = false;
    PDBTimerConfig.clkPreDiv = divMode;
    PDBTimerConfig.clkPreMultFactor = kPdbClkPreMultFactorAs1;       
        /*配置PDB触发源
        */

    PDBTimerConfig.triggerInput = kPdbSoftTrigger;
    PDBTimerConfig.continuousModeEnable = true;               
       
    PDBTimerConfig.dmaEnable = false;
    PDBTimerConfig.intEnable = false;
       
    PDB_DRV_Init(0U, &PDBTimerConfig);

    /*
                配置PDB触发ADC延时
        */   
    PDBADCTriggerConfig.adcPreTriggerIdx = 0U;//选择采样通道寄存器ADC0_SC1A
    PDBADCTriggerConfig.preTriggerEnable = true;
    PDBADCTriggerConfig.preTriggerOutputEnable = true;
    PDBADCTriggerConfig.preTriggerBackToBackEnable = false;
    PDB_DRV_ConfigAdcPreTrigger(0U, 0U, &PDBADCTriggerConfig);
       

        //周期采样延时配置
        PDB_DRV_SetTimerModulusValue(0U, modValue);
    PDB_DRV_SetAdcPreTriggerDelayValue(0U, 0U, 0U, 0U);       
    PDB_DRV_LoadValuesCmd(0U);
       
    // 配置系统集成模块SIM,选择PDB作为ADC触发源
        SIM_HAL_SetAdcAlternativeTriggerCmd(SIM_BASE_PTR, 0U, false);
               
    PDB_DRV_SoftTriggerCmd(0U);       

采样率最高只能到50多K,上面设置SAMPLE_RATE = 150多K会无法进入DMA中断???


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

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25494
最后登录
2025-9-9
发表于 2016-9-21 09:23:20 | 显示全部楼层
首先:触发周期应该大于每次ADC的采样周期时间,这样才能保证每次ADC采样工作不受干扰。
DMA中断,我没有看到你在哪里设置了?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-11 14:44 , Processed in 0.079732 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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