Added morreeeee
Signed-off-by: Tyrolyean <tyrolyean@tyrolyean.net>
This commit is contained in:
parent
fe336cda09
commit
8a28b339ab
50 changed files with 72427 additions and 33465 deletions
|
@ -17,22 +17,114 @@
|
|||
title = {DUAL 8-BIT MUTLIPLYING DIGITAL-TO-ANALOG CONVERTERS},
|
||||
organization = {Texas Instruments Inc.},
|
||||
year = {1987},
|
||||
url = {http://www.komponenten.es.aau.dk/fileadmin/komponenten/Data_Sheet/Memory/IDT7201.pdf},
|
||||
url = {https://www.ti.com/lit/ds/symlink/tlc7528.pdf},
|
||||
}
|
||||
|
||||
@techreport{rs232,
|
||||
type = {Standard},
|
||||
key = {TIA-/EIA-232-F},
|
||||
month = October,
|
||||
month = Oct,
|
||||
year = {1997},
|
||||
title = {Interface Between Data Terminal Equipment and Data Circuit- Terminating Equipment Employing Serial Binary Data Interchange},
|
||||
volume = {1997}
|
||||
}
|
||||
|
||||
@Manual{max232,
|
||||
month = February,
|
||||
month = Feb,
|
||||
year = {1989},
|
||||
title = {MAX232x Dual EIA-232 Drivers/Receivers},
|
||||
organization = {Texas Instruments Inc.},
|
||||
url = {https://www.ti.com/lit/ds/symlink/max232.pdf}
|
||||
}
|
||||
|
||||
@Manual{74hc374,
|
||||
month = Feb,
|
||||
year = {1998},
|
||||
title = {High-Speed CMOS Logic Octal D-Type Flip-Flop, 3-State Positive-Edge Triggered},
|
||||
organization = {Texas Instruments Inc.},
|
||||
url = {https://www.ti.com/lit/ds/schs183c/schs183c.pdf}
|
||||
}
|
||||
@Manual{74hc00,
|
||||
month = Dec,
|
||||
year = {1982},
|
||||
title = {SNx4HC00 Quadruple 2-Input Positive-NAND Gates},
|
||||
organization = {Texas Instruments Inc.},
|
||||
url = {https://www.ti.com/lit/ds/symlink/sn74hc00.pdf}
|
||||
}
|
||||
|
||||
@Manual{ad2,
|
||||
month = Sep,
|
||||
year = {2015},
|
||||
title = {Analog Discovery 2™ Reference Manual},
|
||||
organization = {Digilent, Inc.},
|
||||
url = {https://reference.digilentinc.com/_media/reference/instrumentation/analog-discovery-2/ad2_rm.pdf}
|
||||
}
|
||||
|
||||
@Manual{atmega2560,
|
||||
month = Feb,
|
||||
year = {2014},
|
||||
title = {Atmel ATmega640/V-1280/V-1281/V-2560/V-2561/V},
|
||||
organization = {Atmel Corporation},
|
||||
url = {https://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf}
|
||||
}
|
||||
|
||||
@techreport{iec60908,
|
||||
type = {Standard},
|
||||
key = {IEC 60908},
|
||||
month = Sep,
|
||||
year = {1987},
|
||||
institution = {International Electrotechnical Commission},
|
||||
title = {Compact disc digital audio system},
|
||||
volume = {1987}
|
||||
}
|
||||
|
||||
@book{audiob,
|
||||
title = {The Audio Expert: Everything You Need to Know About Audio},
|
||||
author = {Winer, Ethan},
|
||||
publisher = {Focal Press},
|
||||
year = {2013},
|
||||
url = {https://books.google.com/books?id=TIfOAwAAQBAJ&pg=PA107#v=onepage&q=-%2010%20dbv&f=false}
|
||||
}
|
||||
|
||||
@article{lvlshift,
|
||||
title = {Taking It To Another Level: Making 3.3V Speak With 5V},
|
||||
author = {Jenny List},
|
||||
publisher = {Hackaday},
|
||||
year = {2016},
|
||||
month = Dec,
|
||||
url = {https://hackaday.com/2016/12/05/taking-it-to-another-level-making-3-3v-and-5v-logic-communicate-with-level-shifters/}
|
||||
}
|
||||
|
||||
@Manual{DB3S406F0L,
|
||||
month = Mar,
|
||||
year = {2010},
|
||||
title = {Schottky Barrier Diode DB3S406F0L Silicon epitaxial planar type},
|
||||
organization = {Panasonic},
|
||||
url = {https://industrial.panasonic.com/content/data/SC/ds/ds4/DB3S406F0L_E.pdf}
|
||||
}
|
||||
|
||||
@Manual{dunnet,
|
||||
year = {1982},
|
||||
title = {Dunnet Source Code},
|
||||
organization = {Emacs},
|
||||
author = {Ron Schnell},
|
||||
url = {https://github.com/jwiegley/emacs-release/blob/master/lisp/play/dunnet.el}
|
||||
}
|
||||
|
||||
@Manual{vt100,
|
||||
year = {1979},
|
||||
title = {VT100 SERIES TECHNICAL MANUAL},
|
||||
organization = {Digital Equipment Corporation},
|
||||
url = {https://vt100.net/docs/vt100-tm/ek-vt100-tm-002.pdf}
|
||||
}
|
||||
|
||||
@techreport{ascii,
|
||||
type = {Standard},
|
||||
key = {RFC 20},
|
||||
month = Oct,
|
||||
year = {1969},
|
||||
institution = {Network Working Group},
|
||||
title = {ASCII Format for Network Interchange},
|
||||
volume = {1969},
|
||||
url = {https://tools.ietf.org/pdf/rfc20.pdf}
|
||||
}
|
||||
|
|
|
@ -72,7 +72,6 @@ int main(){
|
|||
int routine(){
|
||||
|
||||
for(size_t i = 0; i < 256; i++){
|
||||
//PORTF = (0xFF & ((uint8_t)(sinf(i*3.141592654/255)/3.141592654*255)));
|
||||
PORTF = (0xFF & i);
|
||||
PORTK &= ~(0x01<<0);
|
||||
PORTK |= (0x01<<0);
|
||||
|
|
|
@ -115,11 +115,6 @@ int main(){
|
|||
_delay_us(100);
|
||||
PORTL &= ~(1<<MR_SHIFT);
|
||||
|
||||
/* Generate sine table */
|
||||
for(size_t i = 0; i < 256; i++){
|
||||
sine_table[i] = 0xFF&((int)((sin(i/((double)255)*(3.141592*2))*127.5+127.5)));
|
||||
}
|
||||
|
||||
sei();
|
||||
/* Enable the hardware watchdog. In case the microcontroller fails to
|
||||
* finish it's task within the specified time, the watchdog will reset
|
||||
|
@ -139,11 +134,10 @@ int main(){
|
|||
int routine(){
|
||||
|
||||
for(uint8_t i = 0; i < 0xFF; i++){
|
||||
write_to_dac(i%2, sine_table[i]);
|
||||
write_to_dac(0x00, i);
|
||||
}
|
||||
|
||||
write_to_dac(0x00, 0x00);
|
||||
write_to_dac(0x01, 0x00);
|
||||
|
||||
_delay_ms(10);
|
||||
return 0;
|
||||
|
|
70
code/dac/sine_fifo_backplane/Makefile
Normal file
70
code/dac/sine_fifo_backplane/Makefile
Normal file
|
@ -0,0 +1,70 @@
|
|||
MKDIR_P := mkdir -p
|
||||
CP := cp
|
||||
MV := mv
|
||||
CC := avr-gcc
|
||||
CCC := avr-g++
|
||||
RM_RF = rm -rf
|
||||
OCPY := avr-objcopy
|
||||
AVRDUDE := avrdude
|
||||
PORT := /dev/ttyACM0
|
||||
#PORT := usb
|
||||
#BOARD := atmega328p
|
||||
BOARD := atmega2560
|
||||
#PROGRAMMER := arduino
|
||||
PROGRAMMER := usbasp
|
||||
#PROGBOARD := m328p
|
||||
PROGBOARD := m2560
|
||||
BAUD_RATE_PROG := 115200
|
||||
FLASH_CMD := $(AVRDUDE) -b $(BAUD_RATE_PROG) -p $(PROGBOARD) -D -P $(PORT) -c $(PROGRAMMER)
|
||||
AVRSIZE := avr-size
|
||||
AVRSIZE_FLAGS := -C --mcu=$(PROGBOARD)
|
||||
|
||||
# directories
|
||||
CWD := $(realpath .)
|
||||
BINDIR := $(CWD)/bin
|
||||
BUILDDIR := $(CWD)/build
|
||||
SRCDIR := $(CWD)/src
|
||||
INCLUDEDIR := $(CWD)/include
|
||||
|
||||
# flas
|
||||
CFLAGS := -mmcu=$(BOARD) -Os -I$(INCLUDEDIR) -Wall -Wextra
|
||||
LDFLAGS := -mmcu=$(BOARD)
|
||||
|
||||
# target files
|
||||
DIRS_TARGET := $(BINDIR) $(BUILDDIR)
|
||||
TARGET := $(BINDIR)/mc.hex
|
||||
TARGET_ELF := $(BINDIR)/mc.elf
|
||||
SRCFILES := $(wildcard $(SRCDIR)/*.c)
|
||||
OBJFILES := $(patsubst $(SRCDIR)/%.c,$(BUILDDIR)/%.o,$(SRCFILES))
|
||||
|
||||
# fancy targets
|
||||
all: directories $(TARGET)
|
||||
|
||||
directories: $(DIRS_TARGET)
|
||||
|
||||
# less fancy targets
|
||||
|
||||
$(DIRS_TARGET):
|
||||
$(MKDIR_P) $@
|
||||
|
||||
$(TARGET) : $(TARGET_ELF)
|
||||
$(OCPY) -O ihex -j .text -j .data $^ $@
|
||||
|
||||
$(TARGET_ELF): $(OBJFILES)
|
||||
$(CC) $(LDFLAGS) -o $@ $^
|
||||
$(AVRSIZE) $(AVRSIZE_FLAGS) $@
|
||||
|
||||
$(BUILDDIR)/%.o: $(SRCDIR)/%.c
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
flash: $(TARGET)
|
||||
# For atmega 2560
|
||||
$(FLASH_CMD) -e -U hfuse:w:0xD9:m -U lfuse:w:0xDF:m -U efuse:w:0xFF:m -U flash:w:$^:i -U efuse:w:0xfa:m
|
||||
# For atmega 328p:
|
||||
#$(FLASH_CMD) -e -U hfuse:w:0xD9:m -U efuse:w:0xFF:m -U lfuse:w:0xDF:m -U flash:w:$^:i -U efuse:w:0xfd:m
|
||||
# If unknown or no fuse bits available over programmer
|
||||
#$(FLASH_CMD) -U flash:w:$^:i
|
||||
$(FLASH_CMD) -U flash:v:$^:i
|
||||
|
||||
clean:
|
||||
$(RM_RF) $(DIRS_TARGET)
|
BIN
code/dac/sine_fifo_backplane/bin/mc.elf
Executable file
BIN
code/dac/sine_fifo_backplane/bin/mc.elf
Executable file
Binary file not shown.
140
code/dac/sine_fifo_backplane/bin/mc.hex
Normal file
140
code/dac/sine_fifo_backplane/bin/mc.hex
Normal file
|
@ -0,0 +1,140 @@
|
|||
:100000000C9481000C94A4000C94A4000C94A40003
|
||||
:100010000C94A4000C94A4000C94A4000C94A400D0
|
||||
:100020000C94A4000C94A4000C94A4000C94A400C0
|
||||
:100030000C94A4000C94A4000C94A4000C94A400B0
|
||||
:100040000C94A4000C94A4000C94A4000C94A400A0
|
||||
:100050000C94A4000C94A4000C94A4000C94A40090
|
||||
:100060000C94A4000C94A4000C94A4000C94A40080
|
||||
:100070000C94A4000C94A4000C94A4000C94A40070
|
||||
:100080000C94A4000C94A4000C94A4000C94A40060
|
||||
:100090000C94A4000C94A4000C94A4000C94A40050
|
||||
:1000A0000C94A4000C94A4000C94A4000C94A40040
|
||||
:1000B0000C94A4000C94A4000C94A4000C94A40030
|
||||
:1000C0000C94A4000C94A4000C94A4000C94A40020
|
||||
:1000D0000C94A4000C94A4000C94A4000C94A40010
|
||||
:1000E0000C94A40005A84CCDB2D44EB93836A90260
|
||||
:1000F0000C50B9918688083CA6AAAA2ABE00000026
|
||||
:10010000803F11241FBECFEFD1E2DEBFCDBF00E0A4
|
||||
:100110000CBF84B78093000314BE0FB6F894A89563
|
||||
:1001200080916000886180936000109260000FBE33
|
||||
:1001300023E0A0E0B2E001C01D92A030B207E1F7D9
|
||||
:100140000E9409010C9450040C9400008093080153
|
||||
:100150000895A8E0B1E08C938FEF80BBEBE0F1E075
|
||||
:1001600080818D7F808361BB80818F7E808385E0ED
|
||||
:100170008A95F1F700008081806180831C928081E4
|
||||
:100180008260808311BA0895A8E0B1E08C9310BA20
|
||||
:1001900011BAEBE0F1E080818B7F808380818F7EDC
|
||||
:1001A000808385E08A95F1F700008FB1908190619E
|
||||
:1001B00090831C929081946090839FEF90BB11BAC2
|
||||
:1001C00095E09A95F1F7000008950F931F93CF9350
|
||||
:1001D00000E012E0C0E0F80161918F018C2F817086
|
||||
:1001E0000E94A900CF5FCF3FB1F760E080E00E949E
|
||||
:1001F000A90060E081E00E94A9008FE39CE90197DB
|
||||
:10020000F1F700C0000090E080E0CF911F910F91C6
|
||||
:10021000089500D000D0CDB7DEB7F8948FEF80BB43
|
||||
:100220008093070180930A0111BA1092080110927D
|
||||
:100230000B0180910B01826080930B0180910B0177
|
||||
:10024000846080930B0180910B01806180930B018E
|
||||
:1002500080910B01816080930B018FE891E0019701
|
||||
:10026000F1F700C0000080910B018E7F80930B019D
|
||||
:1002700000E012E01E821D82AD81BE81CD01B0E0A2
|
||||
:10028000A0E089839A83AB83BC83BC01CD010E942B
|
||||
:10029000C50220E030E04FE753E469837A838B8323
|
||||
:1002A0009C8369817A818B819C810E941D0228ED4B
|
||||
:1002B0003FE049EC50E469837A838B839C836981B6
|
||||
:1002C0007A818B819C810E94530369837A838B831B
|
||||
:1002D0009C8369817A818B819C810E94C00320E08C
|
||||
:1002E00030E04FEF52E469837A838B839C8369818A
|
||||
:1002F0007A818B819C810E94530320E030E04FEF94
|
||||
:1003000052E469837A838B839C8369817A818B81B0
|
||||
:100310009C810E94B10169837A838B839C8369816C
|
||||
:100320007A818B819C810E948F02F80161938F01F9
|
||||
:100330008D819E8101969E838D838115914009F068
|
||||
:100340009BCF789488E19EE00FB6F894A8958093AF
|
||||
:1003500060000FBE90936000A8950E94E500FCCF5E
|
||||
:100360005058BB27AA270E94C8010C9419030E9469
|
||||
:100370000B0338F00E94120320F039F49F3F19F468
|
||||
:1003800026F40C9408030EF4E095E7FB0C940203AA
|
||||
:10039000E92F0E942A0358F3BA17620773078407EC
|
||||
:1003A000950720F079F4A6F50C944C030EF4E09533
|
||||
:1003B0000B2EBA2FA02D0B01B90190010C01CA011F
|
||||
:1003C000A0011124FF27591B99F0593F50F4503ECA
|
||||
:1003D00068F11A16F040A22F232F342F4427585FBC
|
||||
:1003E000F3CF469537952795A795F0405395C9F7D4
|
||||
:1003F0007EF41F16BA0B620B730B840BBAF091508C
|
||||
:10040000A1F0FF0FBB1F661F771F881FC2F70EC02A
|
||||
:10041000BA0F621F731F841F48F4879577956795FD
|
||||
:10042000B795F7959E3F08F0B0CF9395880F08F0E9
|
||||
:100430009927EE0F9795879508950E9431020C94A5
|
||||
:1004400019030E94120358F00E940B0340F029F494
|
||||
:100450005F3F29F00C94020351110C944D030C944E
|
||||
:1004600008030E942A0368F39923B1F3552391F3FB
|
||||
:10047000951B550BBB27AA2762177307840738F013
|
||||
:100480009F5F5F4F220F331F441FAA1FA9F335D070
|
||||
:100490000E2E3AF0E0E832D091505040E695001C24
|
||||
:1004A000CAF72BD0FE2F29D0660F771F881FBB1FDE
|
||||
:1004B000261737074807AB07B0E809F0BB0B802DBC
|
||||
:1004C000BF01FF2793585F4F3AF09E3F510578F0E8
|
||||
:1004D0000C9402030C944D035F3FE4F3983ED4F375
|
||||
:1004E000869577956795B795F7959F5FC9F7880FBC
|
||||
:1004F000911D9695879597F90895E1E0660F771F0E
|
||||
:10050000881FBB1F621773078407BA0720F0621B9E
|
||||
:10051000730B840BBA0BEE1F88F7E09508950E94C9
|
||||
:1005200096026894B1110C944D0308950E94320311
|
||||
:1005300088F09F5798F0B92F9927B751B0F0E1F0A4
|
||||
:10054000660F771F881F991F1AF0BA95C9F714C054
|
||||
:10055000B13091F00E944C03B1E008950C944C032B
|
||||
:10056000672F782F8827B85F39F0B93FCCF386958D
|
||||
:1005700077956795B395D9F73EF4909580957095EA
|
||||
:1005800061957F4F8F4F9F4F0895E89409C097FB67
|
||||
:100590003EF490958095709561957F4F8F4F9F4F5A
|
||||
:1005A0009923A9F0F92F96E9BB279395F69587959E
|
||||
:1005B00077956795B795F111F8CFFAF4BB0F11F461
|
||||
:1005C00060FF1BC06F5F7F4F8F4F9F4F16C0882308
|
||||
:1005D00011F096E911C0772321F09EE8872F762F3E
|
||||
:1005E00005C0662371F096E8862F70E060E02AF07F
|
||||
:1005F0009A95660F771F881FDAF7880F969587956B
|
||||
:1006000097F9089597F99F6780E870E060E0089592
|
||||
:100610009FEF80EC089500240A941616170618061A
|
||||
:100620000906089500240A941216130614060506F6
|
||||
:100630000895092E0394000C11F4882352F0BB0F87
|
||||
:1006400040F4BF2B11F460FF04C06F5F7F4F8F4FEA
|
||||
:100650009F4F089557FD9058440F551F59F05F3F25
|
||||
:1006600071F04795880F97FB991F61F09F3F79F0D4
|
||||
:1006700087950895121613061406551FF2CF469556
|
||||
:10068000F1DF08C0161617061806991FF1CF8695D8
|
||||
:100690007105610508940895E894BB2766277727BC
|
||||
:1006A000CB0197F908950E9466030C9419030E94E8
|
||||
:1006B0000B0338F00E94120320F0952311F00C94E4
|
||||
:1006C00002030C94080311240C944D030E942A0386
|
||||
:1006D00070F3959FC1F3950F50E0551F629FF00195
|
||||
:1006E000729FBB27F00DB11D639FAA27F00DB11DAE
|
||||
:1006F000AA1F649F6627B00DA11D661F829F222737
|
||||
:10070000B00DA11D621F739FB00DA11D621F839FBD
|
||||
:10071000A00D611D221F749F3327A00D611D231F93
|
||||
:10072000849F600D211D822F762F6A2F11249F57E1
|
||||
:1007300050409AF0F1F088234AF0EE0FFF1FBB1FE4
|
||||
:10074000661F771F881F91505040A9F79E3F5105A3
|
||||
:1007500080F00C9402030C944D035F3FE4F3983E49
|
||||
:10076000D4F3869577956795B795F795E7959F5F4D
|
||||
:10077000C1F7FE2B880F911D9695879597F90895DF
|
||||
:100780009F930E94CA030F9007FCEE5F0C94F30343
|
||||
:100790000C9408030E943203D8F3E894E0E0BB27EE
|
||||
:1007A0009F57F0F02AED3FE049EC06C0EE0FBB0F7B
|
||||
:1007B000661F771F881F28F0B23A62077307840705
|
||||
:1007C00028F0B25A620B730B840BE3959A9572F77B
|
||||
:1007D000803830F49A95BB0F661F771F881FD2F7B9
|
||||
:1007E00090480C940904EF93E0FF07C0A2EA2AEDB9
|
||||
:1007F0003FE049EC5FEB0E94C8010E9419030F9093
|
||||
:10080000039401FC9058E4EEF0E00C9415049F3F33
|
||||
:1008100031F0915020F4879577956795B795880FBB
|
||||
:10082000911D9695879597F908959F938F937F9340
|
||||
:100830006F93FF93EF939B01AC010E945303EF91E1
|
||||
:10084000FF910E9429042F913F914F915F910C9449
|
||||
:100850005303DF93CF931F930F93FF92EF92DF9297
|
||||
:100860007B018C01689406C0DA2EEF010E946603BA
|
||||
:10087000FE01E894A5912591359145915591A6F3F6
|
||||
:10088000EF010E94C801FE019701A801DA9469F7FF
|
||||
:10089000DF90EF90FF900F911F91CF91DF9108951E
|
||||
:0408A000F894FFCFFA
|
||||
:00000001FF
|
BIN
code/dac/sine_fifo_backplane/build/main.o
Normal file
BIN
code/dac/sine_fifo_backplane/build/main.o
Normal file
Binary file not shown.
153
code/dac/sine_fifo_backplane/src/main.c
Normal file
153
code/dac/sine_fifo_backplane/src/main.c
Normal file
|
@ -0,0 +1,153 @@
|
|||
/* Copyright © 2020 tyrolyean
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define F_CPU 16000000UL
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <avr/wdt.h>
|
||||
#include <util/delay.h>
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
#define BUS_HOLD_US 1
|
||||
|
||||
/* Shift values inside the PORTK Register */
|
||||
#define WR_SHIFT 1
|
||||
#define RD_SHIFT 2
|
||||
#define MR_SHIFT 0
|
||||
#define CS_SHIFT 4
|
||||
|
||||
|
||||
uint8_t mcusr_mirror __attribute__ ((section (".noinit")));
|
||||
void get_mcusr(void) \
|
||||
__attribute__((naked)) \
|
||||
__attribute__((section(".init3")));
|
||||
|
||||
void get_mcusr(void)
|
||||
{
|
||||
mcusr_mirror = MCUSR;
|
||||
MCUSR = 0;
|
||||
wdt_disable();
|
||||
}
|
||||
|
||||
void set_addr(uint8_t addr){
|
||||
|
||||
PORTK = addr;
|
||||
return;
|
||||
}
|
||||
|
||||
uint8_t sine_table[256];
|
||||
|
||||
|
||||
void write_to_dac(uint8_t addr, uint8_t data){
|
||||
|
||||
|
||||
set_addr(addr);
|
||||
DDRF = 0xFF;
|
||||
PORTL &= ~(1<<WR_SHIFT);
|
||||
PORTF = data;
|
||||
PORTL &= ~(1<<CS_SHIFT);
|
||||
|
||||
_delay_us(BUS_HOLD_US); /*Wait for the data and signal lanes to become stable*/
|
||||
|
||||
PORTL |= 1<<CS_SHIFT;
|
||||
set_addr(0x00);
|
||||
PORTL |= 1<<WR_SHIFT;
|
||||
PORTF = 0x00;
|
||||
return;
|
||||
}
|
||||
|
||||
uint8_t read_from_dac(uint8_t addr){
|
||||
|
||||
uint8_t data = 0x00;
|
||||
|
||||
set_addr(addr);
|
||||
DDRF = 0x00;
|
||||
PORTF = 0x00;
|
||||
PORTL &= ~(1<<RD_SHIFT);
|
||||
PORTL &= ~(1<<CS_SHIFT);
|
||||
|
||||
_delay_us(BUS_HOLD_US); /* Wait for the data and signal lanes to become stable*/
|
||||
data = PINF;
|
||||
PORTL |= 1<<CS_SHIFT;
|
||||
set_addr(0x00);
|
||||
PORTL |= 1<<RD_SHIFT;
|
||||
DDRF = 0xFF;
|
||||
PORTF = 0x00;
|
||||
_delay_us(BUS_HOLD_US); /*Wait for the data and signal lanes to become stable*/
|
||||
return data;
|
||||
}
|
||||
|
||||
int routine();
|
||||
int main(){
|
||||
|
||||
/* Disable interrupts during initialisation phase */
|
||||
cli();
|
||||
|
||||
/* Setup Data Direction Registers and populate with sane default
|
||||
values */
|
||||
DDRF = 0xFF; /* Data Bus */
|
||||
DDRK = 0xFF; /* Address Bus */
|
||||
DDRL = 0xFF; /* Control Bus */
|
||||
PORTF = 0x00;
|
||||
PORTK = 0x00;
|
||||
PORTL = 0x00;
|
||||
|
||||
/* Cleanly reset the dac uart */
|
||||
PORTL |= (1<<WR_SHIFT);
|
||||
PORTL |= (1<<RD_SHIFT);
|
||||
PORTL |= (1<<CS_SHIFT);
|
||||
PORTL |= (1<<MR_SHIFT);
|
||||
_delay_us(100);
|
||||
PORTL &= ~(1<<MR_SHIFT);
|
||||
|
||||
/* Generate sine table */
|
||||
uint8_t sine_table[256];
|
||||
for(size_t i = 0; i < 256; i++){
|
||||
sine_table[i] = 0xFF&((int)((sin(i/((double)255)*(3.141592*2))*
|
||||
127.5+127.5)));
|
||||
}
|
||||
|
||||
sei();
|
||||
/* Enable the hardware watchdog. In case the microcontroller fails to
|
||||
* finish it's task within the specified time, the watchdog will reset
|
||||
* the atmel cookie.
|
||||
*/
|
||||
wdt_enable(WDTO_1S);
|
||||
|
||||
while(1){
|
||||
wdt_reset();
|
||||
if(routine() < 0){
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int routine(){
|
||||
|
||||
for(uint8_t i = 0; i < 0xFF; i++){
|
||||
write_to_dac(i%2, sine_table[i]);
|
||||
}
|
||||
|
||||
write_to_dac(0x00, 0x00);
|
||||
write_to_dac(0x01, 0x00);
|
||||
|
||||
_delay_ms(10);
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -59,8 +59,12 @@ uint8_t read_from_dac(uint8_t addr){
|
|||
}
|
||||
|
||||
void feed_dac(){
|
||||
/* Internal counter for positioning inside the array */
|
||||
/* Internal counter for positioning inside the currently playing
|
||||
* waveform */
|
||||
static uint8_t threash = 0x00;
|
||||
/* Used to generate the desired frequency offset if the waveform should
|
||||
* be made "longer" --> the frequency made lower from baseline
|
||||
*/
|
||||
static int16_t freq_delay_cnt = 0x00;
|
||||
switch(dac_mode){
|
||||
|
||||
|
@ -74,8 +78,7 @@ void feed_dac(){
|
|||
|
||||
case DAC_MODE_SINE:
|
||||
/* Generates a sine from a predetermined sine table in program
|
||||
* space
|
||||
*/
|
||||
* space */
|
||||
for(uint8_t i = 0; i < (0xFF/2); i++){
|
||||
write_to_dac(1,
|
||||
pgm_read_byte(&sine_table[threash]));
|
||||
|
|
|
@ -216,7 +216,9 @@ const struct tone_t intro_track[] PROGMEM =
|
|||
const struct tone_t *current_track = NULL;
|
||||
|
||||
/* Loops a track indefinitely and changes voices according to predefined tables.
|
||||
* A new track resets the internal state. A voice with a length of 0ms */
|
||||
* A new track resets the internal state. A voice with a length of 0ms is used
|
||||
* to mark the end of a track and continue at the beginning
|
||||
*/
|
||||
void update_sound(){
|
||||
|
||||
static uint16_t audio_time = 0;
|
||||
|
@ -246,13 +248,11 @@ void update_sound(){
|
|||
memcpy_P(¤t_tone,&(current_track[tone_pointer]),
|
||||
sizeof(current_tone));
|
||||
|
||||
|
||||
}
|
||||
|
||||
dac_mode = current_tone.waveform;
|
||||
dac_frequency_deviation = current_tone.frequency_deviation;
|
||||
|
||||
|
||||
audio_time = 0x00;
|
||||
tone_pointer++;
|
||||
|
||||
|
|
21
code/textadv/texput.log
Normal file
21
code/textadv/texput.log
Normal file
|
@ -0,0 +1,21 @@
|
|||
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2020.3.10) 22 MAR 2020 23:57
|
||||
entering extended mode
|
||||
\write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
**main.texx
|
||||
|
||||
! Emergency stop.
|
||||
<*> main.texx
|
||||
|
||||
End of file on the terminal!
|
||||
|
||||
|
||||
Here is how much of TeX's memory you used:
|
||||
3 strings out of 492483
|
||||
19 string characters out of 6134979
|
||||
66274 words of memory out of 5000000
|
||||
4587 multiletter control sequences out of 15000+600000
|
||||
3640 words of font info for 14 fonts, out of 8000000 for 9000
|
||||
1348 hyphenation exceptions out of 8191
|
||||
0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
No pages of output.
|
58581
documents/mst1/atmel_2560.pdf
Normal file
58581
documents/mst1/atmel_2560.pdf
Normal file
File diff suppressed because one or more lines are too long
BIN
documents/mst1/ek-vt100-tm-002.pdf
Normal file
BIN
documents/mst1/ek-vt100-tm-002.pdf
Normal file
Binary file not shown.
BIN
documents/mst1/rfc20.pdf
Normal file
BIN
documents/mst1/rfc20.pdf
Normal file
Binary file not shown.
232
main.aux
232
main.aux
|
@ -31,16 +31,16 @@
|
|||
\@writefile{toc}{\contentsline {section}{Kurzfassung/Abstract}{ii}{Doc-Start}\protected@file@percent }
|
||||
\babel@aux{ngerman}{}
|
||||
\babel@aux{ngerman}{}
|
||||
\@writefile{toc}{\contentsline {section}{Projektergebnis}{iii}{Doc-Start}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{Result}{iii}{Doc-Start}\protected@file@percent }
|
||||
\babel@aux{english}{}
|
||||
\HyPL@Entry{4<</S/D>>}
|
||||
\HyPL@Entry{6<</S/D>>}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Task description}{1}{section.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Hardware}{1}{subsection.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Hardware peripherials}{2}{section.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Parallel bus}{2}{subsection.2.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Atari PBI Pinout;Source: \url {https://www.atarimagazines.com}\relax }}{2}{figure.caption.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {i}{\ignorespaces Atari PBI Pinout;Source: \url {https://www.atarimagazines.com}\relax }}{2}{figure.caption.1}\protected@file@percent }
|
||||
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
|
||||
\newlabel{fig:atari_pbi}{{1}{2}{Atari PBI Pinout;Source: \url {https://www.atarimagazines.com}\relax }{figure.caption.1}{}}
|
||||
\newlabel{fig:atari_pbi}{{i}{2}{Atari PBI Pinout;Source: \url {https://www.atarimagazines.com}\relax }{figure.caption.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Address Bus}{2}{subsubsection.2.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Data Bus}{3}{subsection.2.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Control Bus}{3}{subsection.2.3}\protected@file@percent }
|
||||
|
@ -48,20 +48,24 @@
|
|||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Write Not}{3}{subsubsection.2.3.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}Read Not}{3}{subsubsection.2.3.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.4}Module Select 1 and 2 Not}{3}{subsubsection.2.3.4}\protected@file@percent }
|
||||
\abx@aux@cite{ad2}
|
||||
\abx@aux@segm{0}{0}{ad2}
|
||||
\abx@aux@cite{atmega2560}
|
||||
\abx@aux@segm{0}{0}{atmega2560}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Testing and Measurement}{4}{subsection.2.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.1}Measurements}{4}{subsubsection.2.4.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Digilent Analog Discovery 2;Source: \url {https://www.sparkfun.com/}\relax }}{4}{figure.caption.2}\protected@file@percent }
|
||||
\newlabel{fig:ad2}{{2}{4}{Digilent Analog Discovery 2;Source: \url {https://www.sparkfun.com/}\relax }{figure.caption.2}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {ii}{\ignorespaces Digilent Analog Discovery 2;Source: \url {https://www.sparkfun.com/}\relax }}{4}{figure.caption.2}\protected@file@percent }
|
||||
\newlabel{fig:ad2}{{ii}{4}{Digilent Analog Discovery 2;Source: \url {https://www.sparkfun.com/}\relax }{figure.caption.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.2}Testing}{4}{subsubsection.2.4.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Backplane}{5}{subsection.2.5}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Layout of the DIN41612 Connectors on the Backplane\relax }}{5}{figure.caption.3}\protected@file@percent }
|
||||
\newlabel{fig:schem_back_conn}{{3}{5}{Layout of the DIN41612 Connectors on the Backplane\relax }{figure.caption.3}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {iii}{\ignorespaces Layout of the DIN41612 Connectors on the Backplane\relax }}{5}{figure.caption.3}\protected@file@percent }
|
||||
\newlabel{fig:schem_back_conn}{{iii}{5}{Layout of the DIN41612 Connectors on the Backplane\relax }{figure.caption.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.1}Termination resistors}{5}{subsubsection.2.5.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Measurement at around 1MHz bus clock on MS1\relax }}{6}{figure.caption.4}\protected@file@percent }
|
||||
\newlabel{fig:reflex}{{4}{6}{Measurement at around 1MHz bus clock on MS1\relax }{figure.caption.4}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {iv}{\ignorespaces Measurement at around 1MHz bus clock on MS1\relax }}{6}{figure.caption.4}\protected@file@percent }
|
||||
\newlabel{fig:reflex}{{iv}{6}{Measurement at around 1MHz bus clock on MS1\relax }{figure.caption.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Case}{6}{subsection.2.6}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces The case with installed backplane\relax }}{7}{figure.caption.5}\protected@file@percent }
|
||||
\newlabel{fig:case}{{5}{7}{The case with installed backplane\relax }{figure.caption.5}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {v}{\ignorespaces The case with installed backplane\relax }}{7}{figure.caption.5}\protected@file@percent }
|
||||
\newlabel{fig:case}{{v}{7}{The case with installed backplane\relax }{figure.caption.5}{}}
|
||||
\abx@aux@cite{pc16550}
|
||||
\abx@aux@segm{0}{0}{pc16550}
|
||||
\abx@aux@cite{pc16550}
|
||||
|
@ -70,8 +74,8 @@
|
|||
\abx@aux@segm{0}{0}{max232}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.7}Serial Console}{8}{subsection.2.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.1}16550 UART}{8}{subsubsection.2.7.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces PC-16550D Pinout\cite {pc16550}\relax }}{8}{figure.caption.6}\protected@file@percent }
|
||||
\newlabel{fig:16550_pinout}{{6}{8}{PC-16550D Pinout\cite {pc16550}\relax }{figure.caption.6}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {vi}{\ignorespaces PC-16550D Pinout\cite {pc16550}\relax }}{8}{figure.caption.6}\protected@file@percent }
|
||||
\newlabel{fig:16550_pinout}{{vi}{8}{PC-16550D Pinout\cite {pc16550}\relax }{figure.caption.6}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.2}MAX-232}{9}{subsubsection.2.7.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.3}Schematics}{9}{subsubsection.2.7.3}\protected@file@percent }
|
||||
\abx@aux@cite{pc16550}
|
||||
|
@ -80,42 +84,192 @@
|
|||
\abx@aux@segm{0}{0}{pc16550}
|
||||
\abx@aux@cite{max232}
|
||||
\abx@aux@segm{0}{0}{max232}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces The schematic of the UART Module\relax }}{10}{figure.caption.7}\protected@file@percent }
|
||||
\newlabel{fig:schem_uart}{{7}{10}{The schematic of the UART Module\relax }{figure.caption.7}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {vii}{\ignorespaces The schematic of the UART Module\relax }}{10}{figure.caption.7}\protected@file@percent }
|
||||
\newlabel{fig:schem_uart}{{vii}{10}{The schematic of the UART Module\relax }{figure.caption.7}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Element Description}{11}{figure.caption.7}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Measurement of the 1.8432 MHz Output on J1\relax }}{11}{figure.caption.8}\protected@file@percent }
|
||||
\newlabel{fig:uartquartz}{{8}{11}{Measurement of the 1.8432 MHz Output on J1\relax }{figure.caption.8}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Measurement of a character transmission before and after MAX-232\relax }}{12}{figure.caption.9}\protected@file@percent }
|
||||
\newlabel{fig:uart232}{{9}{12}{Measurement of a character transmission before and after MAX-232\relax }{figure.caption.9}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Pinout of the RJ-45 Plug; Src: \url {https://www.wti.com/}\relax }}{12}{figure.caption.10}\protected@file@percent }
|
||||
\newlabel{fig:rs232rj45}{{10}{12}{Pinout of the RJ-45 Plug; Src: \url {https://www.wti.com/}\relax }{figure.caption.10}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {viii}{\ignorespaces Measurement of the 1.8432 MHz Output on J1\relax }}{11}{figure.caption.8}\protected@file@percent }
|
||||
\newlabel{fig:uartquartz}{{viii}{11}{Measurement of the 1.8432 MHz Output on J1\relax }{figure.caption.8}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {ix}{\ignorespaces Measurement of a character transmission before and after MAX-232\relax }}{12}{figure.caption.9}\protected@file@percent }
|
||||
\newlabel{fig:uart232}{{ix}{12}{Measurement of a character transmission before and after MAX-232\relax }{figure.caption.9}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {x}{\ignorespaces Pinout of the RJ-45 Plug; Src: \url {https://www.wti.com/}\relax }}{12}{figure.caption.10}\protected@file@percent }
|
||||
\newlabel{fig:rs232rj45}{{x}{12}{Pinout of the RJ-45 Plug; Src: \url {https://www.wti.com/}\relax }{figure.caption.10}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.7.4}Demonstration Software}{13}{subsubsection.2.7.4}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Measurement of a character echo\relax }}{13}{figure.caption.11}\protected@file@percent }
|
||||
\newlabel{fig:232_echo}{{11}{13}{Measurement of a character echo\relax }{figure.caption.11}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xi}{\ignorespaces Measurement of a character echo\relax }}{13}{figure.caption.11}\protected@file@percent }
|
||||
\newlabel{fig:232_echo}{{xi}{13}{Measurement of a character echo\relax }{figure.caption.11}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Transmit code}{13}{figure.caption.11}\protected@file@percent }
|
||||
\newlabel{lst:16550-general}{{1}{13}{Read and write routines for the 16550 UART}{lstlisting.1}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Read and write routines for the 16550 UART}{13}{lstlisting.1}\protected@file@percent }
|
||||
\newlabel{lst:16550-general}{{I}{13}{Read and write routines for the 16550 UART}{lstlisting.1}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {I}Read and write routines for the 16550 UART}{13}{lstlisting.1}\protected@file@percent }
|
||||
\abx@aux@cite{pc16550}
|
||||
\abx@aux@segm{0}{0}{pc16550}
|
||||
\newlabel{lst:16550-transmit}{{2}{15}{16550 INIT routines and single char transmission}{lstlisting.2}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}16550 INIT routines and single char transmission}{15}{lstlisting.2}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces Transmission of character A via the 16550 UART\relax }}{16}{figure.caption.12}\protected@file@percent }
|
||||
\newlabel{fig:16550A}{{12}{16}{Transmission of character A via the 16550 UART\relax }{figure.caption.12}{}}
|
||||
\newlabel{lst:16550-transmit}{{II}{15}{16550 INIT routines and single char transmission}{lstlisting.2}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {II}16550 INIT routines and single char transmission}{15}{lstlisting.2}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xii}{\ignorespaces Transmission of character A via the 16550 UART\relax }}{16}{figure.caption.12}\protected@file@percent }
|
||||
\newlabel{fig:16550A}{{xii}{16}{Transmission of character A via the 16550 UART\relax }{figure.caption.12}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Echo code}{16}{figure.caption.12}\protected@file@percent }
|
||||
\newlabel{lst:16550-echo}{{3}{16}{16550 character echo}{lstlisting.3}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}16550 character echo}{16}{lstlisting.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Textadventure}{17}{section.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}General Implementation details}{18}{subsection.3.1}\protected@file@percent }
|
||||
\newlabel{lst:textadv-avr.h}{{4}{18}{The avr.h header file}{lstlisting.4}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}The avr.h header file}{18}{lstlisting.4}\protected@file@percent }
|
||||
\newlabel{lst:16550-echo}{{III}{16}{16550 character echo}{lstlisting.3}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {III}16550 character echo}{16}{lstlisting.3}\protected@file@percent }
|
||||
\abx@aux@cite{tlc7528}
|
||||
\abx@aux@segm{0}{0}{tlc7528}
|
||||
\abx@aux@cite{tlc7528}
|
||||
\abx@aux@segm{0}{0}{tlc7528}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8}Audio Digital-Analog-Converter}{17}{subsection.2.8}\protected@file@percent }
|
||||
\abx@aux@cite{tlc7528}
|
||||
\abx@aux@segm{0}{0}{tlc7528}
|
||||
\abx@aux@cite{tlc7528}
|
||||
\abx@aux@segm{0}{0}{tlc7528}
|
||||
\abx@aux@cite{idt7201}
|
||||
\abx@aux@segm{0}{0}{idt7201}
|
||||
\abx@aux@cite{idt7201}
|
||||
\abx@aux@segm{0}{0}{idt7201}
|
||||
\abx@aux@cite{idt7201}
|
||||
\abx@aux@segm{0}{0}{idt7201}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.8.1}TLC 7528 Dual R2R Ladder DAC}{18}{subsubsection.2.8.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xiii}{\ignorespaces TLC-7528 Pinout\cite {tlc7528}\relax }}{18}{figure.caption.13}\protected@file@percent }
|
||||
\newlabel{fig:tlc7528_pinout}{{xiii}{18}{TLC-7528 Pinout\cite {tlc7528}\relax }{figure.caption.13}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.8.2}IDT7201 CMOS FIFO Buffer}{18}{subsubsection.2.8.2}\protected@file@percent }
|
||||
\abx@aux@cite{tlc7528}
|
||||
\abx@aux@segm{0}{0}{tlc7528}
|
||||
\abx@aux@cite{tlc7528}
|
||||
\abx@aux@segm{0}{0}{tlc7528}
|
||||
\abx@aux@cite{tlc7528}
|
||||
\abx@aux@segm{0}{0}{tlc7528}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xiv}{\ignorespaces IDT-7201 Pinout\cite {idt7201}\relax }}{19}{figure.caption.14}\protected@file@percent }
|
||||
\newlabel{fig:idt7201_pinout}{{xiv}{19}{IDT-7201 Pinout\cite {idt7201}\relax }{figure.caption.14}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.8.3}Theory verfication}{19}{subsubsection.2.8.3}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xv}{\ignorespaces TLC-7528 in voltage modet\cite {tlc7528}\relax }}{20}{figure.caption.15}\protected@file@percent }
|
||||
\newlabel{fig:tlc7528_volt}{{xv}{20}{TLC-7528 in voltage modet\cite {tlc7528}\relax }{figure.caption.15}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xvi}{\ignorespaces Measurement of a generated SAW signal via the TLC7528\relax }}{20}{figure.caption.16}\protected@file@percent }
|
||||
\newlabel{fig:tlc7528_saw_nonlin}{{xvi}{20}{Measurement of a generated SAW signal via the TLC7528\relax }{figure.caption.16}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.8.4}Schematics}{20}{subsubsection.2.8.4}\protected@file@percent }
|
||||
\abx@aux@cite{74hc374}
|
||||
\abx@aux@segm{0}{0}{74hc374}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xvii}{\ignorespaces The schematic of the DAC Module\relax }}{21}{figure.caption.17}\protected@file@percent }
|
||||
\newlabel{fig:schem_dac}{{xvii}{21}{The schematic of the DAC Module\relax }{figure.caption.17}{}}
|
||||
\abx@aux@cite{74hc00}
|
||||
\abx@aux@segm{0}{0}{74hc00}
|
||||
\abx@aux@cite{iec60908}
|
||||
\abx@aux@segm{0}{0}{iec60908}
|
||||
\abx@aux@cite{audiob}
|
||||
\abx@aux@segm{0}{0}{audiob}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Element Description}{22}{figure.caption.17}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {paragraph}{NE55 Clock Source}{22}{figure.caption.17}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.8.5}Demonstration Software}{23}{subsubsection.2.8.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {paragraph}{SAW Generator}{23}{subsubsection.2.8.5}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xviii}{\ignorespaces Measurement of a generated SAW signal with the FIFO Empty flag\relax }}{23}{figure.caption.18}\protected@file@percent }
|
||||
\newlabel{fig:tlc7528_saw_fifo}{{xviii}{23}{Measurement of a generated SAW signal with the FIFO Empty flag\relax }{figure.caption.18}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xix}{\ignorespaces A transmission between the FIFO and the DAC\relax }}{24}{figure.caption.19}\protected@file@percent }
|
||||
\newlabel{fig:fifo_dac}{{xix}{24}{A transmission between the FIFO and the DAC\relax }{figure.caption.19}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xx}{\ignorespaces A fifo store operation in contrast to the load operation\relax }}{24}{figure.caption.20}\protected@file@percent }
|
||||
\newlabel{fig:fifo_dac_store}{{xx}{24}{A fifo store operation in contrast to the load operation\relax }{figure.caption.20}{}}
|
||||
\newlabel{lst:dac_saw}{{IV}{24}{SAW Generation for the DAC with FIFO}{lstlisting.4}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {IV}SAW Generation for the DAC with FIFO}{24}{lstlisting.4}\protected@file@percent }
|
||||
\abx@aux@cite{atmega2560}
|
||||
\abx@aux@segm{0}{0}{atmega2560}
|
||||
\@writefile{toc}{\contentsline {paragraph}{Sine Generator}{25}{lstnumber.4.11}\protected@file@percent }
|
||||
\newlabel{lst:dac_sine_lut}{{V}{25}{Sine LUT Generation}{lstlisting.5}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {V}Sine LUT Generation}{25}{lstlisting.5}\protected@file@percent }
|
||||
\newlabel{lst:dac_sine}{{VI}{25}{DAC Sine Generation}{lstlisting.6}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {VI}DAC Sine Generation}{25}{lstlisting.6}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxi}{\ignorespaces Storage and retrieval of a sine to and from the FIFO\relax }}{26}{figure.caption.21}\protected@file@percent }
|
||||
\newlabel{fig:fifo_sine_store}{{xxi}{26}{Storage and retrieval of a sine to and from the FIFO\relax }{figure.caption.21}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxii}{\ignorespaces Measuremet of the generated sine from the sine LUT on DACA and DACB\relax }}{26}{figure.caption.22}\protected@file@percent }
|
||||
\newlabel{fig:sine_dacab}{{xxii}{26}{Measuremet of the generated sine from the sine LUT on DACA and DACB\relax }{figure.caption.22}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Addressing DACA and DACB}{26}{section.3}\protected@file@percent }
|
||||
\abx@aux@cite{lvlshift}
|
||||
\abx@aux@segm{0}{0}{lvlshift}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}FPGA to Hardware interface}{27}{subsection.3.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxiii}{\ignorespaces 3.3V to 5V conversion using the level shifter\relax }}{27}{figure.caption.23}\protected@file@percent }
|
||||
\newlabel{fig:3v35v}{{xxiii}{27}{3.3V to 5V conversion using the level shifter\relax }{figure.caption.23}{}}
|
||||
\abx@aux@cite{lvlshift}
|
||||
\abx@aux@segm{0}{0}{lvlshift}
|
||||
\abx@aux@cite{lvlshift}
|
||||
\abx@aux@segm{0}{0}{lvlshift}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxiv}{\ignorespaces 5V to 3.3V conversion using the level shifter\relax }}{28}{figure.caption.24}\protected@file@percent }
|
||||
\newlabel{fig:5v3v3}{{xxiv}{28}{5V to 3.3V conversion using the level shifter\relax }{figure.caption.24}{}}
|
||||
\abx@aux@cite{DB3S406F0L}
|
||||
\abx@aux@segm{0}{0}{DB3S406F0L}
|
||||
\abx@aux@cite{ad2}
|
||||
\abx@aux@segm{0}{0}{ad2}
|
||||
\abx@aux@cite{ad2}
|
||||
\abx@aux@segm{0}{0}{ad2}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxv}{\ignorespaces The internal schematics of the level shifter\cite {lvlshift}\relax }}{29}{figure.caption.25}\protected@file@percent }
|
||||
\newlabel{fig:schem_lvlshift}{{xxv}{29}{The internal schematics of the level shifter\cite {lvlshift}\relax }{figure.caption.25}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Measurement error}{29}{subsubsection.3.1.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxvi}{\ignorespaces The internal clamping diodes of the Analog Discovery 2\cite {ad2}\relax }}{30}{figure.caption.26}\protected@file@percent }
|
||||
\newlabel{fig:ad2_diode}{{xxvi}{30}{The internal clamping diodes of the Analog Discovery 2\cite {ad2}\relax }{figure.caption.26}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Textadventure}{30}{section.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}General Implementation details}{30}{subsection.4.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}General definitions and pinout of the AVR}{30}{subsubsection.4.1.1}\protected@file@percent }
|
||||
\newlabel{lst:textadv-avr.h}{{VII}{30}{The avr.h header file}{lstlisting.7}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {VII}The avr.h header file}{30}{lstlisting.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Read and Write routines}{32}{subsubsection.4.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3}UART and DAC update polling}{32}{subsubsection.4.1.3}\protected@file@percent }
|
||||
\newlabel{lst:textadv-routine}{{VIII}{32}{The routine function looped by the main}{lstlisting.8}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {VIII}The routine function looped by the main}{32}{lstlisting.8}\protected@file@percent }
|
||||
\newlabel{lst:textadv-routine-uart}{{IX}{32}{The routine function for the UART}{lstlisting.9}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {IX}The routine function for the UART}{32}{lstlisting.9}\protected@file@percent }
|
||||
\abx@aux@cite{atmega2560}
|
||||
\abx@aux@segm{0}{0}{atmega2560}
|
||||
\newlabel{lst:textadv-routine-dac}{{X}{33}{The routine function for the DAC}{lstlisting.10}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {X}The routine function for the DAC}{33}{lstlisting.10}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}DAC sound generation}{33}{subsection.4.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}DAC modes}{33}{subsubsection.4.2.1}\protected@file@percent }
|
||||
\newlabel{lst:textadv-dac-modes}{{XI}{34}{The DAC operation modes}{lstlisting.11}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XI}The DAC operation modes}{34}{lstlisting.11}\protected@file@percent }
|
||||
\newlabel{lst:textadv-dac-gen}{{XII}{34}{The DAC waveform generation code}{lstlisting.12}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XII}The DAC waveform generation code}{34}{lstlisting.12}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}Tones and Tracks}{37}{subsubsection.4.2.2}\protected@file@percent }
|
||||
\newlabel{lst:textadv-isr}{{XIII}{37}{The ISR which fires every millisecond}{lstlisting.13}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XIII}The ISR which fires every millisecond}{37}{lstlisting.13}\protected@file@percent }
|
||||
\newlabel{lst:textadv-upsnd}{{XIV}{38}{The sound update function}{lstlisting.14}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XIV}The sound update function}{38}{lstlisting.14}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxvii}{\ignorespaces The output of an example track part 1\relax }}{40}{figure.caption.27}\protected@file@percent }
|
||||
\newlabel{fig:textadv_track_ex1}{{xxvii}{40}{The output of an example track part 1\relax }{figure.caption.27}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {xxviii}{\ignorespaces The output of an example track part 2\relax }}{41}{figure.caption.28}\protected@file@percent }
|
||||
\newlabel{fig:textadv_track_ex2}{{xxviii}{41}{The output of an example track part 2\relax }{figure.caption.28}{}}
|
||||
\abx@aux@cite{dunnet}
|
||||
\abx@aux@segm{0}{0}{dunnet}
|
||||
\abx@aux@cite{ascii}
|
||||
\abx@aux@segm{0}{0}{ascii}
|
||||
\abx@aux@cite{vt100}
|
||||
\abx@aux@segm{0}{0}{vt100}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.3}Track switching}{42}{subsubsection.4.2.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}User command interpretation}{42}{subsection.4.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}Command structure and pasring}{42}{subsubsection.4.3.1}\protected@file@percent }
|
||||
\newlabel{lst:textadv-uart-recv}{{XV}{42}{The UART char receive code}{lstlisting.15}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XV}The UART char receive code}{42}{lstlisting.15}\protected@file@percent }
|
||||
\newlabel{lst:textadv-ingest}{{XVI}{42}{The character ingest function}{lstlisting.16}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XVI}The character ingest function}{42}{lstlisting.16}\protected@file@percent }
|
||||
\abx@aux@cite{ascii}
|
||||
\abx@aux@segm{0}{0}{ascii}
|
||||
\abx@aux@cite{vt100}
|
||||
\abx@aux@segm{0}{0}{vt100}
|
||||
\newlabel{lst:textadv-parsecmd}{{XVII}{43}{The command parsing function}{lstlisting.17}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XVII}The command parsing function}{43}{lstlisting.17}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Command parameters}{44}{subsubsection.4.3.2}\protected@file@percent }
|
||||
\newlabel{lst:textadv-perfact}{{XVIII}{44}{The command execution routine}{lstlisting.18}{}}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {XVIII}The command execution routine}{44}{lstlisting.18}\protected@file@percent }
|
||||
\babel@aux{ngerman}{}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Erkl"arung der Eigenst"andigkeit der Arbeit}{20}{section.4}\protected@file@percent }
|
||||
\HyPL@Entry{24<</S/R>>}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5}Erkl"arung der Eigenst"andigkeit der Arbeit}{46}{section.5}\protected@file@percent }
|
||||
\HyPL@Entry{52<</S/R>>}
|
||||
\babel@aux{english}{}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {I\tmspace +\thickmuskip {.2777em}}List of Figures}{I}{section.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {II\tmspace +\thickmuskip {.2777em}}List of Tables}{I}{section.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {III\tmspace +\thickmuskip {.2777em}}Listings}{I}{section.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{Anhang}{II}{section.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{Anhang}{IV}{section.3}\protected@file@percent }
|
||||
\abx@aux@refcontextdefaultsdone
|
||||
\abx@aux@defaultrefcontext{0}{ad2}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{atmega2560}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{pc16550}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{max232}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{tlc7528}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{idt7201}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{74hc374}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{74hc00}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{iec60908}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{audiob}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{lvlshift}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{DB3S406F0L}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{dunnet}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{ascii}{none/global//global/global}
|
||||
\abx@aux@defaultrefcontext{0}{vt100}{none/global//global/global}
|
||||
|
|
277
main.bbl
277
main.bbl
|
@ -19,12 +19,46 @@
|
|||
|
||||
\refsection{0}
|
||||
\datalist[entry]{none/global//global/global}
|
||||
\entry{ad2}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Digilent, Inc.}%
|
||||
}
|
||||
\field{sortinit}{1}
|
||||
\field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{9}
|
||||
\field{title}{Analog Discovery 2™ Reference Manual}
|
||||
\field{year}{2015}
|
||||
\verb{urlraw}
|
||||
\verb https://reference.digilentinc.com/_media/reference/instrumentation/analog-discovery-2/ad2_rm.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://reference.digilentinc.com/_media/reference/instrumentation/analog-discovery-2/ad2_rm.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{atmega2560}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Atmel Corporation}%
|
||||
}
|
||||
\field{sortinit}{2}
|
||||
\field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{2}
|
||||
\field{title}{Atmel ATmega640/V-1280/V-1281/V-2560/V-2561/V}
|
||||
\field{year}{2014}
|
||||
\verb{urlraw}
|
||||
\verb https://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{pc16550}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Texas Instruments Inc.}%
|
||||
}
|
||||
\field{sortinit}{1}
|
||||
\field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba}
|
||||
\field{sortinit}{3}
|
||||
\field{sortinithash}{a37a8ef248a93c322189792c34fc68c9}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{title}{PC16550D Universal Asynchronous Receiver/Transmitter With FIFOs}
|
||||
\field{year}{1995}
|
||||
|
@ -39,9 +73,10 @@
|
|||
\list{organization}{1}{%
|
||||
{Texas Instruments Inc.}%
|
||||
}
|
||||
\field{sortinit}{3}
|
||||
\field{sortinithash}{a37a8ef248a93c322189792c34fc68c9}
|
||||
\field{sortinit}{5}
|
||||
\field{sortinithash}{5dd416adbafacc8226114bc0202d5fdd}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{2}
|
||||
\field{title}{MAX232x Dual EIA-232 Drivers/Receivers}
|
||||
\field{year}{1989}
|
||||
\verb{urlraw}
|
||||
|
@ -51,6 +86,240 @@
|
|||
\verb https://www.ti.com/lit/ds/symlink/max232.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{tlc7528}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Texas Instruments Inc.}%
|
||||
}
|
||||
\field{sortinit}{1}
|
||||
\field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{title}{DUAL 8-BIT MUTLIPLYING DIGITAL-TO-ANALOG CONVERTERS}
|
||||
\field{year}{1987}
|
||||
\verb{urlraw}
|
||||
\verb https://www.ti.com/lit/ds/symlink/tlc7528.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://www.ti.com/lit/ds/symlink/tlc7528.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{idt7201}{manual}{}
|
||||
\name{author}{1}{}{%
|
||||
{{hash=3fd136290539037a6bf765ed8447308f}{%
|
||||
family={{Integrated Device Technology, Inc.}},
|
||||
familyi={I\bibinitperiod}}}%
|
||||
}
|
||||
\list{organization}{1}{%
|
||||
{RENESAS}%
|
||||
}
|
||||
\strng{namehash}{3fd136290539037a6bf765ed8447308f}
|
||||
\strng{fullhash}{3fd136290539037a6bf765ed8447308f}
|
||||
\strng{bibnamehash}{3fd136290539037a6bf765ed8447308f}
|
||||
\strng{authorbibnamehash}{3fd136290539037a6bf765ed8447308f}
|
||||
\strng{authornamehash}{3fd136290539037a6bf765ed8447308f}
|
||||
\strng{authorfullhash}{3fd136290539037a6bf765ed8447308f}
|
||||
\field{sortinit}{1}
|
||||
\field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba}
|
||||
\field{labelnamesource}{author}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{title}{CMOS ASYNCHRONOUS FIFO}
|
||||
\field{year}{2002}
|
||||
\verb{urlraw}
|
||||
\verb http://www.komponenten.es.aau.dk/fileadmin/komponenten/Data_Sheet/Memory/IDT7201.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb http://www.komponenten.es.aau.dk/fileadmin/komponenten/Data_Sheet/Memory/IDT7201.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{74hc374}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Texas Instruments Inc.}%
|
||||
}
|
||||
\field{sortinit}{2}
|
||||
\field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{2}
|
||||
\field{title}{High-Speed CMOS Logic Octal D-Type Flip-Flop, 3-State Positive-Edge Triggered}
|
||||
\field{year}{1998}
|
||||
\verb{urlraw}
|
||||
\verb https://www.ti.com/lit/ds/schs183c/schs183c.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://www.ti.com/lit/ds/schs183c/schs183c.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{74hc00}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Texas Instruments Inc.}%
|
||||
}
|
||||
\field{sortinit}{2}
|
||||
\field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{12}
|
||||
\field{title}{SNx4HC00 Quadruple 2-Input Positive-NAND Gates}
|
||||
\field{year}{1982}
|
||||
\verb{urlraw}
|
||||
\verb https://www.ti.com/lit/ds/symlink/sn74hc00.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://www.ti.com/lit/ds/symlink/sn74hc00.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{iec60908}{report}{}
|
||||
\list{institution}{1}{%
|
||||
{International Electrotechnical Commission}%
|
||||
}
|
||||
\field{sortinit}{2}
|
||||
\field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{9}
|
||||
\field{title}{Compact disc digital audio system}
|
||||
\field{type}{Standard}
|
||||
\field{volume}{1987}
|
||||
\field{year}{1987}
|
||||
\endentry
|
||||
\entry{audiob}{book}{}
|
||||
\name{author}{1}{}{%
|
||||
{{hash=5b6241a937e3e4b67f7d6ba3e7461374}{%
|
||||
family={Winer},
|
||||
familyi={W\bibinitperiod},
|
||||
given={Ethan},
|
||||
giveni={E\bibinitperiod}}}%
|
||||
}
|
||||
\list{publisher}{1}{%
|
||||
{Focal Press}%
|
||||
}
|
||||
\strng{namehash}{5b6241a937e3e4b67f7d6ba3e7461374}
|
||||
\strng{fullhash}{5b6241a937e3e4b67f7d6ba3e7461374}
|
||||
\strng{bibnamehash}{5b6241a937e3e4b67f7d6ba3e7461374}
|
||||
\strng{authorbibnamehash}{5b6241a937e3e4b67f7d6ba3e7461374}
|
||||
\strng{authornamehash}{5b6241a937e3e4b67f7d6ba3e7461374}
|
||||
\strng{authorfullhash}{5b6241a937e3e4b67f7d6ba3e7461374}
|
||||
\field{sortinit}{2}
|
||||
\field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed}
|
||||
\field{labelnamesource}{author}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{title}{The Audio Expert: Everything You Need to Know About Audio}
|
||||
\field{year}{2013}
|
||||
\verb{urlraw}
|
||||
\verb https://books.google.com/books?id=TIfOAwAAQBAJ&pg=PA107#v=onepage&q=-%2010%20dbv&f=false
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://books.google.com/books?id=TIfOAwAAQBAJ&pg=PA107#v=onepage&q=-%2010%20dbv&f=false
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{lvlshift}{article}{}
|
||||
\name{author}{1}{}{%
|
||||
{{hash=dad533e93fb5b066698ef5641942d10e}{%
|
||||
family={List},
|
||||
familyi={L\bibinitperiod},
|
||||
given={Jenny},
|
||||
giveni={J\bibinitperiod}}}%
|
||||
}
|
||||
\list{publisher}{1}{%
|
||||
{Hackaday}%
|
||||
}
|
||||
\strng{namehash}{dad533e93fb5b066698ef5641942d10e}
|
||||
\strng{fullhash}{dad533e93fb5b066698ef5641942d10e}
|
||||
\strng{bibnamehash}{dad533e93fb5b066698ef5641942d10e}
|
||||
\strng{authorbibnamehash}{dad533e93fb5b066698ef5641942d10e}
|
||||
\strng{authornamehash}{dad533e93fb5b066698ef5641942d10e}
|
||||
\strng{authorfullhash}{dad533e93fb5b066698ef5641942d10e}
|
||||
\field{sortinit}{2}
|
||||
\field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed}
|
||||
\field{labelnamesource}{author}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{12}
|
||||
\field{title}{Taking It To Another Level: Making 3.3V Speak With 5V}
|
||||
\field{year}{2016}
|
||||
\verb{urlraw}
|
||||
\verb https://hackaday.com/2016/12/05/taking-it-to-another-level-making-3-3v-and-5v-logic-communicate-with-level-shifters/
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://hackaday.com/2016/12/05/taking-it-to-another-level-making-3-3v-and-5v-logic-communicate-with-level-shifters/
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{DB3S406F0L}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Panasonic}%
|
||||
}
|
||||
\field{sortinit}{2}
|
||||
\field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{3}
|
||||
\field{title}{Schottky Barrier Diode DB3S406F0L Silicon epitaxial planar type}
|
||||
\field{year}{2010}
|
||||
\verb{urlraw}
|
||||
\verb https://industrial.panasonic.com/content/data/SC/ds/ds4/DB3S406F0L_E.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://industrial.panasonic.com/content/data/SC/ds/ds4/DB3S406F0L_E.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{dunnet}{manual}{}
|
||||
\name{author}{1}{}{%
|
||||
{{hash=00390d643d2da62a5fdea9aa008b03ec}{%
|
||||
family={Schnell},
|
||||
familyi={S\bibinitperiod},
|
||||
given={Ron},
|
||||
giveni={R\bibinitperiod}}}%
|
||||
}
|
||||
\list{organization}{1}{%
|
||||
{Emacs}%
|
||||
}
|
||||
\strng{namehash}{00390d643d2da62a5fdea9aa008b03ec}
|
||||
\strng{fullhash}{00390d643d2da62a5fdea9aa008b03ec}
|
||||
\strng{bibnamehash}{00390d643d2da62a5fdea9aa008b03ec}
|
||||
\strng{authorbibnamehash}{00390d643d2da62a5fdea9aa008b03ec}
|
||||
\strng{authornamehash}{00390d643d2da62a5fdea9aa008b03ec}
|
||||
\strng{authorfullhash}{00390d643d2da62a5fdea9aa008b03ec}
|
||||
\field{sortinit}{3}
|
||||
\field{sortinithash}{a37a8ef248a93c322189792c34fc68c9}
|
||||
\field{labelnamesource}{author}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{title}{Dunnet Source Code}
|
||||
\field{year}{1982}
|
||||
\verb{urlraw}
|
||||
\verb https://github.com/jwiegley/emacs-release/blob/master/lisp/play/dunnet.el
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://github.com/jwiegley/emacs-release/blob/master/lisp/play/dunnet.el
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{ascii}{report}{}
|
||||
\list{institution}{1}{%
|
||||
{Network Working Group}%
|
||||
}
|
||||
\field{sortinit}{3}
|
||||
\field{sortinithash}{a37a8ef248a93c322189792c34fc68c9}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{month}{10}
|
||||
\field{title}{ASCII Format for Network Interchange}
|
||||
\field{type}{Standard}
|
||||
\field{volume}{1969}
|
||||
\field{year}{1969}
|
||||
\verb{urlraw}
|
||||
\verb https://tools.ietf.org/pdf/rfc20.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://tools.ietf.org/pdf/rfc20.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\entry{vt100}{manual}{}
|
||||
\list{organization}{1}{%
|
||||
{Digital Equipment Corporation}%
|
||||
}
|
||||
\field{sortinit}{3}
|
||||
\field{sortinithash}{a37a8ef248a93c322189792c34fc68c9}
|
||||
\field{labeltitlesource}{title}
|
||||
\field{title}{VT100 SERIES TECHNICAL MANUAL}
|
||||
\field{year}{1979}
|
||||
\verb{urlraw}
|
||||
\verb https://vt100.net/docs/vt100-tm/ek-vt100-tm-002.pdf
|
||||
\endverb
|
||||
\verb{url}
|
||||
\verb https://vt100.net/docs/vt100-tm/ek-vt100-tm-002.pdf
|
||||
\endverb
|
||||
\endentry
|
||||
\enddatalist
|
||||
\endrefsection
|
||||
\endinput
|
||||
|
|
39
main.bcf
39
main.bcf
|
@ -2129,13 +2129,42 @@
|
|||
<bcf:datasource type="file" datatype="bibtex">./bibliographies/DP.bib</bcf:datasource>
|
||||
</bcf:bibdata>
|
||||
<bcf:section number="0">
|
||||
<bcf:citekey order="1">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="2">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="3">max232</bcf:citekey>
|
||||
<bcf:citekey order="1">ad2</bcf:citekey>
|
||||
<bcf:citekey order="2">atmega2560</bcf:citekey>
|
||||
<bcf:citekey order="3">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="4">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="5">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="6">max232</bcf:citekey>
|
||||
<bcf:citekey order="5">max232</bcf:citekey>
|
||||
<bcf:citekey order="6">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="7">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="8">max232</bcf:citekey>
|
||||
<bcf:citekey order="9">pc16550</bcf:citekey>
|
||||
<bcf:citekey order="10">tlc7528</bcf:citekey>
|
||||
<bcf:citekey order="11">tlc7528</bcf:citekey>
|
||||
<bcf:citekey order="12">tlc7528</bcf:citekey>
|
||||
<bcf:citekey order="13">tlc7528</bcf:citekey>
|
||||
<bcf:citekey order="14">idt7201</bcf:citekey>
|
||||
<bcf:citekey order="15">idt7201</bcf:citekey>
|
||||
<bcf:citekey order="16">idt7201</bcf:citekey>
|
||||
<bcf:citekey order="17">tlc7528</bcf:citekey>
|
||||
<bcf:citekey order="18">tlc7528</bcf:citekey>
|
||||
<bcf:citekey order="19">tlc7528</bcf:citekey>
|
||||
<bcf:citekey order="20">74hc374</bcf:citekey>
|
||||
<bcf:citekey order="21">74hc00</bcf:citekey>
|
||||
<bcf:citekey order="22">iec60908</bcf:citekey>
|
||||
<bcf:citekey order="23">audiob</bcf:citekey>
|
||||
<bcf:citekey order="24">atmega2560</bcf:citekey>
|
||||
<bcf:citekey order="25">lvlshift</bcf:citekey>
|
||||
<bcf:citekey order="26">lvlshift</bcf:citekey>
|
||||
<bcf:citekey order="27">lvlshift</bcf:citekey>
|
||||
<bcf:citekey order="28">DB3S406F0L</bcf:citekey>
|
||||
<bcf:citekey order="29">ad2</bcf:citekey>
|
||||
<bcf:citekey order="30">ad2</bcf:citekey>
|
||||
<bcf:citekey order="31">atmega2560</bcf:citekey>
|
||||
<bcf:citekey order="32">dunnet</bcf:citekey>
|
||||
<bcf:citekey order="33">ascii</bcf:citekey>
|
||||
<bcf:citekey order="34">vt100</bcf:citekey>
|
||||
<bcf:citekey order="35">ascii</bcf:citekey>
|
||||
<bcf:citekey order="36">vt100</bcf:citekey>
|
||||
</bcf:section>
|
||||
<!-- SORTING TEMPLATES -->
|
||||
<bcf:sortingtemplate name="none">
|
||||
|
|
33
main.blg
33
main.blg
|
@ -1,20 +1,17 @@
|
|||
[0] Config.pm:304> INFO - This is Biber 2.13
|
||||
[0] Config.pm:307> INFO - Logfile is 'main.blg'
|
||||
[28] biber:315> INFO - === Thu Mar 19, 2020, 23:48:20
|
||||
[48] Biber.pm:375> INFO - Reading 'main.bcf'
|
||||
[105] Biber.pm:905> INFO - Found 2 citekeys in bib section 0
|
||||
[116] Biber.pm:4196> INFO - Processing section 0
|
||||
[117] Utils.pm:75> INFO - Globbing data source './bibliographies/DP.bib'
|
||||
[117] Utils.pm:91> INFO - Globbed data source './bibliographies/DP.bib' to ./bibliographies/DP.bib
|
||||
[128] Biber.pm:4373> INFO - Looking for bibtex format file './bibliographies/DP.bib' for section 0
|
||||
[133] bibtex.pm:1462> INFO - LaTeX decoding ...
|
||||
[140] bibtex.pm:1281> INFO - Found BibTeX data source './bibliographies/DP.bib'
|
||||
[141] Utils.pm:300> WARN - BibTeX subsystem: /tmp/fPv9oRu8Nq/DP.bib_66732.utf8, line 26, warning: undefined macro "October"
|
||||
[142] Utils.pm:300> WARN - BibTeX subsystem: /tmp/fPv9oRu8Nq/DP.bib_66732.utf8, line 33, warning: undefined macro "February"
|
||||
[148] UCollate.pm:68> INFO - Overriding locale 'de-DE' defaults 'variable = shifted' with 'variable = non-ignorable'
|
||||
[148] UCollate.pm:68> INFO - Overriding locale 'de-DE' defaults 'normalization = NFD' with 'normalization = prenormalized'
|
||||
[148] Biber.pm:4024> INFO - Sorting list 'none/global//global/global' of type 'entry' with template 'none' and locale 'de-DE'
|
||||
[148] Biber.pm:4030> INFO - No sort tailoring available for locale 'de-DE'
|
||||
[158] bbl.pm:648> INFO - Writing 'main.bbl' with encoding 'UTF-8'
|
||||
[158] bbl.pm:751> INFO - Output to main.bbl
|
||||
[159] Biber.pm:110> INFO - WARNINGS: 2
|
||||
[19] biber:315> INFO - === Mon Mar 23, 2020, 02:06:00
|
||||
[30] Biber.pm:375> INFO - Reading 'main.bcf'
|
||||
[85] Biber.pm:905> INFO - Found 15 citekeys in bib section 0
|
||||
[96] Biber.pm:4196> INFO - Processing section 0
|
||||
[97] Utils.pm:75> INFO - Globbing data source './bibliographies/DP.bib'
|
||||
[97] Utils.pm:91> INFO - Globbed data source './bibliographies/DP.bib' to ./bibliographies/DP.bib
|
||||
[106] Biber.pm:4373> INFO - Looking for bibtex format file './bibliographies/DP.bib' for section 0
|
||||
[107] bibtex.pm:1462> INFO - LaTeX decoding ...
|
||||
[120] bibtex.pm:1281> INFO - Found BibTeX data source './bibliographies/DP.bib'
|
||||
[147] UCollate.pm:68> INFO - Overriding locale 'de-DE' defaults 'variable = shifted' with 'variable = non-ignorable'
|
||||
[147] UCollate.pm:68> INFO - Overriding locale 'de-DE' defaults 'normalization = NFD' with 'normalization = prenormalized'
|
||||
[147] Biber.pm:4024> INFO - Sorting list 'none/global//global/global' of type 'entry' with template 'none' and locale 'de-DE'
|
||||
[147] Biber.pm:4030> INFO - No sort tailoring available for locale 'de-DE'
|
||||
[157] bbl.pm:648> INFO - Writing 'main.bbl' with encoding 'UTF-8'
|
||||
[160] bbl.pm:751> INFO - Output to main.bbl
|
||||
|
|
40
main.lof
40
main.lof
|
@ -5,17 +5,33 @@
|
|||
\babel@toc {ngerman}{}
|
||||
\babel@toc {ngerman}{}
|
||||
\babel@toc {english}{}
|
||||
\contentsline {figure}{\numberline {1}{\ignorespaces Atari PBI Pinout;Source: \url {https://www.atarimagazines.com}\relax }}{2}{figure.caption.1}%
|
||||
\contentsline {figure}{\numberline {2}{\ignorespaces Digilent Analog Discovery 2;Source: \url {https://www.sparkfun.com/}\relax }}{4}{figure.caption.2}%
|
||||
\contentsline {figure}{\numberline {3}{\ignorespaces Layout of the DIN41612 Connectors on the Backplane\relax }}{5}{figure.caption.3}%
|
||||
\contentsline {figure}{\numberline {4}{\ignorespaces Measurement at around 1MHz bus clock on MS1\relax }}{6}{figure.caption.4}%
|
||||
\contentsline {figure}{\numberline {5}{\ignorespaces The case with installed backplane\relax }}{7}{figure.caption.5}%
|
||||
\contentsline {figure}{\numberline {6}{\ignorespaces PC-16550D Pinout\cite {pc16550}\relax }}{8}{figure.caption.6}%
|
||||
\contentsline {figure}{\numberline {7}{\ignorespaces The schematic of the UART Module\relax }}{10}{figure.caption.7}%
|
||||
\contentsline {figure}{\numberline {8}{\ignorespaces Measurement of the 1.8432 MHz Output on J1\relax }}{11}{figure.caption.8}%
|
||||
\contentsline {figure}{\numberline {9}{\ignorespaces Measurement of a character transmission before and after MAX-232\relax }}{12}{figure.caption.9}%
|
||||
\contentsline {figure}{\numberline {10}{\ignorespaces Pinout of the RJ-45 Plug; Src: \url {https://www.wti.com/}\relax }}{12}{figure.caption.10}%
|
||||
\contentsline {figure}{\numberline {11}{\ignorespaces Measurement of a character echo\relax }}{13}{figure.caption.11}%
|
||||
\contentsline {figure}{\numberline {12}{\ignorespaces Transmission of character A via the 16550 UART\relax }}{16}{figure.caption.12}%
|
||||
\contentsline {figure}{\numberline {i}{\ignorespaces Atari PBI Pinout;Source: \url {https://www.atarimagazines.com}\relax }}{2}{figure.caption.1}%
|
||||
\contentsline {figure}{\numberline {ii}{\ignorespaces Digilent Analog Discovery 2;Source: \url {https://www.sparkfun.com/}\relax }}{4}{figure.caption.2}%
|
||||
\contentsline {figure}{\numberline {iii}{\ignorespaces Layout of the DIN41612 Connectors on the Backplane\relax }}{5}{figure.caption.3}%
|
||||
\contentsline {figure}{\numberline {iv}{\ignorespaces Measurement at around 1MHz bus clock on MS1\relax }}{6}{figure.caption.4}%
|
||||
\contentsline {figure}{\numberline {v}{\ignorespaces The case with installed backplane\relax }}{7}{figure.caption.5}%
|
||||
\contentsline {figure}{\numberline {vi}{\ignorespaces PC-16550D Pinout\cite {pc16550}\relax }}{8}{figure.caption.6}%
|
||||
\contentsline {figure}{\numberline {vii}{\ignorespaces The schematic of the UART Module\relax }}{10}{figure.caption.7}%
|
||||
\contentsline {figure}{\numberline {viii}{\ignorespaces Measurement of the 1.8432 MHz Output on J1\relax }}{11}{figure.caption.8}%
|
||||
\contentsline {figure}{\numberline {ix}{\ignorespaces Measurement of a character transmission before and after MAX-232\relax }}{12}{figure.caption.9}%
|
||||
\contentsline {figure}{\numberline {x}{\ignorespaces Pinout of the RJ-45 Plug; Src: \url {https://www.wti.com/}\relax }}{12}{figure.caption.10}%
|
||||
\contentsline {figure}{\numberline {xi}{\ignorespaces Measurement of a character echo\relax }}{13}{figure.caption.11}%
|
||||
\contentsline {figure}{\numberline {xii}{\ignorespaces Transmission of character A via the 16550 UART\relax }}{16}{figure.caption.12}%
|
||||
\contentsline {figure}{\numberline {xiii}{\ignorespaces TLC-7528 Pinout\cite {tlc7528}\relax }}{18}{figure.caption.13}%
|
||||
\contentsline {figure}{\numberline {xiv}{\ignorespaces IDT-7201 Pinout\cite {idt7201}\relax }}{19}{figure.caption.14}%
|
||||
\contentsline {figure}{\numberline {xv}{\ignorespaces TLC-7528 in voltage modet\cite {tlc7528}\relax }}{20}{figure.caption.15}%
|
||||
\contentsline {figure}{\numberline {xvi}{\ignorespaces Measurement of a generated SAW signal via the TLC7528\relax }}{20}{figure.caption.16}%
|
||||
\contentsline {figure}{\numberline {xvii}{\ignorespaces The schematic of the DAC Module\relax }}{21}{figure.caption.17}%
|
||||
\contentsline {figure}{\numberline {xviii}{\ignorespaces Measurement of a generated SAW signal with the FIFO Empty flag\relax }}{23}{figure.caption.18}%
|
||||
\contentsline {figure}{\numberline {xix}{\ignorespaces A transmission between the FIFO and the DAC\relax }}{24}{figure.caption.19}%
|
||||
\contentsline {figure}{\numberline {xx}{\ignorespaces A fifo store operation in contrast to the load operation\relax }}{24}{figure.caption.20}%
|
||||
\contentsline {figure}{\numberline {xxi}{\ignorespaces Storage and retrieval of a sine to and from the FIFO\relax }}{26}{figure.caption.21}%
|
||||
\contentsline {figure}{\numberline {xxii}{\ignorespaces Measuremet of the generated sine from the sine LUT on DACA and DACB\relax }}{26}{figure.caption.22}%
|
||||
\contentsline {figure}{\numberline {xxiii}{\ignorespaces 3.3V to 5V conversion using the level shifter\relax }}{27}{figure.caption.23}%
|
||||
\contentsline {figure}{\numberline {xxiv}{\ignorespaces 5V to 3.3V conversion using the level shifter\relax }}{28}{figure.caption.24}%
|
||||
\contentsline {figure}{\numberline {xxv}{\ignorespaces The internal schematics of the level shifter\cite {lvlshift}\relax }}{29}{figure.caption.25}%
|
||||
\contentsline {figure}{\numberline {xxvi}{\ignorespaces The internal clamping diodes of the Analog Discovery 2\cite {ad2}\relax }}{30}{figure.caption.26}%
|
||||
\contentsline {figure}{\numberline {xxvii}{\ignorespaces The output of an example track part 1\relax }}{40}{figure.caption.27}%
|
||||
\contentsline {figure}{\numberline {xxviii}{\ignorespaces The output of an example track part 2\relax }}{41}{figure.caption.28}%
|
||||
\babel@toc {ngerman}{}
|
||||
\babel@toc {english}{}
|
||||
|
|
218
main.log
218
main.log
|
@ -1,4 +1,4 @@
|
|||
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2020.3.10) 20 MAR 2020 00:08
|
||||
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2020.3.10) 23 MAR 2020 02:07
|
||||
entering extended mode
|
||||
\write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
|
@ -2678,7 +2678,7 @@ LaTeX Font Info: Trying to load font information for OT1+pxtt on input line
|
|||
File: ot1pxtt.fd 2000/12/14 v1.0
|
||||
)
|
||||
Package svg Info: Last page of `./svg-inkscape/logoBpdf_svg-tex.pdf' is 1 on in
|
||||
put line 26.
|
||||
put line 31.
|
||||
|
||||
(./svg-inkscape/logoBpdf_svg-tex.pdf_tex
|
||||
File: ./svg-inkscape/logoBpdf_svg-tex.pdf Graphic file (type pdf)
|
||||
|
@ -2691,24 +2691,27 @@ File: pics/HTLgenlogo02.png Graphic file (type bmp)
|
|||
] [1
|
||||
|
||||
] (./sections/abstract.tex)
|
||||
Underfull \hbox (badness 1168) in paragraph at lines 3--96
|
||||
Underfull \hbox (badness 1168) in paragraph at lines 3--101
|
||||
\T1/pxss/m/n/12 Diese Di-plom-ar-beit be-schäf-tigt sich mit der Ar-beits-wei-s
|
||||
e von Pro-zes-so-ren und
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 3--96
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 3--101
|
||||
|
||||
[]
|
||||
|
||||
[2
|
||||
|
||||
] (./main.toc)
|
||||
\tf@toc=\write7
|
||||
\openout7 = `main.toc'.
|
||||
] (./sections/result.tex
|
||||
LaTeX Font Info: Trying to load font information for T1+fvm on input line 7.
|
||||
|
||||
(/usr/share/texmf-dist/tex/latex/bera/t1fvm.fd
|
||||
File: t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm.
|
||||
))
|
||||
[3] (./main.toc
|
||||
Package svg Info: Last page of `./svg-inkscape/logoBpdf_svg-tex.pdf' is 1 on in
|
||||
put line 104.
|
||||
put line 52.
|
||||
(./svg-inkscape/logoBpdf_svg-tex.pdf_tex
|
||||
File: ./svg-inkscape/logoBpdf_svg-tex.pdf Graphic file (type pdf)
|
||||
<use ./svg-inkscape/logoBpdf_svg-tex.pdf, page 1>
|
||||
|
@ -2722,14 +2725,24 @@ Make it at least 67.34535pt.
|
|||
We now make it that large for the rest of the document.
|
||||
This may cause the page layout to be inconsistent, however.
|
||||
|
||||
[3] (./planung/DP/aufgabenstellung.tex) [1] (./sections/DP/PARALLELBUS/main.tex
|
||||
[4])
|
||||
\tf@toc=\write7
|
||||
\openout7 = `main.toc'.
|
||||
|
||||
Package svg Info: Last page of `./svg-inkscape/logoBpdf_svg-tex.pdf' is 1 on in
|
||||
put line 110.
|
||||
(./svg-inkscape/logoBpdf_svg-tex.pdf_tex
|
||||
File: ./svg-inkscape/logoBpdf_svg-tex.pdf Graphic file (type pdf)
|
||||
<use ./svg-inkscape/logoBpdf_svg-tex.pdf, page 1>
|
||||
)
|
||||
File: pics/HTLgenlogo02.png Graphic file (type bmp)
|
||||
<pics/HTLgenlogo02.png>
|
||||
[5]
|
||||
(./planung/DP/aufgabenstellung.tex) [1] (./sections/DP/PARALLELBUS/main.tex
|
||||
File: pics/atari_pbi.png Graphic file (type bmp)
|
||||
<pics/atari_pbi.png>
|
||||
LaTeX Font Info: Trying to load font information for T1+fvm on input line 19
|
||||
.
|
||||
(/usr/share/texmf-dist/tex/latex/bera/t1fvm.fd
|
||||
File: t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm.
|
||||
) [2
|
||||
|
||||
[2
|
||||
|
||||
]
|
||||
LaTeX Font Info: Trying to load font information for OMS+pxss on input line
|
||||
|
@ -2791,25 +2804,108 @@ File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz)
|
|||
[15])
|
||||
File: meas/20200211_first_trans.png Graphic file (type bmp)
|
||||
<meas/20200211_first_trans.png>
|
||||
(./code/16550/echo/src/main.c [16])) (./sections/DP/textadv/main.tex
|
||||
[17] (./code/textadv/include/avr.h [18])
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 18--22
|
||||
[]\T1/pxss/m/n/12 The in list-ing []4[] shown de-fines MR_SHIFT, WR_SHIFT, RD_S
|
||||
HIFT,
|
||||
[]
|
||||
(./code/16550/echo/src/main.c [16])) (./sections/DP/dac/main.tex [17]
|
||||
Package svg Info: Last page of `./svg-inkscape/slas062e_pinout_svg-tex.pdf' is
|
||||
1 on input line 25.
|
||||
|
||||
(./svg-inkscape/slas062e_pinout_svg-tex.pdf_tex
|
||||
File: ./svg-inkscape/slas062e_pinout_svg-tex.pdf Graphic file (type pdf)
|
||||
<use ./svg-inkscape/slas062e_pinout_svg-tex.pdf, page 1>
|
||||
)
|
||||
Package svg Info: Last page of `./svg-inkscape/idt7201_pinout_svg-tex.pdf' is 1
|
||||
on input line 41.
|
||||
|
||||
(./svg-inkscape/idt7201_pinout_svg-tex.pdf_tex
|
||||
File: ./svg-inkscape/idt7201_pinout_svg-tex.pdf Graphic file (type pdf)
|
||||
<use ./svg-inkscape/idt7201_pinout_svg-tex.pdf, page 1>
|
||||
) [18]
|
||||
Package svg Info: Last page of `./svg-inkscape/slas062e_volt_svg-tex.pdf' is 1
|
||||
on input line 64.
|
||||
|
||||
(./svg-inkscape/slas062e_volt_svg-tex.pdf_tex
|
||||
File: ./svg-inkscape/slas062e_volt_svg-tex.pdf Graphic file (type pdf)
|
||||
<use ./svg-inkscape/slas062e_volt_svg-tex.pdf, page 1>
|
||||
) [19]
|
||||
Overfull \hbox (2.54398pt too wide) in paragraph at lines 145--170
|
||||
PGFPlots: reading {meas/20200210_saw_nonlin.csv}
|
||||
File: schem_pdf/dac.pdf Graphic file (type pdf)
|
||||
<use schem_pdf/dac.pdf>
|
||||
|
||||
Overfull \hbox (1.5606pt too wide) in paragraph at lines 95--96
|
||||
[][]
|
||||
[]
|
||||
|
||||
[20] [21] [22]
|
||||
PGFPlots: reading {meas/20200308fifo_44_1_saw_withfifoempty.csv}
|
||||
PGFPlots: reading {meas/20200308fifo_44_1_saw_withfifoempty.csv}
|
||||
File: meas/20200308fifo_44_1_cnt.png Graphic file (type bmp)
|
||||
<meas/20200308fifo_44_1_cnt.png>
|
||||
[23]
|
||||
File: meas/20200308fifo_44_1_saw.png Graphic file (type bmp)
|
||||
<meas/20200308fifo_44_1_saw.png>
|
||||
(./code/dac/saw_fifo_backplane/src/main.c [24])
|
||||
(./code/dac/sine_fifo_backplane/src/main.c)
|
||||
(./code/dac/sine_fifo_backplane/src/main.c) [25]
|
||||
File: meas/20200310sine_dac.png Graphic file (type bmp)
|
||||
<meas/20200310sine_dac.png>
|
||||
PGFPlots: reading {meas/20200310sine_dac_osz.csv}
|
||||
PGFPlots: reading {meas/20200310sine_dac_osz.csv}
|
||||
[26])
|
||||
(./sections/DP/fpga_interface/main.tex
|
||||
PGFPlots: reading {meas/20200301shift3v35v.csv}
|
||||
PGFPlots: reading {meas/20200301shift3v35v.csv}
|
||||
PGFPlots: reading {meas/20200301shift5v3v3.csv}
|
||||
PGFPlots: reading {meas/20200301shift5v3v3.csv}
|
||||
|
||||
Overfull \hbox (4.69403pt too wide) in paragraph at lines 54--55
|
||||
[][]
|
||||
[]
|
||||
|
||||
[27]
|
||||
File: pics/bidirectonal-mosfet-level-shifter.png Graphic file (type bmp)
|
||||
<pics/bidirectonal-mosfet-level-shifter.png>
|
||||
[28]
|
||||
File: pics/ad2_dio.png Graphic file (type bmp)
|
||||
<pics/ad2_dio.png>
|
||||
) (./sections/DP/textadv/main.tex [29] (./code/textadv/include/avr.h
|
||||
[30]) [31] (./code/textadv/src/main.c) (./code/textadv/src/16550.c) [32]
|
||||
(./code/textadv/src/dac.c) [33] (./code/textadv/include/dac.h)
|
||||
(./code/textadv/src/dac.c [34] [35] [36]) (./code/textadv/src/interrupt.c)
|
||||
(./code/textadv/src/sound.c [37]) [38] [39]
|
||||
PGFPlots: reading {meas/20200315audio_multiple_voices.csv}
|
||||
PGFPlots: reading {meas/20200315audio_multiple_voices.csv}
|
||||
|
||||
Overfull \hbox (16.78128pt too wide) in paragraph at lines 178--179
|
||||
[][]
|
||||
[]
|
||||
|
||||
|
||||
Overfull \vbox (5.92023pt too high) has occurred while \output is active []
|
||||
|
||||
|
||||
[40]
|
||||
PGFPlots: reading {meas/20200315audio_multiple_voices.csv}
|
||||
PGFPlots: reading {meas/20200315audio_multiple_voices.csv}
|
||||
|
||||
Overfull \hbox (18.29266pt too wide) in paragraph at lines 200--201
|
||||
[][]
|
||||
[]
|
||||
|
||||
|
||||
Overfull \vbox (2.2876pt too high) has occurred while \output is active []
|
||||
|
||||
|
||||
[41] (./code/textadv/src/16550.c) (./code/textadv/src/game.c [42])
|
||||
(./code/textadv/src/game.c [43]) (./code/textadv/src/game.c [44])) [45]
|
||||
Overfull \hbox (2.54398pt too wide) in paragraph at lines 148--173
|
||||
[]$ $[]$
|
||||
[]
|
||||
|
||||
|
||||
Overfull \hbox (2.54398pt too wide) in paragraph at lines 145--170
|
||||
Overfull \hbox (2.54398pt too wide) in paragraph at lines 148--173
|
||||
[]$ $[]$
|
||||
[]
|
||||
|
||||
[20
|
||||
|
||||
[46
|
||||
|
||||
|
||||
] (./main.lof)
|
||||
|
@ -2820,19 +2916,26 @@ Overfull \hbox (2.54398pt too wide) in paragraph at lines 145--170
|
|||
\tf@lot=\write9
|
||||
\openout9 = `main.lot'.
|
||||
|
||||
(./main.lol)
|
||||
(./main.lol [1
|
||||
|
||||
])
|
||||
\tf@lol=\write10
|
||||
\openout10 = `main.lol'.
|
||||
|
||||
[1
|
||||
Missing character: There is no ™ in font t1xss!
|
||||
|
||||
] [2
|
||||
Underfull \hbox (badness 3557) in paragraph at lines 184--184
|
||||
[]\T1/pxss/m/n/12 Analog Dis-cov-ery 2 Ref-er-ence Man-ual. Dig-i-lent, Inc. Se
|
||||
pt. 2015. \T1/pxss/m/sc/12 url\T1/pxss/m/n/12 :
|
||||
[]
|
||||
|
||||
[2] [3] [4
|
||||
|
||||
]
|
||||
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 214.
|
||||
Package atveryend Info: Empty hook `AfterLastShipout' on input line 214.
|
||||
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 217.
|
||||
Package atveryend Info: Empty hook `AfterLastShipout' on input line 217.
|
||||
(./main.aux)
|
||||
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 214.
|
||||
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 217.
|
||||
|
||||
|
||||
*File List*
|
||||
|
@ -3074,13 +3177,17 @@ siunitx-abbreviations.cfg 2017/11/26 v2.7k siunitx: Abbreviated units
|
|||
./svg-inkscape/logoBpdf_svg-tex.pdf
|
||||
pics/HTLgenlogo02.png
|
||||
sections/abstract.tex
|
||||
sections/result.tex
|
||||
t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm.
|
||||
./svg-inkscape/logoBpdf_svg-tex.pdf_tex
|
||||
./svg-inkscape/logoBpdf_svg-tex.pdf
|
||||
pics/HTLgenlogo02.png
|
||||
./svg-inkscape/logoBpdf_svg-tex.pdf_tex
|
||||
./svg-inkscape/logoBpdf_svg-tex.pdf
|
||||
pics/HTLgenlogo02.png
|
||||
planung/DP/aufgabenstellung.tex
|
||||
sections/DP/PARALLELBUS/main.tex
|
||||
pics/atari_pbi.png
|
||||
t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm.
|
||||
sections/DP/MEAS_TEST/main.tex
|
||||
pics/ad2.jpg
|
||||
sections/DP/CASE_BACKPLANE/main.tex
|
||||
|
@ -3097,31 +3204,62 @@ code/16550/transmit/src/main.c
|
|||
code/16550/transmit/src/main.c
|
||||
meas/20200211_first_trans.png
|
||||
code/16550/echo/src/main.c
|
||||
sections/DP/dac/main.tex
|
||||
./svg-inkscape/slas062e_pinout_svg-tex.pdf_tex
|
||||
./svg-inkscape/slas062e_pinout_svg-tex.pdf
|
||||
./svg-inkscape/idt7201_pinout_svg-tex.pdf_tex
|
||||
./svg-inkscape/idt7201_pinout_svg-tex.pdf
|
||||
./svg-inkscape/slas062e_volt_svg-tex.pdf_tex
|
||||
./svg-inkscape/slas062e_volt_svg-tex.pdf
|
||||
schem_pdf/dac.pdf
|
||||
meas/20200308fifo_44_1_cnt.png
|
||||
meas/20200308fifo_44_1_saw.png
|
||||
code/dac/saw_fifo_backplane/src/main.c
|
||||
code/dac/sine_fifo_backplane/src/main.c
|
||||
code/dac/sine_fifo_backplane/src/main.c
|
||||
meas/20200310sine_dac.png
|
||||
sections/DP/fpga_interface/main.tex
|
||||
pics/bidirectonal-mosfet-level-shifter.png
|
||||
pics/ad2_dio.png
|
||||
sections/DP/textadv/main.tex
|
||||
./code/textadv/include/avr.h
|
||||
code/textadv/src/main.c
|
||||
code/textadv/src/16550.c
|
||||
code/textadv/src/dac.c
|
||||
code/textadv/include/dac.h
|
||||
code/textadv/src/dac.c
|
||||
code/textadv/src/interrupt.c
|
||||
code/textadv/src/sound.c
|
||||
code/textadv/src/16550.c
|
||||
code/textadv/src/game.c
|
||||
code/textadv/src/game.c
|
||||
code/textadv/src/game.c
|
||||
***********
|
||||
|
||||
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 214.
|
||||
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 217.
|
||||
Package rerunfilecheck Info: File `main.out' has not changed.
|
||||
(rerunfilecheck) Checksum: 70016B18B3D3B15CD82406346449A284.
|
||||
(rerunfilecheck) Checksum: EF751B3F7A69F84698797A4DD5318A21.
|
||||
|
||||
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
|
||||
|
||||
|
||||
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
|
||||
|
||||
Package logreq Info: Writing requests to 'main.run.xml'.
|
||||
\openout1 = `main.run.xml'.
|
||||
|
||||
)
|
||||
(\end occurred inside a group at level 1)
|
||||
|
||||
### semi simple group (level 1) entered at line 70 (\begingroup)
|
||||
### semi simple group (level 1) entered at line 75 (\begingroup)
|
||||
### bottom level
|
||||
Here is how much of TeX's memory you used:
|
||||
81789 strings out of 492483
|
||||
1818622 string characters out of 6134979
|
||||
4934719 words of memory out of 5000000
|
||||
85021 multiletter control sequences out of 15000+600000
|
||||
82303 strings out of 492483
|
||||
1830483 string characters out of 6134979
|
||||
4963517 words of memory out of 5000000
|
||||
85459 multiletter control sequences out of 15000+600000
|
||||
615741 words of font info for 133 fonts, out of 8000000 for 9000
|
||||
1350 hyphenation exceptions out of 8191
|
||||
67i,18n,108p,1149b,7721s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
67i,19n,108p,1149b,8528s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
|
||||
Output written on main.pdf (26 pages).
|
||||
Output written on main.pdf (56 pages).
|
||||
|
|
22
main.lol
22
main.lol
|
@ -4,9 +4,23 @@
|
|||
\babel@toc {ngerman}{}
|
||||
\babel@toc {ngerman}{}
|
||||
\babel@toc {english}{}
|
||||
\contentsline {lstlisting}{\numberline {1}Read and write routines for the 16550 UART}{13}{lstlisting.1}%
|
||||
\contentsline {lstlisting}{\numberline {2}16550 INIT routines and single char transmission}{15}{lstlisting.2}%
|
||||
\contentsline {lstlisting}{\numberline {3}16550 character echo}{16}{lstlisting.3}%
|
||||
\contentsline {lstlisting}{\numberline {4}The avr.h header file}{18}{lstlisting.4}%
|
||||
\contentsline {lstlisting}{\numberline {I}Read and write routines for the 16550 UART}{13}{lstlisting.1}%
|
||||
\contentsline {lstlisting}{\numberline {II}16550 INIT routines and single char transmission}{15}{lstlisting.2}%
|
||||
\contentsline {lstlisting}{\numberline {III}16550 character echo}{16}{lstlisting.3}%
|
||||
\contentsline {lstlisting}{\numberline {IV}SAW Generation for the DAC with FIFO}{24}{lstlisting.4}%
|
||||
\contentsline {lstlisting}{\numberline {V}Sine LUT Generation}{25}{lstlisting.5}%
|
||||
\contentsline {lstlisting}{\numberline {VI}DAC Sine Generation}{25}{lstlisting.6}%
|
||||
\contentsline {lstlisting}{\numberline {VII}The avr.h header file}{30}{lstlisting.7}%
|
||||
\contentsline {lstlisting}{\numberline {VIII}The routine function looped by the main}{32}{lstlisting.8}%
|
||||
\contentsline {lstlisting}{\numberline {IX}The routine function for the UART}{32}{lstlisting.9}%
|
||||
\contentsline {lstlisting}{\numberline {X}The routine function for the DAC}{33}{lstlisting.10}%
|
||||
\contentsline {lstlisting}{\numberline {XI}The DAC operation modes}{34}{lstlisting.11}%
|
||||
\contentsline {lstlisting}{\numberline {XII}The DAC waveform generation code}{34}{lstlisting.12}%
|
||||
\contentsline {lstlisting}{\numberline {XIII}The ISR which fires every millisecond}{37}{lstlisting.13}%
|
||||
\contentsline {lstlisting}{\numberline {XIV}The sound update function}{38}{lstlisting.14}%
|
||||
\contentsline {lstlisting}{\numberline {XV}The UART char receive code}{42}{lstlisting.15}%
|
||||
\contentsline {lstlisting}{\numberline {XVI}The character ingest function}{42}{lstlisting.16}%
|
||||
\contentsline {lstlisting}{\numberline {XVII}The command parsing function}{43}{lstlisting.17}%
|
||||
\contentsline {lstlisting}{\numberline {XVIII}The command execution routine}{44}{lstlisting.18}%
|
||||
\babel@toc {ngerman}{}
|
||||
\babel@toc {english}{}
|
||||
|
|
35
main.out
35
main.out
|
@ -1,6 +1,6 @@
|
|||
\BOOKMARK [1][-]{Doc-Start}{\376\377\000G\000e\000n\000d\000e\000r\000e\000r\000k\000l\000\344\000r\000u\000n\000g}{}% 1
|
||||
\BOOKMARK [1][-]{Doc-Start}{\376\377\000K\000u\000r\000z\000f\000a\000s\000s\000u\000n\000g\000/\000A\000b\000s\000t\000r\000a\000c\000t}{}% 2
|
||||
\BOOKMARK [1][-]{Doc-Start}{\376\377\000P\000r\000o\000j\000e\000k\000t\000e\000r\000g\000e\000b\000n\000i\000s}{}% 3
|
||||
\BOOKMARK [1][-]{Doc-Start}{\376\377\000R\000e\000s\000u\000l\000t}{}% 3
|
||||
\BOOKMARK [1][-]{section.1}{\376\377\000T\000a\000s\000k\000\040\000d\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{}% 4
|
||||
\BOOKMARK [2][-]{subsection.1.1}{\376\377\000H\000a\000r\000d\000w\000a\000r\000e}{section.1}% 5
|
||||
\BOOKMARK [1][-]{section.2}{\376\377\000H\000a\000r\000d\000w\000a\000r\000e\000\040\000p\000e\000r\000i\000p\000h\000e\000r\000i\000a\000l\000s}{}% 6
|
||||
|
@ -23,10 +23,29 @@
|
|||
\BOOKMARK [3][-]{subsubsection.2.7.2}{\376\377\000M\000A\000X\000-\0002\0003\0002}{subsection.2.7}% 23
|
||||
\BOOKMARK [3][-]{subsubsection.2.7.3}{\376\377\000S\000c\000h\000e\000m\000a\000t\000i\000c\000s}{subsection.2.7}% 24
|
||||
\BOOKMARK [3][-]{subsubsection.2.7.4}{\376\377\000D\000e\000m\000o\000n\000s\000t\000r\000a\000t\000i\000o\000n\000\040\000S\000o\000f\000t\000w\000a\000r\000e}{subsection.2.7}% 25
|
||||
\BOOKMARK [1][-]{section.3}{\376\377\000T\000e\000x\000t\000a\000d\000v\000e\000n\000t\000u\000r\000e}{}% 26
|
||||
\BOOKMARK [2][-]{subsection.3.1}{\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000d\000e\000t\000a\000i\000l\000s}{section.3}% 27
|
||||
\BOOKMARK [1][-]{section.4}{\376\377\000E\000r\000k\000l\000\344\000r\000u\000n\000g\000\040\000d\000e\000r\000\040\000E\000i\000g\000e\000n\000s\000t\000\344\000n\000d\000i\000g\000k\000e\000i\000t\000\040\000d\000e\000r\000\040\000A\000r\000b\000e\000i\000t}{}% 28
|
||||
\BOOKMARK [1][-]{section.1}{\376\377\000L\000i\000s\000t\000\040\000o\000f\000\040\000F\000i\000g\000u\000r\000e\000s}{}% 29
|
||||
\BOOKMARK [1][-]{section.2}{\376\377\000L\000i\000s\000t\000\040\000o\000f\000\040\000T\000a\000b\000l\000e\000s}{}% 30
|
||||
\BOOKMARK [1][-]{section.3}{\376\377\000L\000i\000s\000t\000i\000n\000g\000s}{}% 31
|
||||
\BOOKMARK [1][-]{section.3}{\376\377\000A\000n\000h\000a\000n\000g}{}% 32
|
||||
\BOOKMARK [2][-]{subsection.2.8}{\376\377\000A\000u\000d\000i\000o\000\040\000D\000i\000g\000i\000t\000a\000l\000-\000A\000n\000a\000l\000o\000g\000-\000C\000o\000n\000v\000e\000r\000t\000e\000r}{section.2}% 26
|
||||
\BOOKMARK [3][-]{subsubsection.2.8.1}{\376\377\000T\000L\000C\000\040\0007\0005\0002\0008\000\040\000D\000u\000a\000l\000\040\000R\0002\000R\000\040\000L\000a\000d\000d\000e\000r\000\040\000D\000A\000C}{subsection.2.8}% 27
|
||||
\BOOKMARK [3][-]{subsubsection.2.8.2}{\376\377\000I\000D\000T\0007\0002\0000\0001\000\040\000C\000M\000O\000S\000\040\000F\000I\000F\000O\000\040\000B\000u\000f\000f\000e\000r}{subsection.2.8}% 28
|
||||
\BOOKMARK [3][-]{subsubsection.2.8.3}{\376\377\000T\000h\000e\000o\000r\000y\000\040\000v\000e\000r\000f\000i\000c\000a\000t\000i\000o\000n}{subsection.2.8}% 29
|
||||
\BOOKMARK [3][-]{subsubsection.2.8.4}{\376\377\000S\000c\000h\000e\000m\000a\000t\000i\000c\000s}{subsection.2.8}% 30
|
||||
\BOOKMARK [3][-]{subsubsection.2.8.5}{\376\377\000D\000e\000m\000o\000n\000s\000t\000r\000a\000t\000i\000o\000n\000\040\000S\000o\000f\000t\000w\000a\000r\000e}{subsection.2.8}% 31
|
||||
\BOOKMARK [1][-]{section.3}{\376\377\000A\000d\000d\000r\000e\000s\000s\000i\000n\000g\000\040\000D\000A\000C\000A\000\040\000a\000n\000d\000\040\000D\000A\000C\000B}{}% 32
|
||||
\BOOKMARK [2][-]{subsection.3.1}{\376\377\000F\000P\000G\000A\000\040\000t\000o\000\040\000H\000a\000r\000d\000w\000a\000r\000e\000\040\000i\000n\000t\000e\000r\000f\000a\000c\000e}{section.3}% 33
|
||||
\BOOKMARK [3][-]{subsubsection.3.1.1}{\376\377\000M\000e\000a\000s\000u\000r\000e\000m\000e\000n\000t\000\040\000e\000r\000r\000o\000r}{subsection.3.1}% 34
|
||||
\BOOKMARK [1][-]{section.4}{\376\377\000T\000e\000x\000t\000a\000d\000v\000e\000n\000t\000u\000r\000e}{}% 35
|
||||
\BOOKMARK [2][-]{subsection.4.1}{\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000d\000e\000t\000a\000i\000l\000s}{section.4}% 36
|
||||
\BOOKMARK [3][-]{subsubsection.4.1.1}{\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000s\000\040\000a\000n\000d\000\040\000p\000i\000n\000o\000u\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000A\000V\000R}{subsection.4.1}% 37
|
||||
\BOOKMARK [3][-]{subsubsection.4.1.2}{\376\377\000R\000e\000a\000d\000\040\000a\000n\000d\000\040\000W\000r\000i\000t\000e\000\040\000r\000o\000u\000t\000i\000n\000e\000s}{subsection.4.1}% 38
|
||||
\BOOKMARK [3][-]{subsubsection.4.1.3}{\376\377\000U\000A\000R\000T\000\040\000a\000n\000d\000\040\000D\000A\000C\000\040\000u\000p\000d\000a\000t\000e\000\040\000p\000o\000l\000l\000i\000n\000g}{subsection.4.1}% 39
|
||||
\BOOKMARK [2][-]{subsection.4.2}{\376\377\000D\000A\000C\000\040\000s\000o\000u\000n\000d\000\040\000g\000e\000n\000e\000r\000a\000t\000i\000o\000n}{section.4}% 40
|
||||
\BOOKMARK [3][-]{subsubsection.4.2.1}{\376\377\000D\000A\000C\000\040\000m\000o\000d\000e\000s}{subsection.4.2}% 41
|
||||
\BOOKMARK [3][-]{subsubsection.4.2.2}{\376\377\000T\000o\000n\000e\000s\000\040\000a\000n\000d\000\040\000T\000r\000a\000c\000k\000s}{subsection.4.2}% 42
|
||||
\BOOKMARK [3][-]{subsubsection.4.2.3}{\376\377\000T\000r\000a\000c\000k\000\040\000s\000w\000i\000t\000c\000h\000i\000n\000g}{subsection.4.2}% 43
|
||||
\BOOKMARK [2][-]{subsection.4.3}{\376\377\000U\000s\000e\000r\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000i\000n\000t\000e\000r\000p\000r\000e\000t\000a\000t\000i\000o\000n}{section.4}% 44
|
||||
\BOOKMARK [3][-]{subsubsection.4.3.1}{\376\377\000C\000o\000m\000m\000a\000n\000d\000\040\000s\000t\000r\000u\000c\000t\000u\000r\000e\000\040\000a\000n\000d\000\040\000p\000a\000s\000r\000i\000n\000g}{subsection.4.3}% 45
|
||||
\BOOKMARK [3][-]{subsubsection.4.3.2}{\376\377\000C\000o\000m\000m\000a\000n\000d\000\040\000p\000a\000r\000a\000m\000e\000t\000e\000r\000s}{subsection.4.3}% 46
|
||||
\BOOKMARK [1][-]{section.5}{\376\377\000E\000r\000k\000l\000\344\000r\000u\000n\000g\000\040\000d\000e\000r\000\040\000E\000i\000g\000e\000n\000s\000t\000\344\000n\000d\000i\000g\000k\000e\000i\000t\000\040\000d\000e\000r\000\040\000A\000r\000b\000e\000i\000t}{}% 47
|
||||
\BOOKMARK [1][-]{section.1}{\376\377\000L\000i\000s\000t\000\040\000o\000f\000\040\000F\000i\000g\000u\000r\000e\000s}{}% 48
|
||||
\BOOKMARK [1][-]{section.2}{\376\377\000L\000i\000s\000t\000\040\000o\000f\000\040\000T\000a\000b\000l\000e\000s}{}% 49
|
||||
\BOOKMARK [1][-]{section.3}{\376\377\000L\000i\000s\000t\000i\000n\000g\000s}{}% 50
|
||||
\BOOKMARK [1][-]{section.3}{\376\377\000A\000n\000h\000a\000n\000g}{}% 51
|
||||
|
|
BIN
main.pdf
(Stored with Git LFS)
BIN
main.pdf
(Stored with Git LFS)
Binary file not shown.
19
main.tex
19
main.tex
|
@ -1,6 +1,10 @@
|
|||
\input{preamble.tex}
|
||||
\begin{document}
|
||||
\selectlanguage{ngerman}
|
||||
% Correct numeral usage in footnotes, figures and listings
|
||||
\renewcommand{\thefootnote}{\Alph{footnote}}
|
||||
\renewcommand{\thelstlisting}{\Roman{lstlisting}}
|
||||
\renewcommand{\thefigure}{\roman{figure}}
|
||||
|
||||
%/*Header-Einstellung*/
|
||||
\pagestyle{fancy}
|
||||
|
@ -22,6 +26,7 @@
|
|||
\begin{center}
|
||||
\begin{minipage}{\linewidth}
|
||||
\begin{center}
|
||||
|
||||
\vspace*{-21mm}
|
||||
\HtlHeader{}
|
||||
\vspace*{-14mm}
|
||||
|
@ -94,9 +99,10 @@ interpreted as gender neutral.
|
|||
\addcontentsline{toc}{section}{Kurzfassung/Abstract}
|
||||
\input{sections/abstract.tex}
|
||||
\newpage
|
||||
\subsection*{Projektergebnis\markboth{}{Projektergebnis}}
|
||||
\addcontentsline{toc}{section}{Projektergebnis}
|
||||
%\input{sections/ergebnis.tex} TODO
|
||||
\subsection*{Result\markboth{}{Result}}
|
||||
\addcontentsline{toc}{section}{Result}
|
||||
\input{sections/result.tex}
|
||||
\newpage
|
||||
%====================================================================================
|
||||
\pagestyle{plain}
|
||||
\selectlanguage{english}
|
||||
|
@ -126,12 +132,9 @@ interpreted as gender neutral.
|
|||
\DP\input{sections/DP/MEAS_TEST/main.tex}
|
||||
\DP\input{sections/DP/CASE_BACKPLANE/main.tex}
|
||||
\DP\input{sections/DP/UART/main.tex}
|
||||
|
||||
\section{Textadventure}
|
||||
\DP\input{sections/DP/dac/main.tex}
|
||||
\DP\input{sections/DP/fpga_interface/main.tex}
|
||||
\DP\input{sections/DP/textadv/main.tex}
|
||||
\clearpage
|
||||
%\MR\input{sections/Kapitel/MR/Aufgabengeneration.tex}
|
||||
|
||||
\clearpage
|
||||
%\MR\input{sections/Kapitel/MR/EntwicklungAufgaben.tex}
|
||||
|
||||
|
|
33
main.toc
33
main.toc
|
@ -6,7 +6,7 @@
|
|||
\contentsline {section}{Kurzfassung/Abstract}{ii}{Doc-Start}%
|
||||
\babel@toc {ngerman}{}
|
||||
\babel@toc {ngerman}{}
|
||||
\contentsline {section}{Projektergebnis}{iii}{Doc-Start}%
|
||||
\contentsline {section}{Result}{iii}{Doc-Start}%
|
||||
\babel@toc {english}{}
|
||||
\contentsline {section}{\numberline {1}Task description}{1}{section.1}%
|
||||
\contentsline {subsection}{\numberline {1.1}Hardware}{1}{subsection.1.1}%
|
||||
|
@ -33,12 +33,35 @@
|
|||
\contentsline {subsubsection}{\numberline {2.7.4}Demonstration Software}{13}{subsubsection.2.7.4}%
|
||||
\contentsline {paragraph}{Transmit code}{13}{figure.caption.11}%
|
||||
\contentsline {paragraph}{Echo code}{16}{figure.caption.12}%
|
||||
\contentsline {section}{\numberline {3}Textadventure}{17}{section.3}%
|
||||
\contentsline {subsection}{\numberline {3.1}General Implementation details}{18}{subsection.3.1}%
|
||||
\contentsline {subsection}{\numberline {2.8}Audio Digital-Analog-Converter}{17}{subsection.2.8}%
|
||||
\contentsline {subsubsection}{\numberline {2.8.1}TLC 7528 Dual R2R Ladder DAC}{18}{subsubsection.2.8.1}%
|
||||
\contentsline {subsubsection}{\numberline {2.8.2}IDT7201 CMOS FIFO Buffer}{18}{subsubsection.2.8.2}%
|
||||
\contentsline {subsubsection}{\numberline {2.8.3}Theory verfication}{19}{subsubsection.2.8.3}%
|
||||
\contentsline {subsubsection}{\numberline {2.8.4}Schematics}{20}{subsubsection.2.8.4}%
|
||||
\contentsline {paragraph}{Element Description}{22}{figure.caption.17}%
|
||||
\contentsline {paragraph}{NE55 Clock Source}{22}{figure.caption.17}%
|
||||
\contentsline {subsubsection}{\numberline {2.8.5}Demonstration Software}{23}{subsubsection.2.8.5}%
|
||||
\contentsline {paragraph}{SAW Generator}{23}{subsubsection.2.8.5}%
|
||||
\contentsline {paragraph}{Sine Generator}{25}{lstnumber.4.11}%
|
||||
\contentsline {section}{\numberline {3}Addressing DACA and DACB}{26}{section.3}%
|
||||
\contentsline {subsection}{\numberline {3.1}FPGA to Hardware interface}{27}{subsection.3.1}%
|
||||
\contentsline {subsubsection}{\numberline {3.1.1}Measurement error}{29}{subsubsection.3.1.1}%
|
||||
\contentsline {section}{\numberline {4}Textadventure}{30}{section.4}%
|
||||
\contentsline {subsection}{\numberline {4.1}General Implementation details}{30}{subsection.4.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.1}General definitions and pinout of the AVR}{30}{subsubsection.4.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.2}Read and Write routines}{32}{subsubsection.4.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.3}UART and DAC update polling}{32}{subsubsection.4.1.3}%
|
||||
\contentsline {subsection}{\numberline {4.2}DAC sound generation}{33}{subsection.4.2}%
|
||||
\contentsline {subsubsection}{\numberline {4.2.1}DAC modes}{33}{subsubsection.4.2.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.2.2}Tones and Tracks}{37}{subsubsection.4.2.2}%
|
||||
\contentsline {subsubsection}{\numberline {4.2.3}Track switching}{42}{subsubsection.4.2.3}%
|
||||
\contentsline {subsection}{\numberline {4.3}User command interpretation}{42}{subsection.4.3}%
|
||||
\contentsline {subsubsection}{\numberline {4.3.1}Command structure and pasring}{42}{subsubsection.4.3.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.3.2}Command parameters}{44}{subsubsection.4.3.2}%
|
||||
\babel@toc {ngerman}{}
|
||||
\contentsline {section}{\numberline {4}Erkl"arung der Eigenst"andigkeit der Arbeit}{20}{section.4}%
|
||||
\contentsline {section}{\numberline {5}Erkl"arung der Eigenst"andigkeit der Arbeit}{46}{section.5}%
|
||||
\babel@toc {english}{}
|
||||
\contentsline {section}{\numberline {I\tmspace +\thickmuskip {.2777em}}List of Figures}{I}{section.1}%
|
||||
\contentsline {section}{\numberline {II\tmspace +\thickmuskip {.2777em}}List of Tables}{I}{section.2}%
|
||||
\contentsline {section}{\numberline {III\tmspace +\thickmuskip {.2777em}}Listings}{I}{section.3}%
|
||||
\contentsline {section}{Anhang}{II}{section.3}%
|
||||
\contentsline {section}{Anhang}{IV}{section.3}%
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
8193
meas/20200315audio_multiple_voices.csv.bak
Normal file
8193
meas/20200315audio_multiple_voices.csv.bak
Normal file
File diff suppressed because it is too large
Load diff
BIN
pics/bidirectonal-mosfet-level-shifter.png
Normal file
BIN
pics/bidirectonal-mosfet-level-shifter.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
pics/diodesad2.png
Normal file
BIN
pics/diodesad2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1,011 B |
1044
pics/idt7201_pinout.svg
Normal file
1044
pics/idt7201_pinout.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 106 KiB |
600
pics/slas062e_pinout.svg
Normal file
600
pics/slas062e_pinout.svg
Normal file
|
@ -0,0 +1,600 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
xml:space="preserve"
|
||||
width="202.94333"
|
||||
height="208.40759"
|
||||
viewBox="0 0 202.94333 208.40759"
|
||||
sodipodi:docname="slas062e_pinout.svg"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"><metadata
|
||||
id="metadata8"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs6"><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath504"><path
|
||||
d="M 327.628,714.728 H 567.212 V 383.868 H 327.628 Z"
|
||||
id="path502"
|
||||
inkscape:connector-curvature="0" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath608"><path
|
||||
d="M 327.628,714.728 H 567.212 V 383.868 H 327.628 Z"
|
||||
id="path606"
|
||||
inkscape:connector-curvature="0" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath624"><path
|
||||
d="M 327.628,714.728 H 567.212 V 383.868 H 327.628 Z"
|
||||
id="path622"
|
||||
inkscape:connector-curvature="0" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath644"><path
|
||||
d="M 327.628,714.728 H 567.212 V 383.868 H 327.628 Z"
|
||||
id="path642"
|
||||
inkscape:connector-curvature="0" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath660"><path
|
||||
d="M 327.628,714.728 H 567.212 V 383.868 H 327.628 Z"
|
||||
id="path658"
|
||||
inkscape:connector-curvature="0" /></clipPath><clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath676"><path
|
||||
d="M 327.628,714.728 H 567.212 V 383.868 H 327.628 Z"
|
||||
id="path674"
|
||||
inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1916"
|
||||
inkscape:window-height="1041"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="2.5284424"
|
||||
inkscape:cx="116.95314"
|
||||
inkscape:cy="149.87442"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="18"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g10" /><g
|
||||
id="g10"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="slas062e"
|
||||
transform="matrix(1.3333333,0,0,-1.3333333,-494.58932,952.10558)">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<g
|
||||
id="g1336"><g
|
||||
id="text316"
|
||||
style="font-variant:normal;font-weight:normal;font-size:7px;font-family:Symbol;-inkscape-font-specification:Symbol;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,424.8564,66.3308)"
|
||||
aria-label="" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path390"
|
||||
style="fill:none;stroke:#231f20;stroke-width:0.96399999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430.583,584.05 h -3.572 v -9.24 h 3.572 v -3.175 h -3.572 v -9.241 h 3.572 v -3.062 m 26.645,129.884 v -3.799 c 0,-2.782 -2.258,-5.04 -5.04,-5.04 -2.782,0 -5.04,2.258 -5.04,5.04 m -0.011,0 v 3.799" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path392"
|
||||
style="fill:none;stroke:#231f20;stroke-width:1.41700006;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 430.696,558.482 h 42.69 v 130.564 h -42.69 z" /><g
|
||||
id="text434"
|
||||
style="font-variant:normal;font-weight:normal;font-size:8px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,435.1748,673.115)"
|
||||
aria-label="123
|
||||
4 56789
|
||||
10
|
||||
20
|
||||
19
|
||||
18
|
||||
17
|
||||
16
|
||||
15
|
||||
14
|
||||
13
|
||||
12
|
||||
11"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path897"
|
||||
d="M 2.072,-4.12 V 0 H 2.776 V -5.784 H 2.312 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path899"
|
||||
d="M 4.048,11.436 H 1.064 c 0.072,-0.48 0.328,-0.784 1.024,-1.208 L 2.888,9.78 C 3.68,9.34 4.088,8.748 4.088,8.036 4.088,7.556 3.896,7.108 3.56,6.796 3.224,6.492 2.808,6.348 2.272,6.348 1.552,6.348 1.016,6.604 0.704,7.1 0.504,7.404 0.416,7.764 0.4,8.348 H 1.104 C 1.128,7.956 1.176,7.724 1.272,7.532 1.456,7.18 1.824,6.964 2.248,6.964 c 0.64,0 1.12,0.464 1.12,1.088 0,0.464 -0.264,0.864 -0.768,1.152 L 1.864,9.636 C 0.68,10.316 0.336,10.86 0.272,12.124 h 3.776 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path901"
|
||||
d="m 1.768,21.6 h 0.088 0.296 c 0.768,0 1.176,0.36 1.176,1.056 0,0.728 -0.44,1.168 -1.168,1.168 -0.776,0 -1.152,-0.392 -1.2,-1.24 H 0.256 c 0.032,0.464 0.112,0.768 0.248,1.024 0.296,0.56 0.848,0.84 1.624,0.84 1.168,0 1.92,-0.704 1.92,-1.8 0,-0.736 -0.28,-1.136 -0.96,-1.376 0.528,-0.216 0.792,-0.616 0.792,-1.2 0,-0.992 -0.648,-1.592 -1.728,-1.592 -1.144,0 -1.752,0.64 -1.776,1.864 H 1.08 c 0.008,-0.352 0.04,-0.552 0.128,-0.728 0.16,-0.328 0.512,-0.52 0.952,-0.52 0.624,0 1,0.376 1,1 0,0.408 -0.144,0.656 -0.456,0.792 -0.192,0.08 -0.448,0.112 -0.936,0.12 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path903"
|
||||
d="m 2.616,34.996 v 1.4 H 3.32 v -1.4 H 4.16 V 34.364 H 3.32 V 30.612 H 2.8 l -2.576,3.64 v 0.744 z m 0,-0.632 H 0.84 l 1.776,-2.552 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path905"
|
||||
d="M 3.808,42.856 H 0.88 l -0.424,3.088 h 0.648 c 0.328,-0.392 0.6,-0.528 1.048,-0.528 0.76,0 1.232,0.52 1.232,1.36 0,0.816 -0.472,1.312 -1.24,1.312 -0.616,0 -0.992,-0.312 -1.16,-0.952 H 0.28 c 0.096,0.464 0.176,0.688 0.344,0.896 0.32,0.432 0.896,0.68 1.536,0.68 1.144,0 1.944,-0.832 1.944,-2.032 0,-1.12 -0.744,-1.888 -1.832,-1.888 -0.4,0 -0.72,0.104 -1.048,0.344 l 0.224,-1.584 h 2.36 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path907"
|
||||
d="M 3.984,56.38 C 3.848,55.436 3.24,54.876 2.376,54.876 c -0.624,0 -1.184,0.304 -1.52,0.824 -0.36,0.568 -0.512,1.272 -0.512,2.32 0,0.976 0.136,1.592 0.48,2.104 0.304,0.472 0.8,0.72 1.424,0.72 1.08,0 1.856,-0.808 1.856,-1.936 0,-1.064 -0.72,-1.816 -1.736,-1.816 -0.56,0 -1,0.208 -1.304,0.632 C 1.072,56.292 1.52,55.5 2.328,55.5 c 0.496,0 0.84,0.32 0.952,0.88 z M 2.28,57.716 c 0.68,0 1.104,0.48 1.104,1.248 0,0.728 -0.48,1.256 -1.128,1.256 -0.656,0 -1.152,-0.552 -1.152,-1.288 0,-0.72 0.48,-1.216 1.176,-1.216 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path909"
|
||||
d="M 4.16,67.12 H 0.368 v 0.696 H 3.432 C 2.08,69.744 1.528,70.928 1.104,72.792 H 1.856 C 2.168,70.976 2.88,69.416 4.16,67.712 Z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path911"
|
||||
d="m 3.128,81.876004 c 0.592,-0.36 0.776,-0.648 0.776,-1.192 0,-0.912 -0.696,-1.544 -1.704,-1.544 -1,0 -1.704,0.632 -1.704,1.536 0,0.552 0.184,0.832 0.768,1.2 -0.648,0.328 -0.968,0.8 -0.968,1.44 0,1.056 0.776,1.792 1.904,1.792 1.12,0 1.904,-0.736 1.904,-1.792 0,-0.64 -0.32,-1.112 -0.976,-1.44 z m -0.928,-2.112 c 0.6,0 0.984,0.36 0.984,0.936 0,0.544 -0.392,0.904 -0.984,0.904 -0.6,0 -0.984,-0.36 -0.984,-0.92 0,-0.56 0.384,-0.92 0.984,-0.92 z m 0,2.432 c 0.704,0 1.184,0.464 1.184,1.136 0,0.696 -0.472,1.152 -1.2,1.152 -0.688,0 -1.168,-0.472 -1.168,-1.144 0,-0.688 0.472,-1.144 1.184,-1.144 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path913"
|
||||
d="m 0.424,95.736 c 0.136,0.944 0.744,1.504 1.608,1.504 0.632,0 1.192,-0.304 1.528,-0.824 0.352,-0.568 0.512,-1.272 0.512,-2.32 0,-0.976 -0.144,-1.592 -0.48,-2.104 -0.312,-0.472 -0.808,-0.72 -1.432,-0.72 -1.08,0 -1.856,0.808 -1.856,1.928 0,1.064 0.72,1.816 1.744,1.816 0.536,0 0.936,-0.192 1.296,-0.632 -0.008,1.44 -0.456,2.232 -1.264,2.232 -0.496,0 -0.84,-0.32 -0.952,-0.88 z m 1.728,-3.848 c 0.656,0 1.152,0.552 1.152,1.296 0,0.712 -0.48,1.208 -1.176,1.208 -0.68,0 -1.104,-0.48 -1.104,-1.248 0,-0.728 0.472,-1.256 1.128,-1.256 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path915"
|
||||
d="m 2.072,105.1248 v 4.12 h 0.704 v -5.784 H 2.312 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path917"
|
||||
d="m 6.648,103.4608 c -0.528,0 -1.008,0.24 -1.304,0.632 -0.368,0.512 -0.552,1.28 -0.552,2.352 0,1.952 0.64,2.984 1.856,2.984 1.2,0 1.856,-1.032 1.856,-2.936 0,-1.12 -0.176,-1.872 -0.552,-2.4 -0.296,-0.4 -0.768,-0.632 -1.304,-0.632 z m 0,0.624 c 0.76,0 1.136,0.776 1.136,2.344 0,1.648 -0.368,2.416 -1.152,2.416 -0.744,0 -1.12,-0.8 -1.12,-2.392 0,-1.592 0.376,-2.368 1.136,-2.368 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path919"
|
||||
d="m 31.0336,-0.6984 h -2.984 c 0.072,-0.48 0.328,-0.784 1.024,-1.208 l 0.8,-0.448 c 0.792,-0.44 1.2,-1.032 1.2,-1.744 0,-0.48 -0.192,-0.928 -0.528,-1.24 -0.336,-0.304 -0.752,-0.448 -1.288,-0.448 -0.72,0 -1.256,0.256 -1.568,0.752 -0.2,0.304 -0.288,0.664 -0.304,1.248 h 0.704 c 0.024,-0.392 0.072,-0.624 0.168,-0.816 0.184,-0.352 0.552,-0.568 0.976,-0.568 0.64,0 1.12,0.464 1.12,1.088 0,0.464 -0.264,0.864 -0.768,1.152 l -0.736,0.432 c -1.184,0.68 -1.528,1.224 -1.592,2.488 h 3.776 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path921"
|
||||
d="m 33.633599,-5.7864 c -0.528,0 -1.008,0.24 -1.304,0.632 -0.368,0.512 -0.552,1.28 -0.552,2.352 0,1.952 0.64,2.984 1.856,2.984 1.2,0 1.856,-1.032 1.856,-2.936 0,-1.12 -0.176,-1.872 -0.552,-2.4 -0.296,-0.4 -0.768,-0.632 -1.304,-0.632 z m 0,0.624 c 0.76,0 1.136,0.776 1.136,2.344 0,1.648 -0.368,2.416 -1.152,2.416 -0.744,0 -1.12,-0.8 -1.12,-2.392 0,-1.592 0.376,-2.368 1.136,-2.368 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path923"
|
||||
d="M 29.0576,8.0095996 V 12.1296 h 0.704 V 6.3455996 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path925"
|
||||
d="m 31.857599,10.8096 c 0.136,0.944 0.744,1.504 1.608,1.504 0.632,0 1.192,-0.304 1.528,-0.824 0.352,-0.568 0.512,-1.272 0.512,-2.3200004 0,-0.976 -0.144,-1.592 -0.48,-2.104 -0.312,-0.472 -0.808,-0.72 -1.432,-0.72 -1.08,0 -1.856,0.808 -1.856,1.928 0,1.064 0.72,1.8160004 1.744,1.8160004 0.536,0 0.936,-0.1920004 1.296,-0.6320004 -0.008,1.4400004 -0.456,2.2320004 -1.264,2.2320004 -0.496,0 -0.84,-0.32 -0.952,-0.88 z m 1.728,-3.8480004 c 0.656,0 1.152,0.552 1.152,1.296 0,0.712 -0.48,1.208 -1.176,1.208 -0.68,0 -1.104,-0.48 -1.104,-1.248 0,-0.728 0.472,-1.256 1.128,-1.256 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path927"
|
||||
d="m 29.0576,20.1416 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path929"
|
||||
d="m 34.561599,21.2136 c 0.592,-0.36 0.776,-0.648 0.776,-1.192 0,-0.912 -0.696,-1.544 -1.704,-1.544 -1,0 -1.704,0.632 -1.704,1.536 0,0.552 0.184,0.832 0.768,1.2 -0.648,0.328 -0.968,0.8 -0.968,1.44 0,1.056 0.776,1.792 1.904,1.792 1.12,0 1.904,-0.736 1.904,-1.792 0,-0.64 -0.32,-1.112 -0.976,-1.44 z m -0.928,-2.112 c 0.6,0 0.984,0.36 0.984,0.936 0,0.544 -0.392,0.904 -0.984,0.904 -0.6,0 -0.984,-0.36 -0.984,-0.92 0,-0.56 0.384,-0.92 0.984,-0.92 z m 0,2.432 c 0.704,0 1.184,0.464 1.184,1.136 0,0.696 -0.472,1.152 -1.2,1.152 -0.688,0 -1.168,-0.472 -1.168,-1.144 0,-0.688 0.472,-1.144 1.184,-1.144 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path931"
|
||||
d="m 29.0576,32.2736 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path933"
|
||||
d="m 35.593599,30.7216 h -3.792 v 0.696 h 3.064 c -1.352,1.928 -1.904,3.112 -2.328,4.976 h 0.752 c 0.312,-1.816 1.024,-3.376 2.304,-5.08 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path935"
|
||||
d="m 29.0576,44.4056 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path937"
|
||||
d="m 35.417599,44.2456 c -0.136,-0.944 -0.744,-1.504 -1.608,-1.504 -0.624,0 -1.184,0.304 -1.52,0.824 -0.36,0.568 -0.512,1.272 -0.512,2.32 0,0.976 0.136,1.592 0.48,2.104 0.304,0.472 0.8,0.72 1.424,0.72 1.08,0 1.856,-0.808 1.856,-1.936 0,-1.064 -0.72,-1.816 -1.736,-1.816 -0.56,0 -1,0.208 -1.304,0.632 0.008,-1.432 0.456,-2.224 1.264,-2.224 0.496,0 0.84,0.32 0.952,0.88 z m -1.704,1.336 c 0.68,0 1.104,0.48 1.104,1.248 0,0.728 -0.48,1.256 -1.128,1.256 -0.656,0 -1.152,-0.552 -1.152,-1.288 0,-0.72 0.48,-1.216 1.176,-1.216 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path939"
|
||||
d="m 29.0576,56.5376 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path941"
|
||||
d="m 35.241599,54.9856 h -2.928 l -0.424,3.088 h 0.648 c 0.328,-0.392 0.6,-0.528 1.048,-0.528 0.76,0 1.232,0.52 1.232,1.36 0,0.816 -0.472,1.312 -1.24,1.312 -0.616,0 -0.992,-0.312 -1.16,-0.952 h -0.704 c 0.096,0.464 0.176,0.688 0.344,0.896 0.32,0.432 0.896,0.68 1.536,0.68 1.144,0 1.944,-0.832 1.944,-2.032 0,-1.12 -0.744,-1.888 -1.832,-1.888 -0.4,0 -0.72,0.104 -1.048,0.344 l 0.224,-1.584 h 2.36 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path943"
|
||||
d="m 29.0576,68.669597 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path945"
|
||||
d="m 34.049599,71.389597 v 1.4 h 0.704 v -1.4 h 0.84 v -0.632 h -0.84 v -3.752 h -0.52 l -2.576,3.64 v 0.744 z m 0,-0.632 h -1.776 l 1.776,-2.552 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path947"
|
||||
d="m 29.0576,80.8016 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path949"
|
||||
d="m 33.201599,82.2576 h 0.088 0.296 c 0.768,0 1.176,0.36 1.176,1.056 0,0.728 -0.44,1.168 -1.168,1.168 -0.776,0 -1.152,-0.392 -1.2,-1.24 h -0.704 c 0.032,0.464 0.112,0.768 0.248,1.024 0.296,0.56 0.848,0.84 1.624,0.84 1.168,0 1.92,-0.704 1.92,-1.8 0,-0.736 -0.28,-1.136 -0.96,-1.376 0.528,-0.216 0.792,-0.616 0.792,-1.2 0,-0.992 -0.648,-1.592 -1.728,-1.592 -1.144,0 -1.752,0.64 -1.776,1.864 h 0.704 c 0.008,-0.352 0.04,-0.552 0.128,-0.728 0.16,-0.328 0.512,-0.52 0.952,-0.52 0.624,0 1,0.376 1,1 0,0.408 -0.144,0.656 -0.456,0.792 -0.192,0.08 -0.448,0.112 -0.936,0.12 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path951"
|
||||
d="m 29.0576,92.933596 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path953"
|
||||
d="m 35.481599,96.357596 h -2.984 c 0.072,-0.48 0.328,-0.784 1.024,-1.208 l 0.8,-0.448 c 0.792,-0.44 1.2,-1.032 1.2,-1.744 0,-0.48 -0.192,-0.928 -0.528,-1.24 -0.336,-0.304 -0.752,-0.448 -1.288,-0.448 -0.72,0 -1.256,0.256 -1.568,0.752 -0.2,0.304 -0.288,0.664 -0.304,1.248 h 0.704 c 0.024,-0.392 0.072,-0.624 0.168,-0.816 0.184,-0.352 0.552,-0.568 0.976,-0.568 0.64,0 1.12,0.464 1.12,1.088 0,0.464 -0.264,0.864 -0.768,1.152 l -0.736,0.432 c -1.184,0.68 -1.528,1.224 -1.592,2.488 h 3.776 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path955"
|
||||
d="m 29.624799,105.1224 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path957"
|
||||
d="m 33.480001,105.1224 v 4.12 h 0.704 v -5.784 h -0.464 c -0.248,0.888 -0.408,1.008 -1.496,1.152 v 0.512 z" /></g><g
|
||||
id="text448"
|
||||
style="font-variant:normal;font-weight:normal;font-size:9px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,397.5307,674.3055)"
|
||||
aria-label="AGND
|
||||
OUTA
|
||||
RFBA
|
||||
REFA
|
||||
DGND
|
||||
DACA"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path960"
|
||||
d="M 4.266,-1.971 4.941,0 H 5.877 L 3.573,-6.561 H 2.493 L 0.153,0 H 1.044 L 1.737,-1.971 Z M 4.032,-2.673 H 1.944 l 1.08,-2.988 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path962"
|
||||
d="M 12.384,-3.465 H 9.6479998 v 0.738 H 11.646 v 0.18 c 0,1.17 -0.864,2.016 -2.0610002,2.016 -0.666,0 -1.269,-0.243 -1.656,-0.666 -0.432,-0.468 -0.693,-1.251 -0.693,-2.061 0,-1.611 0.918,-2.673 2.304,-2.673 0.9990002,0 1.7190002,0.513 1.8990002,1.359 h 0.855 c -0.234,-1.332 -1.242,-2.097 -2.7450002,-2.097 -0.801,0 -1.449,0.207 -1.962,0.63 -0.765,0.63 -1.188,1.647 -1.188,2.826 0,2.016 1.233,3.42 3.006,3.42 C 10.296,0.207 10.998,-0.126 11.646,-0.837 l 0.207,0.873 h 0.531 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path964"
|
||||
d="m 18.819,-6.561 h -0.792 v 5.364 L 14.598,-6.561 H 13.689 V 0 h 0.792 V -5.319 L 17.874,0 h 0.945 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path966"
|
||||
d="m 20.304,0 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path968"
|
||||
d="m 5.202,5.5196997 c -1.881,0 -3.159,1.386 -3.159,3.438 0,2.0610003 1.269,3.4380003 3.168,3.4380003 0.801,0 1.503,-0.243 2.034,-0.693 0.711,-0.603 1.134,-1.62 1.134,-2.6910003 0,-2.115 -1.251,-3.492 -3.177,-3.492 z m 0,0.738 c 1.422,0 2.34,1.071 2.34,2.736 0,1.5840003 -0.945,2.6640003 -2.331,2.6640003 -1.404,0 -2.331,-1.08 -2.331,-2.7000003 0,-1.62 0.927,-2.7 2.322,-2.7 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path970"
|
||||
d="M 13.671,5.6276997 V 10.2357 c 0,0.882 -0.639,1.422 -1.692,1.422 -0.486,0 -0.882,-0.117 -1.197,-0.342 -0.324,-0.252 -0.477,-0.585 -0.477,-1.08 V 5.6276997 H 9.4680001 V 10.2357 c 0,1.332 0.9539999,2.16 2.5109999,2.16 1.539,0 2.529,-0.846 2.529,-2.16 V 5.6276997 Z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path972"
|
||||
d="m 18.387,6.3656997 h 2.151 v -0.738 H 15.39 v 0.738 h 2.16 V 12.1887 h 0.837 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path974"
|
||||
d="m 24.335099,10.2177 0.675,1.971 h 0.936 l -2.304,-6.5610003 h -1.08 l -2.34,6.5610003 h 0.891 l 0.693,-1.971 z m -0.234,-0.7020003 h -2.088 l 1.08,-2.988 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path976"
|
||||
d="m 3.7151999,21.551399 h 2.16 c 0.747,0 1.08,0.36 1.08,1.17 l -0.009,0.585 c 0,0.405 0.072,0.801 0.189,1.071 h 1.017 v -0.207 c -0.315,-0.216 -0.378,-0.45 -0.396,-1.323 -0.009,-1.08 -0.18,-1.404 -0.891,-1.71 0.738,-0.369 1.035,-0.81 1.035,-1.566 0,-1.134 -0.702,-1.755 -1.998,-1.755 h -3.024 v 6.561 h 0.837 z m 0,-0.738 v -2.259 h 2.025 c 0.468,0 0.738,0.072 0.945,0.252 0.225,0.189 0.342,0.486 0.342,0.873 0,0.783 -0.396,1.134 -1.287,1.134 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path978"
|
||||
d="m 10.1862,21.389399 h 3.132 v -0.738 h -3.132 v -2.097 h 3.564 v -0.738 H 9.3491998 v 6.561 H 10.1862 Z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path980"
|
||||
d="m 14.7492,24.377399 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path982"
|
||||
d="m 24.307201,22.406399 0.675,1.971 h 0.936 l -2.304,-6.561 h -1.08 l -2.34,6.561 h 0.891 l 0.693,-1.971 z m -0.234,-0.702 h -2.088 l 1.08,-2.988 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path984"
|
||||
d="m 4.2255001,33.740101 h 2.16 c 0.747,0 1.08,0.36 1.08,1.17 l -0.009,0.585 c 0,0.405 0.072,0.801 0.189,1.071 h 1.017 v -0.207 c -0.315,-0.216 -0.378,-0.45 -0.396,-1.323 -0.009,-1.08 -0.18,-1.404 -0.891,-1.71 0.738,-0.369 1.035,-0.81 1.035,-1.566 0,-1.134 -0.702,-1.755 -1.998,-1.755 h -3.024 v 6.561 h 0.837 z m 0,-0.738 v -2.259 h 2.025 c 0.468,0 0.738,0.072 0.945,0.252 0.225,0.189 0.342,0.486 0.342,0.873 0,0.783 -0.396,1.134 -1.287,1.134 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path986"
|
||||
d="m 10.6965,33.578101 h 3.573 v -0.738 h -3.573 v -2.097 h 3.708 v -0.738 H 9.8595005 v 6.561 H 14.5665 v -0.738 h -3.87 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path988"
|
||||
d="m 16.6995,33.578101 h 3.132 v -0.738 h -3.132 v -2.097 h 3.564 v -0.738 h -4.401 v 6.561 h 0.837 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path990"
|
||||
d="m 24.336,34.595101 0.675,1.971 h 0.936 l -2.304,-6.561 h -1.08 l -2.34,6.561 h 0.891 l 0.693,-1.971 z m -0.234,-0.702 h -2.088 l 1.08,-2.988 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path992"
|
||||
d="M 0.29070002,48.698101 H 2.8197 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 H 0.29070002 Z M 1.1277,47.960101 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path994"
|
||||
d="m 12.3687,45.233101 h -2.736 v 0.738 h 1.998 v 0.18 c 0,1.17 -0.864,2.016 -2.061,2.016 -0.666,0 -1.269,-0.243 -1.656,-0.666 -0.432,-0.468 -0.693,-1.251 -0.693,-2.061 0,-1.611 0.918,-2.673 2.304,-2.673 0.999,0 1.719,0.513 1.899,1.359 h 0.855 c -0.234,-1.332 -1.242,-2.097 -2.745,-2.097 -0.801,0 -1.449,0.207 -1.962,0.63 -0.765,0.63 -1.188,1.647 -1.188,2.826 0,2.016 1.233,3.42 3.006,3.42 0.891,0 1.593,-0.333 2.241,-1.044 l 0.207,0.873 h 0.531 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path996"
|
||||
d="m 18.8037,42.137101 h -0.792 v 5.364 l -3.429,-5.364 h -0.909 v 6.561 h 0.792 v -5.319 l 3.393,5.319 h 0.945 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path998"
|
||||
d="m 20.2887,48.698101 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1000"
|
||||
d="m -25.787699,60.886799 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1002"
|
||||
d="m -15.8247,58.915799 0.675,1.971 h 0.936 l -2.304,-6.561 h -1.08 l -2.34,6.561 h 0.891 l 0.693,-1.971 z m -0.234,-0.702 h -2.088 l 1.08,-2.988 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1004"
|
||||
d="m -8.1296999,56.359799 c -0.261,-1.44 -1.089,-2.142 -2.5290001,-2.142 -0.882,0 -1.593,0.279 -2.079,0.819 -0.594,0.648 -0.918,1.584 -0.918,2.646 0,1.08 0.333,2.007 0.945,2.646 0.513,0.522 1.161,0.765 2.016,0.765 1.6020001,0 2.5020001,-0.864 2.7000001,-2.601 h -0.864 c -0.072,0.45 -0.162,0.756 -0.297,1.017 -0.27,0.54 -0.828,0.846 -1.5300001,0.846 -1.305,0 -2.133,-1.044 -2.133,-2.682 0,-1.683 0.783,-2.718 2.061,-2.718 0.531,0 1.0260001,0.153 1.2960001,0.414 0.243,0.225 0.378,0.495 0.477,0.99 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1006"
|
||||
d="m -3.3237002,58.915799 0.675,1.971 h 0.936 l -2.304,-6.561 h -1.08 l -2.34,6.561 h 0.891 l 0.693,-1.971 z m -0.234,-0.702 h -2.088 l 1.08,-2.988 z" /></g><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path450"
|
||||
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="M 370.942,622.545 H 396 v -1.134 h -25.058 z" /><g
|
||||
id="text470"
|
||||
style="font-variant:normal;font-weight:normal;font-size:9px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,396,613.4174)"
|
||||
aria-label="/DACB
|
||||
(MSB) DB7
|
||||
DB6
|
||||
DB5
|
||||
DB4
|
||||
OUTB
|
||||
RFBB
|
||||
REFBV"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1009"
|
||||
d="M 2.061,-6.561 -0.072,0.18 h 0.495 l 2.133,-6.741 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1011"
|
||||
d="m 3.3030001,0 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1013"
|
||||
d="M 13.266,-1.971 13.941,0 h 0.936 l -2.304,-6.561 h -1.08 L 9.153,0 h 0.891 l 0.693,-1.971 z m -0.234,-0.702 h -2.088 l 1.08,-2.988 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1015"
|
||||
d="m 20.961,-4.527 c -0.261,-1.44 -1.089,-2.142 -2.529,-2.142 -0.882,0 -1.593,0.279 -2.079,0.819 -0.594,0.648 -0.918,1.584 -0.918,2.646 0,1.08 0.333,2.007 0.945,2.646 0.513,0.522 1.161,0.765 2.016,0.765 1.602,0 2.502,-0.864 2.7,-2.601 h -0.864 c -0.072,0.45 -0.162,0.756 -0.297,1.017 -0.27,0.54 -0.828,0.846 -1.53,0.846 -1.305,0 -2.133,-1.044 -2.133,-2.682 0,-1.683 0.783,-2.718 2.061,-2.718 0.531,0 1.026,0.153 1.296,0.414 0.243,0.225 0.378,0.495 0.477,0.99 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1017"
|
||||
d="m 22.211999,0 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1019"
|
||||
d="m -15.848099,5.6276997 c -0.9,1.179 -1.467,2.817 -1.467,4.23 0,1.4220003 0.567,3.0600003 1.467,4.2390003 h 0.495 c -0.792,-1.287 -1.233,-2.799 -1.233,-4.2390003 0,-1.431 0.441,-2.952 1.233,-4.23 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1021"
|
||||
d="m -10.7613,12.1887 1.845,-5.4990003 V 12.1887 h 0.792 V 5.6276997 h -1.161 l -1.908,5.7150003 -1.944,-5.7150003 h -1.161 V 12.1887 h 0.792 V 6.6896997 l 1.863,5.4990003 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1023"
|
||||
d="m -2.1105002,7.5536997 c 0,-0.45 -0.027,-0.576 -0.171,-0.882 -0.36,-0.756 -1.125,-1.152 -2.232,-1.152 -1.44,0 -2.331,0.738 -2.331,1.926 0,0.801 0.423,1.305 1.287,1.53 l 1.629,0.432 c 0.837,0.216 1.206,0.549 1.206,1.0620003 0,0.351 -0.189,0.711 -0.468,0.909 -0.261,0.189 -0.675,0.279 -1.206,0.279 -0.72,0 -1.197,-0.171 -1.512,-0.549 -0.243,-0.288 -0.351,-0.603 -0.342,-1.008 h -0.792 c 0.009,0.603 0.126,0.999 0.387,1.359 0.45,0.621 1.206,0.936 2.205,0.936 0.783,0 1.422,-0.18 1.845,-0.504 0.441,-0.351 0.72,-0.936 0.72,-1.503 0,-0.8100003 -0.504,-1.4040003 -1.395,-1.6470003 l -1.647,-0.441 c -0.792,-0.216 -1.08,-0.468 -1.08,-0.972 0,-0.666 0.585,-1.107 1.467,-1.107 1.044,0 1.629,0.468 1.638,1.332 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1025"
|
||||
d="M -0.75869998,12.1887 H 2.2023 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.7920003 -0.36,-1.2690003 -1.197,-1.5930003 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.66399998 z m 0.837,-3.7350003 v -2.088 H 1.6983 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.9970003 V 9.1916997 H 2.1213 c 0.738,0 1.179,0.423 1.179,1.1340003 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1027"
|
||||
d="m 5.3721,14.0967 c 0.9,-1.179 1.467,-2.817 1.467,-4.2300003 0,-1.422 -0.567,-3.06 -1.467,-4.239 h -0.495 c 0.792,1.287 1.233,2.799 1.233,4.239 0,1.4310003 -0.441,2.9520003 -1.233,4.2300003 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1029"
|
||||
d="m 10.8423,12.1887 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.2850003 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 V 6.3656997 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.6650003 -0.684,2.5380003 -1.98,2.5380003 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1031"
|
||||
d="m 17.2521,12.1887 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.7920003 -0.36,-1.2690003 -1.197,-1.5930003 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.7350003 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.9970003 V 9.1916997 h 2.043 c 0.738,0 1.179,0.423 1.179,1.1340003 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1033"
|
||||
d="m 27.2259,5.8076997 h -4.266 v 0.783 h 3.447 c -1.521,2.169 -2.142,3.5010003 -2.619,5.5980003 h 0.846 c 0.351,-2.043 1.152,-3.7980003 2.592,-5.7150003 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1035"
|
||||
d="m 10.8918,24.377399 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1037"
|
||||
d="m 17.2998,24.377399 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1039"
|
||||
d="m 27.073801,19.562399 c -0.153,-1.062 -0.837,-1.692 -1.809,-1.692 -0.702,0 -1.332,0.342 -1.71,0.927 -0.405,0.639 -0.576,1.431 -0.576,2.61 0,1.098 0.153,1.791 0.54,2.367 0.342,0.531 0.9,0.81 1.602,0.81 1.215,0 2.088,-0.909 2.088,-2.178 0,-1.197 -0.81,-2.043 -1.953,-2.043 -0.63,0 -1.125,0.234 -1.467,0.711 0.009,-1.611 0.513,-2.502 1.422,-2.502 0.558,0 0.945,0.36 1.071,0.99 z m -1.917,1.503 c 0.765,0 1.242,0.54 1.242,1.404 0,0.819 -0.54,1.413 -1.269,1.413 -0.738,0 -1.296,-0.621 -1.296,-1.449 0,-0.81 0.54,-1.368 1.323,-1.368 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1041"
|
||||
d="m 10.8918,36.509399 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1043"
|
||||
d="m 17.2998,36.509399 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1045"
|
||||
d="m 26.875801,30.128399 h -3.294 l -0.477,3.474 h 0.729 c 0.369,-0.441 0.675,-0.594 1.179,-0.594 0.855,0 1.386,0.585 1.386,1.53 0,0.918 -0.531,1.476 -1.395,1.476 -0.693,0 -1.116,-0.351 -1.305,-1.071 h -0.792 c 0.108,0.522 0.198,0.774 0.387,1.008 0.36,0.486 1.008,0.765 1.728,0.765 1.287,0 2.187,-0.936 2.187,-2.286 0,-1.26 -0.837,-2.124 -2.061,-2.124 -0.45,0 -0.81,0.117 -1.179,0.387 l 0.252,-1.782 h 2.655 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1047"
|
||||
d="m 10.8918,48.698101 h 2.529 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 h -2.529 z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1049"
|
||||
d="m 17.2998,48.698101 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1051"
|
||||
d="m 25.534801,47.123101 v 1.575 h 0.792 v -1.575 h 0.945 v -0.711 h -0.945 v -4.221 h -0.585 l -2.898,4.095 v 0.837 z m 0,-0.711 h -1.998 l 1.998,-2.871 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1053"
|
||||
d="m 88.313401,-67.5585 c -1.881,0 -3.159,1.386 -3.159,3.438 0,2.061 1.269,3.438 3.168,3.438 0.801,0 1.503,-0.243 2.034,-0.693 0.711,-0.603 1.134,-1.62 1.134,-2.691 0,-2.115 -1.251,-3.492 -3.177,-3.492 z m 0,0.738 c 1.422,0 2.34,1.071 2.34,2.736 0,1.584 -0.945,2.664 -2.331,2.664 -1.404,0 -2.331,-1.08 -2.331,-2.7 0,-1.62 0.927,-2.7 2.322,-2.7 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1055"
|
||||
d="m 96.7824,-67.4505 v 4.608 c 0,0.882 -0.639,1.422 -1.692,1.422 -0.486,0 -0.882,-0.117 -1.197,-0.342 -0.324,-0.252 -0.477,-0.585 -0.477,-1.08 v -4.608 h -0.837 v 4.608 c 0,1.332 0.954,2.16 2.511,2.16 1.539,0 2.529,-0.846 2.529,-2.16 v -4.608 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1057"
|
||||
d="m 101.4984,-66.7125 h 2.151 v -0.738 h -5.147999 v 0.738 h 2.159999 v 5.823 h 0.837 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1059"
|
||||
d="m 104.5224,-60.8895 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1061"
|
||||
d="m 86.486401,-51.526802 h 2.16 c 0.747,0 1.08,0.36 1.08,1.17 l -0.009,0.585 c 0,0.405 0.072,0.801 0.189,1.071 h 1.017 v -0.207 c -0.315,-0.216 -0.378,-0.45 -0.396,-1.323 -0.009,-1.08 -0.18,-1.404 -0.891,-1.71 0.738,-0.369 1.035,-0.81 1.035,-1.566 0,-1.134 -0.702,-1.755 -1.998,-1.755 h -3.024 v 6.561 h 0.837 z m 0,-0.738 v -2.259 h 2.025 c 0.468,0 0.738,0.072 0.945,0.252 0.225,0.189 0.342,0.486 0.342,0.873 0,0.783 -0.396,1.134 -1.287,1.134 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1063"
|
||||
d="m 92.957402,-51.688802 h 3.132 v -0.738 h -3.132 v -2.097 h 3.564 v -0.738 h -4.401 v 6.561 h 0.837 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1065"
|
||||
d="m 97.520402,-48.700802 h 2.960998 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.663998 z m 0.837,-3.735 v -2.088 h 1.62 c 0.467998,0 0.728998,0.063 0.953998,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.953998,0.234 z m 0,2.997 v -2.259 h 2.042998 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1067"
|
||||
d="m 103.5234,-48.700802 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1069"
|
||||
d="m 86.486401,-39.3381 h 2.16 c 0.747,0 1.08,0.36 1.08,1.17 l -0.009,0.585 c 0,0.405 0.072,0.801 0.189,1.071 h 1.017 v -0.207 c -0.315,-0.216 -0.378,-0.45 -0.396,-1.323 -0.009,-1.08 -0.18,-1.404 -0.891,-1.71 0.738,-0.369 1.035,-0.81 1.035,-1.566 0,-1.134 -0.702,-1.755 -1.998,-1.755 h -3.024 v 6.561 h 0.837 z m 0,-0.738 v -2.259 h 2.025 c 0.468,0 0.738,0.072 0.945,0.252 0.225,0.189 0.342,0.486 0.342,0.873 0,0.783 -0.396,1.134 -1.287,1.134 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1071"
|
||||
d="m 92.957402,-39.5001 h 3.573 v -0.738 h -3.573 v -2.097 h 3.708 v -0.738 h -4.545 v 6.561 h 4.707 v -0.738 h -3.87 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1073"
|
||||
d="m 98.9604,-39.5001 h 3.132 v -0.738 h -3.132 v -2.097 h 3.564 v -0.738 h -4.401 v 6.561 h 0.837 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1075"
|
||||
d="m 103.5234,-36.5121 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1077"
|
||||
d="m 88.340401,-24.3234 2.277,-6.561 h -0.891 l -1.818,5.553 -1.926,-5.553 h -0.9 l 2.358,6.561 z" /></g><g
|
||||
id="text474"
|
||||
style="font-variant:normal;font-weight:normal;font-size:8px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,486.8221,635.4142)"
|
||||
aria-label="DD"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1080"
|
||||
d="M 0.712,0 H 2.96 C 4.432,0 5.336,-1.104 5.336,-2.92 5.336,-4.728 4.44,-5.832 2.96,-5.832 H 0.712 Z m 0.744,-0.656 v -4.52 h 1.376 c 1.152,0 1.76,0.776 1.76,2.264 0,1.48 -0.608,2.256 -1.76,2.256 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1082"
|
||||
d="m 6.4944001,0 h 2.248 C 10.2144,0 11.1184,-1.104 11.1184,-2.92 c 0,-1.808 -0.896,-2.912 -2.3759999,-2.912 h -2.248 z m 0.744,-0.656 v -4.52 h 1.376 c 1.152,0 1.7599999,0.776 1.7599999,2.264 0,1.48 -0.6079999,2.256 -1.7599999,2.256 z" /></g><g
|
||||
id="text478"
|
||||
style="font-variant:normal;font-weight:normal;font-size:9px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,480.8126,625.6063)"
|
||||
aria-label="WR"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1085"
|
||||
d="M 6.696,0 8.361,-6.561 H 7.425 L 6.219,-1.233 4.725,-6.561 h -0.9 L 2.367,-1.233 1.134,-6.561 H 0.198 L 1.881,0 H 2.799 L 4.266,-5.391 5.778,0 Z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1087"
|
||||
d="m 10.17,-2.826 h 2.16 c 0.747,0 1.08,0.36 1.08,1.17 l -0.009,0.585 c 0,0.405 0.072,0.801 0.189,1.071 h 1.017 v -0.207 c -0.315,-0.216 -0.378,-0.45 -0.396,-1.323 -0.009,-1.08 -0.18,-1.404 -0.891,-1.71 0.738,-0.369 1.035,-0.81 1.035,-1.566 0,-1.134 -0.702,-1.755 -1.998,-1.755 H 9.3330003 V 0 H 10.17 Z m 0,-0.738 v -2.259 h 2.025 c 0.468,0 0.738,0.072 0.945,0.252 0.225,0.189 0.342,0.486 0.342,0.873 0,0.783 -0.396,1.134 -1.287,1.134 z" /></g><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path480"
|
||||
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 480.813,634.734 h 15.024 V 633.6 h -15.024 z" /><g
|
||||
id="text484"
|
||||
style="font-variant:normal;font-weight:normal;font-size:9px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,480.8126,613.4174)"
|
||||
aria-label="CS"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1090"
|
||||
d="m 5.958,-4.527 c -0.261,-1.44 -1.089,-2.142 -2.529,-2.142 -0.882,0 -1.593,0.279 -2.079,0.819 -0.594,0.648 -0.918,1.584 -0.918,2.646 0,1.08 0.333,2.007 0.945,2.646 0.513,0.522 1.161,0.765 2.016,0.765 1.602,0 2.502,-0.864 2.7,-2.601 H 5.229 c -0.072,0.45 -0.162,0.756 -0.297,1.017 -0.27,0.54 -0.828,0.846 -1.53,0.846 -1.305,0 -2.133,-1.044 -2.133,-2.682 0,-1.683 0.783,-2.718 2.061,-2.718 0.531,0 1.026,0.153 1.296,0.414 0.243,0.225 0.378,0.495 0.477,0.99 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1092"
|
||||
d="m 11.862,-4.635 c 0,-0.45 -0.027,-0.576 -0.171,-0.882 -0.36,-0.756 -1.125,-1.152 -2.2319999,-1.152 -1.44,0 -2.331,0.738 -2.331,1.926 0,0.801 0.423,1.305 1.287,1.53 L 10.044,-2.781 c 0.837,0.216 1.206,0.549 1.206,1.062 0,0.351 -0.189,0.711 -0.468,0.909 -0.261,0.189 -0.675,0.279 -1.2059999,0.279 -0.72,0 -1.197,-0.171 -1.512,-0.549 -0.243,-0.288 -0.351,-0.603 -0.342,-1.008 h -0.792 c 0.009,0.603 0.126,0.999 0.387,1.359 0.45,0.621 1.206,0.936 2.205,0.936 C 10.305,0.207 10.944,0.027 11.367,-0.297 c 0.441,-0.351 0.72,-0.936 0.72,-1.503 0,-0.81 -0.504,-1.404 -1.395,-1.647 L 9.0450001,-3.888 c -0.792,-0.216 -1.08,-0.468 -1.08,-0.972 0,-0.666 0.585,-1.107 1.467,-1.107 C 10.476,-5.967 11.061,-5.499 11.07,-4.635 Z" /></g><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path486"
|
||||
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 480.813,622.545 h 12.529 v -1.134 h -12.529 z" /><g
|
||||
id="text496"
|
||||
style="font-variant:normal;font-weight:normal;font-size:9px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,480.8126,601.2284)"
|
||||
aria-label="DB0 (LSB)
|
||||
DB1
|
||||
DB2
|
||||
DB3"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1095"
|
||||
d="M 0.801,0 H 3.33 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 H 0.801 Z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1097"
|
||||
d="M 7.2090001,0 H 10.17 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.4219999,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 C 10.134,-5.823 10.395,-5.76 10.62,-5.589 c 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.9539999,0.234 z m 0,2.997 V -2.997 H 10.089 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1099"
|
||||
d="m 14.976,-6.507 c -0.594,0 -1.134,0.27 -1.467,0.711 -0.414,0.576 -0.621,1.44 -0.621,2.646 0,2.196 0.72,3.357 2.088,3.357 1.35,0 2.088,-1.161 2.088,-3.303 0,-1.26 -0.198,-2.106 -0.621,-2.7 -0.333,-0.45 -0.864,-0.711 -1.467,-0.711 z m 0,0.702 c 0.855,0 1.278,0.873 1.278,2.637 0,1.854 -0.414,2.718 -1.296,2.718 -0.837,0 -1.26,-0.9 -1.26,-2.691 0,-1.791 0.423,-2.664 1.278,-2.664 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1101"
|
||||
d="m 22.1499,-6.561 c -0.9,1.179 -1.467,2.817 -1.467,4.23 0,1.422 0.567,3.06 1.467,4.239 h 0.495 c -0.792,-1.287 -1.233,-2.799 -1.233,-4.239 0,-1.431 0.441,-2.952 1.233,-4.23 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1103"
|
||||
d="m 24.5799,-6.561 h -0.837 V 0 h 4.077 v -0.738 h -3.24 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1105"
|
||||
d="m 33.390899,-4.635 c 0,-0.45 -0.027,-0.576 -0.171,-0.882 -0.36,-0.756 -1.125,-1.152 -2.232,-1.152 -1.44,0 -2.331,0.738 -2.331,1.926 0,0.801 0.423,1.305 1.287,1.53 l 1.629,0.432 c 0.837,0.216 1.206,0.549 1.206,1.062 0,0.351 -0.189,0.711 -0.468,0.909 -0.261,0.189 -0.675,0.279 -1.206,0.279 -0.72,0 -1.197,-0.171 -1.512,-0.549 -0.243,-0.288 -0.351,-0.603 -0.342,-1.008 h -0.792 c 0.009,0.603 0.126,0.999 0.387,1.359 0.45,0.621 1.206,0.936 2.205,0.936 0.783,0 1.422,-0.18 1.845,-0.504 0.441,-0.351 0.72,-0.936 0.72,-1.503 0,-0.81 -0.504,-1.404 -1.395,-1.647 l -1.647,-0.441 c -0.792,-0.216 -1.08,-0.468 -1.08,-0.972 0,-0.666 0.585,-1.107 1.467,-1.107 1.044,0 1.629,0.468 1.638,1.332 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1107"
|
||||
d="m 34.7409,0 h 2.961 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.422,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.468,0 0.729,0.063 0.954,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.954,0.234 z m 0,2.997 v -2.259 h 2.043 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1109"
|
||||
d="m 40.869902,1.908 c 0.9,-1.179 1.467,-2.817 1.467,-4.23 0,-1.422 -0.567,-3.06 -1.467,-4.239 h -0.495 c 0.792,1.287 1.233,2.799 1.233,4.239 0,1.431 -0.441,2.952 -1.233,4.23 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1111"
|
||||
d="M 0.801,12.1887 H 3.33 c 1.656,0 2.673,-1.242 2.673,-3.2850003 0,-2.034 -1.008,-3.276 -2.673,-3.276 H 0.801 Z m 0.837,-0.738 V 6.3656997 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 C 5.166,10.5777 4.482,11.4507 3.186,11.4507 Z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1113"
|
||||
d="M 7.2090001,12.1887 H 10.17 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.7920003 -0.36,-1.2690003 -1.197,-1.5930003 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.4219999,-0.459 h -2.664 z m 0.837,-3.7350003 v -2.088 h 1.62 c 0.4679999,0 0.7289999,0.063 0.9539999,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.9539999,0.234 z m 0,2.9970003 V 9.1916997 H 10.089 c 0.738,0 1.179,0.423 1.179,1.1340003 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1115"
|
||||
d="M 14.832,7.5536997 V 12.1887 h 0.792 V 5.6816997 h -0.522 c -0.279,0.999 -0.459,1.134 -1.683,1.296 v 0.576 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1117"
|
||||
d="M 0.801,24.3207 H 3.33 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 H 0.801 Z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1119"
|
||||
d="M 7.2090001,24.3207 H 10.17 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.4219999,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.4679999,0 0.7289999,0.063 0.9539999,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.9539999,0.234 z m 0,2.997 v -2.259 H 10.089 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1121"
|
||||
d="m 17.055,23.5377 h -3.357 c 0.081,-0.54 0.369,-0.882 1.152,-1.359 l 0.9,-0.504 c 0.891,-0.495 1.35,-1.161 1.35,-1.962 0,-0.54 -0.216,-1.044 -0.594,-1.395 -0.378,-0.342 -0.846,-0.504 -1.449,-0.504 -0.81,0 -1.413,0.288 -1.764,0.846 -0.225,0.342 -0.324,0.747 -0.342,1.404 h 0.792 c 0.027,-0.441 0.081,-0.702 0.189,-0.918 0.207,-0.396 0.621,-0.639 1.098,-0.639 0.72,0 1.26,0.522 1.26,1.224 0,0.522 -0.297,0.972 -0.864,1.296 l -0.828,0.486 c -1.332,0.765 -1.719,1.377 -1.791,2.799 h 4.248 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1123"
|
||||
d="M 0.801,36.509399 H 3.33 c 1.656,0 2.673,-1.242 2.673,-3.285 0,-2.034 -1.008,-3.276 -2.673,-3.276 H 0.801 Z m 0.837,-0.738 v -5.085 h 1.548 c 1.296,0 1.98,0.873 1.98,2.547 0,1.665 -0.684,2.538 -1.98,2.538 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1125"
|
||||
d="M 7.2090001,36.509399 H 10.17 c 0.621,0 1.08,-0.171 1.431,-0.549 0.324,-0.342 0.504,-0.81 0.504,-1.323 0,-0.792 -0.36,-1.269 -1.197,-1.593 0.603,-0.279 0.909,-0.756 0.909,-1.431 0,-0.486 -0.18,-0.9 -0.522,-1.206 -0.351,-0.315 -0.792,-0.459 -1.4219999,-0.459 h -2.664 z m 0.837,-3.735 v -2.088 h 1.62 c 0.4679999,0 0.7289999,0.063 0.9539999,0.234 0.234,0.18 0.36,0.45 0.36,0.81 0,0.36 -0.126,0.63 -0.36,0.81 -0.225,0.171 -0.486,0.234 -0.9539999,0.234 z m 0,2.997 v -2.259 H 10.089 c 0.738,0 1.179,0.423 1.179,1.134 0,0.702 -0.441,1.125 -1.179,1.125 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1127"
|
||||
d="m 14.49,33.512399 h 0.099 0.333 c 0.864,0 1.323,0.405 1.323,1.188 0,0.819 -0.495,1.314 -1.314,1.314 -0.873,0 -1.296,-0.441 -1.35,-1.395 h -0.792 c 0.036,0.522 0.126,0.864 0.279,1.152 0.333,0.63 0.954,0.945 1.827,0.945 1.314,0 2.16,-0.792 2.16,-2.025 0,-0.828 -0.315,-1.278 -1.08,-1.548 0.594,-0.243 0.891,-0.693 0.891,-1.35 0,-1.116 -0.729,-1.791 -1.944,-1.791 -1.287,0 -1.971,0.72 -1.998,2.097 h 0.792 c 0.009,-0.396 0.045,-0.621 0.144,-0.819 0.18,-0.369 0.576,-0.585 1.071,-0.585 0.702,0 1.125,0.423 1.125,1.125 0,0.459 -0.162,0.738 -0.513,0.891 -0.216,0.09 -0.504,0.126 -1.053,0.135 z" /></g><g
|
||||
id="g498"><g
|
||||
clip-path="url(#clipPath504)"
|
||||
id="g500"><g
|
||||
id="text508"
|
||||
style="font-variant:normal;font-weight:bold;font-size:8px;font-family:Helvetica;-inkscape-font-specification:Helvetica-Bold;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,405.5244,708.1512)"
|
||||
aria-label="DW, N OR PW PACKAGE"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1130"
|
||||
d="m 0.616,0 h 2.28 C 3.784,0 4.344,-0.208 4.744,-0.68 5.2,-1.224 5.448,-2.008 5.448,-2.92 5.448,-3.824 5.2,-4.608 4.744,-5.16 4.344,-5.632 3.792,-5.832 2.896,-5.832 h -2.28 z m 1.2,-1 v -3.832 h 1.08 c 0.904,0 1.352,0.632 1.352,1.92 C 4.248,-1.632 3.8,-1 2.896,-1 Z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1132"
|
||||
d="m 11.612,0 1.616,-5.832 H 11.956 L 11.084,-1.456 10.14,-5.832 H 8.9559998 l -0.904,4.368 -0.904,-4.368 h -1.272 l 1.648,5.832 h 1.08 l 0.952,-4.552 L 10.532,0 Z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1134"
|
||||
d="M 13.3776,-1.168 V 0 h 0.688 c 0.016,0.544 -0.208,0.856 -0.688,0.944 v 0.448 c 0.856,-0.128 1.232,-0.584 1.2,-1.464 v -1.096 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1136"
|
||||
d="m 21.3928,0 h 1.2 v -5.832 h -1.2 v 3.968 l -2.312,-3.968 h -1.232 V 0 h 1.2 v -4.032 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1138"
|
||||
d="m 28.416,-5.928 c -0.816,0 -1.488,0.272 -1.984,0.808 -0.52,0.56 -0.816,1.376 -0.816,2.248 0,0.872 0.296,1.696 0.816,2.248 0.504,0.544 1.16,0.808 1.992,0.808 0.832,0 1.488,-0.264 1.992,-0.808 0.504,-0.536 0.816,-1.384 0.816,-2.208 0,-0.912 -0.296,-1.736 -0.816,-2.288 -0.512,-0.552 -1.152,-0.808 -2,-0.808 z m 0.008,1.024 c 0.984,0 1.608,0.8 1.608,2.064 0,1.2 -0.648,2 -1.608,2 -0.976,0 -1.608,-0.8 -1.608,-2.032 0,-1.232 0.632,-2.032 1.608,-2.032 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1140"
|
||||
d="m 33.356001,-2.312 h 1.376 c 0.52,0 0.744,0.208 0.744,0.688 v 0.24 c -0.008,0.152 -0.008,0.296 -0.008,0.384 0,0.552 0.032,0.72 0.176,1 h 1.288 v -0.216 c -0.184,-0.104 -0.256,-0.224 -0.256,-0.48 -0.032,-1.72 -0.064,-1.8 -0.808,-2.12 0.656,-0.256 0.984,-0.728 0.984,-1.44 0,-0.464 -0.16,-0.888 -0.44,-1.176 -0.264,-0.272 -0.632,-0.4 -1.128,-0.4 h -3.128 V 0 h 1.2 z m 0,-1 v -1.52 h 1.448 c 0.344,0 0.48,0.032 0.632,0.152 0.144,0.12 0.216,0.32 0.216,0.592 0,0.28 -0.072,0.504 -0.216,0.624 -0.136,0.112 -0.288,0.152 -0.632,0.152 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1142"
|
||||
d="m 41.315198,-2.08 h 1.496 c 1.072,0 1.76,-0.76 1.76,-1.944 0,-1.168 -0.664,-1.808 -1.88,-1.808 h -2.576 V 0 h 1.2 z m 0,-1 v -1.752 h 1.12 c 0.64,0 0.936,0.28 0.936,0.872 0,0.6 -0.296,0.88 -0.936,0.88 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1144"
|
||||
d="m 50.679199,0 1.616,-5.832 h -1.272 l -0.872,4.376 -0.944,-4.376 h -1.184 l -0.904,4.368 -0.904,-4.368 h -1.272 l 1.648,5.832 h 1.08 l 0.952,-4.552 0.976,4.552 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1146"
|
||||
d="m 56.4144,-2.08 h 1.496 c 1.072,0 1.76,-0.76 1.76,-1.944 0,-1.168 -0.664,-1.808 -1.88,-1.808 h -2.576 V 0 h 1.2 z m 0,-1 v -1.752 h 1.12 c 0.64,0 0.936,0.28 0.936,0.872 0,0.6 -0.296,0.88 -0.936,0.88 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1148"
|
||||
d="m 63.378399,-1.176 0.384,1.176 h 1.232 l -2.016,-5.832 h -1.328 L 59.578399,0 h 1.224 l 0.392,-1.176 z m -0.328,-1 h -1.52 l 0.76,-2.28 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1150"
|
||||
d="m 70.598403,-3.856 c -0.04,-0.504 -0.144,-0.824 -0.392,-1.152 -0.448,-0.592 -1.168,-0.92 -2.04,-0.92 -1.648,0 -2.672,1.176 -2.672,3.064 0,1.88 1.016,3.048 2.64,3.048 1.456,0 2.416,-0.84 2.488,-2.176 h -1.168 c -0.08,0.744 -0.544,1.168 -1.288,1.168 -0.928,0 -1.472,-0.752 -1.472,-2.024 0,-1.288 0.568,-2.056 1.512,-2.056 0.696,0 1.088,0.336 1.248,1.048 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1152"
|
||||
d="m 72.706398,-1.952 0.6,-0.624 1.912,2.576 h 1.432 l -2.576,-3.32 2.328,-2.512 h -1.416 l -2.28,2.56 v -2.56 h -1.2 V 0 h 1.2 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1154"
|
||||
d="m 80.694401,-1.176 0.384,1.176 h 1.232 l -2.016,-5.832 h -1.328 L 76.894401,0 h 1.224 l 0.392,-1.176 z m -0.328,-1 h -1.52 l 0.76,-2.28 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1156"
|
||||
d="m 88.146397,-3.136 h -2.336 v 1 h 1.328 c -0.032,0.328 -0.112,0.528 -0.288,0.736 -0.288,0.352 -0.736,0.56 -1.192,0.56 -0.976,0 -1.664,-0.848 -1.664,-2.048 0,-1.256 0.608,-2.016 1.632,-2.016 0.416,0 0.768,0.12 1.032,0.352 0.168,0.144 0.256,0.28 0.36,0.584 h 1.128 c -0.144,-1.208 -1.12,-1.96 -2.528,-1.96 -1.68,0 -2.824,1.24 -2.824,3.056 0,1.768 1.152,3.056 2.728,3.056 0.784,0 1.312,-0.28 1.76,-0.936 l 0.144,0.768 h 0.72 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1158"
|
||||
d="m 90.510398,-2.512 h 2.792 v -1 h -2.792 v -1.32 h 3.016 v -1 h -4.216 V 0 h 4.36 v -1 h -3.16 z" /></g>
|
||||
</g></g><g
|
||||
id="text512"
|
||||
style="font-variant:normal;font-weight:bold;font-size:8px;font-family:Helvetica;-inkscape-font-specification:Helvetica-Bold;writing-mode:lr-tb;fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
transform="matrix(1,0,0,-1,430.4693,698.1733)"
|
||||
aria-label="(TOP VIEW)"><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1161"
|
||||
d="m 1.624,-5.832 c -0.92,1.392 -1.304,2.48 -1.304,3.712 0,1.24 0.384,2.328 1.304,3.72 h 0.8 c -0.856,-1.648 -1.12,-2.536 -1.12,-3.72 0,-1.176 0.272,-2.08 1.12,-3.712 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1163"
|
||||
d="m 5.7392,-4.832 h 1.704 v -1 h -4.672 v 1 h 1.768 V 0 h 1.2 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1165"
|
||||
d="m 10.4856,-5.928 c -0.8159999,0 -1.4879999,0.272 -1.9839999,0.808 -0.52,0.56 -0.816,1.376 -0.816,2.248 0,0.872 0.296,1.696 0.816,2.248 0.504,0.544 1.16,0.808 1.9919999,0.808 0.832,0 1.488,-0.264 1.992,-0.808 0.504,-0.536 0.816,-1.384 0.816,-2.208 0,-0.912 -0.296,-1.736 -0.816,-2.288 -0.512,-0.552 -1.152,-0.808 -2,-0.808 z m 0.008,1.024 c 0.984,0 1.608,0.8 1.608,2.064 0,1.2 -0.648,2 -1.608,2 -0.9759999,0 -1.6079999,-0.8 -1.6079999,-2.032 0,-1.232 0.632,-2.032 1.6079999,-2.032 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1167"
|
||||
d="m 15.3928,-2.08 h 1.496 c 1.072,0 1.76,-0.76 1.76,-1.944 0,-1.168 -0.664,-1.808 -1.88,-1.808 h -2.576 V 0 h 1.2 z m 0,-1 v -1.752 h 1.12 c 0.64,0 0.936,0.28 0.936,0.872 0,0.6 -0.296,0.88 -0.936,0.88 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1169"
|
||||
d="m 24.310399,0 2,-5.832 h -1.208 l -1.272,4.392 -1.296,-4.392 h -1.208 l 1.968,5.832 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1171"
|
||||
d="m 28.169599,-5.832 h -1.2 V 0 h 1.2 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1173"
|
||||
d="m 30.516799,-2.512 h 2.792 v -1 h -2.792 v -1.32 h 3.016 v -1 h -4.216 V 0 h 4.36 v -1 h -3.16 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1175"
|
||||
d="m 39.855999,0 1.616,-5.832 h -1.272 l -0.872,4.376 -0.944,-4.376 h -1.184 l -0.904,4.368 -0.904,-4.368 h -1.272 l 1.648,5.832 h 1.08 l 0.952,-4.552 0.976,4.552 z" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1177"
|
||||
d="m 42.539202,1.6 c 0.92,-1.392 1.304,-2.48 1.304,-3.712 0,-1.24 -0.384,-2.328 -1.304,-3.72 h -0.8 c 0.856,1.648 1.12,2.536 1.12,3.72 0,1.176 -0.272,2.08 -1.12,3.712 z" /></g><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path514"
|
||||
style="fill:none;stroke:#231f20;stroke-width:0.96399999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 473.386,682.356 h 3.628 m 0,0 v -9.241 m 0,0 h -3.628 m 0,0 v -3.175 m 0,0 h 3.628 m 0,0 v -9.241 m 0,0 h -3.628 m 0,0 v -3.118 m 0,0 h 3.628 m 0,0 v -9.184 m 0,0 h -3.628 m 0,0 v -3.062 m 0,0 h 3.628 m 0,0 v -9.184 m 0,0 h -3.628 m 0,0 z m 0,0 v -3.005 m 0,-0.113 h 3.628 m 0,0 v -9.184 m 0,0 h -3.628 m 0,0 v -3.232 m 0,0 h 3.628 m 0,0 v -9.184 m 0,0 h -3.628 m 0,0 v -3.118 m 0,0 h 3.628 m 0,0 v -9.241 m 0,0 h -3.628 m 0,0 v -3.005 m 0,0 h 3.628 m 0,0 v -9.241 m 0,0 h -3.628 m 0,0 z m 0,0.057 v -3.061 m 0,0.226 h 3.628 m 0,0 v -9.24 m 0,0 h -3.628 m 0,0 v -3.175 m 0,0 h 3.628 m 0,0 v -9.241 m 0,0 h -3.628 m 0,0 v -3.062 m -42.803,123.024 h -3.572 m 0,0 v -9.241 m 0,0 h 3.572 m 0,0 v -3.175 m 0,0 h -3.572 m 0,0 v -9.241 m 0,0 h 3.572 m 0,0 v -3.118 m 0,0 h -3.572 m 0,0 v -9.184 m 0,0 h 3.572 m 0,0 v -3.062 m 0,0 h -3.572 m 0,0 v -9.184 m 0,0 h 3.572 m 0,0 z m 0,0 v -3.005 m 0,-0.113 h -3.572 m 0,0 v -9.184 m 0,0 h 3.572 m 0,0 v -3.232 m 0,0 h -3.572" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path516"
|
||||
style="fill:none;stroke:#231f20;stroke-width:0.96399999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 427.011,620.617 v -9.184 m 0,0 h 3.572 m 0,0 v -3.118 m 0,0 h -3.572 m 0,0 v -9.241 m 0,0 h 3.572 m 0,0 v -3.005 m 0,0 h -3.572 m 0,0 v -9.241 m 0,0 h 3.572 m 0,0 z m 0,0.057 v -3.061" /></g></g></svg>
|
After Width: | Height: | Size: 58 KiB |
1890
pics/slas062e_volt.svg
Normal file
1890
pics/slas062e_volt.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 204 KiB |
BIN
schem_pdf/dac.pdf
Normal file
BIN
schem_pdf/dac.pdf
Normal file
Binary file not shown.
|
@ -8,7 +8,7 @@ required.
|
|||
|
||||
Measurements were performed, if not noted otherwise, with the Analog Discovery
|
||||
2 from Digilent as it has 16bit digital I/O Pins as well a a Waveform generator
|
||||
and 2 differential oszilloscope inputs. These were for all nescessary
|
||||
and 2 differential oszilloscope inputs\cite{ad2}. These were for all nescessary
|
||||
measurements enough. Though due to the size and construction of the device,
|
||||
which can be seen in figure \ref{fig:ad2}
|
||||
errors wer encountered while performing the measurements. These are noted on
|
||||
|
@ -25,7 +25,8 @@ occurance.
|
|||
|
||||
All testing was performed with an Atmel ATMega2560 due to it's large amount
|
||||
of I/O pins, 5V I/O which is the more common voltage level on CMOS
|
||||
peripherials, way of addressing pins (8 at a time) and availability. All
|
||||
peripherials, way of addressing pins (8 at a time) and availability.
|
||||
\cite{atmega2560} All
|
||||
testing software was written for this ATMega and compiled using the avr-gcc
|
||||
from the GNU-Project.
|
||||
|
||||
|
|
291
sections/DP/dac/main.tex
Normal file
291
sections/DP/dac/main.tex
Normal file
|
@ -0,0 +1,291 @@
|
|||
\subsection{Audio Digital-Analog-Converter}
|
||||
|
||||
A digital to analog converter takes a digital number and converts it to a
|
||||
analog signal. The output of one such conversion is called a sample. With
|
||||
enough samples per second various different waveforms can be produced which,
|
||||
when amplified and put onto a speaker, can be heared by the human ear as a tone.
|
||||
With various tones in series a melody can be produced, which is what the DAC in
|
||||
this implementation does.
|
||||
|
||||
\subsubsection{TLC 7528 Dual R2R Ladder DAC}
|
||||
|
||||
The TLC 7528 is a Dual output Parallel input R2R Ladder DAC with a maximum
|
||||
sample rate of 10MHz\cite{tlc7528} and which (should be) is monotonic over the
|
||||
entire D/A Conversion Range. The TLC-7528 was the only component chosen, where
|
||||
availability was not a factor, but rather due to it's design.It is the cheapest
|
||||
dual R2R Ladder dac which takes \textbf{PARALLEL} input, which was an important
|
||||
feature, because the backbone of the project is its parallel bus. Further the
|
||||
DAC was developed for audio aplications\cite{tlc7528} obvious and
|
||||
the TLC-7528 was the only IC available as DIP
|
||||
\footnote{DIP... Dual Inline Package}, of which the pinout can be seen in figure
|
||||
\ref{fig:tlc7528_pinout}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includesvg[height=.3\textheight, angle=0]{pics/slas062e_pinout.svg}
|
||||
\caption{TLC-7528 Pinout\cite{tlc7528}}
|
||||
\label{fig:tlc7528_pinout}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{IDT7201 CMOS FIFO Buffer}
|
||||
|
||||
The IDT7201 is an asychronous CMOS FIFO, which means that it can be read with
|
||||
a completely independant speed from which it is written and vice versa. It has
|
||||
9 bit words, which can be seen in figure \ref{fig:idt7201_pinout}, and can
|
||||
store up to 256 words\cite{idt7201}. It is used as a buffer
|
||||
to store data describing the targeted waveform in order to free time on the
|
||||
parallel bus for interaction with the 16550 UART.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includesvg[height=.3\textheight, angle=0]{pics/idt7201_pinout.svg}
|
||||
\caption{IDT-7201 Pinout\cite{idt7201}}
|
||||
\label{fig:idt7201_pinout}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Theory verfication}
|
||||
|
||||
Before tests of the complete unit were conducted, the functionality of the
|
||||
device and the validity of the knowledge of operations were performed. For that
|
||||
the DAC was directl connected to the ATMega without the FIFO infront of it.
|
||||
A saw was generated on only the DACA channel, which was put into voltage mode
|
||||
as described in the datasheet\cite{tlc7528} and seen in figure
|
||||
\ref{fig:tlc7528_volt}. After the result seen in \ref{fig:tlc7528_saw_nonlin}
|
||||
was found a lot of effort was put in to determine the source of the heavy noise,
|
||||
however no obvious conclusion can be made, execpt that it comes from the DAC
|
||||
itself and is consistant over whatever frequency used. A damaged IC could be
|
||||
the reason or a sloppy production progress. Filters can be used to reduce the
|
||||
noise, however this was not done in this thesis, as the generated audio does
|
||||
not seem to suffer from these non-linearities as badly as when measured
|
||||
standalone.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includesvg[height=.3\textheight, angle=0]{pics/slas062e_volt.svg}
|
||||
\caption{TLC-7528 in voltage modet\cite{tlc7528}}
|
||||
\label{fig:tlc7528_volt}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
ylabel=REFA Voltage,
|
||||
xlabel=Time,
|
||||
grid=both,
|
||||
minor tick num=5,
|
||||
xmin=-2.030599999999999e-05,
|
||||
xmax=0.000598364,
|
||||
width=\textwidth,
|
||||
height=0.4\textheight]
|
||||
|
||||
\addplot table [x=t, y=c1, col sep=comma, mark=none] {meas/20200210_saw_nonlin.csv};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{Measurement of a generated SAW signal via the TLC7528}
|
||||
\label{fig:tlc7528_saw_nonlin}
|
||||
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Schematics}
|
||||
Based on the descriptions in the datasheets the schematic in figure
|
||||
\ref{fig:schem_dac} was developed.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[height=.65\textheight, angle=-90]{schem_pdf/dac.pdf}
|
||||
\caption{The schematic of the DAC Module}
|
||||
\label{fig:schem_dac}
|
||||
\end{figure}
|
||||
|
||||
\paragraph{Element Description}
|
||||
|
||||
Diodes D1 through D4 are used as OR-Gates in conjunction with R1 and R2 to
|
||||
generate the $\lnot MODRD$ and $\lnot MODWR$ signals for the D Flip-Flop
|
||||
\footnote{74HC374\cite{74hc374}} and FIFO respectively, by these formulas:
|
||||
|
||||
$\lnot MODRD = \lnot RD \lor \lnot MS2$
|
||||
|
||||
$\lnot MODWR = \lnot WR \lor \lnot MS2$
|
||||
|
||||
On a read access, the output enable of the D-Latch becomes low, which writes
|
||||
the status bits of the FIFO onto the data bus. C1, C2 and C3 are for stability
|
||||
reasons and are good practice, similar to the UART module. 74HC00 is a quad
|
||||
NAND-Gate\cite{74hc00} which is only used for inversion, chosen, like the
|
||||
74HC374, for availability reasons. The A part of the NAND-Gate inverts the $MR$
|
||||
signal from the bus to a $\not MR$ signal as the FIFOs reset is low active.
|
||||
The B part of the NAND-Gate inverts the FIFO Empty flag. It's output is
|
||||
connected to the $\lnot WR$ input of the DAC, which means that the DAC doesn't
|
||||
convert the input anymore, if the FIFO Empty flag is set to low.
|
||||
|
||||
The NE555 generates the audio clock signal, which should be the double of
|
||||
44.1kHz\footnote{Because we have 2 output channels} as 44.1kHz is the standard
|
||||
samling rate of CD-Audio\cite{iec60908}. Resistors R9 and R10 togehter with C7
|
||||
form the Oscillator part of the NE55. C4 is for stability reasons and doesn't
|
||||
define the frequency of the oscillator.
|
||||
|
||||
The generated clock is used for the $\lnot R$ of the FIFO and inverted on the
|
||||
DAC, which makes the data available on the output before being stored into the
|
||||
DAC as it receives the signal to store the data after the FIFO makes it
|
||||
available on the bus.
|
||||
|
||||
The DAC is operated in voltage mode as described in \ref{fig:tlc7528_volt},
|
||||
with it's voltage source beeing available at either 3.472Vpp for professional
|
||||
audio or 0.894Vpp for consumer audio, as defined per convention.\cite{audiob}
|
||||
The voltage source can be controlled via Jumper JP1.
|
||||
|
||||
C5 and C6 together with the load resistance on the audio jack form a high pass
|
||||
with a cutoff frequency of
|
||||
|
||||
$f_C = \frac{1}{2\pi R C} = \frac{1}{2\times \pi\times 10K\Omega\times 100\mu F} = 0.159154943Hz$
|
||||
|
||||
which should cover the hearable spectrum. The high pass was needed to generate
|
||||
a positive and negative half of the wave form, as the DC-Offset with a frequency
|
||||
of 0Hz is orders of magnitudes lower than the $f_C$ of the highpass gets
|
||||
filtered away.
|
||||
|
||||
R7 and R8 have been installed in order to unload the capacitors after device
|
||||
poweroff.
|
||||
|
||||
\paragraph{NE55 Clock Source}
|
||||
|
||||
Though used as a clovk source, the NE555 is a bad clock source if a stable
|
||||
clock is needed, because it varies widely with temperature, preasure and aging
|
||||
elements. A better solution would have been a quartz which is divided down to
|
||||
the desired frequency, whichwas what CD Drives used to do, but more commonly in
|
||||
modern CD Drives, an ASIC with internal PLL is used, thus the required quartz
|
||||
can no longer be sourced.
|
||||
|
||||
\subsubsection{Demonstration Software}
|
||||
|
||||
\paragraph{SAW Generator}
|
||||
|
||||
To prove read and write access from the D Flip-Flop and the FIFO are working,
|
||||
the same saw signal has been generated as in figure \ref{fig:tlc7528_saw_nonlin}
|
||||
, however the signal was put into the FIFO and not the DAC directly. The
|
||||
resulting saw wave can be seen in figure \ref{fig:tlc7528_saw_fifo} together
|
||||
with the FIFO Empty flag. The FIFO Empty flag, as explained before, is inverted
|
||||
and starts/ends the complete D/A conversion, until further data is received.
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
ylabel=REFA Voltage,
|
||||
xlabel=Time,
|
||||
grid=both,
|
||||
minor tick num=5,
|
||||
xmin=0.02023862769230769,
|
||||
xmax=0.02642198769230769,
|
||||
width=\textwidth,
|
||||
height=0.4\textheight]
|
||||
|
||||
\addplot table [x=t, y=c1, col sep=comma, mark=none] {meas/20200308fifo_44_1_saw_withfifoempty.csv};
|
||||
\addplot table [x=t, y=c2, col sep=comma, mark=none] {meas/20200308fifo_44_1_saw_withfifoempty.csv};
|
||||
\legend{REFA,$\lnot EF$}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{Measurement of a generated SAW signal with the FIFO Empty flag}
|
||||
\label{fig:tlc7528_saw_fifo}
|
||||
|
||||
\end{figure}
|
||||
|
||||
The time difference betwen a stor and complete write cycle can be seen in figure
|
||||
\ref{fig:fifo_dac_store}, while the figure \ref{fig:fifo_dac} shows the
|
||||
transmission between dac and fifo in more detail.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth, angle=0]{meas/20200308fifo_44_1_cnt.png}
|
||||
\caption{A transmission between the FIFO and the DAC}
|
||||
\label{fig:fifo_dac}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth, angle=0]{meas/20200308fifo_44_1_saw.png}
|
||||
\caption{A fifo store operation in contrast to the load operation}
|
||||
\label{fig:fifo_dac_store}
|
||||
\end{figure}
|
||||
|
||||
The initialisation routines and read/write operations for the DAC module are
|
||||
basically the same as for the UART module, and have thus been ommitted. They
|
||||
can be seen in listing \ref{lst:16550-transmit} and partially in listing
|
||||
\ref{lst:16550-transmit}.
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:dac_saw}, caption={SAW Generation for the DAC with FIFO},
|
||||
style=cstyle, firstline=134, lastline=144]
|
||||
{code/dac/saw_fifo_backplane/src/main.c}
|
||||
|
||||
|
||||
\paragraph{Sine Generator}
|
||||
|
||||
As a further example a sine was generated and played on the DAC. The ATMega
|
||||
itself is not powerful enough to generate the sine on the fly, therefore a
|
||||
lookup-table had to be generated, which can be seen in listing
|
||||
\ref{lst:dac_sine_lut}. How the data is transmitted to the FIFO can be seen
|
||||
in listing \ref{lst:dac_sine} and figure \ref{fig:fifo_sine_store} and the
|
||||
resulting sine on both output channels can be seen in figure
|
||||
\ref{fig:sine_dacab}.
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:dac_sine_lut}, caption={Sine LUT Generation},
|
||||
style=cstyle, firstline=118, lastline=123]
|
||||
{code/dac/sine_fifo_backplane/src/main.c}
|
||||
|
||||
The look-up table has a size of 256, which is the maximum value an 8 bit integer
|
||||
can take. This size was chosen to make operation faster as it only takes
|
||||
one cycle to load an array value into a register and another one to store it
|
||||
into the GPIO register. The sine table in further examples was pre-genrated on
|
||||
the compiling host to reduce startup time. The mothod shown in listing
|
||||
\ref{lst:dac_sine_lut} is not fast due to the lack of a floating point unit
|
||||
on the AVR. \cite{atmega2560}
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:dac_sine}, caption={DAC Sine Generation},
|
||||
style=cstyle, firstline=141, lastline=152]
|
||||
{code/dac/sine_fifo_backplane/src/main.c}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=\textwidth, angle=0]{meas/20200310sine_dac.png}
|
||||
\caption{Storage and retrieval of a sine to and from the FIFO}
|
||||
\label{fig:fifo_sine_store}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
ylabel=Channel Voltage,
|
||||
xlabel=Time,
|
||||
grid=both,
|
||||
minor tick num=5,
|
||||
xmin=-0.001746707777777778,
|
||||
xmax=0.001774992222222222,
|
||||
width=\textwidth,
|
||||
height=0.4\textheight]
|
||||
|
||||
\addplot table [x=t, y=c1, col sep=comma, mark=none] {meas/20200310sine_dac_osz.csv};
|
||||
\addplot table [x=t, y=c2, col sep=comma, mark=none] {meas/20200310sine_dac_osz.csv};
|
||||
\legend{DACA,DACB}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{Measuremet of the generated sine from the sine LUT on DACA and DACB}
|
||||
\label{fig:sine_dacab}
|
||||
|
||||
\end{figure}
|
||||
|
||||
\section{Addressing DACA and DACB}
|
||||
|
||||
The DAC used has 2 output channels which can be selected by the
|
||||
$\lnot DACA/DACB$ pin as seen in figure \ref{fig:tlc7528_pinout}. This pin was
|
||||
mapped to bit 0 of the address bus in order to make use of it. Bit 8 on the fifo
|
||||
was used to store the bit. It was not implemented with half the bus clock to
|
||||
make both channels independent of each other. This however uses more time on the
|
||||
backend because it means the fifo is used up at twice the speed. No current
|
||||
example makes use of this, but it may be used in future examples and
|
||||
implementations on this unit.
|
||||
|
||||
On the audio jack DACA is mapped to the right channel and DACB to the left
|
||||
channel.
|
81
sections/DP/fpga_interface/main.tex
Normal file
81
sections/DP/fpga_interface/main.tex
Normal file
|
@ -0,0 +1,81 @@
|
|||
\subsection{FPGA to Hardware interface}
|
||||
|
||||
To make the Hardware work with the FPGA's 3.3V I/O, level shifter have been
|
||||
installed and a FPGA module was built. This module maps the IO/Pins in a similar
|
||||
way to the ATMega 2560 used in examples before. The bidirectional 5V<->3.3V
|
||||
logic level converters have been obtained on amazon, and have not been well
|
||||
documented. Their functionality has been tested and verified in both directions,
|
||||
which can be seen in figures \ref{fig:3v35v} and \ref{fig:5v3v3}. The schematic
|
||||
has also been determined through measurements with a multimeter and the
|
||||
schematic in figure \ref{fig:schem_lvlshift} shows similar resistor values in
|
||||
the same configuration \cite{lvlshift}.
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
ylabel=Lane Voltage,
|
||||
xlabel=Time,
|
||||
grid=both,
|
||||
xmin=-1.151135531135531e-06,
|
||||
xmax=5.488864468864469e-06,
|
||||
minor tick num=5,
|
||||
width=\textwidth,
|
||||
height=0.5\textheight]
|
||||
|
||||
\addplot table [x=t, y=c1, col sep=comma, mark=none] {meas/20200301shift3v35v.csv};
|
||||
\addplot table [x=t, y=c2, col sep=comma, mark=none] {meas/20200301shift3v35v.csv};
|
||||
\legend{LV-Side,HV-Side}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{3.3V to 5V conversion using the level shifter}
|
||||
\label{fig:3v35v}
|
||||
\end{figure}
|
||||
|
||||
The in figure \ref{fig:3v35v} shown output on the HV side, corresponds with the
|
||||
schematics in figure \ref{fig:schem_lvlshift} where it can be seen that the
|
||||
resistor R2 is loading the bus capacitance to a 5V high state.
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
ylabel=Lane Voltage,
|
||||
xlabel=Time,
|
||||
grid=both,
|
||||
xmin=-7.427469135802469e-07,
|
||||
xmax=3.567253086419753e-06,
|
||||
minor tick num=5,
|
||||
width=\textwidth,
|
||||
height=0.5\textheight]
|
||||
|
||||
\addplot table [x=t, y=c1, col sep=comma, mark=none] {meas/20200301shift5v3v3.csv};
|
||||
\addplot table [x=t, y=c2, col sep=comma, mark=none] {meas/20200301shift5v3v3.csv};
|
||||
\legend{LV-Side,HV-Side}
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{5V to 3.3V conversion using the level shifter}
|
||||
\label{fig:5v3v3}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[height=.4\textheight, angle=0]{pics/bidirectonal-mosfet-level-shifter.png}
|
||||
\caption{The internal schematics of the level shifter\cite{lvlshift}}
|
||||
\label{fig:schem_lvlshift}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Measurement error}
|
||||
|
||||
During an attempt to measure wether the level shifters in the final module were
|
||||
working, a measurement between the LV and the HV side showed only a difference
|
||||
of 0.7V. After some troubleshooting, it was found that the Analog Discovery has
|
||||
clamping diodes against the 3.3V rail shown in figure \ref{fig:ad2_diode}. These
|
||||
diodes produce the 0.7V offset and prevent the parallel bus from rising to
|
||||
5V when a digial I/O pin of the Analog Discovery 2 is connected to the bus.
|
||||
\cite{DB3S406F0L}.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[height=.4\textheight, angle=0]{pics/ad2_dio.png}
|
||||
\caption{The internal clamping diodes of the Analog Discovery 2\cite{ad2}}
|
||||
\label{fig:ad2_diode}
|
||||
\end{figure}
|
|
@ -1,3 +1,5 @@
|
|||
\section{Textadventure}
|
||||
|
||||
To illustrate how the components work together and can be used in various
|
||||
different applications, a small text-adventure with audio effects was written in
|
||||
C. The main goal was to show the capabilities of even small systems like the
|
||||
|
@ -5,6 +7,8 @@ one developed.
|
|||
|
||||
\subsection{General Implementation details}
|
||||
|
||||
\subsubsection{General definitions and pinout of the AVR}
|
||||
|
||||
Like the before examples, the textadventure was implemented on an ATMega2560
|
||||
and uses 3 different Registers for transmission: PORTF, PORTK and PORTL for
|
||||
address bus, data bus and control bus respectively, as can be seen in listing
|
||||
|
@ -15,11 +19,259 @@ address bus, data bus and control bus respectively, as can be seen in listing
|
|||
label={lst:textadv-avr.h}, caption={The avr.h header file},
|
||||
columns=flexible, style=cstyle]{./code/textadv/include/avr.h}
|
||||
|
||||
The in listing \ref{lst:textadv-avr.h} shown defines MR_SHIFT, WR_SHIFT,
|
||||
The in listing \ref{lst:textadv-avr.h} shown preprocessor macros
|
||||
MR_SHIFT, WR_SHIFT,
|
||||
RD_SHIFT, CS_UART_SHIFT and CS_DAC_SHIFT are used to indicate the position of
|
||||
the corresponding control lines inside the control bus register. All other
|
||||
shift values are the same bitordering in input as in output.
|
||||
|
||||
The BUS_HOLD_US is used to tell the avr how many microsecons it takes for the
|
||||
data bus to be latched into input register of the devices on write or how long
|
||||
it takes for the data bus to become stable on read.
|
||||
it takes for the data bus to become stable on read. A delay of less than 1
|
||||
microsecond is not possible due to limitations of the AVR and the bus capacity,
|
||||
which increases the BER\footnote{BER...Bit Error Ratio} to a level which effects
|
||||
regular operation.
|
||||
|
||||
\subsubsection{Read and Write routines}
|
||||
|
||||
The set_addr function is the same as in the UART example code in listing
|
||||
\ref{lst:16550-general} and has therefore been omitted, execept for its definiton
|
||||
in the avr.h file in listing \ref{lst:textadv-avr.h}. The read and write
|
||||
functions for the UART module and the DAC module are the same as in the example
|
||||
code for the modules and have been ommited therefore as well.
|
||||
|
||||
\subsubsection{UART and DAC update polling}
|
||||
|
||||
The AVR constantly polls the DAC and UART modules for updates as can be seen in
|
||||
listing \ref{lst:textadv-routine}. The routine\_MODULE functions poll their
|
||||
respective modules for updates as can be seen in listings
|
||||
\ref{lst:textadv-routine-uart} and \ref{lst:textadv-routine-dac}. When a
|
||||
character is received, it is stored inside a bufer array and regular operation
|
||||
continues. If the $\lnot EF$ status bit is set in a read from the dac, the
|
||||
feed\_dac function is called which stores 256 bytes into the DAC and regular
|
||||
operation continues.
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-routine}, caption={The routine function looped by the main},
|
||||
columns=flexible, style=cstyle, firstline=105, lastline=110]
|
||||
{code/textadv/src/main.c}
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-routine-uart}, caption={The routine function for the UART},
|
||||
columns=flexible, style=cstyle, firstline=105, lastline=118]
|
||||
{code/textadv/src/16550.c}
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-routine-dac}, caption={The routine function for the DAC},
|
||||
columns=flexible, style=cstyle, firstline=197, lastline=203]
|
||||
{code/textadv/src/dac.c}
|
||||
|
||||
\subsection{DAC sound generation}
|
||||
|
||||
\subsubsection{DAC modes}
|
||||
|
||||
The DAC can produced any waveform described by 8 bit unsigned PCM code. Though
|
||||
possible to feed predefined waveforms into the DAC, the AVR doesn't have enough
|
||||
onboard memory to store more than a few seconds of these waveforms.
|
||||
|
||||
For example to store one second of 8 bit unsigned PCM Code at 2 times 44.1KHz
|
||||
sampling rate of the DAC, the AVR would have to store
|
||||
$s = 2 \times 44100\frac{Bytes}{s}*1s = 2\times 44100 Bytes = 88.2KB$, but it
|
||||
has only a total of 256KB of onboard flash\cite{atmega2560} which makes for a
|
||||
total track lengh of $ t = \frac{256KB}{88.2\frac{KB}{s}} = 2.9s$ with only
|
||||
one track.
|
||||
|
||||
Therefore the AVR generates the audio on runtime. To do that it has 6 builtin
|
||||
modes in which it can run, as can be seen in listing
|
||||
\ref{lst:textadv-dac-modes}:
|
||||
|
||||
\begin{enumerate}
|
||||
\item{silent mode:}
|
||||
The DAC produces no output at all and is completely silent.
|
||||
\item{sine mode:}
|
||||
The DAC produces a sine with a specific frequency and an
|
||||
amplitude of 255.
|
||||
\item{square mode:}
|
||||
The DAC produces a square wave with a specific frequency and an
|
||||
amplitude of 255.
|
||||
|
||||
\item{saw mode:}
|
||||
The DAC produces a saw wave with a specific frequency and an
|
||||
amplitude of 255.
|
||||
|
||||
\item{noise mode:}
|
||||
The DAC produces a pseudo-random white-noise with a maximum
|
||||
amplitude of 255.
|
||||
\item{triangle mode:}
|
||||
The DAC produces a triangle wave with a specific frequency and
|
||||
an amplitude of 255.
|
||||
\end{enumerate}
|
||||
|
||||
To perform these tasks the DAC takes two parameters, again seen in listing
|
||||
\ref{lst:textadv-dac-modes}:
|
||||
\begin{itemize}
|
||||
\item{A frequency deviation:}
|
||||
Used to tell the dac how much the desired frequency deviates
|
||||
from the base frequency of each waveform.
|
||||
\item{A mode:}
|
||||
Used to tell it which waveform to generate
|
||||
\end{itemize}
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-dac-modes}, caption={The DAC operation modes},
|
||||
columns=flexible, style=cstyle, firstline=25, lastline=38]
|
||||
{code/textadv/include/dac.h}
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-dac-gen}, caption={The DAC waveform generation code},
|
||||
columns=flexible, style=cstyle, firstline=61, lastline=198]
|
||||
{code/textadv/src/dac.c}
|
||||
|
||||
\subsubsection{Tones and Tracks}
|
||||
|
||||
A sound track inside the textadventure consists of independent tones. A tone is
|
||||
a waveform at a specific frequency played for a specific time. To perform the
|
||||
specific time functionality independant of DAC speed, an ISR
|
||||
\footnote{ISR...Interrupt Service Routine} on the AVR was used to change to
|
||||
the next tone every millisecond. A track is an array of tones with an end marker
|
||||
tone at the end which is a tone with a length of 0ms. The end marker tone tells
|
||||
the ISR to reset to the initial tone. The ISR can be seen in listing
|
||||
\ref{lst:textadv-isr} and the sound update function, which actually updates the
|
||||
current tone and is responsible for playing a track in listing
|
||||
\ref{lst:textadv-upsnd}. The output of an example track can be seen in
|
||||
figures \ref{fig:textadv_track_ex1} and \ref{fig:textadv_track_ex2}.
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-isr}, caption={The ISR which fires every millisecond},
|
||||
columns=flexible, style=cstyle, firstline=31, lastline=34]
|
||||
{code/textadv/src/interrupt.c}
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-upsnd}, caption={The sound update function},
|
||||
columns=flexible, style=cstyle, firstline=218, lastline=262]
|
||||
{code/textadv/src/sound.c}
|
||||
\newpage
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
ymin=-0.5025374538865546,
|
||||
ymax=-.0580652077731092,
|
||||
ylabel=Time,
|
||||
xlabel=Track output,
|
||||
ymajorgrids=true,
|
||||
width=\textwidth,
|
||||
height=0.98\textheight]
|
||||
|
||||
\addplot table [x=c1, y=t, col sep=comma, mark=none] {meas/20200315audio_multiple_voices.csv};
|
||||
\addplot table [x=c2, y=t, col sep=comma, mark=none] {meas/20200315audio_multiple_voices.csv};
|
||||
\legend{DACA,DACB}
|
||||
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
|
||||
\caption{The output of an example track part 1}
|
||||
\label{fig:textadv_track_ex1}
|
||||
\end{figure}
|
||||
\newpage
|
||||
\begin{figure}[H]
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
ymin=-.0580652077731092,
|
||||
ymax=0.4444722461134454,
|
||||
ylabel=Time,
|
||||
xlabel=Track output,
|
||||
ymajorgrids=true,
|
||||
width=\textwidth,
|
||||
height=0.98\textheight]
|
||||
|
||||
\addplot table [x=c1, y=t, col sep=comma, mark=none] {meas/20200315audio_multiple_voices.csv};
|
||||
\addplot table [x=c2, y=t, col sep=comma, mark=none] {meas/20200315audio_multiple_voices.csv};
|
||||
\legend{DACA,DACB}
|
||||
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\caption{The output of an example track part 2}
|
||||
\label{fig:textadv_track_ex2}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Track switching}
|
||||
|
||||
To switch tracks on different actions, there is a map of tracks associated with
|
||||
rooms. Every room has an associated track, where the association can change on
|
||||
actions performed, which allows for a game atmosphere change. Track changes are
|
||||
performed outside the ISR, which could theoretically result in a race condition
|
||||
where the ISR would load a faulty track for 1ms if the track change was not
|
||||
performed fast enough, but this is prevented by disabling global interrupts
|
||||
during a track change.
|
||||
|
||||
\subsection{User command interpretation}
|
||||
|
||||
\subsubsection{Command structure and pasring}
|
||||
As in other text adventures \cite{dunnet} a command consits of one line of
|
||||
input terminated by a newline or line feed character \textbackslash n.
|
||||
The carriage return character which is sometimes transmitted with a line
|
||||
feed character is not parsed in this text adventure. Incoming character
|
||||
parsing can be seen in listings \ref{lst:textadv-uart-recv} and
|
||||
\ref{lst:textadv-ingest}.
|
||||
|
||||
As one command is parsed each part is required to be separated by an empty
|
||||
space character which is ascii code 32 \cite{ascii}. The first part of the given
|
||||
input is then compared to an array of actions a user can perform, for example
|
||||
use or search, as can be seen in listing \ref{lst:textadv-parsecmd}
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-uart-recv}, caption={The UART char receive code},
|
||||
columns=flexible, style=cstyle, firstline=105, lastline=118]
|
||||
{code/textadv/src/16550.c}
|
||||
|
||||
In listing \ref{lst:textadv-uart-recv} the comment echo back can be seen. The
|
||||
write\_char function before it writes the last received character back to the
|
||||
terminal which sent it. This is done to write what the user typed out to the
|
||||
terminal as otherwise it would not be seen what has been typed on any VT100
|
||||
compatiable terminal\cite{vt100} or terminal emulator.
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-ingest}, caption={The character ingest function},
|
||||
columns=flexible, style=cstyle, firstline=71, lastline=79]
|
||||
{code/textadv/src/game.c}
|
||||
|
||||
The in listing \ref{lst:textadv-ingest} shown branch overrides the last received
|
||||
character with 0x00 which is ascii NUL and decrements the buffer pointer by one
|
||||
if the received character was 0x7F. 0x7F is the ADCII DELETE character
|
||||
\cite{ascii} which instructs the receiving end that the last received character
|
||||
was a mistake and should be purged. This is also what a vt100 compiant terminal
|
||||
emulator sends when the backspace or delete key is pressed \cite{vt100}.
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-parsecmd}, caption={The command parsing function},
|
||||
columns=flexible, style=cstyle, firstline=31, lastline=69]
|
||||
{code/textadv/src/game.c}
|
||||
|
||||
\subsubsection{Command parameters}
|
||||
|
||||
Command paramters are interpreted as the string that follows the action
|
||||
and the space behind it. As can be seen in the case for ACTION\_USE in
|
||||
listing \ref{lst:textadv-perfact} the use item function is passed the
|
||||
command buffer\footnote{which is an address in memory} plus the length of the
|
||||
entered command plus one for the space. So the string starting at the passed
|
||||
address should match the start address of the parameter. If no parameter is
|
||||
supplied, the address should point to a character containing ASCII NUL, which
|
||||
marks the end of a string, bcause after comand parsing the string is overwritten
|
||||
with zeros as seen in listing \ref{lst:textadv-parsecmd}.
|
||||
|
||||
\lstinputlisting[language=C,frame=trBL,
|
||||
breaklines=true, breakautoindent=true, formfeed=\newpage,
|
||||
label={lst:textadv-perfact}, caption={The command execution routine},
|
||||
columns=flexible, style=cstyle, firstline=81, lastline=120]
|
||||
{code/textadv/src/game.c}
|
||||
|
|
8
sections/result.tex
Normal file
8
sections/result.tex
Normal file
|
@ -0,0 +1,8 @@
|
|||
The project was fully implemented with all functionality originally targeted.
|
||||
The system has been tested and verified and all example code have been
|
||||
documented and tested as running. Implementations in hardware were made in
|
||||
open-source programs and the RISC-V processor can compile using an open source
|
||||
toolchain. The completed project can be found on the USB stick which accompanies
|
||||
this thesis, or in the git repositories at
|
||||
\url{https://git.it-syndikat.org/tyrolyean/dipl.git} and
|
||||
\url{https://gitlab.com/YARM-project/}.
|
BIN
svg-inkscape/idt7201_pinout_svg-tex.pdf
Normal file
BIN
svg-inkscape/idt7201_pinout_svg-tex.pdf
Normal file
Binary file not shown.
58
svg-inkscape/idt7201_pinout_svg-tex.pdf_tex
Normal file
58
svg-inkscape/idt7201_pinout_svg-tex.pdf_tex
Normal file
|
@ -0,0 +1,58 @@
|
|||
%% Creator: Inkscape inkscape 0.92.4, www.inkscape.org
|
||||
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
|
||||
%% Accompanies image file 'idt7201_pinout_svg-tex.pdf' (pdf, eps, ps)
|
||||
%%
|
||||
%% To include the image in your LaTeX document, write
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics{<filename>.pdf}
|
||||
%% To scale the image, write
|
||||
%% \def\svgwidth{<desired width>}
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics[width=<desired width>]{<filename>.pdf}
|
||||
%%
|
||||
%% Images with a different path to the parent latex file can
|
||||
%% be accessed with the `import' package (which may need to be
|
||||
%% installed) using
|
||||
%% \usepackage{import}
|
||||
%% in the preamble, and then including the image with
|
||||
%% \import{<path to file>}{<filename>.pdf_tex}
|
||||
%% Alternatively, one can specify
|
||||
%% \graphicspath{{<path to file>/}}
|
||||
%%
|
||||
%% For more information, please see info/svg-inkscape on CTAN:
|
||||
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
|
||||
%%
|
||||
\begingroup%
|
||||
\makeatletter%
|
||||
\providecommand\color[2][]{%
|
||||
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
|
||||
\renewcommand\color[2][]{}%
|
||||
}%
|
||||
\providecommand\transparent[1]{%
|
||||
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
|
||||
\renewcommand\transparent[1]{}%
|
||||
}%
|
||||
\providecommand\rotatebox[2]{#2}%
|
||||
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
|
||||
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
|
||||
\ifx\svgwidth\undefined%
|
||||
\setlength{\unitlength}{214.55815325bp}%
|
||||
\ifx\svgscale\undefined%
|
||||
\relax%
|
||||
\else%
|
||||
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
|
||||
\fi%
|
||||
\else%
|
||||
\setlength{\unitlength}{\svgwidth}%
|
||||
\fi%
|
||||
\global\let\svgwidth\undefined%
|
||||
\global\let\svgscale\undefined%
|
||||
\makeatother%
|
||||
\begin{picture}(1,1.09981037)%
|
||||
\lineheight{1}%
|
||||
\setlength\tabcolsep{0pt}%
|
||||
\put(0,0){\includegraphics[width=\unitlength,page=1]{idt7201_pinout_svg-tex.pdf}}%
|
||||
\end{picture}%
|
||||
\endgroup%
|
BIN
svg-inkscape/slas062e_pinout_svg-tex.pdf
Normal file
BIN
svg-inkscape/slas062e_pinout_svg-tex.pdf
Normal file
Binary file not shown.
58
svg-inkscape/slas062e_pinout_svg-tex.pdf_tex
Normal file
58
svg-inkscape/slas062e_pinout_svg-tex.pdf_tex
Normal file
|
@ -0,0 +1,58 @@
|
|||
%% Creator: Inkscape inkscape 0.92.4, www.inkscape.org
|
||||
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
|
||||
%% Accompanies image file 'slas062e_pinout_svg-tex.pdf' (pdf, eps, ps)
|
||||
%%
|
||||
%% To include the image in your LaTeX document, write
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics{<filename>.pdf}
|
||||
%% To scale the image, write
|
||||
%% \def\svgwidth{<desired width>}
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics[width=<desired width>]{<filename>.pdf}
|
||||
%%
|
||||
%% Images with a different path to the parent latex file can
|
||||
%% be accessed with the `import' package (which may need to be
|
||||
%% installed) using
|
||||
%% \usepackage{import}
|
||||
%% in the preamble, and then including the image with
|
||||
%% \import{<path to file>}{<filename>.pdf_tex}
|
||||
%% Alternatively, one can specify
|
||||
%% \graphicspath{{<path to file>/}}
|
||||
%%
|
||||
%% For more information, please see info/svg-inkscape on CTAN:
|
||||
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
|
||||
%%
|
||||
\begingroup%
|
||||
\makeatletter%
|
||||
\providecommand\color[2][]{%
|
||||
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
|
||||
\renewcommand\color[2][]{}%
|
||||
}%
|
||||
\providecommand\transparent[1]{%
|
||||
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
|
||||
\renewcommand\transparent[1]{}%
|
||||
}%
|
||||
\providecommand\rotatebox[2]{#2}%
|
||||
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
|
||||
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
|
||||
\ifx\svgwidth\undefined%
|
||||
\setlength{\unitlength}{152.20749819bp}%
|
||||
\ifx\svgscale\undefined%
|
||||
\relax%
|
||||
\else%
|
||||
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
|
||||
\fi%
|
||||
\else%
|
||||
\setlength{\unitlength}{\svgwidth}%
|
||||
\fi%
|
||||
\global\let\svgwidth\undefined%
|
||||
\global\let\svgscale\undefined%
|
||||
\makeatother%
|
||||
\begin{picture}(1,1.02692507)%
|
||||
\lineheight{1}%
|
||||
\setlength\tabcolsep{0pt}%
|
||||
\put(0,0){\includegraphics[width=\unitlength,page=1]{slas062e_pinout_svg-tex.pdf}}%
|
||||
\end{picture}%
|
||||
\endgroup%
|
BIN
svg-inkscape/slas062e_volt_svg-tex.pdf
Normal file
BIN
svg-inkscape/slas062e_volt_svg-tex.pdf
Normal file
Binary file not shown.
58
svg-inkscape/slas062e_volt_svg-tex.pdf_tex
Normal file
58
svg-inkscape/slas062e_volt_svg-tex.pdf_tex
Normal file
|
@ -0,0 +1,58 @@
|
|||
%% Creator: Inkscape inkscape 0.92.4, www.inkscape.org
|
||||
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
|
||||
%% Accompanies image file 'slas062e_volt_svg-tex.pdf' (pdf, eps, ps)
|
||||
%%
|
||||
%% To include the image in your LaTeX document, write
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics{<filename>.pdf}
|
||||
%% To scale the image, write
|
||||
%% \def\svgwidth{<desired width>}
|
||||
%% \input{<filename>.pdf_tex}
|
||||
%% instead of
|
||||
%% \includegraphics[width=<desired width>]{<filename>.pdf}
|
||||
%%
|
||||
%% Images with a different path to the parent latex file can
|
||||
%% be accessed with the `import' package (which may need to be
|
||||
%% installed) using
|
||||
%% \usepackage{import}
|
||||
%% in the preamble, and then including the image with
|
||||
%% \import{<path to file>}{<filename>.pdf_tex}
|
||||
%% Alternatively, one can specify
|
||||
%% \graphicspath{{<path to file>/}}
|
||||
%%
|
||||
%% For more information, please see info/svg-inkscape on CTAN:
|
||||
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
|
||||
%%
|
||||
\begingroup%
|
||||
\makeatletter%
|
||||
\providecommand\color[2][]{%
|
||||
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
|
||||
\renewcommand\color[2][]{}%
|
||||
}%
|
||||
\providecommand\transparent[1]{%
|
||||
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
|
||||
\renewcommand\transparent[1]{}%
|
||||
}%
|
||||
\providecommand\rotatebox[2]{#2}%
|
||||
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
|
||||
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
|
||||
\ifx\svgwidth\undefined%
|
||||
\setlength{\unitlength}{501.17228747bp}%
|
||||
\ifx\svgscale\undefined%
|
||||
\relax%
|
||||
\else%
|
||||
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
|
||||
\fi%
|
||||
\else%
|
||||
\setlength{\unitlength}{\svgwidth}%
|
||||
\fi%
|
||||
\global\let\svgwidth\undefined%
|
||||
\global\let\svgscale\undefined%
|
||||
\makeatother%
|
||||
\begin{picture}(1,0.57613499)%
|
||||
\lineheight{1}%
|
||||
\setlength\tabcolsep{0pt}%
|
||||
\put(0,0){\includegraphics[width=\unitlength,page=1]{slas062e_volt_svg-tex.pdf}}%
|
||||
\end{picture}%
|
||||
\endgroup%
|
10
texput.log
10
texput.log
|
@ -1,21 +1,21 @@
|
|||
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2020.3.10) 19 MAR 2020 17:00
|
||||
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Arch Linux) (preloaded format=xelatex 2020.3.10) 22 MAR 2020 23:57
|
||||
entering extended mode
|
||||
\write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
**bericht.tex
|
||||
**main.texx
|
||||
|
||||
! Emergency stop.
|
||||
<*> bericht.tex
|
||||
<*> main.texx
|
||||
|
||||
End of file on the terminal!
|
||||
|
||||
|
||||
Here is how much of TeX's memory you used:
|
||||
3 strings out of 492483
|
||||
20 string characters out of 6134979
|
||||
19 string characters out of 6134979
|
||||
66274 words of memory out of 5000000
|
||||
4587 multiletter control sequences out of 15000+600000
|
||||
3640 words of font info for 14 fonts, out of 8000000 for 9000
|
||||
1348 hyphenation exceptions out of 8191
|
||||
0i,0n,0p,17b,6s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
No pages of output.
|
||||
|
|
Loading…
Reference in a new issue