This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
有人能告诉我双核 TMS320F28379D 内部 ADC 可以与 CPU2共享吗? 我想根据项目要求将 ADC 分配给 CPU2。
您好!
是的。 请参阅 CPUSEL11寄存器的定义(表3-141)。 CPUSEL11寄存器字段说明)以了解有关此内容的更多详细信息。
此致、
Vivek Singh
您好、Vivek、
我发现我们可以选择 ADCA-ADCD、但为了理解、可以将 ADCA 的几个通道共享到 CPU1、将几个通道共享到 CPU2。 似乎不可能、但如果您能确认、说明将有助于我节省时间。
CPUSEL 仅用于 ADC 配置、适用于每个 ADC 实例(不适用于通道)。 请注意、结果寄存器始终可从两个 CPU 访问。
此致、
Vivek Singh
你(们)好、Vivek。
感谢您的更新。
最后一行" 请注意结果寄存器始终可从两个 CPU 访问。" 这是否意味着两个 CPU 可以同时访问 ADC 寄存器?
您好、Vivek、
我可以将 ADCA 和 ADCB 用于 CPU1、将 ADCC 和 ADCD 用于 COU2。
感谢 Vivek 的支持。
您好、Vivek、
ADC 在我的应用中工作正常、因此我要关闭此 TT。
如果出现任何问题、我将重新打开或提交新 TT。 现在、它按照我的预期工作。
感谢您的支持。
此致、
Dnyanesh
您好、Vivek、
我在 CPU2中遇到 ADCC 和 ADCD 问题。 我已经在 CPU1中测试了这两个 ADC、它运行良好。 现在、我已经通过将所有权转移到 CPU2将这两个 ADC 传输到 CPU2。
在 CPU1中、我进行了以下配置
DevCfgRegs.CPUSEL11.bit.ADC_C = 1;//将 ADC C 所有权分配给 CPU2
DevCfgRegs.CPUSEL11.bit.ADC_D = 1;//将 ADC D 所有权分配给 CPU2
CpuSysRegs.PCLKCR13.bit.ADC_C = 1;// ADC C 时钟启用
CpuSysRegs.PCLKCR13.bit.ADC_D = 1;// ADC D 时钟启用
代码在以下函数中停止工作
空 readADCC()
{
AdccRegs.ADCSOCFRC1.ALL = 0x003F;//SOC2-SOC5
while (AdccRegs.ADCINTFlG.bit.ADCINT1 =0);
AdccRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
adcChannelData[0]= AdcResultRegs.ADCRESULT2;
adcChannelData[1]= AdcResultRegs.ADCRESULT3;
adcChannelData[2]= AdcResultRegs.ADCRESULT4;
adcChannelData[3]= AdcResultRegs.ADCRESULT5;
}
如果需要为 CPU2配置任何组件、请告诉我。
您好、Vivek、
代码卡在 ADCC 中断检查的下一行
while (AdccRegs.ADCINTFlG.bit.ADCINT1 =0);
请建议我需要检查配置中的哪些内容。
ADCD 也会发生同样的情况。 由于中断、它不会执行下一步。 CPU2中的 ADCC 和 ADCD 未生成中断。
请建议出现此问题的正确区域。
代码卡在 ADCD 中断检查的下一行
while (AdcdRegs.ADCINTFlG.bit.ADCINT1 =0);
Viviek、您好!
我已经签入调试、发现下面提到的中断寄存器没有被设置为初始化。
AdccRegs.ADCINTSEL1N2.bit.INT1SEL = 1;// SOC5的末尾将设置 INT1标志
AdccRegs.ADCINTSEL1N2.bit.INT1E = 1;//启用 INT1标志
AdccRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;//确保 INT1标志被清除
我已经在 init 函数中调用了、但在 CPU2代码中未设置该函数。 同样适用于 CUP1。 缺少内容。
请检查 CPU1 或 CPU2中的配置中遗漏的确切内容。 如果可能、请尽快分享。 我卡在 ADC 中。
同时、我还尝试解决该问题。
尊敬的 Dnyanesh:
最好是启动新帖子、而不是重新打开已关闭的帖子、以便更好地跟踪。
希望您通过 CPU2代码为 ADC 启用时钟。 时钟控制由拥有 ADC 的 CPU 实现、因此需要从 CPU2执行。 请检查一下。 此外、在 CCS 寄存器视图中、您可以检查在代码中为 ADC 完成的所有配置是否都反映在寄存器中。
此致、
Vivek Singh
您好、Vivek、
根据您的建议、我提出了新的 TT。 请回复该帖子。
实际上、时钟已启用、所有权仅传输到 CPU2、ADCC 和 ADCD 中断未启用。 我们将在新帖子中讨论。
请参阅新的帖子标题。
您好、Vivek、
因为机票很旧、所以我提出了新的机票。 我能够在 CPU2中使用 ADC。