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.

XINTF addressing



Hi, 

With a F28335 MCU, my colleagues and I noticed something wrong with the XINTF address bus:

The spec (spru949d) says:

The external address bus, XA, is 20 bits wide and is shared by all of the zones. What external addresses are generated depends on which zones are being accessed, as follow:

  • Zone 0 uses external addresses 0x00000 - 0x00FFF. That is, an access to the first location in Zone 0 will issue external addresses 0x00000 along with chip select 0 (XZCS0). An access to the last location in the zone will issue address 0x00FFF with XZCS0.
  • Zone 6 and 7 both use external addresses 0x00000 - 0xFFFFF. Depending on which zone is accessed, the appropriate zone chip select signal (XZCS6 or XZCS7) will also go low.
But when I look at the address bus when reaching Zone 0, I can see that the bit 14 of the address bus is always activated. So the external address range is 0x4000 to 0x4FFF instead of 0x0000 to 0x0FFF as the spec mentions.
So for me the XINTF address bus is just derived from the internal address bus by taking the 20 LSB bits. It works well for zone 6 and zone 7, but not for the zone 0 (or at least the spec is not updated correctly).
Did someone already encountered this and confirm this analysis? Or am I wrong and I missed something during my tests?
Regards,
Stephane
  • Stephane Mainier said:
    It works well for zone 6 and zone 7, but not for the zone 0 (or at least the spec is not updated correctly).

    Stephane,

    If I understand, when you access zone 6/7 the address line 14 is not stuck high, but toggles correctly.  Where as if you access zone 0, address line 14 is stuck?  I was going to suggest there is something on the board pulling up address line 14 - and it isn't connected correctly to the device -- but that doesn't fit if I have understood correctly.  I'll try to dig up a 28335 and try it myself but the reference guide should be correct.

    Regards

    Lori

  • Hi Lori,

    Yes you understood correctly: when accessing Zone 6 or 7, the address line A14 is not stuck high. It is stuck high only when accessing Zone 0...

    Regards,

    Stephane

  • Stephanie,

    This is an error in the reference guide.  The documentation should say the following:

    Zone 0 uses external addresses 0xXX000 - 0xXXFFF. That is, an access to the first location in Zone 0 will issue external addresses 0xXX000 along with chip select 0 (XZCS0). An access to the last location in the zone will issue address 0xXXFFF with XZCS0.  If the upper address lines, indicated by 'XX', are configured for XINTF functionality, they will be driven but the value is undefined.

    Basically the value for 'XX' will be the last value on the internal CPU address bus - in this case zone 0 is mapped to CPU address 0x4000 so the '1' gets driven on A14 if the last access was within zone 0.

    Regards

    Lori


  • Thanks for the explanation!

    I hope to see sometime an updated documentation!

    Regards,

    Stephane