A digital imaging engineering group needed a VME board to
interface a new system product to a super-high quality picture
scanner. The scanner, known as a Hell Scanner for its inventor, Dr.
Rudolph Hell, digitizes color commercial magazine quality pictures.
The digital interface at the scanner's output port operated
according to a Siemens digital I/O specification, called SEAP, a
German acronym for Selektor Ein/Ausgang Prozessor, which basically
means "selectable input/output processor."
My client needed the VME side of the board to be capable of DMA,
bus master, and interrupt operation. The SEAP side required a set of
registers accessible by the VME processor, a data path between the
VME bus and the SEAP cable, and a finite state machine to implement
the Master/Slave protocol of the SEAP specification. There were also
a few issues concerning bit and byte ordering that were resolved
with appropriate logic.
The first problem I encountered was the reading of the SEAP
specification; it was written in German. In fact, I had studied
German and could read it fairly well, and peripheral board design is
the same regardless of the language in the specification. Even so, I
spent a few hours one-on-one with a translator to make sure I
understood the requirements.
After I understood the SEAP spec, I wrote a detailed hardware and
software specification for the proposed VME-SEAP board. An engineer
in Germany, who was involved with the Hell Scanner's design,
reviewed my specification, and we discussed it, page by page, in a
phone conference. Then I met with my client and we reviewed
everything to make sure I understood what they wanted, and they
understood what I planned to do. Once we agreed, I went off to
design the hardware, and the software engineers began to develop
their code based on my specification.
After I finished the schematic, we met again to review my work
and the group approved the next phase, the printed circuit board
layout. We held another design review after I finished the layout,
and the group approved the final phase, the PCB fabrication,
assembly, and debug. I debugged the board in my laboratory, and
delivered the working board to my customer. It worked according to
the specification, and the programmers told me they had never seen
such a smooth transition between the specification and the hardware.
There were a few bugs that we fixed in the programmable logic, but I
still remember that this complex VME board needed only six rework
wires.
This project highlights my experience with managing projects,
interpreting and creating specifications, designing computer
peripheral logic, developing hardware, and interfacing new hardware
with new software.