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.

L137 McASP (occasional lock-ups)

Other Parts Discussed in Thread: OMAP-L137

Hi,

I have a few McASP questions...

Before I get in to that I should give some background (as it always helps)!

The receive data stream:
  - We are only concerned with receive (hence operate in ASYNC mode with Tx completely disabled).
  - The data stream consists of two 24-bit words (back to back) per frame sync.
  - Both the bit clock and frame sync are externally generated.
  - The data should be latched on the falling edge of the bit clock, and the frame sync is active high.
  - There is a 1-bit delay between the frame sync and first data bit.
  - The bit clock runs has a frequency of 25 MHz.
  - The frame sync has a frequency of ~128.2 KHz.
  - This gives a bit rate of ~6.1Mbps (128.2 KHz * 2 * 24-bits, giving approx ~25% utilisation).

Therefore:
  - This data stream is not really TDM as the frames are seperated by gaps in the bit stream (i.e. when one frame ends there is a gap before the next begins).
  - This data stream is also not BURST as there are 2 words per frame sync (giving a total of 48-bits of data per frame sync).


Previously we have used the McBSP (on a 64xx) for this task (using a 1 phase transfer containing two 24-bit words), and this works perfectly.
We are now in the process of moving to the low power OMAP architecture. As the L137 was the first available device in this it seemed a suitable candidate for further investigation, and even though there are no McBSPs it was thought that the McASP could do the job!

However, it seems not...

Fudging the McASP in to TDM mode with 2 slots of 24-bits and an external bit clock and frame sync works (most of the time).

BUT... after a few minutes it appears the the McASP's Rx state machine locks up.

I can view the external pins directly (via the GPIO registers) and the frame syncs, bit clock and data are still being generated (this has also been confirmed via scope probes).

I can restart the transfer by simply reseting the Rx state machine (setting and clearing GBLCTL.RSMRST).

However, there are no status bits to indicate that this situation has occured (the clock-failure and sync-error are useless, and no other error conditions are ever set).

 

So, some questions...

It appears that the clock-failure circuitry (accessed via RCLKCHK for the receive side) only works either from the internally generated bit clock or the high frequency master external clock (AHCLKR), but not the normal external bit clock (ACLKR).

Is this correct? What is the logic for not allowing the clock-failure circuitry to work from ACLKR?
Is it recommended to always route the bit clock through AHCLKR and then divide by 1 (rather than using ACLKR) as this gives access to the clock-failure circuitry?


And the main question is... is what I am trying to use the McASP for even possible (as obviously the McBSP is designed for this task)???

Thanks,
Joe Woodward

  • Sorry, I haven't got any answers but I'm bumping this because I'd like to get a reply to the last question (McBSP vs McASP similarity)

    Regards,

        Harri

  • Are you using the OMAP-L137 EVM (then you could send a test case)? Did you base your application in one of our examples?

    Joseph Woodward said:
    It appears that the clock-failure circuitry (accessed via RCLKCHK for the receive side) only works either from the internally generated bit clock or the high frequency master external clock (AHCLKR), but not the normal external bit clock (ACLKR).
    Is this correct? What is the logic for not allowing the clock-failure circuitry to work from ACLKR?
    Is it recommended to always route the bit clock through AHCLKR and then divide by 1 (rather than using ACLKR) as this gives access to the clock-failure circuitry?
     

    It does not work for ACLKR, see page 63 of:

    http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=1404&abstractName=spru878b

     Your idea of using the AHCLKR divided by 1 would be the work around. I agree that maybe it could have ACLKR as well, but that is probably because of the way the silicon was designed.

  • I should probably has replied to this a while ago, but here goes!

    It appears that the occasional lock-ups I was seeing on the McASP were because of excess loading due to the scope probes (probably not helped by fairly long fly leads connecting various evaluation boards!). When the scope probes were removed reliability was no longer a problem.

    And yes, the McASP works in this instance (though as a module is it vastly more complicated than the McBSP I require).

    Are there any dates/new information available on fixed point DSP versions of the L1xx series (something more akin to the c6400, prefereably with a McBSP!)?