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.

McBSP receives only zeros

Hello!

I've a custom board, where the McBSP1 of my C6713 is connect to UART via a MAXIM3111E (SPI-converter). On my reference systems everything works fine. On some new boards I only receive zeros - i. e. interrupts are called when I send data, but the data-bits are all zero. The clou is, that I'm able to see data and the clock-signal when I connect my oscilloscope (unfortunately there is only one channel available at the time, but if synchronity of the signals would fail, I should at least see some ones now and then).

Is it possible that something damaged only the McBSP1? How can I test this? (I've tried DLB on some working system, but I could not why this did not work - Xmt, Rcv was enabled CLKX was configured such that it is driven by the SRGen and CLKR to be an Input - the rest was left equal to the settings of the original (working) system - what else do I have to configure?)

Any idea, what could be wrong?

 

Best regards,

Thomas

  • Is the C6713 McBSP1 the SPI Master?

    Thomas W. said:
    On some new boards I only receive zeros

    Does this mean that also on other new boards the data is received correctly?

    Thomas W. said:
    I only receive zeros / I send data, but the data-bits are all zero

    I'm able to see data / I should at least see some ones

    I am confused which direction the data is going and what you see on the scope.

    Thomas W. said:
    I've tried DLB on some working system, but I could not _____ why this (?) did not work

    Does "this" refer to DLB or your SPI communication? I assume the missing word is something like "tell" or "see" or "figure out", but I hate to make too many guesses since I tend to be wrong sometimes.

    Thomas W. said:
    Xmt, Rcv was enabled CLKX was configured such that it is driven by the SRGen and CLKR to be an Input - the rest was left equal to the settings of the original (working) system

    Why did you change anything from the original (working) system?
    Is your reference system == original (working) system?
    Is your new board the same design as the reference system or original (working) system?
    Have you done a physical test for shorts on the board? To ground or to other signals and pins?

    Do you see SSn go low when expected, when data should be on the bus?
    What else has changed from the working systems?

  • First of all, I'm sorry - this post was not formulated clearly.

     

    Yes, the C6713 is the master.

     

    I'm trying to send data from a PC to the DSP. The DSP's McBSP is connected to some MAXIM3111 (UART-SPI-converter). The MAXIM3111 sends a signal to the DSP when data is available (EINT7) - the DSP starts the readout, when this signal is received.

    When I'm sending data from the PC (I use a terminal program to do so), I can measure the signals on the lines going directly to the DSP - i. e. the EINT7 signal is sent from the 3111 to the DSP, the clock is sent from the DSP to the 3111 and (that's the point) there is also data on the McBSP's RX (from 3111 to DSP; e. g. if I send testpatterns like 0xAA, I can see them on the scope), but when I read out the McBSP's receive-register after receiving the according interrupt (RINT) I only get zeros.

    I hope this was a little clearer.

    The original/working system is a 'hand-crafted' prototype. The 'new' systems where assembled by some third-party company.

    The design is the same.

    We are currently testing the first series and trying to find all the errors. (There are always some in the first series.) One of the errors is the one stated. There are also working systems in this first series, where the communication works fine.

    I'll check the SS (slave-select?) thing soon (although I guess that the 3111 would not send data (as it does, as can be seen on the scope), if SS would not go low).

     

    Best regards,

    Thomas

  • It sounds like you have done an excellent job of designing a logic board that will function correctly and you have developed the software to configure it correctly to work on that board. This is proven out by the fact that some of the new boards work.

    The boards that do not work are therefore not failing because of the peripheral setup of anything that you have done wrong in the DSP software. Conceivably there could be failures in the external memory used in the boot process or in the wires to the DSP during the boot process, but that would be an easy problem to detect by comparing the contents of memory after boot between a working and a failing system.

    Good luck with figuring out what your manufacturing problems are. I will not be of much help for that, I am afraid.

  • Thanks anyway!

    Since there are some other errors on the boards, we'll send them back anyway. Maybe it works afterwards - there are strange ways how things can influence each other.

    The only thing I would know is, if there are known cases that the C6713 works but only one McBSP got damaged (e. g. by some pulses on external lines), or should I recognize something like that in some other way (e. g. some other component/peripherial doesn't work too). But this is not very important now.

     

    Regards

  • As long as you maintain voltages and conditions within the recommendations and requirements of the datasheet (including any exceptions noted in the errata document), then there are no known cases of failures as you have described for your board.

    ESD handling outside the limits of the datasheet or voltages outside the limits of the datasheet can lead to almost any imaginable failure depending on how the limits are exceeded. While still operating within the datasheet limits, "some pulses" applied to the McBSP pins would not be expected to cause damage to the device, assuming those pulses are also within the limits stated in the datasheet.

    Regards,
    RandyP

     

    If you consider this thread to be answered, please click Verify Answer on the appropriate posting with the answer.