Bidirectional com between FPGA and other devices

Discussion in 'Embedded Systems and Microcontrollers' started by Shagas, Jul 15, 2015.

  1. Shagas

    Thread Starter Active Member

    May 13, 2013
    802
    74
    Hello

    I'm currently playing with an Altera DE2-115 FPGA development board that a prof at my uni was so kind to lend me and I'm planning to try
    to interface it to an external camera and use the SRAM which is on the dev board.

    Question:
    How do embedded designers/programmers make sure that devices communicating between each other where at least one device is 'soft' don't
    have physical conflicts on bidirectional pins?

    For example:
    Let's say I'm trying to interface an FPGA to an SRAM chip. There are 16 pins which are the 'Data' pins and which are bidirectional, meaning
    that I will be both reading and writing to them. My question is that if I by mistake (or due to a design bug)enable those pins on the FPGA as outputs and at the same time the SRAM tries to write data out on them then one (or both) of the devices will get damaged right?

    Is there a specific methodic way to deal with this or is it just a 'triple check and simulate everything before implementing it' kind of thing? I guess you would use something like an FSM where you clearly define the behavior of the pins given the control states but still i'm a bit hesitant.

    Thanks in advance.
     
  2. DickCappels

    Moderator

    Aug 21, 2008
    2,651
    632
    You would not necessarily damage the devices -check the max output current specifications for both states for both devices.

    If the case of one pin driving high while the other driving low exceeds the maximum current rating for either pin and if speed is not an issue, you can try placing some resistance in the connection between the two devices to reduce the maximum current.

    Yes, you should simulate it.
     
  3. Shagas

    Thread Starter Active Member

    May 13, 2013
    802
    74
    I unfortunately can't place any resistors in between the devices because they are on a development board
    but I was wondering on how it is usually done in the industry.

    Anyhow thanks for the answer.
     
  4. DickCappels

    Moderator

    Aug 21, 2008
    2,651
    632
    In the industry, it is done by being careful and testing thoroughly.
     
    Shagas likes this.
Loading...