From e5aa9d5a17d52eb61243a9c45dd2e65f27084c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Wed, 31 Mar 2021 23:23:41 +0200 Subject: initial import --- Assemblyinstruktioner.md | 61 ++++++++++++++++++++++++++++ Coulomb.md | 1 + "Elektriska f\303\244lt.md" | 23 +++++++++++ "Elektriskt fl\303\266de.md" | 6 +++ Elektromagnetism.md | 97 ++++++++++++++++++++++++++++++++++++++++++++ Maxwell.md | 1 + TFYA86.md | 45 ++++++++++++++++++++ TSEA82.md | 46 +++++++++++++++++++++ 8 files changed, 280 insertions(+) create mode 100644 Assemblyinstruktioner.md create mode 100644 Coulomb.md create mode 100644 "Elektriska f\303\244lt.md" create mode 100644 "Elektriskt fl\303\266de.md" create mode 100644 Elektromagnetism.md create mode 100644 Maxwell.md create mode 100644 TFYA86.md create mode 100644 TSEA82.md diff --git a/Assemblyinstruktioner.md b/Assemblyinstruktioner.md new file mode 100644 index 0000000..ca70684 --- /dev/null +++ b/Assemblyinstruktioner.md @@ -0,0 +1,61 @@ +Olika arkitekturer har olika instruktionsmängder. + +# [[AVR]] + +Instruktioner kommer i grupper som gör nästan samma sak men på lite olika sätt. +Se till exempel ADD (Add without Carry) och ADC (Add with Carry). + +[Instruktionsmängd på kurshemsidan för TSEA82.](http://www.isy.liu.se/edu/kurs/TSEA82/kursmaterial/5_Avr_instr_set.pdf) + +## Flytta data + +Load (LD, LDI, LDS) kopierar data. MOV kopierar mellan två register. + +## Aritmetiska operationer + +Addition, subtraktion, multiplikation. Division är inte implementerad för den är +för stor till ytan. + +## Logiska operationer + +Hantera register som en hög med bitar. + +Grupp A "vanlig" logik. Exempel: ANDI (Logical And with Immediate). + +Grupp B skiftinstruktioner. Exempel: LSR (Logical Shift Right). Kommer ibland i +två varianter, en logisk och en aritmetisk. Till exempel lämnar ASR (Arithmetic +Shift Right) kvar den mest signifikanta biten eftersom den vid aritmetik +benämner tecknet. Upp till programmeran att se till att rätt sak händer. + +## Hopp + +Anrop (CALL) är inte hopp eftersom de returnerar (RET). + +Ovillkorligt: JMP (Jump) till symboliska adresser. RJMP (Relative Jump) tar +mindre plats men kan inte hoppa lika långt som ett vanlig JMP. + +Villkorligt: BREQ (Branch if Equal). Används för att skapa +control flow. Finns en hög olika BRXX. + +## I/O - instruktioner + +Portar är 8 bitar breda. Enskilda bitar kan fungera som antingen ingång eller +utgång. Styrs via [[Datariktningsregister|datariktningsregistret]] DDRx. +Utvärdet bestäms av portregistret PORTx och invärdet läsen från PINx. x = B, C +eller D beroende på vilken typ av port (se chippet). + +OUT skriver till samtliga 8 bitar. SBI (Set Bit in I/O Register) och CBI (Clear +Bit in I/O Register) hanterar specifika bitar. Kan också använda e.g. SBRC +(Skip if Bit in Register Cleared), SBRS (Skip if Bit in Register Set), SBIC +(Skip if Bit in I/O Register Cleared) och SBIS (Skip if Bit in Register Set) för +att testa och hoppa utifrån värden. + +Exempel: + +```asm +; --- GET_KEY. Bit 2 = 1 if key pressed +GET_KEY: + clr r16 ; r16 <= 0 + sbic PINB,2 ; skip if not pressed + ser r16 ; r16 <= FF +``` diff --git a/Coulomb.md b/Coulomb.md new file mode 100644 index 0000000..57485fb --- /dev/null +++ b/Coulomb.md @@ -0,0 +1 @@ +# Coulombs lag \ No newline at end of file diff --git "a/Elektriska f\303\244lt.md" "b/Elektriska f\303\244lt.md" new file mode 100644 index 0000000..9e840db --- /dev/null +++ "b/Elektriska f\303\244lt.md" @@ -0,0 +1,23 @@ +Om vi mäter den elektrostatiska kraften på en positiv testladdning i varje punkt +kommer kraftvektorerna visa fältets riktning. F = QE. För att beräkna E används +[[Coulomb#Coulombs lag]] och en liten testladdning q0. + +Blir vektoraddition. + +Fält från två oändliga ytor (r >> x) med motsatt laddning bildar ett homogent +fält mellan sig själva och ett noll-fält utanför. + +Det elektriska fältet inuti en ledare = 0 vid elektrostatik. All +överskottsladdning måste ligga på ytan. + +Laddad ledande sfär: E = 0 inuti. Utanför är det ekvivalent med en punktladdning +av samma storlek i laddningstyngdpunkten. + +Finns "färdig-räknade" fält från olika laddningskällor bifogat tentan. Ändå bra +att veta var de kommer ifrån. + +Fältlinjers täthet indikerar styrka. + +Exempel: laserskrivare. + +Flödet genom ett fält: [[Elektriskt flöde]]. diff --git "a/Elektriskt fl\303\266de.md" "b/Elektriskt fl\303\266de.md" new file mode 100644 index 0000000..f1b95ba --- /dev/null +++ "b/Elektriskt fl\303\266de.md" @@ -0,0 +1,6 @@ +I en punkt (x, y, z) beskrivs det [[Elektriska fält]]et som E(x, +y, z). Jämför med strömmande vätska. Hur mycket vatten flödar genom en yta av en +viss storlek? Beror på vinkel osv. Visar sig att en vektor som pekar vinkelrätt +mot en plan yta och storlek samma som ytans area skalärt med flödet blir flödet +genom ytan (även om den vrids osv). Fungerar bara med plana ytor och homogena +fält. Behöver integrera annars. diff --git a/Elektromagnetism.md b/Elektromagnetism.md new file mode 100644 index 0000000..2b1bf80 --- /dev/null +++ b/Elektromagnetism.md @@ -0,0 +1,97 @@ +En av de fyra fundamentala krafterna. + +[[Starka kraften]] förmedlas av gluoner. Binder protoner och neutroner till +atomkärnor. Också kvarkar till protoner och neutroner. + +[[Svaga kraften]] förmedlas av bosoner (W och Z0). Genererar radioaktivt +sönderfall. + +[[Gravitation]] förmedlas av gravitoner (?). Får saker att falla in mot +varandra. + +[[Elektromagnetism]] förmedlas av fotoner. Håller elektronerna nära atomkärnan. +Skapar kemiska reaktioner. Elektricitet, ljus, radio, ... + +[[Atomer]] är typ som små klot. Tränger inte in i varandra. Mellan atomer +finns kemiska bindningar -- elektromagnetism. Kemi och biologi är mest +elektromagnetism. (Lite [[kvantmekanik]] också.) + +- [[Elektromagnetism]] + - [[Elektrostatik]] stilla -> [[Elektrisk ström]] i rörelse + - [[Magnetostatik]] stilla -> [[Elektromagnetisk induktion]] i rörelse +- [[Elektriska fält]] och [[Magnetiska fält]] i material + - Appliceras till teknologi + - [[Elektromagnetiska vågor]] + - [[Relativitetsteori]] + - [[Modern fysik]] + - [[Optik]] + - Elektromagnetiska apparater (radio, TV, mobiltelefoni, ..) + +Historia + +- -2700: Magneter användes som kompasser i Kina. +- -700: Bärnsten gnids mot päls. Magnesia. +- [[Gilbert]] (1540-1603) skiljer på elektricitet och magnetism. Jordern är en + magnetisk dipol. +- 17xx: Två typer av laddningar. Kraften är proportionell mot laddningens + storlek. +- [[Coulomb]] (1736-1806): Sammanfattar den elektriska kraftens beroende av + laddningar och avstånd. +- [[Franklin]] (1752): Laddar en kondensator med en drake, en nyckel och ett + åskväder. +- [[Örstedt]] (1775-1851): Visar att strömförande ledare orienterar en magnetnål. + Saker börja hänga ihop igen. +- [[Ampere]] (1775-1836): Undersökte den ömsesidiga kraften mellan strömförande + ledare. +- [[Faraday]] (1791-1867): Tidsvarierande magnetfält ger upphov till elektriska + krafter - induktion. Utvecklade fältbegreppet. +- [[Maxwell]] (1831-1879): Sammanfattar Faradays teorier i fyra ekvationer. + +4 fält. + +- E: Elektrisk fältstyrka ([[Elektriska fält]]) +- D: Elektrisk flödestäthet ([[Elektriskt flöde]]) +- B: Magnetisk flödestäthet ([[Magnetiskt flöde]]) +- H: Magnetiserande fältstyrka ([[Magnetiska fält]]) + +Beskrivs av [[Maxwell#Maxwells ekvationer]]. En "vacker teori". + +Behöver ha förståelse för grunderna för att kunna använda i verkligheten +effektivt. + +Matematiska begrepp + +Slutna integraler. Cylindriska koordinater. Sfäriska koordinater. + +Elektrisk laddning + +Bärnstensgrejen igen. Går att använda ex. plast och päls eller glas och silke +för att visa att laddning kan flyttas mellan objekt och att olika laddningar +attraherar. + +Plusladdning i atomens kärna (protoner). Minusladdning runt om (elektroner). +Exakt samma storlek på laddningen (elementarladdningen). + +Laddning kan inte förstöras. + +Laddningsbalans råder i allmänhet. + +Ledare leder ström. Inte isolatorer. + +[[Elektrostatisk induktion]]. Förklarar laddning när du kammar håret. Behöver +inte vara ledare för att ha en laddning. Exempel: uppladdad färg kan sprayas på +en bildörr. Om bildörren jordas fastnar färgen eftersom den attraheras. + +[[Coulomb#Coulombs lag]]. Kraften rörs längs med sammanbindningslinjen. Samma +tecken ger repulsion, olika attraktion. + +Den [[Elektrostatiska kraften]] är superstark, det är bara det att +laddningsneutralitet råder. Räkne-exempel: hur mycket laddning motsvarar +egentligen 1C? Och hur mycket laddning motsvarar mängden protoner i en +människokropp? (35kg ungefär). + +Slutsats: gravitation spelar ingen roll på atomnivå. (Mikroskalor.) + +Punktladdningar kan smetas ut genom att ha flera laddade punkter. Summera +laddningarna. Olika [[Laddningsfördelning]]ar på olika former. Behöver som regel +integrera. Räkne-exempel. diff --git a/Maxwell.md b/Maxwell.md new file mode 100644 index 0000000..c7f00f5 --- /dev/null +++ b/Maxwell.md @@ -0,0 +1 @@ +# Maxwells ekvationer \ No newline at end of file diff --git a/TFYA86.md b/TFYA86.md new file mode 100644 index 0000000..7324ac5 --- /dev/null +++ b/TFYA86.md @@ -0,0 +1,45 @@ +# Kursinformation + +Mycket på Lisam. + +"University Physics with Modern Physics" av Young & Freeman, 15th ed. +rekommenderas. Även "Physics Handbook". + +Formelblad med handskrivna anteckningar ok på eventuell tenta. + +Föreläsningspresentationer som pdf på Lisam. Inspelade videor från förra året +finns tillgängliga. + +## Föreläsningar + +1. Introduktion. [[Elektromagnetism]] +2. [[Elektriska fält]] +3. + +## Lektioner + +Olika typer beroende på egen smak. Grupp A har genomgång, några uppgifter +gemensamt och lite räkna själv. Grupp B har bara räkna själv. + +## Labbar + +Elektromagnetiska simuleringar. Numerisk simulering. Distans 4h i par. + +Ljusvågor. Experimentell. Kolla på videor och gör en labbrapport utifrån dem. +Individuellt. + +## Duggor / Quiz + +I samband med varje lektion. Behandlar det material som gåtts igenom. 4 frågor, +blandat flervalsfrågor och enklare beräkningar. 3 rätt på en dugga -> 0.5p till +tentan. Ger bonuspoäng upp till godkänt ett år framåt. 8 duggor totalt så 4 p. + +## Tenta + +Tre delar motsvarande delarna i kursen. Del A 18p, del B 6p, del C 6p. + +Godkänt kräver 2p på varje del. + +Preliminärt 3: 12p, 4: 18p och 5: 24p. + +3/6 14-19. diff --git a/TSEA82.md b/TSEA82.md new file mode 100644 index 0000000..5737dfe --- /dev/null +++ b/TSEA82.md @@ -0,0 +1,46 @@ +# Kursinformation + +## Informationskanaler + +- Zoom: föreläsningar +- Teams: labbhandledning +- Lisam: anmälan och inlämning +- Mail + Teams: kommunikation +- Kurshemsidan: kursmaterial + +## Föreläsingar + +1. Introduktion + 1. [[Datormodellen]] + 2. [[Programmerarmodellen]] + 3. [[Assemblyinstruktioner|Instruktioner]] +2. [[Assemblyinstruktioner|Instruktioner]] +3. [[Binär aritmetik]] +4. [[Strukturerad programmering]] +5. [[Programflöde och I/O]] +6. [[Stacken]] +7. [[Avbrott]] +8. [[Pre-processor]] +9. [[A/D-omvandling]] + +## Examination + +Labbserie under terminen, ungefär en labb i veckan. Inga redovisningar utan +labbtillfällena är resurstillfällen. Redovisning sker via inlämning av film och +kod. Samarbete OK men individuell inlämning. + +Labbexamination i slutet. Uppgift där återanvändning av labbkod är tillåten och +förutsätts. 90 minuter. + +# Kursintroduktion + +Datateknik är ett väldigt brett ämne. I den här kursen begränsar vi till +processorer, närmare bestämt assemblerprogrammering. + +Vi programmerar ett ATmega328-chip med [[AVR]] på en Arduino Uno. + +Digitaltekniken är användbar. Inga kombinatoriska nät eller så. + +Kommer använda Atmel Studio för att programmera och simulera. Verkar inte finnas +bra alternativ på linux. + -- cgit v1.2.1