|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC850 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC850 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 12032 (0x2f00) Types: RcTekst Names: »44RT2119.WP«
└─⟦d6fd29e8c⟧ Bits:30005864 Manualer - tekstfiler 42-I og 44-RT afdelingerne └─⟦this⟧ »44RT2119.WP«
╱04002d4e0a00060000000003013c3140000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱ ┆b0┆┆a1┆┆f0┆┆e1┆┆06┆i↲ ↲ ┆b0┆┆a1┆TABLE OF CONTENTS┆05┆PAGE↲ ↲ 1. DESCRIPTION ........................................ 1↲ 1.1 Hardware Survey ............................... 4↲ ↲ 2. THE KEYBOARD CONTROLLER (KBC751/KBC752) ............┆05┆6↲ 2.1 Logic Diagrams and Functional Description .....┆05┆8↲ 2.2 Special Hardware Features .....................┆05┆11↲ ↲ 3. THE KEY SWITCH ASSEMBLY (KSA751) ................... 16↲ 3.1 The Phantom Phenomenon ........................ 16↲ ↲ 4. THE MICROPROGRAM ...................................┆05┆19↲ 4.1 Error-Codes ...................................┆05┆19↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆06┆ii↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ════════════════════════════════════════════════════════════════════════ ↓ ┆14┆┆b3┆┆a1┆┆b0┆┆e1┆┆06┆┆0b┆↲ ┆b0┆┆a1┆1. DESCRIPTION↲ ↲ The RC730 is the keyboard for the RC750 microcomputer. The ↓ keyboard is based on the position-code principle. I.e. that ↓ a depression of a key results in the transmission of a ↓ position code. Therefore the host computer must perform a ↓ translation from position codes to e.g. ASCII. When a key is ↓ released, 128 (decimal) is added to the position code and ↓ this code is then to be transmitted. I.e. that a single ↓ "hit" on a key results in the transmission of 2 codes. The ↓ position code allocation is shown in fig. 1.2.↲ ↲ The position codes is transmitted to the host in a serial ↓ form. The keyboard provides both data and clock information.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ┆06┆Figure 1.1: Keyboard layout.↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ┆06┆Figure 1.2: Positioncode allocation.↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆1.1 Hardware Survey↲ ↲ The RC730 keyboard consists fo two modules: KBC751/KBC752 ↓ and KSA751.↲ ↲ KBC751 is the controller module and KSA751 is simply the PCB ↓ where the keyswitches are mounted.↲ ↲ The controller performs the "reading" of the switches, the ↓ transmission of position codes and the generation of ↓ "keyswitchclicks". The controller has also got a connector ↓ which is intended to be used in conjunction with a mouse. ↓ Fig. 1.3 shows the physical interconnection of the modules.↲ ↲ The connection to the computer is made through the cable ↓ KBL574. The definition of the cable is as follows:↲ ↲ ┆06┆ Pin 1: Strobe Clock from keyboard↲ 2: Serial Data from keyboard↲ 3: no connection↲ 4: 0 V↲ Front view 5: 6,5 V - 7,5 V supply↲ 5P DIN-connector Shield connected to housing↲ (DIN 41524)↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ┆06┆Figure 1.3:↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆2. THE KEYBOARD CONTROLLER (KBC751/KBC752)↲ ↲ The KBC751/KBC752 is based upon a 8039 single chip micro- ↓ computer. The program for the microcomputer is stored in 2 K ↓ x 8 ROM (2716). ↲ ↲ In this section the hardware around the microcomputer will ↓ be described. The KBC751/KBC752 assembly drawing is shown in ↓ fig. 2.1.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ┆06┆Figure 3:↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆2.1 Logic Diagrams and Functional Description↲ ↲ ┆a1┆Signal┆e1┆┆06┆┆a1┆Description↲ ↲ MOUSECON╞ ╞ Serial data input from mouse.↲ RX╞ ╞ ╞ Returnline for the two SHIFT-keys.↲ R0-7╞ ╞ Returnlines from the KSA751↲ T0, T1╞ ╞ Input from nationality switch↲ DA0-7 ╞ ╞ Data-Address bus.↲ LATCH╞ ╞ ┆84┆Strobe signal present in the mouse ↓ ┆19┆┆99┆┄┄connector J3.↲ ALE╞ ╞ ╞ Address latch enable↲ PSEN╞ ╞ Program store enable↲ A8-A10╞ ╞ 3 most significant address bits.↲ DATA╞ ╞ Unbuffered DATAOUT-line↲ CLOCK╞ ╞ Unbuffered inverted CLOCKOUT line↲ CLICK╞ ╞ ┆84┆Controls the activation of the ↓ ┆19┆┆99┆┄┄relay↲ ┆a1┆┆05┆↲ ↲ S0-12 ╞ ╞ Scanlines used on the KSA751↲ SX1, 2╞ ╞ ┆84┆Scanlines dedicated to the ↓ ┆19┆┆99┆┄┄nationality switch and the two ↓ ┆19┆┆99┆┄┄SHIFT-keys.↲ DATAOUT╞ ╞ Serial data from keyboard.↲ CLOCKOUT╞ ╞ Strobe clock from keyboard.↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆2.2 Special Hardware Features↲ ↲ ┆a1┆The keyboard scanning↲ ↲ The scanning circuit consist of the 4 IC's 1, 2, 3 and 4. ↓ The IC4 is a 4-to-16 line demultiplexer. The IC's 1, 2 and 3 ↓ form a line of 18 inverters with open collector outputs. ↓ One, and only one, of the scanlines S0-S12 and SX1, 2 will ↓ be pulled low at a time. The rest of the scanlines will be ↓ in the high impedance state. The line to be pulled low is ↓ selected by the 4 selectlines A-D on IC4.↲ ↲ The selectlines A-D is connected to the addresslines A4-A7.↲ ↲ The STROBE-input on IC4 is connected to the most significant ↓ addressbit, A10. The following figure will describe the ↓ scanline addressing.↲ ↲ ┆a1┆MSB ENABLES SCANNING LSB↲ ┆a1┆ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 ┆e1┆ BIN↲ ┆a1┆ H2 H1 H0 ┆e1┆ HEX↲ CONTROLS DON'T↲ ┆a1┆ SCANLINES CARES ↲ ↲ Example: ┆84┆In the address 043B(H) the scanline S3 will be ↓ ┆19┆┆89┆┄┄pulled low.↲ ┆84┆In the address 0431(H) the scanline S3 will be ↓ ┆19┆┆89┆┄┄pulled low.↲ ╞ ┆84┆In the address 0331(H) none of the scanline will be ↓ ┆19┆┆89┆┄┄pulled low. All lines will be in the high impedance ↓ ┆19┆┆89┆┄┄state.↲ ╞ ┆84┆In the address 06D7(H) the scanline SX1 will be ↓ ┆19┆┆89┆┄┄pulled low.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆a1┆The return lines↲ ↲ Port 1 defines the returnlines from the keyswitch assembly ↓ (KSA751). The figure shown below shows the principal ↓ function of the returnlines, R0-R7.↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ Example: ┆84┆Assume that the switch B0 is closed.↲ ┆84┆Assume that the return-lines is read, and that the ↓ ┆19┆┆89┆┄┄address for this operation is 0456(H).↲ ╞ ┆84┆The S5-line is then pulled low, and the reading ↓ ┆19┆┆89┆┄┄will then show that the LSB of part 1 (R0) is "0". ↓ ┆19┆┆89┆┄┄This will mean that B0 is closed.↲ ┆84┆The MSB of part 1 (R7) will be "1" since B7 is ↓ ┆19┆┆89┆┄┄open.↲ ┆84┆If the reading of part 1 was done while the address ↓ ┆19┆┆89┆┄┄was e.g. 050F(H) then the LSB of part 1 (R0) will ↓ ┆19┆┆89┆┄┄reflect the status of switch A0.↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆a1┆The nationality switch↲ ↲ SW1 in the KBC751 diagram is the nationality switch. This ↓ switch is a binary-count switch. The switchfunction is ↓ described in the following scheme.↲ ┆a1┆ ↲ ┆a1┆┆e1┆ SX1┆a1┆┆e1┆ SX2 ↲ ┆a1┆ LOW LOW ↲ ┆a1┆ Pin pair: 7-9 6-12 4-14 1-15 T1 T0 T1 T0 ↲ ┆a1┆ switch position 0 O O O O L L L L ↲ ┆a1┆ 1 O O O S L H L L ↲ ┆a1┆ 2 O O S O L L L H ↲ ┆a1┆ 3 O O S S L H L H ↲ ┆a1┆ 4 O S O O H L L L ↲ ┆a1┆ 5 O S O S H H L L ↲ ┆a1┆ 6 O S S O H L L H ↲ ┆a1┆ 7 O S S S H H L H ↲ ┆a1┆ 8 S O O O L L H L ↲ ┆a1┆ 9 S O O S L H H L ↲ ┆a1┆ A S O S O L L H H ↲ ┆a1┆ B S O S S L H H H ↲ ┆a1┆ C S S O O H L H L ↲ ┆a1┆ D S S O S H H H L ↲ ┆a1┆ E S S S O H L H H ↲ ┆a1┆ F S S S S H H H H ↲ ↲ S = Shorted O = Open L = Low H = High↲ ↲ To the right in scheme is the state of the two test inputs ↓ shown; as a function of the switch position and the state ↓ off the two scanlines (IC no. 3 pin 10 and 12).↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆a1┆The handshake↲ ↲ Port 1 and 2 of the 8039 microcomputer has a special ↓ feature: Each bit in the ports can function as both an input ↓ and an outputline. this feature is used in making the ↓ DATAOUT-line bidirectional.↲ ↲ The DATAOUT-line is, when inactive, pulled high via an 50 K ↓ Ohm resistor located inside the 8039.↲ ↲ The internal structure of the I/O-parts is shown below.↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ Whenever the computer is ┆a1┆not┆e1┆ ready for receiving data from ↓ the keyboard, the computer will pull the DATAOUT-line low. ↓ this low level will be detected at port 2's bit no. 4.↲ ↲ This handshake feature is a very efficient way to avoid ↓ overrun in the keyboard-receiver-circuit.↲ ↲ ┆a1┆The click device↲ ↲ In order to simulate the "click"-sound of a ordinary ↓ typewriter, the KBC751/KBC752 is equipped with a relay ↓ (RL1). This relay can be used to create a "click"-sound ↓ whenever a key is pressed. The relay is controlled by bit ↓ no. 6 in port 2. A low voltage on this pin will turn on the ↓ relay.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ In order to create a well defined "click"-sound, the pulse ↓ to the relay is as follows:↲ ↲ ╞ H ┆a1┆ ┆e1┆ ┆a1┆ ↲ L ┆a1┆ ↲ 9mS↲ ↲ ┆a1┆Mouse connection↲ ↲ KBC751/752 is prepared for the connection of a mouse. The ↓ mouse will send serial data to the KBC at a baudrate of ↓ 1200. The KBC is then to pass on the mouse-information to ↓ the computer.↲ ↲ Two types of mouseconnectors can be used; this is shown by ↓ the double layout of J3 (J3A) in fig. 2.1.↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆a1┆┆b0┆3. THE KEY SWITCH ASSEMBLY (KSA751)↲ ↲ The KSA is simply the printed circuit board where the ↓ switches are mounted. The diagram is shown on page 18.↲ ↲ ↲ ┆b0┆┆a1┆3.1 The Phantom Phenomenon↲ ↲ The KSA is very simple but there is still a problem ↓ concerning the detection of depressed keys. Consider the ↓ example shown below:↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ If S0 is pulled low, R0 and R2 will also be pulled low, ↓ indicating that A and E are closed. The next step in the ↓ scanningprocedure will now be to pull S1 low. R0-R2 will now ↓ be high indicating that none of the switches B, C and F are ↓ closed. The situation described here will be normal.↲ ↲ Consider now this situation:↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ When S0 is pulled low, R0 and R2 will be pulled low ↓ indicating that A and E is closed. When now S1 is being ↓ pulled low, R0 ┆a1┆and┆e1┆ R2 will be pulled low. This would ↓ normally indicate that F is closed, but this is actually not ↓ so. This condition is called a phantom condition. The ↓ condition is caused by the connection from B to A and to E. ↓ This is shown in the figure. We will see that the phantom ↓ condition will occur whenever the switches in 3 corners of a ↓ layout switch quadrangle is closed. The effect of the ↓ phantom conditionis that two scanlines (here S0 and S1) will ↓ look as though they were equal. I.e. that A and E are closed ↓ ┆a1┆and┆e1┆ B and F are closed.↲ ↲ The equality will in the program be used as a criteria for ↓ the presence of a phantom condition.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆b0┆┆a1┆4. ╞ THE MICROPROGRAM↲ ↲ The microprogram for the 8039 single chip micro-computer is ↓ stored in a 2716PROM.↲ ↲ There exists 3 versions of the PROM:↲ ↲ ROC191 ┆84┆is the originally PROM with no mouse-support.↲ ↲ ROC315 ┆84┆is basicly a ROC191 except for the selftest-↓ ┆19┆┆88┆┄┄routine. ROC315 will transmit an error-code when a ↓ ┆19┆┆88┆┄┄key is depressed during power-up.↲ ↲ ROC405 ┆84┆is basicly a ROC315 with a mouse-handling-routine ↓ ┆19┆┆88┆┄┄added.↲ ↲ ↲ ┆a1┆┆b0┆4.1 Error-Codes↲ ↲ When power is applied the KBC performs a selftest. The test ↓ is divided into 3 "sub-tests" which are performed in the ↓ sequence shown below:↲ ↲ 1. ┆84┆First the PROM is being testet for a zero checksum. If ↓ ┆19┆┆83┆┄┄this test fails 4 "cliks" are being transmitted and the ↓ ┆19┆┆83┆┄┄"position code" 254 decimal is send to the computer.↲ ↲ 2. ┆84┆The keyswitch-assembly is then being tested for any ↓ ┆19┆┆83┆┄┄depressed key during power-up. If a depressed key is ↓ ┆19┆┆83┆┄┄detected 1 "click" is transmitted and 253 decimal is send ↓ ┆19┆┆83┆┄┄to the computer.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ 3. ┆84┆Port 2 are the 8039 microcomputer is then being tested. ↓ ┆19┆┆83┆┄┄The test fails if the setup value written to the port ↓ ┆19┆┆83┆┄┄does not match the actual read value. If the test fails ↓ ┆19┆┆83┆┄┄2 "clicks" are transmitted and 252 decimal is send to the ↓ ┆19┆┆83┆┄┄computer.↲ ↲ If no error conditionis detected 3 "clicks" are transmitted ↓ and 255 decimal is send to the computer.↲ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆06┆┆a1┆CODE ASSIGNMENT↲ ↲ ┆a1┆CODE╞ DECRIPTION╞ ╞ ↲ 255╞ ╞ OK-code↲ 214↲ .↲ .╞ ╞ Available error-codes↲ .↲ 244↲ 243↲ .↲ .╞ ╞ Nationality codes↲ .↲ 228↲ 227╞ ╞ Not used↲ 226↲ .↲ .╞ ╞ Release codes↲ .↲ 129↲ 128↲ .↲ .╞ ╞ Not used↲ .↲ 99↲ 98↲ .↲ .╞ ╞ Position codes↲ .↲ .↲ 1↲ 0╞ ╞ Not used↲ ════════════════════════════════════════════════════════════════════════ ↓ ↲ ════════════════════════════════════════════════════════════════════════ ↓ ┆1a┆┆1a┆(KSA751)↲ ↲ The KSA is simply the printed circuit board where thne, of the scanlines S0-S12 an