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.

TMS320F28379D: BissC communication using position manager.

Genius 5840 points
Part Number: TMS320F28379D


Hello.

I would like to connect TMS320F28379D and AS38-H39E(Broadcom) with BissC.

I am running PM_bissc_SystemTest.

But I can't get position data and dataReady bit is not set after PM_bissc_startOperation();.

[Hardware]

I am reading following documents.

But figure 11 is seems to be not correct according to schematic.Is it right?

I think we should connect as follows.

[Software]

Protocol of  AS38-H39E is following.

I configured bissc.h reading sprui37 as follows.

#include "PM_bissc_Include.h"

#define	BISSC_FREQ_DIVIDER 25
#define BISS_ENCODER_HAS_CD_INTERFACE	1

#define BISS_POSITION_BITS 	   39
#define BISS_POSITION_CRC_BITS 6

#define	SPI_FIFO_WIDTH 12

#define BISS_SCD_CRC_SIZEOF_TABLE      256
#define BISS_SCD_CRC_NBITS_POLY1       6
#define BISS_SCD_CRC_POLY1             0x03   //x^6 + x + 1 (inverted output) 1000011

#define BISS_CD_CRC_SIZEOF_TABLE       256
#define BISS_CD_CRC_NBITS_POLY1        6
#define BISS_CD_CRC_POLY1              0x03

#define BISS_DATA_CLOCKS 	   BISS_POSITION_BITS+BISS_POSITION_CRC_BITS+4  //4=ST+CDS+E+W

extern uint16_t bissCRCtableSCD[BISS_SCD_CRC_SIZEOF_TABLE];	// Declare CRC table for BiSS-C CRC calculations

#if BISS_ENCODER_HAS_CD_INTERFACE
extern uint16_t bissCRCtableCD[BISS_CD_CRC_SIZEOF_TABLE];
#endif

extern void bissc_init(void);
extern uint16_t bissc_receivePosition(uint16_t positionBits, uint16_t crcBits);
extern uint16_t bissc_doCDTasks(void);
extern interrupt void bissc_spiRxFifoIsr(void);
extern void bissc_setupGPIO(void);
extern void bissc_configXBAR(void);
extern void bissc_configEPWM4(void);

Is my configuration correct?

Regards,

U-SK

  • Hello,

    Your configuration looks correct to me.  Make sure the booster pack is on site 2 of the F2837xD LaunchPad.  The SPI pins used are wrong in figure 5 - they should be in GPIO64-GPIO66 in the function bissc_setupGPIO(void).  

    If you monitor the signals with a scope do you see any activity from the C28x?

    Regards

    Lori