pchernikhowsky / AVR488

USB to IEEE-488 interface based on the ATmega168/328 microcontroller
GNU General Public License v3.0
5 stars 0 forks source link

USB to IEEE-488 interface work with EZGPIB and GPIB configurator #1

Closed llrr-new closed 1 year ago

llrr-new commented 1 year ago

Hello Pchernikhowsky

I recreated your wonderful project. The USB to IEEE-488 interface works. There is communication and the ++ commands are executed.

I use the program EZGPIB to control measuring instruments. With this program you can easily control multiple measuring equipment via the GPIB interface. The program EZGPIB is written for the Prologix interface and when starting this program, all available PC ports are searched for a GPIB interface. After this the ++ver command is sent and the program expects the message back with the text “prologix GPIB-USB interface. If this text does not appear, no connection will be made and EZGPIB will not be usable. A similar problem occurs with the program GPIB configurator. I have copied several types of GPIB-USB DIY designs and the designers have all ensured that the tools EZGPIB and GPIB configurator were usable.

Is it possible that this can also be built into your program?

Yours sincerely,

Loek

pchernikhowsky commented 1 year ago

Good day - great to hear that someone has interest in this!

I specifically tested for compatibility with the Prologix GPIB Configurator program (see image below), so I know the AVR488 interface can work with it. I suspect that all you need to do is to first connect using a terminal program to the correct serial port and issue the "++default" command. This will reset the AVR488 internal communications parameters to make it look exactly like the popular AR488 interface. The GPIB Configurator program should find it then. Optionally you can then use the "++savecfg 1" command to save these settings to eeprom to ensure that it always starts up in AR488 compatibly mode.

I cant remember if I tested for compatibility with the EZGPIB program - give me a little bit and I'll look into this.

Cheers, Paul

image

pchernikhowsky commented 1 year ago

I've confirmed that the AVR488 does not work with EZGPIB - and there's no easy solution. The problem is that EZGPIB is looking for RTS to be asserted on the serial port connected to the AVR488 (see image below). Unfortunately, the MCP2221A used in this design for the USB to serial interface does not support RTS/CTS signaling (very annoying - thanks for nothing, Microchip).

As such, there are only two solutions:

  1. Redesign the hardware to use an alternative USB to serial interface IC. There no DIP IC alternatives available, so this would mean switching to a surface mount IC (which I have tried to avoid to make the hardware easy to assemble). If I were to go this route (surface mount ICs) it would likely make more sense to just use an ATmega (e.g., ATmega32U4) with a built-in USB interface to avoid the interface issue entirely. But these are very hacker unfriendly for soldering.
  2. Modify the EZGPIB software to ignore the state of the serial port RTS line. The author of the software would have to make this change.

As such, I'm closing this out this issue as a "can't fix" for EZGPIB and "tested - not an issue" for GPIB Configurator.

image