onsdag 19. april 2017

RC2014 Prosessor

Dette er et innlegg relatert til byggingen av RC2014, se introduksjon, og vil mer eller mindre være mine egne notater relatert til denne spesifikke modulen.

Prosessor

Den enkleste av RC2014-modulene ettersom de fleste av støtte-funksjonene utføres av andre moduler, RC2014 Klokke håndterer klokke-signalet samt reset-funksjonalitet. Opprinnelig dokumentasjon for modulene er tilgjengelig på http://rc2014.co.uk/modules/cpu/.

Prosessoren som benyttes her er en noe nyligere produsert utgave av Zilog Z80-prosessoren, Z840010PEC (10 Mhz Z84). Den originale prosessoren ble først lansert i 1976 med en hastighet på 2,5 Mhz, men utover en firedobling av hastigheten og overgang til CMOS-teknologi (lavere energiforbruk) så er denne prosessoren tilnærmet identisk når det kommer til funksjonalitet.

Selve kretsen er relativt enkel i og med at det meste bare kobler de tilsvarende pin-ene på prosessoren til pin-ene mot hovedkortet. Opprinnelige instruksjoner markerer montering av pin-headere øverst til venstre som valgfritt, men foretrekker å ha muligheten til å gjøre endringer senere. I vanlig bruk må man sette jumpere (eller lodde en kobling mellom) for WAIT, BUSRQ og NMI. Alle koblinger i denne regionen vil, dersom koblet sammen, dra signalet høyt gjennom resistoren til 5V.


Adressering

I utgangspunktet - og slik man forsåvidt forventer det så er prosessoren hjernen i systemet. Derimot, når det kommer til adressering, uansett om det gjelder tilgang til en tilkoblet enhet (IO) eller minne (RAM / ROM), så er dette mer eller mindre implisitt - prosessoren angir en adresse, det er logikken rundt som avgjør hvem som svarer.

Logikken må ta høyde for at kun en enkelt enhet skriver til bussen til ethvert tidspunkt, dersom to enheter "skriver" til en eller flere linjer vil i beste fall deler av signalet gå til jord og i verste fall føre til at det samlede spenningsnivået på linjen overgår det en eller flere komponenter er i stand til å tåle (det vil si varmgang, gnistring og potensielt sett flammer dersom man ikke oppdager dette fort nok).

For å unngå slike kollisjoner refererte man til en oversikt over minnet for hvilke områder man dedikerte til hva. Zilog Z80-prosessoren til forskjell fra annen maskinvare jeg har arbeidet med, et logisk skille mellom minne (se RC2014 Memory Map) og IO (se RC2014 Device Map). Prosessoren indikerer hva vi er ute etter ved bruk av pin-ene MEMRQ og IORQ.

RC2014 Klokke

Dette er et innlegg relatert til byggingen av RC2014, se introduksjon, og vil mer eller mindre være mine egne notater relatert til denne spesifikke modulen.

Klokke

Dette er en relativt enkel komponent, men merk her at denne både implementerer en enkel krets for reset i tillegg til å være klokken for prosessoren. Klokken i denne sammenhengen benyttes for synkronisering av signaler mellom ulike integrerte komponenter (deriblant seriell IO), ikke klokke i tradisjonell forstand (disse refereres til som en RTC-krets). Opprinnelig dokumentasjon på http://rc2014.co.uk/modules/clock/.

Kretsen består av en 7,3728 Mhz krystall som ved hjelp av to kapasitatorer, 22 pF, skaper en svingning i det elektriske signalet. 74HCT04 benyttes for fjerne ujevnheter i signalet slik at vi får en tilnærmet ren firkantkurve. Resistorene benyttes for å sette et øvre og nedre tak for signalet som benyttes.

Reset-kretsen er også inkludert på dette kortet, denne vil sørge for å nullstille prosessoren og eventuelle andre tilkoblede integrerte kretser i maskinen. Z80-prosessoren benyttet av RC2014-maskinen benytter dette signalet, men i og med at denne funksjonen er aktivt lavt så dras signalet høyt gjennom pull-up resistor. Når knappen trykkes ned kortsluttes kretsen til jord, dermed dras signalet lavt. Den samme kretsen er også duplisert på hovedkortet, se RC2014 Backplane.

