1899 lines
60 KiB
Plaintext
1899 lines
60 KiB
Plaintext
HARDWARE REFERENCE
|
||||
|
|
|
|||
|
|
|
|||
|
|
Version 2.10
|
|||
|
|
|
|||
|
|
|
|||
|
|
NOTE: The data in this manual is provided for information only. You are strongly advised not to make
|
|||
|
|
direct access to any of the hardware since this may conflict with access made by EPOC. To guarantee
|
|||
|
|
future compatibility, hardware access should only be made via the apropriate operating system calls.
|
|||
|
|
|
|||
|
|
|
|||
|
|
February 3, 1995
|
|||
|
|
|
|||
|
|
|
|||
|
|
(C) Copyright Psion PLC 1990-95
|
|||
|
|
|
|||
|
|
|
|||
|
|
All rights reserved. This manual and the programs referred to herein are copyrighted works of Psion
|
|||
|
|
PLC, London, England. Reproduction in whole or in part, including utilization in machines capable of
|
|||
|
|
reproduction or retrieval, without express written permission of Psion PLC, is prohibited. Reverse
|
|||
|
|
engineering is also prohibited.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The information in this document is subject to change without notice.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Psion and the Psion logo are registered trademarks, and Psion, Psion MC, Psion HC, Psion Series 3,
|
|||
|
|
Psion Series 3a and Psion Workabout are trademarks of Psion PLC.
|
|||
|
|
|
|||
|
|
|
|||
|
|
IBM, IBM XT and IBM AT are registered trademarks of International Business Machines Corp.
|
|||
|
|
Microsoft and MS-DOS are registered trademarks of Microsoft Corporation. Apple and Macintosh are
|
|||
|
|
registered trademarks of Apple Computer Inc. VAX and VMS are registered trademarks of Digital
|
|||
|
|
Equipment Corporation. 80C86, 8088, 8288, 8259 and SLD are registered trademarks of Intel
|
|||
|
|
Corporation. V30 and V30H are registered trademarks of NEC Corporation. Brief is a registered
|
|||
|
|
trademark of Underware Inc. Psion PLC acknowledges that some other names referred to are registered
|
|||
|
|
trademarks.
|
|||
|
|
|
|||
|
|
|
|||
|
|
SE ee a ae es
|
|||
|
|
Contents
|
|||
|
|
|
|||
|
|
|
|||
|
|
—_— eee
|
|||
|
|
|
|||
|
|
|
|||
|
|
T ‘The. Principali Chip Seti. iivediodscesscsen ec ennertete teste teak iotaseveieee hs Beckcecek 1
|
|||
|
|
PRG Ma ixs coe coer er iasares cud cthtenteranadlanss tak peeen aed scdavaei wis APU cos ne CIS al edits 2
|
|||
|
|
BuUSSCONtCONE Rs «sas sewaschsv ae sicnne sescaueenpecy mrs roe Fe Sees set ee ee 2
|
|||
|
|
BUSS CONVENED .0:cs<sveccescuskanstvnced sa duadeanes<dugndined olen Dt eee, ead 2
|
|||
|
|
DTS Fore eas scc stone Sencancbiesa ave gnsaeesenacstaataapivesstuatiae biee. hem eieiiee eet he eee 2
|
|||
|
|
EC DICOntrollenh scc.csnstet eran ineactoesnt cuss ct eet ea re ee et es 3
|
|||
|
|
MEMOry CecOdiNGh vcrvaceuteats sce seeietessne tuekte sr biat terre ee rere tees 3
|
|||
|
|
iOrdecodingy wee. 5. Aoi te Pesan eS Me ee ee eee 4
|
|||
|
|
Intenruptecomtroller encase ce tetas cote ate ee cae sete este 4
|
|||
|
|
WatehGogMtimert cwicsrcni acs tire Meats asascoa aves settee ee ome masicc cs 4
|
|||
|
|
Address and 1/0 protection...........ccccceccseccescsccececcsstoneesctesecssacsceceecceces 4
|
|||
|
|
ASI G2 tate, unt mcasoedy, sore es stevbaonee he ea eesieoeaes Se 4
|
|||
|
|
System clock Oscillator ..............ceseseeceeceuccesssuccessescecencessteesssausaucevence 5
|
|||
|
|
|
|||
|
|
OG OTINGOMU Olas eine ite t.scsere szunesete rats Letuu dtc padre ecore tetr eae see bes 5
|
|||
|
|
SIBO serial protocol COMtFONER:<:iccicdisissscescnestaesaiciee eae bee Nee 5
|
|||
|
|
SIBO serial protocol slave.............ssssscsvccssccecssccreccaveceuceestsvececcsseccesencs 5
|
|||
|
|
Keyboard: interlace ix. cectie.csscceerics aces bee ce sie vec sunne tie Wureek a aoc eee hev uns 5
|
|||
|
|
BulZZenMteM aCe sees sates teases Sots cccbc erty ann setea ances comma se auwhuctaatt ts Mec oic 5
|
|||
|
|
NIMPOBRERARGM ssssauonepasecteartuanstct sa cestvonda ravens saineaay ox vad olveuiesi Puan. Miule idee 5
|
|||
|
|
PENG ea tives een cuth A Saneet bavaecsiee phe boner enwats viegtdauseevnadeeacanh iaaaimbest Seeramemenadetted 6
|
|||
|
|
Increased Memory addressing............ssssccscssecesesesconssscccuscecauscscnesseeses 6
|
|||
|
|
Incréased.processomspeed-.<.isc:. s::.c0ss0ssdaereceents PR ee 6
|
|||
|
|
Improved Pack performance with hardware wait ...........cc-sssssccsssccscesces 6
|
|||
|
|
Addition of hardware 32 bit RTC...........cccssssecceeccsssccssceccesseecesesescesueces 6
|
|||
|
|
Improved sound facilities ...............ccccssccssecescesccreconsceuccescescesesccecensens 7
|
|||
|
|
Switch on via the membrane key pads ...........scccsscccsescecescesccecceeseusnecess 7
|
|||
|
|
Facility to address two ROM SIteS ..............ccccsesccssecccssecescctscsesssecseesees 7
|
|||
|
|
AUG nal ERE wicwasaecceessnsevencsseaulovis Sesienwets vuncas vay nmpdessvduaiiees ce eekeux och 7
|
|||
|
|
WTPROVEO GIO Y SCAIG vite cexdsctccdeSeuninan biavnsevietrc teu toeecs coigs auntersiWeeeneeats 7
|
|||
|
|
Triple Serial Control and Data Registers............sscsccsssceseccosscesccesscceseucss 7
|
|||
|
|
Contiguous video MEMOSry MAP.........cccccsccesccscocssccnscosseecesscesseavenseccoess 7
|
|||
|
|
Expansion support in SSD Slots ............cscccseccescceesssecssccncccasscesscenseuseus 7
|
|||
|
|
Altered Interrupt allocation ...............cssscossscoesecnsscccusccsescarssensecsseeereescs 8
|
|||
|
|
POU SUDSV STON act zesiantcbianec® tans duntataddweacuaausivedea’ saatune sould poke de AOL Sos eas 8
|
|||
|
|
Thexstand Dy State’. csadeizs. saieslovivescasgus cases sonveceadseddessueteitevee alee gteslease., 8
|
|||
|
|
The DaCKUP:State efits; ociedccedesuenedeclaed ec sveeseecetorceeses avec ss Gavi bedoveeeieosetoes 8
|
|||
|
|
WAS WOE SCALE adaisinrwesiesrens Saxe t snc vaxcuaee doxapadien viewadviveeueocasnets oa vuavedeatieiaarect 8
|
|||
|
|
The Operating State .........cccccscssceccsececsccecceccecsscusececascesesecsccececuscacevencs 8
|
|||
|
|
MOG 1 /SUDDIY Saterccdausesgesasmunecuwecectoutroe dst evasiunnadisnndtitaccdowsy pectietvah lees 8
|
|||
|
|
WEC2 SUDDIY srtserueniddievanuss ens msvadantaasutonasameniaucses RAwapecdintenl sohen eee 9
|
|||
|
|
MCCS: SUI cai osuia cise apiveatoos aug eels eanaratnu supa ru caiaewe id ioe licen cots a uactiadiaasloun Mee 9
|
|||
|
|
VGC4ISUDDIY ccacsns vedas egos cdeccdeead< oa seee vasa Gov dexisibetasecsaulesdeeeveriweteessl eens ane 9
|
|||
|
|
MGCS SUPPLY cai svesdiaieah les letaduaca ss bores cuba veins cola doucited dccesaberiaboaebeearbext 9
|
|||
|
|
VEO 1 SUPDIY cc...sadusiciedss vasdeveves ces pales favaiee ede ve anne seseuaincosnaterhc doveReboae 9
|
|||
|
|
Vee 2PSUPDIY seas iceutivaessscectauis 4 oste succes vereceunnasedcoaceseansieiwenges iene dunsesesext 9
|
|||
|
|
VINSUPDIY Seed beniacis cevete ses cavesignetaswsce Zeb vdshidvesiadedoideens eae lok dose nowend wate sats 9
|
|||
|
|
|
|||
|
|
|
|||
|
|
2 The SIBO Serial Protocol................cccccccecscsecccscacsccscecenssssececesccscecscucsacersccceacce 11
|
|||
|
|
Flardware Interface: .c.c.eiecdisveaeincs Sch ola Sook ceeune eSeiu cen. Svecdedos ou adiooasse we btiee: 11
|
|||
|
|
|
|||
|
|
ClOCK LING vise cescousnacaewsiSeatavcecucd goneeecade ae ab cdiade recente oll ates dae 11
|
|||
|
|
|
|||
|
|
Data lin @ ict cinteoranet lest euecsuescutesee cue wcbetedsweceoaes cut oehessewt ch cies Reuehcti oles 12
|
|||
|
|
|
|||
|
|
The Physicalilayen: vvs.sdsdcecaosvevcnduenssagevacessssceudsavaskiwenseycoelics covudesoodecbecse ste 12
|
|||
|
|
|
|||
|
|
Frame! StLUCtUlG oc oc scajet sn sad ice vaveudascessdsceuesahaavavekcsaidseetwedavecsseccks dose nebecs 12
|
|||
|
|
|
|||
|
|
INGHER AIM Osc: orcs cccccs seccudis veeece cashes tuk aoadaee cea c ithe suet bbe ee ecutnptlesoat 13
|
|||
|
|
|
|||
|
|
|
|||
|
|
GONtrOMNtrame@sacs Seer ccevcceces sie ccckcoece se cea eee eee Se cece steer see ane Bocas 13
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
DatarOQutputs Rrames.ieas ccd eve atadenseadebesevscceehanenntcus vonseucdovecsedsenetocaaes’ 13
|
|||
|
|
Datagnputghrame ns cic. czars ct ecs.ssdectaieonsess beat eeeessoses fae aba ares oe 13
|
|||
|
|
Datalinesdirection vcs sscsscesceenscccecMevcscesscccssoehs cveeupesasccscbivas suber enceyiuieiee 14
|
|||
|
|
|
|||
|
|
TL NEMBFANSPOFAV SNE Feiss is vsencecvcsCona seals veveveoneaveeveed den stsvarceoeus saves dentes os beats 14
|
|||
|
|
SlaVemSelOCtMOde:. si.idecsvisss eaisccsecde gssavedesgesivens seiaecaseedscss Ghocetwberessassees 15
|
|||
|
|
SlAVELCONTOl MOMS eke ees Hoek cas caaecnneubaese deeds eoecoo pessoa cacasdee s5eee ieee dane 15
|
|||
|
|
MMI Ofesec cee scotteccsuu instore cvewesecundt pe caceateet sewn seu bol waves uUeeces cveh tame eeeree et 17
|
|||
|
|
STATS eis ossccectvvetseadsess due dias savuseascaslabi gubieinees shapieadoctec accent eee 17
|
|||
|
|
|
|||
|
|
3 The: SIBO..Expansion Poms’... <.5c.cccscovcssascsacusedsvoucdecsacges ccdeeueeceseeemaneco tess eraae sess 19
|
|||
|
|
Extended internal expansion .............cscscccsccerscseceecencocsseveereseccssseseucncesence 19
|
|||
|
|
PAYSICAlCONMCCtOl an. ccsccessse.ccesece .setassee ss scesee sos nonvers ce chaclwanseuteteie ree 19
|
|||
|
|
SiGHal’ASNIOM 6: Fe. 2 see deescessassdecesc tus ccusesta asa vagaesenadicdevdeseneoseoM ol mites ee 20
|
|||
|
|
Din Ctal/O OM risct cecwaseiisen comeveddaa casasessoaceves oe de ies ce agea cain nea Wek atlobeeibas eet eubece 20
|
|||
|
|
The S|IBO’serialschannels. s. cvcvscesenveviess choiccwos hese cela sdatawcens necasuaieges eeees 22
|
|||
|
|
POWEFESUDDILESS. cet cous sccscug eae cns te oscsiien seauec totus denies hen hence iiebe teat betconcds 22
|
|||
|
|
Reduced external Expansion ..........cscsccscoscecsccscesceccueucuvevenseeteseceesencneseceees 22
|
|||
|
|
Physical’ COnnMeCton eis sczeesclcse.ccisececs saceaeveswesce rete oueies deck ceeenns een a eons 22
|
|||
|
|
SIGHAal GETIMUOM: .f2-sserss ease cucecsewssee es sea vouehenene sdecei bdesgsesegeSeoes cacstoyoes 22
|
|||
|
|
Example expansion devices ...........ccsccsecsecsccectstetstecessessesescueesescucneeseesens 23
|
|||
|
|
Extended expansion example one - 8 bit read/write port..........ccscvessseeees 23
|
|||
|
|
Extended expansion example two - 16 channel ADC ............ccccsesecceeeess 23
|
|||
|
|
Reduced expansion example three - TTL RS232 based interface............. 24
|
|||
|
|
|
|||
|
|
|
|||
|
|
CHAPTER 1
|
|||
|
|
|
|||
|
|
|
|||
|
|
THE PRINCIPAL CHIP SET
|
|||
|
|
|
|||
|
|
|
|||
|
|
Current SIBO products in the MC, HC and Series 3 range are based on the same three principal chips.
|
|||
|
|
These are the V30H (a 8086 compatible processor) and two Psion custom chips known as AS/CI and
|
|||
|
|
ASIC2. Later SIBO products including the Series 3a have these three devices integrated into a single
|
|||
|
|
Psion custom chip known as ASIC9.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The V30H is an enhanced 16 bit CMOS version of the 8088 found in the original IBM PC. It is software
|
|||
|
|
compatible with the 8088. The V30H is a fully static design, which means that all the internal storage
|
|||
|
|
elements i.e. its registers are made from static rather than dynamic storage elements. This means there is
|
|||
|
|
no minimum clock speed required to refresh the storage elements and the system clock can be Stopped at
|
|||
|
|
any time with no loss of internal state. This technique is used extensively in the SIBO architecture to save
|
|||
|
|
power while the processor is idle i.e. waiting for an event.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASICI and ASIC2 are Psion specific gate arrays based on a one micron full CMOS process. They are
|
|||
|
|
described in more detail in the next sections.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 1 shows a simplified block diagram of the SIBO architecture showing the principal three chips.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ADCO-15) MD¢0-79
|
|||
|
|
AC1E-199 MACO-1B)
|
|||
|
|
|
|||
|
|
|
|||
|
|
& MICROPHONE
|
|||
|
|
|
|||
|
|
|
|||
|
|
Ss (
|
|||
|
|
|
|||
|
|
|
|||
|
|
V_ SPEAKER
|
|||
|
|
AUDIO AMP GND
|
|||
|
|
|
|||
|
|
|
|||
|
|
SYSTEM CONTROL
|
|||
|
|
AD(O-7)
|
|||
|
|
cOLCO-11) OLCO-11>
|
|||
|
|
|
|||
|
|
|
|||
|
|
ROWCO-7 9 ROWCO-7)
|
|||
|
|
|
|||
|
|
|
|||
|
|
SYSTEM
|
|||
|
|
OSCILATOR a
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 1.
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
A en ree]
|
|||
|
|
ASIC1
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC1 contains approximately 4300 gates, implemented on a Hitachi one micron CMOS gate array in a
|
|||
|
|
100 pin quad flat pack package.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC1 is the main system controller for the SIBO architecture. It connects directly to the 80C86 in
|
|||
|
|
maximum mode controlling all bus cycles to and from the processor. This configuration effectively forms
|
|||
|
|
a micro-controller like device that executes 8086 instruction codes. ASIC1 is made up of a number of
|
|||
|
|
functional blocks described below.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The bus controller converts the encoded bus cycle requests (present on SO-S2) from the processor into the
|
|||
|
|
appropriate memory and I/O control signals. The bus controller is similar to the Intel 8288 device but
|
|||
|
|
with several enhancements, these are:-
|
|||
|
|
|
|||
|
|
|
|||
|
|
1) Clock stopping on the HALT instruction. Whenever a HALT instruction is issued by the
|
|||
|
|
processor the clock line to the processor is stopped and held low until either an NMI or an
|
|||
|
|
interrupt is asserted.
|
|||
|
|
|
|||
|
|
|
|||
|
|
2) Bus arbitration during video refresh cycles. Bus cycles to the video RAM segment are
|
|||
|
|
delayed while a video refresh is in progress.
|
|||
|
|
|
|||
|
|
|
|||
|
|
3) Memory write and I/O blocking. Memory writes outside pre-programmed segments and all
|
|||
|
|
1/O instructions can be blocked by the bus controller. See following sections on address and
|
|||
|
|
1/O protection.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Memory access to the 8-bit bus are converted to 16 bit accesses by the bus converter. This means that the
|
|||
|
|
80C86 can access memory on the 8-bit bus as if it were 16-bits wide.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASICI can operate in two modes dependant on a strapping pin: 16 bit memory mode or 8 bit memory
|
|||
|
|
mode. 16 bit mode allows higher processor clock speeds for a given memory access time but requires a
|
|||
|
|
full 16 bit bus and hence 16 bit wide memory. 8 bit mode requires higher speed memory for a given
|
|||
|
|
processor clock speed but only requires an 8 bit bus and 8 bit wide memory. In all MC's ASIC] operates
|
|||
|
|
in 16 bit mode, while the HC operates in 8 bit mode.
|
|||
|
|
|
|||
|
|
|
|||
|
|
In 16 bit mode all the system memory except for the video RAM is connected to the 16 bit bus. The
|
|||
|
|
video RAM is defined as a 32K segment of RAM between B8000 and C0000 hex. Any memory access to
|
|||
|
|
this segment is converted to two 8 bit memory accesses on the 8 bit bus by the bus conversion logic.
|
|||
|
|
These accesses may delay the 80C86 by stopping the clock to allow time for the two accesses or to allow
|
|||
|
|
a video refresh access to take place.
|
|||
|
|
|
|||
|
|
|
|||
|
|
In 8 bit mode all system memory is connected to the 8 bit bus so all memory accesses need to be
|
|||
|
|
converted. This means that memory needs to be faster for a given clock speed than in 16 bit mode,
|
|||
|
|
because two memory accesses need to be "squeezed" into one bus cycle. The video RAM is just part of
|
|||
|
|
the system RAM and is of variable size dependent on the LCD screen size with a base address of 400
|
|||
|
|
hex.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Timer
|
|||
|
|
|
|||
|
|
|
|||
|
|
A general 16 bit count down timer is provided by ASIC]. When the system is not in the standby state i.e.
|
|||
|
|
the processor is running, the clock source can be programmed to be either a fast (512 KHZ) clock or a
|
|||
|
|
slow (32 Hz) clock. Any 16 bit value can be written into the timer at any time. This value will then be
|
|||
|
|
decremented on the next rising edge of the clock. The current value in the timer can be read at any time.
|
|||
|
|
When the value in the timer reaches zero an interrupt is generated. When the system is in the standby
|
|||
|
|
state the timer is clocked from the 32 Hz real time clock oscillator in AS/C3 so that time can be kept
|
|||
|
|
while the processor is powered down.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The timer can operate in two modes controlled by a programmable bit, free running mode or prescale
|
|||
|
|
mode. In free running mode, when the timer decrements to zero an interrupt is generated and the counter
|
|||
|
|
just wraps around to -1 (FFFF). In prescale mode when the interrupt is generated the original value
|
|||
|
|
written to the timer is re-loaded automatically, this allows the interrupt to become a rate programmable
|
|||
|
|
pulse stream. This pulse stream is also an output from ASICI.
|
|||
|
|
|
|||
|
|
|
|||
|
|
1 THE PRINCIPAL CHIP SET
|
|||
|
|
|
|||
|
|
|
|||
|
|
The LCD controller provides all the necessary ti
|
|||
|
|
of up to 640 by 400 dots in size.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The data is output on up to eight signals. Each data signal outputs serial data that is synchronous with the
|
|||
|
|
dot clock. The data is a continuous bit stream formed from serialised data taken from the video refresh
|
|||
|
|
RAM. The data is serialised so that the first pixel in a line is bit 0 in the corresponding byte of the video
|
|||
|
|
RAM, this means the video RAM can be accessed in words i.e 16 bits wide.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The timing and data signals are controlled by a number of programmable registers which allow the
|
|||
|
|
following parameters to be set:
|
|||
|
|
|
|||
|
|
|
|||
|
|
1) Lime length - the number of dots in the line.
|
|||
|
|
2) Frame length - the total number of dots in the screen.
|
|||
|
|
|
|||
|
|
|
|||
|
|
3) Refresh rate - sets the refresh rate. This should be calculated from the system clock speed
|
|||
|
|
and the screen size to give a refresh rate of approximately 70 frames per second.
|
|||
|
|
|
|||
|
|
|
|||
|
|
4) AC drive rate - sets the frequency of the AC drive signal to the LCD module as a function
|
|||
|
|
of the line rate. This should be calculated to be approximately 300 Hz.
|
|||
|
|
|
|||
|
|
|
|||
|
|
5) Display mode - four different display modes are supported these are: single screen refreshed
|
|||
|
|
from video page one; single screen refreshed from video page two; single screen refreshed
|
|||
|
|
from video page one and two giving a two bit grey scale; and double screen refreshed from
|
|||
|
|
video page one and two.
|
|||
|
|
|
|||
|
|
|
|||
|
|
8 bit memory decoding allows for different sized physical memory devices to be connected to the logical
|
|||
|
|
memory slots. Three memory device size options are supported allowing for 32K x 8, 128K x 8 and
|
|||
|
|
512K x 8 devices to be addressed. These options are selected by two programmable bits, MSELO and
|
|||
|
|
MSELI.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The following table summarises the memory device size options:-
|
|||
|
|
|
|||
|
|
|
|||
|
|
MSEL1 MSELO Device size
|
|||
|
|
|
|||
|
|
|
|||
|
|
The following table summarises the memory decoding performed by ASICI:-
|
|||
|
|
|
|||
|
|
|
|||
|
|
00000 - IFFFF
|
|||
|
|
|
|||
|
|
|
|||
|
|
8 Bit slot 0
|
|||
|
|
|
|||
|
|
|
|||
|
|
00000 - O7FFF 00000 - 7FFFF
|
|||
|
|
|
|||
|
|
|
|||
|
|
8 Bit slot 1 08000 - OFFFF | 20000 - 3FFFF 80000 - FFFFF
|
|||
|
|
8 Bit slot 2 10000 - 17FFF | 40000 - SFFFF -
|
|||
|
|
8 Bit slot 3 18000 - 1FFFF | 60000 - 7FFFF -
|
|||
|
|
8 Bit slot 4 20000 - BFFFF | 80000 - BFFFF 80000 - BFFFF
|
|||
|
|
8 Bit slot 5 C0000 - FFFFF} C0000 - FFFFF C0000 - FFFFF
|
|||
|
|
|
|||
|
|
|
|||
|
|
B8000 - BFFFF
|
|||
|
|
00000 - B7FFF + C0000 - FFFFF
|
|||
|
|
|
|||
|
|
|
|||
|
|
16 Bit 8 Bit slot 1
|
|||
|
|
16 Bit 16 Bit slot
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
0300 - FFFF Not used
|
|||
|
|
|
|||
|
|
0200 - 02FF Expansion port 2
|
|||
|
|
0100 - O1FF Expansion port 1
|
|||
|
|
0090 - OOFF Not used
|
|||
|
|
|
|||
|
|
0080 - 008F I/O space in ASIC2
|
|||
|
|
0020 - 007F Not used
|
|||
|
|
|
|||
|
|
|
|||
|
|
0000 - 001F Internal I/O in ASICI
|
|||
|
|
|
|||
|
|
|
|||
|
|
The interrupt controller in AS/CJ prioritises eight interrupt request lines to generate a single interrupt
|
|||
|
|
request to the processor. When and if the processor executes an interrupt acknowledge cycle, the
|
|||
|
|
interrupt controller places the correct vector on the bus.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The interrupt controller is similar to the Intel 8259 device, however, the following restrictions apply;
|
|||
|
|
there is no provision for daisy-chaining additional interrupt controllers, level triggered mode only is
|
|||
|
|
supported and the interrupt vector base is fixed at 78 hex.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The 8 interrupts are defined internally in ASJCI as follows:
|
|||
|
|
|
|||
|
|
|
|||
|
|
78
|
|||
|
|
|
|||
|
|
|
|||
|
|
Tick interrupt at 2 or 32 Hz
|
|||
|
|
External interrupt usually connected to mains detect bit
|
|||
|
|
External interrupt from expansion port one
|
|||
|
|
External interrupt from expansion port two
|
|||
|
|
External interrupt from ASIC2
|
|||
|
|
|
|||
|
|
|
|||
|
|
SLD sound receive interrupt
|
|||
|
|
SLD sound transmit interrupt
|
|||
|
|
|
|||
|
|
|
|||
|
|
Watchdog timer —S<—h 3 vhUhm™m™C™t~—O—OCOCC—O
|
|||
|
|
The watch dog timer is a two bit counter which counts up at a rate of 4 Hz. If the count reaches three a
|
|||
|
|
NMI is generated. The counter can be reset by a write to an I/O location inside ASJC1. Normally the
|
|||
|
|
|
|||
|
|
|
|||
|
|
counter is reset on every tick by the interrupt service routine. The NMI will be produced after 24 ticks
|
|||
|
|
have passed with no reset, this equates to 0.75 of a second with interrupts disabled.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The range is set by writing the upper and a lower segment bounds for the given range to two internal 16
|
|||
|
|
bit registers in ASIC].
|
|||
|
|
|
|||
|
|
|
|||
|
|
Protected mode is switched on and off by writing to or reading from a special I/O location in ASICI.
|
|||
|
|
|
|||
|
|
|
|||
|
|
eA
|
|||
|
|
ASIC2
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC2 contains approximately 2200 gates, implemented on a Hitachi one micron CMOS gate array in an
|
|||
|
|
80-pin quad flat pack package.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC2 contains the system clock oscillator, controls switching between the standby and operating states,
|
|||
|
|
and provides an interface to the power supply, keyboard, buzzer, SSDs and expansion ports. ASIC2
|
|||
|
|
consists of the following functional blocks:
|
|||
|
|
|
|||
|
|
|
|||
|
|
1 THE PRINCIPAL CHIP SET
|
|||
|
|
ee EEEeEEEFSFSFSSSSSSSSSSSSSSSSSSMMsFsFeFesesesesesMsSSSFSsFsFse
|
|||
|
|
|
|||
|
|
|
|||
|
|
An on-chip oscillator cell connected to an external crystal generates the main system clock in the
|
|||
|
|
operating state. The system clock frequency is divided down to provide clocks for the serial channels, the
|
|||
|
|
SLD bus interface and for RS232 communication. The oscillator is disabled in the standby and battery
|
|||
|
|
|
|||
|
|
|
|||
|
|
backup states to conserve power.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC2 controls switching between the standby and operating states. AS/C2 puts the system into the
|
|||
|
|
operating state when: the keyboard "on" signal is asserted; the system "reset" signal is generated; an
|
|||
|
|
expansion device requests service; an external controller initiates a "high speed link" or the AS/C/ timer
|
|||
|
|
reaches zero.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Switching from the operating state to the standby state is software controlled. When an "enter standby"
|
|||
|
|
command is written to ASIC2 it shuts down the power supply via the serial interface and puts the system
|
|||
|
|
into the standby state.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC2 contains an 8-channel SIBO serial protocol controller which provides an interface to the power
|
|||
|
|
supply, the SSDs, the expansion ports and the high speed link. Channel assignments are:
|
|||
|
|
|
|||
|
|
|
|||
|
|
Power supply (ASIC3)
|
|||
|
|
|
|||
|
|
|
|||
|
|
SSDs
|
|||
|
|
Expansion ports
|
|||
|
|
High speed link
|
|||
|
|
|
|||
|
|
|
|||
|
|
Serial clocks 5 & 6 may be set free running at 1.536Mhz, this frequency may be divided down by devices
|
|||
|
|
connected to the expansion ports to provide baud rates for RS232 communication.
|
|||
|
|
|
|||
|
|
|
|||
|
|
To maximise the data transfer rate, a "controller busy" signal is generated by ASIC2 during a data
|
|||
|
|
transfer. This signal is connected to the processor TEST pin.
|
|||
|
|
|
|||
|
|
|
|||
|
|
For further details refer to "The SIBO serial protocol” chapter of this manual.
|
|||
|
|
|
|||
|
|
|
|||
|
|
is used for the "high speed link" to receive data transmitted by an external
|
|||
|
|
controller. An interrupt is generated when a frame is received.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC2 provides an interface to a matrix keyboard of up to 192 keys, made up from 16 rows by 12
|
|||
|
|
columns. During a keyboard scan the columns are each driven high in tum by ASIC2 and the row
|
|||
|
|
information is read from the keyboard row register. Normally the row buffer is 8 bits wide which gives a
|
|||
|
|
matrix of 8 x 12 i.e. 96 keys.
|
|||
|
|
|
|||
|
|
|
|||
|
|
A piezo electric buzzer element can be connected directly to AS/C2. The buzzer can be driven at high or
|
|||
|
|
low volume, and either directly by toggling an ASIC2 register bit or by the overflow bit from the ASIC!
|
|||
|
|
timer.
|
|||
|
|
|
|||
|
|
|
|||
|
|
NMI g
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC2 controls the generation of an NMI which is passed onto the processor via ASIC. This NMI can
|
|||
|
|
be generated from a number of sources, these are, power fail conditions and SSD or expansion port door
|
|||
|
|
micro-switches. When the main power supply voltage (Vsup) falls to a level insufficient to power the
|
|||
|
|
system ASIC3 signals ASIC2 and a power fail NMI is generated. When an expansion device is removed
|
|||
|
|
or inserted, or if an SSD is removed or inserted micro-switches connected to ASIC2 generate the
|
|||
|
|
appropriate NMI. The source of the NMI is identified by reading a register in ASIC2.
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
SS SSS ee ee |
|
|||
|
|
ASICS
|
|||
|
|
|
|||
|
|
|
|||
|
|
The Series 3a differs from the above description in that the V30H and all the functions in ASIC] and
|
|||
|
|
ASIC2 have been integrated into a single custom device known as ASIC9. This has allowed faster
|
|||
|
|
processing speeds and lower power consumption to be achieved. In addition a number of enhancements
|
|||
|
|
and alterations have been made to the SIBO architecture listed below.
|
|||
|
|
|
|||
|
|
|
|||
|
|
. This allows larger mas
|
|||
|
|
ROM's and RAM's to be addressed. This is done by implementing bank switching in ASIC9 which will
|
|||
|
|
be similar to EMS on PC's.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Each bank is 64 KBytes in size and is selected by writing into one of four page registers, two to select a
|
|||
|
|
RAM address and two to select ROM addresses. These page registers are called PSELO to PSEL3
|
|||
|
|
respectfully.
|
|||
|
|
|
|||
|
|
|
|||
|
|
This method extends the V30H address capability by 4 bits to produce two 24 bit address bus ranges, one
|
|||
|
|
for RAM and one for ROM. This gives an affected linear address range of 32 MBytes. The 16 MByte
|
|||
|
|
RAM space is decoded into 4 Chip selects allowing up to 8 x 16 Mbit RAM devices (2 per chip select as
|
|||
|
|
16 bit wide). The 16 MByte ROM space is decoded into two chip selects each selecting 8 MBytes each,
|
|||
|
|
one for mask ROM and one for FLASH memory.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The physical address map for the V30H now looks like this:-
|
|||
|
|
|
|||
|
|
|
|||
|
|
00000 - SFFFF | Maps to physical bottom 384K of the 16 Mbyte RAM space.
|
|||
|
|
60000 - 6FFFF | Maps to 64K RAM segment selected by page register PSELO.
|
|||
|
|
70000 - 7FFFF | Maps to 64K RAM segment selected by page register PSEL1.
|
|||
|
|
80000 - 8FFFF | Maps to 64K ROM segment selected by page register PSEL2.
|
|||
|
|
90000 - 9FFFF | Maps to 64K ROM segment selected by page register PSEL3.
|
|||
|
|
A0000 - FFFFF | Maps to physical top 384K of the 16 Mbyte ROM space.
|
|||
|
|
|
|||
|
|
|
|||
|
|
= Se
|
|||
|
|
|
|||
|
|
|
|||
|
|
Although the V30H microprocessor is rated at clock speeds of up to 16 MHz, the Series 3 machine is
|
|||
|
|
currently limited to a clock speed of 3.84 MHz. This is due to the fact that ASICi accesses the ROM as
|
|||
|
|
two 8 bit bytes to assemble a 16 bit word for the V30H. This equates to a required ROM access speed of
|
|||
|
|
|
|||
|
|
|
|||
|
|
approximately 250 nSec for a 3.84 MHz clock. Readily available mask ROM's have an access speed of
|
|||
|
|
200 nSec which currently limits the clock speed of Series 3.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC9 supports 16 bit wide accesses to memory space which allows a doubling of the clock speed for the
|
|||
|
|
same ROM access time. In addition ASIC9 will support programmable wait states so that faster clock
|
|||
|
|
speeds can be used with slow ROM's or RAM's.
|
|||
|
|
|
|||
|
|
|
|||
|
|
more closely to the bus controller. This is now possible as they are both in the same chip. The serial
|
|||
|
|
controller can now automatically hold the processor (by stopping the CPU clock) if it attempts to issue a
|
|||
|
|
command to the controller whilst it is busy. This reduces to zero the overhead involved in determining
|
|||
|
|
this condition. This technique should also enhance the speed that Flash memory devices can be written
|
|||
|
|
to.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Addition of hardware 32 b =—séC
|
|||
|
|
The ASICI/ASIC2 implementation of the SIBO architecture uses the FRC (Free running counter) to
|
|||
|
|
maintain time while the CPU is powered down (in standby). This means the CPU must wake up at a
|
|||
|
|
periodic rate (approx 8 hours) to keep time, if the CPU cannot start (no main batteries) time is lost. To
|
|||
|
|
overcome this limitation AS/C9 contains a separate 32 bit real time clock that will continually maintain
|
|||
|
|
the system time independently from the CPU. This counter will be clocked at 1 Hz so its maximum range
|
|||
|
|
will be 232 seconds or approx 136 years.
|
|||
|
|
|
|||
|
|
|
|||
|
|
1 THE PRINCIPAL CHIP SET
|
|||
|
|
EEE
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC9 contains a 16 FIFO buffer to reduce the CPU overhead involved in playing or recording sounds
|
|||
|
|
via the CODEC device.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC9 contains the logic to bring the system out of the standby state if any of a set number of row inputs
|
|||
|
|
goes high. This allows Switch on via the membrane key pads.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The 16 MByte paged ROM address will be split into twe sections each 8 MBytes in size. It is intended
|
|||
|
|
that one section is for mask ROM one for FLASH memory.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC9 contains an additional FRC (Free Running Counter). This FRC is functionally identical to the
|
|||
|
|
current FRC but is indented for general user use and is not used by EPOC.
|
|||
|
|
|
|||
|
|
|
|||
|
|
This second FRC can be clocked from either 512 KHz or 1024 Hz. This extends the use of the FRC by
|
|||
|
|
providing a counter with a resolution of 1 mSec and a range of just over one minute. This could help
|
|||
|
|
software time events in the mSec range i.e. a stopwatch.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The mapping of the two video maps has been improved to reduce the overhead that grey scales impose on
|
|||
|
|
software. This improved scheme supports only one grey level together with black and white. The second
|
|||
|
|
video map is an attribute map and would have the effect of dimming only those pixels that are set i.e.
|
|||
|
|
black.
|
|||
|
|
|
|||
|
|
|
|||
|
|
“
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC9 contains three serial control registers and three read data registers. This allows independent
|
|||
|
|
expansion devices to be added to either SSD slot.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The main advantage of triple registers is that a multiple-mode pack read can be interrupted at anytime by
|
|||
|
|
a read or write to any of the other serial channels without loss of setup and data, for example servicing an
|
|||
|
|
RS232 interrupt from either SSD slot.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The ASICI/ASIC2 implementation of the SIBO architecture positions the two video maps so that they are
|
|||
|
|
separated by a fixed address space (16K 4000H). This restriction is overcome in ASIC9 by Starting the
|
|||
|
|
second video map directly after the first video map regardless of the size of the video maps.
|
|||
|
|
|
|||
|
|
|
|||
|
|
in SS
|
|||
|
|
|
|||
|
|
|
|||
|
|
Two active low external interrupt inputs are provided by ASJC9 which can be connected to the VBACK
|
|||
|
|
outputs on two SSD sockets. This will allow SSD sized expansion devices to be fitted internally to the
|
|||
|
|
Series 3a.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The Interrupt allocation has been changed in AS/C9 so that sound processing is serviced at the highest
|
|||
|
|
priority. Interrupts are allocated as follows:-
|
|||
|
|
|
|||
|
|
|
|||
|
|
CSINT CODEC sound interrupt.
|
|||
|
|
TINT 32 Hz tick interrupt.
|
|||
|
|
SSINT Serial slave interrupt.
|
|||
|
|
EINTO External interrupt input 0.
|
|||
|
|
|
|||
|
|
|
|||
|
|
EINT1 External interrupt input 1 (inverted).
|
|||
|
|
EINT2 External interrupt input 2 (inverted).
|
|||
|
|
FRC1OI FRC1 overflow interrupt .
|
|||
|
|
FRC20I1 FRC2 overflow interrupt.
|
|||
|
|
|
|||
|
|
|
|||
|
|
PSU subsystem
|
|||
|
|
|
|||
|
|
|
|||
|
|
SIBO architecture power supplies all differ depending on the system requirements. MC and HC power
|
|||
|
|
supplies have higher current ratings to support a wide variety of expansion devices and are based around
|
|||
|
|
7.2 volt NiCd batteries. The Series 3 and its derivatives have a lower current rating and are based around
|
|||
|
|
two 1.5 volt alkaline batteries.
|
|||
|
|
|
|||
|
|
|
|||
|
|
MC and HC power supplies are based on a full custom liner ASIC known as ASIC3. This custom chip is
|
|||
|
|
manufactured by Maxim and has the Maxim part number MAX616. The power supply provides a
|
|||
|
|
number of switched power rails from one unregulated supply rail known as Vsup. This supply is
|
|||
|
|
typically connected to the main battery in the system and can be in the range 5.5 to 12 volts. These
|
|||
|
|
supply rails are derived from Vsup from either PNP pass transistor linear regulators or from switch mode
|
|||
|
|
regulators. Series 3 power supplies generate a sub-set of the rails listed below from a number of switch
|
|||
|
|
mode regulators.
|
|||
|
|
|
|||
|
|
|
|||
|
|
SIBO architecture power supplies all operate in four principal states, these are; standby, backup idle and
|
|||
|
|
operating.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Th : 2
|
|||
|
|
|
|||
|
|
|
|||
|
|
In the standby state the main oscillator and the processor are shut down. ASICI, ASIC2 and the memory
|
|||
|
|
are powered and the real time oscillator is running to keep time. The timer in ASJCI is used in this mode
|
|||
|
|
to keep time while the processor is powered down. All other supply rails are switched of in this state.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The backup state only exists when the main battery supply has failed or is not present. State is the
|
|||
|
|
same as the standby state except that Vccl is now powered from the backup battery input and switching
|
|||
|
|
to the operating state is inhibited.
|
|||
|
|
|
|||
|
|
|
|||
|
|
In the idle state the processor is powered up and the main system oscillator is running: the switchable
|
|||
|
|
supply rails may be on depending on software instructions. The processor clock is stopped and the
|
|||
|
|
processor is idle and waiting for an event i.e. an interrupt. This means that the bus is not active apart
|
|||
|
|
from LCD screen refresh accesses.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ating state __—sdiziéts =—i—<iéis—sSCséséséS<Sié<S;S
|
|||
|
|
The operating state is the same as the idle state except that the processor clock is running and the bus is
|
|||
|
|
active.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ee l—“OCONONONONRO#NONONNONCONOCNCCCi«SC.CisikiséstsC«sisisCCisés..SN
|
|||
|
|
Vccl is a nominal +5 volt supply that is not programmable and is present in all states. On MC and HC
|
|||
|
|
power supplies it is derived from Vsup via a PNP pass transistor, the base drive of which is supplied by
|
|||
|
|
|
|||
|
|
|
|||
|
|
—e
|
|||
|
|
|
|||
|
|
|
|||
|
|
1 THE PRINCIPAL CHIP SET
|
|||
|
|
— ee EEEESSSSSSSSSSSSSSSSsshsFsese
|
|||
|
|
|
|||
|
|
|
|||
|
|
ASIC3, this configuration is the same for all the linear regulators. On Series 3 power supplies it is
|
|||
|
|
derived from a DC to DC converter and on ASIC9 based systems the nominal voltage is 3.3 volts.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vccl supplies ASIC] and ASIC2 or ASIC9 plus all the memory. The Vccl supply is current limited to a
|
|||
|
|
few hundred micro-amps when the system is in the standby state.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vcc2 is a +5 volt supply that is either derived from Vsup in the same way as Vccl or from a DC to DC
|
|||
|
|
converter. Vcc2 is disabled when the system is in the standby state and is automatically switched on when
|
|||
|
|
the operating or idle state is entered. Vcc2 powers the processor and any other devices that can be shut
|
|||
|
|
down in the standby state. Vcc2 is also connected to the expansion ports for powering peripheral devices.
|
|||
|
|
Vecc2 is fixed at 5 volts even in a 3.3 volt system.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vcc3 is a software switchable supply. It is either 5 volts or 3.3 volts depending on the voltage of Vccl. It
|
|||
|
|
is connected to the LCD display module and powers the display drivers.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vccé4 is a software switchable +5 volt supply. It is connected to the positive supply to the sound sub-
|
|||
|
|
system. It is only present in MC and HC power supplies.
|
|||
|
|
|
|||
|
|
|
|||
|
|
VecS is a software switchable +5 volt supply that is either derived from Vsup in the same way as Vccl
|
|||
|
|
or switched from Vcc2. It is connected to the 5 volt supply pin on the external SSD slots.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Veel is a software switchable negative supply rail which is connected to the LCD module to provide the
|
|||
|
|
|
|||
|
|
|
|||
|
|
LCD bias voltage. The voltage of Veel can by programmed in software to provide software adjustment
|
|||
|
|
of the LCD contrast. Veel is generated using a fly-back switch mode regulator. The voltage generated is
|
|||
|
|
determined by comparing the feedback voltage to the output of a DAC.
|
|||
|
|
|
|||
|
|
|
|||
|
|
able negative supply rail which is connected to the negative supply of the sound
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vee2 is a software switch:
|
|||
|
|
|
|||
|
|
|
|||
|
|
sub-system. Vee2 is specified as -5 volts plus or minus 5% and is generated from Vsup using a fly-back
|
|||
|
|
switch mode regulator which is controlled by ASIC3. Vee2 is only present on MC and HC power
|
|||
|
|
supplies.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vh is a software switchable positive supply rail which is connected to the SSD slots. It is used in the
|
|||
|
|
SSD's to provide the programming voltage needed to write and format Flash memory devices. Vh is
|
|||
|
|
generated using a fly-back switch mode regulator is specified to be +16 volts.
|
|||
|
|
|
|||
|
|
|
|||
|
|
CHAPTER 2
|
|||
|
|
|
|||
|
|
|
|||
|
|
THE SIBO SERIAL PROTOCOL
|
|||
|
|
|
|||
|
|
|
|||
|
|
The SIBO serial protocol is a general purpose method of bidirectional serial data transfer. It has been
|
|||
|
|
designed to communicate between a controlling device and a number of slave devices
|
|||
|
|
|
|||
|
|
|
|||
|
|
The interface consists of 2 wires as follows:
|
|||
|
|
CLK Clock output from the controller to the slaves. Nominally 3.84 MHz.
|
|||
|
|
DATA A bidirectional synchronous data line.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The data is transferred using a series of 12 bit frames including 8 data bits each. This equates to a
|
|||
|
|
theoretical maximum data transfer rate of approximately 312 Kbytes/second. Other bits of the frame
|
|||
|
|
contain control information.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The "system" is generically defined by 2 protocol layers:
|
|||
|
|
|
|||
|
|
The Physical layer defining the hardware interface and frame structure.
|
|||
|
|
|
|||
|
|
The Transport layer defines system control and register transfers between the controller and the slaves.
|
|||
|
|
These layers are described in detail in the next two sections.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Using this system a large number of higher level implementations can be defined. Initially these will
|
|||
|
|
include:
|
|||
|
|
|
|||
|
|
|
|||
|
|
1) An eight channel controller. This will be embodied within all SIBO computers to allow up
|
|||
|
|
to 8 isolated channels to be accessed.
|
|||
|
|
|
|||
|
|
|
|||
|
|
2) Power control IC. This is also internal to the computers and operates as a slave.
|
|||
|
|
3) Memory pack. This is an external plug-in device operating as a slave.
|
|||
|
|
|
|||
|
|
|
|||
|
|
In normal use the controller will communicate to slaves in a point to point configuration. Multidrop
|
|||
|
|
configurations with a number of slaves attached to one channel of the controller are also supported.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ES ee ee ee ee ee
|
|||
|
|
Hardware Interface
|
|||
|
|
|
|||
|
|
This section specifies the timing and hardware required by the SIBO serial protocol.
|
|||
|
|
|
|||
|
|
This consists of two lines that switch at SV CMOS voltage levels:-
|
|||
|
|
|
|||
|
|
CLK = Aclock output from the controller to the slaves. Nominally 3.84 MHz.
|
|||
|
|
|
|||
|
|
DATA A bidirectional synchronous data line.
|
|||
|
|
|
|||
|
|
|
|||
|
|
This line is used to synchronously clock data between the controller and slaves. It is always output from
|
|||
|
|
the controller.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The clock should only be active during the transfer of data. At all other times it is tristate pulled low.
|
|||
|
|
|
|||
|
|
|
|||
|
|
11
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
Clock Timing Parameters
|
|||
|
|
Symbol
|
|||
|
|
Tckh
|
|||
|
|
Tckl Width of Clock Low
|
|||
|
|
|
|||
|
|
|
|||
|
|
Teyc Cycle time of clock
|
|||
|
|
Fck Clock Frequency
|
|||
|
|
|
|||
|
|
|
|||
|
|
Width of Clock High
|
|||
|
|
|
|||
|
|
|
|||
|
|
This is a bidirectional line used to transfer data synchronously between the controller and slaves. The
|
|||
|
|
direction of the data line is not determined by the physical layer but by the control information in the
|
|||
|
|
transport layer. This is described in the next section.
|
|||
|
|
|
|||
|
|
|
|||
|
|
When no data transfers are in progress the data line is always set to input on both the controller and
|
|||
|
|
slaves. This line is pulled low.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Data Timing Parameters
|
|||
|
|
|
|||
|
|
|
|||
|
|
Data Received by Controller
|
|||
|
|
|
|||
|
|
|
|||
|
|
Trdset Data set-up time
|
|||
|
|
Trdhold Data hold time
|
|||
|
|
|
|||
|
|
|
|||
|
|
Trdset Data set-up time
|
|||
|
|
Trdhold Data hold time
|
|||
|
|
|
|||
|
|
|
|||
|
|
Data is changed on the falling edge of clock by the transmit device and latched into the receiving device
|
|||
|
|
on the rising edge of clock.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The Physical layer
|
|||
|
|
This section specifies the low level protocol of the SIBO serial protocol.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The physical layer protocol consists of a series of 12 bit frames. There are four types of frames:
|
|||
|
|
|
|||
|
|
|
|||
|
|
Null frames Transmitted by controller to synchronize slaves.
|
|||
|
|
Control frames Control information transmitted by controller to slaves.
|
|||
|
|
Data output frames Data frame transmitted by controller to slaves.
|
|||
|
|
|
|||
|
|
Data input frames Data frame received by controller from a slave.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Name ST CTL Ii DO D3 D4 D5 D6 D7
|
|||
|
|
|
|||
|
|
|
|||
|
|
2 THE SIBO SERIAL PROTOCOL
|
|||
|
|
|
|||
|
|
|
|||
|
|
ST Start bit. This bit goes high to indicate the start of a valid frame.
|
|||
|
|
|
|||
|
|
CTL Control bit. When low indicates this is a control frame. High indicates a data frame.
|
|||
|
|
It Idle bit. Used to turn around direction of data line. Normally Low.
|
|||
|
|
|
|||
|
|
DO-D7 Data bits. Used to turn around direction of data line. Normally low.
|
|||
|
|
|
|||
|
|
I2 Idle bit.
|
|||
|
|
|
|||
|
|
|
|||
|
|
This is a special frame transmitted by the controller to ensure all slaves are synchronized. It is generated
|
|||
|
|
by transmitting 12 clock pulses with the data line set to input. Since the data line is pulled low this
|
|||
|
|
results in 12 zeros being transmitted.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Control frame. _
|
|||
|
|
|
|||
|
|
|
|||
|
|
This frame is transmitted from the controller to one or more slaves. The data line is an output from the
|
|||
|
|
controller throughout the whole frame.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The bits in the frame have the following value in a control frame.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ST Start bit. This bit goes high to indicate the start of a valid frame.
|
|||
|
|
CTL Control bit. Low to indicate this is a control frame.
|
|||
|
|
|
|||
|
|
I] Idle bit. Set low.
|
|||
|
|
|
|||
|
|
D0-D7 Data bits. 8 bits of control information.
|
|||
|
|
|
|||
|
|
12 Idle bit. Set low.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The bits in the frame have the following value in a data output frame.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ST Start bit. This bit goes high to indicate the start of a valid frame.
|
|||
|
|
CTL Control bit. High to indicate this is a data frame.
|
|||
|
|
|
|||
|
|
I1 Idle bit. Set low.
|
|||
|
|
|
|||
|
|
DO0-D7 Data bits. 8 bits of transmitted data.
|
|||
|
|
|
|||
|
|
I2 Idle bit. Set low.
|
|||
|
|
|
|||
|
|
|
|||
|
|
This frame is received by the controller from a slave. The data line is an output from the controller for
|
|||
|
|
cycles 1 and 2 and input to the controller for cycles 4 to 11.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The bits in the frame have the following value in a data input frame.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ST Start bit. Output from controller. This bit goes high to indicate the start of a valid
|
|||
|
|
frame.
|
|||
|
|
|
|||
|
|
CTL Control bit. Output from controller. High to indicate this is a data frame.
|
|||
|
|
|
|||
|
|
Il Idle bit. Used to turn around direction of data line. Both controller and slave should
|
|||
|
|
|
|||
|
|
|
|||
|
|
tristate the data line during this bit. This bit should be low due to pull down
|
|||
|
|
resistor on data line. The controller changes the data line from output to input
|
|||
|
|
at the end of cycle 2. The slave changes the data line from input to output at
|
|||
|
|
the start of cycle 4.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Data bits. Output from slave 8 bits of data transmitted by slave. Controller sets data line
|
|||
|
|
to input during these bits.
|
|||
|
|
|
|||
|
|
|
|||
|
|
13
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
I2 Idle bit. Used to turn around direction of data line. Both controller and slave should
|
|||
|
|
tristate the data line during this bit. Should be low due to pull down resistor on
|
|||
|
|
data line. The slave changes data line from output to input at the end of cycle
|
|||
|
|
11.
|
|||
|
|
|
|||
|
|
|
|||
|
|
SLAVE
|
|||
|
|
|
|||
|
|
|
|||
|
|
Condition
|
|||
|
|
|
|||
|
|
|
|||
|
|
Outside Frame
|
|||
|
|
Null frame
|
|||
|
|
Control Frame
|
|||
|
|
Data output from controller
|
|||
|
|
Data input to controller:-
|
|||
|
|
Cycles 1-2
|
|||
|
|
Cycle 3
|
|||
|
|
Cycles 4-1
|
|||
|
|
Cycle 12
|
|||
|
|
|
|||
|
|
|
|||
|
|
Key T Tristate
|
|||
|
|
I Input
|
|||
|
|
oO Output
|
|||
|
|
|
|||
|
|
|
|||
|
|
SSS eee ee ee ee ae eer
|
|||
|
|
The Transport layer
|
|||
|
|
|
|||
|
|
|
|||
|
|
This section specifies the transport level protocol that operates above the SIBO serial communication
|
|||
|
|
physical layer.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The transport layer protocol controls the serial communication between the SIBO Protocol Controller
|
|||
|
|
(SPC) and a number of SIBO Protocol Slave (SPS) devices. The following rules apply:
|
|||
|
|
|
|||
|
|
|
|||
|
|
1) The interface is controlled by the writing of control bytes from the controller to the slaves.
|
|||
|
|
Control bytes cannot be written by the slaves. Unsolicited data cannot be sent from the slave
|
|||
|
|
to the controller.
|
|||
|
|
|
|||
|
|
|
|||
|
|
2) The controlling device contains two registers to communicate to the slaves. These are the
|
|||
|
|
control register (byte, write only) and the Data register (byte or word, read/write).
|
|||
|
|
|
|||
|
|
|
|||
|
|
Control bytes are transmitted to the slaves by writing to the control register.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The format of the control byte is as follows:-
|
|||
|
|
|
|||
|
|
|
|||
|
|
The control word can have 2 distinct formats depending on the setting of bit 7 the Select (S) bit:
|
|||
|
|
|
|||
|
|
|
|||
|
|
Select = 0 This is the slave select mode. This mode is for selecting, deselecting and
|
|||
|
|
resetting slaves.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Select = 1 This is the slave control mode. This mode is for communicating with a slave
|
|||
|
|
which has been previously selected using the select slave command.
|
|||
|
|
|
|||
|
|
|
|||
|
|
14
|
|||
|
|
|
|||
|
|
|
|||
|
|
2 THE SIBO SERIAL PROTOCOL
|
|||
|
|
|
|||
|
|
|
|||
|
|
Key: R = single reset bit, IIIIII = 6 bit ID field.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The 6 bit ID field is a property only of the slave. No slave may have an ID of zero, hence there can be 63
|
|||
|
|
different slaves connected to one controller.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The reset bit (R) controls whether the slave(s) are selected or reset. If R = 0 slave(s) are reset, R = 1
|
|||
|
|
slave(s) are selected.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Slave select control bytes can be summarised by the following table:
|
|||
|
|
|
|||
|
|
|
|||
|
|
0 0 0 Reset all slaves
|
|||
|
|
|
|||
|
|
0 0 xx< >0 Reset specific slave with ID = xx
|
|||
|
|
|
|||
|
|
0 1 0 Deselect slave (does not reset slave)
|
|||
|
|
|
|||
|
|
0 1 xx< >0 Select slave with ID=xx and read slave info (see below).
|
|||
|
|
|
|||
|
|
|
|||
|
|
The Reset function is dependant on the slave. It would normally put the slave into a known passive reset
|
|||
|
|
State.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Select Slave with ID=xx (S=0,R=1)
|
|||
|
|
|
|||
|
|
This is a special command that causes a slave with ID=xx to transmit to the controller an 8 bit
|
|||
|
|
information field. This field depends entirely on the slave but must be non zero. A reply of 0 indicates
|
|||
|
|
that there is no slave of the requested ID present.
|
|||
|
|
|
|||
|
|
|
|||
|
|
command described above.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The format of the control word in slave select mode is as follows:
|
|||
|
|
|
|||
|
|
|
|||
|
|
Key
|
|||
|
|
|
|||
|
|
R/W Read/write select. 0 = write, 1 = read
|
|||
|
|
|
|||
|
|
B/W Data transfer size. 0 = 1 byte transfer, 1 = word (2 byte transfer).
|
|||
|
|
S/M Single/Multi transfer mode. 0 = single, 1 = multibyte.
|
|||
|
|
|
|||
|
|
XXXX 4 bits of data to slave.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Note the meaning of the 4 bits of data (XXXX) is entirely dependent on the slave.
|
|||
|
|
|
|||
|
|
|
|||
|
|
The settings of R/W,B/W,S/M bits in the control word determine the size, type and direction of
|
|||
|
|
subsequent data transfers in the following manner:
|
|||
|
|
|
|||
|
|
|
|||
|
|
15
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
—_— gs eeeSSSEeeeSSSSSSSSFSSSSSMSSN
|
|||
|
|
|
|||
|
|
|
|||
|
|
2
|
|||
|
|
2
|
|||
|
|
|
|||
|
|
|
|||
|
|
S/M
|
|||
|
|
write a single byte to slave
|
|||
|
|
write a number of single bytes to slave
|
|||
|
|
write a byte pair to slave
|
|||
|
|
|
|||
|
|
|
|||
|
|
write a number of byte pairs to slave
|
|||
|
|
|
|||
|
|
|
|||
|
|
read a number of single bytes from slave
|
|||
|
|
|
|||
|
|
|
|||
|
|
read a byte pair from slave
|
|||
|
|
|
|||
|
|
|
|||
|
|
= SY —& -&§ CO FO OC OO
|
|||
|
|
|
|||
|
|
|
|||
|
|
0
|
|||
|
|
1
|
|||
|
|
0
|
|||
|
|
1
|
|||
|
|
0 read a single byte from slave
|
|||
|
|
1
|
|||
|
|
0
|
|||
|
|
1
|
|||
|
|
|
|||
|
|
|
|||
|
|
- Fe OF 0O KF &§ CO 0
|
|||
|
|
|
|||
|
|
|
|||
|
|
read a number of byte pairs from slave
|
|||
|
|
Write a single byte
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command readies the currently selected slave to receive a byte of data and sets up the controller so
|
|||
|
|
that the next byte (or the LSB of a word) written to its data register will be transmitted to that slave.
|
|||
|
|
Anything further written to the controller's data register will have no effect.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Write a number of single bytes
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command readies the currently selected slave to receive a number of sequential bytes of data. The
|
|||
|
|
slave will expect to receive data bytes until another control byte is received. The controller is set up so
|
|||
|
|
that the next byte (or the LSB of a word) written to its data register will be transmitted to that slave. All
|
|||
|
|
subsequent bytes written to the controller's data register will be transmitted to the slave. This will
|
|||
|
|
continue until another byte is written to the controller's control register.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Write a byte pair
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command readies the currently selected slave to receive two bytes of data and sets up the controller
|
|||
|
|
so that the next word written to its data register will be transmitted to that slave (LSB first). Anything
|
|||
|
|
further written to the controller's data register will have no effect.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Write a number of byte pairs
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command readies the currently selected slave to receive a number of sequential byte pairs of data.
|
|||
|
|
The slave will expect to receive byte pairs until another control byte is received. The controller is set up
|
|||
|
|
so that the next word written to its data register will be transmitted to that slave (LSB first). All
|
|||
|
|
subsequent words written to the controller's data register will be transmitted to the slave. This will
|
|||
|
|
continue until another byte is written to the controller's control register.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Read a single byte
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command triggers a byte to be transmitted from the selected slave to the controller. This byte can
|
|||
|
|
then be read from the LSB of the controller's data register. Further reads of the controller's data register
|
|||
|
|
will return the same data but have no effect on the protocol.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Read a number of single bytes
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command triggers a byte to be transmitted from the selected slave to the controller. This byte can
|
|||
|
|
then be read from the LSB of the data register. This read will trigger the next byte to be transmitted to
|
|||
|
|
the data register of the controller. All subsequent reads of the controller's data register will trigger
|
|||
|
|
further bytes to be transmitted to the controller. This will continue until another byte is written to the
|
|||
|
|
controller's control register.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Read a byte pair
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command triggers a byte pair to be transmitted from the selected slave to the controller. This word
|
|||
|
|
can then be read from the controller's data register. Further reads of the controller's data register will
|
|||
|
|
return the same data but have no effect on the protocol.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Read a number of byte pairs
|
|||
|
|
|
|||
|
|
|
|||
|
|
This command triggers a byte pair to be transmitted from the selected slave to the controller. This word
|
|||
|
|
can then be read from the controller's data register. This read will trigger the next byte pair to be
|
|||
|
|
transmitted to the data register of the controller. All subsequent reads of the controller's data register will
|
|||
|
|
trigger further byte pairs to be transmitted to the controller. This will continue until another byte is
|
|||
|
|
written to the controller's control register.
|
|||
|
|
|
|||
|
|
|
|||
|
|
16
|
|||
|
|
|
|||
|
|
|
|||
|
|
2 THE SIBO SERIAL PROTOCOL
|
|||
|
|
|
|||
|
|
|
|||
|
|
wn below. The time is given in SIBO
|
|||
|
|
pack protocol clock cycles. The length of a clock cycle is nominally 260 nanoseconds for a clock
|
|||
|
|
frequency of 3.84 MHz.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Receive and process the control byte 12 cycles
|
|||
|
|
Byte transfer to or from slave 12 cycles
|
|||
|
|
Byte pair transfer to or from slave 24 cycles
|
|||
|
|
|
|||
|
|
|
|||
|
|
When writing to the controller's data and control registers the following rules apply:-
|
|||
|
|
|
|||
|
|
|
|||
|
|
1) After writing to the control register there must be a delay of at least 12 cycles before the
|
|||
|
|
data register is accessed or another control word is written.
|
|||
|
|
|
|||
|
|
|
|||
|
|
2) To read a word from the data register after the command to read byte pair is issued there
|
|||
|
|
must a delay of at least 12 (for control byte) + 24 (for the byte pair transfer) = 36 cycles.
|
|||
|
|
|
|||
|
|
|
|||
|
|
3) To perform a multiple byte pair write there must be a delay of at least 12 cycles after the
|
|||
|
|
command is written to the control register before the first word can be written to the data
|
|||
|
|
register and a delay of at least 24 cycles between subsequent writes to the data register.
|
|||
|
|
|
|||
|
|
|
|||
|
|
A slave can be in one of 5 states. Note a control byte can be received and interpreted at any time.
|
|||
|
|
1) Waiting to receive a data byte or control byte
|
|||
|
|
2) Waiting to receive a data byte pair or control byte
|
|||
|
|
3) Waiting to transmit a data byte or control byte
|
|||
|
|
4) Waiting to transmit a data byte pair or control byte
|
|||
|
|
|
|||
|
|
|
|||
|
|
5) Waiting to receive control byte only
|
|||
|
|
|
|||
|
|
|
|||
|
|
The following table shows the state after each control word is received
|
|||
|
|
|
|||
|
|
|
|||
|
|
S R Dow Slave select
|
|||
|
|
0 0 0 Reset all
|
|||
|
|
|
|||
|
|
0 0 <>0 Reset slave
|
|||
|
|
| 0 Deselect slave
|
|||
|
|
Oo 1 <>0 Select slave
|
|||
|
|
|
|||
|
|
S RW B2B SM XXXx
|
|||
|
|
|
|||
|
|
1 0 0 0 x write byte
|
|||
|
|
|
|||
|
|
1 OQ 0 1 x write bytes
|
|||
|
|
|
|||
|
|
1 0 1 0 x write byte pair
|
|||
|
|
1 0O 1 1 x write byte pairs
|
|||
|
|
1 1 0 0 x read byte
|
|||
|
|
|
|||
|
|
1 1 0 1 x read bytes
|
|||
|
|
|
|||
|
|
1 1 1 0 x read byte pair
|
|||
|
|
|
|||
|
|
1 1 1 1 x read byte pairs
|
|||
|
|
|
|||
|
|
|
|||
|
|
17
|
|||
|
|
|
|||
|
|
|
|||
|
|
CHAPTER 3
|
|||
|
|
|
|||
|
|
|
|||
|
|
THE SIBO EXPANSION PorTS
|
|||
|
|
|
|||
|
|
|
|||
|
|
The SIBO architecture allows for two types of expansion device, extended internal expansion and reduced
|
|||
|
|
external expansion. Extended internal expansion slots provide direct I/O with the processor, a SIBO
|
|||
|
|
serial channel, and connection to the power supply. It allows for higher powered expansion devices to be
|
|||
|
|
added by including a direct connection to the main 7.2 volt battery. The MC and HC products both
|
|||
|
|
support two independent extended internal expansion slots. Reduced external expansion is based on a
|
|||
|
|
single SIBO serial channel only and has very limited power available ( < 25 mA ). The Series 3 and 3a
|
|||
|
|
supports a single reduced external expansion slot only.
|
|||
|
|
|
|||
|
|
|
|||
|
|
———E SSS eee ee ee eee
|
|||
|
|
Extended internal expansion
|
|||
|
|
|
|||
|
|
|
|||
|
|
98148-1182
|
|||
|
|
EXPANSION DEVICE
|
|||
|
|
|
|||
|
|
|
|||
|
|
COMPONENT SIDE
|
|||
|
|
|
|||
|
|
|
|||
|
|
99148-1123
|
|||
|
|
|
|||
|
|
|
|||
|
|
SIBO COMPUTER
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 2
|
|||
|
|
|
|||
|
|
|
|||
|
|
The 26th position is a polarising key and should be left blank. The correct mating connector on the
|
|||
|
|
expansion device is made up from a number of Molex C-Grid series 90148 connectors. Pins 1 and 2 are
|
|||
|
|
|
|||
|
|
|
|||
|
|
19
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
GND and should have there own connector placed nearer the board edge to ensure the GND connection
|
|||
|
|
is made first when the expansion device is inserted. The required connectors are Molex 90148-1102 for
|
|||
|
|
the GND contacts and Molex 90148-1123 for the signal contacts.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Should mate first when device inserted
|
|||
|
|
|
|||
|
|
Should mate first when device inserted
|
|||
|
|
B CMOS] 8 bit multiplexed address and data bus pulled low with 100 K resistors
|
|||
|
|
B CMOS
|
|||
|
|
|
|||
|
|
|
|||
|
|
O CMOS} I/O write strobe - active high, data valid on falling edge of IOWR
|
|||
|
|
O CMOS] I/O read strobe - high when device can place valid data on ADO-AD7
|
|||
|
|
O CMOS| External Expansion Select - high during I/O cycles to expansion device
|
|||
|
|
Reserved
|
|||
|
|
Reserved
|
|||
|
|
Reserved
|
|||
|
|
Used to enable reprograming of internal system Flash memory
|
|||
|
|
Unregulated battery voltage - present all the time
|
|||
|
|
I CMOS | Active high interrupt input
|
|||
|
|
I CMOS | Active low input pulled up to Vcci - pull low to switch machine on
|
|||
|
|
B CMOS| SIBO serial protocol data line - pulled low
|
|||
|
|
T CMOS| SIBO serial protocol clock line - Hi-Z in standby needs a pull down
|
|||
|
|
Power
|
|||
|
|
Power | +5 volt supply, switched off in standby. Max current available = 50 mA
|
|||
|
|
|
|||
|
|
|
|||
|
|
The signal types are:
|
|||
|
|
|
|||
|
|
O CMOS CMOS output to the expansion device.
|
|||
|
|
|
|||
|
|
B CMOS CMOS bi-directional line to the expansion device.
|
|||
|
|
T CMOS CMOS tri-state output to the expansion device.
|
|||
|
|
|
|||
|
|
1 CMOS CMOS input from the expansion device.
|
|||
|
|
|
|||
|
|
|
|||
|
|
All the CMOS signals including the ADO-AD7 bus are buffered from the main system busses and so
|
|||
|
|
present a load of one HC series logic gate.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Expansion devices can be connected to direct processor I/O space using the following signals; ADO-AD7,
|
|||
|
|
ALE, IOWR, IORD, EES and INTR.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ADO-AD7 is the least significant half of the multiplexed address and data bus, this means that up to 128
|
|||
|
|
I/O addresses are available for each expansion device. As only the least significant half of the bus is
|
|||
|
|
available and no bus conversion is done only even addresses can be used.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ALE must be used to latch the address from ADO-AD7 for devices that require a stable address. The
|
|||
|
|
address is valid on the falling edge of ALE. Note that AO will always be low for valid writes to the
|
|||
|
|
expansion device and as such should not be used as an address line, Al should be used as the lowest
|
|||
|
|
order address line. AO can be used as an additional enable signal to stop odd I/O accesses disturbing the
|
|||
|
|
expansion device (see example 1).
|
|||
|
|
|
|||
|
|
|
|||
|
|
EES is the External Expansion Select and is high during all I/O accesses to the expansion device, i.e. for
|
|||
|
|
I/O reads and writes to address range 100 to 1FF hex. for expansion port 1, and 200 to 2FF for
|
|||
|
|
expansion port 2.
|
|||
|
|
|
|||
|
|
|
|||
|
|
20
|
|||
|
|
|
|||
|
|
|
|||
|
|
3 THE SIBO EXPANSION PORTS
|
|||
|
|
|
|||
|
|
|
|||
|
|
IOWR is an active high signal which is high during all I/O write bus cycles. The data on ADO-AD7 is
|
|||
|
|
guaranteed to be stable before the rising edge of IOWR and after the falling edge of IOWR.
|
|||
|
|
|
|||
|
|
|
|||
|
|
IORD is an active high signal which is high during all I/O read bus cycles. The ADO-AD7 bus is
|
|||
|
|
guaranteed to be tri-state before the rising edge of IORD and after the falling edge of IORD. The
|
|||
|
|
expansion device must present valid data on the bus when IORD is high, see the timing details below.
|
|||
|
|
|
|||
|
|
|
|||
|
|
INTR is an active high interrupt input to ASJC1. This can be used as a directly readable bit or as a
|
|||
|
|
dedicated interrupt input. It must not be driven high when the system is in the standby state as this input
|
|||
|
|
is pulled down and will cause excessive standby current consumption.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 3 shows the timing of the I/O write and read cycles.
|
|||
|
|
|
|||
|
|
|
|||
|
|
1/0 WRITE CYCLE :
|
|||
|
|
: /VVV ,
|
|||
|
|
ADB-AD7 VALID _ADDRX X XXX VALID WRITE DATA :
|
|||
|
|
|
|||
|
|
|
|||
|
|
ALE
|
|||
|
|
|
|||
|
|
|
|||
|
|
Fes
|
|||
|
|
|
|||
|
|
|
|||
|
|
ALE
|
|||
|
|
|
|||
|
|
|
|||
|
|
EES
|
|||
|
|
|
|||
|
|
|
|||
|
|
IORD
|
|||
|
|
|
|||
|
|
|
|||
|
|
Address set up time
|
|||
|
|
|
|||
|
|
Address hold time
|
|||
|
|
|
|||
|
|
Write data set up time
|
|||
|
|
|
|||
|
|
Write cycle pulse width
|
|||
|
|
|
|||
|
|
Write data hold time
|
|||
|
|
|
|||
|
|
Time from Hi-Z to data active
|
|||
|
|
Read cycle pulse width
|
|||
|
|
|
|||
|
|
Read data set up time
|
|||
|
|
|
|||
|
|
Read data hold time
|
|||
|
|
|
|||
|
|
|
|||
|
|
Note the typical values given are for an MC with a system oscillator of 15.36 MHz, the HC times will be
|
|||
|
|
approximately twice as long. The minimum times given are for projected higher speed MC devices with
|
|||
|
|
oscillator frequencies of up to 23.04 MHz.
|
|||
|
|
|
|||
|
|
|
|||
|
|
21
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
a kw eS
|
|||
|
|
|
|||
|
|
|
|||
|
|
1.536 MHz regardless of the system clock frequency. This frequency is a multiple of the SLD clock rate
|
|||
|
|
and of all normal RS232 baud rates.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Two power supplies are available for expansion devices these are Vcc2 and Vsup.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Vec2 is a +5 volt supply that is derived from Vsup. Vec2 is switched off when the system is in the
|
|||
|
|
standby state and is switched on when the operating or idle state is entered. Each expansion device can
|
|||
|
|
draw up to 50 mA from Vcc2.
|
|||
|
|
|
|||
|
|
|
|||
|
|
If an expansion device requires more than 50 mA or cannot be powered down when the system is in the
|
|||
|
|
standby state the Vsup power supply must be used. Vsup is the unregulated supply directly from the main
|
|||
|
|
system batteries or from the DC jack input. It will be in the range 5.5 to 12 volts under normal
|
|||
|
|
conditions. To use Vsup the expansion device must regulate Vsup to 5 volts with a low drop-out linear
|
|||
|
|
regulator. Care must be taken to not be active and driving any signals high when the system is in the
|
|||
|
|
standby state as Vsup is always present. This can be achieved either in software or by using Vcc2 as a
|
|||
|
|
signal indicating the active state.
|
|||
|
|
|
|||
|
|
|
|||
|
|
SSE, EE ee ae ee eee
|
|||
|
|
|
|||
|
|
|
|||
|
|
Reduced external expansion
|
|||
|
|
|
|||
|
|
|
|||
|
|
The reduced expansion port is made up of a 6 way two row connector spaced on a 2 x 3 way 0.1 inch
|
|||
|
|
pitch. Figure 4 shows the physical connector numbering.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Looking into Series 3 / 3a
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 4
|
|||
|
|
|
|||
|
|
|
|||
|
|
MSD Master SIBO serial protocol data line - pulled low
|
|||
|
|
MCLK Master SIBO serial protocol clock line - low in standby
|
|||
|
|
Vec +5 volt supply, switched off in standby. Limited to 25 mA
|
|||
|
|
GND Signal ground, this signal should mate first when connector inserted
|
|||
|
|
SSD/INT Slave SIBO serial data line or active high interrupt input
|
|||
|
|
Slave SIBO serial clock line or active high switch on input
|
|||
|
|
|
|||
|
|
|
|||
|
|
MSD and MCLK form a single master SIBO serial protocol channel, this is normally channel 7. The
|
|||
|
|
serial channel clock can be continuously enabled to provide a free running clock for expansion devices.
|
|||
|
|
The frequency is fixed at 1.536 MHz regardless of the system clock frequency. SDS/INT and
|
|||
|
|
SCK/EXON are both dual function pins. SDS and SCK form a single slave SIBO serial protocol channel,
|
|||
|
|
this can be combined with MSD and MCLK to form a bidirectional high speed data link. SDS/INT can
|
|||
|
|
also be used as an active high interrupt input. The function of SDS/INT can be programmed in ASIC2 or
|
|||
|
|
ASIC9. A rising edge on the SCK/EXON input will bring the system out of the Standby state into the
|
|||
|
|
operating state. VCC is a +5 volt supply that is switched off when the system is in the standby state and
|
|||
|
|
|
|||
|
|
|
|||
|
|
22
|
|||
|
|
|
|||
|
|
|
|||
|
|
3 THE SIBO EXPANSION PORTS
|
|||
|
|
|
|||
|
|
|
|||
|
|
is switched on when the system is in the operating or idle state. The maximum current that can be drawn
|
|||
|
|
is 25 mA.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ha Se ee ee eS ee a el
|
|||
|
|
Example expansion devices
|
|||
|
|
|
|||
|
|
|
|||
|
|
Two examples are given to illustrate using the direct I/O expansion signals present in an extended SIBO
|
|||
|
|
expansion port. A further example is given using a SIBO serial channel for both reduced and extended
|
|||
|
|
expansion slots.
|
|||
|
|
|
|||
|
|
|
|||
|
|
ExaER one is a ‘ile 8 bit read/write port. 8 LEDs can be set ie an OUT instruction and the state of
|
|||
|
|
an 8 bit DIL switch can be read by an IN instruction. Figure 5 shows the schematic of such a port.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=
|
|||
|
|
Eee te a tae a [ia]
|
|||
|
|
=I a [ae
|
|||
|
|
vs iis
|
|||
|
|
4 274 2ag Le) 2
|
|||
|
|
16p
|
|||
|
|
Bch ai ji
|
|||
|
|
26) IT
|
|||
|
|
8x100K
|
|||
|
|
|
|||
|
|
|
|||
|
|
GND GNO GND GND GND GND GND GNO
|
|||
|
|
|
|||
|
|
|
|||
|
|
8 x Lav
|
|||
|
|
current LEOs
|
|||
|
|
|
|||
|
|
|
|||
|
|
cs
|
|||
|
|
LOOnF
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 5
|
|||
|
|
|
|||
|
|
|
|||
|
|
Note that the port is powered from Vcc2 which has a maximum current budget of 50 mA so low current
|
|||
|
|
LEDs must be used.
|
|||
|
|
|
|||
|
|
|
|||
|
|
IC3B latches the state of ADO to provide a stable AO line, this is used as an additional enable signal, so
|
|||
|
|
that only even I/O cycles will effect the state of the port. IC2A combines AO, EES and IORD to provide
|
|||
|
|
a negative going pulse during any even read to the expansion port address range. IC2B combines AO,
|
|||
|
|
EES and IOWR to provide a negative going pulse during any even writes to the expansion port address
|
|||
|
|
range. IC2C just inverts the sense of ALE so that address can be latched on the rising edge by IC3B.
|
|||
|
|
|
|||
|
|
|
|||
|
|
wo - 16 channel ADC |
|
|||
|
|
|
|||
|
|
Example two is a 16 channel analog input interface. It is based on the National Semiconductor part
|
|||
|
|
ADC0816. The interface is arranged so that a write to the expansion port address range will start a
|
|||
|
|
conversion and select the required analog channel to read. The interrupt input (INTR) is connected to the
|
|||
|
|
EOC signal to generate an interrupt when the conversion is complete.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure '6 ‘shows the schematic of the 16 channel analog interface.
|
|||
|
|
|
|||
|
|
|
|||
|
|
23
|
|||
|
|
|
|||
|
|
|
|||
|
|
HARDWARE REFERENCE
|
|||
|
|
|
|||
|
|
|
|||
|
|
MC/HC EXPANSION PORT
|
|||
|
|
|
|||
|
|
|
|||
|
|
i cL c2 i c3 ca cs
|
|||
|
|
— 6V3 100nF L100nF 406nF 100nF
|
|||
|
|
|
|||
|
|
|
|||
|
|
GND
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 6
|
|||
|
|
|
|||
|
|
|
|||
|
|
IC1 latches AD1 to AD4 to provide 4 stable address lines during the START and ALE pulse to the
|
|||
|
|
ADC0816. IC3A combines IOWR and EES to provide a positive going pulse to set the cannel address
|
|||
|
|
and start a conversion. IC3B combines IORD and EES to provide a positive going pulse to enable the
|
|||
|
|
digital data onto the ADO-AD7 bus. The clock line from the serial channel SCK is used as a free running
|
|||
|
|
1.536 MHz clock source, this is divided by 4 by IC2 to provide a 384 KHz clock for the ADC0816. The
|
|||
|
|
end of conversion signal (EOC) is connected directly to the INTR input to provide an interrupt when the
|
|||
|
|
conversion is complete.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Example three is a TTL level RS232 expansion device that can be connected to a reduced or extended
|
|||
|
|
expansion slot. »
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 7 shows the schematic of A TTL RS232 based expansion device.
|
|||
|
|
|
|||
|
|
|
|||
|
|
3 THE SIBO EXPANSION PORTS
|
|||
|
|
|
|||
|
|
|
|||
|
|
po RS 400K
|
|||
|
|
|
|||
|
|
|
|||
|
|
. RQ 100K
|
|||
|
|
pa? pa2———_.D
|
|||
|
|
ears carat
|
|||
|
|
mus, Sma,
|
|||
|
|
|
|||
|
|
pe RS 106K
|
|||
|
|
earner se)
|
|||
|
|
|
|||
|
|
|
|||
|
|
GND
|
|||
|
|
|
|||
|
|
|
|||
|
|
vec ai
|
|||
|
|
PNE
|
|||
|
|
|
|||
|
|
|
|||
|
|
IC2 74HCT244
|
|||
|
|
|
|||
|
|
|
|||
|
|
RITE Ea : : c3+
|
|||
|
|
EXPANSION : O.1uF per chip
|
|||
|
|
v ——<EI :
|
|||
|
|
eee Th. ANPUIS..£
|
|||
|
|
|
|||
|
|
|
|||
|
|
Figure 7
|
|||
|
|
|
|||
|
|
|
|||
|
|
The interface is based around a Psion custom chip known as ASICS, this device is a 44 pin plastic quad
|
|||
|
|
flat pack device and is available from Psion for custom expansion development. This device converts the
|
|||
|
|
SIBO serial channel into standard RS232 signals and allows the standard RS232 device driver contained
|
|||
|
|
in EPOC to be used.
|
|||
|
|
|
|||
|
|
|
|||
|
|
Transistor Q1 provides a switched power rail for any other expansion device. This rail will automatically
|
|||
|
|
be switched off when the RS232 port is closed. D1 is required to isolate the supply so that the external
|
|||
|
|
device does not back power the SIBO computer when it enters the standby state. If the additional device
|
|||
|
|
does not require a supply or only uses a few micro-amps then Q1 and D1 can be omitted, Vcc and the
|
|||
|
|
supply for the expansion device can be connected directly to Vcc2.
|
|||
|
|
|
|||
|
|
|
|||
|
|
If CMOS level.RS232 signals are required IC1 can be replaced with a 74HC244 device. If inverted sense
|
|||
|
|
RS232 signals are required IC1 can be replaced with a 74HC241 device.
|
|||
|
|
|
|||
|
|
|
|||
|
|
25
|
|||
|
|
|
|||
|
|
|
|||
|
|
ate
|
|||
|
|
|
|||
|
|
|
|||
|
|
rp
|
|||
|
|
|
|||
|
|
|
|||
|
|
,
|
|||
|
|
Lie a
|
|||
|
|
af 5
|
|||
|
|
2 di Pe
|
|||
|
|
: ra
|
|||
|
|
*.
|
|||
|
|
|
|||
|
|
|
|||
|
|
INDEX
|
|||
|
|
|
|||
|
|
|
|||
|
|
ADO-AD7 signal 20
|
|||
|
|
ALE signal 20
|
|||
|
|
analog interface 23
|
|||
|
|
ASIC1 1
|
|||
|
|
8/16-bit bus 2
|
|||
|
|
1/0 decoding 4
|
|||
|
|
interrupts 4
|
|||
|
|
memory decoding 3
|
|||
|
|
protected mode 4
|
|||
|
|
ASIC2 1, 4
|
|||
|
|
serial protocol 5
|
|||
|
|
ASIC3 2,9
|
|||
|
|
power supply 8
|
|||
|
|
ASIC5 25
|
|||
|
|
ASICS 1,9
|
|||
|
|
addressing 6
|
|||
|
|
buzzer 4
|
|||
|
|
CODEC 7
|
|||
|
|
sound interrupt 8
|
|||
|
|
Control frames 12
|
|||
|
|
Data input frames 12
|
|||
|
|
Data output frames 12
|
|||
|
|
EES signal 20
|
|||
|
|
|
|||
|
|
|
|||
|
|
eight channel controller 11
|
|||
|
|
expansion connector 22
|
|||
|
|
|
|||
|
|
|
|||
|
|
expansion port 5, 22
|
|||
|
|
|
|||
|
|
|
|||
|
|
extended expansion port 19
|
|||
|
|
|
|||
|
|
|
|||
|
|
Flash 6
|
|||
|
|
|
|||
|
|
addressing 7
|
|||
|
|
FRC 6, 7
|
|||
|
|
|
|||
|
|
interrupt 8
|
|||
|
|
free running clock 22
|
|||
|
|
|
|||
|
|
|
|||
|
|
Free running counter 6, 7
|
|||
|
|
|
|||
|
|
|
|||
|
|
HALT 2
|
|||
|
|
HC 1
|
|||
|
|
ASIC1 2
|
|||
|
|
high speed link 5
|
|||
|
|
i/o timing 21
|
|||
|
|
IN instruction 23
|
|||
|
|
INTR signal 21
|
|||
|
|
IORD signal 21
|
|||
|
|
IOWR signal 21
|
|||
|
|
keyboard 4
|
|||
|
|
interface 5
|
|||
|
|
MC 1
|
|||
|
|
ASIC1 2
|
|||
|
|
memory pack 11
|
|||
|
|
Null! frames 12
|
|||
|
|
OUT instruction 23
|
|||
|
|
power control!IC 11
|
|||
|
|
power supply 5
|
|||
|
|
ASIC2 4
|
|||
|
|
expansion 22
|
|||
|
|
HC 8,9
|
|||
|
|
MC 8,9
|
|||
|
|
|
|||
|
|
|
|||
|
|
Series 3 8,9
|
|||
|
|
RAM
|
|||
|
|
addressing 6
|
|||
|
|
read/write port 23
|
|||
|
|
reduced expansion port 22
|
|||
|
|
ROM
|
|||
|
|
|
|||
|
|
addressing 6
|
|||
|
|
|
|||
|
|
addressing two sites 7
|
|||
|
|
RS232 interface 24
|
|||
|
|
serial channel clock 22
|
|||
|
|
serial transfer rate 11
|
|||
|
|
Series 3 1
|
|||
|
|
Series 3a 1
|
|||
|
|
|
|||
|
|
ASICS 6
|
|||
|
|
|
|||
|
|
expansion support 7
|
|||
|
|
SIBO Protocol Slave (SPS) devices 14
|
|||
|
|
SSD 4, 5, 6, 7
|
|||
|
|
|
|||
|
|
power supply 9
|
|||
|
|
SSDs 5
|
|||
|
|
V30H 1
|
|||
|
|
|
|||
|
|
addressing 6
|
|||
|
|
|
|||
|
|
ASICS 6
|
|||
|
|
|
|||
|
|
speed 6
|
|||
|
|
|
|||
|
|
|
|||
|
|
BC
|
|||
|
|
|
|||
|
|
|
|||
|
|
2 ry
|
|||
|
|
ig«aa
|
|||
|
|
4 wee “
|
|||
|
|
is eye » a «4 . hi
|
|||
|
|
Sen 1 OP linn (te
|
|||
|
|
quot
|
|||
|
|
“a eer «
|
|||
|
|
ee
|
|||
|
|
‘ o? yon >
|
|||
|
|
|
|||
|
|
|
|||
|
|
BY reine - mer
|
|||
|
|
ree ad we «
|
|||
|
|
athe
|
|||
|
|
|
|||
|
|
op @%
|
|||
|
|
|
|||
|
|
|
|||
|
|
= & Mie
|
|||
|
|
ee he
|
|||
|
|
S pee) Pye thew.”
|
|||
|
|
|
|||
|
|
|
|||
|
|
P a | -
|
|||
|
|
‘ ve a Ww
|
|||
|
|
é
|
|||
|
|
? r
|
|||
|
|
i)
|
|||
|
|
4
|
|||
|
|
a»
|
|||
|
|
vy
|
|||
|
|
|
|||
|
|
|
|||
|
|
(a0ul
|
|||
|
|
|
|||
|
|
|
|||
|
|
OS wrr.e Wis cue
|
|||
|
|
|
|||
|
|
|
|||
|
|
etsy * 4
|
|||
|
|
|
|||
|
|
VS eceTeS Se) ay
|
|||
|
|
|
|||
|
|
° 9 Me é
|
|||
|
|
% gun «rele
|
|||
|
|
+ cic thy
|
|||
|
|
& erate
|
|||
|
|
|
|||
|
|
|
|||
|
|
muhuwd wet
|
|||
|
|
+ @hSi ole beg
|
|||
|
|
if tite
|
|||
|
|
7 tain wd
|
|||
|
|
Y 7 eae,
|
|||
|
|
8 Veet ooru
|
|||
|
|
«
|
|||
|
|
u,! Cee
|
|||
|
|
2B: 2) Jes.
|
|||
|
|
> 1s p
|
|||
|
|
|
|||
|
|
|
|||
|
|
A vine) Some
|
|||
|
|
r?. were wil
|
|||
|
|
| Petes? Myer’ ep Q
|
|||
|
|
y i” @ yi ian nQ
|
|||
|
|
|
|||
|
|
|
|||
|
|
if hw : -—)
|
|||
|
|
LL 1: vinte wy y
|
|||
|
|
% j ig ve ' ri
|
|||
|
|
|
|||
|
|
[ ? ooh y ontarene
|
|||
|
|
|
|||
|
|
|
|||
|
|
ae | 7ae “new; wr
|
|||
|
|
|
|||
|
|
|
|||
|
|
& wel)
|
|||
|
|
pvrinewelibie
|
|||
|
|
(yy Teer
|
|||
|
|
aw "et 4qea!
|
|||
|
|
elie em. eas
|
|||
|
|
& * Ab
|
|||
|
|
' mi
|
|||
|
|
|
|||
|
|
| ica
|
|||
|
|
40 Ves ® Niet
|
|||
|
|
grea <)
|
|||
|
|
“> (er ifr
|
|||
|
|
‘ia ener
|
|||
|
|
* APS (aD!
|
|||
|
|
fs. irq BUC!
|
|||
|
|
& Wiaerye
|
|||
|
|
|
|||
|
|
1 on™. ©
|
|||
|
|
3M
|
|||
|
|
|
|||
|
|
> ¥ HeA
|
|||
|
|
‘7 B imig i“ ve
|
|||
|
|
re oper’ upg
|
|||
|
|
Co Weetye tte! FV
|
|||
|
|
> twah rw +>
|
|||
|
|
‘ata hs &
|
|||
|
|
|
|||
|
|
|