FACULTEIT DER ELEKTROTECHNIEK TECHNISCHE UNIVERSITEIT EINDHOVEN VAKGROEP MEDISCHE ELEKTROTECHNIEK
DEGEMODERNffiEERDE POCKETSTEM door: M.L.M. Zelissen
Rapport van het stagewerk uitgevoerd van september 1989 tot mei 1990 onder leiding van dr. ir. R.P. Waterham met medebegeleiding van ir. W.H. Leliveld
DE FACULTEIT DER ELEKTROTECHNIEK VAN DE TECHNISCHE UNIVERSITEIT EINDHOVEN AANVAARDT GEEN AANSPRAKELIJKHElD VOOR DE INHOUD VAN STAGE- EN AFSTUDEERVERSLAGEN
Samenvatting Door de interfaculteitswerkgroep "Communicatie hulpmiddelen voor gehandicapten" van de Technische Universiteit Eindhoven en het Instituut voor Perceptie Onderzoek is de Pocketstem [Waterham, 19891, een communicatie hulpmiddel voor spraakgehandicapten, ontwikkeld. De Pocketstem is een apparaat met 28 toetsen, dat bij het indrukken van een van de toetsen een van tevoren vastgelegde boodschap uitspreekt. Tijdens het Pocketstemproject is tevens een versie ontwikkeld die door middel van een toets te bedienen is. Nadat gebleken was dat beide versies aan de verwachtingen voldeden was er behoefte om ze in een apparaat te integreren. Hierin moesten tevens aIle 266 beschikbare zinnen worden opgenomen. Het moest voor de gebruiker mogelijk zijn om uit deze 266 zinnen een keuze van 28 te maken voor direct gebruik. Bovendien moest de hardware van de oude versie gemoderniseerd worden. In de nieuwe versie zijn de hardware en software aangepast, zodat het nieuwe apparaat zowel met een toetsenbord als met een toets bediend kan worden. am de bedieningswijze te veranderen hoeft aIleen het toetsenbord te worden vervangen door een ledmatrix. Door het toepassen van een groter geheugen is het mogelijk geworden aIle beschikbare zinnen in het apparaat op te nemen. Het apparaat is van een programmeerstand voorzien, waarin een keuze van 28 zinnen uit de beschikbare 266, aan het toetsenbord kan worden toegekend. Door het toepassen van nieuwe componenten is de hardware op verschillende punten gemoderniseerd.
1
Inhoud Samenvatting
1
1 Inleiding
4
2
Ontwerpeisen en realisatie 2.1 Beknopte beschrijving van de oude Pocketstem 2.1.1 De 28-toetsen versie . . . . . . . . 2.1.2 De een-toets versie . . . . . . . . . 2.2 Ontwerpeisen voor de nieuwe Pocketstem 2.3 Realisatie . . . . . . . . . . . . . . . . . .
6 6 6 8 9 10
3
De 3.1 3.2 3.3
12 12 14 17 18 19 19 21 23 23 25 28 29 31
hardware De opbouw van de schakeling . . . . . . . . . . . . . . Samenvoegen van toetsenbord en ledmatrix hardware. De microprocessor . . . . . . . . . . . . . . . . . . 3.3.1 Ret aansturen van het toetsenbordgedeelte 3.3.2 De communicatie met de spraaksynthesizer 3.3.3 Data ophalen uit het EPROM 3.3.4 Overige besturingslijnen 3.4 Ret power-control circuit 3.4.1 De 5V-voeding . . . . . 3.4.2 Ret genereren van de resetpuls 3.4.3 Referentiespanning voor de spraaksynthesizer 3.4.4 Batterij-controle 3.5 De audioversterker
4 De software 4.1 De indeling van het geheugen . . . . . . . . . . . . . . . .. 4.2 Aanpassingen ten gevolge van het samenvoegen van de toetsen en led versies . . . . . . . . . 4.3 Ret instellen van het toetsenbord 4.4 Ret programma. . . . . . . . 4.4.1 Ret hoofdprogramma ..
2
33 34 38 40 44 44
4.5
5
4.4.2 Het ophalen van spraakdata . Het genereren van de spraakdata
Conclusies
48 50
54
Literatuurlijst
55
A De schema's en onderdelenlijst
57
B Bet zinnenbestand
64
C Gebruiksaanwijzingen C.l Gebruiksaanwijzing voor de Pocketstem met toetsenbord . C.2 Gebruiksaanwijzing voor de Pocketstem met een-toets bediening C.3 Gebruiksaanwijzing voor het instellen van het toetsenbord.
74 75
3
77 80
1 Inleiding In de interfaculteitswerkgroep "Communicatie hulpmiddelen voor gehandicapten" van het Instituut voor Perceptie Onderzoek en de vakgroep Medische Elektrotechniek van de Technische Universiteit Eindhoven wordt o.a. onderzoek gedaan naar het toepassen van synthetische spraak in communicatiehulpmiddelen voor spraakgehandicapten. Dit onderzoek heeft twee typen spraakhulpmiddelen opgeleverd, die voor twee verschillende doelgroepen zijn ontworpen. De Tiepstem !Deliege, 1989] is een tekst naar spraak systeem dat de door middel van een toetsenbord ingetypte tekst omzet in spraak. Dit apparaat heeft de meeste mogelijkheden (een onbegrensd vocabulair), maar eist weI voldoende motorische en cognitieve vaardigheden van de gebruiker, om het apparaat te kunnen bedienen. De Pocketstem !Waterham, 19891 daarentegen is een apparaat dat gemakkelijker te bedienen is maar heeft als nadeel dat de gebruiker slechts kan beschikken over 28 van tevoren vastgelegde boodschappen. De 28 boodschappen vormen een keuze uit een lijst van 266 momenteel beschikbare boodschappen. Bij het indrukken van 1 van de 28 toetsen wordt de hiermee overeenkomende boodschap uitgesproken. De Pocketstem is de opvolger van het eerste ontwerp, de compacte spraakhulp (CSH) !Waterham, 1986]. Dit eerste model had 20 toetsen voor de selectie van de zin, plus een "spreek" toets en een "zacht" en een "hard" toets. Na het selecteren verscheen de betreffende zin op een display en door het indrukken van de "spreek" toets (eventueel voorafgegaan door de "hard" of "zacht" toets) werd de boodschap met de overeenkomende geluidssterkte uitgesproken. De praktijkevaluatie van dit model wees uit de er een en ander aan verbeterd kon worden. Deze verbeteringen zijn verwerkt in de Pocketstem. De Pocketstem is vergeleken met de CSH veel lichter en kleiner. Het apparaat is voorzien van een toetsenbord, met 28 membraantoetsen, dat de gehele bovenkant van het apparaat beslaat. De spreektoets en het display zijn vervallen. De betreffende zin wordt direct na het indrukken van een van de toetsen uitgesproken. De toetsen zijn voorzien van symbolen die dienen 4
als geheugensteun bij het kiezen van een zin. De geluidssterkte kan met behulp van een schakelaar aan de onderkant van het apparaat op 5 niveaus worden ingesteld. Inmiddels was er door Philips een nieuwe spraakchip, de PCF8200 geintroduceerd. Hierbij kan de spreeksnelheid gemakkelijk worden veranderd en er kan met een vrouwestem worden gesproken. Om de doelgroep van het apparaat uit te breiden zijn er in de loop der tijd verschillende varianten op de Pocketstem ontworpen. Er is gezorgd voor een versie die door middel van een toets te bedienen is [Bierens, 1989]. Hierbij wordt het toetsenbord vervangen door een ledmatrix. Door middel van de toets kan met verschillende scanmethoden die led gekozen worden die overeenkomt met de gewenste boodschap. Een tweede variant op de Pocketstem is de Dominostem [Winthagen, 1989]. Deze bevat een veel groter zinnenbestand (1200), waaruit een zin gekozen kan worden met behulp van een symbolentaal en een toetsenbord met 64 toetsen. Naast deze twee varianten werden nog enkele versies gebouwd, die voorzien waren van een variabele spreeksnelheid [Winthagen, 1988]. Door Corporate Industrial Design (Philips) was tijdens het verloop van het Pocketstem-project aan een ontwerp begonnen voor de behuizing van de Pocketstem, die oorspronkelijk in een standaard kunststof behuizing was ondergebracht. Bij het verschijnen van deze nieuwe behuizing en nadat gebleken was dat de een-toets versie aan de verwachtingen voldeed was er behoefte om de verschillende mogelijkheden in een apparaat te integreren. Een nieuwe Pocketstem zou dus zowel met behulp van een toetsenbord als met een toets bedienbaar moeten zijn. Bovendien moest onderzocht worden of het mogelijk was de gehele zinnenset van 266 zinnen in het apparaat op te nemen en zo de gebruiker zelf te laten bepalen welke 28 zinnen hij hieruit aan het toetsenbord wi! toekennen. Het moest dus voor de gebruiker (of een persoon uit zijn directe omgeving) mogelijk zijn om de keuze van 28 zinnen uit het bestand van 266 aan te passen, zonder tussenkomst van een deskundig persoon. Bij het ontwerpen moesten ook de verschillende onderdelen van de bestaande Pocketstem gemoderniseerd worden door gebruik te maken van nieuwe componenten en er diende rekening te worden gehouden met enkele veranderingen en nieuwe eisen.
5
2 Ontwerpeisen en realisatie 2.1
2.1.1
Beknopte beschrijving van de oude Pocketstem De 28-toetsen versie
De oude versie van de Pocketstem (zie [Waterham, Verhoeven, 1987] voor een gedetailleerde beschrijving) is opgenomen in een kunststof behuizing (155x92x33 mm 3 ), waarvan de gehele bovenkant in beslag wordt genomen door het membraan-toetsenbord (4 rijen van 7 toetsen), zoals is weergegeven in figuur 2.1. Aan de zijkant bevinden zich de aan/uit-schakelaar en de accu-Ieeg indicatie, die aangeeft wanneer de accu moet worden opgeladen. Aan de voorkant bevindt zich een connector voor de acculader. De aan/uitschakelaar dient om tijdens transport te voorkomen dat er een zin wordt uitgesproken als per ongeluk een toets wordt ingedrukt. In de onderkant van het apparaat zijn de luidspreker en de volumeregelaar (met 5 niveaus) gemonteerd. De primaire doelgroep van deze Pocketstem bestaat uit mensen met een spraakhandicap, die over onvoldoende cognitieve en/ of motorische vaardigheden beschikken om de Tiepstem [Deliege, 1989] te kunnen bedienen. Om een zin te laten uitspreken moet de bijbehorende toets worden ingedrukt. Elke toets is voorzien van een symbool, dat dient als geheugensteun. De door de gebruiker gekozen 28 zinnen zijn in EPROM} opgeslagen. Indien een toets twee keer achter elkaar wordt ingedrukt wordt de zin de tweede keer met een andere intonatie uitgesproken. Het geheugen bevat hiervoor naast de gewone spraakdata een tweede spraakdatablok. Om te onderzoeken hoe vaak de verschillende zinnen worden gebruikt wordt 1 Erasable
Programmable Read Only Memory
6
dit in RAM 2 bijgehouden. Dit kan met behulp van een display worden uitgelezen.
Figuur 2.1: De oude versie van de Pocketstem
2 Random
Access Memory
7
2.1.2
De een-toets versie
De een-toets versie bestaat in principe uit hetzelfde apparaat als de 28toetsen versie. Alleen de bediening is aangepast. Ret toetsenbord is hierbij vervangen door een matrix van 4 bij 7 led's en er is voorzien in een druktoets. Deze toets kan, afhankelijk van de wens van de gebruiker, elke gewenste vorm hebben, bijvoorbeeld een blaasjzuig-schakelaar, een kinschakelaar of een drukmat. Deze versie is bedoeld voor mensen die zo'n beperkte motorische vaardigheden bezitten dat de bediening van een toetsenbord niet meer mogelijk is. Zie voor een uitgebreide beschrijving het rapport over de een-toets versie [Bierens, 1989]. Ret bedienen van dit apparaat gaat als voIgt. Elke led van de ledmatrix is, net als elke toets bij de toetsenversie, voorzien van een symbool, dat dient als geheugensteun voor een bepaalde zin. Ret aanwijzen van een symbool gebeurt nu door er voor te zorgen dat de led die bij het gewenste symbool hoort gaat branden. Dit gebeurt met behulp van de toets. Op het moment dat de toets de eerste keer wordt geactiveerd licht de bovenste rij van de ledmatrix op. Na enige tijd, die door de gebruiker ingesteld kan worden, licht de tweede rij op, etc. Indien de gewenste zin zich in de oplichtende rij bevindt moet de toets opnieuw worden geactiveerd. Daarna wordt deze rij led voor led doorlopen. Ais de gewenste led oplicht moet de toets opnieuw worden ingedrukt om deze led te selecteren. Door vervolgens nog een keer op de toets te drukken wordt de keuze bevestigd en de zin uitgesproken. Naast deze zogenaamde rijscan-methode zijn er nog twee andere scanmethoden ingebouwd. De gebruiker kan kiezen welke van de drie methoden hij of zij de beste vindt. Deze methoden staan uitvoeriger beschreven in het rapport over de een-toets versie [Bierens, 1989].
8
2.2
Ontwerpeisen voor de nieuwe Pocketstem
De veranderingen ten opzichte van de vorige versie van de Pocketstem [Waterham, Verhoeven, 1987] zijn: 1. De evaluatie van het gebruik van de zinnen is niet meer nodig.
2. De normale versie (met 28 toetsen [Waterham, Verhoeven, 1987]) moet geintegreerd worden met de een-toets versie [Bierens, 1989]. 3. De bestaande zinnenset (266 zinnen, zie bijlage B) moet helemaal in het apparaat worden opgenomen, zodat de gebruiker over al deze zinnen kan beschikken zonder tussenkomst van de maker of een ander kundig persoon (in de oude versie [Waterham, Verhoeven, 1987] moet er een nieuw EPROM geprogrammeerd en gemonteerd worden). 4. Ret ontwerp moet gemoderniseerd worden op plaatsen waar de scha-
keling vereenvoudigd of verbeterd kan worden door gebruik te maken van nieuwe componenten. 5. Uit de 266 zinnen moet een keuze van 28 zinnen aan het toetsenbord kunnen worden toegewezen. 6. Ret verschil in intonatie uit de oude versie moet worden vervangen door een variabele spreeksnelheid. Omdat er een groter zinnenbestand opgenomen moet worden zal het niet meer mogelijk zijn een tweede spraakdatablok voor de tweede intonatie in het geheugen op te nemen naast de spraakdata voor de gewone uitspraak. 7. Ret ontwerp moet in de behuizing worden ondergebracht die door Corporate Industrial Design voor de Pocketstem is ontworpen.
9
2.3
Realisatie
De verschillende veranderingen zijn op de volgende manier gerealiseerd: 1. In de nieuwe versie is de aansluiting voor het display, dat voor de evaluatie gebruikt werd [Waterham, Verhoeven, 1987, pag. 29], weggelaten. Ook het tekstblok, dat in de oude versie de data voor dit display bevatte, hoeft hierdoor niet meer in het geheugen te worden opgenomen.
2. Beide versies moesten in een apparaat worden ondergebracht. Omdat er geen toetsenbord beschikbaar was waarin een ledmatrix is opgenomen is het apparaat voorzien van een connector waarin de connector van ofweI een toetsenbord of een ledmatrix gestoken kan worden. Het apparaat detecteert wat er is aangesloten en past de bediening aan. Het apparaat zelf is dus voor beide versies hetzelfde en de bediening kan worden veranderd door het verwisselen van toetsenbord en ledmatrix. Een gebruiksaanwijzing voor beide versies is opgenomen in bijlage C.1 en C.2. 3. De heIe zinnenset (266 zinnen, zie bijlage B) is in het apparaat opgeslagen door gebruik te maken van een groter geheugen (EPROM 27C101, 128 kbyte). Hierbij is het tweede spraakdatablok komen te vervallen. 4. O.a. door het toepassen van nieuwe componenten is de hardware op de volgende essenWHe punten gewijzigd (zie hoofdstuk 3 voor een beschrijving in details). De twee audioversterkers zijn vervangen cloor een nieuwe, die de in- en uitschakelklik zelf onderdrukt, zodat geen relais meer nodig is. Het voedingsgedeelte is zodanig veranderd dat er geen backup-schakeling meer nodig is. Het reset-circuit uit de oude versie bleek niet erg betrouwbaar te werken. Dit is in de nieuwe versie verbeterd. Hierbij kan de dubbelpolige schakelaar worden vervangen door een enkelpolige. 5. Het toekenn'en van een keuze van 28 zinnen aan het toetsenbord wordt gedaan in een extra programmeerstand. Elke zin is voorzien van een 10
nummer dat (met behulp van een numeriek inlegvel voor het toetsenbord) ingegeven kan worden. Eerst moet worden aangegeven welke toets veranderd moet worden, waarna het betreffende zinnummer wordt ingegeven. Deze combinatie wordt in RAM opgeslagen. Zie voor een gebruiksaanwijzing bijlage C.3. 6. De tweede intonatie uit de oude versie is vervangen door een variabele spreeksnelheid. Bij het herhalen van een zin wordt ze de tweede keer sneller en de derde keer langzamer uitgesproken. 7. De nieuwe versie van de Pocketstem is ondergebracht in de nieuwe behuizing. Zie figuur 2.2.
Figuur 2.2: De nieuwe versie van de Pocketstem 11
3 De hardware 3.1
De opbouw van de schakeling
I .............
PCF 8200 b attery ./
power control +- CPU
r-
I
v
V f'.,..
data/address BUS
I I
I
program/ data ROM
pocketstem
KEYBOARD or
LEDMATRIX
I
I
I
Figuur 3.1: De systeemconfiguratie van de Pocketstem De schakeling is opgebouwd rond de Intel 80C31 microprocessor. Hier zijn de volgende onderdelen op aangesloten (zie figuur 3.1): • Een 128kbyte EPROM, dat zowel het programma als de spraakdata bevat. • Een toetsenbord (of een ledmatrix) voor de bediening. • De spraaksynthesizer (Philips PCF8200) met versterker en luidspreker. Een 9V NiCd-accu (lOOmAh) voorziet het geheel van spanning middeIs een power control schakeling, die er voor zorgt dat het stroomverbruik zo laag mogelijk wordt gehouden. 12
De opbouw komt in grote lijnen overeen met die van de oude Pocketstem, die in [Waterham, Verhoeven, 1987, pag. 24 e.v.) uitvoerig beschreven is. Vanwege het feit dat de evaluatie van het gebruik van de zinnen komt te vervallen (par. 2.2, eis 1) is de display-aansluiting uit het oude ontwerp weggelaten. Door de eisen, die aan de nieuwe versie van de Pocketstem zijn gesteld (paragraaf2.2) is de hardware van verschillende blokken gewijzigd. Achtereenvolgens zullen de volgende veranderingen worden behandeld: • Het combineren van de hardware voor het toetsenbord met die voor de ledmatrix (eis 2). • De communicatie van de microprocessor met het toetsenbord/ledmatrix gedeelte (eis 2), en met het EPROM (eis 3). • Het power control circuit, waarvan de meeste onderdelen zijn veranderd door nieuwe componenten toe te passen (eis 4). • De audioversterker. Hiervoor is een nieuw
Ie gebruikt
(eis 4).
Bovendien wordt kort ingegaan op essenW~le onderdelen die niet veranderd zijn, zoals de communicatie van processor en spraakchip.
13
3.2
Samenvoegen van toetsenbord en ledmatrix hardware
De nieuwe pocketstem moet zowel met een toetsenbord als met een toets bediend kunnen worden. Zie voor een uitvoerige uitleg van de keyboardscanning [Waterham, Verhoeven, 1987, pag. 29] en van de scanning van de ledmatrix [Bierens, 1989, pag. 25]. Het bleek niet praktisch realiseerbaar om zowel toetsen als led's (nodig voor de een-toets bediening) in een module op te nemen. Hierdoor is gekozen voor een oplossing waarbij het toetsenbord van het apparaat kan worden losgemaakt en kan worden vervangen door een ledmatrix. Het apparaat moet kunnen detecteren of er een toetsenbord of een ledmatrix is aangesloten, omdat er per geval een ander deel van het programma moet worden doorlopen. De connector voor de verbindingen van het toetsenbord of de ledmatrix met de rest van de schakeling, bevindt zich in het apparaat. De detectie van ledmatrixjtoetsenbord kan plaats vinden door deze keyboard-connector met 3 pinnen uit te breiden (detectielijn, aarde en +5V, de detectielijn wordt door de connector ofweI met aarde of met +5V verbonden). De lijn die zo ontstaat (KEYBDET, keyboard detection) wordt via een buffer naar de processor gevoerd (zie figuur A.l). Voor de ledmatrix is andere hardware nodig dan voor het toetsenbord. Omdat in het nieuwe apparaat het toetsenbord en de ledmatrix gebruik maken van dezelfde connector moet deze hardware worden samengevoegd zoals weergegeven in figuur A.I. In figuur 3.2 is een lijn van het geheel weergegeven. am te voorkomen dat bij het hoog worden van latch2 een lekstroom loopt door R u en R 12 , is bij het samenvoegen achter de uitgang van latch2 een extra diode opgenomen.
14
latc"l
latch1
74HCT'07~--~~70LEO
74HCT'073~
l~
~
latc"2
74HCT'07'"--_ _
___
buff.,..
74HCT '04 ...--------lo-------,
~I!: BAV 10
lOOk
p". 47k
latchl
Rl
74HCT 'O73~--~VV~-----,
1....
220
••••
1
!
'" 1r
f
latch2
07
74HCT'07
•
BAV10
L.•...:
+-
buff.,..
---74HCT'041 01 BAV10
R12 lOOk
Rll lOOk
Figuur 3.2: Een lijn van de toetsenbord en ledmatrix aansturing
Tabel 3.1: Toestandentabel voor toetsenbord hardware latch1 L
H L
H L
H
latch2 L L
H H z z
I
,I
led L
H L L L L
PUK L L L
H = hoog L = laag Z = hoog impedant
H L
H 15
Ais de led is aangesloten in figuur 3.2 treden de toestanden uit tabel 3.1 op. Voor het aansturen van de led wordt gebruik gemaakt van latchl en latch2. Om het toetsenbord te scannen wordt gebruik gemaakt van latchl en de buffer. Hierbij is een pull-down weerstand (RI2) nodig en er is voorzien in een power up keyboard (PUK) lijn, die in de toetsenversie dient om een reset te genereren als een toets wordt ingedrukt indien het apparaat standby staat (zie [Waterham, Verhoeven, 1987, pag. 29] en [Waterham, 1986, pag. 16] voor een uitvoerige beschrijving van de keyboardscanning). Door het samenvoegen van de hardware wordt deze lijn in de een-toets versie via diode Dl en de led doorverbonden met latch!. Hierdoor kan een PUK gegenereerd worden als een uitgang van latchl hoog wordt, terwijl latch2 hoog of hoog impedant is (zie tabel 3.1). Dit heeft voor de reset (paragraaf 3.4) geen gevolgen omdat er voor gezorgd is dat er geen reset gegenereerd wordt door PUK als de processor actief is, hetgeen bij het aansturen van led's altijd het geval is. Het heeft echter weI gevolgen voor het aansluiten van de drukknop, die nu niet meer rechtstreeks aan PUK geschakeld kan worden (zoals in de oude een-toets versie), maar met behulp van een diode. Ais dit niet op deze manier gedaan zou worden, zou er ook een knopdruk gedetecteerd worden als PUK hoog wordt (zie figuur A.l). Ais de toets is aangesloten treden er geen problemen op als de hardware op deze manier wordt samengevoegd. WeI moet de software op enkele punten worden aangepast (zie paragraaf 4.2).
16
3.3
De microprocessor
De processor heeft 4 i/o-poorten van 8 lijnen. Riervan wordt poort 0 gebruikt als databus en tevens als adresbus voor de lage orde EPROMadressen. Poort 2 bestuurt de hoge orde adreslijnen van het EPROM (zie figuur A.2). De poorten 1 en 3 worden gebruikt voor de besturing van de randcomponenten zoals is aangegeven in tabel 3.2. In de nu volgende paragrafen wordt dit nader besproken. Tabel 3.2: De processor-i/o lijn 0 1 2 3 4 5
6 7
poort 1 UDP n.c.
CEpe! C Ekel/ b1 C E kel/ b2 PCON1 PCON2
poort 3 Tiepstem Tiepstem PCFint BATCONTR SWPOS n.c.
--
WR BATLED RD
De processor moet kunnen nagaan welke zin moet worden uitgesproken. Vervolgens moeten de spraakdata die bij deze zin horen naar de spraaksynthesizer worden gestuurd. Om deze taken te kunnen uitvoeren moet de processor met de volgende onderdelen kunnen communiceren: • Ret toetsenbord en ledmatrix gedeelte. • Ret EPROM met het programma en de spraakdata. • De spraaksynthesizer.
17
3.3.1
Het aansturen van het toetsenbordgedeelte
Zie figuur A.I. Voor het aansturen van het toetsenbord en de ledmatrix moet de processor kunnen detecteren of er toetsen of leds zijn aangesloten. Hiervoor kan de lijn KEYBDET via buffer IC3 en de databus gelezen worden. Via deze buffer kunnen ook de volgende lijnen gelezen worden (zie ook de beschrijving van de software in hoofdstuk 4): • CHAN KEYSl en CHAN SCANT 2 Ais er 80H naar latchl (ICl) geschreven wordt kan de stand van de schakelaar worden bepaald door Y6 en Y7 van IC3 na te gaan. Naar aanleiding van de toestand van deze bits weet de processor welk gedeelte van het programma moet worden doorlopen. • SWITCH2 Deze lijn heeft twee functies: Door achtereenvolgens D3,D4 en D5 van IC2 aan te sturen kan gedetecteerd worden in welke stand de jumper staat en dus welke scanversie gewenst is. Door D6 aan te sturen wordt het mogelijk via deze lijn het indrukken van de drukknop te detecteren. Het scannen van het toetsenbord gebeurt, net als in de oude versie [Waterham, Verhoeven, 1987, pag. 29], door achtereenvolgens Dl tim D7 van latchl hoog te maken en Yl,Y2,Y7 en Y8 van de buffer na te gaan. Hiermee is eenduidig bepaald welke toets wordt ingedrukt. Het aansturen van een led vindt plaats door het hoog maken van een lijn van latch1 (DI..D7) en het laag maken van een lijn van latch2 (Dl,D2,D7,D8), zie ook [Bierens, 1989, pag. 25]. Het Iezen van de buffer en het schrijven naar de latches gebeurt via de databus. De volgende enable-signalen bepalen wanneer de buffer op de databus mag schrijven en wanneer de latches moeten lezen: 1 change
2 change
keys scantime
18
E'atchl
:= C Ekel/ b1
+WR
E 'atc h2
:= C E
+WR
kel/b2
Deze kunnen worden gerealiseerd met precies 4 NOR-poorten (1 x 74HCT02) De output enable van latch2 wordt aangesloten op KEYBDET, zodat de uitgangen van latch2 hoog impedant worden als het toetsenbord is aangesloten.
3.3.2
De communicatie met de spraaksynthesizer
De communicatie met de spraaksynthesizer is hetzelfde gebleven als in de oude versie. Zie voor een uitvoerige bespreking de rapporten over de oude versies [Waterham, Verhoeven, 1987, pag. 28] en [Bierens, 1989, pag. 14]. Voor de communicatie met de spraaksynthesizer (PCF8200) zijn naast de WRen RD signalen twee extra uitgangen van de processor beschikbaar. De PCF8200 kan door middel van PC F int een interrupt naar de processor sturen om aan te geven dat er spraakdata gezonden moeten worden. Het zenden van spraakdata naar de PCF8200 gaat via de databus. Om aan te geven dat de data voor de PCF8200 bestemd zijn wordt hierbij C E pcf geactiveerd Zie figuur A.2 en AA.
3.3.3
Data ophalen uit het EPROM
Omdat het EPROM 128kbyte geheugen bevat is er een 17 e adreslijn nodig (zie figuur A.2). De processor beschikt echter slechts over 16 adreslijnen (AO.. A15). Voor A16 kan RD gebruikt worden. Er moet dan voor gezorgd worden dat voor het ophalen van data uit het eerste datablok (adres ~ FFFF) de MOVC-instructie gebruikt wordt. Deze instructie is feitelijk bedoeld voor het ophalen van programmadata. Hierbij wordt RD niet 19
actief. Voor het ophalen van data uit het tweede blok moet dan de MOVXinstructie gebruikt worden. Hierbij wordt RD weI actief. Zie het Intel handboek [Intel, 1985, pag. 7.9] voor een uitvoerige beschrijving van de MOVC- en MOVX-instructies. A16 wordt dus: A16:= RD Door het toevoegen van deze 17 e adreslijn kan OEeprom niet meer worden aangestuurd door PSEN 3 zoals in de oude versie, want PSEN wordt bij het ophalen van data m.b.v. MOVX niet actief (zie [Waterham, Verhoeven, 1987, pag. 27] voor een beschrijving van de geheugenaansturing van de oude versie). Voor OEeprom geldt nu:
OEeprom moet laag worden als: 1. er een instructie of data uit het eerste datablok wordt opgehaald: PSEN wordt laag.
2. er data wordt opgehaald uit het tweede datablok, dit gebeurt m.b.v. een MOVX-instructie dus hierbij wordt RD laag. RD wordt echter ook laag als de PCF wordt uitgelezen of als het keyboard wordt gelezen.
OEeprom wordt gerealiseerd met behulp van een extra uitgang (UDp 4 ) van de processor, die aangeeft dat er data uit het tweede datablok moeten worden opgehaald (zie figuur A.2): OEeprom:= PSEN. RD. UDP RD moet hierbij gebruikt worden omdat UDP softwarematig bestuurd wordt. Eerst wordt UDP actief gemaakt. Voor de volgende instructie van de processor moeten er programmadata worden gelezen en daarvoor moet er een adres op de databus worden gezet. Door RD in OEeprom op te 3Program Store ENable 4Upper data part
20
nemen wordt voorkomen dat het EPROM op dit moment ook data op de databus zet.
3.3.4
Overige besturingslijnen
Zie figuur A.2. Door middel van SWPOS (poortlijn P3.4.) kan de processor nagaan of de schakelaar" aan" of "uit" staat. De mode waarin het apparaat zich bevindt wordt aangegeven met PCON1 en PCON2 (zie tabel 3.3). De drie verschillende modes waarin het apparaat zich kan bevinden zijn: • Standby: de processor is in power-down mode en alle componenten hebben minimaal stroomverbruik. • Active: de processor werkt, maar de Pocketstem spreekt niet. • Speaking: de Pocketstem spreekt een zin uit, de mode waarin de meeste stroom verbruikt wordt. Zie voor een uitvoerigere bespreking van de verschillende modes het rapport over de oude versie [Waterham, Verhoeven, 1987, pag. 32]. Tabel 3.3: De waarden van de stuurlijnen en de bijbehorende modes Mode Active Speaking Stand-by Not in use
PCON1 1 1 0 0
PCON2 1 0
1 0
Voor het controleren van de batterij is een interrupt ingang van de processor (P3.3) aangesloten op het batterij-controle circuit. Indien de batterijspanning te laag wordt krijgt de processor een interrupt. Met P1.7. wordt dan de led aangestuurd. Deze led wordt ook gebruikt bij het programmeren van het toetsenbord (zie hoofdstuk 4). 21
Er zijn nog twee poortlijnen gereserveerd voor communicatie met een ander spraakhulpmiddel, de Tiepstem [Deliege, 1989].
22
3.4
Het power-control circuit
Het power-control circuit (figuur A.3) moet de volgende onderdelen bevatten: • Een 5V voeding voor de hele schakeling, behalve het audiogedeelte. • Een reset circuit. • Een schakeling voor de referentiespanning van de PCF8200. • Een batterij-controle schakeling. • Een batterij-controle led. • Een 9V voeding voor het audiogedeelte in speaking mode. De volgende signalen moeten worden gerealiseerd: • Een chip-enable voor het EPROM in active en speaking mode. • Een lijn die de stand van de aan/uit-schakelaar aangeeft. De schakelingen voor de batterij-controle led en C Eeprom zijn hetzelfde gebleven als in het oude ontwerp (zie figuur A.3 en [Waterham, Verhoeven, 1987, pag. 38 en 34]). Uit het circuit voor de voedingsspanning van het audiogedeelte is aIleen de NOR-poort verwijderd omdat het niet nodig is zowel PCON1 als PCON2 na te gaan om de speaking mode te detecteren. De toestand waarin beide laag zijn kan niet voorkomen.
3.4.1
De 5V-voeding
Omdat in het oude ontwerp de schakeling die de voedingsspanning verzorgt zelf teveel stroom verbruikt, wordt deze in standby mode uitgeschakeld 23
[Waterham, Verhoeven, 1987, pag. 31]. De processor heeft echter een permanente 5V-voeding nodig om de inhoud van het RAM in stand te houden. Rierdoor is het oude ontwerp van een extra backup-voeding voorzien [Waterham, Verhoeven, 1987, pag. 35]. In het nieuwe ontwerp is een voedingsspanning-IC toegepast dat zelf slechts 6 /-LA verbruikt zodat dit IC het apparaat permanent van spanning kan
voorzien. De backup-voeding uit het oude ontwerp kan hierdoor vervallen. De voedingsspanning wordt verzorgd door ICL7663 [Maxim, 1986], een programmable voltage regulator. Ret schema (applicatieschema uit [Maxim, 1986]) is weergegeven in figuur 3.3.
LIIDERPLU<:
..,.
013 BllY10 014 BYV27
-=-IlCCU
+ +
YOUT
IN.
C21
YOUT R2B 2.7
ICL7663
lOu
12 BC337-40
SENS
~
R29 1"6 YSET
... C22
T""'F
10U
R30
.,.,.
~60k
.,.,.
Figuur 3.3: De 5V-voeding Voor Vsch is gegeven: Vsch = V set (1
R
29 + -R )
(3.1)
30
Er is gegeven dat Vset moet gelden dat:
1, 29V, zodat voor het verkrijgen van Vsch = 5V R29 = 2,88
R30
24
(3.2)
Voor R 29 wordt 1,6MO genomen om het stroomverbruik van de schakeling zo gering mogelijk te houden. Hieruit voIgt voor Rso :
Rso = 560kO
(3.3)
Voor de stroombegrenzing van de schakeling geldt: 1
_ 0,7V
rnaz -
R
(3.4)
28
De stroombegrenzing is met R28 = 2, 70 ingesteld op ongeveer 250 rnA. Het stroomverbruik van de nieuwe versie bedraagt ongeveer 50 p,A in standby mode en ongeveer 13 rnA in active mode. Het stroomverbruik in speaking mode is afhankelijk van het gevraagde uitgangsvermogen met een maximum van ongeveer 200 rnA.
3.4.2
Het genereren van de reset puIs
Door het reset-circuit uit het oude ontwerp te vervangen door een schakeling met 2 monostabiele multivibrators (monoflops, 1 x 74HCT123) kan de dubbelpolige schakelaar vervangen worden door een enkelpolige. Bovendien werkt de reset op deze manier beter dan het reset circuit uit het oude ontwerp, dat niet erg betrouwbaar bleek te zijn. De processor moet in de volgende situaties een reset krijgen: • Als het apparaat "aan" of" uit" wordt gezet. • Als er op een toets wordt gedrukt terwijl het apparaat in standby mode is en de schakelaar "aan" staat. Het reset-circuit moet dus de toestanden uit tabel 3.4 verwezenlijken. Deze toestanden worden gerealiseerd door de schakeling uit figuur 3.4 (zie ook tabel 3.5): 25
Tabel 3.4: Toestandentabel voor de reset SWITCH L
i
1 H H H
PCONl!PUKI RESET L L L _n_ L L _n_ x x L L L L H x _n_ L i
H = hoog L = Iaag x = don't care i = overgang L naar H 1 = overgang H naar L _n_ = puIs
Figuur 3.4: Het reset circuit
Tabel 3.5: Functietabel van de monoflops
CLR
A
B
L
x H x
x x
L
i
1
H H
x x H H
i
L
L
i
Q L L L
_n_ _n_ _n_ 26
1. Bij het "aan" zetten van de schakelaar is PUKs (=Bl, ingang B van
monoflop 1) laag, dus B2 is hoog. Als A2 laag is en C LR2 hoog wordt, voIgt er een puIs op Q2. 2. Bij het "uit" zetten van de schakelaar wordt A2 eerst hoog en vervolgens (na het ontladen van C l6 over R 19 ) laag. Door R 21 en C l7 zodanig te kiezen dat C LR2 op dit moment nog hoog is, wordt bij het laag worden van A2 een resetpuls gegenereerd. Voor de 74HCT123 is gegeven: V il =0,8 V en V ih =2,0 V. Ais de schakelaar "uit" wordt gezet moet dus gelden: na tl: gedurende t 2 :
----=!..l...-
= 1, 83R 19 C 16 = H ===} t 2 = 0, 92R21 C 17
e R 10016 = ~
A2 < 0,8V
-----=!.:l....-
===}
tl
'
CLR2> 2,OV e R 21 G 17 waarbij t 2 > t 1 + 20ms (lengt~ resetpuls) omdat gedurende de hele resetpuIs C LR2 hoog moet blijven
3. Indien PUK hoog wordt terwijl PCONI laag is (processor is dan niet actief) wordt B2 gedurende Ims (=0, 45R I6 C 12 ) laag. Als het apparaat "aan" staat zijn A2 en C LR2 laag. De overgang van laag naar hoog op ingang B2 veroorzaakt dan een resetpuls. De lengte van de resetpuls wordt gegeven door 0,45R 1S C 15 en is ingesteld op 20ms. Nadat een reset is gegeven wordt door de processor nagegaan of SWPOS hoog of laag is. Dus als de schakelaar aan wordt gezet moet binnen 20 ms SWPOS laag zijn. Voor de inverteringang geldt: V il =I,8 V dus ~
e R20 G 1G
=H . ===} t3 =
R 20 C l6 moet korter zijn dan 20 ms
Met de waarden R l9 = 100kO, R 20 = 470kO, R 21 = IMO, C l6 = 2,2nF en C l7 = 220nF hebben til t 2 en t 3 een ruime tolerantie: t l = 0,4ms 5Power up keyboard
27
t 2 = 95ms t g = 2, 2ms.
De weerstandswaarden zijn maximaal gekozen (om de lekstromen zo klein mogelijk te houden) maar zodanig dat eventuele brom geen invloed kan hebben. Het circuit voorziet niet in een reset bij het verwisselen van de accu. Hierdoor moet bij het vervangen van de accu de aan/uit-schakelaar even worden omgezet. Omdat een accu pas na ongeveer 1000 keer opladen vervangen hoeft te worden zal dit slechts zeer zelden voorkomen.
3.4.3
Referentiespanning voor de spraaksynthesizer
De spraaksynthesizer (PCF8200) heeft een referentiebron nodig, met een constante spanning tussen de 1,6V en 3,1V. Deze referentiespanning wordt geleverd door een spanningsdeler die op de voedingsspanning is aangesloten. De weerstanden van de spanningsdeler voeren voortdurend stroom en moeten dus zo groot mogelijk genomen worden. Omdat de spanningsdeler voor de referentie van de PCF een stroom van 5 J.LA moet kunnen leveren zonder dat de spanning daalt, wordt deze voorzien van een transistor en een buffercondensator. D~ referentiebron uit figuur 3.5 levert een constante spanning van 2,OV.
~
R24 4?Qk
J I, T7 I> BC550C
C19
lOOn
=
R25 4701<
;;; • CiS 47u
R26 1"
--=
Figuur 3.5: De referentiespanning voor de PCF8200
28
3.4.4
Batterij-controle
Het batterij-controle circuit moet detecteren of de batterij leeg is en dit doorgeven aan de processor door middel van een interrupt-lijn (laag actief). In het oude ontwerp was de batterij-controle opgebouwd rond een vrije poort van een "voltage translator" 4104 [Waterham, Verhoeven, 1987, pag. 37]. Doordat dit IC in het nieuwe ontwerp komt te vervallen moest er een andere oplossing gevonden worden. De batterij-controle wordt gerealiseerd met een niet-inverterende poort (zie figuur 3.6). BATSS: 01
Figuur 3.6: De batterij-controle Als voedingsbron wordt een NiCd-accu (9V, 100mAh) toegepast. Voor deze accu geldt dat de klemspanning pas begint te dalen als hij bijna leeg is (ladingspercentage < 30%, zie figuur 3.7). Bij een ladingspercentage van 10% bedraagt de spanning nog 8V. Om te voorkomen dat het inschakelen van het audiogedeelte (hetgeen gepaard gaat met een spanningsdip van ongeveer 0,5-1,0 V) bij een volle accu toch een interrupt veroorzaakt wordt de drempelspanning ingesteld op ongeveer 7,3V. Als de accu voor meer dan 90% leeg is zal het inschakelen van het audiogedeelte ervoor zorgen dat BATCONTR laag wordt. De drempelspanning is met potmeter PI in te stellen tussen 6,7V en 7,7V. Weerstand R S3 zorgt voor de nodige hysterese, zodat BATCONTR na het actief worden laag blijft. Doordat de spanningsdeler aan de ingang de spanning ongeveer door 3 deelt 29
:; .....
g' 9.B
Ni -Cd accu
'c 9.1 • c
a
ell
100%
0"0
ladingspertJ!l"lta.~
..
Figuur 3.7: De accu-karakteristiek zal de ingangsspanning van lC8B tussen 2,5V en 3,3V liggen. Aangezien lC8 van het CMOS-type is gaat dit gepaard met een hoog stroomverbruik (5-lOmA). Om te voorkomen dat het circuit de accu teveel belast, wordt alleen in active en speaking mode gecontroleerd. In standby mode wordt de ingang van lC8B met behulp van een Schottky-diode op 0,2V gehouden, zodat het stroomverbruik van lC8 verwaarloosbaar klein wordt.
30
3.5
De audioversterker
Voor de audioversterker (2 x LM388) uit de oude versie [Waterham, Verhoeven, 1987, pag. 30] is een alternatief gevonden. De nieuwe versterker (TDA7052) kan met veel minder externe componenten worden uitgevoerd (zie figuur AA). Bovendien kan het relais bij deze versterker vervallen omdat deze versterker geen in- en uitschakelklik veroorzaakt in tegenstelling tot de LM388. Bovendien is het niet meer nodig dat er twee versterkers worden gebruikt, doordat er reeds intern in dit IC een brugschakeling wordt gerealiseerd. Het uitgangssignaal van de PCF8200 wordt eerst gefilterd en vervolgens m.b.v. C 24 capacitief met de versterker gekoppeld. Deze capacitieve koppeling is nodig omdat de PCF8200 zijn referentiespanning op de uitgang zet als er niet gesproken wordt. De condensator zorgt ervoor dat deze spanning niet op de versterker komt te staan. Met behulp van een 6-standen schakelaar kan het volume op 5 niveaus (en een stilte stand) worden ingesteld, zodanig dat bij het instellen van een hoger niveau de ingangsspanning van de versterker met een factor 2 toeneemt. Voordat het signaal de versterker in gaat wordt het gefilterd om hoog frequente storingen te verwijderen. Aan de uitgang van de versterker staat parallel aan de luidspreker een Zobel netwerk. Het doel hiervan is om de belasting van de versterker zoveel mogelijk resistief te maken, zodat op de uitgangs-transistoren van de versterker geen hoge spanningspieken, die veroorzaakt worden door de spoel van de luidspreker, komen te staan. Voor het uitgangsvermogen van deze versterker is gegeven: P = 1,2 W bij een voedingsspanning van 6 V en een belasting van R, = 8 n. Hieruit voIgt dat de spanningsval aan de uitgang t.o.v. de voedingsspanning 1,6 V bedraagt. Het theoretisch uitgangsvermogen bij een voedingsspanning van 9 V wordt hiermee: ((0, 5V2(9 - 1,6))2 = 3, 4W (3.5) R, 8 Dit is geen noemenswaardige verandering vergeleken met de waarde uit de oude versie (3,6 W). Bij het testen bleek het uitgangsvermogen dan ook p
= (Veff )2 =
31
ruim voldoende te ZIJn om de spraak verstaan.
32
In
de nabije omgeving te kunnen
4 De software Het programma voor de nieuwe versie van de Pocketstem is in feite een combinatie van het programma uit de 28-toetsen versie [Waterham, Verhoeven, 1987] en de een-toets versie [Bierens, 1989]. Bij het samenvoegen is rekening gehouden met de eisen voor de nieuwe versie (zie paragraaf 2.2). In de nu volgende paragrafen worden achtereenvolgens de volgende aanpassingen beschreven: • De aansturing en de indeling van het geheugen is veranderd doordat er een groter geheugen wordt toegepast en doordat aIle 266 beschikbare zinnen hierin zijn opgenomen (eis 3). • De communicatie met het samengevoegde toetsenbordjledmatrix gedeelte (eis 2). • Het toewijzen van een keuze van 28 zinnen uit de 266 aan de 28 toetsen (eis 5). Vervolgens wordt het programma zelf beschreven. Als laatste wordt de manier beschreven waarop de spraakdata worden gegenereerd.
33
4.1
De indeling van het geheugen
In de nieuwe versie van de Pocketstem wordt een groter geheugen gebruikt (EPROM 27C101: 128 kbyte). Hierdoor wordt het mogelijk alle 266 beschikbare zinnen in het geheugen te zetten. De manier waarop het geheugen wordt ingedeeld is dezelfde gebleven als in de oude Pocketstem (zie figuur 4.2). Hierbij is alleen het tekstblok vervallen. Er vindt immers geen evaluatie meer plaats zodat het display uit de oude versie vervalt (eis 1, paragraaf 2.2). Het programma begint op adres OOH. Achter het programma wordt eerst een lijst van beginadressen opgeslagen (beginnend op adres lOOOH) In deze lijst is van elke zin het beginadres opgeslagen (in 3 bytes). Achter deze lijst staan de spraakdata van de zinnen, beginnend met zin 1. lengte
I don't care spraakdata van de zin
I command byte
Figuur 4.1: De indeling van het spraakdata-blok van een zin Een spraakdatablok van een zin ziet er als voIgt uit (zie figuur 4.1). De eerste twee bytes geven de lengte van de boodschap weer. Hier achter staat een don't care (1 byte) gevolgd door een command byte. Achter deze 4 bytes beginnen de eigenlijke spraakdata. Het ophalen van de spraakdata van een zin gebeurt als voIgt: • Bereken m.b.v. het zinnummer de plaats waar het beginadres in de adressenlijst staat. • Haal het beginadres op uit de adressenlijst. • Lees op dit adres de lengte van de zin. • Bereken met deze lengte het eindadres. • Haal de spraakdata op totdat het eindadres is bereikt. 34
Zie voor een uitvoerigere beschrijving het rapport over de oude versie [Waterham, Verhoeven, 1987, pag. 40].
PROGRAMMA 1000H
1320H
adres zin 1 adres zin 2
adres zin 266 data zin 1
data zin 266 1E6C8H leeg
Figuur 4.2: De indeling van het EPROM De processor bevat 128 byte intern RAM (zie tabel 4.2). Het RAM is als voIgt verdeeld: De registers 0 tim 63 en 120 tim 122 worden door het programma gebruikt. Deze hebben dezelfde functie als in de een-toets versie [Bierens, 1989, pag. 23]. De registers 64 tim 119 worden gebruikt om de keuze van 28 zinnummers te bewaren, die aan het toetsenbord is toegewezen. Registers 32, 33 en 34 zijn gebruikt als device status words (DSW). Elk DSW bevat 8 direct adresseerbare bits, die de status van het programma aangeven (zie tabeI4.1). De meeste DSW-bits zijn hetzelfde als in de oude 35
versies [Waterharn, Verhoeven, 1987] en [Bierens, 1989]. De volgende bits zijn nieuw: • CHKEYS (change keys): geeft aan dat het toetsenbord ingesteld moet worden (zie paragraaf 4.3). • LED: geeft aan of de ledmatrix of het toetsenbord is aangesloten (zie paragraaf 4.2). • UDPB (upper data part bit): geeft aan dat de data uit het tweede datablok gehaald rnoeten worden. • OVERFL: overflow bit, wordt gebruikt door de procedure voor het instellen van het toetsenbord (zie paragraaf 4.3).
Tabel 4.1: Device status words bit 0 1 2 3 4 5
6 7
DSW1 secout switbit leiso speane speaking key devoff powfail
DSW2 done thrdout fin it wawa chkeys vesel1 vesel2 led
DSW3 udpb overfl
36
Tabel 4.2: De indeling van het RAM bank 0
1
2
3
nr. 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3-6 7 0-7 0 1 2 3-7 0-7 0-7 0 1 2 3-7
register 0 1 2 3 4 5 6 7 8 9 10
functie algemeen gebruik algemeen gebruik eerste rij ledmatrix tweede rij ledmatrix derde rij ledmatrix vierde rij ledmatrix speakbufferpointer (out) speakbufferpointer (in) algemeen gebruik power down register algemeen gebruik algemeen gebruik 11 1.0. datapointer 12 13 , h.o. datapointer )1.0. end address 14 15 h.o. end address 16 algemeen gebruik 17 scantime register waittime register 18 19-22 algemeen gebruik 23 duty cycle register 24-31 speakbuffer 32 DSWI 33 DSW2 DSW3 34 35-39 spraakdatabuffer 40-63 stack zmnummers 64-119 power off detectie 120 power off detectie 121 122 I pitchstartbuffer 123-127 niet gebruikt
37
4.2
Aanpassingen ten gevolge van het samenvoegen van de toetsen en led versies
Door het samenvoegen van de hardware voor een toetsenbord en een ledmatrix dient de software op verschillende punten te worden aangepast. Na een RESET moet gedetecteerd worden of er een ledmatrix of een toetsenbord is aangesloten en moet het bit "led" in DSW2 hoog c.q. laag worden gemaakt. Als de ledmatrix is aangesloten moet er voor gezorgd worden dat de buitenste 4 uitgangen van latch2 laag zijn in standby mode (dus ook die van latch1, anders branden er led's) omdat er anders een stroom zou lopen van ongeveer 100j.LA per lijn (zie figuur 3.2). Indien een ledmatrix is aangesloten moet dus het volgende veranderen: • active
====?
standby:
1. latch1: 00000000
2. latch2: 00100000 (de drukknop moet een reset kunnen genereren) • standby
====?
active:
1. latch2: 11100011
• active <===> speaking: alles blijft hetzelfde. Indien het toetsenbord is aangesloten blijven de overgangen tussen de verschillende modes hetzelfde als in de oude versie [Waterham, Verhoeven, 1987]. Er moet rekening mee worden gehouden dat SWITCH2 via de buffer moet worden uitgelezen en dat deze lijn vergeleken met de versie uit [Bierens, 1989] geinverteerd is. Hiervoor is een extra procedure geschreven: BUF2ACC, die de waarden van de bufferlijnen in de accumulator zet. 38
Voor het lezen van de lijnen CHAN KEYS (change keys) en CHAN SCANT (change scantime) moet eerst latchl (figuur A.I) worden aangestuurd en vervolgens moet de buffer worden gelezen.
39
4.3
Ret instellen van het toetsenbord
Uit de 266 beschikbare zinnen (zie bijlage B) kan door de gebruiker een keuze van 28 zinnen worden gemaakt, die door middel van programmering via het toetsenbord van de Pocketstem aan het toetsenbord kan worden toegewezen. Rierna kan de gebruiker met behulp van symboolplakkertjes een eigen inlegvel maken voor het toetsenbord. Op deze manier is het mogelijk om de gebruiker te laten beschikken over 266 zinnen zonder dat hij hiervoor een EPROM moet programmeren en verwisselen. Rij hoeft dus ook niet meer te beschikken over een computer om de zinnen te selecteren [Waterham, Verhoeven, 1987, pag. 67]. Ret programmeren gebeurt ook voor de een-toets versie met behulp van het gewone toetsenbord. Zie ook de gebruiksaanwijzing in bijlage C.3. 64
zinnummer toets 0
66
I
I II
120
I
zinnummer toets 27 I I
Figuur 4.3: Ret opslaan van de zinnummers in RAM Ret programmeren van de zinnummers gaat als voIgt: Elke toets heeft een nummer (0 tim 27). Aan een toets worden twee registers gekoppeld, nl. register (2*toetsnummer+64) en register (2*toetsnummer+65), zie figuur 4.3. De registers zijn vrijgekomen doordat het evalueren van de zinnen (oude versie [Waterham, Verhoeven, 1987]) niet meer nodig is. In deze registers wordt het zinnummer opgeslagen m.b.v. de routine CRKEYB (change keyboard). Zie figuur 4.4. De procedure vraagt om een toets en blijft intussen controleren of de schakelaar nog in de programmeerstand staat. Ais er een toets is ingedrukt wordt het nummer van de toets bewaard. Vervolgens worden er drie toetsen 40
CHKEYB
CHSWIT
F
F
KEYSCAN
KEYS~ F F F
sentence number:= sentence number+
save key number
key.10counter-l
led off
counter:=3 sentence number:=O
5 x WAIT counter:=counter-1 F
write to ram
Figuur 4.4: Het stroomschema van de subroutine CHKEYB
41
gevraagd (nummer tussen 0 en 9) die het zinnummer voorstellen (waarbij steeds wordt gecontroleerd of de schakelaar nog in de programmeerstand staat). Telkens als er een toets moet worden ingedrukt wordt de led aangestuurd om dit aan te geven. Als het zinnummer is ingegeven wordt het bewaard in de twee registers die bij de toets horen die als eerste was ingegeven en begint de routine opnieuw. De routine maakt gebruik van de subroutine CRSWIT om na te gaan of de schakelaar nog steeds in de programmeerstand staat. Ret stroomschema van deze subroutine is weergegeven in figuur 4.5. CRSWIT
read
bUffe~ F
T
setb chkeys
elr chkeys
Figuur 4.5: Ret stroomschema van de subroutine CRSWIT Voor het scannen van het toetsenbord wordt gebruikt (zie figuur 4.6). In deze subroutine toets is ingedrukt en zo ja, wordt het nummer behulp van de routine CALSN01 (= CALSNO Verhoeven, 1987]).
42
de subroutine KEYSCAN wordt nagegaan of er een van de toets berekend met uit oude versie [Waterham,
(
KEYSCAN
J
I scan keyboard T
IF F T
[!
CAL~NOI
]
!
GO Figuur 4.6: Ret stroomschema van de subroutine KEYSCAN
43
4.4
Het programma
Voor het programma is uitgegaan van het programma MONKEY (uit de een-toets versie [Bierens, 1989]). Aan dit programma zijn de routines SCAN en CALSNO (wordt CALSN01) uit het programma PCFPROG (voor de 28-toetsen versie [Waterham, Verhoeven, 1987]) toegevoegd. De overige routines zijn aangepast om voor beide versies gebruikt te kunnen worden. Bovendien zijn er nog enkele nieuwe routines toegevoegd. Er is gebruik gemaakt van de variabele spreeksnelheid zoals deze in [Winthagen, 1988] is behandeld (eis 6, paragraaf 2.2).
4.4.1
Het hoofdprogramma
Ret stroomschema van het hoofdprogramma is weergegeven in figuur 4.7. De diverse subroutines zullen hierna worden behandeld.
44
MAIN
T
T
SWSEL
OUTR T
F
T
F
STBY
Figuur 4.7: Ret stroomschema van het hoofdprogramma 45
De routine INIT (zie figuur 4.8) zorgt voor de initialisatie van de Pocketstem. LEDINIT bestaat uit de initialisatie uit de ledversie. OLDINIT is het gemeenschappelijke deel voor de beide versies. In de een-toets versie wordt, als de spanning uit is geweest, het RAM opnieuw geinitialiseerd [Bierens, 1989]. Deze initialisatie word in de nieuwe versie uitgebreid met de registers 64 tim 119. In deze registers zijn de zinnummers opgeborgen die aan de toetsen zijn toegewezen. Deze registers worden dan gevuld met de zinnummers 0 tim 27. Verder zijn er nog enkele triviale wijzigingen aangebracht ten gevolge van het veranderen van de device status words. De subroutine LEDCR (ledmatrix check) gaat na of de lijn KEYBDET hoog of laag is en past het bit "led" in DSW2 hieraan aan. Door dit bit uit te lezen kunnen de andere routines nagaan of het toetsenbord of de ledmatrix aangesloten is. De routine SWCON (switch controle) legt de stand van de aan/uit-schakelaar vast in DSWl. Deze routine is niet gewijzigd. De routine OUTR zorgt ervoor dat een toets (toetsenbord of drukknop) geen reset meer kan genereren door OOR naar latch! en latch2 te sturen. In de routine POWCR (power check) wordt de voedingsspanning gecontroleerd. Ret resultaat wordt vastgelegd in DSWl. Deze routine is niet gewijzigd. De routine PFAIL (power failure) treedt in werking als de voedingsspanning te laag is. Deze routine is niet gewijzigd. De routine SWSEL (switch selection) dient om in de ledversie na te gaan of de scantime ingesteld moet worden (in de routine SCTIM). SWSEL is in de nieuwe versie uitgebreid (zie figuur 4.9) met de subroutine CRKEYB (change keyboard, zie paragraaf 4.3). Riermee is het mogelijk de zinnenkeuze aan te passen. De routines SCAN en LEDSCAN dienen voor het scannen van het toetsenbord c.q. de ledmatrix. SCAN is overgenomen uit de oude toetsenversie. Voor LEDSCAN wordt door het programma een van de routines SCAN!, SCAN2 en SCAN3 gekozen, afhankelijk van de gewenste scanversie (vast46
INIT T F
initial scan/wait time initial sentence numbers
OLDINIT
F
MAIN LEDINIT
MAIN
Figuur 4.8: Ret stroomschema van het de routine INIT
47
SWSEL read buffer bits 4 and 5 T T F T F
SCTIM
Figuur 4.9: Ret stroomschema van de routine SWSEL gelegd in DSW2 door de routine INIT). De SCAN-routines zijn ongewijzigd. Aan de routine STBY (standby) zijn enkele veranderingen aangebracht zoals besproken in paragraaf 4.2. In de routine SPEAK is het voor de toetsenversie mogelijk gemaakt om tijdens het spreken al een volgende zin te kunnen selecteren. Dit is in de een-toets versie niet mogelijk.
4.4.2
Het ophalen van spraakdata
De routine SSAS (search and store address sentence) wordt aangesproken voor het ophalen van spraakdata. Omdat dit in de nieuwe versie op een andere manier gebeurt is deze routine gewijzigd. Eerst wordt het zinnummer uit de registers (toetsnummer*2+64) en (toetsnummer*2+65) gelezen. Om het beginadres van de zin uit de adressenlijst op te halen wordt
48
dit zinnummer met 3 vermenigvuldigd (elk beginadres is 3 bytes lang) en hier wordt de offset van lOOOH bij opgeteld. Uit de zo gevonden geheugenplaats (en de twee volgende) wordt het beginadres (zonder offset) van de betreffende spraakdata gehaald. Hierbij wordt lOOOH offset opgeteld. Op dit adres beginnen de spraakdata van de betreffende zin. In aIle routines die spraakdata uit het EPROM halen (SSAS, SSSL, RDQIFR en GTPST) zijn veranderingen aangebracht om de 17 adreslijn aan te kunnen sturen. Dit gebeurt door na te gaan of het bit udpb (DSW3) hoog is. Dit bit wordt in SSAS hoog gemaakt als het beginadres van de spraakdata boven de FFFF ligt. Ais dit bit hoog is wordt de lijn UDP v66r het Iezen van de data hoog en na het lezen weer laag gemaakt en er wordt gebruik gemaakt van MOVX in plaats van MOVC. Bij het verhogen van de datapointer voor het lezen van verdere data wordt steeds gecontroleerd of de grens van FFFF niet overschreden wordt. Ais dit weI gebeurt wordt udpb alsnog hoog gezet. Hiervoor is een aparte routine INCDPTR geschreven.
49
4.5
Het genereren van de spraakdata
In hoofdstuk 7 van de beschrijving van de oude versie [Waterham, Verhoeven, 1987] wordt beschreven hoe boodschappen, die op band zijn opgenomen, kunnen worden omgezet naar spraakdata voor de spraakchip PCF8200. Voor de Pocketstem is op die manier een bestand van 266 zinnen opgebouwd. De spraakdata zijn per zin in een bestand opgenomen (in binair formaat) op floppy discs van een Apple lIe personal computer. Om van deze 266 bestanden een bestand te maken dat in een EPROM geprogrammeerd kan worden, moeten de hieronder volgende stappen worden ondernomen. Er wordt gebruik gemaakt van een MSDOS-PC omdat het met de ApplePC niet mogelijk is een groot bestand in EPROM te programmeren. Ret resultaat van de bewerkingen is een lijst (adressen.hex) met beginadressen van de zinnen en enkele spraakdata bestanden (spraak*.hex). Deze moeten samen met het programma (combLhex) in het EPROM worden geprogrammeerd. 1. De binaire bestanden op de Apple-diskettes moeten met behulp van een BASIC-programma worden omgezet in een AS CII-formaat , om ze met behulp van het communicatieprogramma KERMIT te kunnen verzenden naar de VAX-computer. In dit ASCII-formaat worden de spraakdata gerepresenteerd door hexadecimale getallen bestaande uit twee ASCII-karakters. 2. Elk bestand dat op die manier gevormd is moet naar de VAX worden gezonden met behulp van KERMIT. 3. Van de VAX moeten de zinnen naar een MSDOS-PC verzonden worden. Deze "omweg" bleek de meest eenvoudige manier om de data van de Apple-PC naar de MSDOS-PC over te zenden. 4. De bestanden, die door de MSDOS-PC ontvangen zijn ("zin1.pcr' tim "zin266.pcr'), zijn tekstbestanden. In een regel van zo'n bestand staan 2 ASCII-karakters, die samen een (hexadecimaal) byte voorstellen, gevolgd door een cariage return (CR) en een line feed (LF). Dit formaat wordt omgezet in een overzichtelijker formaat van 5 bytes (= 10 hexadecimale karakters) per regel gevolgd door een 50
CR en een LF karakter. Hiervoor is het (Turbo-)pascal programma ERASECR.PAS geschreven. Dit programma zet aIle bestanden "zin* .pcr' (* = 1..266) om in "zin*.new". 5. Om de spraakdata in een EPROM te programmeren worden aIle 266 bestanden samengevoegd in 2 bestanden (dit kan niet in 1 bestand omdat dit te groot zou worden voor de assembler in stap 7). Tevens moet een adressenlijst gegenereerd worden die aangeeft op welke plaats in de samengevoegde bestanden de data van een bepaalde zin beginnen. Hiervoor is het (Turbo-) pascal programma SPRFILE.PAS geschreven. Dit programma genereert de volgende ASCII-bestanden: • "adressen.asc", de lijst met beginadressen van de zinnen. Elk adres heeft een lengte van 3 bytes omdat ook adressen boven adres FFFF moeten kunnen worden opgeslagen. Het EPROM bevat 128 kbyte (adres 0 tim 1FFFF). Hierdoor wordt niet meer voldaan aan de standaard van 2 bytes per adres. De beperkende factor voor de hoeveelheid spraakdata, die op deze manier kan worden opgeslagen, is dus de grootte van het EPROM, die niet groter mag zijn dan de theoretische waarde van 16 Mbyte. • "spraah.asc", met *=1,2..etc afhankelijk van de hoeveelheid spraakdata (in het huidige geval spraakl.asc en spraak2.asc). • "bestadre.tex", een bestand waarin de beginadressen voor de bestanden spraak*.hex vermeld zijn. Op deze adressen moeten de bestanden spraah.hex in het EPROM worden gezet. Dit programma heeft een invoerbestand "numberor.tex" nodig, waarin de nummers van de zinnen worden opgegeven die in het totaal moeten worden opgenomen. Dit bestand moet een tekstbestand zijn (ASCII) met een zinnummer per regel. Voor elk opgegeven zinnummer * moet een invoerbestand "zin*.new" uit stap 4 beschikbaar zijn. 6. De gevormde .ASC bestanden worden met het (Turbo-)pascal programma ASC2A51.PAS omgezet naar een invoerbestand voor de assembler (A51). Dit programmagenereert de bestanden "adressen.a51" en "spraak*.a51" (* = 1,2..etc).
51
7. Met behulp van de assembler worden van deze bestanden HEX-bestanden gemaakt, die in een EPROM geprogrammeerd kunnen worden. Dit gebeurt in drie stappen, met behulp van de programma's A51, L51 en OHS51: A51 L51 OHS51 *.a51 ---+ *.obj ---+ *. ---+ *.hex De assembler genereert dus de bestanden "adressen.hex" en "spraah.hex" 8. Deze bestanden kunnen met behulp van de EPROM-programmer in het EPROM geprogrammeerd worden. Hierbij moet met het volgende rekening worden gehouden: • Het programma" combi.hex" begint op OOH. • "adressen.hex" moet beginnen op het adres OFFSET (in dit geval 1000H). • De bestanden "spraak*.hex" beginnen op de adressen die in het bestand "bestadre.asc" (gegenereerd door" SPRFILE.PAS") zijn aangegeven. De uiteindelijke inhoud van het EPROM komt er dan uit te zien zoals is weergegeven in figuur 4.10.
52
OOH
COMBI.HEX leeg 1000H
adres zin 1 (3 bytes)
I adres zin 2 (3 bytes) I
adres zin 3 (3 bytes)
I adres zin 266 (3 bytes) SPRAAKl.HEX
SPRAAK2.HEX leeg Figuur 4.10: De indeling van het EPROM
53
5 Conclusies Er is een nieuwe versie van de Pocketstem gerealiseerd, die in een nieuwe behuizing is ondergebracht. Deze versie is zowel met een toets als met 28 toetsen te bedienen. In het apparaat zijn aIle 266 momenteel beschikbare zinnen opgenomen. Uit deze 266 zinnen kan de gebruiker zelf een keuze van 28 zinnen aan het toetsenbord toewijzen. Omdat er nog geen plannen zijn om het apparaat in deze vorm in serie te gaan produceren was het niet verantwoord om speciale membraantoetsenborden te laten maken waarin zowel toetsen als led's zijn ondergebracht. Daarom is gekozen voor een oplossing waarbij de manier van bedienen gekozen moet worden door het aanbrengen van ofwei een toetsenbord of een ledmatrix. Door het toepassen van een groter geheugen zijn aIle 266 beschikbare zinnen in het apparaat ondergebracht. Uit deze 266 zinnen kan de gebruiker door het apparaat in een programmeerstand te zetten en de gewenste zinnummers in te geven een willekeurige keuze van 28 zinnen aan het toetsenbord toekennen. Ret apparaat is voorzien van een variabele spreeksnelheid. Ais een zin twee of drie keer achter elkaar wordt uitgesproken gebeurt dit de tweede keer sneller en de derde keer langzamer. Door het toepassen van nieuwe componenten is de hardware op verschillende punten gemoderniseerd. Uit een evaluatie zal nog moeten blijken of de toegepaste methode om een keuze van zinnen aan het toetsenbord toe te kennen door de gebruikers als handig wordt ervaren. Ook zal nog moeten blijken of deze keuze in het RAM bewaard blijft. Ais blijkt dat het RAM na verloop van tijd door storingen verminkt wordt, zoals dit in de oude versie weI eens gebeurde, zal een andere manier moeten worden toegepast om de zinnummers te bewaren.
54
Literatuurlijst Bierens, E.J.J. (1989) Een-toets bediening voor de Pocketstem. IPO Rapport no. 709. Deliege, R.J.H. (1989) The "Tiepstem": an experimental Dutch keyboard-to-speech system for the speech impaired. Proefschrift, Technische Universiteit Eindhoven. Intel Corporation. (1985) Micro-controller Handbook. User's manual. Maxim. (1986) Power Supply Circuits. Databook. Waterham, R.P. (1986) Technische beschnj'ving van de Compacte Spraak Hulp (CSH I). IPO Rapport no. 525. Waterham, R.P. en Verhoeven, M.W.C. (1987) Technische beschriJving van de Pocketstem. IPO Rapport no. 606. Waterham, R.P. (1989) The" Pocketstem": an easy-to-use speech communication aid for the vocally handicapped. Proefschrift, Technische Universiteit Eindhoven. Winthagen, F.L.C. (1988) Uitbreiding van de Pocketstem en ondersteuningsprogrammatuur. Stageverslag Technische Universiteit Eindhoven, vakgroep EME.
55
Winthagen, F.L.C. (1989) De Dominostem, een communicatiehulpmiddel voor spraakgehandicapten. IPO Rapport no. 723.
56
A
De schema's en onderdelenlijst
57
OATABUS
ihlili~~~~
IC!
74HCT541
"
R9
lOOk
7 )( 220
u1t conn_eto,..
ORUKKNOP
....-.-"'-0--"0--+1..., B"V10 06
R10 lOOk 010
BAV10
O"T"BUS
Figuur A.I: Toetsenbord en ledmatrix aansturing 58
DATABUS
~
AO I'll A2 A3 A4 AS A6 A7 AS A9 Al0 All A12 A13 A14 A1S A16
X2 IIlESET
Pl.O
P2.0 P2.1 P2.2 P2.3 P2.4 P2.S P2.6 P2.7
Pl.2 Pl.3
&
INTO 4
INT 1
TO T1
P
PI.1
Pl ••
Pl.S Pl.6 Pl.7
7
00 01 02 03 04 OS 06 07
V...
Ar~~ TXO RXO
ell
""'i'"
lOOn
P
~.... c:.
1.
~n.c:.
1.
~04
~04
Figuur A.2: De processor 59
_
·
i : !
__
_.._ -._
_
.
I: I ~
!i ~
i:
i i
AANAIIT
~.~.ItR..f;.~.~ •.y.~.~.. R.It.~K..TP..VJ.Jf. __•
•••••••_._.
•__••_••••••••_••••_•••
r-··-~;~--------·_--· ~
1
__··__·-···----·I :
.l:tItT•..
i
Ii
~~~ 10
+.
C21
~~27
lOu
._••••_•••••••••••_.
IIOUT
IN.
••••••••••••,J
~~337""0
!
;~~
1
YOUT
ICL7663
l.~,~~_ ._~ .__.-=-_.~_I II
R3!l 47k
R40
Figuur A.3: Ret power-control circuit (1) 60
i
r······__··············__···_·············_···········...,
ii !
R22
i
lOOk
i: !
Ii I
•• ~
u
!i ~
n
R24 470k
r..
i
LED
\~3
Cl'
I;
":"
l
bg.• §.I;\.t.t.uJ.ol.C;.9!~.T.~.9J..g.~.I;> .•••••••••••.••••..!
J L T7 BCSSOC
i
i:
012
.
lOOn
R2'5 470k
;:
rt; C1B 47...
R26 1"
...
-'-
~g•. B.".r:g.~.".~.TJ.,,~~.I;\.~.~.~.~.'#. . .v.9.9.~...I;>."'.~~B.1;\.1;\~~.m.T.l:4n.~.~.".!lj
...................................................................................................................................... ! ~
ii
ii
1:
i:
R34
i
i
lOOk
I
I
:
:
!
l"=F
L.Rf,;••l/l!f,;RXNlililiP.ANNU!li.•l/l!l!R•• HI:L.AIIRXl!~XR~lIn ••••••••.•••••••••••••••••••••.•.• .1
.................................................................................................................................................
!
:J.l"
.::.:::
I i
~
I
.1;\.T.T....IY.ol.c;.9.~.TB.9ll ...••••••..••••••.••...•..•.••...••••••.••••••.•••••••••........••.••.•.•••••...••....•••••••.. ..1
Figuur A.3: Het power-control circuit (2) 61
R4~
C2$ +
:::c
R24 470k
C19 lOOn
~u
22k
""F
C24 47n
OUT
R2$ 470k
OSC..IN PCF9200 9~
92 93
"REO nCE nR/W nW
94
VSSd
9$
vss.
96
TEST
97
R34 N
R49 lk
INP
I""F
Figuur A.4: Het audio-circuit 62
C30 10n
Onderdelenlij st R 1..7 8.. 15 16 17..19 20 21 22 23 24,25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Potm.
220 0 100kO 22 kO 100 kO 1 MO 470 kO 100kO 1 kO 470 kO 1 MO 1000 2,7 0 1,6 MO 560 kO 470 kO 390 kO 3MO 100 kO 1 MO 100 kO 10 kO 4,7 kO 47 kO 1 MO 22 kO 10 kO 2,2 kO I 1,2 kO 680 0 330 0 270 0 2,7 0
C 1..4 5,6 7 8 9 10 11,12 13 14 15 16 17 18 19 20 21,22 23 24 25 26 27 28 29 30 XTAL
IC 100 nF 1 22 pF 2 1 JLF 3 100 nF 4 1 JLF 5 100 nF 6 100 nF 7 10 nF 8 100 nF 9 470 nF 10 2,2 nF 11 220 nF 12 47 JLF I 13 100 nF iT 47 JLF 1 10 JLF 2 100-pF 3 47 nF 4 1 JLF 5..7 1,5 nF D 3,3 nF 1..11 100 nF 12 47 nF 13 10 nF 14 6 MHz 15
1 kO I 470 kO 63
74HCT573 74HCT573 74HCT541 74HCT02 80C31 74HCT573 27C101 74HC04 74HCTOO 74HCT123 ICL7663 PCF8200 TDA7052 BC560C BC337-40 BC560C BC327-40 BC550C BAVlO led rood BAVlO BYV27 BAT85
B Het zinnenbestand
64
Constateringen: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
ja nee pas op hallo dag hoe gaat het ik heb het warm ik heb het koud hoe laat is het ik ben moe ik wil naar bed ik wil even rusten ik heb pijn ik voel mij niet lekker ik ben ziek ik voel mij goed ik voel mij somber ik begrijp u niet ik versta u niet ik kan hiermee praten ik zit niet lekker je bent wat vergeten mijn corset zit niet goed eventjes geduld, dan krijgt u antwoord eventjes geduld, dan krijg je antwoord als u geen antwoord wilt, waarom dan een vraag ik heb al getypt, je hoeft aIleen te lezen ik ben weI stom, maar niet gek fijn dat je gekomen bent ik wil met je praten ik wil wat zeggen ik wil typen ik snap het niet leuk je weer te zien
65
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
ik begrijp je niet ik verveel me dat vind ik niet lekker ik begrijp je niet goed ik zou je graag weer eens zien dag, graag tot ziens ik kan het niet goed zien ik zit niet goed dank je weI ik baal ik wi! dat je NU met me komt praten ik vind dit geen stijl wat zie je er goed uit wat zie je er slecht uit ik yond het fijn ik heb haast / ik moet opschieten ik heb ook geen tijd ik kan niet praten, maar begrijp alles ik wi! ook het is belangrijk dat is niet waar hallo, dit is mijn spreekcomputer ik heb buikpijn leuk dat je er bent ik kan dat niet goed. ik heb hard gewerkt dat is gemeen je bent een domoor ik wi! je helpen
66
Algemene dagelijkse levensbehoeften: 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
ik wil naar het toilet ik wil versehoond worden ik wil naar de we wilt u mij mijn vest geven wilt u mij mijn jas geven ik wil naar buiten wilt u iets uit mijn tas pakken ik wil in mijn rolstoel ik wil uit mijn rolstoel waar is mijn rolstoel mijn rolstoel is kapot ik wil mijn bril waar is mijn bril mag ik mijn kleren mag ik mijn wasspullen ik wil mijn seheerapparaat waar zijn mijn pillen ik wi! mijn gehoorapparaat wil je op mijn blad kijken, ik wi! wat aanwijzen ik wil andere kleren aan kan ik op de bank zitten er is iets kapot ik wi! naar de badkamer wil je me aankleden er is iets met mijn rolstoel ik wi! mijn taalzakboek hebben wil je mijn Blissboek pakken ik moet naar de we kunt u mijn tas aangeven help mij met seheren. ik ben klaar ik moet poepen maandag dinsdag
67
98 99 100 101 102
woensdag donderdag vrijdag zaterdag zondag
Eten en drinken: 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
ik heb dorst ik wil wat drinken ik wil koffie ik wil koffie met suiker ik wil koffie met melk ik wil koffie met melk en suiker ik wil thee ik wil thee met suiker ik wil thee met melk ik wil thee met melk en suiker ik wil limonade ik wil melk ik wil wat water drinken ik wi! iets eten ik heb honger, mag ik iets eten ik wil een boterham ik wil een rietje mag ik een servet ik heb geknoeid ik ben diabeet ik heb een dieet ik heb honger een ijsje of een patatje mag ik een cola
68
In huis / revalidatie centrum: 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
wat is er op televisie ik wil televisie kijken mag de televisie aan mag de televisie uit mag de radio aan mag de radio uit mag het raam open mag het raam dieht wilt u de deur voor mij opendoen kan de verwarming hoger kan de verwarming lager waar is de lift wanneer heb ik therapie kan ik de dokter spreken wat is er met mij aan de hand er is bezoek geweest wil je een plaat opzetten ik wil een bandje draaien ik wil iets over thuis vertellen ik wil iets over thuis vertellen (reprise) we zijn uit geweest waar is de televisie-gids ik wil naar de kerk ik wil naar de afdeling ik wil naar de begane grond ik wil naar bezigheidstherapie ik wil naar de logopedie ik wil naar de ergotherapie ik wil naar de fysiotherapie mag de stereo aan mag ik de gewiehten ik wil iets over school vertellen ik wil iets over de groep vertellen ik wil in het vlinderbad
69
161 162 163 164 165 166 167 168 169 170 171 172 173 174
ik wi! mijn familie spreken wanneer krijg ik bezoek wil je mijn familie opbellen wanneer ga ik naar huis krijg ik bezoek? ga ik naar huis? ik wi! graag op bezoek gaan ik wi! iets over vroeger vertellen wi! je naar huis opbellen meester, kun je komen? juf, kun je even komen? moeten we al naar huis? wanneer heb ik fysiotherapie? heb ik vandaag logopedie?
Hobby's / bezigheden: 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
ik wi! graag de krant lezen ik wil graag een boek lezen ik wi! graag een tijdschrift lezen ik wil graag een spelletje doen wil je een spelletje met mij doen ik wi! graag breien ik wi! graag borduren ik wi! graag tekenen ik wi! graag schrijven heeft u een vuurtje voor mij ik wi! graag roken mag ik hier roken ik wil graag iets anders doen ik wil winkelen kunnen we gaan vissen zullen we gaan kaarten ik wi! graag iets lezen ik wi! hockeyen kom je bij me spelen 70
194 195 196 197 198
wat doen we het weekend ik wi! memorie met je spelen. ik wil op de fiets ik heb een cadeautje gekregen. ik wi! een werkje doen
Vragen algemeen: 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226
kunt u mij helpen wie is dat wie bent u welke dag is het vandaag vertel wat over thuis wilt u dat voor mij opschrijven wil je dat voor me opschrijven hoeveel kost dat hoe was het thuis kan ik iets voor je doen wil je iets voor me meebrengen vertel eens wat er gebeurd is mag ik ergens naar toe hoe laat moet ik terug zijn wi! je iets voor me doen wi! je iemand voor me opbellen waar ben je allemaal mee bezig wi! iemand me even helpen kun je dat voor me opschrijven mag ik erdoor wilt u een taxi bellen wilt u iemand voor mij opbellen wanneer komen de kinderen heb ik het goed gedaan? wi! je dat nog eens uitleggen hoe heet je vind je het mooi wi! je mijn schrift pakken 71
227 228 229 230
kun je een beetje opschieten vanmorgen of vanmiddag kom je nog eens langs kan ik de boodschap aannemen
Algemene opmerkingen: 231 232 233 234 235 236 237 238 239 240 241 242 243
dat is leuk kijk niet zo naar me ik ben geen aap je bent zelf gek
HALLO!!! ik vind dit niet juist wie denk je eigenlijk dat ik ben zie je me weI voor vol aan hoe staat de oplader / welk lampje brandt? ik verwacht post hartstikke bedankt pot vur drie tot ziens ik maak me zorgen over iets
Telefoon: 244 245 246 247 248 249 250 251 252 253 254 255 256
met mij gaat het goed ik ben niet zo tevreden hoe gaat het met jou? ik wi! eens even met je praten kunnen we weer eens een afspraak maken? ik zou graag komen, wanneer schikt dat? deze week of volgende week? liever wat later graag wat eerder dan ben ik bezet heb je nog voor me gebeld? kun je daar iets meer van vertellen? ik antwoord het makkelijkst met ja en nee 72
257 258 259 260 261 262 263 264 265 266
je zou nog iets voor me uitzoeken dat begrijp ik niet dat vind ik leuk och, wat jammer bedankt voor je schrijven een ogenblik alstublieft sorry, ik moet wegj ik bel je terug ik wil nog iets vragen of zeggen dat weet ik zo niet wil je het nog eens herhalen?
73
C
Gebruiksaanwijzingen
74
e.l
Gebruiksaanwijzing voor de Pocketstem met toetsenbord
Aan/uit De UIT-stand is aIleen nodig tijdens transport. De AAN-stand in aile overige gebruikssituaties.
Belangrijk: Ais het apparaat een storing vertoont dan volstaat het om de Pocketstem eenmaal uit en daarna weer aan te zetten. Mocht het apparaat dan nog niet goed werken dan moet het opgeladen worden of er moet technische hulp worden ingeroepen.
Spreken De Pocketstem zal, als het apparaat in de stand" AAN" staat, op iedere druk op een van de toetsen reageren door de zin die onder die toets staat opgeborgen uit te spreken.
Belangrijk: Dit geldt zolang de accu voldoende vermogen bezit om de zin uit te spreken. Is de accu te ver leeg, dan zal de rode led 4 seconden oplichten (zie ook "ACCU LEEG"). Ret volume waarmee een zin wordt uitgesproken is regelbaar met de draaischakelaar die in de onderkant van de Pocketstem is aangebracht.
Accu leeg Indien de accu te ver leeg is geraakt dan zal de Pocketstem op een toets druk reageren door de led, die in de voorkant van het apparaat zit, 4 seconden te laten branden. Na deze 4 seconden schakelt het apparaat zich uit en zal niet meer op een toets reageren.
75
Belangrijk: Om het apparaat weer te laten werken moet het eenmaal UIT en weer AAN gezet worden (natuurlijk moet voor een goede werking eerst de accu worden opgeladen).
Opladen Na een aantal dagen gebruik, of na een dag intensief gebruik volstaat het om het apparaat gedurende een nacht aan de meegeleverde batterijlader aan te sluiten. Het verdient aanbeveling om het apparaat na een dag gebruik s'nachts op te laden. Gebruik geen andere dan de bijgeleverde oplader. Opladen gebeurt door de lader in een wandcontactdoos en de plug in de Pocketstem te steken (connector in voorkant). De led van de oplader zal gaan branden ten teken dat de accu wordt opgeladen.
76
C.2
Gebruiksaanwijzing voor de Pocketstem met een-toets bediening
Aan/uit De UIT-stand is aIleen nodig tijdens transport. De AAN-stand in aIle overige gebruikssituaties.
Belangrijk: Ais het apparaat een storing vertoont dan volstaat het om de Pocketstem eenmaal uit en daarna weer aan te zetten. Mocht het apparaat dan nog niet goed werken dan moet het opgeladen worden of er moet technische hulp worden ingeroepen.
Spreken Druk als het apparaat "AAN" staat op de toets. Er wordt nu begonnen met scannen volgens een van de volgende scanmethoden:
Rijscan: Achtereenvolgens licht een van de 4 rijen op. Op het moment dat de rij met de gewenste led oplicht moet de toets worden ingedrukt. Nu wordt deze rij doorlopen. Ais de gewenste led oplicht moet de toets opnieuw ingedrukt worden en vervolgens nog een keer om de keuze te bevestigen. Blokscan: De ledmatrix wordt in 2 blokken verdeeld die beurtelings oplichten. Ais de gewenste led zich in het oplichtende blok bevindt moet de toets worden ingedrukt. Dit blok wordt nu weer verdeeld in 2 blokken etc. Deze procedure gaat door totdat er nog slechts een led over blijft. Nadat deze is geselecteerd moet de toets ter bevestiging nog een keer worden ingedrukt om de zin te laten uitspreken. Sprint: De led's lichten achter elkaar een voor een op, waarbij rij voor rij wordt doorlopen. Zolang de toets ingedrukt blijft is de scansnelheid hoog. In de buurt van de gewenste led aangekomen moet de toets worden losgelaten, zodat langzamer wordt gescand. Op het moment
77
dat de gewenste led oplicht moet de toets 2 maal worden ingedrukt. De zin wordt dan uitgesproken.
Belangrijk: Dit geldt zolang de accu voldoende vermogen bezit om de zin uit te spreken. Is de accu te ver leeg, dan zal de rode led in de voorkant van het apparaat 4 seconden oplichten (zie ook " ACCU LEEG").
Het volume waarmee een zin wordt uitgesproken is regelbaar met de draaischakelaar die in de onderkant van de Pocketstem is aangebracht.
Instellen van de looptijd De looptijd kan worden ingesteld tussen 0,5 en 4,5 seconde in stappen van 0,5 seconde. Dit gebeurt door de schakelaar in de onderkant van het apparaat in de stand" looptijd instellen" te zetten. Dan gaat in de bovenste rij een led branden en na enige tijd komt hier steeds een led bij (totdat er 7 led's branden). Elke led komt overeen met 0,5 seconde. Op het moment dat het aantal led'8 overeenkomt met de gewenste looptijd moet de toets worden ingedrukt. Hierna moet de schakelaar worden teruggezet in de stand "spreken".
Accu leeg Indien de accu te ver leeg is geraakt dan zal de Pocketstem op een toets druk reageren door de led, die in de voorkant van het apparaat zit, 4 seconden te laten branden. Na deze 4 seconden schakelt het apparaat zich uit en zal niet meer op de toets reageren.
Belangrijk: Om het apparaat weer te laten werken moet het eenmaal UIT en weer AAN gezet worden (natuurlijk moet voor een goede werking eerst de accu worden opgeladen). 78
Opladen Na een aantal dagen gebruik, of na een dag intensief gebruik volstaat het om het apparaat gedurende een nacht aan de meegeleverde batterijlader aan te sluiten. Het verdient aanbeveling om het apparaat na een dag gebruik s'nachts op te laden. Gebruik geen andere dan de bijgeleverde oplader. Opladen gebeurt door de lader in een wandcontactdoos en de plug in de Pocketstem te steken (connector in voorkant). De led van de oplader zal gaan branden ten teken dat de accu wordt opgeladen.
79
C.3
Gebruiksaanwijzing voor het instellen van het toetsenbord
Het apparaat is uitgerust met 266 zinnen (zie bijlage B). Uit deze 266 zinnen kan een keuze van 28 zinnen aan het toetsenbord worden toegewezen. Het bepalen welke zin bij welke toets hoort gaat als voIgt: 1. Indien het apparaat d.m.v. 1 toets wordt bediend, moet de ledmatrix eerst vervangen worden door het normale toetsenbord.
2. Schuif het sjabloon met cijfers (0..9) in het toetsenbord. 3. Zet de schakelaar in de onderkant van het apparaat in de stand "toetsenbord instellen" . 4. Zet het apparaat uit en dan aan. 5. Druk op de toets die veranderd moet worden, het lampje in de voorkant van het apparaat gaat nu branden (het lampje dient nu niet om aan te duiden dat de batterij leeg is). 6. Druk het gewenste zinnummer in, gebruik hiervoor steeds 3 cijfers, bijv.: zin 5 -----+ 005. Na elke toetsindruk zal het lampje even uit gaan (geen toets indrukken voordat het lampje weer aan aan is). Na drie cijfers ingedrukt te hebben is het zinnummer ingegeven en blijft het lampje uit. 7. Herhaal de stappen 5 en 6 totdat het toetsenbord helemaal naar wens is ingesteld. 8. Zet de schakelaar in de onderkant van het apparaat terug in de middelste stand: "spreken". Indien in de stand "spreken" na het indrukken van een toets geen zin wordt uitgesproken, is waarschijnlijk bij het instellen een verkeerd zinnummer ingegeven. De betreffende toets moet dan opnieuw ingesteld worden.
80