Home

AUTONOM III: Spracherkennung - Technische Universität Wien

image

Contents

1. A REL DEC A MOV ADD MOV MOV A REL NUM A fREL 0 R0 000h RET einzelnes Relais selectiert Relais EIN oder AUS Relaisnummer Adresse des angesprochenen REL_BUF Einstellung des angesprochenen Relais in REL_BUF 0 abgespeichert Relais konstant Relais konstant Nummer des ausgew hlten Relais Adresse des Z hlers angesprochenes Relais einschalten Nummer des ausgew hlten Relais Adresse des Z hlers Schreibt Pulsdauer in selectierten Relaistimer Relaisnummer Adresse des Z hlers angesprochenes Relais ausschalten TIMER REL TII REL REL REL TD nachdem ein Relais selectiert wurde mu innerhalb von 10 s eine Best tigung kommen Ist diese Zeit berschritten wird die Selection wieder gel scht Relais selectiert Zeit l uft ab Zeit abgelaufen Selection l schen in REL TIMER steht ob das Relais ein aus oder gepulst geschaltet wird JNB RELAIS REL DEC ZEITSCHLITZ MOV AJZEITSCHLITZ CJNE A OOh REL CLR RELAIS FFh Relais ein 00h Relais aus 0 63h MOV A JREL 1 A O0FFh REL CLR 40 JMP REL TI2 A 000h REL_TIIB SETB 4 0 JMP REL TI2 DEC 1 CLR 40 MOV A REL 2 Relais ein Z hler wird im Sekundentakt decrementiert Relais 1 ein Relais 1 au
2. 2 3 Ergebnis 2 3 1 Realisierung mit dem Prototyp des Spracherkennungsbausteins Diese Realisierung zeigte ein gutes Ergebnis in Bezug auf die Spracherkennung Sehr geringe Nebenger uschempfindlichkeit e Einfache Bedienung e Gute Erkennsicherheit wenn es sich tats chlich um eines der gespeicherten W rter handelt Jedoch traten folgende Schwachpunkte auf Das Ger t ist langsam da es f r die Auswertung eines gesprochenen Wortes ca s braucht e Der Baustein muf vor jeder Erkennung angestossen werden e Es steht f r die Spracheingabe nur ein bestimmter Zeitschlitz von 2 s zur Verf gung Ist dieser Zeitschlitz verpa t mu der Baustein neu angestossen werden e Das Ger t mifit den Dynamikumfang des Eingangsignals Kommt es zu dem Ergebnis da es sich um Sprache und nicht um ein Hintergrundger usch handelt wird das Wort einer Speicherplatznummer zugeordnet ohne die Wahrscheinlichkeit einer solchen Zuordnung zu ber cksichtigen Anzahl verschiedener W rter auf 15 beschr nkt e Der Platzbedarf ist relativ gro was aber nicht so entscheidend ist 2 3 2 Realisierung mit dem Serienmodell Das Serienmodell zeigt einen anderen Aufbau als der Prototyp Die in Kapitel 2 3 1 genannten Schwachpunkte wurden zum Teil behoben e Die Schnelligkeit der Auswertung ist erh ht worden Sie liegt jetzt bei ca 0 5 s e Der Baustein gibt als Antwort nicht nur die Speicherplatznummer sondern auch die Wahrscheinlichkeit der Erkenn
3. IN Lese Antwort vom NNSR gt gt 6 Ek k eo k kkk kk kkk k FROM_NNSR HMSG_WT NEXTIN Antworten vom NNSR werden in IN_BUF 0 bis IN BUF 5 geschrieben Der NNSR l st ber seine HMSG Leitung einen Interrupt aus danach werden die 6 Byte eingelesen CLR NNSR MSG SETB P1 6 SETB JNB NNSR MSG HMSG WT CLR CLR P1 6 MOV DPTR HDRO MOV BUF A DPTR MOV RO A INC DPTR INC RO CINE RO IN_BUF 6 NEXTIN CALL SCHLEIFE RET signal HOST READY to NNSR erm glicht INT 2 warte auf Antwort vom NNSR schaltet INT 2 ab l scht HOST READY Adresse HDRO Adresse IN_BUF 0 lese Byte vom externen HOST DATA Register und schreibe es in IN BUF increment Pointer alles eingeschrieben 53 B NNSR schl ft SCHLAFE WEITERSCH wird das Schl sselwort erkannt springt der NNSR erst nach nochmaliger Erkennung des Schl sselwortes aus dieser Routine CALL MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CALL MOV CALL CALL CALL JB JMP MOV CJNE RET CLEAR DISPLAY DISP_BUF 0 20h DISP_BUF 1 20h DISP_BUF 2 49h DISP_BUF 3 43h DISP_BUF 4 48h DISP_BUF 5 20h DISP_BUF 6 53h DISP_BUF 7 43h DISP_BUF 8 48h DISP_BUF 9 4Ch DISP_BUF 10 41h DISP_BUF 11 46h DISP_BUF 12 45h DISP_BUF 13 20h DISP_BUF 14 20h DISP_BUF 15 20h SEND_DISPLAY OUT_BUF 0 LISTEN
4. 4 2 Verwendete Bausteine 4 2 1 Der NNSR Prototyp Der Prototyp des Spracherkennungsbausteines wurde bereits im Kapitel 3 dieser Arbeit ausf hrlich behandelt 4 2 2 Der Leitungsempf nger der Leitungstreiber und der Inverter Die Signale vom und zum NNSR Prototyp m ssen einen Pegel von und 5V haben Die Daten auf der seriellen Schnittstelle werden mit einem Pegel von 12V und 12V bertragen Der Grund f r diese h heren Spannungen liegt in der erh hten Datensicherheit auch bei langen bertragungsstrecken Der Leitungsempf nger Der 4 fache Leitungsempf nger bringt die Signale auf den ben tigten 5V Pegel zur ck Zur Verwendung kam ein MC 1489 Baustein Der Leitungstreiber Der 4 fache Leitungstreiber invertiert die logischen Signale vom NNSR Prototyp und bringt sie auf den h hern Pegel Zur Verwendung kam ein MC 1488 Baustein Der Inverter Der Inverter ist notwendig um die Signale von und zum NNSR Prototyp logisch richtig aufzubereiten 5 V logisch 0 0 V 2 logisch 1 Zur Verwendung kam ein NAND Gatter MC 7400 Die Beschaltung ist aus Abbildung 4 2 zu ersehen 4 3 Aufbau auf einer Hirschmann Steckplatte rh gua 5 V 12 V i 2 3 I 2 14 lb 3 E 3 RS 232 4 Schnittstelle 5 12V 12 V 5 ET Stecker zum PC ell gt LI 9014 7 3 co 5 8 uni 6 AL 16 O E Abbildung 4 2 Versuchsaufbau S
5. Abfrage ob LCD bereit F gt F F f kk F oF k eg eg eg eg te eh ek ek kk k kk k kkk LCD RDY CLR CLR SETB SETB MOV JB CLR RET DISP E DISP RS DISP RW DISP E P5 0FFh P5 7 LCD_RDY DISP_E Register Select on command BUSY Flag lesen P5 muf high sein beim lesen Warte bis Display not busy pk sak sk ok Abfrage von Taster 2 kk kkk kk pelo k kkk k k k k k k kkk k k TASTER2_ABF WARTE T2 ZURUECK T2 MOV JB CALL MOV JB MOV JNB CALL MOV JNB INC MOV CJNE MOV RET ACC 6 ZURUECK_T2 SCHLEIFE ACC 6 ZURUECK_T2 ACC 6 WARTE T2 SCHLEIFE ACC 6 WARTE T2 MENUENUMMER A MENUENUMMER A ff6 ZURUECK T2 MENUENUMMER 1h MEN TASTER wird abgefragt Z hlschleife zur Tastenentprellung MEN TASTER wird nochmals abgefragt Wartet auf loslassen der Taste Z hlschleife zur Tastenentprellung MEN TASTER wird nochmals abgefragt NUR MEN 1 5 m glich Abfrage von Taster eee ee o oF R oR k k kk k kk k kk k kk k k k TASTER3_ABF WARTE T3 MOV JB CALL MOV JB MOV JNB A P6 ACC 7 ZURUECK T3 SCHLEIFE ACC 7 ZURUECK T3 ACC 7 WARTE T3 STUFEN TASTER wird abgefragt Z hlschleife zur Tastenentprellung STUFEN TASTER wird nochmals abgefragt Wartet auf loslassen der Taste 60 WEITER_T3 ZURUECK T
6. TO_NNSR FROM_NNSR ERKENNUNG POSITIV WEITERSCH SCHLAFE A IN_BUF 2 A 0Ch SCHLAFE LEERZEICHEN LEERZEICHEN I H LEERZEICHEN H m gt LEERZEICHEN LEERZEICHEN LEERZEICHEN vergleicht mit Schl sselwort Auswertung des erkannten Wortes 5 R eo kk k ke ke k k k ERKENNUNG NEGATIV_ERK ein Wort wird als Erkannt akzeptiert wenn corell spectr moment 2 gt 60h erf llt ist CLR MOV MOV DIV ADD CLR SUBB JC SETB RET POSITIV A IN_BUF 5 B 2h AB A IN_BUF 4 C A 60h NEGATIV_ERK POSITIV spetr Moment wird in A geladen corell wird in A geladen Schwelle f r positive Erkennung negative Erkennung wenn Carry Flag gesetzt positive Erkennung 54 RELAIS_SCHALTEN REL_WEITER REL_RESET REL_RES REL RESIB REL RES2A REL RES2B REL RES3A REL RES3B REL RESAA REL 54 REL 55 REL RESSB REL RES6A REL 56 REL 57 REL 57 REL 58 REL RESSB JB RET CLR CALL MOV CJNE MOV CJNE MOV JMP MOV MOV CJNE MOV JMP MOV MOV CJNE MOV JMP MOV MOV CJNE MOV JMP MOV MOV CJNE MOV JMP MOV RET RELAIS REL WEITER RELAIS REL EIN A REL NUM A 09h REL_EINSCHALTEN 2 A fOBh REL RES A REL 5 REL 1 REL 52 REL 1 00 A REL
7. dazugeh rigen Zeitwerte in den REL TIMER geschrieben Wurde ein einzelnes Relais selektiert wird berpr ft ob es ein oder ausgeschaltet werden soll Relais soll eingeschaltet werden Aus dem zugeh rigen REL wird ausgelesen ob das Relais konstant oder gepulst geschaltet wird Der entsprechende Zeitwert wird in den REL TIMER geschrieben e Relais soll ausgeschaltet werden Der entsprechende Zeitwert wird in den REL TIMER geschrieben 7 4 12 TIMER Diese Prozedur enth lt die Z hlregister f r den Zeitschlitz und die Relais Im Hintergrund des Programms l uft der Timer 0 des Mikroprozessors dieser l st bei einem Timer overflow einen Interupt aus Jede Sekunde wird die Timerprozedur aufgerufen und wenn n tig die Z hlregister decrementiert Steht im ZEITSCHLITZ eine Zahl gr sser 0 ist die Zeit f r die Best tigung noch nicht abgelaufen In den Z hlregistern f r die Relais REL_TIMER k nnen folgende Werte stehen e FFh Relais ist auf Dauer ein das Z hlregister wird nicht decrementiert e 01 064h Relais ist ein bei jedem Durchlauf der Prozedur wird das Z hlregister decrementiert e 00h Relais ist auf Dauer ausgeschaltet das Z hlregister wird bei einem Durchlauf nicht beinflu t 7 4 13 TIMERO Diese Prozedur ist der Z hler f r den Timer 0 Interrupt Sie wird ben tigt da ca alle 62 5 ms ein Interrupt ausgel st wird die Prozedur Timer aber nur 1 mal pro Sekunde aufgerufen werden soll 7 4 14 NOT_TRAINED Di
8. 2 A 01h REL_RES2B REL_TIMER 2 0FFh REL_RES3A REL_TIMER 2 00h A REL_BUF 3 A 01h REL_RES3B REL_TIMER 3 0FFh REL_RES4A REL_TIMER 3 00h A REL_BUF 4 A 01h REL_RES4A4B REL_TIMER 4 0FFh 55 REL 4 00 A REL_BUF 5 A 01h REL_RESS5B REL_TIMER 5 0FFh REL_RES6A REL_TIMER 5 00h A REL_BUF 6 A 01h REL_RES6B REL_TIMER 6 0FFh REL RES7A REL 6 00 A REL_BUF 7 A 01h REL_RES7B REL_TIMER 7 0FFh REL_RES8A REL_TIMER 7 00h A REL 8 A 01h REL_RESSB REL_TIMER 8 0FFh REL_EXIT REL_TIMER 8 00h wenn kein Relais selectiert zur ck Best tigung l schen liest Relaiseinstellung aus SRAM Relaisnummer Bes tigung EIN oder AUS Reset aller Relais Einstellung von Relais 1 Relais 1 ein Relais 1 aus Relais 2 ein Relais 2 aus Relais 3 ein Relais 3 aus Relais 4 ein Relais 4 aus Relais 5 ein Relais 5 aus Relais 6 ein Relais 6 aus Relais 7 ein Relais 7 aus Relais 8 ein Relais 8 aus 55 REL_EINSCHALTEN REL_KONSTE CJNE REL KONSTEI REL PULS REL AUSSCHALTEN REL EXIT MOV CJNE MOV ADD 2 AUSSCHALTEN A REL NUM A REL_BUF 0 MOV MOV A RO MOV REL_BUF 0 A CINE A 00h REL_KONSTE JMP REL_KONSTEI A 01h REL_PULS MOV A REL NUM ADD MOV MOV A fREL 0 R0 0FFh A REL NUM A fREL 0
9. ASCII NUM enth lt ASCI Code der aktuellen AUSGANGSNUMMER MOV B 0h MOV DPTR ZRELAISI MOV RO REL_BUF I NEXTSB MOV A RO DPTR A Schreibt Relaiseinstellungen von REL BUF in SRAM INC DPTR INC RO CJNE RO REL_BUF 9 NEXTSB alle Einstellungen in SRAM WEITERSC MOV A MENUENUMMER CJNE A 5 ZURUECK springt ins n chste Men wenn Taste 2 bet tigt LJMP 5 ZURUECK LJMP TRAINW RET RS232 hier werden ankommende Befehle an den NNSR weitergeschickt die Antworten wieder auf die RS232 ausgeschrieben die serielle Schnittstelle ist 9600 baud 1Startbit 8 Datenbit 1 Stopbit initialisiert MOV A P6 JNB ACC 5 W 232A liest Betriebsart Schalter 5 ein CALL SCHLEIFE MOV A P6 JNB ACC 5 W 232A RET 50 W_232A RS232 DOWN INIT RS232 DOWN NEXT DOWN WARTE DOWNI W 232B WARTE DOWN 2 WARTE DOWN MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CALL CLR SETB CLR SETB ANL CLR SETB SETB SETB CJNE CALL CALL DISP_BUF 0 20h DISP BUF 1 220h DISP_BUF 2 20h DISP_BUF 3 20h DISP_BUF 4 20h DISP_BUF 5 52h DISP_BUF 6 53h DISP_BUF 7 20h DISP_BUF 8 32h DISP_BUF 9 33h DISP_BUF 10 32h DISP_BUF 11 20h DISP_BUF 12 20h DISP_BUF 13 20h DISP_BUF 14 20h DISP_BUF 15 20h SEND_DISPLAY SMO SMI 5 20 RENO PCON 7Fh BD CTS I RTS_I TMOD 0F0h TMOD 02Fh TH1 0FCh TL1 0FCh TRI EAL BUF 0
10. DB 33h DB 33h DB 34h DB 34h DB 34h DB 34h DB 34h TUI FO III III IT FQ mm rm OS UL Q O b2 IS IS IS ED ED DD ED B2 tD O O Q Q tS 5 REL3 DB DB DB DB 34h 34h 34h 34h 34h 35h 35h 35h 35h 35h 35h 35h 35h 35h 35h 36h 36h 36h 36h 36h 36h 36h 36h 36h 36h 37h 37h 37h 37h 37h 37h 37h 37h 37h 37h 38h 38h 38h 38h 38h 38h 38h 38h 38h 38h 39h 39h 39h 39h 39h 39h 39h 39h 39h 39h 20h 20h 20h 20h 4 4 4 4 4 50 15 23 5 15 15 15 15 26 60 6 6 6 6 6 6 6 6 6 57 70 D 7 ST cT 7 iT 57 7 E 8 80 8 8 8 8 8 8 8 8 8 9 90 9 9 9 9 9 19 9 9 9 99 LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN 67 20h 20h 20h 20h 20h 20h 20h 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 30h 31h 32h LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHE LEERZEICHEN LEERZEICHEN LEERZEICHEN Ed rrr rr rar ve ve ve ve ve SS le eg ee en 44 m LA
11. IEN2 08h ACC 5 W 2328 SCHLEIFE A P6 ACC 5 W 232B CTS LWARTE DOWNI IEN2 0F7h RIO TIO RTS I IEN2 08h RIO WARTE_DOWN2 RO SOBUF RO CTS LWARTE DOWN3 RTS I RO ZOUT BUF 6 NEXT DOWN TO NNSR FROM NNSR LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHE LEERZEICHE R SS LEERZEICHEN 2 3 2 LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN 2 2 Serial Interface Mode 1 Empfangen SMOD 0 Baudratengenerator nicht verwenden Eingang RTS R cksetzen Timer 1 Baudrate TMOD 0010 xxxx B Mode 2 Reload Wert Baudrate Vorbelegung Timer starten Interrupts generell enable ES1 1 liest Betriebsart Schalter 5 ein CTS set 51 0 Receive Flag reset Transmit Flag reset RTS setzen 51 RS232_UP_INIT RS232_UP NEXT_UP WARTE UPI WARTE UP2 JNB WARTE UP3 JNB CLR SETB CLR CLR ANL CLR SETB SETB ORL ANL MOV MOV SETB SETB MOV CLR ORL JB ANL CLR MOV CLR ORL SMO SMI SM20 RENO PCON 7Fh BD CTS I RTS_I TMOD 0F0h TMOD 02Fh TH1 0FCh TL1 0FCh TRI EAL RO IN_BUF 0 RTS_I IEN2 08h CTS LWARTE UPI IEN2 0F7h TIO SOBUF GRO RIO IEN2 08h TIO WARTE_UP2 CTS_LWARTE_UP3 INC CINE RO IN_BUF 6 NEXT_UP SETB LJMP RET RO RTS I RS232 Mode 1 Senden SMOD 0 Baudratengenerator nicht verwenden Eingang RTS R
12. Men taster und Stufentaster MAX 232 und Stecker f r RS 232 Stecker f r Resettaster Die Daten und Adressleitungen des NNSR auf der Spracherkennungsplatine k nnen ber die externen Speicheradressen FF00h FFO1h FF02h FF03h FF04h und FFO5h angesprochen werden Die Handshakeleitungen h ngen auf Port 1 und 3 des Mikrokontrollers Der Betriebsartenschalter der Men taster und der Stufentaster h ngen auf Port 6 des Mikrokontrollers Das Display ist an Port 3 und 5 angeschlossen und der Inverter befindet sich an Port 4 Die Schwingfrequenz des Quarzes liegt bei 14 7456 MHz Die Stellung der Jumper f r das EPROM ist der Abbildung 11 7 in Anhang B zu entnehmen Der Schaltplan des Hardware Kern befindet sich in Anhang B Abbildung 11 6 Das gepufferte SRAM Die Daten zur Relaiseinstellung siehe 8 2 2 5 Schaltausg nge definieren m ssen in ein gepuffertes RAM abgelegt werden damit sie auch nach einer zeitweiligen Abschaltung des Ger tes noch vorhanden sind Zur Verwendung kam ein DS1225AD 64 K Nonvolatile SRAM der Fa DALLAS Semiconductor Anschlie end noch eine Auflistung der verwendeten Pins auf der 96 poligen Federleiste Pin Hardware Kern Spracherkennungsplatine A14 P3 2 Enable f r Display 15 P33 R W f r Display A16 P3 4 Register Select f r Display A17 P3 5 QRESET f r NNSR 18 P3 6 QHWR f r NNSR A19 P3 7 QHRD f r NNSR A23 SELI QHSEL f r NNSR A26 ALE ALE f r NNSR A30 VCC 5V Spannungsversorgung f r NNSR un
13. m LEERZEICHEN L LEERZEICHEN EE Initialisierung des Display INIT DISPLAY INIT DISO MOV MOV MOV MOV MOV MOV MOV CALL CLR SETB MOV CLR SETB INC CJNE SETB RET DISP BUF 0 1110000b Function set DISP BUF 1 2001000b Display off DISP 2 80000015 Clear Display DISP BUF 43 2000010b Cursor at Home DISP 4 001100 Display on DISP_BUF 5 000000b RO DISP_BUF Schrweibe end of text Adresse von DISP LCD RDY DISP RW DISP E set Display enable P5 RO Befehl ins Display Register DISP E falling edge of enable DISP RW RO increment pointer for buffer R0 00H INIT_DISO Ende DISP RS Register Select on data Clear Display CLEAR_DISPLA Y CALL CLR SETB MOV CLR SETB SETB RET LCD_RDY DISP_RW DISP_E set display enable P5 01H clear display DISP_E falling edge of enable DISP_RW DISP_RS Register Select on data 59 E sende ASCII Code von DISP BUF zum Display SEND_DISPLAY SEND_NEXT MOV CALL SETB CLR SETB MOV CLR SETB INC CJNE RET RO DISP_BUF LCD_RDY DISP_RS DISP_RW DISP_E P5 RO DISP_E DISP_RW RO RO DISP_BUF 16 SEND_NEXT Adresse des DISP BUF Register Select on data set display enable schreibe n chsten ASCII Code zum Display falling edge of enable increment Pointer Ende Ja
14. o mo N O O AN 9 o oo ON Q 955 VD GJ Ch Q Q ra 2222 10 20 30 40 50 60 DB 33h DB 34h DB 35h DB 36h DB 37h DB 38h DB 39h DB 30h DB 31h DB 32h DB 33h DB 34h DB 35h DB 36h DB 37h DB 38h DB 39h DB 30h DB 31h DB 32h DB 33h DB 34h DB 35h DB 36h DB 37h DB 38h DB 39h DB 30h DB 31h DB 32h DB 33h DB 34h DB 35h DB 36h DB 37h DB 38h DB 39h END Q 00 O tA 4 Q I9 O 00 1 O tA I2 O O UA T9 O Q UA UO 10 2 Listing des Turbo Pascal Programms Listing des in Kapitel 4 beschriebenen Programms program sr uses crt dos Programm zur Ansteuerung des NNSR Prototyp var richtig x y char N longint pfiff char aux file of char funktion readchar Char var begin end r Registers 2 r DX 0 Intr 14 r readchar Char r AL procedure Ausgabe begin end I write aux y if ioresult lt gt 0 then writeln Plotterfehler H procedure init var begin end r Registers r AH 00 r AL BB r DX 00 intr 14 r Lesen eines Zeichens von der seriellen Schnittstelle Initialisierung der seriellen Schnittstelle 2400 baud 8 Datenbits 1Stoppbit Parit t even 70 procedure lesen var richtig char var writeln 1 begin end end richtig wer
15. 3 3 3 Playback Mit dem Befehl Playback k nnen soeben aufgesprochene Muster nochmals angeh rt werden 3 3 4 Sprachmuster speichern Der Befehl Speichern speichert das Sprachmuster das sich im Aufnahmespeicher befindet ab Die erfolgreiche Ausf hrung wird mit einem kurzen Ton Frequenz 1kHz Dauer 0 1 s quittiert 3 3 5 Selektion eines Speicherplatzes Sind alle gew nschten Sprachmuster zu diesem Wort abgespeichert wird mit der Befehlsfolge Select Speicherplatznummer folgt X X Ende der Speicherplatznummer x Zahl von 0 9 ein neues Wort selektiert und mit den vorstehenden Befehlen bearbeitet 3 3 6 Wort l schen Der Befehl L schen entfernt alle Sprachmuster die zu dem selektierten Wort geh ren Der Programmiermodus wird mit diesem Befehl wieder verlassen 3 3 7 Aufnahme von Sprachmustern beenden Mit der Befehlsfolge Select Speicherplatznummer folgt 6 Ende der Speicherplatznummer wird der Programmiermodus wieder verlassen Zuvor erfolgt ein Lernvorgang dessen Ende mit einem kurzen Quittierungston Frequenz 1kHz Dauer 1 s angezeigt wird Danach befindet sich das Ger t wieder im Betriebsmodus 3 3 8 Reset Die Befehlsfolge Select Select Select l scht alle vorhandenen Sprachmuster Der Resetbefehl kann im Betriebsmodus gegeben werden 3 3 9 Erkennung Eine Erkennung wird mit dem Befehl Aufzeichnen im Betriebsmodus gestartet Der NNSR Protoyp nimmt dann ein Sprachmuster mit der Dauer von 1 s ber das angesch
16. 8 5 NUM DISP_BUF 9 20h DISP_BUF 10 20h DISP_BUF 11 20h DISP_BUF 12 20h DISP_BUF 13 20h DISP_BUF 14 20h DISP_BUF 15 20h CLEAR_DISPLAY SEND_DISPLAY MAIN_PROG Relais selectiert Relais Nr 1 8 und Reset Wort lt Ah Wird gesetzt wenn ein Relais oder Reset Wort selectiert Zeitschlitz f r Best tigung ffnen in IN_BUF 2 steht die erkannte Wortnummer LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN N R erkannte Wortnummer DPTR steht auf ASCII NUMM Tabelle ASCII Code des erkannten Wortes wird geladen NUM enth lt ASCI Code des erkannten Wortes Speicherplatz Nummer LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN LEERZEICHEN Dro sramne rmo TRAINW MOV AUSGANGNUMMER 01h MOV MOV MENUENUMMER 01h ASCI_NUM 31h AUSGANGNUMMER wird auf gesetzt MENUENUMMER wird auf gesetzt hier wird ein Wort zuerst im recording buffer aufgenommen dann der Inhalt des recording buffer auf den Lautsprecher ausgegeben und dann das Wort unter der angegebenen Speicherplatznummer im NNSR abgespeichert MOV JNB CALL MOV JNB RET ACC 4 WEITERIA SCHLEIFE ACC 4 WEITERIA liest Betriebsart Schalter 1 ein zur Schalterentprellung 45 WEITERIA WEITERIB WEITERID WEITERIC
17. Ausgangnummer erh ht Wenn die Quittierungstaste gedr ckt wird wird an den Spracherkennungsbaustein der Befehl REC_WORD geschickt und die Antwort abgewartet Danach durch den Befehl PLAYBIMM der Inhalt des Recording Buffer an den Lautsprecher ausgegeben Mit dem Befehl STORWORD wird der Inhalt des Recording Buffer abgespeichert 28 7 4 2 CLEARW Zuerst wird der Betriebsartenschalter abgefragt dann wird auf das Display L SCHEN WORT x geschrieben Es werden st ndig der Men taster der Stufentaster und der Quittierungstaster abgefragt Wird der Men taster bet tigt wird in das PLAYBACKW Men gesprungen Wird der Stufentaster bet tigt wird die Ausgangnummer erh ht Wenn die Quittierungstaste gedr ckt wird wird an den Spracherkennungsbaustein der Befehl CLEAWORD geschickt 7 4 5 PLAYBACKW Zuerst wird der Betriebsartenschalter abgefragt dann wird auf das Display PLAYBACK WORT x geschrieben Es werden st ndig der Men taster der Stufentaster und der Quittierungstaster abgefragt Wird der Men taster bet tigt wird in das LEARNALL Men gesprungen Wird der Stufentaster bet tigt wird die Ausgangnummer erh ht Wenn die Quittierungstaste gedr ckt wird wird an den Spracherkennungsbaustein der Befehl PLAYBWOR geschickt Dieser legt das gew nschte Sprachmuster an den Lautsprecher 7 4 4 LEARNALL Zuerst wird der Betriebsartenschalter abgefragt dann wird auf das Display TRAINIEREN geschrieben Es werden st
18. CLEARW MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CALL CALL CALL CALL JNB MOV CALL CALL MOV CALL CALL MOV MOV CALL CALL MOV CJNE CALL CALL MOV CJNE MOV CALL CJNE JMP MOV CJNE LJMP DISP_BUF 0 20h DISP_BUF 1 4Ch DISP_BUF 2 45h DISP_BUF 3 52h DISP_BUF 4 4Eh DISP_BUF 5 45h DISP_BUF 6 4Eh DISP_BUF 7 20h DISP_BUF 8 57h DISP_BUF 9 4Fh DISP_BUF 10 52h DISP_BUF 11 54h DISP_BUF 12 20h DISP_BUF 13 ASCH_NUM DISP_BUF 14 20h DISP_BUF 15 20h SEND_DISPLAY TASTER2_ABF TASTER3_ABF TASTER4_ABF QUITT WEITERIC OUT_BUF 0 REC_WORD TO_NNSR FROM_NNSR OUT_BUF 0 PLAYBIMM TO_NNSR FROM_NNSR OUT_BUF 0 STORWORD LEERZEICHEN H H H H LEERZEICHEN PW O R ST LEERZEICHEN AUSGANGSNUMMER LEERZEICHEN LEERZEICHEN MEN TASTER STUFEN TASTER QUITTIERUNG Keine Quittierung gt berspringe AUSGABE Wort im recording buffer aufzeichnen Playback recording buffer Wort speichern OUT BUF 1 AUSGANGNUMMER TO NNSR FROM A 10h WEITERIC SPEICHER_VOLL TASTER2_ABF A MENUENUMMER A 1 CLEARW A AUSGANGNUMMER TASTER3_ABF execution success code Speicher voll Speicher voll auf Display springt ins n chste Men wenn Taste 2 bet tigt A AUSGANGNUMMER WEITERIC WEITERID A MENUENUMMER A 1 CLEARW TRAINW springt ins n chste Men wenn Tas
19. DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB 30h 31h 32h 33h 34h 35h 36h 37h 38h 52h 45h 41h 53h 4Bh 4Bh 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h Sau OQ oO 8 R f r Reset E f r Best tigung EIN A f r Best tigung AUS S f r Schl sselwort ao g rg g g g g g g g g g g ARA 19 20 64 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h 50h CU CU CU UU CU UU TU U U U U U U U U U U U U U U U U U G U G U G U U U U Ra Ra Ra VV VO e 29 30 39 40 49 50 59 60 69 70 79 80 65 DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h DB 50h 5 REL2 DB 30h DB 31h DB 32h DB 33h DB 34h DB 35h DB 36h DB 37h DB 38h DB 39h DB 31h DB 31h DB 31h DB 31h DB 31h DB 31h DB 31h DB 31h DB 31h DB 31h DB 32h DB 32h DB 32h DB 32h DB 32h DB 32h DB 32h DB 32h DB 32h DB 32h DB 33h DB 33h DB 33h DB 33h DB 33h DB 33h DB 33h DB 33h
20. Der Inverter 74H C540 15 Der 74HC540 ist ein 8 fach Inverter Der Baustein ist zwischen Mikroprozessor und Relais geschaltet damit bei einem Reset des Mikroprozessors die Relais und damit die Ausg nge nicht auf Ein gehen Er wurde ausgew hlt da sich bei diesem Baustein alle Eing nge auf einer und die Ausg nge auf der gegen berliegenden Seite befinden Das kommt den beschr nkten Platzverh ltnissen auf der Spracherkennungsplatine entgegen 26 6 2 7 Der Treiber ULN2803A 16 Der ULN2803A ist ein 8 fach Treiber mit Darlington Transistoren e NPN Darlington Transistoren e Open Collector Ausg nge e Mit integrierter Supressdiode Er befindet sich zwischen Mikroprozessor und den Relais 6 2 8 Die Relais Die Relais befinden sich im Schaltmodul und schalten die 8 Steckdosen und dazugeh rigen Kontrollampen Die maximale Schaltleistung eines Relais liegt bei 250 W 220Va Die Relaisspule braucht eine Schaltspannung von 12 V Zur Verwendung kamen JWIFSN Relais der Fa Matsushita Thailand 27 7 Software Hier wird in groben Z gen der Ablauf des Programms erkl rt werden Listing siehe Anhang Das Programm wurde in der Programmiersprache Assembler geschrieben und auf dem iceMASTER Emulator der Fa MetaLink getestet Erg nzende und weiterf hrende Literatur findet sich in 2 4 5 6 7 19 20 21 und 22 Es besteht aus 3 Hauptgruppen siehe Kapitel 8 e Betriebsmodus MAIN PROG e Progra
21. Die Benutzeroberfl che mu indiviuell auf den jeweiligen Benutzer zugeschnitten werden k nnen Verschiedene Eingabeger te und Selektionsverfahren scanning zeigen m ssen zu Verf gung stehen Grunds tzlich ist die Benutzeroberfl che von AUTONOM hnlich einer blichen modernen Oberfl che aufgebaut Sie besteht ebenfalls aus Men s die eine Art von Icons enthalten Icons sind grafische Symbole mit einer zugeordneten Funktion z B einem Kommando das ausgef hrt wird Damit mehrfachbehinderte Menschen optimal unterst tzt werden k nnnen m ssen in das System integrierte Ger te Funktionen und auch Meldungen wie z B Achtung das Telefon l utet in einer multimodalen Form pr sentiert werden Das hei t sie k nnen dem Benutzer nicht nur ber grafische Symbole sondern auch ber Text Kl nge oder gesprochene Sprache angezeigt werden Da die Bed rfnisse extrem individuell sind ist ein Konfigurationsprogramm Bestandteil des AUTONOM Systems das den Aufbau v llig individueller Benutzeroberfl chen gestattet Das Konfigurationsprogramm l uft unter MS Windows ist leicht zu bedienen und erm glicht Therapeutinnen Therapeuten und anderen Personen mit guter Kenntnis des Benutzers die Erstellung und Adaptierung der Benutzeroberfl che Dies geschieht durch Erzeugen von Men s Plazieren von grafischen Symbolen Ausw hlen und Zuordnen von Befehlen Kl ngen oder Textelementen usw Ein leistungsf higes technisches Assistenzs
22. Mk II T 39 15 16 17 18 19 20 21 22 27 AKG Acoustics Ges m b H Wien 1992 High speed CMOS 74HC HCT HCU Logic family PHILLIPS Semiconductors Eindhoven 1993 Distrelec Katalog Distrelec GmbH Wien 1995 Dallas Semiconductor Product Data Book Dallas Semiconductor Dallas 1990 Legrand Produktkatalog 1994 95 Legrand sterreich GmbH Wernberg 1994 Mikrocomputerarchitektur Prof Dr R Eier Skriptum zur Vorlesung TU Wien 1992 Digitale Systeme Prof Dr R Eier Skriptum zur Vorlesung TU Wien 1987 IceMASTER User s Manual MetaLink Corporation Arizona 1991 Host Demo NNSR Diskette Siemens AG Wien 1993 QUERSCHNITT GEL HMT ein Rehabilitationsteam pr sentiert seine Arbeitsmethoden Allgemeine Unfallversicherungsanstalt Wien IBM Voice Type Personal Dictation System Brosch re IBM sterreich Personal Software Marketing Wien 1994 Windows Sound System Benutzerhandbuch Microsoft Corporation 1992 SAB C501 8 Bit Single Chip Microcontroller User s Manual Siemens AG M nchen 1993 Embedded Control Handbook Microchip Technology Inc Chandler 1992 40 28 29 30 AUTONOM Ein technisches Assistenzsystem f r Menschen mit Bewegungs und Mehrfachbehinderung Christian Flachberger Vortrag im Rahmen der integra Fachmesse f r Rehabilitation und Integration Altenhof am Hausruck September 1994 Compose Autonomy An Adaptable User Interface for Assist
23. TO MOD MOV PA4 0FFh alle Relais ausschalten REL TIMER 1 200h alle Relais ausschalten MOV REL _TIMER 2 00h alle Relais ausschalten MOV TIMER 43 200h alle Relais ausschalten MOV TIMER44 200h alle Relais ausschalten TIMER 45 400h alle Relais ausschalten MOV 6 00 alle Relais ausschalten MOV TIMER 7 400h alle Relais ausschalten MOV TIMER 48 200h alle Relais ausschalten CLR P3 5 Reset des NNSR SETB P3 5 SETB P1 4 Eingang auf high SETB P1 6 setze HREADY CLR NNSR MSG SETB 1 erm glicht INT 2 CLR NNSR MSG 43 INIT_WAIT JNB CLR CLR SETB MOV CALL CALL CALL CALL MOV SETB JMP NNSR_MSG INIT_WAIT IEN1 1 P1 6 TASTER4 P6 0FFh INIT DISPLAY CLEAR DISPLAY INIT NNSR RAM OK ZAEHLERTO 0h TCON 4 MAIN_PROG Warte auf Ready vom NNSR dreht INT 2 ab l sche HREADY Eingang auf high Eingang auf high Initialisierung des Display l scht das Display Initialisierung des NNSR SRAM g ltig TO Z hler zur ckgesetzt startet Timer 0 goto mainprogram ERKENNE Mainprogramm Betrieb des NNSR F gt gt z sk k F 3 eg tee kk k k k MAIN_PROG MAIN4 MAINI MAIN7 MAIN2 MAINS MAINS MOV JB CALL MOV JB CALL CALL MOV JB CALL MOV JB CALL CALL MOV CALL CALL MOV CJNE CALL JMP CALL JB CALL JMP MOV CJNE CALL JMP MOV CJNE CALL MOV CJ
24. cksetzen Timer 1 Baudrate TMOD 0010 B Mode 2 Reload Wert Baudrate Vorbelegung Timer starten Interrupts generell enable RTS setzen ES1 1 CTS set 51 0 Transmit Flag reset Receive Flag reset fertig bertragen end of buffer Initialisierung des NNSR ete eg teg te ste so k k k kk k kk k kk k kk k INIT_NNSR wird die Configuration ge ndert werden die Wortliste und die Sprachmuster gel scht MOV MOV MOV CALL CALL RET OUT_BUF 0 CONFINEW OUT 1 8 00h OUT_BUF 2 TO NNSR FROM NNSR Configuration des NNSR acoustic feedback set 11 verschiedene W rter 52 Sende Befehl vom OUT BUF zum NNSR ee k kk k kk kkk kk TO_NNSR NEXTOUT hier werden Befehle die in OUT_BUF 0 bis OUT_BUF 5 stehen an den NNSR geschickt Das Byte 0 mu zuletzt geschickt werden da es im NNSR einen Interrupt ausl st MOV DPTR HDR1 MOV RO OUT_BUF 1 MOV A RO MOVX DPTR A INC DPTR INC RO CINE RO OUT_BUF 6 NEXTOUT MOV DPTR HDRO MOV BUF 0 MOVX DPTR A RET Adresse 2 HOST DATA Register Adresse 2 Bytein OUT BUF lese Byte vom Buffer schreibe in HOST DATA Reg inc Pointer f HOST DATA Reg inc Pointer f r Buffer Ende des Buffer JA address 1 HOST DATA Reg lese 1 Byte vom Buffer schreibe in HDRO Interupt in NNSR
25. from NNSR buffer for display messages buffer f r Relaiseinstellungen buffer f r selectiertes Relais buffer f r Relaistimer f r Best tigung Z hler f r Stack area 42 XSEG AT 0000h gepuffertes RAM RELAIS DS 1 Relais 1 konstant oder gepulst RELAIS2 DS 1 Relais 2 konstant oder gepulst RELAIS3 DS 1 Relais 3 konstant oder gepulst RELAIS4 DS 1 Relais 4 konstant oder gepulst RELAIS5 DS 1 Relais 5 konstant oder gepulst RELAIS6 DS 1 Relais 6 konstant oder gepulst RELAIS7 DS 1 Relais 7 konstant oder gepulst RELAISS DS 1 Relais 8 konstant oder gepulst XSEG AT OFF00h NNSR ber externe Speicheradresse FF00h angesprochen HDRO DS 1 external memory mapped HDRI DS 1 HOST DATA REGISTERS bis HDR5 teripi Vector Tabelle CSEG AT 0000h after RESET INT RES JMP INIT jump to initialisation Timer 0 wird zum gepulsten schalten der Relais verwendet Der Timer 0 Interrupt incrementiert den Z hler f r TO CSEG AT 000Bh INT TFO CALL TIMERO RETI Der externe Interrupt 2 wird ausgel st wenn der NNSR eine Antwort in seinem Register hat CSEG AT 004Bh external interupt 2 INT EX2 SETB 5 MSG set flag message from NNSR RETI Iinalisi Initialisierung INIT SETB IENO 7 erm glicht Interrupts SETB erm glicht TFO CLR T2CON 5 INT 2 auf fallende Flanke getriggert MOV TMOD 1h
26. ndig der Men taster und der Quittierungstaster abgefragt Wird der Men taster bet tigt wird in das RELSET Men gesprungen Wenn die Quittierungstaste gedr ckt wird wird an den Spracherkennungsbaustein der Befehl LEARN geschickt Der Spracherkennungsbaustein verarbeitet dann alle gespeicherten Sprachmuster 7 4 5 RELSET Zuerst wird eine Initialisierung des Hilfsakkumulators und der Ausgangnummer vorgenommen dann der Betriebsartenschalter abgefragt Die abgespeicherte Einstellung des Ausgangs wird aus dem SRAM geholt und auf dem Display angezeigt Es werden st ndig der Men taster der Stufentaster und der Quittierungstaster abgefragt Wird der Men taster bet tigt wird in das TRAINW Men gesprungen Wird der Stufentaster bet tigt wird die n chste Ausgangsbelegung angezeigt Sind alle M glichkeiten durchgespielt wird die Ausgangnummer erh ht siehe 8 2 2 5 Schaltausg nge definieren Bei bet tigen der Quittierungstaste wird der aktuelle Wert im SRAM abgespeichert und die Ausgangnummer erh ht 7 4 6 NNSR Hier werden die Befehle die im stehen an den Spracherkennungsbaustein geschickt Das Byte 0 muf als letztes gesendet werden da es im NNSR einen Interrupt ausl st Der Spracherkennungsbaustein wird ber die externe Speicheradresse FFOOh angesprochen 7 4 7 FROM NNSR Der Mikroprozessor sendet Host Ready an den NNSR und wartet bis der NNSR mit Host Message antwortet Diese Antwort l st einen Interrupt
27. te das Ger t nicht Auf die Kommandos des Benutzers reagierte es jedoch einwandfrei Die Akustik des Raumes spielt ein gro e Rolle Daraus ergibt sich da das Ger t in dem Raum dem es benutzt wird auch trainiert werden soll hnlich klingende Stimmen werden durchaus auch akzeptiert allerdings bei einem gro en Unterschied der Stimmen z B auf M nnerstimme trainiert und Sprachkommando von Frauenstimme gesprochen ist keine Funktion mehr m glich Bei den Tests wurden folgende W rter entsprechend einer fikiven Anwendung trainiert Wort 1 Wort 2 Wort 3 Wort 4 Wort 5 Wort 6 Wort 7 Wort 8 Resetwort positive Best tigung negative Best tigung Schl sselwort Licht Lampe Fenster Jalousie Ventilator Fernseher Video Alarm Reset Ja Nein Nomi Der n chste Schritt ist sicherlich der das Ger t einem Praxistest zu unterziehen und die sich daraus ergebenden Verbesserungsw nsche einflie en zu lassen 3 Der Prototyp des Spracherkennungsbausteins von Siemens 1 Der Spracherkennungsbaustein basiert auf einem neuronalen Netz Der Begriff Neuron stammt aus dem Griechischen und ist die Bezeichnung f r eine funktionelle Einheit des Nervensystems Ein Neuron besteht aus der Nervenzelle der Nervenfaser und Ver stelungen Synapsen die zur Weiterleitung der Reize dienen Nach diesem Vorbild wurden digitale Nervensysteme f r Computer entwickelt die man neuronale Netze nennt Mit ihrer Hilfe k nne
28. und im RS 232 Modus sind sie ohne Bedeutung 8 2 2 1 Wort Lernen Vor der Aufzeichnung sollte man sich berzeugen ob schon Sprachmuster zu diesem Wort gespeichert sind siehe 8 2 2 3 Playback Ist ein unerw nschtes Muster abgespeichert mu das Wort zuvor gel scht werden siehe 8 2 2 2 Wort L schen Mit dem Men taster wird LERNEN WORT x aufgerufen dann die gew nschte Wortnummer mit dem Stufentaster eingestellt Nach Dr cken und wieder Loslassen der Quittierungstaste mu unmittelbar gesprochen werden Zwischen den einzelnen Aufzeichnungen sollte man einige Sekunden vergehen lassen da das Steuermodul etwas Zeit zur Verarbeitung braucht Das aufgezeichnete Wort wird auf dem Lautsprecher wiedergegeben H rt man nur ein Rauschen hat man den Zeitschlitz der zur Aufnahme zur Verf gung steht verpaBt Es m ssen dann alle Sprachmuster die zu diesem Wort geh ren gel scht werden siehe 8 2 2 2 Wort L schen und die Aufzeichnung f r dieses Wort neu begonnen werden Ist nichts im Lautsprecher zu h ren war nur die Zeit zwischen den einzelnen Aufzeichnungen zu kurz die Aufzeichnung wurde nicht vorgenommen es kann aber normal fortgefahren werden ohne Wort L schen und Neubeginn Bis zu 26 Sprachmuster pro Wort k nnen aufgezeichnet werden Ist diese maximale Anzahl erreicht erscheint am Display die Meldung SPEICHER VOLL Diese Sprachmuster m ssen nicht auf einmal eingelernt werden sondern k nnen nach und na
29. 3 CALL MOV JNB INC MOV CJNE MOV MOV MOV MOVC MOV RET SCHLEIFE Z hlschleife zur Tastenentprellung ACC 7 WARTE T3 STUFEN TASTER wird nochmals abgefragt AUSGANGNUMMER n chster AUSGANG A AUSGANGNUMMER A 13 WEITER_T3 NUR AUSGANG 1 12 m glich AUSGANGNUMMER 1h A AUSGANGNUMMER DPTR ASCH_NUMM DPTR steht auf ASCH_NUMM Tabelle A A DPTR ASCII Code der AUSGANGSNUMMER wird geladen ASCII NUM A ASCII NUM enth lt ASCII Code der aktuellen AUSGANGSNUMMER 61 Abfrage von Taster 3 und Relaiseinstellung LLLLLLLLLLLLLLLLLLLLLLLI REL WARTE REL WEITER WEITER REL2 WEITER REL3 ZURUECK REL MOV A P6 JB ACC 7 ZURUECK REL STUFEN TASTER wird abgefragt CALL SCHLEIFE Z hlschleife zur Tastenentprellung MOV A P6 JB ACC 7 ZURUECK REL STUFEN TASTER wird nochmals abgefragt MOV 6 JNB ACC 7 WARTE REL Wartet auf loslassen der Taste CALL SCHLEIFE Z hlschleife zur Tastenentprellung MOV A P6 JNB ACC 7 WARTE REL MOV A REL 0 MOV CINE A f64h WEITER REL2 CALL REL EIN MOV B f 00h INC AUSGANGNUMMER MOV A AUSGANGNUMMER CINE A S9 WEITER MOV AUSGANGNUMMER 1h MOV A AUSGANGNUMMER MOV NUMM MOVC A A DPTR MOV JMP 7 REL INC B INC REL 0 MOV A REL CINE A f065h WEITER REL3 MOV REL BUF 0 00h M
30. A P6 JNB ACC A WEITERSB liest Betriebsart Schalter 1 ein CALL SCHLEIFE MOV 6 JNB ACCA WEITERSB RET MOV A AUSGANGNUMMER liest aktuelle Einstellung des Relais ADD A REL_BUF MOV R0 A MOV A RO MOV BUF 0 A aktuelle Einstellung des Relais REL_BUF 0 MOV DISP 0 41 PA MOV DISP 1 55 U MOV DISP BUF42 453h SS MOV DISP_BUF 3 47h G MOV DISP_BUF 4 41h PA MOV DISP BUF 5 74Eh N MOV DISP 6 47 G MOV DISP_BUF 7 20h LEERZEICHEN MOV DISP BUF 8 ASCII NUM AUSGANGSNUMMER MOV DISP 9 20 LEERZEICHEN MOV DISP BUF 10 220h LEERZEICHEN MOV DISP 11 20 LEERZEICHEN MOV A REL MOV DPTR ZASCII MOVC A Q A DPTR MOV DISP 12 MOV A REL MOV DPTR ZASCII REL2 MOVC A Q A DPTR MOV DISP MOV A REL_BUF 0 MOV REL3 MOVC A Q A DPTR MOV DISP 14 MOV DISP BUF 15 220h LEERZEICHEN CALL SEND DISPLAY CALL TASTER2 ABF MEN TASTER CALL REL ABF RELAIS Einstellungen CALL TASTERA ABF QUITTIERUNG 49 JNB QUITT WEITERS5C keine Quittierung gt berspringe SRAM einschreiben INC AUSGANGNUMMER MOV A AUSGANGNUMMER CJNE A 9 WEITER5SD NUR AUSGANG 1 8 m glich MOV AUSGANGNUMMER Z WEITERSD MOV A AUSGANGNUMMER MOV DPTR ZASCII NUMM DPTR steht auf ASCII NUMM Tabelle MOVC A A DPTR ASCII Code d AUSGANGSNUMMER wird geladen MOV ASCII NUM A
31. L SCHLEIFE10 ACALL SCHLEIFE10 ZAEHLER 0FFFFh Z hler wird auf FFh gesetzt Springt zur Schleife Springt zur Schleife Springt zur Schleife ZAEHLER WARTESCHLEIFE sees BERPR FUNG OB RELAISEINSTELLUNGEN G LTIG sees RAM_OK CALL MOV MOV MOV CLR SUBB JNC JMP MOV RAM RAM OK2 MOVX INC INC CJNE RET OK3 wird nur bei der allerersten Inbetriebnahme des gepufferten SRAM ben tigt REL EIN RO REL_BUF 1 DPTR RELAISI1 A 65h RAM_OK2 RAM_OK3 A 00h Zahl gt 64h ung ltige Einstellung setzt Relais auf konstant bei Reset offen DPTR A RO DPTR RO REL_BUF 9 RAM_OKI1 63 k Commands Host gt NNSR k R pee kk OPCODE OUT BUF 1 Param No 2 SENDSTAT SENDCONF CONFINEW INIWORDS INFOWORD CLEAWORD REC_WORD PLAYBIMM PLAYBWOR STORWORD LEARN LISTEN EQU 00H EQU 01H Send Status Send Configuration EQU 02H Configure new acoustic feedback Number of Words EQU 03H EQU 10H EQU 11H EQU 18H EQU 19H EQU 1AH EQU 1BH EQU 1CH EQU Initialize words Send Wordinfo wordindex Clear Word wordindex Record word Playback immediate Playback word wordindex Store word wordindex Learn Listen for recognize ASCH_NUMM ASCII RELI DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB DB
32. NE CALL JMP ACC 4 MAIN4 SCHLEIFE A P6 ACC 4 MAIN4 PROG CLEAR_DISPLAY A P6 ACC 5 MAIN1 SCHLEIFE A P6 ACC 5 MAINI RS232 CLEAR DISPLAY OUT_BUF 0 LISTEN TO_NNSR FROM_NNSR A 40h MAIN 7 NOT_TRAINED MAIN_PROG ERKENNUNG POSITIV MAIN2 CLEAR DISPLAY MAIN PROG 2 A ffOCh MAINS SCHLAFE MAIN3 2 MAINS RELAIS SCHALTEN 2 A 0Bh MAIN6 RELAIS_SCHALTEN MAIN3 liest Betriebsart Schalter 1 ein zur Schalterentprellung in den Programmiermodus liest Betriebsart Schalter 5 ein zur Schalterentprellung Modus RS232 Befehl LISTEN in den Ausg Buffer sendet Befehl zum NNSR wartet auf Antwort execution success code executed sucessfull Wort erkannt kein Wort erkannt Nummer des erkanntenWortes vergleicht mit Schl sselwort Nummer des erkannten Wortes vergleicht mit Best tigung EIN vergleicht mit Best tigung AUS 44 MAIN6 MAIN3 MOV CLR SUBB JNC SETB MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOVC MOV MOV MOV MOV MOV MOV MOV MOV MOV CALL CALL LJMP 2 A 0Ah MAIN3 RELAIS ZEITSCHLITZ Ah REL_NUM IN_BUF 2 DISP_BUF 0 20h DISP_BUF 1 20h DISP_BUF 2 20h DISP_BUF 3 20h DISP_BUF 4 20h DISP_BUF 5 4Eh DISP_BUF 6 52h DISP_BUF 7 2Eh A IN_BUF 2 DPTR ASCH_NUMM A A DPTR ASCII NUM A DISP
33. OV A AUSGANGNUMMER ADD A REL_BUF MOV MOV QGRO REL RET STUFEN TASTER wird nochmals abgefragt n chster AUSGANG NUR AUSGANG 1 8 m glich DPTR steht auf ASCII NUMM Tabelle ASCII Code der AUSGANGSNUMMER wird geladen ASCH_NUM enth lt ASCII Code der aktuellen AUSGANGSNUMMER Liest Relaiseinstellung in REL_BUF ein FFF oF F F F kk kk k k REL_EIN REL_EINA MOV DPTR RELAISI MOV RO REL_BUF 1 MOVX A DPTR MOV QGRO A INC DPTR INC RO CINE RO REL_BUF 9 REL_EINA RET ladet Relaiseinstellungen vom SRAM in REL_BUF alle Einstellungen geladen 62 apk Abfrage von Taster 4 feet ete ete eto F k k k k ke ke kkk 5 4 JB CALL JB WARTE T4 JNB CALL JNB SETB ZURUECK T4 RET QUITT Quittierungsbit wird gel scht TASTERA4 ZURUECK T4 QUITTIERUNG wird abgefragt SCHLEIFE Z hlschleife zur Tastenentprellung TASTERA4 ZURUECK T4 QUITTIERUNG wird nochmals abgefragt TASTERA WARTE 4 Wartet auf loslassen der Taste SCHLEIFE Z hlschleife zur Tastenentprellung TASTERA WARTE T4 QUITTIERUNG wird nochmals abgefragt QUITT Quittierungsbit wird gesetzt UON qe Z hlschleife zur Tastenentprellung gt 3 SCHLEIFE WARTESCHLEIFE MOV DJNZ RET NOP NOP RET SCHLEIFE10 ACALL SCHLEIFE10 ACAL
34. Schaltvorgang eingeleitet da erst die Best tigung abgewartet werden mu Kommt diese nicht innerhalb von 10 s oder wird inzwischen ein anderer Befehl gesprochen und auch erkannt erlischt die Selektion des Wortes wieder 8 2 1 2 Befehl Best tigen Ist ein Ausgang selektiert und kommt die Best tigung zeitgerecht wird ein Schaltbefehl durchgef hrt Die Form desselben h ngt von folgendem ab siehe 8 2 2 5 Schaltausg nge definieren e Ausgang konstant geschaltet Best tigung positiv gt Ausgang wird eingeschaltet War er bereits eingeschaltet gibt es keine Anderung e Ausgang konstant geschaltet Best tigung negativ gt Ausgang wird ausgeschaltet War er bereits ausgeschaltet gibt es keine nderung e Ausgang gepulst geschaltet Best tigung positiv gt Ausgang wird eingeschaltet Die Zeituhr beginnt zu laufen Nach Ablauf der eingestellten Zeit schaltet sich der Ausgang von selbst ab War er bereits eingeschaltet bleibt er eingeschaltet die Zeituhr wird zur ckgesetz und l uft nochmals ab e Ausgang gepulst geschaltet Best tigung negativ gt Die Zeituhr wird unterbrochen der Ausgang sofort abgeschaltet War er bereits ausgeschaltet bleibt er ausgeschaltet 8 2 1 3 Grundeinstellung Wird das Resetwort Wort R f r Reset gesprochen und positiv best tigt werden alle Ausg nge in einen vordefinierten Zustand gebracht siehe 8 2 2 5 Schaltausg nge definieren 8 2 1 4 Schl sselwort Wird das Schl sselwort gesproc
35. Steckdosen k nnen die Verbraucher angeschlossen werden Dabei ist zu beachten da die einzelnen Verbraucher eine Leistung von 250 W nicht berschreiten d rfen und die Versorgung f r maximal 2000 Watt ausgelegt ist Das Ger t ist jetzt betriebsbereit 34 S 2 Steuermodul S 2 1 Betriebsmodus Der Betriebsartenschalter wird in Stellung B gebracht siehe Abbildung 8 1 War das Ger t vorher im RS 232 Modus mu die Resettaste gedr ckt werden Die Anzeige am Display erlischt nun und das Ger t ist im Betriebsmodus Zeigt das Display statt dessen die Meldung NICHT TRAINIERT mu zuvor in den Programmiermodus gegangen werden und die Trainierprozedur ausgef hrt werden Sind keine Worte abgespeichert mu auch das zuerst vorgenommen werden siehe 8 2 2 Programmiermodus Im Betriebsmodus kann das Ger t ber das Mikrophon angesprochen werden Es gen gt leise zu sprechen Der Abstand Mikrophon Mund des Sprechers sollte im Idealfall ca 20 50 cm betragen da es sich um ein Nahbesprechungsmikrophon handelt Ist dies nicht m glich sollten die Sprachmuster zumindest im selben Abstand gelernt werden wie er im Betrieb vorkommt siehe 8 2 2 1 Wort Lernen Die W rter sollten mit einem Abstand von ca 2 s gesprochen werden damit eine fehlerfreie Bearbeitung gew hrleistet ist 8 2 1 1 Schaltausgang ausw hlen Mit einem der W rter 1 8 kann ein Ausgang selektiert werden Die korrekte Erkennung wird am Display angezeigt Es wird noch kein
36. System ist lernf hig Der Hersteller w re auch bereit f r einen speziellen Anwenderfall eine Runtime Version die sich nur auf die Spracherkennung beschr nkt zur Verf gung zu stellen e Siemens Neural Net Speech Recognizer 2 Dieser Baustein wurde f r das Autotelefon entwickelt und erm glicht eine Telefonnummer auszuw hlen Er kann von einem Mikrokontroller angesteuert werden Es k nnen maximal 64 verschiedene W rter eingelernt werden Der Platzbedarf beschr nkt sich auf eine Platine von 60 x 70mm Das System ist im Vergleich zu den vorgenannten u erst preiswert Die Wahl fiel auf den Siemens Neural Net Speech Recognizer wegen der M glichkeit eines Betriebs ohne PC und des geringen Preises 64 verschiedene W rter reichen f r AUTONOM III auf jeden Fall Weiters ausschlaggebend war die geringe Nebenger uschempfindlichkeit Als Hostprozessor wurden folgende Modelle untersucht e Siemens 80C501 26 e Siemens 80C537 5 Microchip PIC 16657 27 Der PIC 16C57 w re insoferne eine interessante L sung gewesen da das PICSTART Development System nur 1300 65 kostet und sich der Baustein mit ca 55 05 zu Buche schl gt Jedoch hat der PIC 16C57 zu wenige Ports und ist f r ein externes ROM nicht ausgelegt Der 80C501 hat zu wenige Ports um Display Schalter Relais Serielle Schnittstelle RAM und den Spracherkennungsbaustein zu bedienen So fiel die Wahl auf den 80C537 Microcontroller zumal ein Emulator am Institut vorhanden ist
37. Technische Universitat Wien DIPLOMARBEIT AUTONOM III Spracherkennung ausgef hrt am Institut f r allgemeine Elektrotechnik und Elektronik der Technischen Universit t Wien Abteilung f r Angewandte Elektronik Leiter Ao Univ Prof Dipl Ing Dr techn F Seifert unter Anleitung von Dipl Ing Christian Flachberger Wiss Ma Dipl Ing Paul Panek Univ Ass Dipl Ing Dr techn W Zagler durch Gerhard Loidolt Matr Nr 8626111 Wiener Neust dter Stra e 50 8 3 2490 Ebenfurth Ebenfurth im Mai 1995 Danksagung Ich m chte meiner Freundin Ingrid Landl f r ihre moralische Unterst tzung danken Mein Dank gilt auch der Fa AKG f r die kostenlose Bereitstellung eines Mikrofons und eines Lautsprechers die f r den praktischen Teil meiner Arbeit n tig waren Weiters der Fa Siemens f r die Bereitstellung der NNSR Prototypen Herrn Dipl Ing Christian Flachberger Herrn Dipl Ing J rgen Demuth Herrn Dipl Ing Paul Panek Herrn Dipl Ing Dr techn Wolfgang Zagler sowie allen Mitarbeitern der Arbeitsgruppe fortec m chte ich f r ihre Unterst tzung bei Problemen und die gute Zusammenarbeit danken Inhaltsverzeichnis 1 Grundlagen 1 1 Technische Hilfsmittel 1 2 M gliche Zielgruppen f r eine Sprachsteuerung 1 3 AUTONOM 1 3 1 Wie entstand das Konzept AUTONOM 1 3 2 Das Baukastensystem 1 3 3 Funktionen von AUTONOM 1 3 4 Die Benutzeroberfl che 1 3 5 Menschen mit Mehrfachbehinderung 2 Aufgabenstell
38. ach kann der Betriebsartenschalter in Stellung B gebracht werden erlischt die Anzeige ist das Ger t betriebsbereit Die Ausf hrung dieser Prozedur kann einige Minuten dauern Wann muf trainiert werden e Nachdem verschiedene Sprachmuster zu verschiedenen W rtern gelernt wurden siehe 8 2 2 1 Wort Lernen und wieder in den Betriebsmodus umgeschaltet wird e Wenn zu einem bereits vorhandenen Wort neue Muster hinzugelernt werden Wann mu nicht trainiert werden Wenn ein oder mehrere W rter nur gel scht werden e Wenn die Schaltausg nge neu definiert werden Wenn mit Playback ein Wort angeh rt wird 8 2 2 5 Schaltausg nge definieren Mit dem Men taster wird AUSGANG x xxx aufgerufen Der zum entsprechenden Ausgang abgespeicherte Wert wird angezeigt z B AUSGANG3 P5 Bedeutung der Abk rzungen Der Ausgang wird konstant geschaltet wenn ein Schaltbefehl kommt siehe 8 2 1 1 Schaltausgang ausw hlen Wird das Resetwort gesprochen siehe 8 2 1 3 Grundeinstellung ist dieser Ausgang stromlos e Der Ausgang wird konstant geschaltet wenn ein Schaltbefehl kommt siehe 8 2 1 1 Schaltausgang ausw hlen Wird das Resetwort gesprochen siehe 8 2 1 3 Grundeinstellung ist dieser Ausgang stromf hrend e P1 P99 Der Ausgang wird f r 1 s 99 s eingeschaltet wenn ein Schaltbefehl kommt siehe 8 2 1 1 Schaltausgang ausw hlen Wird das Resetwort gesprochen siehe 8 2 1 3 Grundeinstellung ist dieser Ausgang stroml
39. ch erg nzt werden Wird das Steuermodul vom Netz getrennt bleiben die gelernten Sprachmuster erhalten 36 AnschlieBend noch einige Regeln e Keine Worte die hnlich klingen z B Ein und Nein Keine sehr langen Worte Sprachmuster eventuell mit verschiedenen Hintergrundger uschen aufnehmen Worte die nicht gut erkannt werden nachlernen oder durch andere ersetzen F r das Schl sselwort ein ungew hnliches im t glichen Sprachgebrauch selten vorkommendes Wort verwenden e Einzelne Sprachmuster mit verschiedener Betonung sprechen eventuell zu verschiedenen Tageszeiten e Abstand und Winkel zum Mikrophon variieren 8 2 2 2 Wort L schen Mit dem Men taster wird L SCHEN WORT x aufgerufen dann die gew nschte Wortnummer mit dem Stufentaster eingestellt Durch Dr cken der Quittierungstaste werden s mtliche zu diesem Wort geh rigen Sprachmuster gel scht Mit Playback Wort kann berpr ft werden ob dies auch geschehen ist siehe 8 2 2 3 Playback 8 2 2 3 Playback Mit dem Men taster wird PLAYBACK WORT x aufgerufen dann die gew nschte Wortnummer mit dem Stufentaster eingestellt Durch dr cken der Quittierungstaste kann das erste abgespeicherte Sprachmuster eines Wortes angeh rt werden Ist nichts zu h ren sind keine Sprachmuster zu diesem Wort gespeichert 8 2 2 4 Trainieren Mit dem Men taster wird TRAINIEREN aufgerufen Durch Dr cken der Quittierungstaste wird die Prozedur gestartet Dan
40. code 1 word_index xxh Index des Wortes das gel scht werden soll 01 number of words h Entfernt das gew nschte Wort von der Wort Liste und l scht alle dazugeh rigen Sprachmuster Beeinflufte Flags nnsr trained gel scht wenn die Wort Liste nach der Ausf hrung leer ist 5 5 7 Record Byte 0 opcode 18h Startet eine Sprachaufnahme Das Sprachaufnahmefenster ist 1 792 s ge ffnet Die maximale Energie der aufgezeichneten Sprache wird normiert und die Aufnahme im Aufnahme Speicher abgelegt Beeinflu te Flags recording available gesetzt 5 5 8 Playback immediate Byte 0 opcode 19h Startet ein Playback des Inhaltes des Aufnahme Speichers 5 5 9 Playback word Byte 0 opcode 1Ah Byte 1 word_index xxh Index des gew nschten Wortes 01 number of words h Startet ein Playback des ausgew hlten Wortes wenn acousitc feedback gesetzt ist Der Inhalt des Aufnahme Speichers wird mit dem Sprachmuster des ausgew hlten Wortes berschrieben Beeinflu te Flags recording available gel scht wenn erfolgreich ausgef hrt 5 5 10 Store pattern Byte 0 opcode Byte 1 word index xxh Index des Wortes f r das der Inhalt des Aufnahme Speichers gespeichert werden soll Speichert den Inhalt des Aufnahme Speichers auf die angesprochene Wortnummer Wenn acoustic feedback gesetzt und noch kein Sprachmuster f r dieses Wort gespeichert ist wird eine 16kbit s Version f r Playback erzeugt Zus tzlich wird wenn das Sprachmuster f
41. coustic feedback gesetzt anders acoustic feedback nicht gesetzt Byte 3 number of words xxh maximale Anzahl verschiedener W rter die erkannt werden k nnen Byte 4 pattern per word xxh maximale Anzahl speicherbarer Sprachmuster pro Wort Diesen Wert errechnet der NNSR in Abh ngigkeit von number of words und dem acoustic feedback Flag Antwortet mit der aktuellen Konfiguration des NNSR 5 6 3 Ready Byte 0 opcode 28h Byte 1 execution success code 00h erfolgreich 01h ung ltige Konfiguration in Verbindung mit Configure new 02h ung ltiger Wort Index in Verbindung mit Clear word Playback word und Store pattern 04h acoustic feedback ist nicht gesetzt in Verbindung mit Playback word 08h Aufnahme Speicher leer in Verbindung mit Playback immediate Playback Store pattern 10h maximale Anzahl der Sprachmuster f r dieses Wort gespeichert in Verbindung mit Store pattern 20h keine Sprachmuster gespeichert in Verbindung mit Learn 80h keine Sprachaktivit t erkannt in Verbindung mit Store pattern Zeigt an das der aktuelle Befehl ausgef hrt wurde Nur in Verbindung mit Befehlen die keine Parameter zur ckerwarten 21 5 6 4 Word info Byte 0 opcode 30h Byte 1 execution success code 00h 02h Byte 2 word index xxh Byte 3 store patterns xxh erfolgreich ung ltiger Wort Index Index des gew nschten Wortes Anzahl der gespeicherten Sprachmuster Zeigt wieviele Sprachmuster f r ein selektiertes Wo
42. d Display A31 GND Masse A32 U 12 V Spannungsversorgung f r Hardware Kern 24 Pin Hardware Kern Spracherkennungsplatine B22 AD0 HD0 f r NNSR B23 ADI HDI f r NNSR B24 AD2 HD2 f r NNSR B25 AD3 HD3 f r NNSR B26 4 HD4 f r NNSR B27 AD5 HD5 f r NNSR B28 AD6 HD6 f r NNSR B29 AD7 HD7 f r NNSR B30 5V Spannungsversorgung f r NNSR und Display B31 GND Masse B32 Ur 12 V Spannungsversorgung f r Hardware Kern GND GND f r Displaykontrast C12 P5 0 f r Display C13 5 1 DB1 f r Display C14 5 2 DB2 f r Display C15 P5 3 DB3 f r Display C16 P5 4 DB4 f r Display C17 5 5 DB5 f r Display C18 P5 6 DB6 f r Display C19 P5 7 DB7 f r Display C26 P1 4 HMSG des NNSR C28 P1 6 HREADY f r NNSR C29 P1 7 Pin f r Taster 4 C30 5V Spannungsversorgung f r NNSR und Display C31 GND Masse C32 Ur 12 V Spannungsversorgung f r Hardware Kern 6 2 2 Der Spracherkennungsbaustein Der Spracherkennungsbaustein wurde bereits in Kapitel 5 dieser Arbeit ausf hrlich behandelt 6 2 3 Das LCD Display Zur Verwendung kommt ein DMC161064 der Fa Optrex siehe 4 Es handelt sich dabei um ein Display mit 16 Zeichen in einer Zeile Jedes Zeichen besteht aus 8x11 Punkten Blockschaltbild des Display LCOM8 LCDP FRD7062 ontroller n 4 seo o HD44780 Segment Driver Abbildung 6 2 Blockschaltbild des Display Das Display wird ber di
43. die aktuelle Konfiguration des NNSR 5 5 3 Configure_new Byte 0 opcode 02h Byte 1 acoustic_feedback 00h acoustic_feedback set anders acoustic_feedback reset Byte 2 number_of_words xxh Anzahl verschiedener W ter die erkannt werden sollen 02h bis 20h mit acoustic_feedback 02h bis 40h ohne acoustic feedback Konfiguriert den NNSR Wenn acoustic_feedback gesetzt ist wird das erste trainierte Sprachmuster jedes Wortes gespeichert um es nach einer Erkennung wiederzugeben Wenn die gew nschte Konfiguration ung ltig ist bleibt die alte Konfiguration und der Status unver ndert Wenn die Konfiguration ge ndert wird werden alle trainierten Sprachmuster gel scht und der NNSR befindet sich im untrainierten Zustand Ausnahmen hiervon e dieneue Konfiguration enspricht der alten e nuracoustic feedback wird zur ckgesetzt Beeinflu te Flags acoustic feedback abh ngig von der Konfiguration nnsr_trained unver ndert wenn die Konfiguration kompatibel gel scht wenn Konfiguration g ltig aber inkompatibel recording_available gel scht bei g ltiger Konfiguration 5 5 4 Initialize_words Byte 0 opcode 03h L scht die Wort Liste alle trainierten Sprachmuster und bringt den NNSR in den untrainierten Status Die Konfiguration bleibt erhalten 5 5 5 Send_word_info Byte 0 opcode 10h Byte 1 word_index xxh Index des gew nschten Wortes 01 number of words h Verlangt Information ber das gew nschte Wort 5 5 6 Clear word Byte 0 op
44. dy 5 6 4 Word info 5 6 5 Word recognized 14 14 14 14 14 15 16 16 17 18 18 II 6 Aufbau einer Spracherkennung mit dem NNSR 6 1Grundkonzept 6 2 Verwendete Bausteine 6 2 1 Der Hardware Kern 6 2 2 Der Spracherkennungsbaustein 6 2 3 Das LCD Display 6 2 4 Das Mikrophon 6 2 5 Der Lautsprecher 6 2 6 Der Inverter 74HC540 6 2 7 Der Treiber ULN2803A 6 2 8 Die Relais 7 Software 7 1 Betriebsmodus 7 2 Programmiermodus 7 3 RS 232 Modus 7 4 Prozeduren 7 4 1 TRAINW 7 4 2 CLEARW 7 4 5 PLAYBACKW 7 4 4 LEARNALL 7 4 5 RELSET 7 4 6 TO NNSR 7 47 FROM NNSR 7 4 8 INIT NNSR 7 4 9 SCHLAFE 7 4 10 ERKENNUNG 7 4 11 RELAIS SCHALTEN 7 4 12 TIMER 7 4 13 TIMERO 7 4 14 NOT TRAINED 7 4 15 SPEICHER VOLL 7 4 16 INIT DISPLAY 7 4 17 CLEAR DISPLAY 7 4 18 SEND DISPLAY 7 4 19 LCD RDY 7 4 20 TASTER2 7 4 21 TASTER3 ABF 7 4 22 REL ABF 7 4 23 REL EIN 7 4 24 TASTER4_ABF 7 4 25 SCHLEIFE 7 4 26 RAM_OK 7 4 27 Commands HOST gt NNSR 7 4 28 ASCII Tabellen 28 28 28 28 8 Bedienung des Ger tes 8 1 Anschl sse und Bedienungselemente 8 1 1 Steuermodul 8 1 2 Schaltmodul 8 2 Steuermodul 8 2 1 Betriebsmodus 8 2 1 1 Schaltausgang ausw hlen 8 2 1 2 Befehl Best tigen 8 2 1 3 Grundeinstellung 8 2 1 4 Schl sselwort 8 2 2 Programmiermodus 8 2 2 1 Wort Lernen 8 2 2 2 Wort L schen 8 2 2 3 Playback 8 2 2 4 Trainieren 8 2 2 5 Schaltausg nge definieren 8 2 3 RS 232 Modus 8 2 4 Re
45. e ein Modul zur Ansteuerung des Telefons mit integrierter Notruffunktion ein Modul zur Fernsteuerung verschiedener Ger te mittels Infrarotsignalen ein Modul zum Anschlu an ein Installationsbussystem EIB ein Modul zur Ansteuerung eines Computers durch Emulation von Tastatur und Maus etc Die Verbindung zwischen der mobilen Bedieneinheit und den Peripheriemodulen kann im einfachsten Fall ber ein Kabel erfolgen ist aber auch ber Infrarot oder Funksignale m glich 1 3 3 Funktionen von AUTONOM Die grundlegenden Funktionen umfassen die Bereiche Kommunikation Steuerung von Ger ten Sicherheit und Computeranwendung Um einen raschen berblick zu geben werden sie im folgenden schlagwortartig erl utert Kommunikation Bildsymbolkommunikation z B BLISS Sprachsynthese Benutzung von Telefon Gegensprechanlage Steuerung von Ger ten Fernsteuerung von HiFi TV Video Beleuchtung Jalousien Heizung Rollstuhlsteuerung Steuerung von Hilfsmitteln basierend auf Robotertechnologie Anbinduns an Installationsbussysteme Sicherheitsfunktionen Telefonnotruf Totmanneinrichtung Verwendung von Gegensprechanlage Fernsteuerung des Torschlosses Computeranwendung Emulation von Tastatur und Maus Lesen elektronischer B cher Verwendung von interaktiver Schulsoftware Teleshopping Telebanking Telebooking Korrespondenz pers nliche Notizen Spiele 1 3 4 Die Benutzeroberfl che
46. e E R W und RS Leitung vom Mikrokontroller angesprochen Die Zeichen werden im ASCII Code ber die Datenleitungen an das Display geschickt Genauere informationen ber die n tige Ansteuerung bietet 4 25 6 2 4 Das Mikrophon Der Spracherkennungsbaustein braucht an seinem Analog Eingang ein Mikrophon mit folgenden Daten Eingangswiderstand 20kOhm max Eingangsspannung 4 5 Vss Frequenzbereich 0 2 3 4 kHz Zur Auswahl standen 2 Mikrophone mit einem eingebauten Vorverst rker e Das ME 2 der Fa Peiker e Die AKG Maus Q 400 MK II T siehe 14 Die Fa Siemens gibt f r diese Version des NNSR jedoch an da das ME 2 die bessere Qualit t liefert Notwendige Beschaltung des ME 2 1 5 12 V 47 uF AN IN 1 5kOHM H ME 2 Abbildung 6 3 Beschaltung des Mikrophon 6 2 5 Der Lautsprecher Der Spracherkennungsbaustein hat einen Analog Ausgang mit folgenden Daten bei 2 maximale Ausgangsspannung a oder b gegen Masse 4 Vss a gegen b 8 Vss Ausgangswiderstand a oder b gegen Masse 1 Ohm 10uF a gegen b 1 Ohm 5uF Eingangswiderstand des Lautsprechers a oder b gegen Masse 600 Ohm a gegen b 300 Ohm Die Fa AKG Acoustics Ges m b H Wien stellte dankenswerter weise den Prototyp eines 300 Ohm Lautsprechers zu Verf gung Das Serienmodell wird im Sommer 1995 im Handel erhiltlich sein Dieser 300 Ohm Lautsprecher kann direkt ohne Vorverst rker die Klemmen a und b des NNSR angeschlossen werden 6 2 6
47. e wahlweise konstant schalten oder gepulst f r eine vordefinierte Zeitspanne Glocke Fenster ffner Bett verstellen Kein gro er Installationsaufwand erforderlich M glichst einfache Bedienung auch durch ungeschulte Personen Entwurf einer Architektur Display 5 ss Einbindung Sprach 5 in inAUTONOM erkennung Zb O Ke Verbraucher schalten Abbildung 2 1 Blockschaltbild der Spracherkennung 2 2 Auswahl einer Spracherkennung Es wurden folgende Systeme untersucht siehe auch 13 IBM Voice Type 24 Das IBM Voice Type ist f r die Textverarbeitung am PC gedacht Es ist die komplette Eingabe eines Textes durch Sprache m glich Das Programm ist lernf hig das hei t die Eigenheiten der Sprache des Benutzers wird registriert und f r sp tere Erkennungen abgespeichert Ein ber 7000 Begriffe umfassendes W rterbuch erm glicht die Erkennung von bis zu 2000 benutzerdefinierter W rter und den zugeh rigen Befehlen Ein 80 000 Worte umfassendes W rterbuch ist ebenfalls vorhanden Das System ben tigt einen leistungsf higen PC e Windows Sound System 25 Das Windows Sound System ist eine Spracherkennung die unter Windows arbeitet Das Programmpaket beinhaltet neben der Spracherkennung noch Funktionen um z B das Spektrum eines Wortes bearbeiten zu k nnen Die eigentliche Spracherkennung ist von der Fa Dragon entwickelt worden Das
48. e wurde der Hardware Kern von AUTONOM verwendet da diese Platine bereits f r andere AUTONOM Anwendungen benutzt wird und leicht f r diesen Zweck adaptierbar ist Das Ger t besteht aus 2 Einheiten e Steuermodul e Schaltmodul Das Steuermodul ist in ein Aluminiumgeh use in Eurokartengr e eingebaut Der Lautsprecher befindet sich im Geh use des Steuermoduls F r das Schaltmodul kam ein Doppelseitiger Kabelkanal der Fa Legrand zur Verwendung In diesem Kabelkanal befindet sich ein Netzger t zur Spannungsversorgung des Steuermoduls und der Relais weiters die 8 Kontrolleuchten die 8 Steckdosen die 8 Relais und der Hauptschalter Blockschaltbild der Spracherkennung Display Lautsprecher Men taster Stufentaster Quittierungstaster am Betriebsartenschalter Kontrolleuchten Steckdosen Relais 1 Kapitel 7 Software VI Hier wird in groben Z gen der Ablauf des Programms erkl rt Listing siehe Anhang A Das Programm wurde in der Programmiersprache Assembler geschrieben und auf dem iceMASTER Emulator der Fa MetaLink getestet Es besteht aus 3 Hauptgruppen siehe Kapitel 8 e Betriebsmodus PROG e Programmiermodus PROG e RS232 Modus RS232 Kapitel 8 Bedienung des Ger tes Dieses Kapitel ist als Bedienungsanleitung f r Benutzer ohne technische Vorkenntnisse gedacht Sie sollten damit in der Lage sein das Ger t in k rzester Zeit selbst ndig zu bedi
49. ed rfnissen des Benutzers entsprechen Das System kann jederzeit erweitert angepaBt und auch vereinfacht werden Abbildung 1 2 gibt einen berblick ber das System Auf der linken Seite ist die Bedieneinheit dargestellt Sie dient dem Benutzer als Kommandozentrale f r das ganze System Sie ist mobil und kann bei Bedarf auf einem Rollstuhl mitgef hrt werden An die Bedieneinheit k nnen verschiedene Eingabeger te wie Spezialschalter vergr erte Taster Lidschlagschalter Saug Blasschalter etc Zeigeger te Maus Trackball Touchscreen oder auch Spracheingabe Thema dieser Arbeit angeschlossen werden Zur Ausgabe an den Benutzer k nnen verschiedene Ausgabeger te wie CRT Schirme LCD Schirme Klanggeneratoren oder Sprachausgabe verwendet werden Peripheriemodule IR CAD Modul wahlweise Serielle Busverbindung ber Funk Eingabe ger te lt Funk Trans ceiver Funk Trans ceiver Serielle Busverb Mobile ber Infrarotlicht IR Bedieneinheit lt lt Trans ceiver ceiver System Telekommunik berwachung Modul Serielle Busverbindung ber Draht Anzeige ger te Univ Modul Abbildung 1 2 Das AUTONOM Baukastensystem Auf der rechten Seite von Abbildung 1 2 sind verschiedene Peripheriemodule dargestellt Diese Bausteine sind f r die Ausf hrung der Funktionen des Systems zust ndig Beispiele sind Ein Modul zur Ansteuerung der Gegensprechanlag
50. enen F r genauere Informationen stehen die Kapitel 5 6 7 10 und 11 zur Verf gung Kapitel 9 Literaturverzeichnis Kapitel 10 Anhang A beinhaltet ein Listing der Programme Kapitel 11 Anhang B enth lt die Schaltpl ne das Layout den Bohrplan und eine Fotografie des Ger ts VII 1 Grundlagen 1 1 Technische Hilfsmittel Dieser Absatz gibt einen kurzen berblick ber m gliche technische Hilfsmittel f r Menschen mit Bewegungs und Mehrfachbehinderung Genaueres findet sich in 9 Technische Hilfsmittel sind u a e Fernsteuersysteme e Spezialtastaturen e Alternative Eingabeger te und verfahren Beispiele Fernsteuersysteme Infrarot und Tr gerfrequenz Fernbedienung CAD Fa Legrand James Infrarot Fernsteuerung Servo Link f r Rollstuhlfahrer Spezialtastaturen Vergr erte Tasten Tasten mit Lochmasken Tasten mit Verz gerung als Schutz gegen Mehrfachanschl ge Tastaturen die notwendige gleichzeitige Tastenbet tigungen Einzelanschl ge aufl sen Spezielle Anordnung der Tasten Einhandtastaturen Tastaturen mit Sensortasten Alternative Eingabeger te und verfahren Saug Blas Schalter Zungenschalter Lidschlag Schalter optische Pointer Systeme Spracheingabe Gegenstand dieser Diplomarbeit 1 2 M gliche Zielgruppen f r eine Sprachsteuerung siehe auch 9 und 23 Denkbar sind folgende Zielgruppen e Immobile Menschen e Menschen mit Schwierigkeiten techn
51. ese Fehlermeldung wird vom Betriebsmodus aus aufgerufen wenn der NNSR nicht trainiert war Auf das Display wird dann NICHT TRAINIERT ausgegeben 30 7 4 15 SPEICHER_VOLL Diese Fehlermeldung wird von der Prozedur TRAINW aufgerufen wenn die maximale Anzahl speicherbarer Sprachmuster pro Wort berschritten wurde Auf das Display wird SPEICHER VOLL ausgegeben 7 4 16 INIT DISPLAY In dieser Prozedur wird die Initialisierung des Displays vorgenommen Die Bedeutung der Befehle kann aus 4 entnommen werden 7 4 17 CLEAR DISPLAY Hier wird die Anzeige des Display gel scht 7 4 18 SEND DISPLAY Hier wird der Inhalt des DISP BUF an das Display geschickt Nach jedem Bit wird abgewartet bis das Display wieder bereit ist 7 4 19 LCD RDY In dieser Prozedur wird abgewartet bis das Display f r das n chste Zeichen ist bereit 7 4 20 TASTER2 ABF Diese Prozedur fragt den Taster 2 ab Es ist eine Tastenentprellung eingebaut Wenn er gedr ckt und wieder losgelassen wurde wird die Men nummer erh ht 7 4 21 TASTER3 ABF Diese Prozedur fragt den Taster 3 ab Es ist eine Tastenentprellung eingebaut Wenn er gedr ckt und wieder losgelassen wurde wird die Ausgangnummer erh ht Weiters wird aus der ASCII Code Tabelle der ASCII Code der Ausgangnummer f r das Display geholt 7 4 22 REL ABF Diese Prozedur wird aus dem Men RELSET aufgerufen und fragt den Taster 3 ab Es ist eine Tastenentprellung eingebaut Wenn er gedr ckt u
52. gr e eingebaut Der Lautsprecher befindet sich im Geh use des Steuermoduls Der Schaltplan der Spracherkennungsplatine ist Abbildung 11 4 in Kapitel 11 zu entnehmen Zur Ansteuerung der Peripherieger te wurde der sogenannte Hardware Kern siehe 6 2 1 von AUTONOM verwendet da diese Platine bereits f r andere AUTONOM Anwendungen benutzt wird und leicht f r diesen Zweck adaptierbar ist F r das Schaltmodul kam ein doppelseitiger Kabelkanal der Fa Legrand zur Verwendung siehe 18 In diesem Kabelkanal befindet sich ein Netzger t zur Spannungsversorgung des Steuermoduls und der Relais weiters die 8 Kontrolleuchten die 8 Steckdosen die 8 Relais und der Hauptschalter Der Schaltplan des Schaltmoduls ist aus Abbildung 11 5 in Kapitel 11 zu ersehen Blockschaltbild der Spracherkennung Display Lautsprecher Men taster Stufentaster Quittierungstaster Betriebsartenschalter Kontrolleuchten Steckdosen Abbildung 6 1 Blockschaltbild der Spracherkennung 23 6 2 Verwendete Bausteine 6 2 1 Der Hardware Kern Der Hardware Kern wurde von Hrn J rgen Demuth f r das AUTONOM Projekt entwickelt Er beinhaltet folgende Einheiten 80C537 Mikrokontroller der Fa Siemens siehe 5 EPROM mit dem Programm Jumper zur Auswahl des EPROM s gepufferte SRAM siehe 17 Schwingquarz Spannungswandler 96 polige Federleiste als Verbindung zur Spracherkennungsplatine Stecker f r Betriebsartschalter
53. h DISP_BUF 2 20h DISP_BUF 3 54h DISP_BUF 4 52h DISP_BUF 5 41h DISP_BUF 6 49h DISP_BUF 7 4Eh DISP_BUF 8 49h DISP_BUF 9 45h DISP_BUF 10 52h DISP_BUF 11 45h DISP_BUF 12 4Eh DISP_BUF 13 20h DISP_BUF 14 20h DISP_BUF 15 20h SEND_DISPLAY TASTER2_ABF TASTER4_ABF QUITT WEITER4C OUT_BUF 0 LEARN TO_NNSR FROM_NNSR RELSET A MENUENUMMER A 4 RELSET LEARNALL liest Betriebsart Schalter 1 ein LEERZEICHEN LEERZEICHEN LEERZEICHEN Z m E m Z LEERZEICHEN LEERZEICHEN LEERZEICHEN MEN TASTER QUITTIERUNG keine Quittierung gt berspringe AUSGABE springt nach der Learn Procedur ins n chste Men springt ins n chste Men wenn Taste 2 bet tigt 48 RELSET WEITERSE WEITERSA WEITERSB hier kann die Einstellung der Relais vorgenommen werden K0 Relais konstant bei Resetwort wird es ausgeschaltet Relais konstant bei Resetwort wird es eingeschaltet P1 P99 Relais gepulst 1 99s m glich bei Resetwort wird es ausgeschaltet beim anw hlen eines Relais ist die zuerst angezeigte immer die im SRAM abgespeicherte MOV 00 Hilfsacc wird als Z hler verwendet CALL REL EIN von SRAM in REL BUF MOV A AUSGANGNUMMER wenn AUSGANGNUMMER CLR C gr sser als 8 ist SUBB 09 auf 1 zur cksetzen JNC WEITERSE JMP WEITERSA MOV AUSGANGNUMMER 01h MOV ASCII NUM 231h ASCII Code f r 1 MOV
54. halter 1 ein CALL SCHLEIFE zur Schalterentprellung MOV A P6 JNB ACC 4 WEITER3A RET MOV DISP_BUF 0 50h PP MOV DISP BUF 1 f4Ch L MOV DISP_BUF 2 41h PA MOV DISP 3 59 Y MOV DISP_BUF 4 42h B MOV DISP 5 41 PA MOV DISP 6 43 MOV DISP BUF 7 f4Bh K MOV DISP_BUF 8 20h LEERZEICHEN MOV DISP_BUF 9 57h PW MOV DISP BUF 10 74Fh 0 MOV DISP 11 52 QR MOV DISP 12 54 QT MOV DISP_BUF 13 20h LEERZEICHEN MOV DISP BUF 14 ASCII NUM AUSGANGSNUMMER MOV DISP_BUF 15 20h LEERZEICHEN CALL SEND DISPLAY CALL TASTER2 ABF MEN TASTER CALL TASTER3 ABF STUFEN TASTER 47 WEITER3B WEITER3C LEARNALL WEITER4A WEITER4B WEITER4C CALL JNB MOV MOV CALL CALL MOV CJNE LJMP TASTER4_ABF QUITT WEITER3C OUT_BUF 0 PLAYBWOR QUITTIERUNG Keine Quittierung gt berspringe AUSGABE Wort auf Lautsprecher OUT_BUF 1 AUSGANGNUMMER TO_NNSR FROM_NNSR A MENUENUMMER A 3 LEARNALL PLAYBACKW springt ins n chste Men wenn Taste 2 bet tigt nachdem verschiedene Wortmuster abgespeichert wurden m ssen sie mit dem Learn Befehl gelernt werden MOV JNB CALL MOV JNB RET MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CALL CALL CALL JNB MOV CALL CALL LJMP MOV CJNE LJMP ACC 4 WEITER4A SCHLEIFE ACC 4 WEITER4A DISP_BUF 0 20h DISP_BUF 1 20
55. hen geht die Spracherkennung in einen Ruhezustand Auf das Display wird ICH SCHLAFE geschrieben und die Spracherkennung reagiert auf keinen Befehl mehr Wird das Schl sselwort nochmals gesprochen geht das Ger t wieder in den normalen Betriebszustand ber Die ein oder ausgeschalteten Ausg nge werden von diesem Befehl nicht beeinflu t 35 8 2 2 Programmiermodus Um in den Programmiermodus zu gelangen wird der Betriebsartenschalter in Stellung P gebracht siehe Abbildung 8 1 Befand sich das Ger t zuvor im Betriebsmodus mu ein Wort gesprochen oder die Resettaste bet tigt werden Das Display zeigt dann LERNEN WORT 1 Hiermit befindet sich das Ger t im Programmiermodus Es stehen nun 3 Tasten zur Verf gung um das Ger t zu bedienen e Men taster Mit dieser Taste kann im Men weitergeschaltet werden LERNEN WORT x L SCHEN WORT x PLAYBACK WORT x TRAINIEREN AUSGANG x K0 e Stufentaster Mit dieser Taste kann die Wortnummer bzw die Ausgangsnummer erh ht werden Wort Nummern 1 8 korrespondieren mit den zugeh rigen Ausg ngen Wort R bezeichnet das Resetwort Wort E bezeichnet die positive Best tigung Wort A bezeichnet die negative Best tigung Wort S bezeichnet das Schl sselwort Ausgangnummer 1 8 K1 P1 P 99 siehe 8 2 2 5 Schaltausg nge definieren e Quittierungstaster Mit dieser Taste kann eine Aktion ausgef hrt werden Diese 3 Tasten sind nur im Programmiermodus aktiv im Betriebsmodus
56. hnische Assistenz System AUTONOM soll Menschen mit Behinderungen im Alltagsleben zu Hause mehr Handlungsfreiheit Unabh ngigkeit Selbstbestimmung und Lebensqualit t erm glichen Um dieses Ziel zu erreichen ist eine eingehende Betrachtung der Bed rfnisse dieser Menschen erforderlich efni F higkeiten und Grundbed rfnisse besondere Bed rfnisse Funktionelle Anforderungen Anforderungen an die Benutzeroberfl che N 4 Konzept von AUTONOM Abbildung 1 1 Das Konzept von AUTONOM Zwei grundlegende Fragen sind von Bedeutung Was soll so ein technisches Assistenzsystem alles k nnen e Wie mu das technische Assistenzsystem gestaltet sein um von Menschen mit verschiedenen Behinderungen und Kombinationen von Behinderungen optimal verwendet werden zu k nnen Die Betrachtung der ersten Frage gibt Aufschlu ber die funktionellen Anforderungen an das Assistenzsystem die zweite Frage ber die Anforderungen an die Benutzeroberfl che Funktionelle Anforderungen und Anforderungen an die Benutzeroberfl che sind gewisserma en die beiden Standbeine des Konzeptes von AUTONOM Abbildung 1 1 1 3 2 Das Baukastensystem Bevor niiher auf die verschiedenen Funktionen von AUTONOM eingegangen wird soll hier ein kurzer berblick ber das gesamte System gegeben werden AUTONOM ist als Baukastensystem konzipiert Das hei t man kann aus einem Set genau jene Funktionen und auch genau jene Bedienelemente ausw hlen die exakt den B
57. iehe 3 Durch das HIP kann der NNSR vom Host Prozessor memory mapped als Peripheriebaustein angesprochen werden Die Kommunikaton mit dem Host Prozessor wird ber die HMSG Host message und HREADY Leitungen abgewickelt 150ms nach einem Reset sendet der ein Ready Signal Ein Befehl vom Host Prozessor mit der HIP Adresse 0 opcode Byte erzeugt im NNSR einen Interrupt der ihn zwingt den Befehl opcode und Parameter zu lesen Deswegen mu bei Kommandos die mehrere Bytes lang sind das Byte 0 als letztes gesendet werden Nachdem der NNSR einen Befehl erhalten hat erzeugt er die Antwort und wartet bis der Host Prozessor bereit ist eine Nachricht vom NNSR zu empfangen und die HREADY Leitung setzt Nachdem der Host Prozessor die Nachricht aus dem NNSR ausgelesen hat ist der NNSR bereit den n chsten Befehl zu empfangen Zwei Pins konfigurieren den NNSR f r verschiedene Typen von Host Prozessoren HMDO konfiguriert den Bus Strobe HMD0 0 separater Read und Write Strobe HMD0 1 Read Write Strobe und Data Strobe HMD konfiguriert die Adress Daten Leitungen HMDI 0 separate Daten und Adress Leitungen HMDI 1 gemultiplexte Daten Adress Leitung Pin Belegung des Host Interface Port 1 QRESET Reset input 2 HD0 Daten Adressleitung 0 3 HDI Daten Adressleitung 1 4 HD2 Daten Adressleitung 2 5 HD3 Daten Adressleitung 3 6 HD4 Daten Adressleitung 4 7 HD5 Daten Adressleitung 5 8 HD6 Daten Adressleitung 6 9 HD7 Da
58. im Mikroprozessor aus in dessen Abarbeitung das NNSR_MSG Flag gesetzt wird Ist dies geschehen werden die Antworten des NNSR von seinem Host Interface Port ausgelesen und in den BUF geschrieben 29 7 4 8 INIT NNSR In der Initialisierung des NNSR wird der Befehl CONFINEW mit den Optionen acoustic feedback set und 11 verschiedene W rter an den Spracherkennungsbaustein geschickt Da diese Configuration von der vorherigen nicht abweicht bleiben die gespeicherten Sprachmuster erhalten 7 4 9 SCHLAFE Wird im Betriebsmodus das Schl sselwort erkannt springt das Programm in diese Prozedur Auf das Display wird ICH SCHLAFE geschrieben dann wird an den NNSR der Befehl LISTEN geschickt und die Antwort auf eine positive Erkennung hin ausgewertet Wenn das erkannte Wort das Schl sselwort war wird die Prozedur wieder verlassen 7 4 10 ERKENNUNG Hier wird untersucht ob ein Wort als erkannt akzeptiert werden kann Die Schwelle f r eine positive Erkennung wird wie folgt angesetzt correlation_code spectral _mom _code 2 gt 60h Der correlation_code steht im IN 4 der spectral mom code im IN_BUF 5 Ergibt die Auswertung da ein Wort als erkannt akzeptiert ist wird das Flag POSITIV gesetzt 7 4 11 RELAIS SCHALTEN Zuerst wird berpr ft ob das Flag RELAIS gesetzt ist dann ob das Resetwort gesprochen wurde Wurde das Resetwort gesprochen werden die jeweiligen Relaiseinstellungen aus dem REL BUF ausgelesen und die
59. ische Ger te mit komplexer Bedienung zu handhaben Immobile Menschen Gr nde f r diese Immobilit t k nnen sein Wirbelverletzungen die nicht operativ stabilisiert sind Wirbelverletzungen die nicht belastet werden d rfen andere Verletzungen die nicht belastet werden d rfen schlechter Allgemeinzustand interne Erkrankungen Schwangerschaften bei denen absolute Bettruhe gehalten werden mu Gerade auch bei vor bergehender Immobilit t lie e sich AUTONOM gut einsetzen da das System ohne gro en Installationsaufwand schnell an die jeweilige Situation angepa t werden kann Menschen mit Schwierigkeiten technische Ger te mit komplexer Bedienung zu handhaben Gr nde f r diese Schwierigkeiten k nnen sein Fehlen von Extremit ten Fehlende unzureichende oder unkoordinierte Bewegungsm glichkeit von K rperteilen Bewegungsausf lle oder Bewegungsst rungen infolge neurologischer Ursachen fortgeschrittenes Alter geistige Behinderung Es k nnten auch komplexere Steuerabl ufe durch ein einziges Sprachkommando abgewickelt werden F r diese Steueraufgaben m te die Spracherkennung speziell auf das jeweilige Ger t zugeschnitten werden Ein einfaches Beispiel w re das Ersetzen der Fernbedienung eines Fernsehger tes 1 3 AUTONOM 28 29 In diesem Absatz soll das AUTONOM Projekt kurz vorgestellt werden da die Spracherkennung nur ein Teilaspekt dieser Umfeldsteuerung ist 1 3 1 Wie entstand das Konzept AUTONOM Das tec
60. ive Technology Systems Christian Flachberger Paul Panek Wolfgang L Zagler fortec Institut f r Allgemeine Elektrotechnik und Elektronik Papier pr sentiert beim 2 TIDE Congress The European Context for Assistive Technology Paris 1995 Spracherkennung durch Computersysteme Seminararbeit Wolfgang Wangel Institut f r Wirtschaftsinformatik Wien 1995 41 10 Anhang A 10 1 Listing des Assembler Programms Das Listing des in Kapitel 7 beschriebenen Programms Betrieb des NNSR by Gerhard Loidolt Primary controls MOD517 TITLE BETR NNSR PAGEWIDTH 120 DEBUG OBJECT NOPAGING H H H I Variable declarations BSEG AT 20h QUITT DBIT POSITIV DBIT RELAIS DBIT MSG DBIT DISP RS BIT P3 4 DISP RW BIT P3 3 DISP_E BIT P3 2 RTS_I BIT P1 1 TASTERA BIT P1 7 5 NUM DATA 2Ch AUSGANGNUMMER DATA 2Dh MENUENUMMER DATA 2Eh ZAEHLER DATA 2Fh DSEG AT 30h OUT BUF DS 6 IN DS 6 DISP BUF DS 16 REL BUF DS 9 REL NUM DS 1 REL_TIMER DS 9 ZEITSCHLITZ DS 1 ZAEHLERTO DS 1 ORG 60h STACK DS 0 bitadressable segment Bit f r Quittierungs Taster Bit f r positive Erkennung Bit f r Relaisbest tigung Flag message from NNSR received Register Select for display Display read write RS232 RS232 QUITTIERUNG TASTER ASCII Code der AUSGANGNUMMER Z hler f r SCHLEIFE internal data memory buffer for commands to NNSR buffer for messages
61. lossene Mikrophon auf Das erkannte Wort wird als Platznummer am seriellen Ausgang ausgegeben Clear Playback Playback X X Ende der Speicherplatznummer x Zahl von 0 9 Es erfolgt auch die akustische Wiedergabe des zugeh rigen Sprachkommandos ber den Lautsprecher Sind jedoch keine gelernten W rter vorhanden mindestens 2 W rter mit je einem Sprachmuster wird ein Fehlbedienungston Frequenz 2kHz Dauer 0 5 s ausgegeben 4 Aufbau einer Spracherkennung mit dem Prototyp von Siemens Im folgenden Kapitel werden der Versuchsaufbau und die verwendeten Bauelemente n her beschrieben 4 1 Grundkonzept Der Prototyp des NNSR wird von einem PC angesteuert Die Ergebnisse der Erkennung werden wieder an den PC zur ckgeliefert und auf dem Bildschirm angezeigt Die Handshakeleitungen der RS 232 Schnittstelle werden nicht verwendet siehe Abbildung 4 2 Das Programm wurde in Turbo Pascal geschrieben Ein Listing dieses Programms findet sich in Anhang A Die Vebindung mit dem Versuchsaufbau erfolgte ber die serielle Schnittstelle des PC Com 1 Der Versuchsaufbau wurde auf einer Hirschmann Steckplatte installiert siehe Abbildung 4 2 Blockschaltbild der Spracherkennung Leitungsempf nger oo m Inverter gt 2 RS 232 gt NNSR Schnittstelle O Prototyp Stecker zum PC gt oO gt Leitungstreiber Abbildung 4 1 Blockschaltbild der Spracherkennung
62. mmiermodus PROG e RS232 Modus RS232 7 1 Betriebsmodus Zuerst wird der Betriebsartenschalter abgefragt dann wird an den Spracherkennungsbaustein der Befehl Listen siehe 5 5 12 geschickt und die Antwort abgewartet Die Antwort wird auf eine Fehlermeldung positive Erkennung Schl sselwort Best tigungsworte Resetwort und Selektion eines Ausgangs hin berpr ft Danach wird auf das Display die Nummer des erkannten Wortes ausgegeben War die Fehlermeldung positiv wird die Prozedur NOT TRAINED aufgerufen 7 2 Programmiermodus Zuerst wird der Betriebsartenschalter abgefragt dann werden die Prozeduren TRAINW CLEARW PLAYBACKW LEARNALL RELSET siehe 7 4 durchlaufen 7 3 RS 232 Modus Zuerst wird der Betriebsartenschalter abgefragt dann wird auf das Display RS 232 geschrieben Nach der Initialisierung der Schnittstelle wird auf ankommende Daten vom PC gewartet Diese 6 Byte werden in den OUT_BUF geschrieben und an den Spracherkennungsbaustein geschickt Die 6 Byte lange Antwort des Spracherkennungsbaustein wird in den IN_BUF geschrieben und der Inhalt des IN_BUF an den PC zur ckgeschickt 7 4 Prozeduren 7 4 1 TRAINW Zuerst wird der Betriebsartenschalter abgefragt dann wird auf das Display LERNEN WORT x geschrieben Es werden st ndig der Men taster der Stufentaster und der Quittierungstaster abgefragt Wird der Men taster bet tigt wird in das CLEARW Men gesprungen Wird der Stufentaster bet tigt wird die
63. n Computer lernen Entscheidungen zu treffen Gewisse Parameter dieser Elemente k nnen sich in einer Lernphase automatisch so einstellen dab bestimmte am Eingang anliegende Merkmalsvektoren ein bestimmtes Ergebnis am Ausgang liefern Neuronale Netze sind sehr gut f r die Spracherkennung geeignet Sie erweisen sich vor allem dann als besonders erfolgreich wenn die Testmuster durch St rungen etwa Umgebungsger usche verf lscht sind Zur Steigerung der Leistungsf higkeit wertet man au er der akustisch phonetischen Information noch weitere Informatiosquellen aus Eine sehr wichtige ist das aufgabenbezogene Wissen Bei den meisten Anwendungen ist der Einsatzbereich inhaltlich begrenzt so da es nur wenige zul ssige W rter gibt siehe 30 Die Fa Siemens stellte f r erste Versuche einen Prototyp des Spracherkennungsbausteins zur Verf gung Prototyp des NNSR Neural Net Speech Recognizer Das Interface zum Host Prozessor ist allerdings g nzlich anders aufgebaut wie beim sp teren Serienbaustein siehe Kapitel 5 dieser Arbeit Auch die Funktionsweise ist etwas anders als beim Serienbaustein Es k nnen 12 verschiedene W rter mit maximal 15 Sprachmustern pro Wort eingelernt werden Jedes Wort ist einer Speicherplatznummer von 1 bis 99 zuzuordnen 3 1 Host Interface 3 1 1 Pinbelegung Pin2 12 V Pin 7 Masse Pin 8 serieller Dateneingang Pin 15 Masse Pin 16 serieller Datenausgang 3 1 2 Datenformat bertragungsart asynchron Datenra
64. nd wieder losgelassen wurde wird die n chst m gliche Ausgangbelegung erzeugt oder wenn alle M glichkeiten durchgespielt wurden die Ausgangnummer erh ht 7 4 23 REL EIN In dieser Prozedur werden die Relaiseinstellung aus dem SRAM ausgelesen und in den REL BUF bertragen 7 4 24 TASTERA Diese Prozedur fragt den Taster 4 ab Es ist eine Tastenentprellung eingebaut Wurde die Taste gedr ckt und wieder losgelassen wird das Bit QUITT gesetzt 31 7 4 25 SCHLEIFE Diese Prozedur beinhaltet die Warteschleife f r die Tastenentprellung Sie wird aufgerufen wenn Taster 2 3 oder 4 gedr ckt und wieder losgelassen werden 7 4 26 RAM OK Diese Prozedur stellt sicher daf bei der allerersten Inbetriebnahme des SRAM keine ung ltigen Werte f r die Relaiseinstellungen eingeschrieben sind 7 4 27 Commands HOST gt NNSR Hier stehen die Hexadezimal Codes f r die Befehle die an den Spracherkennungsbaustein geschickt werden 7 4 28 ASCII Tabellen In den ASCII Tabellen stehen die ASCII Codes f r die Ausgangnummer und die Relaiseinstellungen die am Display angezeigt werden 32 8 Bedienung des Ger tes Dieses Kapitel ist als Bedienungsanleitung f r Benutzer ohne technische Vorkenntnisse gedacht Sie sollten damit in der Lage sein das Ger t in k rzester Zeit selbst ndig zu bedienen F r genauere Informationen stehen die Kapitel 5 6 7 10 und 11 zur Verf gung 8 1 Anschl sse und Bedienungselemente 8 1 1 Ste
65. os 37 Mit dem Stufentaster k nnen jetzt alle M glichkeiten ausgehend vom abgespeicherten Wert durchgegangen werden Der n chste Ausgang erscheint wenn alle Werte f r diesen Ausgang durchlaufen wurden oder mit der Quittierungstaste ein Wert abgespeichert wird Die Anzeige f r diesen Ausgang beginnt wieder mit dem aktuell gespeicherten Wert Wird das Steuermodul vom Netz getrennt bleibt die Ausgangsbelegung erhalten 8 2 3 RS 232 Modus Das Ger t wird mit einem RS 232 Kabel an einen PC angeschlossen Um in den RS 232 Modus zu gelangen wird der Betriebsartenschalter in Stellung S gebracht siehe Abbildung 8 1 Befand sich das Ger t zuvor im Betriebsmodus mu ein Wort gesprochen oder die Resettaste bet tigt werden Das Display zeigt dann RS 232 Hiermit befindet sich das Ger t im RS 232 Modus Jetzt kann die Spracherkennung ber einen PC gesteuert werden Die m glichen Befehle und die Antworten finden sich im Kapitel 5 dieser Arbeit Die serielle Schnittstelle arbeitet mit 9600 baud 1 Start 8 Daten und 1 Stoppbit Befehle die vom PC kommen werden an den Spracherkennungsbaustein weitergegeben und die Antworten an den PC zur ckgeliefert Wurde der RS 232 Modus ohne angeschlossenen PC aktiviert kann er durch Umstellen des Betriebsartenschalters auf B oder P und anschlie endem Dr cken der Resettaste wieder verlassen werden 8 2 4 Reset Wird die Resettaste bet tigt werden alle Ausg nge spannungslos geschaltet
66. r TO TIMERO wenn der Timer 0 einen Interrupt ausl st wird der ZAEHLERTO incrementiert Wenn er von 0 Fh gez hlt hat ist ca 1 Sekunde vergangen und die Routine TIMER aufgerufen INC MOV CJNE MOV CALL TIMERO W RET ZAEHLERTO A ZAEHLERTO A 0Fh TIMERO_W ZAEHLERTO 0h TIMER Fehlermeldung nicht trainiert e ek e ete kkk kk pete pete pete goto NOT TRAINED MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CALL RET DISP_BUF 0 20h DISP_BUF 1 4Eh DISP_BUF 2 49h DISP_BUF 3 43h DISP_BUF 4 48h DISP_BUF 5 54h DISP_BUF 6 20h DISP_BUF 7 54h DISP_BUF 8 52h DISP_BUF 9 41h DISP_BUF 10 49h DISP_BUF 11 4Eh DISP_BUF 12 49h DISP_BUF 13 45h DISP_BUF 14 52h DISP_BUF 15 54h SEND_DISPLAY LEERZEICHEN H LEERZEICHEN H 58 Fehlermeldung Speicher Koll SRSERSERIEIR sk ok SR AR F F k kk k SR OK REC k k k kk k kkk k k k SPEICHER_VOLL MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CALL CALL RET DISP_BUF 0 20h DISP_BUF 1 20h DISP_BUF 2 53h DISP_BUF 3 50h DISP_BUF 4 45h DISP_BUF 5 49h DISP_BUF 6 43h DISP_BUF 7 48h DISP_BUF 8 45h DISP_BUF 9 52h DISP_BUF 10 20h DISP_BUF 11 56h DISP_BUF 12 4Fh DISP_BUF 13 4Ch DISP BUF 14 st4Ch DISP_BUF 15 20h CLEAR_DISPLAY SEND_DISPLAY LEERZEICHEN LEERZEICHEN H m O
67. r dieses Wort das erste ist die Wort Nummer zur Wort Liste hinzugef gt Beinflu te Flags recording_available gel scht wenn erfolgreich ausgef hrt nnsr_trained gel scht wenn erfolgreich ausgef hrt 5 5 11 Learn Byte 0 opcode ICh Startet die Lern Procedure Sie mu ausgef hrt werden wenn das NNSR gel scht ist und ein Listen Befehl kommen soll Diese Procedure kann bis zu 5 Minuten dauern Beeinflu te Flags nnsr_trained gesetzt wenn erfolgreich ausgef hrt gel scht sonst 5 5 12 Listen Byte 0 opcode Eh Startet eine Sprachaufzeichnung wenn ein Pegel am Analog Eingang anliegt gefolgt von einer Auswertung Verarbeitete L nge der Sprache 1 820 s Beeinflu te Flags recording available gel scht 20 5 6 NNSR Antworten Der execution success code Byte 1 enth lt die Fehlermeldung Wenn mehr als ein Fehler bei einem Befehl auftritt wird nur der mit der h chsten Priorit t niedrigster Code angezeigt 5 6 1 Status info Byte 0 opcode 20h Byte 1 execution success code 00h erfolgreich Byte 2 number of free words xxh Anzahl der W rter f r die keine Sprachmuster gespeichert sind Byte 3 first free word index xxh Index des ersten Wortes f r das keine Sprachmuster gespeichert sind Byte 4 nnsr trained 00h NNSR trainiert 018 NNSR nicht trainiert Antwortet mit dem aktuellen Status des NNSR 5 6 2 Configuration Byte 0 opcode 21h Byte 1 execution success code 00h erfogreich Byte 2 acoustic feedback 00h a
68. rt gespeichert sind 5 6 5 Word recognized Byte 0 opcode 3Fh Byte 1 execution success code 00h 40h 80h Byte 2 word index xxh Byte 3 probability code xxh Byte 4 correlation code xxh Byte 5 spectral mom code xxh Antwortet mit der Nummer des erkannten Wortes probability code correlation code bis spectral mom code erfolgreich NNSR nicht trainiert keine Sprache erkannt Index des erkannten Wortes Code f r die Wahrscheinlichkeit einer korrekten Erkennung Code f r die Correlation des Wortes Code f r das spektrale Moment des Wortes 00h bestm gliche Erkennung OFh Erkennung zu 50 schlechtester Fall Werte lt OCh stehen f r zuverl ssige Erkennung 00h schlechtester Fall Fh bester Fall dabei ist zu beachten da kurze Worte eine h here Correlation haben als lange 006 bis 7Fh Kurze Worte haben ein kleines Moment lange ein gro es Die Fa Siemens gibt folgenden Algorithmus f r eine praxisgerechte Auswertung einer Erkennung an correlation_code spectral _mom _code 2 gt 60h Schwelle f r positive Erkennung 22 6 Aufbau einer Spracherkennung mit dem NNSR Im folgenden Kapitel werden die einzelnen Bauteile die f r den Aufbau der Spracherkennung verwendet wurden n her beschreiben 6 1 Grundkonzept Das Ger t besteht aus 2 Einheiten Steuermodul siehe Abbildung 8 1 e Schaltmodul siehe Abbildung 8 2 Das Steuermodul ist in ein Aluminiumgeh use in Eurokarten
69. rung werden durch die eingebaute Sprachausgabe unterst tzt Menschen mit zus tzlicher Sprachbehinderung werden durch die M glichkeit umfangreiche Bildsymbolkommunikationstafeln in das System zu integrieren unterst tzt 2 Aufgabenstellung und Ergebnis 2 1 Anforderungen an das Spracherkennungsmodul Das Hauptproblem f r bewegungsbeeintr chtigte Personen ist das mechanische handling technischer Ger te Eine M glichkeit diese Ger te steuerbar zu machen besteht im Einsatz verschiedener Spezialschalter z B Saug Blas Schlalter Zungenschalter Lidschlagschalter siehe 9 Durch die Ben tzung der Sprache als Steuerungsmittel kann der Bedienungskomfort jedoch wesentlich erh ht werden Bei der Realisierung einer solchen Sprachsteuerung sollen folgende Anforderungen erf llt werden In einem Lernmodus sollen verschiedene Sprachmuster ben tigte Befehle in unterschiedlicher Ausprache gespeichert werden k nnen damit ein flexibler Einsatz des Systems m glich ist Ger t durch ein Schl sselwort in den Ruhezustand versetzen Ausf hrung eines Befehls erst nach einer Best tigung Resetwort um alle Schaltausg nge in einen vordefinierten Zustand zu bringen exakte Unterscheidung zwischen gesprochenem Befehl und Hintergrundger usch M glichkeit eines Inselbetriebs ohne PC M glichkeit einer Einbindung in das AUTONOM Projekt Im Inselbetrieb sollten bis zu 8 verschiedene Verbraucher geschalten werden Schaltausg ng
70. s Relais 1 gepulst 56 REL TDA REL TDB REL TI3 REL TI3A REL REL REL REL REL 5 REL REL 5 REL REL TI6A REL REL REL TI7A REL TI7B REL CJNE CLR JMP CJNE SETB JMP DEC CLR MOV CJNE CLR JMP CJNE SETB JMP DEC CLR MOV CJNE CLR JMP CJNE SETB JMP DEC CLR MOV CJNE CLR JMP CJNE SETB JMP DEC CLR MOV CJNE CLR JMP CJNE SETB JMP DEC CLR MOV CJNE CLR JMP CJNE SETB JMP DEC CLR MOV CJNE CLR JMP A ffOFFh REL 2 P4 1 REL TI3 A 000h REL_TI2B P4 1 REL TI3 REL 2 P4 1 A REL 3 A 0FFh REL_TI3A P4 2 REL A 000h REL_TI3B P4 2 REL REL 3 P4 2 A REL 4 A 0FFh REL_TI4A P4 3 REL 5 A 000h REL_TI4B P4 3 REL 5 REL 4 P4 3 A REL 5 A ffOFFh REL TISA P4 4 REL TI6 A ff000h REL 5 P4 4 REL 6 REL 5 P4 4 A REL 6 A 0FFh REL_TI6A P4 5 REL TI7 A 000h REL_TI6B P4 5 REL TI7 REL 6 P4 5 A REL 7 A 0FFh REL_TI7A P4 6 REL A 000h REL_TI7B P4 6 REL TIS REL 7 P4 6 A REL 8 A 0FFh REL_TI8A P4 7 TIMER END 57 REL 8 CJNE SETB JMP REL 8 DEC CLR TIMER END RET A 000h REL_TI8B P4 7 TIMER END REL 8 P4 7 Z hler f
71. set 8 3 Schaltmodul 9 Literaturverzeichnis 10 Anhang A 42 10 1 Listing des Assembler Programms 10 2 Listing des Turbo Pascal Programms 11 Anhang B 11 1 Spracherkennungsplatine 11 2 Hardware Kern 33 33 33 34 35 39 42 70 72 72 79 IV ZUSAMMENFASSUNG Es wurde eine Spracherkennung gebaut die in das AUTONOM Projekt eingebunden werden kann aber auch als eigenst ndiges Ger t funktioniert Das technische Assistenz System AUTONOM soll Menschen mit Behinderungen im Alltagsleben zu Hause mehr Handlungsfreiheit Unabh ngigkeit Selbstbestimmung und Lebensqualit t erm glichen AUTONOM ist als Baukastensystem konzipiert Das hei t man kann aus einem Set genau jene Funktionen ausw hlen die den Bed rfnissen des Benutzers entsprechen Das AUTONOM Baukastensystem Peripheriemodule IR CAD Modul wahlweise Serielle Busverbindung ber Funk Eingabe ger te nn Funk Trans ceiver Funk Trans ceiver Serielle Busverb Mobile ber Infrarotlicht IR Bedieneinheit 6 2 lt gt Trans ceiver ceiver System Telekommunik berwachung Modul Serielle Busverbindung ber Draht Anzeige ger te Univ O Modul Die Spracherkennung erm glicht es mit Sprachkommandos elektrische Verbraucher zu steuern Im Inselbetrieb k nnen bis zu 8 verschiedene Steckdosen geschaltet werden Eine detaillierte Aufgabenstellung ist in Kapitel 2 nachzulesen Realisier
72. t case wert of writeln Richtig writeln Falsch writeln Telefon writeln Sprechanlage writeln Licht writeln Fernseher writeln Radio writeln Eingabe writeln Ausschalten Wert char begin for 0 to 30 do begin wert readchar if N 24 then begin 49 50 51 52 53 54 55 56 57 end end end writeln Programm starten J readin pfiff if pfiff J then repeat sound 440 delay 200 nosound repeat haupt Hauptprogramm writeln Ist der Befehl richtig 2 writeln Richtig Falsch haupt writeln Wert richtig 22 until richtig 49 writeln Beenden readln pfiff until pfiff 7 71
73. t wurde die Spracherkennung mit einem Spracherkennungsbaustein von Siemens der von einem 80C537 Mikrokontroller als Hostprozessor angesteuert wird Kapitel 1 Grundlagen gibt einen berblick ber m gliche Zielgruppen von AUTONOM III ber technische Hilfsmittel die bisher zur Verf gung standen und stellt AUTONOM in groben Z gen vor Kapitel 2 Aufgabenstellung und Ergebnis beschreibt die Aufgabenstellung die Auswahl einer Spracherkennung und des Host Prozessors und zieht eine Billanz ber den Prototyp und das fertige Ger t Kapitel 3 Der Prototyp des Spracherkennungsbaustein von Siemens erl utert den Prototyp des Spracherkennungsbausteins der Fa Siemens Es werden das Host Interface die Befehle und die Bedienung des Prototyps erkl rt Kapitel 4 Aufbau einer Spracherkennung mit dem Prototyp von Siemens Der Prototyp des NNSR wird von einem PC angesteuert Die Ergebnisse der Erkennung werden wieder an den PC zur ckgeliefert und auf dem Bildschirm angezeigt Das Programm wurde in Turbo Pascal geschrieben Ein Listing dieses Programms findet sich in Anhang A Die Vebindung mit dem Versuchsaufbau erfolgte ber die serielle Schnittstelle des PC Com 1 Der Versuchsaufbau wurde auf einem Steckbrett installiert Kapitel 5 Der Spracherkennungsbaustein von Siemens erl utert die Architektur und die Funktionsweise des Serienbauteils Kapitel 6 Aufbau einer Spracherkennung mit dem NNSR Zur Ansteuerung der Peripherieger t
74. te 2400 baud Format eines Byte 1 Startbit 5V gt logisch 0 8 Datenbits zuerst LSB Bit parity even 1 Stopbit 0V logisch 1 3 2 Befehle 3 2 1 Format eines Befehls IStartbyte N x Informationsbyte 1 Stopbyte 02h Code 0Dh Das Informationsbyte mu innerhalb einer Meldung einige Male wiederholt werden Es wird zwischen kurzen lt 0 5 s und langen Meldungen gt 0 5 s unterschieden F r kurze Meldungen hat N den Defaultwert 3 f r lange Meldungen ist N 220 In Folge handelt es sich um kurze Meldungen soweit nicht anders angegeben 3 2 2 Befehle Befehl Informationsbyte Bemerkungen Select 2Ah Speicherplatznummer folgt 23h 0 30h 1 31h 2 32h 3 33h 4 34h 3 35h 6 36h 7 37h 8 38h 9 39h Ende der Speicherplatznummr 3Ch L schen 3Ah lange Meldung Playback 3Bh Speichern 3Eh Aufzeichen 60 h 3 3 Bedienung des Ger tes Nach Anlegen der Versorgungsspannung befindet sich das Ger t im Betriebsmodus siehe 3 3 8 und 3 3 9 3 3 1 Aufnahme von Sprachmustern beginnen In den Programmiermodus gelangt man mit folgender Befehlsfolge siehe 3 2 Befehle Select Speicherplatznummer folgt x x Ende der Speicherplatznummer x Zahl von 0 9 3 3 2 Sprachmuster lernen Die Aufnahme eines Sprachmusters wird durch den Befehl Aufzeichnen erreicht Nach der Aufnahmezeit von 1 s erfolgt die automatische Wiedergabe dieses Sprachmusters auf dem Lautsprecher F r eine Kontrollwiedergabe siehe 3 3 3 Playback
75. te 2 bet tigt hier k nnen alle abgespeicherten Sprachmuster eines Wortes gel scht werden MOV JNB CALL MOV JNB RET ACC 4 WEITER2A SCHLEIFE ACC 4 WEITER2A liest Betriebsart Schalter 1 ein zur Schalterentprellung 46 WEITER2A WEITER2B WEITER2C PLAYBACKW WEITER3A MOV DISP_BUF 0 20h LEERZEICHEN MOV DISP_BUF 1 4Ch MOV DISP_BUF 2 0EFh MOV DISP_BUF 3 53h SS MOV DISP 4 43 MOV DISP 5 48 H MOV DISP 6 45 E MOV DISP BUF 7 4Eh PN MOV DISP 8 20 LEERZEICHEN MOV DISP BUF 49 457h PW MOV DISP 10 4 0 MOV DISP BUF 11 252h MOV DISP_BUF 12 54h ST MOV DISP 13 20 LEERZEICHEN MOV DISP BUF 14 ASCII NUM AUSGANGSNUMMER MOV DISP BUF 15 220h LEERZEICHEN CALL SEND DISPLAY CALL TASTER2 ABF MEN TASTER CALL TASTER3 ABF STUFEN TASTER CALL TASTER4_ABF QUITTIERUNG JNB QUITT WEITER2C Keine Quittierung gt berspringe AUSGABE MOV OUT BUF 0 ZCLEAWORD Wort aus Wortspeicher l schen MOV BUF 1 AUSGANGNUMMER CALL TO NNSR CALL FROM NNSR MOV CJNE A 2 PLAYBACKW Springt ins n chste Men wenn Taste 2 bet tigt LJMP CLEARW hier kann das erste abgespeicherte Sprachmuster eines Wortes auf den Lautsprecher ausgegeben werden nur bei acustic_feedback in Funktion MOV A P6 JNB ACC 4 WEITER3A liest Betriebsart Sc
76. tecker zum NNSR Prototyp 5 Der Spracherkennungsbaustein von Siemens 2 5 1 Architektur F r die Spracherkennung wurde ein NNSR Neural Net Speech Recognizer der Fa Siemens herangezogen Der NNSR basiert auf einen DSP Digital Signal Processor mit Host Interface Port der Fa ANALOG DEVICES Er wurde f r die Erkennung einzelner W rter wie Namen Befehle Zahlen gebaut Auf der Platine befinden sich folgende Einheiten DSP Digital Signal Processor A D Converter D A Converter Anti Aliasing Filter Sample amp Hold RAM f r Sprachmuster und Neural Net Weights RAM Batterie Batterie Controller Batterrie p Batterie Controller 128kx8 128 8 RAM RAM Host Interface gt Port DSP Oscillator A In 27 256 Anolog CODEC 4 PROM Out Abbildung 5 1 Blockdiagramm des NNSR Es k nnen 320 Sprachmuster gespeichert werden Die Anzahl der Sprecher wird nur durch die Kapazit t des NNSR begrenzt Die 320 Sprachmuster k nnen z B auf 40 W rter mit je 4 Sprachmuster von 2 Sprechern aufgeteilt werden Der Spracherkennungsbaustein ist sehr unempfindlich f r Nebenger usche Die minimale Anzahl verschiedener W rter ist 2 Die maximale Anzahl 32 wenn acoustic feedback gesetzt ist 64 wenn acoustic feedback nicht gesetzt ist 5 2 Host Interface Das HIP Host Interface Port des NNSR ist ein paralleles I O Port s
77. ten Adressleitung 7 10 ALE Address latch enable Host address 2 11 HA0 Host address 0 12 Host address 1 13 QHWR write strobe 14 QHRD read strobe 15 HMDI address data mode 16 HMDO bus strobe select 17 QSEL HIP select input 18 HIP acknowledge 19 HMSG Message to host available 20 HREADY Host ready to receive 21 ANOUTA Analog audio output a 22 ANOUTB Analog audio output b 23 ANGND Analog audio ground 24 ANIN Analog audio input 25 GND Ground 26 VCC Power supply 5 3 Analog Audio Interface F r optimale Ergebnisse sollte der Audio Eingang an einen Mikrofon Verst rker angeschlossen werden Der Mikrofon Verst rker sollte im Bereich von 0 2 bis 3 4 kHz eine gleichm ige Verst rkung aufweisen Der Audio Ausgang kann an einen Ausgangsverst rker oder direkt an einen 300 Ohm zw a und b bzw 600 Ohm a oder b gegen Masse Lautsprecher angeschlossen werden 5 4 Host Befehle und NNSR Antworten Host Befehle NNSR Antwort Send status info Status info Send configuration Configuration Configure new Ready Initialize words Ready Send word info Word info Clear word Ready Record Ready Playback immediate Ready Playback word Ready Store pattern Ready Learn Ready Listen Word recognize 5 5 Host Befehle Die Byte Nummern korrespondieren mit den Host Interface Port Adressen 5 5 1 Send status info Byte 0 opcode 00h berpr ft den aktuellen Status des NNSR 5 5 2 Send configuration Byte 0 opcode Olh berpr ft
78. uermodul Betriebsartenschalter Resettaste Display 15 poliges Verbindungskabel RS 232 Men taster Stufentaster Quittierungstaster Schnittstelle y Abbildung 8 1 Geh use des Steuermoduls Das Steuermodul wird mit Hilfe des 15 poligen Verbindungskabels an das Schaltmodul angeschlossen Da auch die Energieversorgung ber dieses Kabel erfolgt ist ohne Schaltmodul keine Funktion m glich Die RS 232 Schnittstelle wird nur ben tigt wenn die Steuerung der Spracherkennung ber einen PC erfolgt siehe 8 2 3 RS 232 Modus An die Mikrophon Buchse wird das ME 2 Fa Peiker angeschlossen 33 S 1 2 Schaltmodul Frontansicht R ckansicht Kontrolleuchte Ausgang 8 Kontrolleuchte Ausgang 7 Kontrolleuchte Ausgang 6 Kontrolleuchte Ausgang 5 Kontrolleuchte Ausgang 4 Kontrolleuchte Ausgang 3 Kontrolleuchte Ausgang 2 Kontrolleuchte Ausgang 1 15 poliges e i Hauptschalter Verbindungskabel Netzkabel Abbildung 8 2 Geh use des Schaltmoduls Das Schaltmodul wird mit Hilfe des Netzkabels an die Spannungsversorgung 220 V angeschlossen Dann das Schaltmodul mit dem Steuermodul verbinden und den Hauptschalter einschalten An die 8
79. und in den am Betriebsartenschalter eingestellten Modus gegangen 8 3 Schaltmodul Mit dem Hauptschalter werden sowohl das Schaltmodul als auch das Steuermodul eingeschaltet Die Kontrolleuchten zeigen an welcher Ausgang gerade ein oder ausgeschaltet ist 38 9 Literaturverzeichnis 1 10 11 14 NNSR Hardware Schnittstelle Prototypbeschreibung Siemens AG Wien 1992 NNSR Neural Net Speech Recognizer Siemens AG Wien 1993 DSP Microcomputer mit Host Interface Port ADSP 2111 Analog Devices Norwood 1993 OPTREX Liquid Crystal Display OPTREX CORPORATION Tokyo 1993 Microcomputer Components SAB 80C517 80C537 User s Manual Siemens AG M nchen 1994 Microcontroller Family SAB 8051 Pocket Guide Siemens AG M nchen 1994 8051 Cross Asembler User s Manual MetaLink Corporation Arizona 1989 Friedrich Tabellenbuch Elektrotechnik Elektronik D mmler Bonn Bonn 1982 Wolfgang L Zagler Franz Peter Seiler Elektronische Hilfsmittel f r Behinderte Rehabilitationstechnik Arbeitsunterlage zur Vorlesung Rehabilitationstechnik TU Wien 4 1992 Ditmar Schultschik Autonom I Grundlagen f r AUTONOM und Fernbedienungsmodul Diplomarbeit TU Wien 11 1992 J rgen Demuth Autonom II Software AUTOSOFT f r ein Steuerungs und Kommunikationssystem f r behinderte Menschen Diplomarbeit TU Wien 2 1993 Karl Watz Autonom IV Telefonsteuermodul Diplomarbeit TU Wien 11 1994 Q 400
80. ung zur ck e Die maximale Anzahl verschiedener W rter liegt jetzt bei 64 was f r diesen Anwendungsfall ausreichend ist e Der Platzbedarf wurde auf eine Platine von 60 x 70 mm reduziert Da der Baustein f r das Autotelefon konzipiert wurde blieb jedoch als wesentlicher Schwachpunkt vorerst die Tatsache da der Baustein angestossen werden mu und dann nur ein bestimmter Zeitschlitz zum Sprechen des Wortes zur Verf gung steht Die Fa Siemens nderte jedoch 1994 die Software des Bausteins die in einem PROM abgelegt ist und nachger stet werden konnte Nun kam der wesentliche Duchbruch f r die AUTONOM Spracherkennung mit zwei Neuerungen e St ndiges Mith hren ist nun m glich da das Anstossen nun von der Software des Host Prozessors erfolgt und das Sprachkommando zu einem beliebigen Zeitpunkt kommen kann e Die zur ckkommden Parameter wurden noch durch eine Correlation und ein spektrales Moment erg nzt was die Sicherheit einer Bewertung weiter erh ht Erste Selbstversuche brachten folgendes Ergebnis e Das Ger t wurde auf der ifabo Internationale Fachmesse f r B ro Computer Telecom vom 25 28 April 1995 in Wien ausgestellt Dabei zeigte sich da das Ger t auch bei dem sehr starkem Hintergrundl rm einwandfrei funktionierte und es zu keinen Fehlschaltungen kam e Das Ger t wurde im privaten Wohnzimmer neben dem auf normaler Lautst rke laufenden Fernseher betrieben Die Sprache die aus dem Fernseher kam beeinflu
81. ung und Ergebnis 2 1 Anforderungen an das Spracherkennungsmodul 2 2 Auswahl einer Spracherkennung 2 3 Ergebnis 2 3 1 Realisierung mit dem Prototyp des Spracherkennungsbausteins 2 3 2 Realisierung mit dem Serienmodell 3 Der Prototyp des Spracherkennungsbausteins von Siemens 3 1 Host Interface 3 1 1 Pinbelegung 3 1 2 Datenformat 3 2 Befehle 3 2 1 Format eines Befehls 3 2 2 Befehle 3 3 Bedienung des Ger tes 3 3 1 Aufnahme von Sprachmustern beginnen 3 3 2 Selektion eines Speicherplatzes 3 3 3 Sprachmuster lernen 12 3 3 4 Playback 3 3 5 Sprachmuster speichern 3 3 6 Wort l schen 3 3 7 Aufnahme von Sprachmustern beenden 3 3 8 Reset 3 3 9 Erkennung Q E E 10 10 10 11 11 11 11 4 Aufbau einer Spracherkennung mit dem Prototyp von Siemens 4 1 Grundkonzept 4 2 Verwendete Bausteine 4 2 1 Der NNSR Prototyp 4 2 2 Der Leitungsempf nger der Leitungstreiber und der Inverter 4 3 Aufbau auf einer Hirschmann Steckplatte 5 Der Spracherkennungsbaustein von Siemens 5 1 Architektur 5 2 Host Interface 5 3 Analog Audio Interface 5 4 Host Befehle und NNSR Antworten 5 5 Host Befehle 5 5 1 Send status info 5 5 2 Send configuration 5 5 3 Configure new 5 5 4 Initialize words 5 5 5 Send word info 5 5 6 Clear word 5 5 7 Record 5 5 8 Playback immediate 5 5 9 Playback word 5 5 10 Store pattern 5 5 11 Learn 5 5 12 Listen 5 6 NNSR Antworten 5 6 1 Status info 5 6 2 Configuration 5 6 3 Rea
82. ystem wie AUTONOM erfordert ein gewisses Ma an Training und Schulung des Benutzers Die unkomplizierte aber effiziente M glichkeit zur flexiblen Gestaltung der Oberfl che von AUTONOM erm glicht einen p dagogischen Aufbau des Trainingsprogrammes Es kann mit einer sehr einfachen Oberfl che begonnen werden mit zunehmender Erfahrung des Benutzers k nnen laufend weitere Funktionen hinzugef gt werden Dadurch wird auch die Integration in Therapieprogramme optimal unterst tzt 1 3 5 Menschen mit Mehrfachbehinderung Das AUTONOM System ist f r Menschen mit Bewegungs und Mehrfachbehinderung ausgelegt Wie werden mehrfachbehinderte Menschen unterst tzt Menschen mit zus tzlicher Sehbehinderung werden durch die M glichkeit einer vergr erten Darstellung der Icons bis hin zur bildschirmf llenden kontrastreichen Darstellung eines einzelnen Icons unterst tzt F r blinde Menschen kann eine komplette akustische Oberfl che aufgebaut werden Menschen mit zus tzlicher geistiger Behinderung werden durch die M glichkeit des Aufbaus vereinfachter Men s und durch Icons mit kompletten in sich abgeschlossenen Funktionen unterst tzt Spezielle leicht assoziierbare Grafiken und die Verwendung von Touchscreens erleichtern die Benutzung Menschen die an Demenz leiden werden durch die M glichkeit das System Schritt f r Schritt zu vereinfachen und so immer den F higkeiten anzupassen unterst tzt Menschen mit zus tzlicher Sprechbehinde

Download Pdf Manuals

image

Related Search

Related Contents

Model UU-2X4 USB Extender  Service Manual - Girard Products, LLC  CT-400 CHASSIS - VTI Instruments  to Model Documentation  Gebrauchsanleitung  Samsung GALAXY Note LTE User Manual(Android Icecream Sandwitch)  RGーZGnd 取扱説明書  Sartorius Extend Sartorius Gem Extend, Gold Extend  P001-006  2829-485z User Manual  

Copyright © All rights reserved.
Failed to retrieve file