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.

Using XINTF for 8-Bit Asynchronous Interface (Interfacing TI's TL16C754B External Uart) ? (Urgent help needed)

Other Parts Discussed in Thread: TMS320F28335, TL16C754B

Hi,

I am designing a delfino TMS320f28335 based board where I need 4 external uarts (excluding 3-internal uarts of delfino microcontroller)

I was planning to use T.I's TL16C754B Quad Uart (having 8-Bit Asynchronous Interface) for it.

However the XINTF interface of TMS320f28335  delfino microcontroller only supports 16-Bit and 32-Bit asynchronous interfaces.

I wanted to ask that can I still use XINTF (some how) to interface the 8-bit asynchronous mode for said Quad Uart ?

I have attached an example connectivity diagram, so any body could guide me whether it is possible or not.

I will be very thankful for kind input !

  • Bilal,

    The connection you show should work if the timing requirements are met.  Configure the XINTF in 16-bit mode.  The upper 8 bits of the bus, XD[15:8], will just have garbage on them, so you will need to mask this off in software when you do a read.  I'd recommend weak pullups (or downs) on these pins anyway so as not to leave them floating when doing reads.  I guess if you use pulldowns, the upper byte should always be zero so maybe you don't have to mask these bits off.  I'd mask anyway just in case (e.g., noise).

    Remember that C28x does not have byte addressing.  All addresses relate to 16-bit words.  A 'char' has 16-bit width.

    Regards,

    David

  • Thank you so much Mr. David,

    Yes you are absolutely right, adding weak pullups/downs has also been recommended in Hardware Design Guide (sprass1b.pdf) to avoid floating pins from drawing excessive currents. Plus the software workaround is also easy as you suggested. I personally feel it would hopefully work without any issue. I will update this post when I get my board finally designed and running. Thank you so much for kind reply, it really gave me confidence in moving forward, thank you once again.

    Regards,

    Bilal

  • Does it work in the end? :) Any issues encountered?

    Regards

    Ilija

  • Some comments on reading the above thread (Illija, this may be helpful):

    I don't think it is actually necessary to pin-out the unused 8-bits of the XINTF data bus through the GPIO mux.  These can be used as GPIO instead (when reading from the XINTF, you will read whatever is on these pins into the unused 8 bits, but this can be masked in SW). 

    As far as SW masking, I think it is actually more efficient to use the upper 8 bits of the XINTF data bus.  This allows masking to be done with a right shift of 8-bits, which the C28x architecture can do in parallel with a move with no additional cycles.