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.

TL16c754B availability on board/card

Other Parts Discussed in Thread: TL16C754B

I was searching for any card/board which is having quad uart TL16c754b fabricated to it for experimenting on developing drivers. We do have a proprietary board which is holding this UART and for some reasons I cannot use it  ...I tried looking for it and couldnt find one. Can you please let me know if something is there ?

  • Hi Sudhir,

    TI never built an EVM board for the UART devices.

    Best Regards,

    Joe

  • Here is what I am trying to do, or maybe you can point out when something is wrong or any other alternative.

    I have TL16C754B quad uart with 64 byte fifo on a proprietary board and it is connected on an ISA bus in such a way that the I/O range is from 0x240 to 0x25F. The board uses Windows XP Embedded OS.

    The board is already having 2 serial ports which use the I/O range and IRQ's as below

    COM1 : 03F8-03FF (I/O range) and IRQ 4

    COM2 : 02F8-02FF (I/O range) and IRQ 3

    I started off with the RS-232 16550 based kmdf serial driver sample which is present in Windows DDK. I did some modifications with respect to FIFO byte buffer declarations and installed that driver. Now I followed the below procedure because I am assuming the sample driver should be compatible with 16550 based driver (atleast the minimal basic features)

    Steps followed

     Add the 4 communications ports in order. Note as you add Comm ports, it will automatically assign the Com port Numbers for you.

    1) Control Panel-> Add new hardware wizard

    2) Scroll down to and select "add new hardware device" and then select Next

    3) Select "Install the hardware that I manually select ..", then select Next

    4) Select "Ports (COM & LPT)" then Next

    5) Select "Standard Port Types"-> "Communications port" Then Next

    6) Select Next

    7) You will then get a message saying it is complete but a code 34 error.
    Select "View or change resources.."

    8) Set Configuration Manually

    9) Select Basic configuration 0008

    10) Then change the Base address and IRQ for the port per the following
    table for each of the 4 passes you do of this procedure.

         a) Address 240-247 IRQ 5
         b) Address 250-258 IRQ 5
         c) Address 248-24F IRQ 5
         d) Address 258-25F IRQ 5

    11) Press OK

    12) Press Finished

    13) Answer No to reboot.

    14) Repeat steps a) to d)

    15) When complete, reboot

    The machine is not booted properly and it shows up an "Error code 10" in Device manager. The error description is

    Code 10

    If the device has a FailReasonString value in its hardware key, that string is displayed as the error message. The driver or enumerator puts this registry string value there. If there is no FailReasonString in the hardware key, you receive the following error message: The device cannot start. (Error code 10).

    All I can do is connect to a remote machine and experiment on it. Can you please let me know if I am doing something wrong or is there any better way of doing this ?

    Thanks.

  • Error Code 10 indicates a software driver problem. Have you run the Windows XP "dxdiag" program from the command prompt?

    Can you provide snapshots of the Serial Port devices and driver information from Windows Device Manager?

    Are there any system I/O address conflicts with the I/O addresses you have chosen: 0x240 - 0x258:

     

    Best Regards,

    Joe

  • I dont have 'dxdiag' installed/present over there. Moreover I cannot provide you with the snapshots as it is proprietary and confidential. So maybe if you could tell me on how to see whether 0x240-0x25F is used by other device or not, then it will be wonderful.

    I have also tried building and running an executable created with Turbo C for the code given at http://www.beyondlogic.org/serial/termpoll.c I have modified the base address from 3F8 to 240 so as to access my uart. But when I run it on the machine, i started getting ÿ characters continously. I dont understand who is sending this or rather what is this data exactly. If you can go through the code given in the link, you would understand better.

    Can you please tell me on how to see whether 0x240-0x25F is used by other device or not ?

  • Hi Sudhir,

    dxdiag should be standard with the Windows operating systems. I opened a command prompt window and typed 'dxdiag' and that gave me a listing of all the devices and addresses.

    Do you have Device Manager on your system?  If you do, you can select the "View" option at the top of the window (File   Action   View   Help) then select the "Resources by Connection" option and it will list every memory and IO address that is assigned to a device (see attached .jpg file).

    I would need to see your Device Manager "Resource by Connection" output to know if the addresses are being used by another device.

    Best Regards,

    Joe

  • Hi Joe,

    I see that 'dxdiag' comes up in my desktop where as on my hardware it doesnt show up, reason being the Windows CE image which is loaded onto the board is burned with the minimum requirements and probably DirectX Diagnostic Tool is not installed.

    Again as I said, I cannot post the screenshots on a public forum as its all proprietary. I have already checked whether that addresses are being used up by any other device. But it doesnt seem to be used. All I see is 0x1F0 - 0x1F7 being used by Primary IDE channel  and 0x274 - 0x277 and 0x279 - 0x279 being used up by ISAPNP Read Data Port. Where as I am setting up addresses in the range 0x240 - 0x25F. I am hoping that there must be some thing else which is stopping it. You thoughts are welcome ?

    Thanks again

    Sudhir

  • Hi Sudhir,

    I will take a look at the sample code you directed me to.

    Best Regards,

    Joe

  • Sudhir,

    I looked at the sample code and it seems straight forward. Can you share the portion of your schematic showing the micro controller and the TL16C754 device? If the address and channel select lines are not set up to decode the IO address 0x240 - 0x25F the UART will not respond. Can you explain to me or show me how the IO address selection is set up for the TL16C754B device?

    Best Regards,

    Joe

  • I am sorry again to say that I cannot share you the schematics. But based upon your inputs, I am now guessing that I am not even able to access the ISA bus address space itself. I have checked my BIOS settings but I am not able to see ISA bus or its properties in it. Could this happen that the processor is not able to access the ISA address space itself and thus I am not able to access the UART ?

    If so can please guide me on how to find out if we can access the ISA bus address space ?

    Thanks for being very helpful

    Sudhir