NBSIR 78-1

4^

(R)

p jMb

Rfe •. '****#*«

AN' INTERFACE BETWEEN A MINICOMPUTER AND A

SCANNING MICRODENSITOMETER

P. G. Stein

~m**+**'' i’lbK CJ,

PU H0EJR

Institute for Basic Standards

National Bureau of Standards

Washington, D.C. 20234

March 1978

Prepared for

optics and Micrometrology Section

"schanics Division

National Bureau of Standards

AN INTERFACE BETWEEN A MINICOMPUTER AND A SCANNING MICRODENSITOMETER

P. G. Stein

Office of Measurement Services

Institute for Basic Standards

| in 1977, a hardware interface was constructed connecting the Interdata

j model 7/32 computer in the NBS image processing facility to an

! Optronics film scanner, hereafter called the Photomation. This

I scanner is a drum type, having servo drive for rotation with a shaftencoder pickoff for X increments and a stepping motor and lead screw

for Y increments. A microdensitometer head with interchangeable

aperture settings measures density at each location on the object

plane. Automatic analog circuitry sets zero and full scale every drum

! revolution, and an analog-to-digital converter produces eight-bit data

' for each point (pixel). In practice, the computer receives data for X

| and density, and outputs data for Y.

! The purpose of the interface is to allow programmers to send necessary

control information to the Photomation and to read data from it. The

user interface to the Photomation is through a software driver that is

part of the computer operating system and is therefore beyond the

i scope of this report. The programming information contained herein is

primarily of interest to the writer of the OS driver.

The Photomation hardware itself will perform several tasks for the

programmer. It is possible to send Y increment commands which will

count motor steps. Y direction mechanical end stops may be set

manually and the computer will sense when they have been hit. An X

skip field may also be set by the computer to tell the Photomation to

skip a number of pixels before beginning data transfer. A rotary

(manual) switch on the Photomation determines resolution in the X direction (25 , 50 , 100 , or 200 micrometers per datum). Y resolution

is determined by software, as each carriage step is 12.5 micrometers

regardless of the setting of the resolution switch. This same switch

chooses a speed for drum rotation, and the position of the switch can

be read by the computer. An error signal is generated if the switch

is changed during operation of the scanner.

I I Photomation Programming

The Photomation

instructions. The

status and command

i nterface

followi ng

bi ts

.

responds to

descri ption

the usual

shows the

Interdata I/O

assignment of

1
SENSE STATUS

Bit 8, 9, 10. Raster switch: These three bits, taken together,

indicate the setting of the Photomation raster switch.

Bit Pattern Meaning

000 12.5 micrometers

001 25 micrometers

010 50 micrometers

011 100 micrometers

100 200 micrometers

Bit 11. Overrun: When this bit is set it indicates that the

Photomation has detected an error condition. This can be caused by

hitting an end stop, or by failing to read a datum before the

Photomation produced another.

Bit 12. Busy: Indicates to the Interdata that data are not ready to

be transferred. Indicates to the Photomation that the Interdata wants

more data. For detailed information, read the section on logic

circuit description in this report. The notes on busy contained there

must be read before programming the interface.

Bit 13. Examine Status: This bit is set to indicate any error

condition. It is the logical OR of the conditions "overrun,"

described above, and "switch moved," caused by the raster switch being

moved.

Bit 14. Carriage Busy: This bit is set during carriage motion (Y

direction)

.

Bit 15. Drum up to Speed: This bit is set when the drum is not up to

speed, or whenever other inoperant conditions exist (such as power

off) in the Photomation.

OUTPUT COMMAND

Bit 8, 9. Interrupt Arm, Disable, Disarm as per Standard Interdata

Conventions

.

Bit 10. Halfword Mode: Indicates to the computer that the interface

is in halfword mode.

Bit 11. Clear: Generates a Photomation clear command. This command

is required any time the Photomation has been powered up, has

generated an error condition, or is at the end of an X scan. The data

hardware must receive at least one clear command per revolution. The

clear command also resets the raster switch comparator register so
that it remembers that switch setting as the current one. Upon

detecting a change in switch setting, issue a clear.

Bits 12-15. Operation Code: When any of these bits is set, and bit

11 is reset, these bits are understood to be a Photomation Op code as

defined in the Photomation Manual.

