PLC-FPGA Interface

Discussion in 'The Projects Forum' started by Kamy_King, May 4, 2011.

  1. Kamy_King

    Thread Starter New Member

    May 4, 2011
    5
    0
    Hello,

    I am working on an FPGA-based board that will serve as an interface between an Allen Bradley PLC and remote I/O. The PLC uses 24V I/O (opto-coupled, sinking outputs) and the FPGA uses LVTTL I/O but is 5V tolerant.

    I am looking for a simple and cost-effective method to change the 24V sinking outputs of the PLC to LVTTL or 5V and the FPGA outputs back to 24V. The PLC inputs can be wired as sinking or sourcing depending on the FPGA-board design. There are several I/O lines, so real estate is a concern.

    The FPGA board gets the 24V supply from the PLC side and a DC-DC converter and voltage regulators are used to obtain the supply voltages required by the components on the board.

    I have considered using a diode and a resistor for the PLC outputs and a switching transistor (2N3904 or 2N3906) for the FPGA-to-PLC conversion, but I am unsure about whether these are the best choices for this application. Is it better to use opto-couplers?

    Thanks in advance.

     
  2. strantor

    AAC Fanatic!

    Oct 3, 2010
    4,302
    1,988
    I would use transistors for both inputs and outputs. Do you mind me asking why you are doing this? It sounds pretty counterproductive, considering the PLC's job is to interface with remote I/O.
     
  3. ifixit

    Distinguished Member

    Nov 20, 2008
    639
    108
    What switching speed do you need? Rise and fall times?
     
  4. Kamy_King

    Thread Starter New Member

    May 4, 2011
    5
    0
    Thanks. One of the main reasons for adding the FPGA board is to be able to implement a series of serial communication channels that significantly reduce the number and length of cables used to connect to remote I/O. This serial protocol and a couple of other processing tasks cannot be implemented with the current system.
     
  5. Kamy_King

    Thread Starter New Member

    May 4, 2011
    5
    0
    The quickest any input/output would change is every 6 ms, but this is a worst case scenario. Typically the I/O changes are much slower, so the rise and fall times are not critical.
     
Loading...