Har ikke tidligere montert resistorer on-end slik som det forventes her, se bilde nedenfor. Fant ut at den enkleste måten å få dette til å se pent ut, sånn for oss perfeksjonister mellom, er å bøye lederen rundt kroppen av en annen resistor. DIP-modulene vil ha en markering både på komponenten og PCB-en for hvordan orienteringen skal være, på den måten unngår man å svi kretsen ved å sette dem inn feil vei.



søndag 16. april 2017

RC2014 Introduksjon

Med tøffe uttalelser angående forholdet vårt til elektronikk, så må man samtidig innrømme at til tross for en forholdsvis lang utdannelse innenfor datateknikk (føltes i alle fall lang) inkludert ørten timer med forelesninger over hvordan datamaskiner fungerer på så har jeg aldri bygd en selv. Jeg har satt sammen datamaskiner med utgangspunkt i ferdiglagde komponenter, men jeg har hverken designet eller egentlig bygd noen av komponentene på egen hånd.

Design får nok bli et prosjekt for den kommende høsten - sommer først selvsagt! Det å bygge dem skulle derimot vise seg å være langt enklere enn man først skulle tro, det viser seg å være store Internett-miljøer brakt sammen over kjærlighet til horribelt utdaterte datamaskiner. Man kan til og med å få tak i komplette byggesett for en forholdsvis billig penge (man må regne med en tusenlapp).

Hva?

Den jeg endte opp med å kjøpe inn var en maskin kalt RC2014 (se rc2014.co.uk). Maskinen er ikke ment å være en direkte gjenskapelse av noen spesifikk datamaskin fra starten av 80-tallet, men den skal likevel gi alt jeg håper folk husker fra de gode gamle maskinene som var i salg i perioden da jeg ble født (Spektrum ZX81, Apple I osv).


RC2014-maskinen har spesifikasjoner få hadde råd til da, men så må det være lov å kombinere følelsen av nostalgi og det å kunne eie noe man tidligere ikke hadde råd til. Her er spesifikasjonene for min maskin:
  • Zilog Z80 CPU 1 Mhz
  • 32 KB RAM
  • 8 KB ROM
Mer eller mindre tilsvarende Commodore 64-maskinen (ytelse, ikke teknologi) jeg og broren min var så heldig å få i gave fra foreldrene våre noen år senere.

Med utgangspunkt i den langt mer budsjett-orienterte datamaskinen jeg bruker for å skrive dette, så er den i stand til å utføre rundt gjettet 60 000 flere kalkulasjoner per sekund samt at den har noe slikt som 260 000 ganger mer minne!

Hvordan?

Byggesett av den elektriske variasjonen blir som oftest distribuert som et sett med ferdiglagde kretskort, selve komponentene i seg selv er ikke alltid inkludert eller i det hele tatt tilgjengelig fra den som lagde settet. Med andre ord må man potensielt handle disse inn selv, eventuelt håpe på at man allerede har noe av dette liggende i skuffen. RC2014-settet selges heldigvis med alternativer for å få hele settet, inkludert alt man måtte trenge av komponenter utover PCB-ene. Kommer derimot til å trenge en del utstyr for å komme noen vei.


Nødvendig utstyr:

LoddeboltAnbefales bruk av temperatur-regulert loddebolt ved lodding av kretskort, tilgang til en lettere fuktet svamp man kan bruke for å skrape av overflødig loddetinn på.
LoddetinnBlyfritt anbefales IKKE for amatører som meg. Økt bruk av giftige stoffer for å slippe bruk av bly høres ikke ut som en god ide.
TinnsugerHjelper når man har loddet feil ting på feil plass, brukes for å fjerne flytende tinn.
MultimeterHer trenger man et multimeter med kontinuitet, denne funksjonen hjelper en med å finne de plassene der man har koblet ting litt for mye ting sammen (eventuelt ikke i det hele tatt).
USB TTL seriell adapterDisse byggesettene kommer som regel ikke med mulighet for å koble til skjerm eller tastatur, når man skal kommunisere med maskinen vil må man bruke seriell-porten på en annen maskin - den som forsvant for 10 år siden.

Hvorfor?

I utgangspunktet så har hobbyer i seg selv ikke behov for begrunnelser, det relevante spørsmålet til en hobby er hva dette gir meg og ikke hvorfor? Dagens datamaskiner er langt mer komplekse, men like fullt er de bygd med de samme teknikkene i bunn - det å bygge en gammel utdatert datamaskin gir oss muligheten til å studere dem i detalj. Og, så er det veldig underholdende prosjekt (gitt at man har en sær interesse for datamaskiner)!

