Just upgrade S82357 firmware from 1.15 to 1.16, F82357 firmware from 1.05 to 1.06. Here is the background story:
We got email from customer on ebay, and they are developing their own GPIB instrument and using S82357 to communicate with PC. But found some issue when conducting the serial poll (SPE). The original message is as below:
Dear Monolust,
Thank you for your welcome response to my message. I did not expect to hear from you and was pleased and surprised that you are concerned by my observations. It might be helpful for your engineers to know a little bit more about what I am doing.
We make a product that was designed about 15 years ago. It incorporates a GPIB interface implemented with a microcontroller. The fact is that we have sold TWO units in those fifteen years!
I am working on the second unit now. It has a new version of the GPIB circuit, as the microcontroller used in the old one isn't available any more. The new microcontroller is a Zilog Z8F6423.
I have attached two screen shots showing a diagnostic buffer that stores the bus traffic, Beiming.bmp and Agilent.bmp. The Agilent is a genuine 82350 PCI card.
For the Agilent, you will see that the traffic is: UNT,LAG21(listen address),SPE,TAG4(talk address),0x20(data),SPD,UNT.
For the Beiming, is see: UNT,LAG21 (listen address),TAG4 (talk address),SPE,0x20,SPD,UNT.
You see how the SPE comes after the instruction to talk.
It shouldn't really matter as long as the ATN is active as the instrument has to remain a listener. But it has taken me a while to get round it!
Kind regards,
We originally thought this could not happened because we tried with different instrument before and SPE function works good with all of them. But when we checked the IEEE 488.2 standard, we do find it defined the SPE command sequence exactly same as Agilent dose, which is as following shows:
set ATN TRUE and EOI FALSE
send the IEEE 488.1 unlisten message (UNL)
send the controller’s listen address
send the IEEE 488.1 serial poll enable message (SPE)
send the talk address
set ATN FALSE handshake a data byte
store the status byte and RQS message
set ATN TRUE
send the IEEE 488.1 serial poll disable message (SPD)
send the IEEE 488.1 untalk message (UNT)
We made mistake to the order of the instructions, and which made customer's instrument not response to SPE command. It seems like most instrument will just ignore the sequence issue and still act good, but for some special instrument which strictly follow IEEE 488.2 standard, this will generate some issue.
This is not a big change to the firmware, and will not affect to most of the instrument communication. If you happened to met this issue before, pls just send us an email at BMJD.tech(a)
gmail.com, and we will send the new firmware to you. Thank you Richard! Thanks for letting us know this issue and we do appreciate your patience and very detail description.