Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

Simple hardware for Endat 2.2 implementation

Hello,

I recently received an optical encoder from Heidenhain. It works with the Endat 2.2 protocol.

I would like to use this encoder with a dSpace station, using parallel I/O connection.

After some research, I found that the only solution to get angular position on parallel connection is to use an FPGA interface between the encoder and the dSpace station...

My question is : what kind of Altera FPGA board is best-suited only for this application?

Thank you,

Samuel.

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Samuel,

    Any FPGA is fine. I recall building an Endat interface with a FLEX10K device (which is really old).

    You should use a Cyclone IV device.

    Do you have the user manual for the encode you are using. If I recall correctly, they have a serial interface with RS485 logic levels. Its pretty easy to create a state machine to read the serial encoder position and write it as a parallel word. I'm not sure what a dSpace station is. If you send me links I can take a look at the data sheets.

    I can try to dig up the VHDL code I wrote too.

    You don't have enough posts to post links yet, so just send them to my forum name (its my email address).

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Dave,

    Thank you for your answer.

    the encoder is an heidenhain EQN1325, using version 2.2 of the Endat protocol. I'm sending you the datasheet of the encoder and the documentation about the Endat 2.2 protocol by e-mail.

    The dSpace machine is simply a PC with a DSP board, the goal of my work is to control position of a small motor. All the control of the motor is implemented using Simulink in the dSpace computer. To control the position, I need to measure the real one, using the digital I/O pins of the DSP board. This is why I need to generate position from the encoder in a parallel word.

    Thank you very much for your help,

    Samuel.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    the encoder is an heidenhain EQN1325, using version 2.2 of the Endat protocol. I'm sending you the datasheet of the encoder and the documentation about the Endat 2.2 protocol by e-mail.

    --- Quote End ---

    Ok, got it.

    --- Quote Start ---

    The dSpace machine is simply a PC with a DSP board, the goal of my work is to control position of a small motor. All the control of the motor is implemented using Simulink in the dSpace computer. To control the position, I need to measure the real one, using the digital I/O pins of the DSP board. This is why I need to generate position from the encoder in a parallel word.

    --- Quote End ---

    If you have a DSP board with digital I/O, then why not "bit-bang" the Endat protocol?

    All you need is some RS485 level translators to make the signals single-ended (just check the voltage requirements of your DSP).

    No FPGA required.

    The Endat interface is serial. It might also be possible to program the DSP serial port to match the protocol.

    Since this is not Altera-FPGA specific, we can take this discussion off-list.

    Cheers,

    Dave