lørdag 15. april 2017

Vårt forhold til elektronikk

Den siste tiden har jeg sett en del på elektronikk, mer spesifikt på hvordan slike ting fungerer. Når var sistgang du gjorde et forsøk på å reparere en elektronisk duppeditt? ... og da mener jeg å faktisk det å reparere den fysisk, ikke slik som i å finne ut av hvilken meny man var innom da man foretok det teite valget om å teste hvordan telefonen ville sett ut med kinesisk tekst. Det vil si skru den opp, finne ut hva hver av brikkene, de stripete blå greiene og de svarte dingsene i det hele var ment å skulle gjøre før en av dem sluttet med det.
Duppeditt A festet på dippeditt B, ikke helt riktig skrudd sammen.
Det man gjør i dag er å kaste hele greia, i korrekt resirkuleringsboks - dersom naturen kom heldig ut. Jeg gjør det, du gjør det og alle jeg kjenner gjør det. Så, hvor mye av det vi er avhengig av i dag er vi i stand til å reparere dersom man ikke fått tak i en ny? Ikke spesielt mye.

Hvorfor?

Skulle man over-generalisere seg ned til to argumenter for at det er blitt slik, så må man nesten starte med den teknologiske utviklingen som allerede har skjedd i løpet av min levetid - den har tatt oss fra en verden med datamaskiner som gjorde det vi trengte til forskjell fra dagens datamaskiner som knapt nok gjør det vi trenger av den.

Definisjonen av hva vi trenger er vel det som har endret seg mest, underveis har livene våre har blitt utrolig mer kompliserte - paradoksalt har samtidig alt både krympet og samtidig blitt utrolig mye større! Alt foregår nå i en skala der vi ikke lenger har muligheten til å sette oss inn i alt dette, vi har hverken tid eller bakgrunnskunnskapen til at dette er gjennomførbart. For det meste må vi bare ta til takke med å forme en overordnet formening av hva noe er ment å gjøre.

Den andre grunnen er rett og slett det at du ikke er ment å skulle reparere noe som helst, du er ment å gå på butikken og kjøpe deg en ny! På 80-tallet fulgte det med en Service-manual, den viste hvordan ting hengte sammen og hvordan man skulle gjenkjenne de vanligste feilkildene. I dag får du ikke tegningene, du får knapt nok en brukerveiledning - feilen som oppstår vil ofte være en svakhet som er ment å dukke opp over tid, gjerne en periode etter at garantien har utløpt.
Nesten, bare litt synd med den magiske boksen nede til høyre.

Konklusjon

Konklusjonen vi ender opp med er at det å ha oversikten over hvordan noe henger sammen nå er en karriere, mens det å vite hvordan noe fungerer på et grunnleggende nivå er blitt en hobby forbeholdt oss sære skruer.

Er dette den endelige konklusjonen alle andre uttalelser skal faktasjekkes opp mot? Overhodet ikke. Og, du burde vite bedre enn å stole på noe en tilfeldig person har skrevet på en blogg.

Klokken sier at det er sengetid!

Erfaringer med Wish.com

Skrev tidligere et innlegg om handel av rimelige varer med opphav i Kina, men den ble i kjent stil såpass lang at jeg måtte se meg nødt til å dele den opp i flere deler. Omtalt her er nettbutikken Wish.com.

Wish.com

Har ikke handlet så veldig mye herfra da de er relativt ny på markedet og inntil nylig foregikk alt av handel utelukkende via mobil-appen deres. For å være helt ærlig så trodde jeg hele greia var en svindel ettersom prisene virket litt for lave til å være helt realistisk, men ble etter hvert tvunget til å gjøre et forsøk på handel herfra ettersom det var enkelte ting jeg ikke fant noen annen plass.

I likhet med AliExpress så er dette et nettsted der du i realiteten handler fra en hel haug med småbedrifter så kontrollen på hva som selges er ikke all verden, de er inntil en viss grad nødt til å stole på bedriftene de samarbeider med. Uansett finner du hva enn du måtte ønske her, bare ikke melk og brød og sånt.