(WRITE DATA (ALWAYS USE WRITE HALFWORD)

All data bits are used to load the Photomation count register. This

register is used for stepper motor counts for Y incrementing and for

skip field counts during data taking. The write halfword instruction

loads this register. This register is loaded with the two 1 s complement of the desired count . Do not 1 oad it with a_ positive

number . If this is accidentally done, issue a clear command to free

the scanner.

READ DATA

The rightmost eight data bits represent the digitized density at each

pixel. A read data instruction will input only these data. The

! leftmost eight bits represent Photomation (not interface) status.

These may be read using a read halfword instruction. The only

.information in this status byte not available from the Sense Status

instruction is the identity of an end stop which has been hit. The

overrun status will indicate an end stop but not tell you which one.

The assignment of bits in Photomation status may be determined from

the Photomation Manual.

Typical Programming Sequences for the Photomation Interface

Travel in the Y Direction:

Issue a clear, setting board in halfword mode.

Write data using the two's complement of the Y travel desired as data.

Sense status to check for end-stop condition.

I Output command with proper Photomation op code for Y direction desired.

j Data Gathering Using Busy Loop:

Issue a clear, setting board in halfword mode.

Write data using two's complement of the X skip desired as data.

Read data to set busy bit. Ignore the data.

Output command with proper Photomation op code for read; place board

in byte mode.

I Loop waiting for busy bit to go away.

Read data and store it. Loop clocking data on busy until done,

j Issue clear to terminate, read operation.

3
Data Gathering Using Selector Channel (SELCH):

Issue a clear, setting board in halfword mode.

Write data using two's complement of the X skip desired as data.

Read data to set busy bit. Ignore the data.

Write data to set up SELCH registers for boundaries of transfer.

Output command to Photomation with op code for read; place board

in byte mode.

Output command to start SELCH.

Upon SELCH termination, issue clear to terminate read operation.

Logic Circuit Description:

Refer to sheet 1 of the logic drawing. ULM data outputs are wired

directly to Photomation data inputs. This sixteen wire connection is

detailed by the wire list on this drawing. ULM data inputs are wired

to Photomation data outputs through 7400 type gates used to strobe the

data into the computer during a read instruction. The wire list shows

the identity and connections of these gates. Photomation bits are numbered in reverse order from Interdata bits; that is, the

Interdata's most significant bit is labelled bit 0 and the

Photomation 's most significant bit is labelled bit 15. The Interdata

input strobe signal is derived from ULM signal DRG10.

The remainder of the signals on this drawing are used for control.

The Photomation requires 400 ns low-going pulses as control strobes.

These are generated by 74123 one-shots. Photomation ' s EX6 "load data"

(into photomation count/offset register) is driven by the ULM DAG10

signal. This allows writing of data in one stroke from the Interdata

to the photomation by use of a write halfword instruction. The

Photomation "general clear" signal, EX4, is generated either when the

Interdata issues a command instruction with data bit 11 set (CMG11 and

0D111), or when a hard clear (SCLRO) comes from the Interdata

hardware.

The Photomation "execute" command, EX7, is driven by any command

instruction with data bit 11 reset when any of the four low-order

command bits (12-15) are set (Photomation op-code present). This causes the Photomation to execute the command represented by the opcode present on the lines.

The Interdata sync return line has been cut on the ULM board to allow

return sync to be generated by the Photomation. An OBRS signal from

the Photomation is ORed with other sync sources to allow a return

under all circumstances. EX6 and EX4 signals do not generate OBRS and

therefore are separately included in sync.

Refer to sheet 2 of the logic drawing. Photomation signal ES0 is

wired directly to ULM status input SI151, Device unavailable.

4
Jphotomation signal ES3 is inverted and wired to ULM status input

[SI141, EOM (Meaning- -Carriage busy). Photomation signal ES7 is wired

jdirectly to ULM status input Sill! (Meaning--Data overrun). Three

Photomation signals are wired directly to ULM status inputs to

i indicated raster switch setting: ID02 to SI081 , I DO! to SI091, and

jlDOO to S 1 1 01 . (Note reverse notation as with data lines.)

|A backup register has been built for the raster switch settings. This

(causes a status change and an interrupt if the raster switch setting

is changed. A three bit register is loaded from the switch settings

jwhenever a clear command is issued or whenever an interrupt caused by

raster switch setting is acknowledged. A binary comparator

continuously compares the register contents with the switch setting.

Any difference causes the ULM status input SI131, Examine, to go high.

Examine is also raised by overrun status, the same one which is

reported by S 1 1 1 1

.

,

! Interrupts are generated to the processor in the case of examine,

i device unavailable, or carriage busy changing state. Examine and

Device Unavailable cause interrupts when setting. Carriage busy

causes an interrupt on carriage stopping.

Notes on Busy:

I Scan data transfers take place with a handshake between the ULM and

the Photomation, and with a separate handshake between the ULM and the

Interdata. The flip-flop is used to coordinate these transactions as

follows: Assume the flip-flop is reset. This shows buffer busy (IBF)

to the Photomation and not busy to the Interdata (Status bit SI121).

The Interdata then executes a read data cycle (through programmed I/O

or SELCH) and issues DRG10. This reads the Photomation data into the

computer and sets the flip-flop. This shows buffer empty to the

Photomation and busy to the Interdata. When new Photomation data is

ready, the Photomation signal EST is issued, resetting the flip-flop

and starting a new cycle. The Photomation generates overrun whenever

IBF is high (buffer full) and another datum is ready.

! It is necessary to start a sequence of data transfers in the correct

I state. Therefore, YOU MUST ISSUE A READ DATA INSTRUCTION BEFORE

j STARTING ANY BLOCK TRANSFERS.

'This ensures that the flip-flop indicates buffer empty to the

! Photomation and busy to the Interdata. At this point, a read command

! to the Photomation followed by a "busy loop" or SELCH start will leave

the computer hung waiting for the first EST from the Photomation.

This may be delayed if the Photomation has been programmed to skip a large field before data taking. If this preliminary read is not done,

i overrun will occur.
The entire logic circuit

integrated circuits mounted

Logic Module). Packaged

ohms to ground) are used on

is constructed of SN7400 series TTL

on an MDB Systems wire-wrap ULM (Universal

TTL terminators (220 ohms to +5 volts; 330

every line coming from the Photomat ion.
Qf-va-p 6 9 r & ? O ^ -T H £ & *

o>

-l 2- om

p>

r I r

T“l

t-

\h

r4• A\J0

<pf32

'h

A

IJ

“5 *>

o_

—

r

O

OcP - r ~ P c

1

1JS-114A (REV. 7-73)

‘

U.S. DEPT. OF COMM.

bibliographic data

SHEET

1. PUBLICATION OR REPORT NO.

NBSIR 78-1447

2. Gov’t Accession

No.

3. Recipient's Accession No.

title and subtitle

AN INTERFACE BETWEEN A MINICOMPUTER AnD A

SCAnnInG MICRODEnSITOMETER

5. Publication Date March 1978

6. Performing Organization Code

AUTH0R(

¥. G. Stein

8. Performing Organ. Report No.

| PERFORMING ORGANIZATION NAME AND ADDRESS

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

j

10. Project/Task/Work Unit No.

11. Contract/Grant No.

jl. Sponsoring Organization Name and Complete Address (Street, City, State, ZIP)

Same as 9 above.

13. Type of Report & Period Covered

Fi«al

14. Sponsoring Agency Code

). SUPPLEMENTARY NOTES

I

5. ABSTRACT (A 200-word or less factual summary of most significant information. If document includes a significant

bibliography or literature survey, mention it here.)

This publication describes the hardware interface between the Optronics

Photomation film scanner and an Interdata computer. Description of operation,

programming information, and circuit diagrams are included.

I

1

17. KEY WORDS (six to twelve entries; alphabetical order; capitalize only the first letter of the first key word unless a proper

name; separated by semicolons

)

Artificial intelligence; computer interface; image processing; optical scanning

'8. AVAILABILITY [d Unlimited 19. SECURITY CLASS

(THIS REPORT)

21. NO. OF PAGES

12 F°r Official Distribution. Do Not Release to NTIS

UNCL ASSIFIED

d. Order From Sup. of Doc., U.S. Government Printing Office

Washington. D.C. 20402. SD Cat. No. 03

20. SECURITY CLASS

(THIS PAGE)

22. Price

id Order From National Technical Information Service (NTIS)

Springfield, Virginia 22151 UNCLASSIFIED

U SCOMM-OC 29042-P74
>

•'

*