Digitale Voice Recorder Digitale Voice Recorder Team 1
- Slides: 81
Digitale Voice Recorder
Digitale Voice Recorder Team 1: De Hardware
Team 1 Ellen Vandermeeren Gerry Branders Timmy Knevels Xavier Croissiaux
Opdracht: • Analoge Interface • Transducers • Power Supply
Specifieke opdrachten: • • • Mikrofoonversterker ADC Convertor DAC Convertor Luidsprekerversterker Luidspreker Voeding Overige Onderdelen Behuizing Koppeling Schema’s Print-layout …
Mikrofoonversterker
Ontwerp • Elektuur 1993: Juli/Augustus-nummer
Eigenschappen • Geschikt voor verschillende mikrofoonimpedanties • Keuze tussen spanningsversterking van 10 of 15 keer (20 of 23, 5 d. B) • Heel wat tegenkoppel door 2 direkt gekoppelde transistortrapjes • Zeer weinig ruis
Eigenschappen • Uitgangsimpedantie = 70 Ohm bij versterkingsfactor van 15 • Ingangsimpedantie = 30 k. Ohm • Laag stroomverbruik: 2, 5 m. A bij 9 V • THD +N (vervorming en ruis): 0, 045 % (Bandbreedte 22 k. Hz, uitgangssignaal 15 m. V) – Ruis: -65 d. B – Harmonische vervorming: -92 d. B
Overige
Luidsprekerversterker
Ontwerp • Elektuur 1985: Juli/Augustus-nummer
Eigenschappen • Voor luidspreker van 4 Ohm: Voeding: 3 V 9 V Ruststroom : 2, 5 m. A 7, 5 m. A Volle uitsturing: 80 m. A 270 ma Afgegeven vermogen: 100 m. W 1000 m. W
Werking • C 2 en C 6 ontkoppelen voeding • C 7 houdt gelijkspanning weg van de luidspreker • C 3 en C 5 vormen voor audiosignalen laagohmig pad naar massa • Signaal op ingang van de versterker via P 1 en C 4
Werking • R 4 en C 8 onderdrukken oscillatieneigingen • R 1 en R 3 bepalen de versterkingsfactor • C 1, parallel over R 1, zorgt dat boven 20 k. Hz minder wordt versterkt
Overige
De PCF 8591 • • • Analoge ingangen Hardware adressen Negatieve voeding Positieve voeding Analoge uitgang Referentiespanning Analoge massa Externe switch Oscilator in/uitgang I²C-bussen
D/A conversie • 8 datalijnen • 256 uitgangen • Uitgansspanning geregeld met weerstand • Referentiespanning
Spanningskarakteristiek
A/D conversie • successive approximation conversie • on-chip D/A converter + high-gain comparator • getriggerd op de dalende flank
Spanningskarakteristiek
Limietwaarden
Aansluitingsinformatie De analoge ingangen De analoge uitgang De referentiespanning Analoge massa De oscillator switch De oscillator De adresbus De i²c bus
De schakelaars en ledjes Opname/Weergave schakelaar Stopschakelaar s Q r Q s Q Groene led Rode led
Luidspreker • Platte inbouwluidspreker die zowel geschikt is voor spraakoverdracht als voor melders van oproep- en alarmtonen. • Technische spec. : Aluminium membraan Afm. korf-Æ 30 mm, hoogte 5 mm Imped. 8 W Nom. belasting max. 800 m. A Eigenfrequ. 1, 3 k. Hz Overdrachtsber. 8 k. Hz Geluidsniv. 70 d. B
• De impedantie van de versterker is 4 Ώ en de impedantie van de luidspreker is 8 Ώ. • Normaal : geen probleem • Anders : 8 Ώ parallel over de weerstand van de luidspreker
De microfoon • • • Goedkoop Schokbestendig Licht Grote gevoeligheid Zeer betrouwbaar
De voeding
Eigenschappen • • • Compactheid Bedrijfszekerheid Kostprijs Flexibiliteit Reset-signaal Beperkte uitgangsstroom (max. 0, 8 A)
I²C Systeem • In rust staan beide lijnen hoog. • De uitgangstransistor en zijn gespert. • Zodra geleiding gaat de lijn laag.
I²C • 2 lijnen SDA seriële data lijn • SCL seriële klok lijn • meerdere IC’s op 2 lijnen • Seriële transmissie
I²C • Bij D/A conversie wordt er een databyte meegestuurd.
I²C • Bij A/D conversie alleen adres + databyte
I²C • Start conditie • Stop conditie • 9 de puls Acknowledge
Digitale Voice Recorder Team 2: Het geheugen en de display
Team 2 Koen Vanhees Kristof Marneff Pieter Ketelslegers
Ons team kreeg de opdracht het geheugen en de display te ontwerpen. Concreet houdt dit in: • Bepalen van de geheugencapaciteit • Bepalen van het soort geheugen • Ontwerpen van de interface • Koppeling met andere schema’s
Keuze van de Microprocessor Na overleg met andere groepen hebben we uiteindelijk gekozen voor de ATMEGA 128. Deze component vonden we echter niet terug in Eagle daarom hebben we geopteerd voor de ATMEGA 103.
Aansluiten van de BCD-naar-7 segment-decoders We kozen voor 1 minuut speeltijd → twee 7 segment displays zijn voldoende om tijd weer te geven → elk 7 poorten van de µP nodig! Oplossingen: • 14 (7 * 2) herleiden naar 9 (7 + 2) door tweemaal een transistor bij te plaatsen → Deze worden actief gemaakt vanuit de µP en kiezen dus de 7 -segment displays. Gebeurt dit snel dan is het door de traagheid van het menselijk oog onzichtbaar. • BCD-code i. p. v. 7 -segment-code → 8 (2 * 4) pennen nodig. Dit wordt onze uiteindelijke keuze en we maken gebruik van een BCDnaar-7 segment-decoder, de 74 LS 48.
Functietabel 74 LS 48 LT, RBI en BI/RBO moeten hoog gehouden worden opdat het IC correct decodeert.
De ingangen verbinden we met poort E van de µP
Aansluiting van de 7 segment displays Uitgangen van de BCD-naar-7 segment-decoder niet zomaar aansluiten op de displays → voorschakelweerstanden van 330Ω.
Aansluiten LED’s voor RECORD/PLAY We kiezen voor monostabiele schakelaars. Leds moeten branden totdat toestand verandert → systeem met 2 flipflops Play: waarde wordt vastgehouden → Led blijft branden. Uitgang verbonden met K-ingang → Led voor Record dooft. Record: play Led dooft en Record Led gaat branden.
De µP moet de toestand van de knoppen ook kennen → uitgang FF verbinden met PB 6 en PB 7 van µP
Aansluiten van de Stop-knop De stop-knop is dominant→aansluiten op Clear ingang van de FF. Deze is Laag actief→inverteren. De µP vraagt de toestand van de Stop-knop op via PD 2.
Eerste keuze van het geheugen. Formule voor geheugencapaciteit: samplefrequentie * aantal bits/sample * opnametijd in seconden Dit geeft: 8000 Hz * 8 * 60 = 384000 bit of 4 Mbit geheugen. Eerst kozen we SRAM → geheugens meestal te klein → DRAM: 41 C 8512. Dit IC werkt met rijen en kolommen → constante refresh. Oplossing: Timer IC (NE 555). Schakeling werkt als astabiele multivibrator.
Afhankelijk van het feit of er geschreven werd of niet, konden we de timing regelen. Hoe dit moet is duidelijk in deze tabel: Eerst RAS aanbieden daarna CAS → lezen of schrijven afhankelijk van het WE of OE signaal. Refresh = Hidden Refresh. Gebeurt via RAS terwijl CAS laag blijft. RAS → zelfde signaal als normale operatie. CAS → massa. Er wordt dus niet geschreven → er moet geen signaal binnen bij CAS.
We stellen hiervan een waarheidstabel op met A het CAS-signaal en B de toestand van WE. X is de juiste toestand van het CAS-signaal. B A X 0 0 0 1 1 0 Als WE laag is, dus als er geschreven wordt moet het CAS-signaal dat overkomt van de timer gewoon overnemen. Is WE hoog, dus er wordt niets gedaan, dan moet het uiteindelijke CAS-signaal laag worden. Dit maken we met een invertor gecombineerd met een AND-poort.
Overschakelen naar EEPROM Uiteindelijk zijn we overgestapt naar een ander geheugen. Dit om de volgende redenen: - Oplossing van de Refresh leek ons niet ideaal. - Het was moeilijk voor Team 3, dat instond voor de programmering van de µP, om de aangeboden rij-en kolomadressen te programmeren Een alternatieve en simpelere oplossing was een EEPROM, de 28 C 040 van Atmel
19 adresingangen, breedte bitstroom: 8 bit → 2 ^ 19 * 8 = 4 MBit Verder ook Chip Enable, Output Enable en Write Enable Eerst voeding en massa aansluiten. Daarna eerste 8 adreslijnen aansluiten met poort A.
Van poort A → 8 adresingangen, maar ook naar 8 pennen van I/O van het geheugen (datastroom)
Dit is uiteraard fout → lees/schrijf-signaal en adresselectie mag men niet door mekaar gebruiken. Oplossing: 74373 Latch Enable is laag actief → massa Klok → ALE (Adress Latch Enable) aparte functie bij ATMEGA 103 → ons schema bij ATMEGA 128 → geïntegreerd in PG 2 → uiteindelijk ontwerp Voor de Latch: adresstroom (Latch uitgeschakeld) en erna Datastroom (Latch ingeschakeld).
Dit is dus een beter schema:
Volgende 8 adreslijnen ( A 8 – A 15) → Poort C
Laatste 3 adreslijnen ( A 16 – A 19) → Poort B
Aansluiten Enable ingangen: CE (Chip Enable) → aan massa leggen → IC constant geselecteerd OE (Output Enable) moet actief zijn als we willen lezen uit het geheugen → aansluiten op RW van µP Bij de ATMEGA 128 is deze pen geïntegreerd in PF 7 → uiteindelijke ontwerp WE (Write Enable) → schrijfsignaal uit PB 3 van µP
Dit is het schema met de uitbreidingen:
Tenslotte ons deel van het uiteindelijke schema
Digitale Voice Recorder Team 3: De Microprocessor en de Software.
Team 3 Tom Jacobs Davy Aerts Davy Leenen
De Microprocessor
De microprocessor
Geheugen Configuratie
Aansluiting van het ram geheugen
I²C
Het schema om i²c te versturen
Blokschema om i²c te versturen
Programma om i²c te versturen • void iclees_int(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!TWCR &(1<<TWINT))); • if((TWSR & SCL) != start); • • error(); • TWDR = SLA_R TWCR = (1<<TWINT)|(1<<TWEN); • while(!(TWCR &(1<<TWINT))); • • if((TWSR & SCL) != MT_SLA_ACK); • • error(); } //zet codec als adc //stuur start conditie //wacht tot TWINT is geset, adc //heeft start conditie ontvangen //check waarde van TWI register, //maskeer prescaler, klok is 8 Khz //= fs //als status niet gelijk aan start //conditie, ga //naar error //laad adres in TWDR //clear TWINT bit in TWCR om //adres te zenden //wacht tot TWNT fag is geset //(SLA_W is verzonden en ACK is //ontvangen) //check waarde van TWI //register, maskeer prescaler //als satus niet gelijk is aan //MT_SLA_ACK ga //naar error
Het schema om i²c te ontvangen
Blokschema om i²c te ontvangen
Programma om i²c te ontvangen • void lees_dac(void) { int puls; int tijd; TWCR = (1<<TWINT)|(1<<TWEN); • while(sec!=0) { puls = tik; do { if(STOP==1) • { sec = 0; • scan_knoppen(); • • } else { tijd = tik - puls; data[tijd] = TWDR; • • } } while(tijd!=8) scrijf_ram(); } } //lees data van adc //clear TWINT flag om data te //ontvangen //doe dit 1 minuit lang //wacht tot TWDR vol is //kijk of er nog niet op stop //gedrukt is //als stop gedrukt is beindig //opnemen //keer terug, om opnieuw //af te spelen of op te //nemen //zet de in houd van //TWDR in data //lees 8 bits // is een eeprom maar is toegankelijk // als sram
De Flowchart
De Flowchart Start Initialisatie Poorten Scan Knoppen Return Scan Knoppen Record Ja neen Play neen Ja
De record Record Ja Return scan knoppen Lees ADC Initialisatie SPI Convert data Initialisatie ADC Schrijf RAM Stop Klok = 0 Nee Ja Nee Start ADC Ja Return Scan Knoppen
De Play Ja Return scan knoppen Convert Data Initialisatie SPI Start DAC Initialisatie DAC Schrijf DAC Stop Klok = 0 Nee Ja Nee Lees RAM Ja Return Scan Knoppen
Het programma
Na 60 Seconden tijd stil en de rest tijd op de display zetten • • interupt[TIMER_OVF]void TIFR(void) { sec = 0; } //als timmer =0 wordt stop • • • • void IRQ_TIME(void) { tik--; if(tik==0) { tik = preset //seconden tellen • • • void zeven_segment(void) { display_een--; if(display_een == 0 x 00) display_tien--; } sec--; zeven_segment(); } } interupt[INT 3]void teller(void) { //interupt van de klok bij elke puls IRQ_TIME(); }
Schrijven naar het ramgeheugen • • • • • • • void schrijf_ram(void); { int plaats; OE = 0; WE = 1; ALE = 1; PORTA = pagina_teller; if(pagina_teller==0 x. FF) { PORTC++; pagina_teller = 0; if(PORTC==0 x. FF) { PORTB++; } } if(PORTA = 0 x. FF && PORTC = 0 x. FF && PORTB = 0 x 03) error(); ALE = 0; for(plaats = 0; plaat <= 7; plaats++) { DDA[plaats] = data[plaats]; } PORTA = DDRA; pagina_teller++; lees_adc(); } //output enabled //rw hoog maken, we gaan schrijven //lacht adres in adreslatch //selecteer geheugen plaats: eerste 8 //adreslijnen 9 tot 16 //adreslijnen 17 tot 19 //contoleer of ram niet //overloopt //zet 0 om data te sturen //laad data in DDRA //zet data op data bus //ga naar volgnde rij in EEPROM
Dit was de Digitale Voice Recorder van 3 elte 2
- Team spirit becomes team infatuation
- The white team cheers for the blue team, just like
- Team spirit becomes team infatuation
- Voice structure chart
- Passive voice vs active voice
- Passive voice machine
- Present progressive passive
- Pattern passive sentence
- Active to passive voice
- Firma digitale telecom italia
- Rinnovo smart card camera di commercio
- Dispozitive digitale exemple
- Arbeitskreis digitale kunstgeschichte
- Digitale bibliothek definition
- Digitale lesespur
- Zonbesparing
- Empreinte digitale police scientifique
- Digitale architectuur
- Azioni pnsd
- Arthur thömmes digitale werkzeugkiste
- Convergenza internet
- Den digitale arbejdsplads
- Luciano margara
- Cyclo spray cheval
- Manpower firma online
- Www.kahoot
- Comunicazione digitale sincrona
- Wat is een schaaldeel van een liniaal
- Digitale trajectmap
- Gaine digitale
- Cubito palmare
- Easy project eni
- Mille feuilles 1000
- Conversione analogico-digitale spiegazione
- Oggetto digitale
- Digitale architectuur
- Bdl biblioteca digitale lombarda
- Insinuazione passivo firma digitale
- Kommunl
- Digital camere
- Digitale archivierung consulting
- Organisationshandbuch bmi
- Projekt bibliotek aau
- Sommaire plan de communication
- Tjenesteintegrator
- Serviciul electronic de achizitii publice
- Digitale geletterdheid in het voortgezet onderwijs
- Cronotachigrafo analogico simboli
- Supporto transizione digitale
- Firma digitale palermo
- Digitale grundbildung schulbuch
- Lettore di musica digitale
- Firma digitale portalettere
- Digitale wedstrijdbladen
- Digitale audioformate
- Edb scuola digitale
- Conservazione zucchetti
- Digitale bildsensoren
- Danskernes digitale bibliotek
- Generieke digitale infrastructuur
- Bedrijfskaart digitale tachograaf aanvragen
- Digitale bilder bearbeiten
- Analyseret
- Portfolio digitale studenti
- Responsabile della conservazione digitale
- Digitale medien im fremdsprachenunterricht
- Respirazione toracica
- Laterzalibropiuinternet
- Respirazione diaframmatica
- Digitale medien im mathematikunterricht der grundschule
- Dushkin recorder
- Au clair de la lune lyrics in french
- Bubble gauge recorder
- Sidecar asic
- Note namer
- How to add a powerpoint tomoodle
- Sebuah tape recorder dibeli dengan harga 5
- Digital fault record
- Mdmi recorder
- Reveal linq app
- Anita menyimpan modal di koperasi dengan bunga 8 pertahun
- Parts of a recorder