| Products > Test Equipment |
| Automating Tektronix Field Adjustment Software for TDS oscilloscopes |
| << < (3/7) > >> |
| charlyd:
hello i am also busy try to cal. my TDS754D but get erros while doing voltage calibration. anyone ever had that ? (i have my Processor board fail still ( i keep that in mind) could there be a link? |
| fenugrec:
--- Quote from: dxl on December 21, 2014, 07:54:06 pm ---The software requires an old NI PCII/A GPIB ISA card. As i don't have such a card nor the old DOS PC required, i started to hack up DOSEMU to add a driver that simulates those card, so i could run everything on Linux with my more modern NI GPIB USB HS Adapter. ... I've uploaded the code i've written to https://github.com/sschnelle/qemu-gpib/commits/master --- End quote --- Awesome work on qemu ! I had started to do the exact same thing a few months back : for some reason I never found this thread until very, very recently. I also spent much time analyzing the TDS700.exe binary, and went down a slightly different path. As you stated, the field adjustment software needs either an ISA, NI GPIB-PCII or PCIIA card, which are getting hard to come by. These cards are based on a NEC7210-compatible IC which implements a set of 8 registers. One difference between PCII and PCIIA cards is the mapping of these registers in the x86 IO address space. Otherwise they behave pretty much the same, as far as the field adjustment software (can I call it just FAS ?) is concerned. Now, as it turns out, many ICs have implented a 7210-compatible interface or just cloned it altogether. Anything NAT4882-based necessarily has a 7210 mode, and this means many many ISA cards could *potentially* be used with the FAS. The caveat of course being that the FAS needs to be modified to use the proper IO address mapping. Here's a table that hopefully explains better than me. --- Code: ---index : 7210 register # name : 7210 register name *_mapping : IO port used to access the register on a certain card type (AT is GPIB-AT, not sure about GPIB-AT/TNT) index name PC2_mapping PC2A_mapping AT_mapping 0 CDOR 02B8 02E1 02C0 1 IMR1 02B9 06E1 02C2 2 IMR2 02BA 0AE1 02C4 3 SPMR 02BB 0EE1 02C6 4 ADMR ... 5 AUXMR ... 6 ADR ... 7 EOSR ... --- End code --- Here's the relevant section of code in the FAS that generates the IO port mappings: --- Code: ---;Dissassembly from TDS700.exe near file offset 0x346CD ; ;This code path parses the "GPIBn=PC2A [dmach] [irq] [DIPswitch]" environment variable ;(set in ADJ700.bat) ; ;gpib_cardID is "n" in "set GPIBn=...", so 0 or 1. ;Notice this pattern: ; lea ax, [di+2E1h] ;which does "ax = di + 0x2E1", where di is generated based on the DIP switch setting. ;We recognize 2E1 as the base address for register CDOR on the PCIIA cards ! 3B14:017F mov si, [bp+gpib_cardID] 3B14:0182 shl si, 1 3B14:0184 mov es, seg_77546 3B14:0188 mov di, es:[si+big.GPIB_DIPswitch] 3B14:018D mov cl, 0Dh ; shift DIPswitch setting to set address bits A14..A13 3B14:018F shl di, cl 3B14:0191 lea ax, [di+2E1h] 3B14:0195 mov es, seg_77548 3B14:0199 mov es:[si+big.DIR_CDOR], ax 3B14:019E lea ax, [di+6E1h] 3B14:01A2 mov es, seg_7754A 3B14:01A6 mov es:[si+big.ISMR1], ax 3B14:01AB lea ax, [di+0AE1h] 3B14:01AF mov es, seg_7754C 3B14:01B3 mov es:[si+big.ISMR2], ax ; ... and so on. --- End code --- I had difficulty finding an inexpensive GPIB-PCII board, so after realizing this I bought a GPIB-AT . Then I have patched the FAS to use the correct addresses (as well as the shift constant to use the "DIPswitch" value correctly) . So far it seems to be working - I've been able to connect to the DUT (my TDS744A) ! Note, for lack of cal equipment, I haven't actually tried any of the steps yet but I see this as a very good sign. TLDR : here's a summary of the possible methods to run the field adjustment software for these TDS scopes: * basic setup : native DOS machine with an ISA card either GPIB-PCII or GPIB-PCIIA; this means nothing more recent than roughly Pentium III for the last ISA motherboards. * dxl's neat qemu layer : DOS running in qemu, modern host computer with a modern USB-GPIB device * native DOS machine + an ISA-GPIB card that claims to be PC2-compatible : looking at the list of supported devices in linux-gpib shows some names that also pop up on ebay, like "CEC PC 488", "cb7210", and some others. It's likely some of these will indeed be perfectly PC2 / PC2A compatible and not require patching the FAS. * native DOS machine + an ISA-GPIB that is *not* PC2 compatible, but based on a controller IC such as NAT4882 which implements 7210 registers. The GPIB-AT is one of these. This requires patching the FAS which is fairly straightforward. I've been running my tests on freeDOS running on an old dual-P3 server motherboard; I don't think it's necessary to suffer needlessly and run plain MS-DOS. But, as I mentioned I haven't tried the cal process, only the initial connection. For those also wanting to do a native DOS + ISA card setup, I did some research to catalog NI ASSY # for these products. NI has many different hardware revisions for each product name, so it can be hard to identify the product based just on PCB photos. --- Code: ---ASSY : printed on component side of PCB. Back side often / always has a different number. Some of these don't make sense to me, but I'm fairly confident anything with a 7210 or NAT4882 can be made to work with the FAS. ASSY Model Controller Notes 180100-02H GPIB-PC D7210C #180102-02 backface; "GPIB-PCII" printed near conn ??(datecode 0989) 180100-02H GPIB-PC D7210C #180102-02 backface; (datecode 0587) 180210-01 GPIB-PC2A? D7210C #180212-01A backface (dc 1485). no RTC 180210-02 GPIB-PC2A? D7210C #180212-01A backface (dc 1485). RTC 181060-01C AT-GPIB NAT4882+TURBO4882 PLCC sticker "AT-GPIB" near conn ?? 181060-01E AT-GPIB NAT4882+TURBO4882 181065J-01 GPIB-PCII/IIA NAT4882 --- End code --- |
| ingowien:
The github link does not work anymore, is there a chance I could get that content for some tests with my 754D? |
| alocam:
Hello, I was reading your post after searching for GPIB PCIIA ISA card, and I wonder whether you finally had a chance to grab one of these. I need to calibrate a Keithley unit, and software requires such card. I got one on ebay, but it did not come with the DOS diskette to install it. Do you know any source to download the PCII/PCIIA software? Thank you! |
| HardyG:
http://www.ni.com/product-documentation/54558/en/?OpenDocument |
| Navigation |
| Message Index |
| Next page |
| Previous page |