throbber
IOC Datasheet
`
`Part No 0460,018
`Issue No 1.0
`30 September 1986
`
`_,
`i
`
`·.~
`
`1
`
`•
`
`I
`
`II ·-
`
`SCEA Ex. 1053 Page 1
`
`

`
`© Copyright Acorn Computers Limited 1986
`
`Neither the whole nor any part of the information contained in, or the product described in, this manual may be
`adapted or reproduced in any material form except with the prior written permission of the copyright holder.
`
`The product described in this manual is subject to continuous developments and improvements. All particulars of the
`product and its usc contained in this manual are given by Acorn Computers in good faith. However, all warranties
`implied or expressed, including but not limited to implied warranties or merchantability or fitness for purpose, are
`excluded.
`
`This manual is intended only to assist the reader in the usc of the product. Acorn Computers shall not be liable for any
`loss or damage arising from the use of any information in this manual, or any error or omission in such information, or
`any incorrect usc of the product.
`
`ISBN 1 85250 026 3
`
`Published by:
`Acorn Computers Limited, Fulbourn Road, Cherry Hinton, Cambridge CB 1 4JN, UK
`
`II
`
`IOC Datasheet
`
`·. •; '"'
`
`(!"J
`
`i
`~~
`I
`~- _I I @II
`I
`~I I
`@!;~ l
`I
`
`SCEA Ex. 1053 Page 2
`
`

`
`2
`3
`4
`5
`7
`8
`8
`8
`9
`10
`10
`10"
`11
`11
`11
`11
`11
`12
`12
`12
`12
`12
`12
`13
`13
`14
`14
`15
`15
`16
`16
`16
`17
`17
`17
`17
`18
`19
`19
`19
`19
`19
`19
`19
`20
`21
`22
`22
`23
`
`iii
`
`Contents
`
`1. Introduction
`2. Block diagram
`3. Functional Diagram
`4 .. Description of Signals
`5. Programming Model
`5.1 Access Speed
`5.2 Addresses
`5.3 Data
`6. Internal Registers
`6.1 Control Register
`6.1.1 Control register read
`6.1.2 Control register write
`6.2 Keyboard Asynchronous Receiver Transmitter (KART)
`6.2.1 Serial Tx Data regi:ster write
`6.2.2 Serial Rx Data read
`6.2.3 Initialisation
`6.2.4 Receive Interrupt
`6.3 Interrupt Registers
`6.3.1 Internal Interrupt Events
`6.3.2 External Interrupt Events
`6.3.3 Level Interrupts
`6.3.4 Latched Interrupts
`6.3.5 Synchronisation
`6.3.6 IRQ Status A register read
`6.3.7 IRQ Status B register read
`6.3.8 FIQ Status register read
`6.3.9 IRQ Clear register write
`6.3.10 Interrupt Request registers read
`6.3.11 Interrupt Mask registers read/write
`6.4 Counters
`6.4.1 Register actions
`6.4.2 Counter schematic
`6.4.3 Counter Registers
`6.4.4 Counters 0 and 1
`6.4.5 Counter 2 (BAUD)
`6.4.6 Counter 3 (KART)
`7. Peripherals
`8. ARM/IO Interface
`8.1 Peripheral Address and Data
`8.1.1 Peripheral Write Cycles
`8.1.2 Peripheral Read Cycles
`8.2 Peripheral Select Lines
`8.3 Multiple 10 Controllers
`8.4 IO Grant Line
`9. Reset and Power-on
`10. IO-Cycle State Machine
`11. DC Parameters
`11.1 Absolute Maximum Ratings
`1 L2 DC Operating Conditions
`
`JOC Datasheet
`
`'U
`
`...
`
`L.
`
`-I
`
`
`
`I
`--'
`
`I
`
`1: -·
`
`, .... -·
`
`-• ·-
`
`SCEA Ex. 1053 Page 3
`
`

`
`'C.-
`
`--
`
`~
`
`11.3 DC Characteristics
`12. AC Parameters
`12.1 Internal Register Read Timings
`12.2 Internal Register Write Timings
`12.3 General Timing For Cycle Types 0, 1 and 2
`12.4 General Timings for Cycle Type 3 (Synchronous)
`12.5 Cycle Types 0, I, 2 Common timing
`I2.5.I Cycle Start
`12.5.2 Cycle End
`I2.6 Read and Write Buffer Enables
`I3. Appendix A
`I Cycle Type 0 Read
`2 Cycle Type 0 Write
`3 Cycle Type I Read
`4 Cycle Type I Write
`5 Cycle Type 2 Read
`6 Cycle Type 2 Write
`7 Cycle Type 3 Read
`8 Cycle Type 3 Write
`14. Packaging
`
`24
`26
`28
`29
`30
`3I
`32
`32
`33
`34
`35
`35
`35
`36
`36
`37
`37
`38
`39
`40
`
`@:
`
`~
`
`(!"···
`
`@1
`
`~~ I
`{!:I
`l
`@• l @-I
`I @ri
`@• @!
`I @:.
`I @•
`I
`~-I
`~-
`
`iv
`
`IOC Datasheet
`
`:, ~.
`
`. ," \
`
`'
`
`.,.
`
`\
`
`. '·
`
`SCEA Ex. 1053 Page 4
`
`

`
`SCEA Ex. 1053 Page 5
`
`

`
`1. Introduction
`
`The Input Output Controller (IOC) is a member of the Acorn RISC Machine (ARM) support chip set, and
`interfaces directly with the Memory Controller (MEMC) and the Video Controller (VIDC) to provide a
`unified view of interrupts and peripherals within an ARM based system. IOC manages an 8 to 32 bit IO
`data bus to which peripheral controllers may be connected, provides a set of internal functions, and controls
`the access cycles to the external peripherals. The internal functions include timers, a serial keyboard
`interface, and interrupt control logic to satisfy the basic requirements of a computer system. The peripheral
`timing cycles allow standard peripheral controllers from a wide range of manufacturers to be interfaced
`without any additional logic. A flexible control port offers a number of general purpose input/output pins.
`
`FEATURES
`
`(!:.
`
`~
`~
`
`~~·
`
`~
`
`Bi-directional serial keyboard interface
`
`6 Programmable bi-directional control pins
`
`Interrupt mask, request and status registers for IRQ and FIQ
`
`* Power-on Reset Control
`*
`4 independent 16 bit programmable counters
`*
`*
`*
`*
`*
`*
`*
`7 external peripheral selects
`* ARMJIO bus interface control
`* Expansion bus buffer control
`* Fabricated in CMOS for low power consumption
`
`14 level-triggered interrupt inputs
`
`2 edge-triggered interrupt inputs
`
`4 programmable peripheral cycles
`
`2
`
`IOC Datasheet
`
`SCEA Ex. 1053 Page 6
`
`

`
`tl
`
`J
`
`2. Block diagram
`
`R
`E
`F
`8
`M
`
`R
`C w s
`I
`
`I
`I
`0
`0
`R W
`B G R
`L T
`0 T(0:1] E E
`
`CLK8
`CLK2
`WBE
`
`RBE
`
`STATE
`Machine
`
`A(2:6]
`
`Register Decoder
`
`8(0:2]
`
`Bank
`Decode
`
`KART
`control
`
`T
`I
`m
`e
`r
`0
`
`T
`i
`m
`e
`r
`1
`
`T
`i
`m
`e
`r
`2
`
`T
`i
`m
`e
`r
`3
`
`IL(0:7]
`
`IF
`
`IR
`
`FH(0:1]
`
`FL
`
`POR
`
`S(1 :7]
`
`SEXT
`
`KIN
`
`KOUT
`
`C[O:S]
`
`RST
`
`JOC Datasheet
`
`3
`
`-'
`
`i
`
`-.
`I
`
`..
`~·
`
`•
`
`-•
`
`SCEA Ex. 1053 Page 7
`
`

`
`3. Functional Diagra1n
`
`I'
`
`ARM
`Interface
`
`A <
`
`-
`
`--
`
`"I(
`
`Data Bus
`Buffer
`Control
`
`MEMC
`Interface
`
`[
`
`"""'
`
`Power [
`
`"Y
`
`...
`)
`...
`)
`...
`)
`)
`" ......
`
`A[2:6]
`
`B[0:2]
`
`T[O:l]
`
`D[0:7]
`rs
`R/W
`
`TIL
`
`WllE
`
`RBE
`
`IOGT
`
`REFSM
`wi«5
`
`-..
`
`IRQ
`
`FIQ
`
`VDD(2)
`
`VSS (2)
`
`......
`
`-RST
`
`IOC
`
`CLK8
`CLK2
`BAUD
`
`srt:7l
`
`~
`
`K rr~ro:7l
`
`IF
`IR
`
`A
`
`K FH[O:ll
`" FL
`
`......
`
`SEXT
`RE
`wr~
`
`A
`
`C[O:S]
`
`-y
`
`KOUT
`
`KIN
`
`POR
`
`4
`
`IOC Datasheet
`
`J Peripheral timing
`
`Clocks
`
`Peripheral
`Selects
`
`Peripheral
`Interrupt
`Inputs
`
`timing
`
`General 10 Port
`
`J Peripheral Data
`J Keyboard
`
`Interface
`
`Power ON Control
`
`~·
`
`~~
`
`~I
`I
`~_I l
`
`~~I
`[
`
`-
`
`I
`
`~~ i
`~
`
`SCEA Ex. 1053 Page 8
`
`

`
`'
`
`•
`
`{'
`
`I
`
`t
`
`---
`1
`
`I
`
`.a
`
`4. D-escription of Signals
`
`18-25
`
`IOCZ Bi-directional 3-state data bus for accesses to the internal registers.
`
`Type Description
`
`IC
`
`OC
`
`8 MHz reference clock. The timings of all interface signals to ARM and
`MEMC are referenced to this clock.
`
`8 MHz clock for external peripherals. This is REF8M buffered and
`inverted.
`
`OC
`
`2 MHz clock for external synchronous peripheral timing.
`
`IC
`
`OD
`
`IO cycle request. A LOW on this input indicates that the ARM is
`performing an IO cycle.
`
`IO cycle grant. An IO cycle is complete cycle when IOGT and
`IORQ are both LOW on a rising edge of REFSM.
`
`OD
`
`Buffer latch control for the ARM/IO data.
`
`OC
`
`Read Buffer Enable. This is taken LOW during a read of any IO
`Controller or peripheral.
`
`OC Write Buffer Enable. This is taken LOW during a write to any IO
`Controller or peripheral.
`
`OC
`
`IC
`
`IC
`
`IC
`
`Select external peripheral. This may be used to control an optional
`external data buffer which may be placed between IOC and the IO bus if
`the bus is heavily loaded . It is active for any IOC peripheral access.
`
`Type lines. These are used to specify the timing characteristics of any
`peripheral access.
`
`Not read/write. This line determines the direction of data transfer in an
`IO cycle: LOW to read or HIGH to write an IO device.
`
`Bank select lines. These arc used to select an IO access either to an
`internal IOC register (ll[0:2]=0) or to a peripheral (ll[0:2]>0). ll[0:2)are
`decoded to drive one of the peripheral select lines, S[1:7], LOW.
`
`Active low peripheral selects which indicate valid address and write data.
`They arc decoded from ll[0:2]
`
`Chip select. When HIGH allows internal register and peripheral accesses
`to be performed. Even when LOW, IOC continues to control the RBE
`and WBE lines.
`
`Name
`
`Pin
`
`REF8M
`
`8
`
`CLK8
`
`54
`
`CLK2
`
`IORQ
`
`llL
`
`D[0:7)
`
`RllE
`
`SEXT
`
`2
`
`7
`
`6
`
`5
`
`11
`
`12
`
`55
`
`T[O:l)
`
`1,68
`
`RJW
`
`10
`
`ll[0:2)
`
`64-66
`
`S[1:7]
`
`63-61,59-56 OC
`
`cs
`
`67
`
`IC
`
`A[2:6)
`
`13-17
`
`IC
`
`Address lines for selecting internal registers.
`
`RE
`
`WE
`
`IRQ
`
`FIQ
`
`4
`
`3
`
`51
`
`50
`
`IL[0:7]
`
`33-40
`
`OC
`
`Read enable, used to time peripheral read accesses.
`
`OC Write enable, used to time peripheral write accesses.
`
`OD
`
`OD
`
`IT
`
`Interrupt request to ARM.
`
`Fast Interrupt request to ARM.
`
`IRQ interrupt active low inputs.
`
`IOC Datasheet
`
`5
`
`SCEA Ex. 1053 Page 9
`
`

`
`Chapter 4
`
`IF
`
`IR
`
`41
`
`42
`
`FH[O:l]
`
`30-31
`
`FL
`
`C[0:5]
`
`llAUD
`
`KIN
`
`KOUT
`
`POR
`
`32
`
`44-49
`
`27
`
`52
`
`53
`
`28
`
`IT
`
`IT
`
`IT
`
`IT
`
`IRQ interrupt active falling-edge input.
`
`IRQ interrupt active rising-edge input.
`
`FIQ interrupt active high inputs.
`
`FIQ interrupt active low input.
`
`Baud rate generator output.
`
`Control pins. A bi-directional programmable open-drain port.
`
`IOD
`oc
`IT
`Keyboard Serial interface input.
`oc Keyboard Serial interface output.
`IS
`Power-on reset input, usually connected to an external RC network. It is
`used to generate a reset pulse at power-on and to differentiate power-on
`from subsequent causes of reset.
`
`RST
`
`29
`
`IOD The reset line is driven low by POR
`low externally at any time.
`
`at power-on and may be driven
`
`vss
`VDD
`
`9,43
`
`26,60
`
`PWR Ground supply
`
`PWR Positive supply
`
`Key to Signal Types
`Input CMOS compatible
`IC
`Input TIL compatible
`IT
`IS
`Input with Schmitt trigger
`OC
`Output CMOS compatible
`OD
`Output open-drain
`IOD
`Bi-direction open-drain
`IOCZ
`Bi-directional 3-stnte
`Power pins
`PWR
`
`6
`
`!OC Datasheet
`
`\.."· -~ ..... ' ·: .'
`
`@
`
`@
`
`~-
`
`~:
`I
`-
`I
`
`f!!.l @!
`~~
`(
`@; 1
`-- I
`~~I I
`~~I
`I
`
`SCEA Ex. 1053 Page 10
`
`

`
`: .•
`
`5. Programming Model
`
`If the Bank ll[0:2], Type T[O:l], Chip Select CS and Addresses Lines A[2:6] of IOC are joined to the
`CPU address lines, ~he IOC and peripherals are viewed as memory mapped devices. This allows the
`programmer to specify in a single memory instruction the peripheral to be accessed and the type of timing
`cycle it requires. In a typical system as shown in figure 1 the 10 Controller space is devided into two
`halves. The upper half is occupied by IOC, and the lower half is left for additional IO Controllers.
`
`The IOC space is decoded into eight banks, bank zero through seven, by the ll[0:2] lines. The bottom
`bank, bank zero, maps to the internal registers of IOC. The remaining seven banks map to the seven
`peripheral select lines S[1:7] respectively. The seven peripheral banks are each further decoded into four
`types of peripheral access by the T[O:l] lines. (See figure 2.) The type of the peripheral access determines
`the timing of the data transfer cycle.
`
`(.
`
`:
`
`A particular peripheral device may be accessed by choosing an address where CS is HIGH, ll[0:2] decodes
`to the appropriate peripheral select, and T[l:O] selects a cycle with timing to suit the accessed device. The
`remaining low order address lines may be used to select the register within the device.
`
`ARM clock
`
`A[2:21]
`
`RW
`
`0(24:31]
`
`0[16:23]
`
`0[8:15]
`
`0[0:7]
`
`0[0:31]
`
`:?
`
`I
`
`•
`
`IOA[2:6] IOA[16:18] IOA(19:20] IOA[21]
`
`cs
`
`RE
`
`WE
`
`S[1:7J
`
`SEXT
`
`A[2:6] B[0:3] T[0:1]
`
`RW
`
`BL
`
`WBE
`
`RBi:
`
`IOC
`
`0[0:7]
`
`100[0:7]
`
`8
`
`Figure 1: Typical system
`
`IOC Datasheet
`
`7
`
`SCEA Ex. 1053 Page 11
`
`

`
`Chapter 5
`
`T[0:1)
`
`sync
`
`fast
`
`medium
`
`slow
`
`IOC
`
`Expansion
`
`Internal
`Bank 0
`..._ __ __. Registers
`
`Figure 2: Typical Decoding Structure
`
`5.1 Access Speed
`While the peripherals appear as memory mapped devices, it is not possible for accesses to them to be
`completed in the same time as accesses to main memory. Four different access cycle timings are available,
`and the timing for an access is determined from the state of T[O: 1] at the start of the access.
`
`5.2 Addresses
`The pipelined ARM addresses are latched by external buffers to provide valid signals thoughout both 10
`accesses and ROM reads. The latches are controlled by an ARM clock line which is stretched during slow
`cycles.
`
`5.3 Data
`The ARM data bus is connected to the 10 data bus by a set of latches. These provide two functions.
`Firstly they isolate the IO bus load from the main data bus, and secondly they allow for the mis-match in
`speed between the two buses. These buffers are controlled by the BL, RBE and WBE lines from IOC .
`
`8
`
`IOC Datasheet
`
`SCEA Ex. 1053 Page 12
`
`

`
`6. Internal Registers
`
`~~ .I ,
`
`
`
`All internal registers arc accessed with no wait states, and accesses take two REF8M cycles to complete.
`The internal registers arc decoded as bank zero, so to access them the B[0:2] lines must all be LOW and
`the IOC must be selected by taking CS HIGH. The individual registers are then addressed using the A[2:6]
`lines. The registers arc decoded on word boundaries. The state of the T[O: 1] lines is ignored.
`
`Read
`
`I
`I
`I
`I Write
`IAddr.l
`I
`I
`I
`I
`I
`I
`I Control
`I Control
`I OOH
`I 04H I Serial Rx Data I Serial Tx Data
`I -
`I 08H I -
`I -
`I -
`I OCH
`I -
`I lOH I IRQ status A
`I 14H I IRQ request A
`I IRQ clear
`I IRQ mask A
`A
`I 18H I IRQ mask
`I -
`I lCH I -
`I -
`I 20H I IRQ status B
`I 24H I IRQ request B
`I
`I 28H I IRQ mask
`I IRQ mask B
`B
`I -
`I -
`I 2CH
`I -
`I 30H I FIQ status
`I -
`I 34H I FIQ request
`I 38H I FIQ mask
`I FIQ mask
`I 3CH I -
`I -
`I 40H I TO count Low
`I TO latch Low
`I TO latch High
`I TO count High
`I 44H
`command
`I -
`I 48H
`I TO go
`I -
`I TO latch command
`I 4CH
`I Tl count Low
`I Tl latch Low
`I SOH
`I Tl count High
`I Tl latch High
`I 54H
`I 58H I -
`command
`I Tl go
`I -
`I Tl latch command
`I SCH
`I T2 count Low
`I T2 latch Low
`I 60H
`I T2 count High
`I T2 latch High
`I 64H
`I -
`command
`I 68H
`I T2 go
`I 6CH I -
`I T2 latch command
`I 70H I T3 count Low
`I T3 latch Low
`I 74H I T3 count High
`I T3 latch High
`command
`I -
`I 78H
`I T3 go
`I T3 latch command
`I -
`I 7CH
`I
`I
`I
`
`Table 1: Internal register memory map
`
`•
`
`,-~
`
`JOC Datasheet
`
`9
`
`SCEA Ex. 1053 Page 13
`
`

`
`Chapter 6
`6.1 Control Register
`The control register allows the external control pins C[O:S] to be read and written and the st..1tus of the IR
`and IF inputs to be inspected. The C[O:S] bits manipulate the C[O:S] IO Port. When read, they reflect the
`current state of these pins. When written LOW the output pin is driven LOW. These outputs arc open(cid:173)
`·drain, and if programmed HIGH the pin is undriven and may be treated as an input.
`
`On reset all bits in the control register arc set to "1 ".
`
`6.1.1 Control register OOH read
`7
`6
`5
`4
`3
`2
`
`IR
`
`TF I C[5] I C[4] I C[3] I C[2] I C[1] I C[O] I
`
`1
`
`0
`
`6.1.2 Control register OOH write
`5
`4
`3
`7
`6
`2
`
`I C[5] I C[4] I C[3] I C[2] I C[1] I C[OJ I
`
`0
`
`Set on pin C[O] HIGH
`Cleared on pin C[O] LOW
`
`Set on pin C[1] HIGH
`Cleared on pin C[1] LOW
`
`Set on pin C[2] HIGH
`Cleared on pin C[2] LOW
`
`Set on pin C[3] HIGH
`Cleared on pin C[3] LOW
`
`Set on pin C[4] HIGH
`Cleared on pin C[4] LOW
`
`Set on pin C[5] HIGH
`Cleared on pin C[5] LOW
`
`Set on pin iF HIGH
`Cleared on pin "W LOW
`
`Set on pin IR HIGH
`Cleared on pin IR LOW
`
`0 =pin C[O] driven LOW
`
`1 • pin C[O] undriven
`
`0 =pin C[1] driven LOW
`
`1 • pin C[1] undriven
`
`0 = pin C[2] driven LOW
`
`1 = pin C[2] undriven
`
`0 = pin C[3] driven LOW
`
`1 = pin C[3] undriven
`
`0 = pin C[4] driven LOW
`
`1 =pin C[4] undriven
`
`0 = pin C[5] driven LOW
`
`1 = pin C[5] undriven
`
`10
`
`IOC Datasheet
`
`~
`
`~
`
`@'
`
`@.
`
`~-
`
`~
`
`@i
`
`~
`
`@I
`
`~
`
`~-
`
`@1.
`
`~;
`
`~' t!'- [
`~!
`I
`~ I
`I
`f!-· I I
`,- '' -.. , .. ,..:
`
`' .... ~- ----
`
`SCEA Ex. 1053 Page 14
`
`

`
`·•
`
`·•
`
`Internal Registers
`
`6.2 Keyboard Asynchronous Receiver Transmitter (KART)
`The KART provides an asynchronous serial link, usually to a keyboard. It is of fixed format with 8 bits to
`a character which is framed with one start bit and two stop bits. The least significant bit KD[OJ is
`transmitted/received first. The KART divides into two halves, the receiver and the transmitter.
`
`The ARM accesses the receiver via the Serial Rx Data register. A clock of 16 times the data rate is used
`by the KART to clock in the serial data from the KIN pin. When a data byte has been received, the SRx
`bit is asserted in the IRQ Status B Register to indicate that the byte is available for reading. False start biL'>
`of less than a half bit duration arc ignored.
`
`The ARM accesses the transmitter via the Serial Tx Data register. The byte written to tJ1e Serial Tx Data
`register is transmiLted serially from t11c KOUT pin, and the STx bit is asserted in the IRQ Status B register
`to indicate that the transmission is finished and the Serial Tx Data register may be reloaded.
`
`The receive and transmit speeds are t11e same and are programmed using counter 3.
`
`6.2.1 Serial Tx Data register 04H write
`
`7
`
`6
`
`5
`
`4
`
`3
`
`2
`
`0
`
`Writing to this register loads the serial output shift register, clears any outstanding TRx interrupt and starts
`the transmission. An interrupt is raised when the register is ready to be reloaded.
`
`KART Data
`
`KD[7:0]
`
`6.2.2 Serial Rx Data 04H read
`
`7
`
`6
`
`5
`
`4
`
`3
`
`2
`
`1
`
`0
`
`KART Data
`
`KD[7:0]
`
`Reading from this register clears any outstanding SRx interrupt and returns the currently received byte. Data
`is only valid while the SRx bit is set in the IRQ status B register.
`
`6.2.3 Initialisation
`
`,.
`J
`
`I
`,
`
`After Power-On, the KART is in an undefined state. The KART is initialised by programming the serial
`line speed using counter 3 and performing a read from the Serial Rx Data register, discarding the data
`byte. This will clear any outstanding receive interrupt and enable the KART for the next reception. Finally
`the Tx Data register should be written to. This will abort any transmission in progress, cause a new one to
`be started, and clear any STx interrupt.
`
`6.2.4 Receive Interrupt
`
`The SRx interrupt is set halfway though the reception of the last data bit. Care should be taken to ensure
`that the last bit has been received before the Serial Rx data register is read, to prevent this bit being
`interpreted as the start bit of the next packet.
`
`i )
`
`IOC Datasheet
`
`11
`
`SCEA Ex. 1053 Page 15
`
`

`
`Chapter 6
`6.3 Interrupt Registers
`The IOC generates two independant 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 IOC interrupts are controlled by four types of register, status, mask, request and 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 genera,ting interrupt requests to the processor. The clear register
`allows clearing of interrupt requests where appropriate. The mask registers arc undefined after power up.
`
`~-
`
`The IRQ events arc split into two sets of registers A and B . There is no priority encoding of the sources.
`
`6.3.1 Internal Interrupt Events
`Timer interrupts TM[O:l].
`*
`*
`*
`*
`*
`
`Power-on reset POR.
`
`Keyboard Rx data available SRx.
`
`Keyboard Tx data register empty STx.
`
`Force interrupts "J".
`
`IRQ falling-edge input IF.
`
`IRQ rising-edge input JR.
`
`6.3.2 External Interrupt Events
`*
`IRQ active low inputs IL[0:7].
`*
`*
`*
`*
`*
`
`FIQ active high inputs Fll[O:J ].
`
`FIQ active low input FL.
`
`Control port inputs C[3:5].
`
`6.3.3 Level Interrupts
`
`The majority of external and a few of the internal interrupt sources are level sensitive. When one of these
`sources has caused an interrupt it is cleared by removing the source.
`
`.6.3.4 Latched Interrupts
`
`The IF, IR, POR and TM[O:l] sources are latched. That is, once one of these sources has caused an
`interrupt, it must be cleared by an explicit write of "I" to the appropriate bit in the IRQ Clear A register.
`One or many may be cleared in a single operation.
`
`6.3.5 Synchronisation
`All the interrupt sources are synchronised by the REFSM clock input. It can take up to three clock phases
`before a source is recognised as requesting an interrupt, and the same delay occurs between a level
`sensitive request going inactive at an input pin and the removal of the corresponding bit from the status
`·register and the processor interrupt line.
`
`12
`
`IOC DaJasheet
`
`~-
`
`@
`
`i
`
`~i @!
`@.!
`~~
`I @_I
`~' - I
`~· - I
`~i
`
`SCEA Ex. 1053 Page 16
`
`

`
`.....
`\'
`
`;r~
`
`t'l
`
`6.3.6 IRQ Status A register lOH read
`2
`7
`6
`5
`4
`3
`
`T I TM[1]1 TM[O]I POR IIR
`
`IF
`
`0
`
`IL[7] IIL[6] I
`
`Internal Registers
`
`Set on pin ll[G] LOW
`Cleared on pin IL[6] HIGH
`
`Set on pin IL[7] LOW
`Cleared on pin IC{7THIGH
`
`Set on HIGH-to-LOW edge on pin TF
`Cleared by IRQ Clear Register
`
`Set on LOW-toHIGH edge on pin IR
`Cleared by IRQ Clear Register
`
`Set at power-on
`Cleared by IRQ Clear Register
`
`Set on timer 0 reload
`Cleared by IRQ Clear Register
`
`•
`Set on Timer 1 reload.
`Cleared by IRQ Clear Register
`
`Set always
`Cleared never
`
`Set on pin IL[O] LOW
`Cleared on pin IL[O] HIGH
`
`Set on pin ll[1] LOW
`Cleared on pin TC[i] HIGH
`
`Set on pin IL[2] LOW
`Cleared on pin IL[2] HIGH
`
`Set on pin IL[3] LOW
`Cleared on pin IL[3] HIGH
`
`Set on pin [[[41 LOW
`Cleared on pin IL[4] HIGH
`
`Set on pin IL[5] LOW
`Cleared on pin IL[5] HIGH
`
`Set on KART Tx Data register empty
`Cleared by write to KART Tx data register
`
`Set on KART Rx Data register full
`Cleared by read from KART Rx Data register
`
`6.3.7 IRQ Status B register 20H read
`5
`6
`3
`7
`4
`2
`
`0
`
`IOC Datasheet
`
`13
`
`SCEA Ex. 1053 Page 17
`
`

`
`Chapter 6
`
`6.3.8 FIQ Status register 30H read
`5
`4
`6
`3
`2
`7
`
`0
`
`6.3.9 IRQ Clear register 14H write
`6 54 3 210
`7
`
`Set on pin FH[O] HIGH
`Cleared on pin FH[O] LOW
`
`Set on pin FH[1] HIGH
`Cleared on pin FH[1] LOW
`
`Set on pin FL LOW
`Cleared on pin FL HIGH
`
`Set on pin C[3] LOW
`Cleared on pin C[3] HIGH
`
`Set on pin C[4] LOW
`Cleared on pin C[4] HIGH
`
`Set on pin C[5] LOW
`Cleared on pin C[5] HIGH
`
`Set on pin [[OJ LOW
`Cleared on pin JL[O] HIGH
`
`Set always
`Cleared never
`
`0 • no action
`1 • clear
`
`0- no aclion
`1 =clear
`
`0 • no action
`1. clear
`
`0 • no action
`1 • clear
`
`0 ::s no action
`1 -clear
`
`14
`
`IOC Datasheet
`
`~
`
`~
`
`~
`
`@
`
`~
`
`~
`
`~
`
`~
`
`~
`
`@
`
`@·
`
`~
`
`@:
`
`@:
`i @.r
`[
`@I
`I
`~-, l
`t!:l
`~!
`~~
`I
`~--• I
`- I
`~ J
`I
`~,
`
`~-I
`
`. . . ~·
`
`-:
`
`'_~ .. i ..... ;;t ',, ·:. :~~ l~'~
`
`SCEA Ex. 1053 Page 18
`
`

`
`6.3.10 Interrupt Request registers 14H 24H 34H read
`
`These registers show which interrupt sources are currently enabled and active. They give the logical AND
`of the corresponding status and mask registers.
`
`Internal Registers
`
`(i)
`
`IRQ request A address 14H
`
`(ii)
`
`IRQ request B address 24H
`
`(iii) FIQ request
`
`address 34H
`
`7
`
`6
`
`5
`
`4
`
`3
`
`2
`
`0
`
`0 = mask disabled or source not requesting an interrupt
`
`1 = mask enabled and source requesting an interrupt
`
`6.3.11 Interrupt Mask registers 18H 28H 38H read/write
`The mask registers are readable to simplify the sharing of these registers between a number of interrupt
`handlers.
`
`7
`
`6
`
`5
`
`4
`
`3
`
`2
`
`0
`
`0 • source disabled
`
`1 • source enabled
`
`(i)
`
`IRQ mask A address 18H
`
`(ii)
`
`IRQ mask B address 28H
`
`(iii) FIQ mask
`
`address 38H
`
`IOC Datasheet
`
`15
`
`i!
`
`;~
`I
`:~
`
`l )
`
`il
`
`~
`
`r?)
`
`j )
`
`"'S'l~~1~~~1~~i~~~w:r~R~~~~~~~~~1~1~.~~~~~~'t~;~if:'o':~~-::~y~:'n"\;'J.~~~~:~~~-.
`
`•
`
`•
`
`•
`
`<1.
`
`•
`
`SCEA Ex. 1053 Page 19
`
`

`
`Chapter 6
`
`6.4 Counters
`Four identical 16 bit counters arc provided. Two arc used as timers, the third for the keyboard BAUD rate
`and the fourth as a general purpose output. They all have fully programmable start/reload values.
`
`Each counter consists of a 16 bit down counter, a 16 bit input latch (latch low and latch high) and a 16 bit
`output latch (count low and count high) which contains the value of the counter when the latch command is
`given. The counter decrements continuously, clocked at 2 MHz. When it decrements to zero, it is reloaded
`from
`the input latch and recommences decrementing. The reload is used to trigger different events
`depending on the use of the counter. If a counter is loaded with zero it continuously reloads and does not
`count. If the GO register is written at the same time as the counter reloads an extra 2 MHz clock tick is
`taken to reload. After power-on the state of the counters is unknown.
`
`latch = latch low + 256 * latch high
`
`6.4.1 Register actions
`Writing to this updates the low order byte of the input latch
`Latch low
`Writing to this updates the high order byte of the input latch
`Latch high
`Writing to this causes the counter to be reloaded immediately with the latch value.
`GO command
`This causes the low order byte of the output latch to be read.
`Count low
`This causes the high order byte of the output latch to be read.
`Count high
`This causes the current value of the counter to be placed in the output latch.
`Latch command
`
`6.4.2 Counter schematic
`
`~·
`
`Control
`Logic
`
`2MHz
`
`GO
`
`1 6 bit counter
`
`ut~ r---------,_------~------------~------~
`
`0[0:7]
`
`Figure 3: Counter schematic
`
`16
`
`IOC Datasheet
`
`•'·
`
`. \
`
`·,
`
`SCEA Ex. 1053 Page 20
`
`

`
`' l
`
`;;~
`
`l·
`
`!~
`
`~
`
`.. ;,_
`~
`"J
`
`Internal Registers
`
`6.4.3 Counter Registers
`
`Address
`for counter
`1
`2
`
`0
`
`read or
`write
`
`3
`
`Latch low
`Latch high
`GO command
`Count low
`Count high
`Latch command
`
`70H write
`60H
`SOH
`40H
`74H write
`54H
`44H
`64H
`48H
`68H
`58H
`78H write
`40H
`SOH
`70H
`read
`60H
`44H
`54H
`74H
`read
`64H
`4CH 5CH 6CH 7CH write.
`
`6.4.4 Counters 0 and 1
`Two general purpose timers are provided. The reload event sets a timer interrupt, TM[O:l] in the IRQ
`status A register. The interrupt is cleared via the IRQ Clear A register. In order to generate an interrupt
`after time, Tinterval• the 16 bit value, (latch), to be used is calculated from the following equation.
`
`Tinterval := latch/2
`
`1-l-Seconds
`
`6.4.5 Counter 2 (BAUD)
`
`The counter 2 output is used to drive the BAUD pin. The reload event toggles the BAUD clock line. In
`order to generate a clock of frequency fBAUD• the 16 bit value, (latch), to be used is calculated from the
`following equation.
`
`fBAUD := 1/(latch+1) MHz
`
`The maximum BAUD rate of 500kHz is obtained by programming latch=l.
`
`6.4.6 Counter 3 (KART)
`
`--~
`
`This counter 3 output controls the speed of the keyboard serial link. In order to generate a baud rate
`kBAUD• the 16 bit value, (latch), to be used is calculated from the following equation.
`
`kBAUD := l/((/atch+1)*16) MHz
`
`The maximum baud rate of 31250Hz is obtained by programming latch=l.
`
`-~
`
`----:11
`
`I~
`'~
`
`IOC Datasheet
`
`17
`
`SCEA Ex. 1053 Page 21
`
`

`
`7. Peripherals
`
`The IOC provides control for external peripherals which cannot be accessed in a single cycle. A number of
`differently timed cycles, selected by the T[O:l] lines, arc provided. The peripheral cycles arc controlled by
`a state machine clocked from REF8M . The cycles arc timed to two clocks CLK2 and CLK8. Two timed
`data strobes, write enable WE and read enable RE, manipulate data.
`
`(Internal accesses complete in two REF8M cycles, and the state machine remains IDLE during these.)
`
`The number of REF8M cycles an IO access takes to complete depends on three things:
`
`(I) The minimum time for the cycle;
`
`(2) The synchronisation time
`
`(3) DMA activity on the ARM bus.
`
`The times arc expressed as in REF8M cycles. The first three cycles share common timing and arc of fixed
`duration. The last is synchronised to the CLK2 output, a 2 MHz square wave. Examples of the peripheral
`access are given in Appendix A.
`
`T [1: OJ
`
`Name
`
`0:0
`0:1
`1:0
`1: 1
`
`slow
`medium
`fast
`sync
`
`I
`Minimum I Synchronisation
`time
`time
`I
`(REFSM
`I
`(REFSM
`cycles}
`cycles}
`I
`I
`I
`I
`. I
`I
`I
`I
`
`0
`0
`0
`0, 1' 2' 3
`
`7
`6
`5
`5
`
`Table 2: Cycle timing
`
`18
`
`JOC Dmasheet
`
`. ~ . ' ......
`
`.. ' .
`
`-~
`
`. \ . ·.
`
`SCEA Ex. 1053 Page 22
`
`

`
`·-}
`
`8. ARM/10 Interface
`
`8.1 Peripheral Address and Data
`The peripheral address and data arc not provided by IOC, so their timing is system dependent. The
`following explanations assume that the configuration is as in figure 1. Additionally, process dependent
`delays though IOC can be up to half a REF8M clock pulse, so there can be considerable skew between
`signals coming from IOC and those from other sources.
`
`8.1.1 Peripheral Write Cycles
`
`Since the MEMC may perform DMA transfers on the main data bus while an IO cycle is in progress, the
`write data must be latched to provide valid data throughout the IO cycle. This is done by taking BL LOW
`at the start of the cycle. It is taken I-ITGH again at the end of the cycle.
`
`8.1.2 Peripheral Read Cycles
`
`To provide fixed duration cycles for the peripherals, the read data is latched by taking BL LOW as the
`RE strobe is taken HIGH. This allows the peripheral cycle to complete independently of the processor, and
`the data is held in the data latches until the processor is ready to complete the IO cycle.
`
`8.2 Peripheral Select Lines
`The peripheral select lines S[ l :7] are timed at the start of a cycle from IORQ and disabled at the end of
`the cycle by the state machine.
`
`8.3 Multiple IO Controllers
`The IOC has been designed to allow multiple IORQ/ IOGT devices to be connected to MEMC. For this
`reason the IOGT and llL lines arc open drain outputs. Even when IOC is not selected it continues to
`control the external buffer enables RllE and WllE, so additional IO Controllers need not generate these
`signals.
`
`8.4 10 Grant Line
`In order for an internal register access to complete in two REF8M clock cycles the IOGT line cannot be
`made to depend logically on IORQ, which indicates the start of an IO cycle, as IORQ becomes valid too
`late. Therefore IOGT is generated from ll[0:2] and CS only, and will sometimes be driven LOW during
`non-IO cycles.
`
`For peripheral access the IOGT line is controlled by the state machine.
`
`JOC Datasheet
`
`19
`
`·.~
`
`.,
`\
`'::::l
`
`II
`
`I -
`
`J
`
`'
`
`ll
`
`-•
`
`SCEA Ex. 1053 Page 23
`
`

`
`9. Reset and Power-on
`
`The IOC may be reset in two ways: by driving the bidirectional RST line LOW, or by driving the
`POR line LOW. The POR pin is designed to be connected to an external RC network to ensure that
`when power is first applied to the IOC, a system reset signal is generated on RST. POR causes an
`internal latched interrupt to be set to allow system software to differentiate between "power-on" and "soft"
`resets, and ensures that peripheral chips have had a stable clock for a suitable length of time before being
`released from reset.
`
`The control register is initialised on reset causing the C[O:S] pins to be set to a known state, HIGH, before
`the processor commences execution.
`
`~.·
`
`100R
`
`IN4148
`
`I
`
`VDD
`
`vss
`
`Figure 4: Suggested circuit for power-on reset
`
`sv
`
`Schmitt
`Thr~d•r-------------~--------~~~-4------------~
`
`ov
`
`RST
`
`REFBM - - - - - - -
`
`Figure 5: Power-on timing
`
`20
`
`IOC DaJasheet
`
`.. ".
`
`SCEA Ex. 1053 Page 24
`
`

`
`10~ 10-Cycle State Machine
`
`Loop if IDLE
`+----------+
`I
`RESET (note 2)
`---------+
`\II
`I
`+-----------+
`+--->1
`+----+ Type 3 Cycle (note 1)
`+-------------->1
`+-----------------------------+
`IDLE
`I
`+--+-----+--+
`I
`I
`I
`I Type 3 Cycle (note 1)
`I
`I +----------------+
`+-----------------+
`I
`\I I
`I I
`I IType 0 Cycle +-----------+
`+-----------+
`I +------------>1
`1<-+
`REIWE=O I
`I
`WAIT
`+-----+-----+
`+--+-----+--+
`I I
`I
`I I
`I
`I
`I
`I
`+-----+
`I I
`\II
`I
`I IType 1 Cycle +-----+-----+
`I
`I +------------>1
`REIWE=O 1<-------------+-----------+
`+-----+-----+
`I
`I
`I I
`I
`\I I
`I
`I
`I IType 2 Cycle +-+-------+-+
`I +------------>1
`REIWE=O I
`+-+-------+-+
`I
`I
`I
`I Type 0, 1 or 2 Cycles
`I
`I
`\II
`I +-----+-----+
`I
`I
`I
`REIWE-0 I
`I +-----+-----+
`I
`I
`I
`I Type 0, 1 or 2 Cycles
`I
`\II
`\II
`+-+-------+-+
`I
`I
`IOGT-0
`+-----+-----+
`I
`I
`I
`I
`\II
`+-----------+
`I
`IOGT-0 1<---------+
`I
`I
`+---+----+--+
`I
`I Loop until ARM
`I
`I
`I
`I
`is ready
`+-------------------+
`+-------------+
`
`Type 3
`
`Loop till
`synchronised
`
`NOTES:
`
`(1) Type 3 cycles will go into the wait state unless the cycle starts at the optimal point in the CLK2
`cycle.
`
`(2) RESET is a forcing signal to return to IDLE from any state .
`
`IOC Datasheet
`
`21
`
`i )
`
`I )
`
`:~
`
`:~
`
`--
`"B:)
`
`•
`
`SCEA Ex. 1053 Page 25
`
`

`
`11. DC Para1neters
`
`11.1 Absolute Maximum Ratings
`
`Symbol
`
`Parameter
`
`Min
`
`Max
`
`Units Note
`
`VDD
`
`Vip
`
`Ts
`
`Supply· voltage
`
`VSS-0.3
`
`VSS+7.0

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket