Thursday, June 11, 2020

Scoping the 3174 interface board to verify its operation

MAJOR BOARD ELEMENTS

The board is fairly straightforward. The coax connector is hooked to a pulse transformer that has two far side windings, one going to the receiver circuit and one to the transmitter circuit. The receiver circuit is a DP8341 chip and the transmit circuit is a DP8340. The output of the transmit circuit goes through a DS3487 tristate line driver chip so it is not blocking the transformer when listening for incoming traffic. 

There are decoupling capacitors, several resistors to isolate inputs, plus a crystal and cap to generate the 18.867Mhz clock frequency. This is build as a shield, a board the same size as the Arduino Mega 2560, with pins that plug into the Arduino. The serial protocol from the Arduino is carried over the USB cable to a COM port on the laptop. 

CHECKING THE CLOCK GENERATION BY CRYSTAL

No clock, no operation. Therefore, right after I verified power was provided to the three chips, I tested the clock out pin on the generating chip and the clock in pin on the other chip. The signal was correctly formed and on frequency.

WATCHING THE COAX SIGNAL

I put the scope directly on the coax pin to see if the transmitter was sending out the proper bit pattern to the 3178 terminal. It appeared so. Further, I could see a response coming back from the 3178, consisting of two words. 



The program still failed with the same message length error, so I need to zoom in and make sure that the receiver side of my interface board is properly detecting, decoding and delivering the two word response. 

LOOKING FOR DATA BITS FROM THE RECEIVER CHIP DP 8341

I then probed the signals on the DP8341 receiver chip to ensure that they were seeing, decoding and outputting the data I see arriving from the terminal. The pin Receiver Active should go high when a word is arriving, then when it is complete the Data Available pin should jump to high.


That is what I see, which indicates that the chip is seeing the word and is ready to provide it to the Arduino firmware for transmission up to the laptop. Next set of signals to monitor are the error detection pin and the output enable which controls when the chip outputs its received data. 

The Error pin never goes high, indicating that the receiver chip believes it has a properly formatted word that is ready to be presented to the Arduino. The data word received is a copy of the POLL command all bits zero except for 2 (and parity bit 0).

At this point I am going to exchange ideas with Andrew and then attempt some instrumentation to see what his software is seeing from this interchange and how it is dealing with it. Perhaps the 3178 behavior is different from the 3278 and would need some modifications in the code to work properly.

No comments:

Post a Comment