Av 5 produkter kjøpt herfra var 2 av dem forfalskninger som jeg ikke kunne bruke til noe, men så var dette vel å merke tilfeller der jeg egentlig burde vite bedre (noen ganger er det en altfor god deal). Fikk enkelt refundert pengene ved å kontakte kundesenteret, klikk på "kontakt support" direkte fra ordrehistorikken og er det bare å tegne og forklare hva som er galt så ordner det seg.

Kundesenteret jeg var i kontakt med var enten fra Norge, eller så skriver de over middels godt Norsk så er man litt yggen på å handle fra utlandet virker dette som det beste av to verdener. Betaling utføres via Klarna, ønsker man ikke å gi dem kredittkortet så kan man isteden betale med faktura uten at dette koster noe ekstra (14 dager betalingsfrist så her må du enten betale og få refundert senere dersom noe går galt i leveransen, eller gi beskjed før fristen går ut).

Må nevnes at mobil-appen er noe av det mest masete rotet jeg har vært borti, så enten må man avinstallere denne og handle på PC-en eller grave i menyene for å fjerne konstante meldinger om rabatt ditt og rabatt datt. Utover det, så virker dette som en rimelig trygg plass å handle - kreditt-kortet ditt er trygt selv om det får noe slitasje underveis, og med et Norsk kundesenter å klage til så er man ikke redd for å betale for forfalskninger heller.

Erfaringer med DealExtreme (dx.com)

Skrev tidligere et innlegg om handel av rimelige varer med opphav i Kina, men den ble i kjent stil såpass lang at jeg måtte se meg nødt til å dele den opp i flere deler. Omtalt her er nettbutikken DealExtreme (dx.com).

DealExtreme.com

DealExtreme, heretter DX, er en litt mer tradisjonell nettbutikk ved at du handler direkte fra dem så her er det litt mer kvalitetskontroll inne i bildet. Blant de 30-40 produktene jeg har handlet her opp gjennom årene har jeg aldri opplevd problemer, kjøper man tekniske komponenter vil gjerne DX også ha sørget for at grunnleggende dokumentasjon er tilgjengelig på Engelsk. Her betaler du ikke porto og alt er oppgitt i Norsk valuta, så du har oversikten når du nærmer deg 350 kroners-grensen og havner du over så deler du bare opp leveransen i flere ordrer.

DX har også tilgjengelig en del av varene sine på lagre i Europa og disse bli levert langt raskere sammenlignet med å få dem sendt fra Kina, men det er en fordel du betaler for i økte priser.


Erfaringer med AliExpress.com

Skrev tidligere et innlegg om handel av rimelige varer med opphav i Kina, men den ble i kjent stil såpass lang at jeg måtte se meg nødt til å dele den opp i flere deler. Omtalt her er nettbutikken AliExpress.com.

AliExpress.com

Nettstedet lar deg handle alt mellom himmel og jord, så her vil det ikke være produktivt å begynne å nevne kategorier utover at veldig lite du finner her kommer til å være produsert i vesten. Styrken her er at du handler fra tusenvis av små-butikker der alle konkurrerer i å gi deg den beste prisen, som oftest med gratis levering.

Har sikkert handlet noe slikt som 150 varer fra nettsiden, 50 av dem fortsatt i postsystemet en eller annen plass. Handler man for småtterier når det kommer til elektronikk, så kan man ikke forvente at alt fungerer 100% 100% av tiden (så ligg unna det meste som plugger inn i veggen) og det er der muligheten for refusjon kommer inn. Har hatt 3 slike tilfeller så langt, jeg er en relativt kjip jævel så da må man regne med litt svinn - i alle tilfellene har AliExpress refundert kjøpesummen til tross for at ikke selgeren har vært like motivert i alle tilfellene. De fleste jeg har handlet hos vil gjerne markere ned verdiantydningen på pakken samt markerer den som gave, dermed er 350 kroners-grensen sjeldent et problem.  

Dersom du er i faresonen for å handle mer enn du trenger og ofte, så anbefaler jeg å ligge unna mobil-appen ettersom den ofte gir noen prosent ekstra i rabatt - den er også mye enklere i bruk. Verdt å nevne er at de har sin egen versjon av PayPal, AliPay - denne håndterer kundebetaling for rundt 500 000 kinesiske bedrifter så de virker rimelig solid på det de gjør.