TI中文支持网
TI专业的中文技术问题搜集分享网站

关于28377D AD采样

TI工程师您好,有个28377D AD采样的问题描述如下,请指教:

双核工程,设计的两个CPU均通过DMA获取AD采样结果,测试结果是仿真模式下CPU1可以正常AD采样,CPU2 DMA中的数据不会变化。

Green Deng:你好,CPU2在仿真模式下也读取不到DMA的值吗?
可以参考以下帖子:e2echina.ti.com/…/302650

TI工程师您好,有个28377D AD采样的问题描述如下,请指教:

双核工程,设计的两个CPU均通过DMA获取AD采样结果,测试结果是仿真模式下CPU1可以正常AD采样,CPU2 DMA中的数据不会变化。

user5924858:

回复 Green Deng:

谢谢您的回复,是的,就是仿真模式下读取不到DMA的值,是不是底层配置不正确啊,还有个前提,我的双核工程在单机模式下应该是都可以读取AD的值的,请指点,谢谢!

TI工程师您好,有个28377D AD采样的问题描述如下,请指教:

双核工程,设计的两个CPU均通过DMA获取AD采样结果,测试结果是仿真模式下CPU1可以正常AD采样,CPU2 DMA中的数据不会变化。

Green Deng:

回复 user5924858:

这个可能性比较多,比如:触发DMA的ADC标志是否更新?DMA确实被触发了吗?DMA序列是否结束并生成ISR?DMA ISR是否在寻找正确的内存?

TI工程师您好,有个28377D AD采样的问题描述如下,请指教:

双核工程,设计的两个CPU均通过DMA获取AD采样结果,测试结果是仿真模式下CPU1可以正常AD采样,CPU2 DMA中的数据不会变化。

user5924858:

回复 Green Deng:

谢谢您的回复,能不能再具体点,比如:
1)触发DMA的ADC标志是否更新如何观察?
2)DMA是否被触发怎么观察?
3)DMA序列是否结束并生成ISR怎么确定?
4)DMA ISR是否在寻找正确的内存如何确定?

TI工程师您好,有个28377D AD采样的问题描述如下,请指教:

双核工程,设计的两个CPU均通过DMA获取AD采样结果,测试结果是仿真模式下CPU1可以正常AD采样,CPU2 DMA中的数据不会变化。

Green Deng:

回复 user5924858:

这里有个例程是实现的从EPWM到两个CPU的DMA集合你可以参考一下:C:\ti\controlSUITE\device_support\F2837xD\v210\F2837xD_examples_Dual\dma_transfer_shared_peripheral
一种调试方法是在代码的不同点或代码运行时直接检查“expressions window”窗口中的HW寄存器。
比如,可以观察adcaregs.adcintflg.bit.adcint1寄存器,来查看ADC转换是否在ADCA上完成并将adcint标志置位。然后,你可以检查各个DMA寄存器以确认操作是否在那里动作了(可能是control.perintflg、control.transfersts或prioritystat.activests等等)。
还可以在运行dma配置代码后设置断点,然后(代码停止后)通过在表达式窗口中写入control.perintfrc手动触发dma传输。
也可以在ISR中为给定模块设置一个断点,以查看代码是否进入ISR,或者可以在ISR中增加一个全局变量并在表达式窗口中观察它。

赞(0)
未经允许不得转载:TI中文支持网 » 关于28377D AD采样
分享到: 更多 (0)