Gå til innhold

Jaffe

Medlemmer
  • Innlegg

    3 591
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Jaffe

  1. Etter studiene på NTNU så mista jeg naturlig nok serverplassen min der, så guiden har vært utilgjengelig en stund. Klarte heldigvis å oppdrive en kopi av pdfen, så har lasta den opp på github.

    Den er nå å finne her:

    https://github.com/Jaffe-/nes-guide/blob/main/nes.pdf

    Artig å lese igjen etter såpass lang tid. Nå har det skjedd ganske mye når det gjelder guider og youtube-videoer som forklarer nes-programmering, så det finnes nok bedre alternativer for de som faktisk vil lære seg dette ordentlig i dag! Men det kan jo være interessant lesestoff likevel. Syns mye av det i guiden står seg, selv om man selvsagt oppdager en del feil, mangler og dårlige forklaringer etter hvert som man blir mer erfaren (og har embedded/lavnivå software som jobb).

    • Liker 1
  2. On 3/15/2022 at 6:57 PM, N o r e n g said:

    Tapet blir størst ved høy framerate, og minst ved lav framerate. I tillegg vil raskere PCIe gi mindre tap.

    GPU tegner et og et bilde av gangen. Når bildet er ferdig sendes det enten direkte til skjermen fra GPU-en (hvis du har en MUX), eller så stopper GPU-en å jobbe mens den sender bildet over til iGPU. Hvert bilde sendes ukomprimert over PCIe, så hvis du har en skjerm 1920x1080 blir det da ca 8 MB per bilde. Bildet må sendes over PCIe 3.0 x16, som levere litt mindre enn 16 GB/s med båndbredde.

    Nå høres sikkert 8 MB over 16 GB/s ganske håndterlig ut, men hvis vi ser på tiden til rådighet per bilde blir det noe annerledes. 16 GB/s gir 16 MB / ms, altså bruker skjermkortet 0.5 ms på å sende et bilde over PCIe 3.0 x16. Hvis du skal ha 60 bilder i sekundet er det ca 16.67 ms til rådighet for GPU-en å tegne et bilde, og sende det tilbake.

    Så ved 60 bilder i sekundet vil GPU-en bruke minst 3% av den potensielle ytelsen til å sende et bilde over PCIe.

    Ved 120 bilder i sekundet brukes minst 6% av tiden til GPU-en på å sende bilder over PCIe.

    Dette her er helt feil. GPU-en står ikke og tvinner tommeltotter mens rammen sendes over PCIe. Den starter å tegne neste ramme til et nytt frame buffer mens forrige frame buffer blir overført via PCIe.

    Det er nok heller den ekstra belastningen man får på PCIe og minnesystemet som gjør at ytelsen blir lavere, og det at iGPU også må være aktiv som du nevner.

    • Innsiktsfullt 1
  3. Takk for tilbakemelding. Alle pinnene skal routes. Jeg har allerede gått på den smellen at adressebussen fløt, og det ga meg mange rare resultater.

     

    Du har helt rett i at E3 skal være høy. Overså at den ikke var active low. Takk for tips.

     

    Tenker du på decoupling kondensatoren til LM7805 som skal være 0,33µF?

     

    Databladene anbefaler en 0.33uF kondensator mellom inngangen på LM7805 og jord og 0.1uF mellom utgangen og jord for decoupling (dette er altså i tillegg til den du allerede har på 1000uF). Figuren øverst på side 7 her er kanskje bedre på å forklare. Dette er for å hindre at regulatoren kan havne i en tilstand der den selv-oscillerer og ikke fungerer riktig.

  4. Kjempekult prosjekt! :)

     

    I kretsskjemaet som du postet så har du koblet alle enable-signalene til 74LS138 til jord, burde ikke active high-pinnen (E3) være kobla til 5V?

     

    Du bør også koble ubrukte innganger (f.eks. A2 på 74LS138) til jord i stedet for å la dem flyte (kan føre til rare glitcher som er lite morsomme å debugge). Databladene for LM7805 bruker også å anbefale en 0.33uF kondensator mellom inngangsspenningen og jord. Jeg har aldri hatt problemer med å ikke ha den med, men den er der for å hindre at regulatoren går inn i selv-oscillasjon (som kan skje under de rette forholdene).

  5. Har noen her tatt TDT4258 - Maskinnær programmering?

     

    http://www.ntnu.no/studier/emner/TDT4258/#tab=omEmnet

     

    Jeg er på informatikk, har stort sett levd i abstraksjonsnivåer langt over dette. Aldri tatt i en C-fil for eksempel. Lurer på hvor overkommelig faget er hvis du er fersking på alt slikt. Må jeg for eksempel repetere hva en volt er? Eller slipper man å gå så langt "ned mot hardware"? :hmm:  

     

    Tviler på at dette er noe jeg får bruk for i evt framtidig jobb. Men det ser litt morsomt ut...

     

    Har tatt Datamaskiner og digitalteknikk som er anbefalt forkunnskap.

     

    Ja, jeg hadde det i fjor vår (da het det Energieffektive datamaskinsystemer). Det laveste man går ned er på maskinkodenivå, og det er ikke noe behov for å repetere volt osv.

     

    Dette er et utrolig kult fag hvis interessen er der. Hvis øvingsopplegget er som før så er det tre øvinger/mini-prosjekter i faget. I alle sammen skal man bruke et utviklingskort som har en Silicon Labs EFM32 mikrokontroller (32 bits ARM CPU + en masse annet på samme chip) i tillegg til lydutgang, skjerm, input/output-pinner osv. Det er også (eller var hvertfall da jeg tok det) et hjemmelaga gamepad-kort med 8 knapper og LEDs. I øvingene startet vi med å bare bruke assembly (uten OS), deretter C (uten OS) og til slutt installerte vi Linux og skreiv den hardware-spesifikke koden som drivere. Det man skal ende opp med til slutt er et spill (type breakout, snake, pacman osv.) som bruker driverene man har laget. Utrolig kult når man får dette til :)

     

    Hvis du aldri har rørt C så kan dette bli tungt, men det bør fortsatt være overkommelig hvis man bruker nok tid. Kan være lurt å sette seg inn i helt grunnleggende ting som header-filer, hvordan man kompilerer osv. Da sløser man ikke så mye tid på sånt mens man holder på. Det er også ganske utfordrende å finne ut hvordan ting fungerer i mikrokontrolleren. Man må lese mye i manualen som er mange hundre, om ikke tusen, sider. Det er lurt å sette seg litt inn i hvordan den er strukturert, og bruk for all del en PDF-leser med en innholdsfortegnelse så du kan bla kjapt til dit du vil.

  6. Episode 3 var klart best frem til nå. Klassiker i samme stil som f.eks. Jose Chung's From Outer Space og Bad Blood. Problemet mitt med første episode var at jeg hadde store vansker med å ta fortsettelsen på mytologien alvorlig. Andre episode var alt for rotete. De gamle X-Files episodene gikk tregere frem og brukte mer tid på atmosfære, mens nå virker det som de tror at det må skje noe hele tiden for at serien fortsatt skal være relevant... I tillegg kunne de godt spart seg for å være "hippe" med å ha shaky kameraføring, kul "orange and teal"-fargepalett, osv. De gamle føles mye mer cinematiske i min mening.

  7. Det du har her er en inverterende forsterker. Forsterkningen er da gitt ved forholdet mellom motstanden fra den inverterende inngangen til utgangen, altså 10k + R i ditt tilfelle, og motstanden mellom signalet og den inverterende inngangen, altså 1k i ditt tilfelle:

     

    chart?cht=tx&chl=G = \frac{10k\Omega + R}{1k\Omega}

     

    Her ser vi at når R = 0 så får vi at forsterkningen G = 10. Du må finne R slik at når potensiometeret har maksimalt utslag så blir G = 100. Du får altså en ligning å løse :)

     

    edit: I stedet for å løse ligningen kan du jo også prøve å tenke ut hva R må være for at brøken skal bli 100!

  8. Ja, enig i at en sesong på bare 6 episoder er for lite. Det blir neppe tid nok for nye seere å bli kjent med karakterene, det spesielle forholdet mellom Mulder og Scully, osv. En "vanlig" sesong på 10-13 episoder hadde vært bedre. Sesonger med 20+ episoder tror jeg neppe vi vil se noe til, det er jo et format svært få serier følger i dag (med unntak av sitcoms osv. som har mye kortere episoder), og David Duchovny eller Gillian Anderson (husker ikke hvem) har tidligere uttalt at det var veldig tidkrevende å filme så store sesonger på 90-tallet. Begge har jo nå andre prosjekter de er involvert i også. 

  9. Jeg er også svært skeptisk. Jeg tror rett og slett ikke at dette vil fungere. Jeg fikk ikke akkurat håpet opp av å se pilotepisoden av Chris Carters nye serie, "The After" (ble ikke tatt opp av noen kanaler) heller. Men at det er flest MOTW-episoder tror jeg er bra. Mytologien var jo helt skakkjørt i de siste sesongene... I og med at Darin Morgan er med som manusforfatter så håper jeg på i alle fall en bra episode på høyde med tidligere klassikere. Men det blir spennende å se hvertfall! 

  10. Hvilke transistorer du bør velge kommer litt an på hvordan resten kretsen ser ut. En god lydforsterker består av mye mer enn bare en transistor eller to. Jeg anbefaler deg å sjekke ut noen av prosjektene til Elliot Sound Products: http://sound.westhost.com/projects-0.htm#pwr

     

    edit: Når det gjelder chip vs diskrete komponenter så er det vanskelig å komme med et klart svar uten å starte en debatt ang. hva god lyd er for noe :p. Fordelen med å bruke en chip ser selvsagt at denne inneholder så og si hele forsterkerkretsen med behov for bare noen få eksterne komponenter. De som designer chipen kan man finkalibrere ting mye mer og få bedre temperaturstabilitet enn hva man klarer i en diskret krets. I en diskret AB-forsterkerkrets må man f.eks. matche transistorene og holde dem ved samme temperatur for å unngå crossover distortion.

  11. Jeg ville hvertfall hatt en motstand inn til basen til NPN-transistoren (nå har den inngangen veldig lav motstand og vil kunne ødelegge transistoren hvis du driver den rett fra en kilde med lav utgangsmotstand). En annen ting er at op-ampen må ha lav input bias-strøm her, siden du har så store motstander (hvis det f.eks. går en 50nA strøm inn på den inverterende inngangen så får vi jo her 0.5 V over den motstanden). Jeg skulle tro de fleste low power-opamper har dette også, men bør jo sjekkes ut da. 

    • Liker 1
  12. IRF520 er en flott MOSFET som kan drives rett fra ATtiny13. Jeg bruker en 1K resistor på Drain.

     

    I følge databladet får du ikke mer enn 1 A gjennom den ved chart?cht=tx&chl=V_{GS} på 5 V. IRL520 derimot er "logic level gate drive"-ekvivalenten til IRF520 (den trenger ikke så høy gate-source-spenning for å "åpne kanalen" like mye som IRF520). Generelt betyr L i navnet ofte at det er en logic level FET. 

    • Liker 1
  13. Et annet alternativ er å legge til en (omtrent hvilken som helst) NPN som inverterer på utgangen av ATtinyen. Det vil da kreve to motstander i tillegg (en til å begrense basestrømmen og en mellom 5V og kollektor), og det vil selvsagt kreve at du programmerer tinyen slik at 0V betyr på og 5V betyr av. Fra kollektoren til NPN-transistoren kan du så koble darlingtonparet. 

  14.  

     

     

    Da er du på riktig vei. MVT sier da at chart?cht=tx&chl=\frac{\sin x - \sin 0}{x - 0} = \frac{\sin x}{x} = \cos c, der chart?cht=tx&chl=c \in (0, x). Hvis du nå kan vise at chart?cht=tx&chl=\cos c > \cos x så er du i mål. Hint: Se på hvordan cos x oppfører seg i enhetssirkelen når chart?cht=tx&chl=x \in (0, \pi).

     

    Ulikheten jeg skal vise er sin(x)/x>cos(x), da blir det vel heller slik: 0}{x - 0}, eller?

     

    Noe som blir sinx/x^2. Right?

     

     

    Nei. Det at chart?cht=tx&chl=\frac{\sin x}{x} er uttrykket i ulikheten din betyr ikke at du må bruke dette i MVT. Da gjør du det vanskelig for deg selv. Tvert i mot ønsker vi å bruke MVT på en funksjon slik at vi får det uttrykket som er i ulikheten. Det får vi når vi velger chart?cht=tx&chl=f(x) = \sin x

     

     

    Ah, da tror jeg at jeg skjønner det.

     

    Når du reduserer uttrykket til chart?cht=tx&chl=\cos c > \cos x  og du har at x € 0<c<x<pi så må ulikheten være sann fordi på dette intervallet synker cosinus funksjonen - ergo vil den med lavest vinkel ha høyest verdi. Dette stemmer? Tusen takk!

     

     

    Stemmer! :) 

×
×
  • Opprett ny...