Acorn A4 Technical Reference Manual

Transcripción

Acorn A4 Technical Reference Manual
Acorn A4
Technical Reference Manual
Copyright © Acorn Computers Limited 1993. All rights reserved.
Published by Acorn Computers Technical Publications Department.
No part of this publication may be reproduced or transmitted, in any form or by any means, electronic, mechanical,
photocopying, recording or otherwise, or stored in any retrieval system of any nature, without the written permission of
the copyright holder and the publisher, application for which shall be made to the publisher.
The product described in the manual is not intended for use as a critical component in life support devices or any
system in which failure could be expected to result in personal injury.
The products described in this manual are subject to continuous development and improvement. All information of a
technical nature and particulars of the products and their use (including the information and particulars in this manual)
are given by Acorn Computers Limited in good faith. However, Acorn Computers Limited cannot accept any liability for
any loss or damage arising from the use of any information or particulars in this manual, or any incorrect use of the
products. All maintenance and service on the products must be carried out by Acorn Computers' authorised dealers or
Approved Service Centres. Acorn Computers Limited can accept no liability whatsoever for any loss or damage
caused by service, maintenance or repair by unauthorised personnel.
If you have any comments on this manual, please complete the form at the back of the manual and send it to the
address given there.
Acorn supplies its products through a national and international distribution network. Your supplier is available to help
resolve any queries you may have.
ACORN, ARCHIMEDES and ECONET are trademarks of Acorn Computers Limited.
ARM is a trademark of Advanced RISC Machines Ltd.
IBM is a trademark of International Business Machines Corporation.
Walkman is a trademark of the Sony Corporation.
All other trademarks are acknowledged.
Published by Acorn Computers Limited
ISBN 1 85250 101 4
Part number 0490,058
Issue 1, February 1993
Contents
About this manual
vi
Part 1 - System description
Introduction
General
System timing
I/O system
Sound system
Video system
LC ASIC
Memory system
Keyboard and mouse
Floppy disc drive
Hard disc drive
Econet (optional network connection)
Parallel port
Serial port
Power supply system
Plugs
Sockets
Main PCB Links
Switches
1-1
1-1
1-1
1-2
1-2
1-10
1-10
1-12
1-12
1-13
1-17
1-19
1-19
1-20
1-22
1-23
1-26
1-27
1-28
1-28
Part 2 - Parts lists
A4 2M final assembly parts list, issue 2
A4 2M main PCB assy parts list, issue 1
A4 4M main PCB assy parts list, issue 1
A4 4M + 60MHD final assembly parts list, issue 4
A4 Econet PCB assembly parts list, issue 1
A4 display assembly parts list, issue 2
2-1
2-1
2-1
2-6
2-11
2-11
2-12
Appendix A - Monitor adaptor cables
Appendix B - Expansion bay
Interface
Details of other signals
Mechanical issues
A-1
B-1
B-1
B-1
B-1
Appendix C - Engineering drawings
PCB component reference
The following drawings are in plastic
wallets at the end of the manual:
Final assembly drawings (base and display)
Main PCB circuit diagram
Econet PCB circuit diagram
C-1
C-2
About this manual
This manual is intended as a hardware reference manual
for the Acorn A4.
This manual supplements the basic information given on
system hardware in the Welcome Guide and the
Portable Handbook.
The operating system is covered at the user level in the
RISC OS 3 User Guide, supplied with certain models (
also available for separate purchase). Programmers and
users requiring a greater depth of information about
RISC OS will also need the RISC OS 3 Programmer's
Reference Manual, which is available from Acorn
authorised dealers.
Full details on the ARM chip set used in the computer
are given in the ARM Family Data Manual, ISBN 0-13781618-9, available from:
VLSI Technology, Inc.
Application Specific Logic Products Division
8375 South River Parkway
Tempe, AZ 85284
USA
602-752-8574
or from the VLSI national distributor.
Details on the 82C711 chip are available from:
Chips and Technology Inc.
3050 Zanker Road
San Jose, CA 95134
USA
or from the Chips and Technology national distributor.
Details on the HD404304 microcontroller are available
from:
Hitachi Europe Ltd
Whitebrook Park
Lower Cookham Road
Maidenhead
BERKS
SL6 8YA
0628-585000
Note: This manual describes various PCB assemblies.
The issue of each PCB is as defined on the relevant
schematic.
Part 1 — System description
Introduction
The computer is built around the ARM chip set,
comprising the Advanced RISC Machine (ARM3) itself,
the Memory Controller (MEMC-1A), Video Controller (
VIDC) and Input/Output Controller (IOC). The memory
size is configurable for 1, 2 or 4MB. A block diagram of
the computer is shown below.
An ASIC (IOEB) provides much of the support and
extension logic for the system. Another ASIC (LC)
controls the LCD panel, and a battery management
micro-controller (BMU) supports the power system.
Figure 1.1: Block diagram of computer
General
The ARM3 CPU is a pipelined, 32-bit reduced instruction
set microprocessor which accepts instructions and
manipulates data via a high speed 32-bit data bus and
26-bit address bus, giving a 64MB uniform address
space. The ARM supports virtual memory systems using
a simple but powerful instruction set with good high-level
language compiler support. The ARM3 has 4KB of onchip cache memory, which greatly increases the speed
with which some data is handled (typically 2 - 3 times
faster than ARM2).
MEMC acts as the interface between the ARM, VIDC,
IOEB (Input/Output Extension Block), ROM (Read Only
Memory) and DRAM (Dynamic RAM) devices, providing
all critical system timing signals, including processor
clocks.
MEMO, IOEB and I0C together control the I/O system.
The internal peripherals (floppy disc, serial port, parallel
port and hard disc) are all controlled by the 711
Universal Peripheral Controller chip, which itself is
controlled by IOEB. I0C and IOEB control the I/O bus
and expansion cards, and I0C provides basic functions
such as the keyboard interface, system timers, interrupt
masks and control registers. It supports a number of
different peripheral cycles. All I/O accesses are memory
mapped.
IOEB also contains miscellaneous registers/latches and
generates the necessary signals to control ROM
accesses, including the additional 5th column ROM.
Up to 4MB of DRAM can be connected to MEMO which
provides all signals and refresh operations. A logical to
physical translator maps the physical memory into a
32MB logical address space (with three levels of
protection) allowing virtual memory and multi-tasking
operations to be implemented. Fast page mode DRAM
accesses are used to maximise memory bandwidth.
VIDC requests data from the DRAM when required and
buffers it in one of three FIFOs before using it. Data is
requested in blocks of four 32-bit words, allowing
efficient use of paged-mode DRAM without locking the
system data bus for long periods.
MEMC supports Direct Memory Access (DMA) operations
with a set of programmable DMA address generators
which provide a circular buffer for video data, a linear
buffer for cursor data and a double buffer for sound data.
VIDC takes video data from memory under DMA control,
serialises it and passes it through a colour look-up palette
and converts it to analogue signals for driving the CRT
guns. VIDC controls all the CRT timing parameters and
controls the position and pattern of the cursor sprite. When
the LCD is enabled, video data is passed from VIDC to the
LCD controller (LC). LC re-times the video data, performs
grey-scaling based on frame rate modulation, and
generates all timing and control signals for the LCD panel.
VIDC is a highly programmable device, offering a very
wide choice of display formats. The colour look-up palette
which drives the three on-chip DACs is 13 bits wide,
offering a choice from 4096 colours or an external video
source.
The cursor sprite is 32 pixels wide and any number of
rasters high. Three simultaneous colours (again from a
choice of 4096) are supported and any pixel can be
defined as transparent, making possible cursors of many
shapes. The cursor can be positioned anywhere on the
screen.
The sound system implemented supports up to eight
channels, each with a separate stereo position. Also,
VIDC incorporates an exponential Digital to Analogue
Converter (DAC) and stereo image table for the
generation of high-quality sound from data in DRAM.
System timing
Figure 1.3 on page 1-5 shows how the various clock
signals are derived for the system.
MEMO divides the 36MHz clock by three to drive the
memory system at 12MHz.
The ARM processor uses the 24MHz clock.
The VIDC clock is provided by LC, which selects
between the 16MHz or 8MHz LCD clock, and the CRT
clock provided by IOEB. IOEB provides a selection of
video clock rates from 24MHz (for TV frequency modes)
25.175MHz (for VGA modes) and 36MHz (for Super
VGA mode).
IOEB divides the 24MHz clock by three to produce an
8MHz clock, REF8M, which is fed to 10C, for use by
8MHz peripherals.
IOEB also divides the 24MHz clock by two to provide a
12MHz clock for the keyboard controller.
Power save mode
In power save mode, IOEB divides both the 36MHz and
the 24MHz clocks by four. MEMO then uses (36/4)/3 =
3MHz, and the ARM uses 24/4 = 6MHz.
When video data is required, the MEMC clock speed
flips to normal speed during the video request, then flips
back to the slower power save speed.
System memory map
The system memory map is defined by MEMO, and is
shown in Figure 1.2 on page 1-4. Note that all system
components, including I/O devices, are memory
mapped.
I/O system
The I/O system is controlled by MEMO, IOEB and 10C.
The I/O bus supports all the internal peripherals and the
optional Econet expansion card.
Note: This section is intended to give the reader a
general understanding of the I/O system and should not
be used to program the I/O system directly. The
implementation details are liable to change at any time
and only the published software interfaces should be
used to manipulate the I/O system. Future systems may
have a different implementation of the I/O system, and in
particular the addresses of locations may move. For this
reason, all driver code must be relocatable.
System architecture
The I/O system consists of a 16-bit data bus (BD[0:15]), a
buffered address bus (LA[2:21]), and various control and
timing signals. The I/O data bus is independent of the
main 32-bit system data bus, being separated from it by
bidirectional latches and buffers. In this way the I/O data
bus can run at much slower speeds than the main system
bus to cater for slower peripheral devices. The latches
between the two buses, and hence the I/O bus timing, are
controlled by the I/O controller, IOC and IOEB. IOC
caters for four different cycle speeds (slow, medium, fast
and synchronous). The I/O system is shown in Figure 1.4
on page 1-6. For clarity, the data and address buses are
omitted from this diagram.
Data bus mapping
The I/O data bus is 16 bits wide. Bytewide accesses are
used for 8-bit peripherals. The I/O data bus (BD[0:15])
connects to the main system data bus (D[0:31]) via a set
of bidirectional data latches.
The mapping of the BD[0:15] bus onto the D[0:31] bus is
as follows:
• During a WRITE (i.e. ARM to peripheral) D[16:31] is
mapped to BD[0:15].
• During a READ (i.e. peripheral to ARM) BD[0:15] is
mapped to D[0:15].
Byte accesses
Byte instructions are used to access bytewide devices. A
byte store instruction places the written byte on all four
bytes of the word, and so correctly places the desired
value on the lowest byte of the I/O bus. A byte or word
load may be used to read a bytewide expansion card
into the lowest byte of an ARM register.
Half-word accesses
To access a 16-bit wide device, half-word instructions
are used. When storing, the half-word is placed on the
upper 16 bits, D[16:31]. To maintain upwards
compatibility with future machines, half-word stores
replicate the written
data on the lower half-word, D[0:15]. When reading, the
upper 16 bits are undefined.
I/O space memory map
The I/O space memory map is shown in Figure 1.5 on
page 1-6.
The I/O space is controlled by IOC, MEMC and IOEB. It
includes 10C controlled peripherals, the type 711
Universal Peripheral Controller. The address in I/O
space determines the cycle type and the speed of the
I/O access. There are basically two different types of I/O
access:
• synchronised to the system memory clock (12{3}MHz)
(the {3}MHz applies during power save mode)
• synchronised to the I/O clock (8MHz) whose speed is
determined by 10C
IOEB determines whether an I/O access is synchronised
to the 12MHz memory clock (known here as a
synchronous access) by decoding address lines LA[13:
18] and LA21. For synchronous accesses it enables its
internal synchronous access state machine. This state
machine generates an I/O cycle. The IDE drive has the
capability of stretching the cycle as described below.
As stated earlier non-synchronous I/O cycles are
controlled by IOC. The type and speed is determined by
further address decoding and connection of address
lines to IOC. IOC is connected as follows:
IOC
ARM
OE
LA21
T1
LA20
T0
LA19
B2
LA18
B1
LA17
B0
LA16
Figure 1.2: System memory map
Figure 1.3: System timing
Figure 1.4: The I/O system
Figure 1.5: The I/O system memory map
Table 1.1: Internal register memory map
Address
Read
Write
3200000H
Control
Control
3200004H
Serial Rx Data
Serial Tx Data
3200008H
-
-
320000CH
-
-
3200010H
IRO status A
-
3200014H
IRQ request A
IRQ clear
3200018H
IRQ mask A
IRQ mask A
320001CH
3200020H
IRQ status B
-
3200024H
IRQ request B
-
3200028H
IRQ mask B
IRQ mask B
320002CH
-
-
3200030H
FIQ status
-
3200034H
FIQ request
-
3200038H
FIQ mask
FIQ mask
320003CH
-
-
3200040H
T0 count Low
T0 latch Low
3200044H
T0 count High
T0 latch High
3200048H
-
T0 go command
320004CH
-
T0 latch command
3200050H
T1 count Low
T1 latch Low
3200054H
T1 count High
T1 latch High
3200058H
-
T1 go command
320005CH
-
T1 latch command
3200060H
T2 count Low
T2 latch Low
3200064H
T2 count High
T2 latch High
3200068H
-
T2 go command
320006CH
-
T2 latch command
3200070H
T3 count Low
T3 latch Low
3200074H
T3 count High
T3 latch High
3200078H
-
T3 go command
320007CH
-
T3 latch command
Table 1.2: Peripheral address map
Cycle
type
BK
Base
address
IC
Use
2
&33A0000
6854
Econet controller
Fast
5
&3350048
IOEB
Video Control Latch
Fast
5
&3350050
IOEB
Fast
5
&3350054
IOEB
Fast
5
&3350058
IOEB
Fast
5
&3350070
IOEB
Fast
5
&3350074
IOEB
Fast
5
&3350078
IOEB
Fast
5
&335007C
IOEB
Sync
IOEB Present Register
PS Latch (Reserved)
Printer Clear Register
Monitor Type Register
Latch A (reserved)
Register B
Register C
I/O programming details
Latch A (&3350074)
This section is intended to give a general understanding
of the I/O system and should not be used to program the
I/O system directly. The implementation details are likely
to change at any time and only published software
interfaces should be used to manipulate the I/O system.
Direct references to I/O addresses should never be
used when programming the I/O system. The operating
system determines which address is used to access a
particular register or peripheral.
Latch A is reserved for future use.
The following registers and latches are contained within
IOEB.
This is a read-only register which can be used to read
the Identity code of the monitor connected to the video
connector of the computer. Standard VGA monitors use
a scheme whereby four ID bits (which are either
connected to GND or left open circuit in the
Video control latch (&3350048)
This latch is a write-only register that is used by the
operating system to control video sync polarity and clock
speed. See Figure 1.6.
PS latch (&3350054)
This latch is reserved for future use.
Printer clear register(&3350058)
This is a read/write register that is used by the operating
system to clear the Printer Port Interrupt Request. The
Interrupt Request is cleared regardless of the value of
data written.
Figure 1.6: Video control latch
Figure 1.7: Monitor type register
IOEB present register (&3350050)
This is a read-only register which is used by the
operating system to establish the presence of IOEB in a
machine. A read will produce the bit pattern 0101 (Hex.
5) on the lower four data bits; all other bits are
undefined.
Monitor type register (&3350070)
monitor/monitor lead) are used to identify the monitor
type. This scheme has been adopted and further
extended to automatically sense a variety of different
monitor types (see Figure 1.7, and Video system on
page 1-10 for further details).
Register B (&3350078)
Register B is reserved for future use.
Register C (&335007C)
Register C is reserved for future use.
Interrupts
Table 1.4: IRQ status B
The I/O system generates two independent interrupt
requests, IRQ and FIQ. Interrupt requests can be caused
by events internal to IOC or by external events on the
interrupt or control port input pins.
The interrupts are controlled by four types of register:
• status
• mask
• request
• clear.
The status registers reflect the current state of the various
interrupt sources. The mask registers determine which
sources may generate an interrupt. The request registers
are the logical AND of the status and mask registers and
indicate which sources are generating interrupt requests
to the processor. The clear register allows clearing of
interrupt requests where appropriate. The mask registers
are undefined after power up.
The IRQ events are split into two sets of registers, A and
B. There is no priority encoding of the sources.
Internal Interrupt Events
•
•
•
•
•
Timer interrupts TM[0:1]
Power-on reset POR
Keyboard Rx data available SRx
Keyboard Tx data register empty STx
Force interrupts 1.
External Interrupt Events
•
•
•
•
•
•
IRQ active low inputs IL[0:7] wired as (0-7
respectively) PFIQ, SIRQ, SINTR, HDIRQ, FINTR,
PIRQ, LPINTR, with IL7 not used
IRQ falling-edge input IF wired as INDEX
IRQ rising-edge input IR wired as VFLYBK
FIQ active high inputs FH[0:1] wired as FDDRQ with
FH1 not used
FIQ active low input FL wired as EFIQ
Control port inputs C[3:5].
Table 1.3: IRQ status A
Bit
Name
Function
0
LPINTR
Parallel port latched Interrupt
1
-
Not used
2
INDEX
Start of floppy disc index pulse
3
VFLYBK
Start of display vertical flyback
4
POR
Power-on reset has occurred
5
TM0
Timer 0 event, latched
6
TM1
Timer 1 event, latched
7
FORCE
Software generated IRQ
Bit
Name
Function
0
PFIQ
Podule FIQ request
1
SIRQ
Sound buffer pointer used
2
SINTR
Serial line interrupt
3
HDIRQ
Hard disc interrupt
4
FINTR
Floppy disc interrupt
5
PIRQ
Podule IRQ request
6
STX
Keyboard transmit register
empty
7
SRX
Keyboard receive register full
Table 1.5: FIQ Interrupt status
Bit
Name
Function
0
FDDRQ
Floppy Disc Data Request
1
-
not used
2
EFIQ
Econet Interrupt Request
3
C3
Used as an I/O bit
4
SINTR
Serial Line interrupt
5
-
not used
6
PFIQ
Podule FIQ request
7
Force
Software generated FIQ Interrupt
Sound system
The sound system is based on the VIDC stereo sound
hardware. External analogue anti-alias filters are used
which are optimised for a 20 kHz sample rate. The
sound output is available from a 3.5mm stereo jack
socket which will directly drive personal stereo
headphones, or, alternatively, an amplifier and speakers.
One internal speaker is fitted, to provide mono audio.
VIDC sound system hardware
VIDC contains an independent sound channel consisting
of the following components: A four-word FIFO buffers
16 8-bit sound samples, with a DMA request issued
whenever the last byte is consumed from the FIFO. The
sample bytes are read out at a constant sample rate
programmed into the 8-bit Audio Frequency Register.
This may be programmed to allow samples to be output
synchronously at any integer value between 3 and 255
microsecond intervals.
The sample data bytes are treated as sign plus 7-bit
logarithmic magnitude and, after exponential digital to
analogue conversion, de-glitching and sign-bit steering,
are output as a current at one of the audio output pins to
be integrated and filtered externally.
VIDC also contains a bank of eight stereo image position
registers, each of three bits. These eight registers are
sequenced through at the sample rate with the first
register synchronised to the first byte clocked out of the
FIFO. Every sample time is divided into eight time slots
and the 3-bit image value programmed for each register
is used to pulse width modulate the output amplitude
between the LEFT and RIGHT audio current outputs in
multiples of time slot subdivisions. This allows the signal
to be spatially positioned in one of seven stereo image
positions.
MEMC sound system hardware
MEMC provides three internal DMA address registers to
support sound buffer output; these control the DMA
operations performed following Sound DMA requests
from VIDC. The registers allow the physical addresses
for the START, PNTR (incremental) and END buffer
pointers to a block of data in the lowest half megabyte of
physical RAM to be accessed.
These operate as follows: programming a 19-bit address
into the PNTR register sets the physical address from
which sequential DMA reads will occur (in multiples of
four words), and programming the END pointer sets the
last physical address of the buffer. Whenever the PNTR
register increments up to this END value the address
programmed into the START register is automatically
written into the PNTR register for the DMA to continue
with a new sample buffer in memory.
A Sound Buffer Interrupt (SIRQ) signal is generated when
the reload operation occurs which is processed by IOC as
a maskable interrupt (IRQ) source.
MEMC also includes a sound channel enable/disable
signal. Because this enable/disable control signal is not
synchronised to the sound sampling, requests will
normally be disabled after the waveforms which are being
synthesised have been programmed to decay to zero
amplitude; the last value loaded into the audio data latch
in the VIDC will be output to each of the stereo image
positions at the current audio sample rate.
IOC sound system hardware
IOC provides a programmed output control signal which
is used to turn the internal speaker on or off, as well as
an interrupt enable/status/reset register interface for the
Sound Start Buffer reload signal generated by MEMC.
The internal speaker may be muted by the control line
SMUTE which is driven from the IOC output C5. On reset
this signal will be taken high and the internal speaker will
be muted.
The stereo output to the headphones socket is not muted
by SMUTE and will always reflect the current output of
the DAC channels.
Video system
The video connector is a 15-way miniature D-type whose
pin allocation is very similar to a standard VGA pin-out
but with several enhancements, as detailed below:
•
Pin 9 (normally used for keying) is used to supply
+5V, specifically for powering an external UHF
modulator. The output is rated at a maximum of
600mA.
Pin 12 provides +12V (source impedance =
1k5Ohm). This output is used to provide a SCART
function switching signal for use with SCART TVs.
•
•
Pin 15 is an input, ID3, which may be used in the
future to identify standard monitor types.
The monitor types listed below are supported. A scheme
of automatically sensing the monitor type connected to
the computer is implemented (see Appendix A — Monitor
adaptor cables). This scheme ensures that a user sees a
picture regardless of what monitor type is connected to
the computer and that, where possible, the complete list
of modes available for the particular monitor type is made
available.
Monitor type
0
Modes
TV frequency/SCART
TV/UHF modulator
0 17, 24, 33 36
1
Multifrequency monitor
0-21, 24-31, 33-46
3
VGA monitor
0-15, 25-28, 41-46
4
VGA/Super VGA monitor
0-15, 25-31, 41-46
5
LCD panel
0-17, 24-28
Auto
Auto-configure
Monitor-dependent
The automatic sensing scheme uses the four ID bit
inputs, ID[3:0], present on the video connector to detect
the type of monitor connected to the computer. The ID
bits are read directly by software, where data bits D[3:0]
correspond to ID[3:0]. Monitors designed for use with IBM
PCs and compatibles use a coding system whereby ID[3:
0] define the monitor type. ID bits are either connected to
0V or are left open circuit in the monitor or monitor cable.
For example, a mono VGA monitor connects ID1 to 0V,
leaving ID0 and ID2 open circuit. This ID system has
been adopted and extended as detailed in the following
table:
ID settings
Monitor type
D3
D2
D1
D0
LCD
*
1
1
1
Mono VGA
*
1
0
1
Colour VGA
*
1
1
0
Colour SVGA
*
0
1
0
Multi-frequency
(using composite
syncs)
* HSYNC
1
1
TV/UHF mod./
*
1
HSYNC
1
SCART
* - undefined
HSYNC - horizontal sync pulse
NOTE 1: If none of the ID bits are connected to OV or
HSYNC, then the software will default to LCD. NOTE
2: the HSYNC to ID bit connections are Acorn defined
and are made in the monitor cable.
Figure 1.8: Monitor sensing
The *Configure options: MONITORTYPE, SYNC and
WIMPMODE have an AUTO setting (e.g. *Configure
MONITORTYPE AUTO) which determines the operation
of the automatic monitor type sensing scheme. At poweron or following a hard reset with all three options set to
AUTO the software senses the monitor type connected
and sets the Wimpmode, Sync type and Monitor type (
which defines the list of available modes) for the
particular monitor – see Figure 1.8. These are temporary
values which are not written back to CMOS RAM.
Subsequent *Configure MonitorType, Sync and
WimpModes selected by the user overwrite the relevant
AUTO setting in CMOS RAM so that the machine is
initialised in the mode etc. desired – the power-on/reset
sequence is the same as described above, except
software uses the options selected by the user instead of
the AUTO setting.
Many multi-frequency monitors have their ID bits set to
Super VGA. As these are becoming more common than
SVGA monitors the automatic sensing system allows
multi-frequency modes whenever an SVGA monitor is
detected. For those users who wish to use a genuine
SVGA monitor, the system can be manually configured to
SVGA using the !Configure application which overrides
the automatic system. Some multi-frequency monitors
have their ID bits set to VGA. Once again, use !
Configure, this time to gain access to multi-frequency
modes.
Appendix A – Monitor adaptor cables contains details of
how to acquire cable adaptors to connect monitors that
do not have a 15-way VGA connector. These adaptors
take advantage of the automatic sensing scheme.
LC ASIC
The LC ASIC provides a programmable interface to
monochrome flat panel LCD displays, offering 16 levels
of grey scale. A large range of display formats are
catered for, including 320x200 and 640x200 single panel
displays, and 640x400 and 640x480 dual panel displays.
The device accepts pixel data, and horizontal and
vertical sync signals, from a conventional CRT display
controller. It re-times the image and converts it to
greyscales, for display on an LCD panel. When used to
control a dual panel display, one or two external DRAMs
are needed to act as a half frame buffer. The LC ASIC
supports a wide variety of DRAMs, though in most
applications two 64Kx4 devices are sufficient.
Figure 1.9 is a block diagram of the LC ASIC. The
LCCLK block generates clocks for the LC ASIC and the
display controller, and includes a crystal oscillator. The
LCVINT block synchronises the incoming video data and
sync signals, and inverts the incoming data before
performing a logical-to-physical colour translation. It
does this by looking up the logical colour on the 16 entry
on-chip palette. The LCREG block contains all the
software programmable control bits in the device, and
outputs them to other parts of the chip. The LCGS block
converts the post-palette data to greyscales, and outputs
the data to the LCDRAM block. This block stores data
temporarily in the external DRAM devices, generating all
necessary timing and control signals for them, and also
outputs the data to the LCD panel with the correct
timing. The LCCTL block generates all the internal
control signals. The greyscaling system is the subject of
Acorn patent application GB2245743A.
MEMC uses fast page mode DRAM accesses to
maximise memory bandwidth. Once the row address has
been strobed into the DRAM, any column in that row
may be accessed merely by strobing in the new column
address. This method is used whenever a number of
sequential addresses in the DRAM are to be accessed,
either by the processor or during a DMA operation. The
first memory access in the sequence is a non-sequential
memory cycle (N cycle) where both the row and column
addresses are strobed into the DRAMs. Subsequent
memory accesses are sequential memory cycles (S
cycles) where the previous row address is held, and only
the column address is strobed into the DRAMs. The
memory system runs at 12MHz and either 70ns or 80ns
DRAMS are used (depending on different
manufacturers' timing parameters).
The memory size is configurable for either 1 MB, 2MB or
4MB by fitting the appropriate type of DRAMs to the
main PCB and setting the DRAM size switches.
The base 1MB machine is two SOJ DRAMs (256Kx16).
The second MB is two 40-pin ZIPs (256Kx16).
The upgrade from 2MB to 4MB uses four 28-pin ZIPs
(512Kx8).
Mem size
D[31:24]
1MB base
IC37
2MB
IC30
4MB
IC27
The memory system consists of banks of DRAM directly
driven by MEMC, which provides all the necessary
signals and refresh operations.
D[15:8]
D[7:0]
IC29
IC39
IC19
IC18
IC21
The table below shows the internal switch settings for
different memory sizes.
Mem size
Memory system
D[23:16]
SW1
SW2
1MB
1-4
1-3
2MB
4MB
1-2
1-3
1-3
1-2
Acorn A4
Keyboard and mouse
The keyboard assembly comprises a keyswitch panel
connected to a micro-controller on the main PCB, which
serialises the keyboard and mouse data; connection to the
ARM is made via a serial link to the IOC. The ARM reads
and writes to the KART registers in the IOC. The protocol
is essentially half duplex, so in normal operation the
keyboard micro-controller will not send a second byte until
it has received an ACK. The only exception to this is
during the reset protocol used to synchronise the
handshaking, where each side is expecting specific
responses from the other and will not respond further until
it has these.
In addition to this simple handshaking system, the
keyboard micro-controller will not send mouse data
unless specifically allowed to, as indicated by ACK
MOUSE, which allows the transmission of one set of
accumulated mouse coordinate changes, or the next
move made by the mouse. While it is not allowed to
send mouse changes, the keyboard will buffer mouse
changes.
A similar handshake exists on key changes, transmitted as
key up and key down, and enabled by ACK SCAN. At the
end of a keyboard packet (two bytes) the operating system
will perform an ACK SCAN as there is no protocol for reenabling later. Mouse data may be requested later by
means of Request Mouse Position (RQMP).
Key codes
The keyboard micro-controller identifies each key by its
row and column address in the keyboard matrix and
converts it to the standard row and column codes for
RISC OS computers.
Technical Reference Manual
Row and column codes are appended to the key up or
down prefix to form the complete key code.
For example, Q key down — the complete row code
is 11000010 (&C2) and the column code is 11000111
(&C7).
Note: The CTRL key has N-key rollover. The Shift function
has N-key rollover, but the Shift keys are not uniquely
identifiable. The operating system is responsible for
implementing two-key rollover, therefore the keyboard
controller transmits all key changes (when enabled). The
keyboard does not operate any auto-repeat; only one
down code is sent, at the start of the key down period.
FN mode
The keyboard micro-controller detects the FN key down
and converts those keyswitches which have legends for
keys not physically present on the smaller Acorn A4
keyboard into the appropriate matrix position codes.
In addition, mouse movement and buttons are simulated
by the micro-controller if cursor keys and/or Q,W,E are
pressed while FN is held down.
The FN key down event is also transmitted. Various FN
modes can be locked by the micro-controller.
Data protocol
Data transmissions from the keyboard are either one or
two bytes in length. Each byte sent by the keyboard is
individually acknowledged. The keyboard will not
transmit a byte until the previous byte has been
acknowledged, unless it is the HRST (HardReSeT)
code indicating that a power on or user reset occurred
or that a protocol error occurred; see paragraph below.
Reset protocol
The keyboard restarts when it receives an HRST code
from the ARM. To initiate a restart the keyboard sends
an HRST code to the ARM, which will then send back
HRST to command a restart.
The keyboard sends HRST to the ARM if
• a power-on reset occurs
• a user reset occurs
• a protocol error is detected.
After sending HRST, the keyboard waits for an HRST
code. Any non-HRST code received causes the
keyboard to resend HRST. The pseudo program on the
previous page illustrates the reset sequence or protocol.
Note: the on/off state of the keyboard LEDs does not
change across a reset event, hence the LED state is not
defined at power on. The ARM is always responsible for
selecting the LED status. After the reset sequence, key
scanning is only enabled if a scan enable acknowledged
(SACK or SMAK) was received from the ARM.
Data transmission
When enabled for scanning, the keyboard controller
informs the ARM of any new key down or new key up by
sending a two byte code incorporating the key row and
column addresses. The first byte gives the row and is
acknowledged by a byte acknowledge (BACK) code
from the ARM. If BACK is not the acknowledge code
then the error process (ON error) is entered. When the
BACK code is received, the keyboard controller sends
the column information and waits for an acknowledge.
If either a NACK, SACK, MACK or SMAK acknowledge
code is received, the keyboard controller continues by
processing the ACK type and selecting the mouse and
scan modes implied. If the character received as the
second byte acknowledge is not one of NACK, MACK,
SACK or SMAK, then the error process is entered.
Mouse data
Mouse data is sent by the keyboard controller if
requested by an RQMP request from the ARM, or if a
SMAK or MACK has enabled transmission of non-zero
values. Two bytes are used for mouse position data.
Byte one encodes the accumulated movement along the
X axis, while byte two gives Y axis movement.
Both X and Y counts are transferred to temporary registers
when data transmission is triggered, so that accumulation
of further mouse movement can occur. The X and Y
counters are cleared upon each transfer to the transmit
holding registers. Therefore, the count values are relative
to the last values sent. The ARM acknowledges the first
byte (Xcount) with a BACK code and the second byte (
Ycount) with any of NACK/MACK/SACK/SMAK. A protocol
failure causes the keyboard controller to enter the error
process (ON error).
When transmission of non-zero mouse data is enabled,
the keyboard controller gives key data transmission priority
over mouse data except when the mouse counter
over/underflows.
Table 1.7: Code values
Mnemonic
msb
Isb
Comments
HRST
1111
1111
1-byte command, keyboard reset.
RAK1
1111
1110
1-byte response in reset protocol.
RAK2
1111
1101
1-byte response in reset protocol.
RQPD
0100
xxxxt
1-byte from ARM, encodes four bits of data.
PDAT
1110
xxxx
1-byte from keyboard, echoes four data bits of RQPD.
RQID
0010
0000
1-byte ARM request for keyboard ID.
KBID
10xx
xxxx
1-byte from keyboard encoding keyboard ID.
KDDA
1100
xxxx
New key down data. Encoded Row (first byte) and column (second byte) numbers.
KUDA
1101
xxxx
Encoded Row (first byte) and column (second byte) numbers for a new key up.
RQMP
0010
0010
1-byte ARM request for mouse data.
MDAT
0xxx
xxxx
Encoded mouse count, X (byte1) then Y (byte2). Only from ARM to keyboard.
BACK
0011
1111
ACK for first keyboard data byte pair.
NACK
0011
0000
Last data byte ACK, selects scan/mouse mode.
SACK
0011
0001
Last data byte ACK.
MACK
0011
0010
Last data byte ACK.
SMAK
0011
0011
Last data byte ACK.
LEDS
0000
0xxx
bit flag to turn LED(s) on/off.
PRST
0010
0001
From ARM, 1-byte command, does nothing.
AMAC
0101
0xxx
Set mouse acceleration rate, encoded.
SDFN
0110
10df
d - Select/deselect PC-direct mode. f - Select/deselect FN mode processing (1=select)
t
x is a data bit in the Code; e.g. xxxx is a four bit data field
Acknowledge codes
There are seven acknowledge codes which may be sent
by the ARM. RAK1 and RAK2 are used during the reset
sequence. BACK is the acknowledge to the first byte of a
2-byte keyboard data set. The four remaining types,
NACK/MACK/SACK and SMAK, acknowledge the final
byte of a data set. NACK disables key scanning and
therefore key up/down data transmission as well as
setting the mouse mode to send data only on RQMP
request. SACK enables key scanning and key data
transmission but disables unsolicited mouse data. MACK
disables key scanning and key data transmission and
enables the transmission of mouse count values if either
X or Y counts are non-zero. SMAK enables key scanning
and both key and mouse data transmission. It combines
the enable function of SACK and MACK.
While key scanning is suspended (after NACK or MACK)
any new key depression is ignored and will not result in a
key down transmission unless the key remains down
after scanning resumes following a SACK or SMAK.
Similarly, a key release is ignored while scanning is off.
Commands may be received at any time. Therefore,
commands can be interleaved with acknowledge replies
from the ARM, for example keyboard sends KDDA (first
byte), keyboard receives command, keyboard receives
BACK, keyboard sends KDDA (second byte), keyboard
receives command, keyboard receives SMAK. If the
HRST command is received the keyboard immediately
enters the restart sequence. The LEDS and PRST
commands are normally acted on immediately.
Commands which require a response are held pending
until the current data protocol is complete. Repeated
commands only require a single response from the
keyboard.
Table 1.8: ARM commands
Mnemonic
HRST
LEDS
The keyboard micro-controller is also connected to a
PS/2-compatible 6-pin mini-DIN keyboard socket.
Periodically (about every 2s) it will check for the
presence of an external PS/2 type keyboard. It does this
by sending out an ECHO command and testing for a
valid response. If such a response is received, the microcontroller will take keyswitch data from the external
keyboard in preference to the internal keyswitch matrix.
All keyswitch codes from the external keyboard are
converted to RISC OS-compatible codes. LED updates
from the ARM system are translated and passed onto the
external keyboard. The auto-repeat function of a PS/2
keyboard is disabled by the micro-controller.
If communication with the external keyboard fails for any
reason (e.g. if it is unplugged) the micro-controller will
resume scanning of the internal matrix.
The conversion of PS/2 keyboard keyswitch codes into
RISC OS keyboard codes can be disabled with the
SDFN command. When this command is issued, data
sent by the ARM processor will be passed unmodified to
the external PS/2 keyboard and vice-versa. An external
PS/2 keyboard does not affect mouse operation.
The micro-controller is capable of detecting whether the
external keyboard is a PS/2 keyboard or an Archimedestype keyboard, although Archimedes keyboards are not
currently supported. If it is an Archimedes keyboard, it
switches to a bit copy mode — it becomes a bidirectional buffer passing on the bit-stream from IOC to
the external Archimedes keyboard and vice-versa. If the
external Archimedes keyboard is unplugged, the microcontroller detects this and returns to normal operation.
While an Archimedes keyboard is plugged in, the microcontroller can no longer monitor the mouse. Instead, the
mouse must be plugged into the Archimedes keyboard.
In addition, the RESET switch on the Archimedes
keyboard will NOT function.
Function
Reset keyboard.
Turns keyboard LEDs on/off. A three bit field indicates
which state the LEDs should be in. Logic 1 is ON, logic 0
(zero) OFF.
D0 controls CAPS LOCK
D1 controls NUM LOCK
D2 controls SCROLL LOCK
RQMP
RQID
Request mouse position (X,Y counts).
PRST
Reserved for future use, the keyboard controller
currently ignores this command.
RQPD
External keyboards
Request keyboard identification code. The computer is
manufactured with a 6-bit code to identify the keyboard
type to the ARM. Upon receipt of RQID the keyboard
controller transmits KBID to the ARM.
For future use. The keyboard controller will encode the
four data bits into the PDAT code data field and then
send PDAT to the ARM.
AMAC
Sets acceleration rate for FN mode simulated mouse
movement.
SDFN
Allows FN mode processing to be disabled and allows
PC keycode conversions disabled (see External
keyboards below).
Mouse interface
The mouse interface has three switch sense inputs and
two quadrature encoded movement signals for each of
the X axis and Y axis directions. Mouse key operations
are debounced and then reported to the ARM using the
Acorn key up / key down protocol. The mouse keys are
allocated unused row and column codes within the main
key matrix.
Switch 1 (left)
Switch 2 (middle)
Switch 3 (right)
Row code - 7
Column code - 0
Row code - 7
Column code - 1
Row code - 7
Column code - 2
For example, switch 1 release would give 11010111 (
&D7) as the complete row code, followed by 11010000 (
&D0) for the column code.
Note: Mouse keys are disabled by NACK and MACK
acknowledge codes, and are only enabled by SACK
and SMAK codes, i.e. they behave in the same way as
the keyboard keys.
Table 1.10: Direction of movement
Initial state
Next state
REF
DIR
REF
DIR
1
1
1
0
1
0
0
0
Increase count by one
for each change of state.
The mouse is powered from the computer 5V supply
and may consume up to 80mA.
0
0
0
1
0
1
1
1
Movement signals
1
1
0
1
0
1
0
0
Decrease count by one
0
0
1
0
for each change of state.
1
0
1
1
Each axis of movement is independently encoded in two
quadrature signals. The two signals are labelled
REFerence and DIRection (eg X REF and X DIR). Table
1.10 defines the absolute direction of movement.
Circuitry in the keyboard decodes the quadrature
signals and maintains a signed 7-bit count for each axis
of mouse movement.
When count overflow or underflow occurs on either axis,
both X and Y axis counts lock and ignore further mouse
movement until the current data has been sent to the
ARM.
Table 1.9: Base keyswitch mapping
Notes:
Items in bold occur in FN mode, or when pressed in
conjunction with the FN key.
NK
numeric keypad
LHS
lefthand side
RHS
righthand side
Overflow occurs when a counter holds its maximum
positive count (0111111 binary). Underflow occurs when
a counter holds its maximum negative count (1000000
binary).
Floppy disc drive
Link settings
The floppy disc drive fitted to the computer supports both
3.5 inch double-sided double-density and 3.5 inch
double-sided high-density floppy discs.
Pin assignment:
Performance
Item
Specification
Drive type
Capacity
Transfer rate
SMD-1040-321 (Epson)
1 MB/2MB (unformatted)
500/250kbs-1
Track density
135TPI
160
No. tracks/disc (doublesided)
Track to track step rate
Seek settle time
Power supply
Maximum continuous power
(typical)
Disc life
Average seek time
Average latency
Error rates
3ms
15ms
+5Vdc (± 5%)
3W
3x106 passes/track @ 300rpm
95ms
100ms
1 in 109 recoverable read
errors
1 in 1012 non-recoverable
read errors
1 in 106 seek errors
MTBF
I/P signal levels
Logic 0
Logic 1
O/P signal levels
1KOhm load to +5V
Logic 0
Logic 1
15,000 POH, 12.5% spindle
motor duty cycle
0.4V max
2.5V min
0.4V max
2.4V min to 5.25V max
The floppy disc drive has a cut-out in its casing, through
which you can see a link. The jumpers should be set to
the "MODE 1" positions as follows:
Operation of interface
Hardware
The floppy disc section of the 711 controller comprises a
765 floppy disc controller, which is widely used in IBM
PCs (and compatibles).
There are several differences in operation between the
711-based interface and the interface based around the
1772 floppy disc controller (used in older Archimedes
machines).
Software
The new RISC OS driver supports the MultiFS
specification, thereby allowing RISC OS to read/write
discs in a hardware-independent manner from virtually
any computer system supporting IBM/ISO compatible
disc formats.
In keeping with the original 1772 driver software, it is
possible to *Configure step rates of 2, 3, 6 or 12ms on a
drive-by-drive basis. However, the step rates provided by
the 765 controller depend on the data clock rate selected
and it is not always possible to set exactly the step rate
configured. Note that in single and double density modes
selection of the 12ms step rate actually results in a 26ms
rate being used. The following table shows the configured
and actual step rates used for various data clock rates (in
kbs-1):
Actual step rate (ms)
The 711 supports both MFM and FM recording. Older
Acorn formats (as well as IBM formats) can be read,
written and formatted as listed below. In addition, a new 1.
6Mbyte ADFS F format is supported at a data rate of
500kbs-1. This format has 10 x 1024 byte sectors per
track (each side) with a 1 sector skew between both
surfaces of the disc.
Formats supported
• ADFS F, MFM 500kHz (read/write/format)
• ADFS L, D and E, MFM 250kHz, (read/write/format)
• BBC Master 128 ADFS S and M, MFM 250kHz (
read/write)
•
DFS, FM 125kHz (requires a DFSReader utility to
read/write)
Configured
step rate (ms)
125
(kbs-1)
250
(kbs-1)
300
(kbs-1)
2
2
2
1.7
2
500
(kbs-1)
3
4
4
3.3
3
6
6
6
6.7
6
26
26
12
25
12
Hard disc drive
The hard disc drive used on the computer is a 2.5 inch
IDE (Intelligent Drive Electronics) drive and has the
following typical performance parameters:
Capacity
60MB
Power supply
+5V
Ave. seek time
Start/stop cycles
Spin up after auto spin
down
Stop time
MTBF
Error rates
25ms max
40,000 min
l0s typical
(20s max)
5s max
50,000 POH
< 1 in 1010 recoverable read errors
< 1 in 1013 non-recov. read errors
< 1 in 106 seek errors
Power consumption:
read/write
idle
spin-up
standby
sleep
2.5W max
1.5W max
0.4W max
0.25W max
This type of drive is used increasingly in PC-AT
computers and an official standard describing the
hardware and software interface has recently been
agreed by the CAM (the Common Access Method)
Committee. The hard disc controller of an IDE drive is
integrated into the circuit board of the drive so that the
interface to the computer is very simple:
command. Being intelligent, IDE drives possess features
which result in faster operation and more efficient storage
of data. For example, many have a buffer memory which
they use to cache several sectors of data during reads and
writes. They also invariably perform logical to physical
sector translation and so can take advantage of recording
techniques (e.g. zoned recording).
The IDE interface is essentially an extension of the
computer's internal data, address and control buses.
Because of this, the cable length is kept to a minimum.
The RISC OS IDE driver software adheres as closely as
possible to the CAM recommendations. It does not
implement any of the Multiple commands which allow
multiple sector operations with a single interrupt since
many drives do not as yet support these commands.
Disc transfers are performed one sector/interrupt with
individual sectors being transferred to/from disc at a rate
of approx. 2.4MBs-1. Figure 1.10 on page 1-21 shows a
sector write to disc (using a VGA monitor in mode 27).
Continuous large file transfer rates of 500 to 700kbs-1
can be sustained in all screen modes.
There is no separate filing system for the IDE drive. It is
assigned an ADFS drive number (usually 4).
Econet (optional network
connection)
The A4 Econet interface module (ALA66) is based on the
existing Econet II (ADF10) design. It is a repackaged
design using surface mount technology and incorporates
additional circuitry for providing a power down feature.
Econet General
Econet is a low cost synchronous differential clock and
data communication channel. Each station has an
interface based on the 68B54 Advanced Data Link
controller. This is an intelligent peripheral device used to
transmit and receive data packets over the
communications channel between two or more computers
using a Bit Orientated Protocol. The ADLC converts
parallel to serial data and constructs the packets sent
over the network. Its functions include automatic
generation of opening and closing flags, Cyclic
Redundancy Check calculations/checking and zero
insertions and deletions.
The 68B54 drives the channel using differential line
drivers. High speed comparators and monostable
elements provide the receive/collision detect function.
The IDE interface can support one drive which is known
as the Master. Like SCSI, the IDE interface is a logic level
interface. Drives accept high level commands (e.g. Read
Sector) and generate an interrupt on completion of a
Parallel port
The parallel port is an IBM PC-XT/AT compatible port
and also has a PS/2 like bi-directional capability. It can
be configured via software for output only (printer
application) or input/output (e.g. scanner application).
Connector: 25 way D (Female on the computer)
Pin
Signal
1
/STROBE
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 to 25
DATA 0
DATA 1
DATA 2
DATA 3
DATA 4
DATA 5
DATA 6
DATA 7
/ACK
BUSY
PE
SLCT
/AUTOFD XT
/ERROR
/INIT
/SLCT IN
GND
Direction/
Type
O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I
I
I
O
O
I
O
O
Many printers work with a subset of the signals available,
for example: STROBE, ACK, BUSY and the 8 data lines.
Base address for the PC I/O system is 3010000H. The
offset into this area for the printer port is 4* 278H = 9E0H
Therefore the printer port base address is 30109E0H.
The printer port has three registers:
Data Latch:
Printer Base address + 4 * 00H = 30109E0H
Status Register:
Printer Base address + 4 * 01H = 30109E4H
Control Register:
Printer Base address + 4 * 02H = 30109E8H
Note: These addresses are for byte accesses.
Data Latch
Read / Write register for printer data. In normal mode,
data written to this register is put onto the data pins to the
printer. Data read from this address is the data that is on
the printer port data pins.
Status Register
Read only register.
Bit
Bit 7
Signal
/BUSY
Meaning
This bit reflects the INVERTED state of the
BUSY input pin. Note: The signal is
inverted. ie Read a 0 when the pin is high. A
0 means the printer is busy and cannot
accept data.-A 1 means that the printer is
ready to accept data.
Bit 6
/ACK
This bit reflects the state of the /ACK input
pin. A 0 means that the printer has received
a character and is ready to accept another.
A printer would normally pulse this pin low
when it is ready to receive the next character. The rising edge of this signal will latch a
pending interrupt.
Bit 5
PE
Paper Empty. This bit reflects the state of
the PE input. A 0 indicates the presence of
paper. A 1 indicates a paper end condition.
Bit 4
SLCT
This bit reflects the state of the SLCT input
pin. A 0 means the printer is not selected. A
1 means the printer is on line.
Bit 3
/ERROR This bit reflects the state of the /ERROR
input. A 0 means that an error condition has
been detected. A 1 indicates no errors.
Bits
2-0
Reserved
Figure 1.10: Sector write to disc
Figure 1.11: Parallel port control signals
Control Register
Read / Write register.
Bit
Signal
Meaning
Bit 7-6 Reserved
Bit 5
DIR
Data direction. Valid only in extended
mode. A 0 for output. A 1 for input. Recommendation: Write a 0 for normal use.
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
IRQEN
/SLCTIN
/INIT
Used in a PC system to enable interrupts.
On some Acorn systems the state of this
bit is ignored. Hardware reset to 0. Recommendation: Always write a 1. Interrupt
disabling should be done in IOC.
Used to drive the /SLCTIN output pin. A
hardware reset sets the register to 0 and
the pin high. A 1 selects the printer.
Used to drive the /INIT output pin. A
hardware reset sets the register to 0 and
the pin low. A 0 initializes the printer. (Set
low for 50µS minimum)
/AUTOFD Used to control the /AUTOFD output pin.
Note: Writing a 1 sets the pin low. A hardware reset sets the register to 0 and the
pin high. A 1 causes the printer to generate a line feed after each line is printed. A
0 means no autofeed.
/STROBE Used to control the /STROBE output pin.
A hardware reset sets the register to 0
and the pin high. A 1 in this bit generates
an active low output. For normal printing,
the data should be setup at least 0.5µs
before strobe.
metres of cable). Operation at baud rates greater than
19200 baud (which the UART can generate as detailed
below) may even be possible over short cable lengths
and under light line driver loading.
The 16450 UART potentially allows all the baud rates
shown in the table below to be programmed, although
currently the operating system does not support the two
highest baud rates.
Baud Rate
Percentage error
50
110
134.5
150
The serial port is controlled by the 711 which contains a
NS16450 compatible UART. The serial port is an
asynchronous serial interface which uses a 9-way D-type
connector.
Pin
Signal
1
DCD I/P
2
RXD O/P
3
TXD O/P
4
DTR O/P
5
0V
6
DSR I/P
7
RTS O/P
8
CTS I/P
9
RI I/P
The line drivers and receivers meet all the EIA RS-232C
and CCITT V.28 specifications. In particular, the line
driver meets the minimum RS-232/V.28 output voltage
swing of ±5V when all outputs are driving the 3K
minimum allowable load impedance. The line driver's
characteristics ensure reliable operation at 19200 baud
provided that the load capacitance does not exceed the
RS-232/V.28 recommended limit of 2500pF (i.e. several
0.004
*
300
600
1200
1800
2000
0.005
2400
3600
4800
7200
9600
19200
38400
56000
Serial port
0.001
75
0.030
* indicates 0.002% error
The UART's programmable baud rate generator uses the
711 24MHz crystal oscillator which it divides by 13 to
produce a 1.8462MHz clock. This is further divided by the
transmitter and receiver sections of the UART to produce
the baud rate selected. The same baud rate is used for
both receiving and transmitting serial data (i.e. split baud
rates are not supported).
Other programmable features of the UART include:
• 5 to 8-bit character size
•
1, 1.5 or 2 stop bits
• parity options
For backwards compatibility the software interface is an
extended version of that used on older RISC OS
computers which use the 65C51 UART. The 711 contains
two serial interfaces. The second is not used.
Power supply system
computer unit to the DC/DC converter (via the ON/OFF
switch) and the other (UBATT) being converted into a
switchable rate current source within the power adapter.
The current source is used to charge the battery, with the
charge rate being controlled by the BMU via control
signals on the 9 pin power connector.
Circuit Description
The heart of the battery management system is an
Hitachi HD404304F 4 bit micro-controller. The main
features of this device are:
The power supply system for a portable computer is
considerably more complex than that of a conventional
desktop computer. It must capable of supplying power to
the computer from either an external power adapter or
the internal battery, switching smoothly between the two
as necessary, monitoring the state of the battery and
controlling the battery charging process whenever an
external power adapter is connected.
Both the battery and the external power adapter supply a
voltage much higher than the 5 volts required for the
system logic and hence a DC/DC converter is used to
produce the required system voltage.
When the external power adapter is connected the
internal battery will be charged from a constant current
source built into the external power adapter. The charging
process is monitored and controlled by a single chip
micro-controller (BMU) which functions independently of
the main ARM CPU.
• 4K x 10bit program ROM
• 96 nybbles user RAM
• Two 8-bit timers
• 4 channel 8-bit a/d converter
• 16 level stack
• 5 prioritised interrupts
• Very low power 'Stop mode'.
For further details, refer to the manufacturer's datasheet (
see page iv).
The A/D system is used to monitor battery voltage,
battery current and battery temperature. These three
parameters determine the action of the BMU (Battery
Management Unit). In addition to the three analogue
inputs the BMU has several other digital control input and
output signals:
Port
Signal
Function
R0.0
LCD20
'Gas-gauge 20%' segment drive
R0.1
LCD40
'Gas-gauge 40%' segment drive
R0.2
LCD60
'Gas-gauge 60%' segment drive
R0.3
LCD80
'Gas-gauge 80%' segment drive
When the external power adapter in not connected power
is supplied by the battery. The BMU monitors the
discharge current and displays the calculated charge
remaining in the battery on the five segment LCD 'gasgauge'. Battery voltage is also monitored and the host
system is alerted via interrupts when it drops below predetermined thresholds.
R1.0
LCD100
'Gas-gauge 100%' segment drive
Battery status information is passed to the ARM via the I2
C bus. Control information can also be passed from the
ARM to the BMU via the 12C bus.
WARNING!
Writing erroneous data to the BMU could cause
overcharging of the battery and a resultant reduction in
battery life. Details of the software interface to the BMU
are given in the RISC OS 3 Programmer's Reference
Manual.
R2.3
R1.1
Not used, connected to ground
R1.2
Not used, connected to ground
R1.3
LCDCOM
'Gas-gauge' common connection
R2.0
LIDSWITCH
Detect lid closed or open
R2.1
Not used, connected to ground
R2.2
Not used, connected to ground
R3.0
Not used, connected to ground
RESETBLK
R3.1
Prevent further reset pulses (see below)
Not used, open circuit
R3.2
SDA
12C bus data (interrupt input)
R3.3
SCL
12C bus clock
D0
LOWBAT
Low battery warning LED drive
D1
CHARGE
Battery-on-charge LED drive
D2
SCL
12C bus clock
D3
SDA
12C bus data
D4
CRSEL1
Charge rate select
D5
CRSEL2
Charge rate select
D6
HOSTINT
Host interrupt
External Power Adapter
D7
HOSTSW
Detect state of main power switch
The external power adapter converts the AC mains
supply to a low voltage (typically 25V) dc supply. The
regulated dc supply then splits into two separate
supplies, a 21 V supply (UMAIN) directly into the
D8
BMUSER
Serial debug data output
D9
UMAIN
Detect presence of charger
D10
SUPP12
Switch on 12V supply for op-amps
D11
D12
MAINON
Enable DC/DC converter
Not used, open circuit
Analogue signal inputs
Battery Current
All three analogue signals are pre-processed by
operational amplifier stages before being fed into the
BMU A/D converter. All analogue inputs have an input
range of 0V to Vref, where Vref (nominally 5V) is a
buffered version of the BMU Vcc supply. The Vcc supply
for the A/D converter is Vref, this eliminates errors due to
differences between Vref and the supply.
Battery current maybe positive or negative depending on
whether the battery is charging or discharging. A sense
resistor is placed in the battery negative line, the voltage
across which is amplified by an op-amp and fed to the
BMU analogue input. The amplifier stage is biased to half
Vref to give a mid-range reading when battery current is
zero. Use of precision resistors and software selfcalibration eliminates the need for any manual calibration
of the circuit.
Battery Temperature
The battery contains a series connected pair of positive
temperature coefficient thermistors with a nominal
impedance of 2kOhm at 25°C. This is fed from a high
precision (0.1%) 2kOhm resistor from Vref. An op-amp
provides a simple buffer to protect the BMU analogue
input.
Input specification:
Input range: 0°C to 50°C
Resolution: 2°C
Accuracy: 2°C
Figure 1.12: Power control system
Input specification:
Input range: -1300mA to +1300mA
Resolution: 10.3mA
Accuracy: 25mA
Battery Voltage
Battery voltage is fed to a high impedance potential
divider. The output from the potential divider is then fed
through a buffer amplifier stage to protect the BMU
analogue input.
Input specification: Input
range: 0V to +25V
Resolution: 97.7mV
Accuracy: 200mV
Digital Signals
Gas-Gauge
The 'Gas-gauge' displays the calculated charge
remaining in the battery. It is displayed as a percentage
of the nominal usable capacity of the battery (typically
approx. 1650mAH) to a resolution of 20%. The BMU
drives a square wave onto the LCD common and an outof-phase square wave onto the input of the segment to
be 'lit'. The other segments are all driven with an inphase square wave. These square waves are generated
in software with a frequency of approximately 32Hz.
Host System Interrupt
This active low output signal is used to generate an
interrupt in the host system when certain events are
detected by the BMU software. An external transistor
circuit generates an open-collector signal which has a
pull-up resistor to the host system +5V supply.
Host Power Switch Position
When the host switch is closed this signal goes high.
When the host switch is opened this signal goes low. The
state of this signal is regularly scanned by the software.
Serial debug
Lid Switch
The lid switch causes the screen to be switched off
when the lid is closed. This input is fed from a
mechanical switch in the lid assembly. The signal has a
pull-up resistor on it (connected to the main system 5V
supply) and is pulled to 0V when the switch is closed (lid
is closed). The switch is debounced in software with a
debounce period of 1 second.
Reset Blocking
This active low output is used to block further reset
pulses being generated by the low power 555 reset
pulse generator circuit. This is achieved by pulling the
reset input of the 555 low.
I2C Bus signals
Both the I2C data line (SDA) and the I2C clock line (SCL)
are fed to two inputs on the BMU. The D port inputs are
used to provide single instruction bit tests of the state of
the signals. D ports are only able to pull high so the
totem pole outputs of the R3 port are used to drive the I2
C bus signals during a transmit phase of the I2C
protocol. In addition the R3.2 input is also the highest
priority interrupt of the BMU system and is used to
switch the BMU software into I2C transfer processing.
CHARGE and LOW-BATTERY LED drivers
These outputs source the current for the red and green
sections of the tri-colour 'low-battery' and 'on-charge'
indicator LED. Colour selection and flashing is all
controlled in software.
Charge rate select signals
The power adaptor used to charge the A4 battery provides
a current source UBATT with a selectable current level.
The low current level is between 60mA and 70mA (used
for trickle charge) and the higher level is between 320mA
and 380mA (used for quick charge). The active high
charge rate select output signal CRSEL1 is used to select
between the two charge rates. CRSEL1 low is trickle
charge, CRSEL1 high is quick charge.
The contents of the BMU RAM are transmitted in PPM
format on this pin, compatible with the standard Acorn
test adaptor system.
Charger presence
This input signal is used to detect the presence of an
external charger. When a charger is plugged in (and
switched on) this signal will go high.
Op-Amp 12V supply control
To keep quiescent supply current to a minimum when the
BMU is in stop mode the power to the op-amps is
switched off. This active high output allows the BMU to
enable or disable the 12V supply.
DC/DC Converter control
To prevent erratic system behaviour when the battery
voltage gets very low the BMU uses this active high
output to disable the DC/DC converter (and hence
disable the host system 5V supply) at a predetermined
battery voltage level. This also ensures that there is
sufficient potential from the battery to sustain proper
BMU operation.
Reset Pulse Generator
The BMU is able to track the self-discharge of the battery
whether the host system is active or not. This is
necessary in order to maintain a reasonably accurate
estimation of charge remaining in the battery and hence
how much charging is required.
The micro-power 555 timer generates a 10mS active high
reset pulse once each second (±10%). This reset pulse
takes the BMU out of stop mode and it checks for the
presence of a charger or a closed host switch. If neither if
these are true then a simple self-discharge calculation is
carried out and the BMU re-enters stop mode. (NB. The
op-amp 12V supply is not enabled, keeping average
current consumption over a one second period to less than
500µA). If a charger is present or the host switch is closed
then the BMU will activate the reset-blocking signal to
prevent further reset pulses, and begin tracking battery
charge state.
Part 2 — Parts lists
A4 4M + 60MHD final assembly
parts list, issue 4
A4 Econet PCB assembly parts
list, issue 1
A4 display assembly parts list,
issue 2
Appendix A — Monitor adaptor cables
This appendix describes how to make adaptor cables for
monitors not supplied with a 15-way VGA connector.
Adaptor type 1
Adaptor type 3 (AGA52)
The cable supplied with some TV-type monitors is
terminated at the computer end with a 9 pin D-type plug.
You need a 15-way plug to 9-way socket adaptor:
The cable supplied with some Multiscan monitors is
terminated at the computer end with a 9-way D-type
plug. You need a standard 15-way plug to 9-way socket
adaptor:
Note: The HSYNC to ID[0] connection will make the
monitor type 0 modes available and the computer will
generate a composite sync signal.
Note: The ID[0] to 0V connection will make the monitor
type 3 modes available and the computer will generate
separate sync signals.
Cable type 4 (AGA50)
You need to make this cable to use with televisions and
TV-type monitors using a SCART input socket:
Most Multiscan monitors are now being designed to be
VGA-compatible and will work satisfactorily when driven
with separate horizontal and vertical sync signals.
Adaptor type 2
The cable supplied with some Multiscan monitors
requiring composite sync is terminated at the computer
end with a 9 pin D-type plug. You need a 15-way plug to
9-way socket adaptor:
Note: The HSYNC to ID[2] connection will make the
monitor type 1 modes available and the computer will
generate a composite sync signal.
The 220Ohm resistor results in a CSYNC signal of
approximately 1V peak on pin 20 of the SCART
connector. The 75Ohm resistor results in a blanking
signal of approximately 2.5V dc on pin 16 of the SCART
connector.
Cable type 5
You need to make this cable to use with monochrome
Monitors which have a phono input socket. You need a
15-way plug to phono socket adaptor with resistors, to
mix the separate red, green and blue signals into a
composite monochrome signal (you can fit these
components into a 15-way connector shell).
You need to make an adaptor cable that has a 15-way Dtype plug on one end, and a phono plug on the other. The
connections you need to make are as follows:
Note: The HSYNC to ID[0] connection will make the
monitor type 0 modes available and the computer will
generate a composite sync signal.
Appendix B — Expansion bay
The expansion bay is provided for low-power miniature
expansion cards. These cards are mounted in a lid
moulding that clips into the top of the case. The interface
connector has a limited set of signals, due to space
constraints, and has been designed specifically to support
the A4 Econet module. It should not be regarded as a
general purpose expansion slot.
width should be at least 250ms. Output drivers should be
able to sink at least 6mA (1 k2 pull-up plus four LS TTL
gate input loads.)
BD[0:7]
It is recommended that these lines are buffered prior to
use on an expansion card (see below).
Interface
Power available
Details of other signals
LA[2:5]
It is recommended that the expansion card draws no
more than 200mA @ 5V continuous, to avoid excessive
heating within the A4 unit. It is also recommended that
peak currents are limited to 400mA. This is particularly
important at machine power-on when the charger unit
may have to supply current to charge a flat battery, spin
up discs etc.
Addressing 16 register locations.
CLK2
Using the power control signal
2MHz clock derived from the main I/O clock. When
programmed for a synchronous cycle this signal can be
used as ECLK for communications with 6800 peripherals (
see the Econet circuit diagram in Appendix C —
Engineering drawings).
It is strongly recommended that when not in use the
expansion card is powered down to conserve battery life.
To ensure that the expansion circuitry is protected when
powered down, isolation buffers are needed. A scheme
for isolating the Econet circuitry and switching the 5V rail
is shown on the Econet circuit diagram in Appendix C —
Engineering drawings.
Write buffer enable. This signal, generated by IOC,
enables the on board write buffers during an IOC
controlled cycle and is used as a read/write strobe on the
Econet upgrade. (See 10C data sheet for timing details)
Active low FIQ used for Econet upgrade. Appears as bit 2
FIQ status register 3200030. This signal has a 4k7
resistive pull-up on the main PCB.
Mechanical issues
Figure B.1 shows the outline of the Econet module PCB.
This outline should be followed to ensure a fit with the
cover moulding (Acorn part number 0191,087/T).
Figure B.2 shows the insulation sheet (Acorn part number
0290,062) that needs to be provided between the PCB
and the lid assembly.
Active low IRQ, appears as bit 5 in the IOC IRQ status
register B address 3200020. This signal has a 4k7
resistive pull-up on the main PCB.
Connector information
Podule read write strobes used to manipulate data during
programmed I/O cycles. (See IOC data sheet for timing
details).
The internal Econet upgrade cable (Acorn part number
0190,078/A) uses two 26-way connectors. For the pin out
of the internal connector, see Plugs on page 1-26. The 5pin mini-DIN to 5-pin DIN Econet lead (2m) is Acorn part
number 0190,068/T.
System reset. Open drain signal driven by IOC at power
up and by IOEB when the reset button is pressed. This
signal can be driven by the expansion card. The pulse
Figure B.1: Outline of Econet Module PCB
Figure B.2: Econet insulation sheet
Appendix C — Engineering drawings
• Main PCB component reference
The following drawings are contained in plastic wallets:
• Final assembly drawings (base and display)
• Main PCB circuit diagram
• Econet PCB circuit diagram
Reader's Comment Form
Acorn A4 Technical Reference Manual
We would greatly appreciate your comments about this Manual, which will be taken into account for
the next issue:
Did you find the information you wanted?
Do you like the way the information is presented?
General comments:
Cut out (or photocopy) and post
to:
Dept RC, Technical Publications
Acorn Computers Limited
645 Newmarket Road
Cambridge CB5 8PB
England
Your name and address :
This information will only be used to get in touch with you in case we wish to explore your
comments further

Documentos relacionados

ACORN A4 This portable Archimedes, with RiscOS 3.0 and 4Mb

ACORN A4 This portable Archimedes, with RiscOS 3.0 and 4Mb slower peripheral bus. The ARM is a RISC processor with a 4K on-chip cache and a 32-bit data bus, but it lacks any floating-point hardware. MEMC handles the 4Mb RAM array, translating and checking ...

Más detalles