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.

TMS320F28335: DSP28335与CPLD通讯

Part Number: TMS320F28335

大家好!采用DSP28335通过XINT与CPLD通讯,在通讯过程中发现,DSP在向定义的地址写入数据时,所有地址都有数据,什么原因?下面是配置的完整代码

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "DSP2833x_Device.h" // DSP2833x
#include "DSP2833x_Examples.h" // DSP2833x
// LED
#define LED1_ON GpioDataRegs.GPASET.bit.GPIO2 = 1 // LED1
#define LED1_OFF GpioDataRegs.GPACLEAR.bit.GPIO2 = 1 // LED1
#define LED2_ON GpioDataRegs.GPASET.bit.GPIO1 = 1 // LED2
#define LED2_OFF GpioDataRegs.GPACLEAR.bit.GPIO1 = 1 // LED2
//
////
//#define ExRamStart 0X4000 // 0
//#define IntADD (*(volatile int16 *)(ExRamStart + 0x000B)) //
//#define CntlsADD (*(volatile int16 *)(ExRamStart + 0x000C)) // 1
//#define SentADD (*(volatile int16 *)(ExRamStart + 0x000F)) // 2
//
Uint16 *ExRamStart = (Uint16 *)0x4000; // RAM16
#define IntADD *(volatile Uint16 *)0x400B //
#define IntADD1 *(volatile Uint16 *)0x400C //
#define CntlsADD *(volatile Uint16 *)0x400D //
#define SentADD *(volatile Uint16 *)0x400E //
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 您好,      

    在通讯过程中发现,DSP在向定义的地址写入数据时,所有地址都有数据

    这不应该发生。

    您是确定信号的范围以检查这一点,还是通过其他一些方法?

    如果确定信号的范围,您能否捕获快照并将其张贴在此处 

  •  您好!非常感谢您回答我的问题,上述图片是Memory Browser中不同地址的数据,其中0X400A~0x400D,是接收CPLD回传的数据,从地址0X400E~到地址0X4010,分别发送的数据为:00AF、000C和0~F的变化的数;地址0X400E,应该为发送的数据00AF,也就是地址0X400C接收到的数据,地址0X400F,应该为发送的数据000C,也就是0X400B接收到的数据,这个数据在CPLD中做了算所以是0011,不是000C;地址0X4010发送的为从0~F的一个变化的数,也就是地址0X400D中接收到数据;地址0X400A是CPLD发送的0~A变化的一个值。通过上述分析,CPLD与DSP通讯没有问题,但是在Memory Browse中对应的写入地址不是定义地址的写入的数据。

  • 您好,

          电路板上似乎存在一些信号完整性问题,需要您确认一下。

  • 您好!

            非常感谢您对我问题的回答,根据您的回答,我先确认是否电路板的问题,或者换一块板子看能否解决上述问题,再次感谢您对我问题的回答!