Demontering av ett mekaniskt låssystem med CAN 2.0

Storlek: px
Starta visningen från sidan:

Download "Demontering av ett mekaniskt låssystem med CAN 2.0"

Transkript

1 EXAMENSARBETE INOM ELEKTRONIK OCH DATORTEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2020 Demontering av ett mekaniskt låssystem med CAN 2.0 En fallstudie i hur en CAN-buss kan användas inom dörrlåssystem MAHAD HASSAN FREDRIK EDELSVÄRD KTH SKOLAN FÖR ELEKTROTEKNIK OCH DATAVETENSKAP

2 Sammanfattning Låssystem kan minska risken för inbrott och stöld, och vara ett verktyg för behöriga personer att få tillgång till lokaler och rum. Därför är det viktigt att moderna låssystem är pålitliga, öppnar snabbt och är säkra. Detta examensarbete undersöker om CAN (Controller Area Network) är ett idealt kommunikationsprotokoll för ett säkerhetssystem av dörrlås, med syftet att utföra en fallstudie av CAN-protokollet. Detta sker genom att analysera ett låssystem från ASSA vars kommunikationsprotokoll mellan styr- och låsenhet misstänktes använda CAN-protokollet mellan dess styrenhet och låsenhet. Slutsatsen av analysen var att låssystemet från ASSA inte kommunicerade via CAN. För att bevisa detta återskapades signaler med elektriska standardinterface RS-485. Det sista steget vara att utveckla ett eget låssystem med CAN som kommunikationsprotokoll, och sedan skulle de två låssystem jämföras. För att testa detta programmeras två kretskort av typen ESP32-PoE till en styrenhet och en låsenhet. Ett låssystem designades på ett kopplingsdäck innan den ersattes av två PCBs. Slutresultatet var ett motorlås och en styrenhet som konstruerades och validerades i ett kopplingsdäck. Av de två kretskorten som utvecklades fungerade kontrollenheten som förväntat, medan låsenheten hade problem med dess motor. Den kunde dock klara av dess andra uppgifter som att läsa signaler från styrenheten via en 10 meter kabel och läsa signaler från dess dörrläge givande magnetsensor. Det demonterade låssystemet sänder signaler snabbare, och öppnar låset ungefär lika snabbt, men är inte lika säker som den kommersiella låssystemet för att CAN har restriktiva säkerhetsåtgärder. Nyckelord: Mekaniskt lås, CAN, Säkerhet, PCB, Demontering, Clean Room, Mekatronik

3 Abstract Lock systems can reduce the risk of burglary and theft, and be a tool for authorized persons to access premises and rooms. Therefore, it is important that modern lock systems are secure, reliable and open quickly. This thesis investigates whether CAN (Controller Area Network) is an ideal communication protocol for a door lock security system. This is done by analyzing a mechanical lock system from ASSA which was suspected of using CANbus as a communication protocol between the control unit and lock unit. Then the lock and control units were analyzed. The conclusion of the analysis is that the lock system did not communicate via CAN. To prove this, signals were re-created with the electrical standard interface RS-485. The final step was to construct a lock system with CAN as a communication protocol, and then the two lock systems would be compared. To test this, two ESP32-PoE development boards are programmed into a controller and a locking device. A mechanical door lock system was designed on a breadboard before being replaced by two PCBs. Of the two circuit types that were developed, the control unit worked as expected, while the motorlock unit had problems with it s motor. However, it was able to handle its other tasks such as reading signals from the controller via a 10 meter cable and reading signals from its door locating magnetic sensor. The disassembled lock system sends signals faster, and opens the lock approximately as quickly, but is not as secure as the commercial CAN lock system has restrictive security measures. Keywords: Mechanical Lock, CAN, Security, PCB, Disassembly, Clean Room, Mechatronics 1

4 Förord Vi vill tacka vår examinator Saul Rodriguez Duenas och vår akademiska handledare Mark Smith för deras rådgivning och stöd under detta examensarbete. Vi vill också tacka vår kamrat Basel Mardini för hans hjälp och tips i Mentorspace. 2

5 Innehåll 1 Introduktion Bakgrund Problemdefinition Syfte Mål Undersökningsmetod Avgränsningar Disposition Bakgrund Controller Area Network CAN-protokollets signal CAN-protokollets dataframe Medlingsfasen Kontrollfasen Checksumma- och ACK-fasen Bit stuffing Kontroller och Transceiver CAN-buss struktur CAN och säkerhet Typer av säkerhetsattacker Säkerhetsmetoder Krypteringsalgoritmer för CAN, TEA Utvärdering av CAN från ett säkerhetsperspektiv ASSA motorlås ASSA styrenhet Wiegand-gränssnittet Demontering och Clean-room metoden Motorlås och Mekatronik Analys av ASSA motorlås Metodik Analys av tillgänglig dokumentation Logisk analys

6 3.1.3 Öppnande av svart låda Analys av komponenter Analys av PCB Resultat och analys av demonteringen Diskussion Metod Undersökningsprocess och utvecklingsprocess Undersökningsparadigm Givna komponenter Val av komponenter: Transceiver Alternativ till CAN transceivers Halleffektsensor Motorkontroll med en H-brygga och PWM Konstruktion Fysisk konstruktion Arbete med kopplingsdäck Test av RFID med MonkeyBoard Library Test av Halleffektsensor Konstruktion av H-brygga CAN och EMC-planering inför PCB utveckling PCB-design med LPKF milling machine Lödning av PCB Mjukvaruutveckling Utveckling med Arduino IDE Utveckling med ESP-IDF CAN med ESP-IDF Wiegand med ESP-IDF PWM med ESP-IDF Läsa signalnivåer från magnetsensorn True random number generator Implementation av krypteringsalgoritm Resultat och Analys Kopplingsdäcket PCB Övergripande jämförelse Kryptering av låssystemet Reliabilitet Validitet

7 7 Diskussion Lödningen av kretskortet Utvärdering av arbetsmetodik Förbättringar Potential till större dörrlåssystem Utvärdering av CAN Demontering från ett etiskt perspektiv Slutsats och Framtida Arbete 65 A Kretsschema för styr- och låsenheten 70 B PCB Layout för styrenheten och låsenheten 72 C H-bryggans kretsschema och simuleringar 74 5

8 Lista av Akronymer and Förkortningar Arduino IDE Arduino Integrated Development Environment CAN Controller Area Network CRC Cyclic Redundancy check DAC Door Access Control ECU Electronic Control Unit ESP Förkortning för Espressif, ett kinesiskt hårdvaruföretag ESP-IDF Espressif IoT Development Framework MCU MicroController Unit PCB Printed Circuit Board PWM Pulse Width Modulation TEA Tiny Encryption Algorithm UART Universal Asynchronous Receiver Transmitter 6

9 Figurer 2.1 Graf över CAN spänningsnivåer CAN 2.0 data frame CAN-buss-arbitrering mellan tre noder Arkitektur över CAN nod med MCU, kontroller och transceiver Bild på CAN Low Speed/Fault tolerant buss Bild på CAN High Speed buss Bild på ASSA 811S Bild på DAC Bild på Wiegand-interface signaler Signaler från DAC430, Signalen som uppstår när låset öppnas Signal från DAC430 med RS232 dekodare, Idle signal Kretsschema för nivåskiftaren (över) och återskapade signaler med RS-485 transceiver (under) Bild på PCB från ASSA 811S motorlås Bild på DAC430 PCB Tillståndsdiagram för låssystemet Bild på ESP32 PoE från OLIMEX Kretsschema över CAN buss med digital AND gate Kretsschema över CAN-buss med Schottky-dioder Exempel på halleffekt Kretsschema av en h-brygga Systemarkitektur för låssystemet CANbus-signaler avbildad med ett oscilloskop Bild på upplägg från RFID-modulen Wiegand-signaler från DATA0 och DATA Bild på TIP120, TIP Figur över H-bryggans konstruktion Bild på låsenheten, alla komponenterna är lödda förutom motorn Bild på styrenheten Visualisering av toolchain för ESP-IDF Tillståndsdiagram över ESP-IDF CAN Driver Bild på menuconfig med konfigurering av bluetooth

10 6.1 Bild på kopplingsdäcket med låssystemet CAN-buss signal utan kryptering CAN-buss signal med kryptering. Observera: likadan bithastighet 59 8

11 Tabeller 2.1 Kontrollpunkter från manualen CAN transceivers och deras egenskaper Jämförelse mellan två låssystem

12 Kapitel 1 Introduktion 1.1 Bakgrund Mekaniska låssystem är viktiga för byggnader som har ett stort behov av säkerhet. Låssystem kan minska risken för inbrott och stöld, och vara ett verktyg för behöriga personer att få tillgång till lokaler och rum. I Sverige finns en stor säkerhetsindustri med branschledare som Securitas, ASSA och Gothia Protection som arbetar med att utveckla teknologi som larmsystem, låshus och kameratjänster. Det finns dessutom flera svenska medelstora företag som arbetar med liknande säkerhetstjänster som Senecta Security[1]. Senecta är ett företag som tillverkar säkerhetssystem, bland annat elektroniska lås, för andra företag. Senecta gav examensarbetarna ett låssystem som bestod av ett motorlås, en 24V strömkälla och en Door-Access-Control-enhet från ASSA som skulle styra motorlåset. Uppgiften var att programmera en given mikrokontroller uppkopplad till en utvecklingsbräda ihop med en relämodul för att fungera som en DAC-enhet och ersätta den i låskretsen. Målet för företaget var att ersätta låshusets styrenhet, och på så sätt minska kostnaden genom att ersätta DAC-enheten. Senectas uppdragsgivare ansåg att DAC-enheten kommunicerade via Controller Area Network (CAN), och delade på grund av detta teoretiska resurser om CAN till examensarbetarna. Under projektets genomförande skedde fundamentala förändringar i relationen till företaget, som under Covid-19 pandemin kämpade med ekonomin, och inte kunde bistå projektet med viktiga komponenter och ersätta ofunktionella motorlås. Det ledde till en omplanering av examensarbetets mål och ett avbrott från samarbetet. Det originella målet för examensarbetet var att analysera ett motorlåssystem från ASSA och ersätta dess DAC-enhet. Det nya övergripande målet är att examensarbetarna ska demontera låshuset genom att implementera ett låssystem som styrs med CAN-protokollet. Med det givna låsets motor som utgångspunkt, ska ett nytt låssystem utvecklas som sedan jämförs med ASSAs 10

13 låssystem. 1.2 Problemdefinition Är CAN-protokollet ett passande kommunikationsprotokoll för låssystem? Detta är den centrala frågan som kommer undersökas. För att kunna besvara den frågan ska ett låssystem med samma funktioner som låssystemet från ASSA utvecklas. Detta ska ske genom en beteende-orienterad demontering av ASSAlåset så att en jämförelse mellan de två låssystemen kan ske. 1.3 Syfte Syftet med projektet är att utföra en specifik fallstudie av CAN-protokollet för att få en förståelse för hur system med en CAN-buss interagerar med dess noder och funktioner. Det är dessutom lärorikt att studera hur mekaniska och elektroniska system samverkar med varandra för att utföra arbeten. Arbetets syfte är inte vinstdrivet utan planerar att följa etiska ramverk som har satts av KTH. 1.4 Mål Examensarbetet har skett i tre faser: En förstudiefas där relevant teori för att förstå motorlåset från ASSA studeras, detta inkluderar en litterär studie av CAN protokollet. Den andra fasen är analysfasen, då motorlåset analyseras för att förstå hur den beter sig med sin omgivning och hur den fungerar. Den tredje fasen är demonteringsfasen då styr- och låsenheten utvecklas. Efter att CAN-protokollet är välstuderat ska det givna motorlåset studeras. Dess beteende ska analyseras och dess underliggande funktion ska studeras. Hur kommunicerar den seriellt med dess styrenhet? Detta ska främst ske med hjälp av ett oscilloskop. Det sista steget är en demontering. Det nya låssystemet kommer att bestå av en DC-motor och två mikrokontroller-enheter. MCU:n som examensarbetarna ska programmera är en ESP32-WROOM-32, tillverkad av Espressif Systems. Denna MCU är monterad på ett kretskort kallad ESP32-POE, tillverkad av Olimex[2]. Mikrokontrollern i ESP32-serien innehar låg kostnad, vilket är idealt för en demonterad styrenhet. Styrenheten sänder signaler till det demonterade motorlåset via en CAN-buss. CAN är ett seriellt kommunikationsprotokoll som främst används i fordon och tyngre maskineri på grund av dess felsökningsegenskaper och höga störningsmotstånd[3]. CAN tillåter dessutom flera styrenheter att kommunicera seriellt. Delmålen som ska uppnås är sammanfattningsvis: 11

14 Att studera CAN-protokollet genom att undersöka akademisk litteratur. Att analysera ett låssystem från ASSA Att implementera ett demonterat låssystem med CAN Undersökningsmetod Projektet bestod av ett omfattande bibliotek med käll-litteratur om seriella kommunikationsgränssnitt och hur de fungerar, främst med fokus på CAN 2.0. Undersökningar på ASSAs låshus med hjälp av manualer och liknande dokumentation utfördes för att tyda hur den fungerar. Undersökningar av låshusets kommunikationsprotokoll kan ske med hjälp av oscilloskop, som kan visuellt presentera signalerna som styrenheten sänder till låsenheten. Med ett oscilloskop kan spänningsnivåer, bithastighet och dylikt analyseras för att förstå hur dess kommunikationsbuss drivs. De viktigaste komponenterna som låset och styrenheten använder ska studeras så att ett demonterat motorlås kan utvecklas. Demonteringen ska dessutom studeras akademiskt från ett etiskt perspektiv. 1.6 Avgränsningar MCU:n som ska inneha alla funktionerna av en DAC430 är endast en ESP32- WROOM-32, inte någon annan MCU. Denna MCU borde också vara monterad på en bräda av typen ESP32 PoE revision C, på grund av att mikrokontrollerns pinnar har specifika kopplingar till alla pinnarna på kretskortet. CAN-bussen kommer att bestå av endast två noder under konstruktionsfasen. Därmed kommer låssystemet bestå av endast två CAN transceivers. Kortläsaren kommer att vara en RFID-modul som sänder signaler via Wiegand-gränssnittet. För att se till att den slutdemonterade prototypen blir billigare än låssystemet från ASSA ska vissa IC-komponenter monteras från tillgängliga komponenter som transistorer och passiva komponenter. 1.7 Disposition I kapitel 2 presenteras den teoretiska bakgrunden till CAN-protokollet och andra teoretiska underlag för detta projekt. Mycket av informationen som presenteras samlades under förstudiefasen av detta projekt. I kapitel 3 presenteras en analys av ASSA motorlåssystemet där metodiken för analysen och dess slutgiltiga resultat beskrivs. I kapitel 4 beskrivs metoderna för att utveckla det demonterade låssystemet. Detta kapitel inkluderar viktig teori om olika komponenter ihop med hur de kan implementeras. I kapitel 5 ska konstruktionen av det demonterade låssystemet beskrivas. Två ämnen sätts i fokus: 12

15 hårdvarukonstruktionen och mjukvarukonstruktionen. I kapitel 6 presenteras resultatet av konstruktionen och den jämförs med låssystemet från ASSA. I de två sista kapitlen ska dessa resultat diskuteras och en slutsats ska bestämmas. Sedan diskuteras dessutom projektets framtida arbete. 13

16 Kapitel 2 Bakgrund Detta kapitel fokuserar främst på CAN-protokollet. Först beskrivs den grundläggande strukturen av en CAN-buss, hur den fungerar och vilken hårdvara krävs för den. Sedan beskrivs protokollets brist på säkerhet och hur alternativ på lösningar kan behandlas. Till slut beskrivs koncept som blir relevanta i rapporten, demontering och mekatronik. 2.1 Controller Area Network Controller Area Network eller CAN är ett seriellt nätverksprotokoll utvecklat av företaget BOSCH år 1983[3]. Protokollet implementerades först inom bilindustrin med syftet att agera som en databuss mellan de olika elektroniska kontrollenheterna (ECU) i moderna bilar. Funktioner som luftkuddar, audiosystem, fönster och bromssystem som tidigare implementerades mekaniskt utvecklades digitalt för att förbättra dess egenskaper[3]. Vissa av dessa ECUs är i behov av att kommunicera med varandra och dela data som position, temperatur, hastighet mm. Tidigare nätverksbussar för fordon som Mesh eller D2B hade kritiska svagheter som opålitlighet respektive för många kablar. CAN använder bara två kablar och har flera egenskaper för att säkra pålitlig dataöverföring[4]. Dessa egenskaper inkluderar[4, s 1]: Feldetektering med CRC (Cyclical Redundancy Check) Arbitrering mellan parallella meddelanden Multi-master och multi-slave funktionalitet Prioritering av meddelanden och garanterad maximal latens 14

17 2.2 CAN-protokollets signal Signaler som sänds i elektroniska nätverk är oftast i ett av tre lägen: singleended, common mode eller differential mode. En single-ended ingångssignal mäter spänningsskillnaden mellan signal-tråden och ground. Skillnaden kan sedan amplifieras externt för att få en tillfredsställande utgångssignal. Singleended signaler är enkla att implementera, men den kommer med vissa nackdelar. Single-ended signaler är svaga mot brus och dess risk för ground-loops är högre[5]. En differentiell ingångssignal har ingen jordreferens, istället för en insignal och en jordsignal använder sig differentiella signaler av två insignaler en positiv (+) signal och en inverterad (-) signal[6]. Signalens utgångsvärde är skillnaden mellan den positiva signalen och den inverterade signalen (common mode rejection). En sådan konstruktion kan eliminera brus och dubbla signalens amplitud. Den främsta nackdelen med differentiella signaler är att den kräver två ingångssignaler. Differentiella kretsar är väldigt effektiva när en konstruktion måste driva en låg spänning. Om signal/brus ration är problematisk eller om spänningsnivån för applikationen är väldigt låg kan differentiella signaler fördubbla signalnivån: (+V ( V )) = 2V Signalen är recessiv (logisk etta) när differensen mellan mottagarens ingångssignal är <0.5 V eller när sändarens utgångssignal är <1.5 V. Signalen är dominant (logisk nolla) när differensen mellan High och Low är >0.5 V för mottagarens ingångssignal och >1.5 V för sändarens utgångssignal[4, s 10]. Figur 2.1: Graf över CAN spänningsnivåer 15

18 2.3 CAN-protokollets dataframe CAN-protokollet har en lång meddelandestruktur som kan indelas i fyra faser med distinkta syften. CAN kan dessutom delas in i två format: ett standardformat med en 11-bitars identifierare och ett utökat format med en 29-bitars identifierare[4, s 14]. Dessa format kan appliceras i samma CAN-buss utan komplikationer. Till exempel förändras inte arbitreringsprocessen. Det blir dock skillnader i hur meddelandena formateras[4, s 14]. Alla noder synkroniseras med SOF-biten (Start of frame), som alltid är en dominant bit (logisk nolla). Sedan sänds medlingsbitarna som jämför identifierare. Efter medlingsfasen följer kontrollfasen, datafasen, checksumman och till sist ACK-fasen. Figur 2.2: CAN 2.0 data frame Medlingsfasen CANs medlingsprotokoll är prioritetsbaserad och är uppbyggd enligt CSMA/CD (Collision Detection)[4, s 14]. Meddelandet kommer inte att läsas om den har lägre prioritet än ett annat meddelande från en annan nod som sänder samtidigt. Figur 2.3: CAN-buss-arbitrering mellan tre noder CAN-bussens metod för att medla data är genom att sända differentiella signaler med en logisk AND. Bussen sände två signaler, CAN High och CAN Low, som antingen drivs till ett dominant läge där High > Low, eller återvänder till recessivt läge där High Low. En digital 0:a uttrycks med ett dominant läge och en digital 1:a uttrycks med ett recessivt läge. En nod som sänder en 0:a 16

19 tvingar hela bussen till ett dominant läge, vilket eliminerar alla 1:or och formar en logisk AND Kontrollfasen Kontrollfasen består av sex bitar som bestämmer hur datat ska behandlas av de lyssnande noderna[4, s 15]. I standardformatet är de två första bitarna IDE som bestämmer om formatet är standard eller utökat, och RTR som är en reserverad bit och ska vara recessiv (logisk etta). IDE-biten är dominant i standardformat och recessiv i utökad format[4, s 15]. Detta låter läsande noder förbereda sig för att ta in fler bitar än standardlängden. De fyra resterande bitarna kallas Data length code (DLC) och bestämmer storleken på datan i form av antal bytes. CAN tillåter upp till 8 bytes att sändas i båda dataformat. Efter kontrollbitarna är sända skickas databitarna Checksumma- och ACK-fasen Efter att datat har sänts dedikeras 15 bitar av dataformatet till en checksumma kallad CRC[4, s 15]. CRC fungerar genom att sändaren beräknar en checksumma från de bitarna som ska sändas, sedan sänds CRC-fältet med beräkningen till mottagaren. När mottagaren tar emot CRC-bitarna utför den samma beräkning och sedan jämförs beräkningen med den givna datan. Om datan som har sänts är samma som bitarna som har beräknas anses datan vara okorrumperad, och mottagaren skickar en ACK-frame till mottagaren som leder till att sändaren avslutar sin sändarläge och börjar lyssna. Om de inte är lika skickar mottagaren error-bitar som sändaren läser upp. Då försöker sändaren att skicka samma bitar igen. Vanligtvis används en 15-bitars polynom med Hamming-distans[7] av 6, detta innebär att upp till 5 slumpmässigt placerade felaktiga bitar kan detekteras. Antalet felaktiga bitar som upphittas kan dock praktiskt bero på hur många bitar som upphittas. 2.4 Bit stuffing x 15 + x 14 + x 10 + x 8 + x 7 + x 4 + x 3 + x 0 CRC-polynomet Noder i en CAN-buss enkodar signaler med NRZ-principen (Non-Return-to- Zero) vilket ökar motståndet mot externa störningar[4, s 3]. Noderna synkroniseras dessutom på första biten så att alla läsande noder vet hur många bitar som ska läsas och för att försäkra att informationen är konsekvent överallt. För att försäkra att mottagarna i bussen läser datat samtidigt är alla noder programmerade med samma bithastighet. CANs synkroniseringsprotokoll använder sig av övergångar mellan ettor och nollor för att justera läshastigheten. Detta innebär 17

20 att långa datasekvenser med hög bithastighet och konsekutiva ettor eller nollor är svåra för noder att läsa[4, s 3]. Av denna anledning implementerar CANprotokollet en bitfyllningsprocedur som placerar motsatta bitar när en sekvens av fem eller fler likadana bitar sänds. Som exempel kan en CAN-nod planera att sända en sekvens med åtta konsekutiva nollor: När noden tillåts att sända data ser datan ut på följande vis: Kontroller och Transceiver En CAN-nod består av tre komponenter: en processor, en kontroller och en transceiver[4, s 6]. Processorn kan bestå av en mikrokontroller eller en digital signalprocessor. CAN-kontrollern kan vara inkorporerad i processorn men den kan också vara extern. Transceivers är vanligtvis externa komponenter som måste kopplas till CAN-kontrollern för att sända CANH och CANL. Kontrollens funktion är att minska arbetet från processorns sida genom att hantera CAN protokollet. Kontrollen och processorn arbetar ofta utifrån ett gränssnitt av interrupts. Kontrollen tar emot och lagrar mottagna databitar från bussen, och när ett helt meddelande har mottagits kan kontrollen starta en interrupt för att låta processorn ta emot meddelandet. Det finns två typer av CAN-kontrollers, basic och full[4, 27]. Om kontrollen är basic innebär det att chippet är begränsat till logik som kan hantera CANprotokollets bitström. De har dessutom bara en sändarregister och två mottagarregister. Detta innebär att bara ett meddelande kan skickas åt gången. Om fler meddelanden ska sändas måste nodens övre lager implementera ett kösystem för att sända mer data. En full CAN-kontroller har ofta flera dataregister som kan konfigureras för att sända och ta emot flera meddelanden som kan sparas i ett RAM-minne. Gränssnittet mellan CAN-protokollets kontroller och det två-kablade mediet består av CAN-transceivern[4, s 6]. Rent elektriskt agerar den som en amplifierare för sändarporten, och den skyddar mottagarporten mot överbelastning. Transceivern agerar dessutom som en detektor som överser fel i bussen som till exempel kabelfel, kortslutningar eller fel på jord. Transceivern bildar dessutom en galvanisk isolation mellan nodens mikrokontroller och bussen. 18

21 Figur 2.4: Arkitektur över CAN nod med MCU, kontroller och transceiver 2.6 CAN-buss struktur CAN-databussen har en relativt simpel struktur, detta för att bara två kablar utgör basen för en CAN-buss. Dess struktur kan dock variera beroende på vilken bithastighet man vill uppnå. Två av de vanligaste strukturerna är CAN High Speed och CAN Low Speed/Fault tolerant[8]. Dessa standarder har olika strukturer för att uppnå deras respektive mål. CAN High Speed kan sända data i upp till 1 Mbit/s och CAN Low Speed/Fault Tolerant kan sända data i upp till 125 kbit/s. Syftet med den andra standarden är att vara motståndskraftig mot glappande kretsar, brus och långa kabeldistanser[8]. Figur 2.5: Bild på CAN Low Speed/Fault tolerant buss Resistorvärdet är vanligtvis 120 Ohm. Figur 6 visar hur en Low speed databuss är uppbyggt. Notera att noderna i figur 6 använder flera terminationresistorer. 19

22 Figur 2.6: Bild på CAN High Speed buss 2.7 CAN och säkerhet CANs fysiska lager specificerar inte ett sätt att kryptera signalerna från bussen, utan det är upp till konstruktörerna av bussen att kryptera signalerna[9]. Eftersom CAN inte har säkerhetsegenskaper inbyggt har krypteringsfunktioner varit en viktig uppgift för företag och institutioner att utveckla. CAN har inbyggda egenskaper som CRC-beräkning och feldetektering, men den saknar ett skydd mot angrepp eller avlyssning. För fordonsindustrin är detta farligt för att kritiskt viktiga bilfunktioner som bromsar eller krockkuddar kan potentiellt angripas av en inkräktande nod[10]. CAN är uppbyggt för att vara en databuss där alla noder kan läsa information från en sändare. Enligt en enkät från Vector Consulting som handlar om de framtida utmaningar som fordonsindustrin måste möta inför 2020-talet är en av dessa cybersäkerhet[11]. 2.8 Typer av säkerhetsattacker Det finns två sorters fysiska attacker som CAN är speciellt svag mot[5]. Den ena är imitation, att ett meddelande kan förfalskas av en angripare. Den andra är avlyssning av information som sprids i bussen. Med hjälp av en logisk analyser kan en hackare läsa in information och sedan manipulera den elektroniska enheten genom att sända farliga instruktioner. En säkerhetsmekanism i en CAN-buss måste begränsas för att kunna anpassa sig till mikrokontrollernas egenskaper. Exempel på begränsningar kan vara[5]: CPU och minne elektriska begränsningar från CAN-kontrollern och transceivern 2.9 Säkerhetsmetoder CAN har inga inbyggda säkerhetsåtgärder vilket innebär att kreativa åtgärder måste utföras för att skapa en intrångssäker CAN-buss. En av de tidiga CANrelaterade testattacker var i 2007 av Hoppe, T och Dittman, J som hackade sig in i en bils fönster[12]. De sände instruktioner som gjorde att en bil skulle öppna 20

23 sitt fönster när bilens hastighet nådde 200 km/h. De demonstrerade dessutom att instruktioner kunde sändas som fick en bil att stänga fönstret eller vara inaktiv om bilföraren ville dra ned fönstret. De fann dessutom säkerhetsbrister i alarmljussystemet och krockkudden som kunde manipuleras. Segmentering Ett sätt att göra ett nätverk säkrare är genom att implementera ett bussnätverk med flera subnätverk i sin CAN-buss[10]. Att segmentera CAN-bussen innebär att åtkomst till specifika subnätverk kan hindras, och om ett visst subnätverk blir korrumperad kan resten av makronätverket fortfarande arbeta. Sammankopplingen mellan nätverk och noder måste styras via en gateway-nod. Denna metod kan hittas i CAN-buss bland bilar. Så länge gateway-noden inte blir korrumperad blir aldrig hela databussen tillgänglig för angripare. Fördelen med segmentering och partitionering är att angrepp på hela systemet blir svårare, det finns fortfarande risker för utomstående angrepp, men viktiga system kan fortfarande arbeta självständigt. Nackdelen med denna metod är att underhåll av systemet ökar när flera bussar arbetar separat och tillsammans. Autentisering Under normala förhållanden kan inte individuella noder i en CAN-buss identifieras. Detta gäller dessutom när en specifik nod är i sändarläge. Ifall en angripande nod sände meddelanden i en databuss skulle alla andra noder i lyssnarläge ta emot meddelandet. Detta skulle kunna förhindras med hjälp av autentiseringsmetoder[10]. Nuvarande lösningar som nyckeldelarsystem där noder ändrar deras nycklar dynamiskt så att bara behöriga noder kan använda dem finns, men problemet är att dynamiska nycklar kan vara osäkra metoder beroende på buss-stabilitet och uttökad nätverkstraffik. Ett annat alternativ är hårdvarubaserade metoder som implementeras i mikrokontrollern. Dessa MCUs har inbyggda autentiseringsfunktioner ämnade för fordonsindustrin som S32K Family från NXP[13]. De innehåller inbyggda Cipherbaserade autentiseringskod ihop med CAN-kompatibilitet. Kryptering En metod för att säkra en CAN-buss kan vara att sända krypterade meddelanden, som gör det svårare för avlyssnare att veta vad meddelandens information är. Det kan ske genom krypteringsalgoritmer. Cipherbaserade algoritmer ihop med synkroniserade nycklar kan tillåta en CAN-buss att dölja viktig information från angripande noder. Krypteringsalgoritmer är dessutom enklare att implementera för att de utförs från mikrokontrollern genom programmering. Problemet är att en CAN-buss inte nödvändigtvis skyddas från imitering[10]. Vissa rekommenderade metoder för att lösa detta kan ske via uppdelning av data frames så att ett meddelande består av flera frames. Dynamiska nycklar kan 21

24 bidra till att dölja meddelanden bättre än statiska nycklar, men dess problem är att den inte är lämplig för säkerhetskritiska system[10] Krypteringsalgoritmer för CAN, TEA En lösning på hur man kan kryptera en CAN-buss är genom att implementera en algoritm som TEA (Tiny Encryption Algorithm) av David Wheeler et al[14]. Det är en krypteringsalgoritm som är gjord för att vara simpel och snabb. TEA kan implementeras med C-kod i en mikrokontroller och anpassas för att fungera inom kontrollerns begränsade egenskaper[15]. TEA är en algoritm som använder mixade algebraiska tekniker för att omvandla data till två block. Algoritmens parametrar är en nyckel och meddelandet som ska krypteras. För att sedan dekryptera meddelandet krävs samma nyckel. Wheelers originella proposition är att använda 32-bitars arrayer och returnera två arrayer[14]. void code(long* v, long* k) { unsigned long y=v[0],z=v[1], sum=0; /* set up */ delta=0x9e3779b9, /* a key schedule constant */ n=32 ; /* basic cycle start */ while (n-->0) { sum += delta ; y += ((z<<4)+k[0]) ^ (z+sum) ^ ((z>>5)+k[1]) ; z += ((y<<4)+k[2]) ^ (y+sum) ^ ((y>>5)+k[3]) ; } /* end cycle */ v[0]=y ; v[1]=z ; } Pseudokod för TEA-algoritmen TEA har visats att fungera som krypteringsmetod för hårdvara med kommunicerande komponenter tidigare[15]. CAN meddelanden kan krypteras med TEA, men på grund av begränsningar från vald mikrokontroller kan bithastigheten påverkas om algoritmen beräknar för mycket. Detta kan vara ett problem om databussen delar kritiskt viktig information mellan noder Utvärdering av CAN från ett säkerhetsperspektiv CANs sårbarhet kan utvärderas från tre viktiga säkerhetsperspektiv. Dessa är konfidentialitet, integritet och tillgänglighet[10]. Konfidentialitet i detta sammanhang innebär att data sänds till autentiserade objekt. CAN innehar inte en inbyggd metod för att kunna autentisera specifika noder. Integritet innebär att datat som sänds är giltigt och komplett. CAN har CRC-beräkningsegenskaper 22

25 som tillåter den att sända om data till bussen ifall meddelandet är felaktigt, men den kan inte förhindra meddelandeinjektioner från lika kompletta noder. Från ett helhetsperspektiv har CAN-bussen en svag integritet. Ett annat problem är tillgänglighet. Alla noder i en CAN-buss får sända meddelanden, problemet är dock att en injekterande nod kan programmeras för att ha den högsta möjliga prioriteten, vilket innebär att den kan sända meddelanden och samtidigt stoppa andra noder från att sända meddelanden. Denna utvärdering visar att CAN är ett kritiskt svagt kommunikationsprotokoll för en databuss som kräver en hög nivå av säkerhet[10]. Industrin som främst använder CAN-protokollet är fordonsindustrin, vilket innebär att uppdaterade standardiseringar av CAN sker under fordonsindustrins villkor. Bilindustrins mål har skiftat från att skapa en säker databuss till att istället utveckla säkrare transceivers och kontrollers som har inbyggda säkerhetsfunktioner[10]. En växande trend inom bilindustrin är att trådlösa attacker av bilar är studerat mer än fysiska attacker av bilen[10] ASSA motorlås ASSA Evolution 811S är ett motorlås som är anpassad för att användas i dörrar som kräver hög säkerhet[16]. Den har en öppningshastighet på 1/3 sekund och en inbyggd magnetisk dörrlägesgivare som förser låset med information om dörren är stängd eller öppen. Låset har en öppethållandetid när dörren öppnas, och låser sig när dörrlägesgivaren visar låset att dörren är stängd. Låset är utvecklat för att tåla höga säkerhetskrav i platser som kontor, butiker eller handel[16]. Dess hakregel drivs av en inbyggd motor. Säkerhetssystem som passersystem, kodlås eller liknande kan kopplas till låsets system, men de måste kopplas via ASSAs styrenhet som kontrollerar motorlåset. 23

26 Figur 2.7: Bild på ASSA 811S 2.13 ASSA styrenhet ASSA DAC430 styrenhet för motorlås är ett grundkort utvecklat för att styra ett motorlås från ASSA som 811S eller 810s[17]. Styr- och låsenheterna är parkopplade när de säljs av ASSA. Båda enheterna har etiketter med ett treeller fyrsiffrigt tal som indikerar att låsenheten och styrenheten är initierade med varandra. Ett lås som inte är initierat till en styrenhet kan inte öppnas elektriskt. Maximala distans mellan enheterna är 50 meter. Låsenheten och styrenheten kopplas med fyra kablar. Dessa är: 12V (röd kabel) 0V (vit kabel) C+ (gul kabel) C- (grön kabel) En slutning mellan relä-ingångarna KP11 och KP12 öppnar låset, som sedan håller sitt upplåsta tillstånd i ett antal sekunder. Om dörrlägesgivaren sedan känner ett magnetiskt fält låser sig låsenheten. Den kan också hålla sig öppen om KP11 och KP12 håller sig kortslutna länge. Mellan relä-ingångarna KP1 och KP2 ansluts en matningsspänning på 24 eller 12 V beroende på vilket läge som bygel J6 ligger på. DAC430 har dessutom lysdioder som agerar som kontrollpunkter. Dessa hjälper tekniker och installatörer att diagnosticera låset[17]. 24

27 Figur 2.8: Bild på DAC430 Namn Färg Beskrivning PWR Gul Lyser när enheten blir matad med spänning WDG Blå Blinkar med 2 Hz frekvens när enheten är normal 12V OVER Orange Överbelastning vid >12V i 12Vläge Tabell 2.1: Kontrollpunkter från manualen En annan kontrollpunkt som är viktig att notera är att spänningsskillnaden mellan relä-utgångarna C+ och C- måste vara 2.5 V om styr- och låsenheten ska arbeta normalt Wiegand-gränssnittet Wiegand-gränssnittet var allmänt använd av kortläsare under 1980-talet[18]. Gränssnittet består av 3 kablar: en gemensam jordkabel och två kablar för dataöverföring, vanligen markerade som DATA0 och DATA1. När ingen data sänds är både DATA0 och DATA1 uppdragna till matningsspänning, i detta fall 5V. När bit 0 ska skickas är DATA0 ansluten till jord och DATA1 är fortfarande hög. När bit 1 ska sändas är DATA1 ansluten till jord och DATA0 är hög. Denna metod tillåter kabeln att sända data över ett långt avstånd[18]. Wiegand-gränssnittet är vanligt för att ansluta en kort-svep-mekanism till resten av åtkomstkontrollsystemet. 25

28 Figur 2.9: Bild på Wiegand-interface signaler 2.15 Demontering och Clean-room metoden Termen demontering eller reverse engineering (engelska) kommer originellt från den maskintekniska traditionen av ingenjörskap som innebär att man analyserar hårdvara som man inte har konstruerat själv och utan tillgång till dokumentation[19]. Den analoga termen för detta begrepp är reengineering som också används för analys av mjukvara. Inom akademiska kretsar kan demontering delas in i två kategorier: black- och whitebox demontering. Black box demontering studerar bara ett systems beteende och dess dokumentation (om det går att hitta), medan white box demontering studerar hur ett systems inre system fungerar[19]. Upphovsrätt och patentlagar skyddar företag från att deras produkter konkurreras av ett annat företag som har kopierat produktens design. En metod som har använts för att kringgå upphovsrättslagar och dylikt är med en metod kallad clean room metoden[20]. Denna metod är beroende av två separata ingenjörsgrupper som delger specifik information om produkten som ska demonteras. Metodologin sker på följande vis: En grupp analyserar produkten genom att studera produktens beteende, dekonstuktera produkten och på andra möjliga vis för att förstå hur den fungerar [20]. Sedan beskrivs produktens system till den andra gruppen, som sedan implementerar en egen prototyp som har ett liknande beteende, men med en originell implementation. Idén är att den andra gruppen arbetar på ett lagligt obefläckat sätt som kan kringgå en direkt kopiering Motorlås och Mekatronik Ett elektriskt motorlås som ASSA-811S inkorporerar mekanisk-, elektrisk- och dator-teknologi som samspelar för att utföra funktioner och processer på ett så effektivt sätt som möjligt. För ingenjörer som bygger liknande system sätts en 26

29 högre förväntning av industrin att förstå integrerade system och discipliner för att leverera tillfredsställande produkter. Specifikt för motorlås verkar mekatronik vara den teoretiska basen för konstruktion. Mekatronik är ett begrepp som formades i Japan av Yasakawa 1969[21]. År 1972 registrerades begreppet som ett varumärke. Mekatronik är idag ett välkänt begrepp som kombinerar datavetenskap, elektroteknik, mekanik och informatik. Implementationer av ställdon (actuator) och sensorer eller transducers som kan styras och kommunicera med omgivningen är vanligt för mekatroniska system. I ASSA 811S kan magnetsensorn och DC-motorn räknas som enheter som tar del av ett mekatroniskt system. I mekatroniska system används sensorer för att bestämma låsets tillstånd och DC-motorn för att manipulera fysiska tillstånd. En dator i form av en mikrokontroller bidrar till systemet genom att agera som den logiska tillståndsmaskinen som läser in data från omgivningen och skickar ut instruktioner som periferierna verkställer. En inbyggd dator kan användas för att kontrollera och styra processer och tillstånd i det mekatroniska systemet. Det japanska teknologiförbundet JSPMI (Japan Society for the Promotion of Machine Industry) klassificerade mekatroniska produkter i fyra klasser[22]. Ett motorlås med egenskaper likt ASSA 811S skulle kunna klassas som ett av följande två klasser av de fyra. Klass 2: Traditional mechanical systems with significantly updated internal devices incorporating electronics. The external user interfaces are unaltered. Examples include the modern sewing machine and automated manufacturing systems Klass 3: Systems that retain the functionality of the traditional mechanical system, but the internal mechanisms are replaced by electronics. An example is the digital watch 27

30 Kapitel 3 Analys av ASSA motorlås 3.1 Metodik Analys av tillgänglig dokumentation Motorlåset har inte något datablad där signaler eller funktionernas processer beskrivs, men de har manualer för tekniker och köpare som visar hur låset installeras till DAC-enheten och uppvisar låset elektriska egenskaper. Manualer kan dessutom ge en ledtråd till hur låset och DAC-enheten kommunicerar. Dokumentationen kan upphittas via sökmotorer som Google. Följande dokumentation kan upphittas angående ASSA 811S[16] och DAC430[17] Logisk analys Med hjälp av en logic analyser kan signaler från en ECU studeras och presenteras binärt från logikanalyserarens interface. Dessa verktyg är kritiskt viktiga för detta projekt för de bidrar till att validera examensarbetets avkodning av signalerna från ett oscilloskop. Det är dessutom viktigt för att kunna identifiera vilket kommunikationsprotokoll som används i låssystemet. Oscilloskopet Infiniivision 2014 arbetade ihop med följande mjukvaruapplikationer från Keysight Technologies[23] i ett försök att dekoda signalerna: DSOX2AUTO Automotive serial triggering and analysis (CAN,LIN) DSOX2COMP Computer serial triggering and analysis (RS232/UART) Analysen sker genom att koppla de röda och vita kablarna till de positiva respektive negativa polerna av en 12 V batteri. Sedan kopplas motorlåsets gula och gröna kablar till DAC-enhetens C+ respektive C- kopplingar. Sedan kan oscilloskopet analysera signalerna C+ och C- med batteriets negativa pol som jordreferens. Med hjälp av de tidigare nämnda applikationerna kan signalerna sedan dekodas till binära signaler som kan återskapas. Metoden för att beräkna 28

31 signaler binärt kan ske på följande sätt: Den tidsmässigt minsta biten ska identifieras, den kommer representera tiden som krävs för att en bit sänds. Sedan kan dess tidsdelta inverteras. På så vis kan bithastigheten för alla bitar beräknas, och på så vis kan den fullständiga dataramen dekodas binärt för hand. Oscilloskopet kan dessutom också beräkna bithastighet med dess measure-funktion Öppnande av svart låda För att få en förståelse för det givna motorlåsets mekaniska funktioner är det viktigt att förstå dess innersta delar. ASSA Abloy 811S är skyddad med en stålram. Den kan demonteras med en skruvmejsel vilket öppnar för en djupgående studie av låsets innehåll. Detta kan dock leda till medföljande risker. En risk är att motorlåset förstörs under demonteringsfasen. Detta skulle leda till kritiska problem i examensarbetets framtida arbete. Låset öppnades med hjälp av skruvmejslar av olika storlekar. Målet bör vara att vara försiktig med öppnandet av låset Analys av komponenter Ett annat viktigt mål var att hitta externa CAN-komponenter som kontrollers eller transceivers. Dessa komponenter skulle kunna fördjupa gruppens förståelse över hur CAN används i låssystemet. Sedan kan ledningen från kontrollen eller processorn härledas till tranceivern. Komponenter som upphittas kan identifieras utifrån dess modellnummer eller annan identifikation. Sedan kan deras datablad hittas. De skulle ge information som kan öka förståelsen för hur låssystemet fungerar Analys av PCB Motorlåset och DAC-enheten har kretskort med inlödda komponenter infogade i sig. Inom dessa PCBs kan man hitta intressanta komponenter som kan ge en ledtråd till hur låset fungerar. Det första målet i analysen var att hitta mikrokontrollenheter eller mikroprocessorer i båda kretskorten. När de hittades kunde deras datablad studeras för att hitta viktig information om pinnarnas funktioner och komponenternas egenskaper. Det var dessutom viktigt att tydligt kunna tyda hur signalerna leds i PCBn. I vissa fall krävde skulle detta kräva att löda bort komponenter som stod i vägen. 3.2 Resultat och analys av demonteringen Följande delkapitel presenterar resultatet av de övre metodernas implementering och slutsatser som kan dras av motorlåsets funktion. Den tillgängliga dokumentationen som upphittades var manualer från ASSA som beskriver vad låset och styrenheten kan uträtta. Vaga kretsscheman och bilder uppvisas i dessa manualer, och enkla kontrolldiagnos-metoder kan upphittas. 29

32 Dokumentationens målgrupp är inte tekniker som behöver veta hur hårdvaran är uppbyggd, utan potentiella klienter eller installatörer. Detta innebär att låshuset måste studeras fysiskt för att förstå hur den fungerar. Manualerna nämnde inte att specifika protokoll användes, detta innebär att det inte fanns något dokumenterat bevis på att motorlåset drevs med CAN protokollet. En indikation att CAN implementerades visas i manualen för ASSA 811S[16] som påpekade att spänningsskillnaden mellan KP9 och KP10 skulle vara 2.5 V. Den spänningsskillnaden är likadan som differensen mellan spänningar i dominanta CAN-läget[4, s 10]. Detta ger dock inte tillräckligt med belägg att rätt kommunikationsprotokoll har använts. Med hjälp av oscilloskop kunde signalerna från C+ och C- studeras. Studien visade att DAC-enheten sänder en kombination av seriella differentiella och singleended signaler. Signalerna ändras när KP11 och KP12 kortsluts, då öppnas låset och den väntar tills dörrlägesgivaren flaggar att dörren är stängd. Detta sker när en extern magnet placeras nära magnetsensorn. Från dessa kunde de differentiella signalerna studeras och dekodas med både mjukvaran och för hand. Signalen som uppkommer när motorlåset ska öppnas ser ut på följande vis: Figur 3.1: Signaler från DAC430, Signalen som uppstår när låset öppnas. Resultatet var att applikationen DSOX2AUTO inte kunde tyda de differentiella signalerna från låshuset. Maximala spänningsnivån (Amplitud) för den gula signalen till basnivån är ca 5.8 V. Maximala spänningsnivån för den gröna signalen från basnivån är ca 3.5 V. Bithastigheten kunde beräknas för en singulär bit kunde observeras. DAC-enheten sänder meddelanden till låsenheten med en hastighet på ca 10 kbit/s. Med denna inställning konfigurerad kunde inte oscilloskopets applikation dekoda signalerna. När dataramen dekodades för hand visade det sig att dataramen har felaktiga bitflaggor i dataramens kontrollfas. Detta kunde innebära att den handgjorda beräkningen var fel, men med tanke på det faktum att oscilloskopets logiska analysator inte kunde dekoda meddelandena är sannolikheten hög att systemet inte är baserat på CAN. 30

33 Resultatet blev annorlunda när applikationen DSOX2COMP testades. Den UARTbaserade logiska analysatorn kunde läsa och dekoda signaler till binär data. Detta innebar att det var mer sannolikt att den seriella kommunikationen var mer UART-baserad än CAN-baserad. Den logiska analysatorn använde RS-232 Interface som fysisk UART-standard. Problemet med detta är att RS-232 inte är differentiell, utan single-ended. Figur 3.2: Signal från DAC430 med RS232 dekodare, Idle signal Det finns andra fysiska standarder som kommunicerar seriellt med differentiella signaler. Exempel på dessa är RS422 och RS485. Dessa interfaces agerar som elektrisk bas till flera andra protokoll, som exempelvis UART RS485 [24] och Modbus[25]. Med en MAX485[26] transistor och en egengjord nivåskiftare kunde signalerna återskapas med RS-485 interface. Kretsen bestod av en Arduino Uno, två NPN transistorer (BC547), ett DC-aggregat som förser kretsen med 5.8 V och RS-485 transceiver. Resultatet blev följande: 31

34 Figur 3.3: Kretsschema för nivåskiftaren (över) och återskapade signaler med RS-485 transceiver (under) Som sista form av verifiering att CAN inte används i låshusets system studerades PCBn från DAC-enheten och motorlåset. Motorlåset är en black box som försiktigt måste öppnas upp för att inte skada kretsar eller trådar inuti låset. Öppningen av motorlåset lyckades, men trådar från magnetsensorn till motorlåset skadades i processen. Ett försök att löda sensorns trådar tillbaka till kretskortet fungerade inte. Detta innebar att motorn i låsenheten kunde rotera, men den väntade på att dörrlägesgivaren skulle sända en bekräftelse att dörren är stängd. Från PCB kunde mer information om systemet tydas. Ett av dessa är att mikrokontrollern som används i låsenheten är en PIC16F73- MCU från Microchip som inte innehåller en extern CAN-controller, men har UART-periferienheter. PCBn har inte en CAN transceiver heller. 32

35 Figur 3.4: Bild på PCB från ASSA 811S motorlås 33

36 DAC-enheten är också en black box som försiktigt måste öppnas upp. Den var dock betydligt svårare att analysera för att den var monterad på en plattform ihop med dess batteri. Det gick att tyda de viktigaste komponenterna från PCBn, vilket främst är mikrokontrollern. Den är en M16 MCU från Renesas som har en inbyggd CAN controller och UART-enhet. Det går alltså att tyda med hjälp av PCBn vilka ledningar CAN-signaler följer med MCUn som utgångspunkt. Resultatet var att CAN-pinnarna inte ledde till någon av reläutgångarna i DAC-enheten. Slutsatsen är då att databussen inte använder CAN-protokollet. Figur 3.5: Bild på DAC430 PCB Övrig information om motorlåsets PCB och viktiga komponenter: Motorlåset PIC16F73-1, MCU[27] TLE , H-brygga[28] Styrenheten M16C/5LD, MCU[29] 3.3 Diskussion Det gick inte att öppna upp DAC-enheten utan att riskera att skada dess kretskort. Med detta i åtanke försökte examensarbetarna kontakta uppdragsgivarna i Senecta om tillåtelse och försäkring om att DAC-enheten kunde öppnas. 34

37 Med tanke på att DAC-enheten är känslig och att den är dyr, valde examensarbetarna att hypotisera att de differentiella signalerna genererades och avlästes från DAC-enheten innan den sändes vidare till motorlåsenheten. Det kan förklara varför PCBn från motorlåset inte har en transceiverkomponent. Kring slutet av denna fas var det tydligt att nya komponenter och verktyg behövde köpas för att föra vidare arbetet, men kontakt med Senecta förlorades och senare kom nyheterna att detta projekt hade stoppats för en obestämd tid från företagets VD. För att kunna fortsätta studien av CAN-protokollet, inleddes en ny demonteringsfas i examensarbetet. Denna fokuserade på en implementering av ett låssystem med CAN-protokollet som bas. 35

38 Kapitel 4 Metod Detta kapitel beskriver de använda komponenter, teori och metoderna som används för att utveckla ett låssystem likt ASSA 811S + DAC430. Figur 4.1: Tillståndsdiagram för låssystemet 4.1 Undersökningsprocess och utvecklingsprocess Examensarbetarnas metod bestod huvudsakligen av agilt arbete med fokus på agilt scrum[30]. Planeringsmöten vid början och slutet av dagen utfördes i kombination med regelbundna sprint-utvärderingar. På morgonen skulle arbetarna skriva upp på tavlan vad de måste eller kunde arbeta med under dagen. Vid slutet av arbetstillfället skulle de bestämma tiden att börja nästa arbetsdag, och ge förslag om vad mer de skulle arbeta med. Examensarbetarna utförde en kontinuerlig process av undersökning, forskning och experimentation. Under den första fasen av examensarbetet utfördes förstudier där relevant hårdvara och nätverksprotokoll studerades. När studien ansågs vara avslutad började examensarbetets testfas då enklare tester implementerades. 36

39 Dessa tester kräver simpla konstruktioner av bussnätverk med tillgängliga komponenter med syftet att undersöka de fysiska egenskaperna av en CAN databuss. Dessa tester räknas också som en form av förstudie för testerna gjordes inte för att kunna utveckla en prototyp, utan för att stärka den teoretiska förståelsen av huvudämnena. Detta bidrog till en ökad förståelse för CAN-protokollet innan CAN transceivers kunde köpas Undersökningsparadigm Undersökningen av motorlåset och dess signaler har gjorts enligt en akademisk positivistisk analys[31]. Ett positivistiskt förhållningssätt till forskning är baserat på att trovärdiga resultat uppstår när undersökningsmetodiken vilar på sinneserfarenhet och att den är baserad på logik och matematik. Som exempel kan analysen av ASSAs motorlås uppvisa detta. Mätningsverktyg och signalutrustning som multimeter och oscilloskop har använts för att studera signalerna från motorlåset. Som exempel har mjukvaruprogram från Keysight Technologies laddats ner på oscilloskopen för att agera som logikanalysatorer för protokoll som UART/RS232 och CAN. De har bidragit till att dekoda låsets meddelanden i ett binärt format. Både verktyg och beräkningar för hand har använts för att komma fram till en slutsats om motorlåsets elektriska interface. 4.2 Givna komponenter Olimex ESP32 PoE Utvecklingsbrädan ESP32-PoE är utvecklat av bulgariska företaget Olimex och innehåller en ESP32-WROOM-32 mikrokontroller med Wifi, BlueTooth Low Energy och Ethernet-egenskaper. Mikrokontrollern innehar flera protokoll som UART, SPI, I2C och CAN. Modulen innehåller en inbyggd CAN kontroller (SJA1000) men kräver en extern transceiver för att omvandla signalerna från kontrollern till differentiella signaler. Några av utvecklingsbrädans fördelar är att den[2]: är billig att producera, kan köpas för ett baspris av 18 Euro. har två bussar som tillåter förbindelse genom USB och Ethernet. har en mikrokontroller som kan använda många kommunikationsprotokoll, som UART, SPI och I2C. kan programmeras med flera olika programmeringsspråk och miljöer, bland annat C med ESP-IDF och Arduino IDE. 37

40 Figur 4.2: Bild på ESP32 PoE från OLIMEX Val av komponenter: Transceiver Valet av CAN transceiver är viktigt inom ramen för projektarbetet för att CAN databussen kan inte utvecklas utan en tranceiver som omvandlar signalerna till CAN High och CAN Low - signaler. De tillgängliga transceivers som kunde väljas är av hög kvalitet och förekommer i industrier med kritiska begränsningar. Tre populära val av CAN transceivers studerades under förstudiefasen av examensarbetet: Modell (Företag) Spänningsnivå Standard max antal noder max hastighet TJA1050 (NXP Semiconductors)[32] MCP2551 (Microchip Technology)[33] SN65HVD230 (Texas Industries)[34] 5 V ISO MBaud 5 V ISO Mbps 3.3 V ISO MBaud Tabell 4.1: CAN transceivers och deras egenskaper Dessa transceivers utför liknande funktioner och de kan kopplas ihop för att bilda en databuss. De har få begränsningar i hur de kan användas. CAN transceivrar av olika typer är kompatibla om CAN-bussen korrekt gjord Alternativ till CAN transceivers CAN väljer vilken nod som ska sända ett meddelande beroende på dess identifierare. Om två noder båda sänder en nolla eller etta prioriteras båda meddelandena jämlikt, men om en nod sänder en etta och den andra sänder en nolla kommer noden som sänder en nolla vinna arbitreringen. Detta innebär att en 38

41 CAN-buss kan implementeras i stil med en logisk And gate. Innan transceivers hade beställts testades Olimex-modulernas CAN-buss med hjälp av en 7408 IC AND gate[35]. CAN-meddelanden kunde sändas och läsas i databussen så länge bithastigheten var <15 kbit/s. Figur 4.3: Kretsschema över CAN buss med digital AND gate Ett annat alternativ till en transceiver är att implementera en entrådsbuss där CAN transmit och CAN receive är kopplade till bussen och transmit är seriekopplat till en Schottky-diod[36]. Bussen är dock inte en säker substitut till en konventionell CAN databuss[37]. Datat kunde dessutom inte sändas lika pålitligt som i tidigare exemplet. Figur 4.4: Kretsschema över CAN-buss med Schottky-dioder 4.3 Halleffektsensor Motorlåset från Assa Abloy använder en magnetsensor för att bestämma om motorlåset har kommit i kontakt med dörren eller om dörren fortfarande är öppen. Baserat på om motorlåset har hittat ett magnetiskt fält från dörrens magnet kommer motorn rotera sig eller vänta på att dörren stängs innan den roterar. En Halleffektsensor utnyttjar magnetiska fält från en utomstående magnet för att stoppa en strömriktning[38]. Ett simpelt exempel skulle vara följande: En kopparledning som leder ström är kopplad till två probar för en voltmätare på dess sidor så att voltmätaren mäter spänningsskillnaden 0V. När en magnet sätts nära kopparledningen så att den står vinkelrätt till strömmens riktning 39

42 uppkommer en mindre spänning i ledningens sidor som proberna kan mäta[21]. Om magnetens pol vänds så vänds spänningens polaritet också. Figur 4.5: Exempel på halleffekt Denna effekt innebär att Halleffekt-sensorn kan agera som en switch ihop med en ställdonmagnet eller som räknare för mekaniska system som roterar för den släpper genom ström när en magnet närmar sig. För motorlås kan en extern magnet kopplas till en dörr för att låta styrsystemet bestämma om dörren är låst eller inte. Magnetsensorn som användes för detta examensarbete var en HAL115 från Micronas[39]. Sensorn består av en Hall-platta, en komparator och en open-drain MOSFET som utgång. Komparatorn jämför spänningen mellan Hall-plattans sidor med en matningsspänningen, och transistorns utgång växlar på eller av som resultat. Sensorerna är tillverkade för att användas i industriellt bruk och kan tåla upp till 24 Volt. HAL115 är en bipolär switchsensor, vilket innebär att dess utgång är låg när en extern magnets sydpol närmar sig sensorns framsida och är hög när magnetens nordpol närmar sig sensorns framsida. 4.4 Motorkontroll med en H-brygga och PWM Ett motorlås måste ha förmågan att både låsa sig och öppna sig mekaniskt. Motorer kräver dessutom ofta en hög ström som en mikrokontroller inte kan generera. Dessa problem kan lösas med hjälp av pulse-width-modulation och en H-brygga. Om en 12 Volt DC-motor skulle styras direkt från två mikrokontroll-pinnar via transistorer som alternerar mellan hög och låg spänningsnivå skulle mikrokontrollern och motorn sannolikt skadas[40]. Detta skulle hända för att en motor agerar som en resistor och induktor i serie, om kretsen var stängd länge och sedan öppnades skulle spänningen genom induktorn styras av: V L = L di(t) dt 40

43 En omedelbar sänkning av ström skulle innebära att en teoretiskt oändlig spänning skulle bildas i motorledningen vilket sannolikt skulle skapa en gnista i kretsen[40]. En lösning till detta skulle kunna vara att lägga till en så kallad Flyback-diod, som kan kopplas parallellt till motorn. När kretsen är öppen skulle strömmen passera dioden, som är byggd för att tåla höga strömnivåer. En annan sak som sker när kretsen är öppen, är att energin som lagras i motorns induktor dissiperas av strömmen som passerar flyback-dioden[40]. Kirchoffs spänningslag visar att spänningen i de två stängda kretsarna blir: L di(t) dt + R I(t) = 0 Den mest optimala metoden för att styra en motor åt båda riktningarna är med en H-brygga[40]. En H-brygga är en konstruktion som styr en motor med hjälp av fyra transistorer och flyback-dioder. Motorn styrs av en mikrokontroller som genererar PWM-signaler. Beroende på vilken transistor som släpper en utgångsström kommer motorn antingen att drivas eller stannas av. 41

44 Figur 4.6: Kretsschema av en h-brygga Genom att snabbt växla mellan hög och låg spänningsnivå i en mikrokontrollers pinne kan en genomsnittsspänning genereras som driver motorn. För att driva en motor effektivt måste elektromekaniska principer appliceras i åtanke när mikrokontrollern konstrueras[40]. PWM (Pulse Width Modulation) används i mikrokontroll-enheter för att bland annat styra motorer på ett mer effektivt sätt än vanliga höga/låga spänningsnivåer. Frekvensen för mikrokontrollerns pulsar måste vara högre än frekvensen för motorns mekaniska tidskonstant[40]. Detta är för att se till att hastigheten för motorn inte varierar. Sedan ska de mikrokontroll-pinnar väljas som kan sända PWM-signaler. 42

45 Kapitel 5 Konstruktion Detta kapitel beskriver arbetet för att skapa låssystemet. Först beskrivs konstruktionen av systemet på ett kopplingsdäck. Sedan diskuteras etsningen av en PCB som skulle ha samma funktioner. Till slut beskrivs mjukvaran för låssystemet, som används för både kopplingsdäcket och PCB:n. 5.1 Fysisk konstruktion Figur 5.1: Systemarkitektur för låssystemet Arbete med kopplingsdäck Den första konstruktionen i kopplingsdäcket var ett kommunikationsnätverk som bestod av två CAN transceivers som styrdes av varsin egen ESP32-kort. Bussen består av två SN65HVD230 CAN transceivers med inlödda terminationresistorer i en High Speed struktur. Två kablar användes för att koppla CAN High och CAN Low på båda transceivers. Kommunikationen studerades med oscilloskop för att bekräfta att systemet fungerade och att de kunde föra meddelanden mellan varandra. 43

46 Figur 5.2: CANbus-signaler avbildad med ett oscilloskop Test av RFID med MonkeyBoard Library RFID-modulen blev nästa komponent som utvecklades i låssystemet. Modulen kopplades till ett ESP32-kort via ett kopplingsdäck med en spänningsdelare monterad på. Koden implementerades med ett Arduino-bibliotek designat specifikt för wiegand-protokollet av företaget MonkeyBoard[41]. Till sist testades kretsen, så att RFID-modulen kunde avläsa ett kort och skicka dess information till en ESP32 för att analyseras. Kretsen består av en Arduino Uno som är kopplat till RFID-modulen där digitala pinnar 2 och 3 representerar Data0 respektive Data1. När Arduinon läser ett Wiegandkorts kod sänder den sedan datat till styrenhetens mikrokontroller via en halv duplexerad UART. 44

47 Figur 5.3: Bild på upplägg från RFID-modulen Figur 5.4: Wiegand-signaler från DATA0 och DATA1 45

48 I bilden ovan representerar den övre signalen data1, och den undre representerar data0. Datat sänds med LSB först, med ett 26-bitsformat. Den första och sista biten är start och stopbitarna Test av Halleffektsensor Konceptet för kretsen var att använda en pullup-resistor som drar dess utgångssignal högt. När ett magnetiskt fält detekteras nära sensorn sänder den en låg signal. Denna signal kan sedan läsas av låsenheten som uppfattar den låga signalen som att dörren är stängd. Sensorn sänder en konstant hög signal (logisk etta) till mikrokontrollern innan den detekterar ett magnetfält, då den skickar en låg signal (logisk nolla). Signalerna läses av en GPIO-pinne på ESP32-korten Konstruktion av H-brygga Figur 5.5: Bild på TIP120, TIP125 Figur 5.6: Figur över H-bryggans konstruktion DC-motorn skulle ha förmågan att rotera i båda riktningar för att kunna uppvisa förmågan att öppna och låsa en dörr. Att skapa en H-brygga var en uppenbar lösning till detta problem. Kretsen konstruerades med en extern 12V 46

49 spänningskälla och testades med en DC-motor. Transistorerna som användes var TIP120 NPN och TIP125 PNP Darlingtontransistorer[42]. Dessa har en väldigt hög strömförstärkning vilket tillåter väldigt låga ingångsströmmar att styra en hög ström. En annan fördel med dessa transistorerna är att de har inbyggda Schottkydioder som skyddar motorn från strömspikar. För kretsschema och simulering, se Appendix C CAN och EMC-planering inför PCB utveckling Alla ingående komponenter hade stabiliseringskondensatorer mellan dess matningsspänning och jord för att stödja komponenternas bästa möjliga prestanda enligt deras datasheets. För att ha så stabila CAN-signaler som designades längden mellan CAN High och Low lika långt och dess utgångar var nära transceiverns utgångar[43]. Viahål ska vara relativt nära komponenternas jordpinne så att jordledningar snabbt kan överföras till bottenlagret. Det är dessutom viktigt att påpeka att bottenlagret bör bara ha jordledningar. För att modellera kretskortets layout användes mjukvaruprogrammet DipTrace PCB-design med LPKF milling machine Efter att en prototyp av lås och styrenheten utvecklades på ett kopplingsdäck, konstruerades en PCB som skulle inneha alla funktioner av systemet på kopplingsdäcket. PCB:n modellerades i Diptrace och etsades sedan i KTH Mentorspace med en ProtoMat S42 maskin, gjord av LPKF Laser & Electronics[44]. Gerberfiler producerades från Diptrace som sedan exporterades till CAD-verktyget CircuitCam[45] som verifierade att gerberfilernas design-regler följdes. Sedan exporterades en.lmd-fil till CAD-verktyget BoardMaster[46] som styrde fräsmaskinen. Med BoardMaster frästes och borrades en tvålagrad kopparbräda till en PCB, som passiva komponenter och IC-kretsar kunde lödas med. För att se kretskortets layout, se Appendix A och B Lödning av PCB Ett tvålagers-kretskort måste förberedas innan komponenter kan lödas på. Sidor måste slipas och koppardamm måste städas bort helt från PCBn. När det är gjort måste viahålen lödas på över- och undersidan, detta för att bottenlagret och topplagret inte är kopplade ihop förrän en ledning i viat går genom. Sedan kan kretsens ingående komponenter lödas på. PCBn löddes med transceivern TJA1050 SMD CAN transceiver från NXP med flussmedel. Med hjälp av en multimeter kunde kontinuitet mätas mellan konturerna i ledningarna och resten av kopparlagret. Komponenterna som HAL-sensorn och darlingtontransistorerna TIP120 och TIP125 löddes också in in hålmonterat. Det första försöket av ett kretskort slutade med att en av ESP32-brädorna 47

50 brände sina pinnar. Detta var för att kretskortet hade flera kortslutningar mellan varandra. ESP32-PoE har ingen 5 V tolerans i deras pinnar så om den drar ström från en 5 V spänning skadas mikrokontrollern permanent. I den andra iterationen löddes kretskortet med nya ESP32-PoE utvecklingskort. Figur 5.7: Bild på låsenheten, alla komponenterna är lödda förutom motorn Figur 5.8: Bild på styrenheten 48

51 5.2 Mjukvaruutveckling Utveckling med Arduino IDE På grund av att Arduino är en enklare plattform att utveckla mjukvara används den först för att agera som en mall. Fördelen med är dess användarvänlighet som tillåter utvecklaren att implementera protokoll som UART och Wiegand. Allmänt öppna bibliotek från CAN och Wiegand användes först på grund av deras användarvänliga API. Koden var strukturerad i form av en oändlig loop som inväntade externa meddelanden som tillät styrenheten att skicka instruktioner till låsenheten som sedan kunde öppna eller stänga motorlåset. På grund av att låsenheten och styrenheten var fysiskt nära varandra tillät situationen att CAN-nätverkets bithastighet kunde vara väldigt hög. Den kunde skicka meddelanden med hög reliabilitet mellan 500k-1Mbit/s. På grund av att hårdvarukonstruktionen implementerades i ett kopplingsdäck var signalerna distorterade mellan överföringarna, detta var dock inte ett problem för databussar vars CAN-kontroller beräknade CRC-test när meddelanden inte kändes igen. Wiegand-gränssnittet implementerades på ett enkelt sätt för att testa det öppna API som valdes. API hade funktioner som identifierade ett korts ID och datavärde på ett tillfredsställande vis. Det gick att identifiera specifika kort med jämförelsealgoritmer som såg till att bara tillåtna kort kunde öppna låset Utveckling med ESP-IDF Arduino är ett relativt oflexibelt sätt att utveckla kod på för att dess funktionalitet är ofta begränsat av dess bibliotek som inte täcker alla möjliga CANfunktioner. Till skillnad från Arduino ger C en utvecklare möjligheter att i detalj styra en mikrokontroller på utvecklarens villkor. Som bas för C-programmering användes Espressifs programmerings-plattform ESP-IDF[47]. ESP-IDF är Espressifs officiella samling bibliotek för periferienheter och protokoll. Den utvecklades av Espressif och är specifikt utformat för ESP32 mikrokontrollers. ESP-IDF innehåller dessutom nödvändiga skript för att använda Espressifs Toolchain. ESP-IDF använder python scripts för att kompilera och konfigurera projekt som utvecklare har skapats. Det första steget i ESP-IDF toolchain är att instruera dess kommandoprompt att konfigurera projektet med idf.py menuconfig. Från menyfönstret kan klockor och bootmetoder konfigureras för projektet som skapats. En sdkonfig.h sparas sedan i projektet som utför konfigurationerna i projektets build-fas. 49

52 Figur 5.9: Visualisering av toolchain för ESP-IDF CAN med ESP-IDF ESP-IDF utvecklade en CAN Driver i sitt bibliotek som designerar olika tillstånd och regelment för CAN-bussen som förenklar kodutveckling av ett FSM[48]. För varje tillstånd kan funktioner, strukturer och flaggor kallas för att utföra specifika funktioner. Följande diagram illustrerar alla tillstånd. Figur 5.10: Tillståndsdiagram över ESP-IDF CAN Driver När drivern är oinstallerad (Uninstalled) allokeras inget minne till drivern och den inbyggda CAN-kontrollern är avstängd. I dess stoppade (Stopped) fas är CAN-kontrollern aktiverad, men den kan inte ta del av bussens aktivitet. I det körande (Running) tillståndet kan CAN-kontrollern ta del av bussaktivitet vilket innebär att den kan ta emot och sända CAN-meddelanden (så länge CAN transceivern är ukopplad). Bus-off-fasen är ett tillstånd som kontrollern 50

53 automatiskt hamnar i ifall dess Transmit Error Counter 256. Detta innebär att CAN-bussen inte kan transportera data utan bitfel. Det kan också innebära att nodens transceiver inte är kopplad rätt till bussen eller kontrollern. Den övergår till återhämtningsfasen (Recovering) för att kunna återväda till bussen. CAN-kontrollern kommer vara kvar i återhämtningsfasen tills den räknar 128 bussfria signaler. Konfigureringen av CAN Drivern utvecklades genom att bl a inställa bithastighet, filter, och GPIO-pinnarna som ska kopplas till den inbyggda kontrollern. can_general_config_t general_str = CAN_GENERAL_CONFIG_DEFAULT(TX, RX, CAN_MODE_NORMAL); can_timing_config_t timing_str = CAN_TIMING_CONFIG_25KBITS(); can_filter_config_t filter_str = CAN_FILTER_CONFIG_ACCEPT_ALL(); //Install of Driver if (can_driver_install(&general_str, &timing_str, &filter_str) == ESP_OK) { printf("driver installed\n"); } else{ printf("failed to install driver\n"); return; } Meddelanden utvecklas med en C-struktur som innehåller en identifierare, flaggor, DLC och data. Detta kan sedan sändas till CAN-bussen. //Exempel på meddelande const can_message_t unlock_door_message = {.identifier = open_door_id,.flags = 0x01,.data_length_code = 4,.data = { o, p, e, n } }; Wiegand med ESP-IDF Wiegand-interface är från ett fysiskt perspektiv, någorlunda likt seriella kommunikationsprotokoll som UART. Till skillnad från entrådsprotokoll delas datat upp i två ledningar, en som representerar ettor, och en som representerar nollor. Tidslängden på en bit är enligt dokumentation 400 mikrosekunder[49]. Arbetet hamnade i en skiljeväg: Å ena sidan kunde ett API utvecklas, men riskera att spendera för mycket tid på att testa och utveckla API för en komponent, eller att använda det tidigare fungerande systemet med hjälp av en Arduino-bibliotek. Eftersom ESP-IDF inte kompilerar Arduino-bibliotek kunde RFID-modulen kommunicera med styrenheten via en Arduinoenhet som sedan kommunicerar med ESP32 via UART. Implementeringen sker på följande vis: RFID-modulen väntar på ett kort som tillåts öppna låsenheten. När kortet 51

54 kopplas till RFID-modulen använder den Wiegand för att kommunicera med en Arduino Uno, som i sin tur kodar Wiegand-datan binärt och överför det till styrenheten via UART. Styrenheten bestämmer sedan med en jämförelsealgoritm om det givna kortets data har tillgång till låsenheten. Ifall kortet är tillåtet kommer styrenheten att kommunicera med låsenheten att öppna dörren med CAN. while(1){ int uart = uart_read_bytes(uart_num_0, buffer, BUFFER_SIZE, 20 / porttick_rate_ms); if(uart){//process card number check = process_card((unsigned char*)buffer,check); if(check){ if (can_transmit(&unlock_door, pdms_to_ticks(1000)) == ESP_OK){ printf("open in queue\n"); } else{ printf("no transmission\n"); } can_clear_transmit_queue(); uart = 0; } } } PWM med ESP-IDF PWM kan programmeras i C med hjälp av MCPWM-biblioteket från ESP-IDF. Detta bibliotek tillåter utvecklaren att konfigurera timers, initialisera frekvenser, bestämma duty cycle och andra saker som är viktigt för att generera en stabil PWM-signal som kan styra en motor. mcpwm_gpio_init(mcpwm_unit_0, MCPWM0A, GPIO_PWM0A_OUT); mcpwm_gpio_init(mcpwm_unit_0, MCPWM0B, GPIO_PWM0B_OUT); mcpwm_config_t pwm; pwm.frequency = 500; pwm.cmpr_a = 0; pwm.cmpr_b = 0; pwm.counter_mode = MCPWM_UP_COUNTER; pwm.duty_mode = MCPWM_DUTY_MODE_0; mcpwm_init(mcpwm_unit_0, MCPWM_TIMER_0, &pwm); Funktioner har dessutom utvecklas som styr motorns tre tillstånd: att rotera framåt, att rotera bakåt och att inte rotera. 52

55 5.2.6 Läsa signalnivåer från magnetsensorn Magnetsensorn programmeras med hjälp av en GPI-pinne som läste ifall magnetsensorn var hög eller låg. Den optimala metoden för att läsa analog data från en sensor skulle vara att använda en spänningssensor (via ADC) men Olimex ESP32 PoE hade inte headerpinnar med dessa egenskaper. Lösningen är istället följande: Magnetsensorns krets är uppkopplad med en pullup-resistor som driver magnetsensorns utgång hög. Detta uppfattas av mikrokontrollern som ett tillstånd där dörren är i ett neutralt läge (varken stängd eller öppen). När låsenheten får instruktionen att öppna låset uppfattas dörren som stängd tills magnetsensorn känner att det inte finns någon magnet. När magnetsensorn känner att magneten är nära blir signalnivån i sensorns utgång låg, detta uppfattas av låsenheten som att dörren är stängd vilket leder till att dörren låser sig. while(true){ if(!gpio_get_level(magnet_input)){ //magnet found -> lock door printf("door is locked again\n"); motor_backward(mcpwm_unit_0, MCPWM_TIMER_0, 30.0); vtaskdelay(2000 / porttick_rate_ms); motor_stop(mcpwm_unit_0, MCPWM_TIMER_0); break; } else{ printf("door is open\n"); //magnet not found motor_forward(mcpwm_unit_0, MCPWM_TIMER_0, 30.0); vtaskdelay(2000 / porttick_rate_ms); motor_stop(mcpwm_unit_0, MCPWM_TIMER_0); } } can_clear_receive_queue(); True random number generator För att försvåra detektering av öppningssignaler implementerades ett program som sänder slumpmässig data till låsenheten. Den enda begränsningen för den slumpmässiga generatorn var att den inte oavsiktligt skulle sända öppningssignalen. ESP32 har en inbyggd hardware random number generator. Med den kan ESP32 generera pseudoslumpmässiga värden i 32 bitar. Med hjälp av bluetooth eller wifi som ESP32 har i sitt periferiarsenal, kan en true random generator utvecklas. Att initialisera och starta bluetooth sker genom att ställa in bluetooth som aktiv i menuconfig. Sedan kan en funktion som genererar slumpmässiga värden utvecklas. void random_data(uint8_t *randomarr, int datalength){ for(int = 0; i < datalength; i++){ 53

56 } } randomarr[i] = (uint8_t) esp_random(); Figur 5.11: Bild på menuconfig med konfigurering av bluetooth Implementation av krypteringsalgoritm Krypteringsalgoritmen TEA sker genom att översätta pseudokoden till C-kod som sedan kan kompileras. Det finns viktiga parametrar som ser till att ESP32 MCUn inte får en Core panics och Guru meditation error. Att implementera encrypt- och decrypt-funktion sker genom att implementera pseudokoden för encrypt, och sedan förstå hur en dekryption sker genom att utföra de mixade algebraiska beräknarnas motsats. Det är också viktigt att nycklar och beräkningskonstanter är likadana. I C kan dessutom fixed width integers som uint16 t användas som datatyper. Datatypen som valdes blev uint8 t för att det leder till mer kompabilitet med CAN sctructen i ESP-IDF biblioteket. Initiala tester visade att processorn hade problem med loopstrukturen som rekommenderas att iterera 32 gånger. När itereringen sänktes till 16 gånger kunde upp till 64 bitar data (8 bytes är maximala datat som CAN kan sända på en gång) krypteras innan det sändes till CAN-bussen, som sedan kunde dekrypteras av mottagaren. void encrypt (uint8_t v[2], uint8_t k[4]) { uint8_t v0=v[0], v1=v[1], sum=0, i; uint8_t delta=0x9e; 54

57 } uint8_t k0=k[0], k1=k[1], k2=k[2], k3=k[3]; for (i=0; i<16; i++) { sum += delta; v0 += ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1); v1 += ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3); } v[0]=v0; v[1]=v1; void decrypt (uint8_t v[2], uint8_t k[4]) { uint8_t v0=v[0], v1=v[1], sum=0xc0; i; uint8_t delta=0x9e, i; uint8_t k0=k[0], k1=k[1], k2=k[2], k3=k[3];/* cache key*/ for (i=0; i<16; i++) { v1 -= ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0>>5) + k3); v0 -= ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1); sum -= delta; } v[0]=v0; v[1]=v1; } /** key */ constant uint8_t key[4]= {120, 100, 12, 99}; 55

58 Kapitel 6 Resultat och Analys Följande kapitel beskriver resultatet av examensarbetet. Bland annat kommer kopplingsdäcket, PCB och hela låssystemet presenteras för att förklara vilka funktioner de kunde uträtta. Sedan ska det utvecklade låssystemet jämföras med motorlåssystemet från ASSA. Krypteringsalgoritmens resultat ska också visas. Sedan ska låssystemets reliabilitet och validitet analyseras. Figur 6.1: Bild på kopplingsdäcket med låssystemet 56

59 6.1 Kopplingsdäcket Låssystemet består av två separata subsystem som kommunicerar via CAN. Den ena är en styrenhet som bestämmer när en användare har blivit godkänd att passera en dörr. Det andra systemet är låsenheten som svarar med att öppna och sedan låsa tillbaka dörren. Styrenheten sänder meddelanden som godkänner öppningen av en dörr när kortläsaren upptäcker rätt kort. Styrenheten består av en Olimex ESP32-PoE med en CAN transceiver, en Arduino Uno som kommunicerar via UART och en RFID-modul som ska läsa kort. Låsenheten består också av en Olimex ESP32 PoE och en CAN transceiver som tar emot CAN signaler. Den har dessutom en Halleffekt magnetsensor och ett motorlås som driver kugghjul som kan öppna och låsa en dörr. Motorn drivs av PWM-signaler från ESP32-kortet och magnetsensorn bestämmer när dörren ska låsas eller vara öppen. Kretsschemat fungerade i kopplingsdäcket och systemet utförde alla nödvändiga funktioner. Med kopplingsdäcket som verifiering på mjukvarans reliabilitet fortsatte utvecklingsfasen med en PCB som uppfyllde samma funktioner. Två separata kretskort kunde agera som en styrenhet och låsenhet samt kommunicera med varandra via CAN-buss. Kablar kunde sedan användas för att öka deras distans. Styrenheten kunde läsa ifrån en RFID-modul och låsenheten kunde styra låset. 6.2 PCB De två kretskorten som utvecklades i Mentorspace kunde kommunicera mellan varandra med CAN protokollet. Styrenheten kunde dessutom kommunicera med en Arduino via UART för att sända signaler från RFID-modulen. Låsenheten hade dock ett problem med sin H-brygga som bara tillät den att rotera från en riktning. Problemet som upptäcktes efter felsökning med alla fyra transistorer var att en NPN-transistor förde inte ström från dess kollektor, vilket innebar att motorns ena pol inte kunde drivas till jordplanet. Anledningen till att detta hände var för att ledningen förlorade sitt kopparlager, vilket innebar att transistorn inte var kopplat till resten av kretsen. Dess orsak grundar sig med största sannolikhet på lödningsprocessen, som skadade kretskortet. Förutom detta fungerade resten av systemet. 6.3 Övergripande jämförelse Låssystemet från ASSA har varit i drift innan detta examensarbete så det är högst troligt att det förklarar varför den inte kan låsa upp dörren i 1/3 sekund. Det är dessutom viktigt att påpeka att examensarbetarna inte hade tillgång till två 50 meter kablar till hands för utvärderingen av det utvecklade låssystemet. Kablarna som användes var flertrådiga 0.50 mm 2 kablar med 10 meter längd. Med en krypterings/dekrypteringsalgoritm på båda sidorna av låssystemet ihop 57

60 ASSA låssystem Demonterad låssystem Kabellängd Motorhastighet bithastighet Säkerhet 1/3 s (i verklighet Krypterad, autentiserad 50 m max cirka 10 kbit/s närmare 1 s) 10 m (0.5 mm 2 flertrådig) cirka 0.89 s 1 Mbit/s Krypterad, ej autentiserad Tabell 6.1: Jämförelse mellan två låssystem med en RFID-modul som sänder kortvärdet på Baud blir tiden för att öppna dörren lite längre än vad den kunde vara utan dessa periferikomponenterna, med tanke på att datat i CAN-bussen sänds med bithastigheten 1 Mbit/s. Eftersom CAN begränsar möjligheter för autentisering i sitt protokoll är AS- SAs låssystem säkrare. Att utveckla en autentiseringslösning skulle potentiellt kräva fundamentala ändringar i CAN protokollet som skulle ta för lång tid för examensarbetets tidsplan. 6.4 Kryptering av låssystemet Krypteringsalgoritmen TEA implementerades i låssystemet för att undersöka krypteringsmetoder i seriella kommunikationsprotokoll. Resultatet av en implementering av TEA var lyckad. Meddelanden som sänds mellan CAN-noderna krypterades i databussen, och kunde dekrypteras från noderna. Algoritmer som TEA kräver ofta mycket arbete från CPUn, efter några modifieringar kunde dock algoritmen implementeras och visa lovande resultat utan att sakta ned bithastigheten på databussen. 58

61 Figur 6.2: CAN-buss signal utan kryptering Figur 6.3: CAN-buss signal med kryptering. Observera: likadan bithastighet 59

62 6.5 Reliabilitet Examensarbetarna designade systemet del för del, mycket likt vattenfallsmodellen[50]. Varje funktion designades individuellt och sedan implementerades för testning i ett kopplingsdäck. När flera funktioner är bekräftade att fungera blir de sedan sammankopplade till större system och testas igen. Som exempel konstruerade examensarbetarna en fungerande H-brygga som tillät låsenheten, ett kretskort, att styra en DC-motor. Sedan testades en magnetsensor som sedan kopplades till låsenheten. Då började examensarbetarna designa ett system som kunde tvinga motorn att rotera om den läste av magnetfältet. Problem uppstod med kretskortet som senare utvecklades, men det berodde främst på hur PCBn löddes. 6.6 Validitet Oscilloskopet användes för att verifiera att CAN-bussen fungerade och sände signalerna som planerades. Verktyg som multimeters användes för att läsa av spänningsnivåerna på CAN-bussen. Detta kunde sedan verifiera om CAN-bussen och alla periferikomponenter fungerar normalt. Multimetern användes dessutom för att verifiera och felsöka på de två kretskorten. Multimetern har en funktion som söker efter uppkoppling, det vill säga en direkt väg för elektrisk ström. Detta är bra för att hitta kortslutningar som kan förstöra kretsen. 60

63 Kapitel 7 Diskussion 7.1 Lödningen av kretskortet Examensarbetarna hade erfarenhet av att löda kretskort tidigare, men de var femlagers-kretskort som isolerade all yta som inte skulle leda ström. Att löda med ett tvålagerskort var utmanande, och krävde mycket mer koncentration och arbetstimmar. Det var dessutom utmanande att använda CAM-verktygen för första gången, men det har varit väldigt lärorikt. Några lärdomar att ta från denna process är bland annat att ledningar rekommenderas att vara bredare och underlagret bör vara reserverat åt jordledningar. En annan lärdom som kunde ha bidragit till att H-bryggan skulle drivas rätt skulle vara om darlingtontransistorerna ersattes med ytmonterade transistorer. Det skulle kunna leda till att lödningen av dessa transistorer var lättare. 7.2 Utvärdering av arbetsmetodik Under projektets tre huvudfaser har anpassningsbarhet varit en viktig egenskap för att kunna planera och utföra olika uppgifter. Den teoretiska fasen har utförts väl. Detta kan påvisas för att det bidrog till att analysfasen för ASSA motorlåset kunde ge konkreta slutsatser. Ifall CAN-protokollet inte studerades lika utförligt skulle examensarbetet antagligen ha fastnat i den fasen längre innan RS-485 upptäcktes. Under demonteringsfasen då det egengjorda systemet utvecklades spenderades mycket tid på att testa varje del av motorlåsets arkitektur för att bekräfta att delsystemen fungerade. Förelen med detta var att mer kod inte behövde utvecklas under PCB-konstruktionen, men nackdelen har varit att denna metod var tidskrävande och ledde till att en PCB inte helt kunde utvecklas som förväntat. Ett problem som inte förväntades var att PCB-utvecklingen tog längre tid att fräsa än förväntat. Om ett liknande arbete ska utföras är en rekommendation att ta litteraturstudien seriöst och att sedan göra lättare test 61

64 med hålmonterade komponenter under tiden som man väntar på andra komponenter eller en beställd PCB. 7.3 Förbättringar Den främsta förbättringen som bör utredas har att göra med hur RFID-modulen interagerar med styrenheten. Om ett Arduino-bibliotek ska användas bör styrenhetens mikrokontroller vara helt programmerad i Arduino. Men om RFIDmodulen ska kopplas direkt till styrenheten bör ett API utvecklas som kan extrahera data från kortläsaren på ett pålitligt sätt. Fördelen med det första alternativet är att styrenheten blir mindre, men koden måste övergå till Arduino. Den nuvarande fördelen är att en Arduino Uno lätt kan bytas ut mot en mycket mindre bräda som Arduino pro mini eller Arduino Nano. Det rimligaste alternativet är att använda en annan RFID-modul, en som inte behöver överföra data via Wiegand. Exempel på modernare protokoll som RFID-moduler har inkluderar SPI eller UART. Om RFID-modulen använde något av dessa protokoll skulle all kod vara skrivet via ESP-IDF biblioteket och styrenhetens utrymme skulle minska. Detta alternativ är mest optimalt. En annan förbättring skulle kunna vara att använda en annan utvecklingsbräda än Olimex ESP32 PoE. Det är väldigt tydligt att utvecklingsbrädans målgrupp är IoT-utvecklare istället för mer generella utvecklare. Flera av pinnarna i mikrokontrollern lades inte med bland header-pinnarna i brädan och de som gjorde det var ofta en del av det inbyggda ethernet-systemet. Den främsta fördelen med en ESP32 mikrokontroller är att den har en inbyggd CAN-controller vilket innebär att en CAN databuss bara behöver externa transceivers för att kommunicera. Det går dock att implementera en CAN bus med en mikrokontroller och en extern CAN kontroller, men det skulle ta mer plats i kretskortet. 7.4 Potential till större dörrlåssystem En av de mest intressanta aspekterna av CAN-protokollet är hur den till skillnad från konventionella protokoll kan kommunicera i en multi master, multi slave system. Detta innebär att flera styrenheter kan kommunicera med flera dörrlås och vice versa. Den enda fysiska begränsningen är kablarnas kvalitet. Detta skulle vara intressant att studera mer extensivt. Det fanns inte tillgång till fler noder att arbeta med och konstruktion av fler än en låsenhet skulle kräva fler motorer och sensorer. Trots detta är en CAN-buss en pålitlig databuss för flera kommunicerande enheter. 62

65 7.5 Utvärdering av CAN Med CAN som kommunikationsmedel för enheterna var dörrlåssystemet stabilt och pålitligt. De främsta egenskaperna som har identifierats som gör CAN-buss till ett passande nätverksprotokoll är dess: pålitliga feldetekteringsfunktion för meddelanden maximalt tillåtna kabelavstånd långa meddelandeformat höga bithastighet Under examensarbetets testfas och konstruktionsfas har experiment med CAN implementerats för att testa dess gränser. Det är tydligt att kommunikationsprotokollet kan vara användbart i låssystem i en byggnadsmiljö där dörrar styrs flexibelt. Protokollet har dock seriösa säkerhetsbrister, där noder kan avlyssnas lätt och styras. Det är högst sannolikt att låset kan anses vara fysiskt säker så länge som en ingång till databussen inte är tillgänglig för angripare. Då har inte låssystemet samma problem som bilar, som har en diagnostikingång där CAN-signaler kan läsas från. Till skillnad från andra seriella kommunikationsprotokoll är CAN relativt avancerat. Mycket fokus ställs på hur den fysiska strukturen ska konstrueras, och CAN-protokollet kräver dessutom tre IC-kretsar för att bilda en CAN-nod. Andra kommunikationsprotokoll behöver inte dessa extra hårdvarukomponenter. Det positiva med så många komponenter är att CAN-protokollet har de övre nämnda egenskaperna. I ett mekaniskt lås är pålitlighet och integritet (säkerhet) viktiga egenskaper, och om CAN-protokollet har båda egenskaperna skulle det vara ett väldigt bra kommunikationsprotokoll för ett mekaniskt lås. 7.6 Demontering från ett etiskt perspektiv Efter att prototypen blev färdig behövde inte bara dess funktionalitet analyseras, som en demonterad version av en kommersiell produkt behövde examensarbetarna reflektera kring de etiska och juridiska följderna av arbetsprocessen. Hade lagar eller regelverk brytits? Bröt de mot KTHs etiska policy[51]? Prototypen som konstruerades uträttade liknande funktioner som motorlåset från ASSA. Sättet som den konstruerades på var dock tydligt annorlunda från hur ASSA programmerade sitt låssystem. Som exempel används olika mikrokontroller, vilket innebär att koden som utvecklades från examensarbetarna är originell. Det enda likheterna från ett hårdvaruperspektiv är att ASSAs motor från låset är samma som motorn i den utvecklade prototypen. Hur motorn styrs är dock mycket viktigare än om motorerna är detsamma. Det är dessutom värt 63

66 att tillägga att motorn i ASSAs låssystem är gjord av ett tredje parti (FaulHaber). Från examensarbetarnas utvärdering och reflektion av projektet framkommer det att syftet för att utveckla låssystemet inte är för att utnyttja ASSAs produkter för att berika sig själva, utan för att lära sig om CAN-protokollet och få en fördjupad förståelse för de mekaniska aspekterna i elektronik. Clean room metoden är en metod som ofta används för att demontera elektronik på ett juridiskt lagligt sätt[20]. I denna implementering har clean room metoden varit en försöksmetod för att kunna demontera motorlåset på ett etiskt sätt. Problemet är att examensarbetarna har tagit en aktiv del i både analysfasen och konstruktionsfasen av demonteringen. Detta ledde dock inte till att en kopia av låset producerades. Det var dessutom svårare än förväntat att ändra examensarbetets mål och demontera ett motorlås när en stor del av examensarbetet baserades på att ersätta en styrenhet från ett låssystem. 64

67 Kapitel 8 Slutsats och Framtida Arbete Denna fallstudie av CAN 2.0 har visat att ett CAN-baserat nätverk kan kommunicera snabbt och effektivt för ett mekaniskt låssystem. CAN har potential att bli ett säkert protokoll för säkerhetskritiska system som lås eller liknande produkter. Den kan kryptera meddelanden, men detta innebär inte att den kan motstå attacker från inkräktande noder. Den demonterade prototypen fungerade i ett kopplingsdäck, men fungerade inte helt i låsenhetens motor. Dess motor kunde bara rotera åt en riktning. Dess orsak var för att en av transistorerna som löddes inte kunde föra ström från dess pinne, för att PCBn var skadad. CAN-protokollet är lämpligast för större system som arbetar med en lång distans från varandra. Beroende på miljö och situation kan en styrenhet ställas långt från dess låsenhet så det är fullkomligt möjligt att CAN-protokollet skulle kunna appliceras i låssystemets databuss. Det skulle dock kräva mer hårdvara och fler säkerhetsfunktioner för att se till så att låssystemet anses vara säkert. Dess beteende ändras inte märkvärdigt när den jämförs med ASSAs låssystem som analyserades. Framtida arbete som kan utföras är bland annat en studie av ett större dörrlåsnätverk där styrenheter, låsenheter och gateway-noder kommunicerar i en stor CAN-buss. Detta skulle dock kräva mer hårdvara som CAN controllers och transceivers. Det kan dessutom vara intressant att koppla upp systemet till trådlösa nätverk för att förmedla data. En annan möjlig idé för framtida arbete för ASSA-systemet är att studera flera par DAC-enheter och motorlås för att se om det finns gemensamma konventioner. 65

68 Litteraturförteckning [1] Senecta, library Catalog: [Online]. Available: https: // [2] Olimex, ESP32-POE - Open Source Hardware Board. [Online]. Available: open-source-hardware [3] CAN in Automation (CiA): History of the CAN technology. [Online]. Available: [4] M. D. Natale, H. Zeng, P. Giusto, and A. Ghosal, Understanding and Using the Controller Area Network Communication Protocol: Theory and Practice. Springer Publishing Company, Incorporated, [5] In-Vehicle CAN Message Authentication: An Evaluation Based on Industrial Criteria - IEEE Conference Publication. [Online]. Available: [6] Single Ended vs Differential Inputs. [Online]. Available: https: //community.sw.siemens.com/s/article/single-ended-vs-differential-inputs [7] How to calculate hamming distance, sciencing. [Online]. Available: [8] CAN Physical Layer and Termination Guide - National Instruments. [Online]. Available: 09/can-physical-layer-and-termination-guide.html#section [9] A. Harel and A. Hezberg, Optimizing CAN Bus Security with In- Place Cryptography, Jan. 2019, pp [Online]. Available: [10] M. Bozdal, M. Samie, S. Aslam, and I. Jennions, Evaluation of CAN Bus Security Challenges, Sensors, vol. 20, no. 8, p. 2364, Jan. 2020, number: 8 Publisher: Multidisciplinary Digital Publishing Institute. [Online]. Available: [11] Trends for Thriving Twenties, p. 12,

69 [12] T. Hoppe, S. Kiltz, and J. Dittmann, Security threats to automotive CAN networks Practical examples and selected short-term countermeasures, Reliability Engineering & System Safety, vol. 96, no. 1, pp , Jan [Online]. Available: pii/s [13] 32-bit automotive general purpose mcus nxp. [Online]. Available: products/processors-and-microcontrollers/arm-microcontrollers/ s32k-automotive-mcus/s32k1-microcontrollers-for-general-purpose:s32k [14] D. J. Wheeler and R. M. Needham, TEA, a tiny encryption algorithm, in Fast Software Encryption, G. Goos, J. Hartmanis, J. Leeuwen, and B. Preneel, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 1995, vol. 1008, pp [Online]. Available: 29 [15] M. Jukl and J. Čupera, Using of tiny encryption algorithm in CAN-Bus communication, Research in Agricultural Engineering, vol. 62, no. No. 2, pp , Jun [Online]. Available: cz/web/rae.htm?volume=62&firstpage=50&type=publishedarticle [16] assa motorlås & manual. [Online]. Available: Produktblad%20svenska/Elektrisk%20L%C3%A5sning/M ASSA-Motorlas Svensk.pdf [17] DAC430.pdf. [Online]. Available: uploads/2013/06/dac430.pdf [18] What is the Wiegand Interface? - Definition from Techopedia. [Online]. Available: wiegand-interface [19] S. Freiberger, M. Albrecht, and J. Käufl, Reverse Engineering Technologies for Remanufacturing of Automotive Systems Communicating via CAN Bus, Journal of Remanufacturing, vol. 1, no. 1, p. 6, Dec [Online]. Available: [20] Reverse Engineering. [Online]. Available: intellectual/reverse/study.php [21] 31.7 Data Acquisition and Software - Knovel. [Online]. Available: kt011nzn31/viewertype:khtml//root slug:31-mechatronics/url slug: mechatronics?kpromoter=federation&b-toc-cid=kpgabke003& b-toc-root-slug=&b-toc-url-slug=mechatronics&b-toc-title=guide% 20to%20the%20Automation%20Body%20of%20Knowledge%20(3rd% 20Edition)&page=8&view=collapsed&zoom=1 67

70 [22] Exercises - Knovel. [Online]. Available: web/view/khtml/show.v/rcid:kpim000002/cid:kt008vp1i7/viewertype: khtml//root slug:1-mechatronic-systems/url slug:mechatronic-systems? kpromoter=federation&b-toc-cid=kpim000002&b-toc-root-slug= &b-toc-url-slug=mechatronic-systems&b-toc-title=introduction%20to% 20Mechatronics&page=4&view=collapsed&zoom=1 [23] Free 30-day trials for InfiniiVision AND Infiniium Oscilloscope Software Applications Keysight. [Online]. Available: main/editorial.jspx?action=download&cc=se&lc=swe&ckey= & nid= &id= &cmpid=zzfind30daytrial [24] L. bies c , rs485, specifications and in depth tutorial, lammert bies. [Online]. Available: [25] Modbus application protocol v1 1b3.pdf. [Online]. Available: Application Protocol V1 1b3.pdf [26] Max485 low-power, slew-rate-limited rs-485/rs-422 transceivers - maxim integrated. [Online]. Available: products/interface/transceivers/max485.html [27] PIC16LF74T-I-ML.pdf. [Online]. Available: components-store.com/datasheets/aa/pic16lf74t-i-ml.pdf [28] I. T. AG, TLE5206-2G - Infineon Technologies, library Catalog: [Online]. Available: brushed-dc-motor-driver-ics/integrated-full-bridge-driver/tle5206-2g/ [29] r01ds0132ej0120 m16c5ld.pdf. [Online]. Available: com/us/en/doc/products/mpumcu/001/r01ds0132ej0120 m16c5ld.pdf [30] Agile methodology: An overview, zenkit. [Online]. Available: https: //zenkit.com/en/blog/agile-methodology-an-overview/ [31] positivism - Uppslagsverk - NE.se. [Online]. Available: se/uppslagsverk/encyklopedi/l%c3%a5ng/positivism [32] TJA1050 High-Speed CAN Transceiver NXP. [Online]. Available: legacy-can/high-speed-can-transceiver:tja1050 [33] MCP2551.pdf. [Online]. Available: datasheets/devtools/arduino/mcp2551.pdf [34] SN65HVD230 data sheet, product information and support TI.com. [Online]. Available: [35] DM7408 Quad 2-Input AND Gates, p

71 [36] siemens ap2921.pdf. [Online]. Available: net/attachment/28831/siemens AP2921.pdf [37] J. Barrenscheen, On-Board Communication via CAN without Transceiver. [Online]. Available: /siemens AP2921.pdf [38] Hall-Effect Sensors. Elsevier, [Online]. Available: https: //linkinghub.elsevier.com/retrieve/pii/b x50005 [39] HAL115 Datasheet pdf - Hall Effect Sensor Family - Micronas. [Online]. Available: pdf/h/ A/L/1/HAL115.shtml [40] Embedded Computing and Mechatronics with the PIC32. Elsevier, [Online]. Available: C [41] Wiegand converter. [Online]. Available: org/tutorials/82-protocol/24-wiegand-converter [42] Tip120, tip121, tip122 (npn); tip125, tip126, tip126 (pnp) - plastic medium-power complementary silicon transistors. [43] bourns can-bus circuit protection appnote.pdf. [Online]. Available: can-bus circuit protection appnote.pdf [44] s42.pdf. [Online]. Available: prototyping/s42.pdf [45] CAM-Software CircuitCAM v7 CircuitCAM. [Online]. Available: [46] BoardMaster 5.0-e-3-0.pdf. [Online]. Available: com/support/files/manuals/boardmaster%205.0-e-3-0.pdf [47] Get Started - ESP32 - ESP-IDF Programming Guide latest documentation. [Online]. Available: esp-idf/en/latest/esp32/get-started/index.html [48] Controller Area Network (CAN) - ESP32 - ESP-IDF Programming Guide latest documentation. [Online]. Available: com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/can.html [49] 7941D.pdf. [Online]. Available: D.pdf [50] S. Eklund, Arbeta I Projekt - individen, gruppen, ledaren, 4th ed. Studentlitteratur/Appia, [51] Etisk-policy.pdf. [Online]. Available: f487f276547adc1e3ffc/Etisk-policy.pdf 69

72 Bilaga A Kretsschema för styr- och låsenheten 70

73 71

74 Bilaga B PCB Layout för styrenheten och låsenheten 72

75 73

76 Bilaga C H-bryggans kretsschema och simuleringar 74

77 75

DAC500 Door Access Control unit

DAC500 Door Access Control unit DAC500 Door Access Control unit Inledning och adressering av Hi-O 3 Adressering av Hi-O enheter 3 Installation 4 Master reset/initiering 5 Initieringsmatris DAC500 6 Bygelfält 7 Streckscheman 8 Anslutning

Läs mer

CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1

CAN ett kommunikationsprotokoll för realtidssystem MOP 12/13 1 CAN ett kommunikationsprotokoll för realtidssystem 1 Seriekomunikation- Datanät- Topologi Buss Ring Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Nod Stjärna Masknät 2 Seriekomunikation-

Läs mer

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit Vad är en UART? Beteckningen UART är en förkortning för det engelska uttrycket Universal Asynchronous Receiver Transmitter, vilket översatt till svenska blir ungefär Universell Asynkron Mottagare/Sändare.

Läs mer

The Intelligent Timer

The Intelligent Timer The Intelligent Timer Linnea Karell och Oscar Bagge, I10 Handledare: Bertil Lindvall 2013-05-20 Abstract The objective of this project was to build a prototype of a digital timer. The product design specification

Läs mer

Introduktion till E-block och Flowcode

Introduktion till E-block och Flowcode Introduktion till E-block och Flowcode Vad är E-blocks? E-blocks är små kretskort som innehåller block av elektronik som man vanligtvis kan hitta elektroniska eller inbyggda system Det finns över 50 olika

Läs mer

DAC-500 Door Access Control unit

DAC-500 Door Access Control unit DAC-500 Door Access Control unit Inledning 2 Adressering av Hi-O enheter 3 Artikelbenämningar 3 Installation 4 Master reset/initiering 5 Bygelfält 6 Streckscheman 7 Kopplingsplintar 11 Kopplingsplint KP1

Läs mer

Digitala projekt - Radiostyrd bil

Digitala projekt - Radiostyrd bil Digitala projekt - Radiostyrd bil Handledare: Bertil Lindvall Johan Lennartsson e02jle David Thomasson e02dt Magnus Lisborg e02mls Innehållsförteckning 1. Inledning.3 2. Målsättning med projektet.......3

Läs mer

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv Lunds Tekniska Högskola Elektro- och informationsteknik Digitala Projekt PlantPuppy Räddaren för den som inte kan hålla växterna vid liv Gerda Sidwall Thygesen Sofia Sundbom Zoë Wyon ine14gth@student.lu.se

Läs mer

Moment 1 - Analog elektronik. Föreläsning 4 Operationsförstärkare

Moment 1 - Analog elektronik. Föreläsning 4 Operationsförstärkare Moment 1 - Analog elektronik Föreläsning 4 Operationsförstärkare Jan Thim 1 F4: Operationsförstärkare Innehåll: Introduktion Negativ återkoppling Applikationer Felsökning 2 1 Introduktion Operationsförstärkaren

Läs mer

Manuell SMARTCD.G2 02.2015

Manuell SMARTCD.G2 02.2015 02.2015 2 / 14 1 Avsedd användning... 3 2 Säkerhetsanvisningar... 4 3 Ingår i leveransen... 5 4 Anslutning till en dator/bärbar dator... 6 5 Ladda batterierna... 7 6 Driftsättning... 8 7 Konfigurering

Läs mer

CanCom Bluetooth BLUETOOTH V5.6. Specifikation Specification LED. transceiver

CanCom Bluetooth BLUETOOTH V5.6. Specifikation Specification LED. transceiver CanCom Bluetooth transceiver BLUETOOTH V5.6 Specifikation Specification Matningsspänning Power supply 10-30 VDC Spänningsrippel Voltage ripple

Läs mer

Projektrapport i Digitala System

Projektrapport i Digitala System Projektrapport i Digitala System Stämapparat LTH Ingenjörshögskolan vid Campus Helsingborg Handledare: Bertil Lindvall Utförd: Vårtermin 2019 Utförd av: Markus Ljungqvist Nilsson, Gustav Wetterbrandt,

Läs mer

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016) Goda råd till de som ska utföra ett liknande projekt (från KMM 2016) Snöa inte er på lösningar som kanske fungerar, eller som ni bara vill få fungera. Var realistiska och våga byt lösning om den det verkar

Läs mer

Användarmanual BOXEN KONTROLLENHET

Användarmanual BOXEN KONTROLLENHET Användarmanual BOXEN KONTROLLENHET skapad version reviderad godkänd: 23.04.09 1.4 31.08.09 31.08.09 2 Innehåll 1. FÖRPACKNINGENS INNEHÅLL... 3 2. INTRODUKTION... 3 2.1. VARNING... 3 2.2. TYP C... 3 3.

Läs mer

Dieselvakt DVGSM/DVSIR/DVMOT

Dieselvakt DVGSM/DVSIR/DVMOT Dieselvakt Maxade funktioner i minimalt format! DVGSM/DVSIR/DVMOT Installations och användarmanual V3.2 Larmtillverkning sedan 1976 www.hellmertz.se Innehållförteckning: Innehållförteckning:... 2 Introduktion

Läs mer

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll: F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer

Läs mer

Ett urval D/A- och A/D-omvandlare

Ett urval D/A- och A/D-omvandlare Ett urval D/A- och A/D-omvandlare Om man vill ansluta en mikrodator (eller annan digital krets) till sensorer och givare så är det inga problem så länge givarna själva är digitala. Strömbrytare, reläer

Läs mer

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning... UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning... Introduktion Syftet med denna

Läs mer

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN 2016 Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN Innehållsförteckning INLEDNING... 3 KRAVSPECIFIKATION AV PROTOTYP... 3 FUNKTIONELLA

Läs mer

Datorbaserad mätteknik

Datorbaserad mätteknik Datorbaserad mätteknik Distribuerade mät- och kontrollsystem I 1:32 Mätbuss för instrumentering - GPIB (IEE-488) Skapades av Hewlett-Packard vid sent 60-tal HP-IB (Hewlett-Packard Interface Bus) Kom att

Läs mer

DAC-430/420 Door Access Control unit

DAC-430/420 Door Access Control unit DAC-430/420 Door Access Control unit Inledning 3 Artikelbenämningar 3 Installation med CE 4 Masterreset 5 Tillägg av inre läsare 5 Bygelfält 6 Streckscheman 7 Kopplingsplintar 11 Kopplingsplint KP1 11

Läs mer

Användarmanual För skatteverket

Användarmanual För skatteverket Användarmanual För skatteverket BOXEN KONTROLLENHET skapad version reviderad godkänd: 23.04.09 1.4 31.08.09 31.08.09 2 Innehåll 1. INTRODUKTION... 3 1.1. TYP C... 3 2. ANSLUTNINGAR... 3 2.1. STRÖMFÖRSÖRJNING...

Läs mer

iloq S10-ONLINESYSTEM, N100, N102, N103, N104 OCH N105

iloq S10-ONLINESYSTEM, N100, N102, N103, N104 OCH N105 1 iloq S10-ONLINESYSTEM, N100, N102, N103, N104 OCH N105 Allmänt Utökar funktionen i S10-låssystemet till ett fjärrstyrt passersystem. Med S10 Online kan du lägga till fjärrstyrda låscylindrar, RFIDoch

Läs mer

Installationsmanual 501 GPS Tracker

Installationsmanual 501 GPS Tracker Installationsmanual 501 GPS Tracker 2011-09-14 1. Beskrivning av enhet: Framsida: Baksida: GSM antenn GPS antenn mini USB kontakt Huvudkontakt Funktionsknapp 2. Sätta i SIM kortet: Följ stegen nedan för

Läs mer

Instuderingsfrågor ETS052 Datorkommuniktion - 2014

Instuderingsfrågor ETS052 Datorkommuniktion - 2014 Instuderingsfrågor ETS052 Datorkommuniktion - 2014 October 13, 2014 Fråga 1. Beskriv de två komponenterna i PCM. Fråga 2. Förklara hur länklagret kan skilja på olika inkommande paket från det fysiska lagret.

Läs mer

GPIO - General Purpose Input Output

GPIO - General Purpose Input Output GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt

Läs mer

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia Konstruktion av en radiostyrd legobil Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia 1 1.Innehållsförtäckning Rapport Radiostyrd LEGO bil...1 1. Innehållsförtäckning...2 2.0 Inledning...3

Läs mer

DIGITALA PROJEKT Väderstation

DIGITALA PROJEKT Väderstation DIGITALA PROJEKT Väderstation Christian Lindquist, E03 Leonardo Bello, E03 Abstract Almost everybody has some kind of temperature measurement device in their home. The latest in this industry are more

Läs mer

Allmänt om CAN. Allmänt. Mer information om CAN finns i följande dokument:

Allmänt om CAN. Allmänt. Mer information om CAN finns i följande dokument: Allmänt Styrenheter behöver ofta utbyta information med varandra. Traditionellt ansluts styrenheter som ska kunna kommunicera direkt till varandra. Om en styrenhet behöver information om till exempel hastighet

Läs mer

Beijer Electronics AB, MA00062D,

Beijer Electronics AB, MA00062D, Manual IFC PBDP Förord Denna manual är en installations och funktionsbeskrivning för expansionskortet IFC PBDP. Modulen kan användas till operatörsterminalerna i E-serien som har expansionskortsplats.

Läs mer

Operatördialog. Harmony 2011-08-31

Operatördialog. Harmony 2011-08-31 Operatördialog Harmony Manual, enkel programmering Harmony XB4R,XB5R, trådlös och batterifri tryck knapp 2011-08-31 Schneider Electric Sverige AB Huvudkontor: Box 1009, Eskilstunavägen 7 SE-611 29 Nyköping,

Läs mer

Programmera i teknik - kreativa projekt med Arduino

Programmera i teknik - kreativa projekt med Arduino NYHET! Utkommer i augusti 2017 Smakprov ur boken Programmera i teknik - kreativa projekt med Arduino av Martin Blom Skavnes och Staffan Melin PROJEKT LJUS s 1 I det här projektet kommer du att bygga en

Läs mer

Exma Duo Home. Handbok. Det svensktillverkade låssystemet

Exma Duo Home. Handbok. Det svensktillverkade låssystemet Exma Duo Home Handbok Det svensktillverkade låssystemet Tack & välkommen Vi på Exma Säkerhetssystem AB vill tacka dig för att du valt oss och hälsa dig välkommen som kund. Du är nu ägare av ett svensktillverkat

Läs mer

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson Att sända information mellan datorer värd 11001000101 värd Två datorer som skall kommunicera. Datorer förstår endast

Läs mer

XS4 2.0 RE-VOLUTION XS4 MINI. http://xs4mini.saltosystems.com/home-sv/ www.evvasalto.se LIMITED EDITION PRINT

XS4 2.0 RE-VOLUTION XS4 MINI. http://xs4mini.saltosystems.com/home-sv/ www.evvasalto.se LIMITED EDITION PRINT XS4 2.0 RE-VOLUTION XS4 MINI http://xs4mini.saltosystems.com/home-sv/ www.evvasalto.se LIMITED EDITION PRINT XS4 MINI DESIGN XS4 MINI DESIGN : Modern och stilren design är SALTO:s varumärke. Med XS4 Mini

Läs mer

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson Att sända information mellan datorer värd 11001000101 värd Två datorer som skall kommunicera. Datorer förstår endast

Läs mer

BILLARM Monteringsanvisning

BILLARM Monteringsanvisning CarGard ProGard TYPE: PARTNO: IRC 6100201 ML2 6100301 BILLARM Monteringsanvisning Copyright CSD AB 87-01 VIKTIGT! Läs noga igenom monteringsanvisningen före arbetets början! Var mycket noga med alla kabel-

Läs mer

Systemkonstruktion SERIEKOMMUNIKATION

Systemkonstruktion SERIEKOMMUNIKATION Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,

Läs mer

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst.

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst. Datorn När du har läst det här avsnittet skall du: känna till datorns historia kunna vilka tekniker man använder för att ta kontakt idag kunna reflektera kring fördelar och nackdelar med modern kommunikationsteknik

Läs mer

Industriell Datakommunikation. Allt du behöver veta om RS-232

Industriell Datakommunikation. Allt du behöver veta om RS-232 Industriell Datakommunikation Allt du behöver veta om RS-232 Email info@foxcomputer.se, Website http://www.foxcomputer.se Ulf Rääf Datakommunikation och Industriell IT enligt standard RS-232 Teori och

Läs mer

krävs för att kunna utföra arbete. Den finns i många former men kan inte förstöras, bara omvandlas från en form till en annan.

krävs för att kunna utföra arbete. Den finns i många former men kan inte förstöras, bara omvandlas från en form till en annan. energi krävs för att kunna utföra arbete. Den finns i många former men kan inte förstöras, bara omvandlas från en form till en annan. elektricitet är när negativa och positiva laddningar dras till varandra.

Läs mer

Aktiv DVB-T Inomhus Antenn SRT ANT 12

Aktiv DVB-T Inomhus Antenn SRT ANT 12 Aktiv DVB-T Inomhus Antenn SRT ANT 12 Användarmanual 1.0 Introduktion Tack för att du väljer STRONG SRT ANT 12 DVB-T antennen. Denna antenn är speciellt designad till användning för mottagning av digital

Läs mer

Programmeringsguide. Sargent & Greenleaf Audit Trail ASSA ABLOY, the global leader in door opening solutions.

Programmeringsguide. Sargent & Greenleaf Audit Trail ASSA ABLOY, the global leader in door opening solutions. Programmeringsguide Sargent & Greenleaf Audit Trail 6126-6127 ASSA ABLOY, the global leader in door opening solutions. Innehåll: 1 Allmän information 1.1 Låssystemet 1.2 Fabriksinställningar 2 Låsfunktioner

Läs mer

Denna genomgång behandlar följande: Trådlösa tekniker WLAN Utrustning Säkerhet Konfiguration

Denna genomgång behandlar följande: Trådlösa tekniker WLAN Utrustning Säkerhet Konfiguration itlararen.se Denna genomgång behandlar följande: Trådlösa tekniker WLAN Utrustning Säkerhet Konfiguration Förutom trådbundna nätverk så finns det tekniker som möjliggör trådlös kommunikation Trådlös kommunikation

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

Läs mer

K44 Duo. Installation & User Manual EN SV DE FR DA FI NO

K44 Duo. Installation & User Manual EN SV DE FR DA FI NO K44 Duo Installation & User Manual EN SV DE FR DA FI NO 1 2 3 8 1 6 3 2 5 4 7 A 5 8 0 6 9 B K44 Duo Installation & User Manual EN SV DE FR DA FI NO 1 2 3 8 1 6 3 2 5 4 7 A 5 8 0 6 9 B K44 Duo Installations-

Läs mer

Profibus. Altivar/Altistart. Kom-igång med Profibus till ATS48/ATV28 (via Modbusgateway)

Profibus. Altivar/Altistart. Kom-igång med Profibus till ATS48/ATV28 (via Modbusgateway) Profibus Altivar/Altistart Kom-igång med Profibus till ATS48/ATV28 (via Modbusgateway) 2004-07-14 INNEHÅLLSFÖRTECKNING 1 INLEDNING...3 2 KONFIGURERA PROFIBUS-NÄTVERK...4 3 INSTÄLLNING AV GATEWAY...8 3.1

Läs mer

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg/Håkan Joëlson John Berge 2013 DIGITALTEKNIK I Laboration DE1 Kombinatoriska nät och kretsar Namn... Personnummer... Epost-adress...

Läs mer

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall LARMANLÄGGNING Digitala Projekt, EITF11 Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall 1. Sammanfattning Vi har byggt ett larm vars syfte är att användas i hemmet. Larmet använder

Läs mer

Micro-PLC em4. 3G, GPRS eller Ethernet Loggar och larmar Analoga in-/utgångar Fullständig fjärråtkomst

Micro-PLC em4. 3G, GPRS eller Ethernet Loggar och larmar Analoga in-/utgångar Fullständig fjärråtkomst El-skåp Micro-PLC Micro-PLC em4 3G, GPRS eller Ethernet Loggar och larmar Analoga in-/utgångar Fullständig fjärråtkomst www.oemautomatic.se, info@aut.oem.se, Tel: 075-242 41 00, Fax: 075-242 41 19 1 /

Läs mer

EP8102. Dual Basic Serial PIFA

EP8102. Dual Basic Serial PIFA revision 03 2009 EP8102 Dual Basic Serial PIFA Kommunikations-PIFA med två serieportar, valbar mellan RS232, RS485 (EXOline), och hlexoline. PIFA:n är avsedd att monteras i ett EXOflex-hus. Utgång +12

Läs mer

ANVÄNDAR. RPSbox1 Manual SE rev2. YTTRE FASÖVERVAKNINGSENHET RPS-BOX 1 FÖR PL5000 och DL8000 DIGITAL

ANVÄNDAR. RPSbox1 Manual SE rev2. YTTRE FASÖVERVAKNINGSENHET RPS-BOX 1 FÖR PL5000 och DL8000 DIGITAL ANVÄNDAR Manual RPSbox1 Manual SE rev2 YTTRE FASÖVERVAKNINGSENHET RPS-BOX 1 FÖR PL5000 och DL8000 DIGITAL INNEHÅLLSFÖRTÄCKNING Fasövervakningsenhet, PS-Box1 Innehållsförteckning...2 Introduktion...3 Beskrivning...4

Läs mer

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson (Maria Kihl) Att sända information mellan datorer värd 11001000101 värd Två datorer som skall kommunicera. Datorer förstår

Läs mer

Styrteknik: Binära tal, talsystem och koder D3:1

Styrteknik: Binära tal, talsystem och koder D3:1 Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder

Läs mer

Laborationskort - ML4

Laborationskort - ML4 microlf ML Laborationskort - ML ML är ett enkelt laborationskort avsett för inledande laborationsövningar i Datorteknik. Kortet innehåller 0 olika sektioner som enkelt kopplas samman via 0-polig flatkabel.

Läs mer

MANUAL MONTERING & INSTALLATION

MANUAL MONTERING & INSTALLATION MANUAL MONTERING & INSTALLATION PRODUKTFAKTA PRODUKTBESKRIVNING Prisma Light Ellie är en svensktillverkad armatur, parkarmatur med LED-teknik. ANVÄNDNINGSOMRÅDE Utomhus: Parker, gång- och cykelvägar, stigar,

Läs mer

Användarguide Galaxy ASSA ABLOY

Användarguide Galaxy ASSA ABLOY Användarguide Galaxy ASSA ABLOY Copyright 2003-2008, ASSA ABLOY ASSA ABLOY Förmansvägen 11 SE-117 43 Stockholm Phone: +46 (0)8-775 16 00 Fax: +46 (0)8-775 16 20 UG 559 012 920F Innehåll Galaxy 3 Om Galaxy

Läs mer

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System TETRIS LTH, Campus Helsingborg EITA15 Digitala System Handledare: Bertil Lindvall Författare: Isak Shamun, Viktor Kulle, Mark Slipac och Dennis Järnåsen Datum: 2019-05-09 Abstract This report concerns

Läs mer

Elektro och Informationsteknik LTH. Laboration 5 Operationsförstärkaren. Elektronik för D ETIA01

Elektro och Informationsteknik LTH. Laboration 5 Operationsförstärkaren. Elektronik för D ETIA01 Elektro och Informationsteknik LTH Laboration 5 Operationsförstärkaren Elektronik för D ETIA01 Johan Kåredal Anders J Johansson Lund April 2008 Laboration 5 Mål Efter laborationen vill vi att du ska: fått

Läs mer

Originalbruksanvisning AS-i Safety-kretskort E7015S 7390842/00 07/2010

Originalbruksanvisning AS-i Safety-kretskort E7015S 7390842/00 07/2010 Originalbruksanvisning AS-i Safety-kretskort E7015S 7390842/00 07/2010 Innehåll Säkerhetsanvisningar 3 Installation/idriftsättning 4 Montering/elektrisk anslutning 5 Reaktionstider 8 Anmärkning angående

Läs mer

Tillbehör EDM Turbinflödesmätare A1 & A2

Tillbehör EDM Turbinflödesmätare A1 & A2 Tillbehör EDM Turbinflödesmätare A1 & A2 Datablad 1 (10) EDM Turbinflödesmätare kan kombineras med ett stort antal moduler. Med dessa kan mätaren byggas ut med t ex pulsutgång, analogutgång och extern

Läs mer

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04 Formula Blue Digitala Projekt 8p Jesper Ferm E02 Carl Hakenäs E04 Abstract The purpose with this project was to get some understanding how Bluetooth works and how to use it in practical applications. A

Läs mer

ANVÄNDARMANUAL. Käyttöohje. Nyckelläsare R10S.3. Expansionsmodul A00.11/A00.12 V

ANVÄNDARMANUAL. Käyttöohje. Nyckelläsare R10S.3. Expansionsmodul A00.11/A00.12 V 1 Käyttöohje ANVÄNDARMANUAL Nyckelläsare R10S.3 Expansionsmodul A00.11/A00.12 V. 1.1 26.2.2014 Användar- inkopplings- och programmeringsmanual iloq R10S.3, A00.11, A00.12 1-Wire is registered trademark

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit

Digitalteknik: CoolRunner-II CPLD Starter Kit CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna i digitalteknik kommer kortet att användas

Läs mer

Projektrapport. Till Projektet Bluetoothstyrd bil

Projektrapport. Till Projektet Bluetoothstyrd bil Till Projektet Bluetoothstyrd bil Av Erik Olsson Fornling Handledare: Fredrik Johansson n söndagen den 18 mars 2012 Sidan 1 (7) Sammanfattning Jag har byggt om en gammal radiostyrd bil och bytt ut all

Läs mer

TILLÄMPNINGAR INOM DATORTEKNIK

TILLÄMPNINGAR INOM DATORTEKNIK TILLÄMPNINGAR INOM DATORTEKNIK I detta kapitel skall vi titta lite närmare på några specifika tillämpningar inom datorteknik som har anknytning till El och Energiprogrammet. Om du som läser denna kurs

Läs mer

(2B1560, 6B2911) HT08

(2B1560, 6B2911) HT08 Royal Institute of Technology, KTH, Kista School of Information and Communication Technology, ICT Department of Electronics, Computer and Software, ECS Digital Design, IE1204 (2B1560, 6B2911) HT08 OBS!

Läs mer

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Jens A Andersson Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk Jens A Andersson Att göra Kursombud Williams bok???? Kolla schemat: Övningar flyttade Labanmälan ska funka nu 2 Att sända information

Läs mer

Detta är en liten ordlista med förklaringar på begrepp och aktiviteter relaterade till. elvisualiseringsverktyg

Detta är en liten ordlista med förklaringar på begrepp och aktiviteter relaterade till. elvisualiseringsverktyg ordlista Detta är en liten ordlista med förklaringar på begrepp och aktiviteter relaterade till elvisualiseringsverktyg 2 3 datorgrafik 4 Datorgrafik är bilder skapade med hjälp av en dator, ofta i särskilda

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2010-10-08 Sal Tid 8-12 Kurskod Provkod Kursnamn/benämning TDDD36 TEN2 Projekttermin: Säkra Mobila System Institution

Läs mer

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS) LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

Läs mer

ANVÄNDARMANUAL SESAM 800 KONFIGURERBAR 947422-000 -A0

ANVÄNDARMANUAL SESAM 800 KONFIGURERBAR 947422-000 -A0 ANVÄNDARMANUAL SESAM 800 KONFIGURERBAR 947422-000 -A0 Innehållsförteckning 1 Introduktion 3 2 Omfattning 3 3 Teknisk specifikation 4 4 Kort beskrivning av systemet 5 4.1 Mottagare 5 4.2 Sändare 5 5 Beskrivning

Läs mer

CanCom C721 RadioTransceiver V1.19

CanCom C721 RadioTransceiver V1.19 CanCom C721 RadioTransceiver V1.19 art. 80-721xx CanCom kretskort C721 är avsedd att användas i portabla fjärrstyrningsutrustningar. Radion har dubbelriktad kommunikation så att man kan visa status och

Läs mer

Produktutvecklingsprocessen. (e)lvis

Produktutvecklingsprocessen. (e)lvis ordlista (e)lvis datorgrafik...5 effekt...7 elektricitet...9 energi...11 grenuttag...13 HDMI...15 komponenter...17 kretskort...19 kwh...21 minidator...23 minneskort...25 projektor...27 protokoll...29 radiomodul...31

Läs mer

Beskrivning elektronikkrets NOT vatten

Beskrivning elektronikkrets NOT vatten Beskrivning elektronikkrets NOT vatten Kretsen som ingår i uppgiften är en typ av rinnande ljus. Den fungerar så att lysdioderna kommer att tändas en efter en beroende på hur mycket spänning som alstras

Läs mer

Kodlås. Kopplingsschema över kodlåset PAL-18

Kodlås. Kopplingsschema över kodlåset PAL-18 Kodlås I den här uppgiften skall du konstruera ett kodlås med hjälp av ett litet tangentbord. Varje gång man trycker på en tangent skall det pipa i summern och när man tryckt in den rätta fyrsiffriga koden

Läs mer

ASSA 3000 Connect. Elektriskt lås för privata bostäder. ASSA ABLOY, the global leader in door opening solutions.

ASSA 3000 Connect. Elektriskt lås för privata bostäder. ASSA ABLOY, the global leader in door opening solutions. ASSA 3000 Connect Elektriskt lås för privata bostäder ASSA ABLOY, the global leader in door opening solutions. 2 ASSA 3000 Connect Styr ditt lås med knappar. Lås upp med fjärrkontroll - lika enkelt som

Läs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

CanCom. DJ803 Prod.ver Specifikation Specification

CanCom. DJ803 Prod.ver Specifikation Specification CanCom 83-80310 DJ803 Prod.ver. 014 Specifikation Specification Matningsspänning Power supply 9-36 VDC Drivspänning Operating voltage 2 rechargable AA batteries Strömförbrukning Power consumption < 150

Läs mer

BS-Large 24 V. Rackmonterad batterihylla med automatsäkring för batterier 2 x 75 Ah till 2 x 150 Ah. Tillbehör till:

BS-Large 24 V. Rackmonterad batterihylla med automatsäkring för batterier 2 x 75 Ah till 2 x 150 Ah. Tillbehör till: Rackmonterad batterihylla med automatsäkring för batterier 2 x 75 Ah till 2 x 150 Ah Tillbehör till: RACK 27 150-1HE RACK 27 150-1HE/5UT RACK 27 250-2HE RACK 27 250-2HE/5UT BAS 27 100 19 BAS 27 200 19

Läs mer

Operatördialog. Harmony. Manual, enkel programmering Harmony XB4R,XB5R, trådlös och batterifri tryck knapp

Operatördialog. Harmony. Manual, enkel programmering Harmony XB4R,XB5R, trådlös och batterifri tryck knapp Operatördialog Harmony Manual, enkel programmering Harmony XB4R,XB5R, trådlös och batterifri tryck knapp 2014-10-02 Schneider Electric Sverige AB Huvudkontor: Box 1009, Eskilstunavägen 7 SE-611 29 Nyköping,

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

ASSA max CLIQ. enkel och intelligent säkerhet. ASSA ABLOY, the global leader in door opening solutions.

ASSA max CLIQ. enkel och intelligent säkerhet. ASSA ABLOY, the global leader in door opening solutions. ASSA max CLIQ enkel och intelligent säkerhet ASSA ABLOY, the global leader in door opening solutions. ASSA max CLIQ enkel och intelligent säkerhet ASSA max CLIQ erbjuder en enkel, flexibel men framför

Läs mer

F/W: 952V02 D.D. 22-Sep-2008 Roterbar IR-Sändare. Sändaren kan roteras för att skicka signal till enheter på avstånd upp till 10 meter.

F/W: 952V02 D.D. 22-Sep-2008 Roterbar IR-Sändare. Sändaren kan roteras för att skicka signal till enheter på avstånd upp till 10 meter. Manual för SMS-952 F/W: 952V02 D.D. 22-Sep-2008 Roterbar IR-Sändare Sändaren kan roteras för att skicka signal till enheter på avstånd upp till 10 meter. Riktad IR-Sändare Behöver vara riktad mot mottagaren.

Läs mer

Blue Key Digitala projekt VT

Blue Key Digitala projekt VT Blue Key Digitala projekt VT 2 2004 Maj 2004 Martin Erikson, E00 Mikael Andersson, E00 Department of Information Technology 0 Lund Institute of Technology Sammanfattning Denna rapport behandlar vårt projekt

Läs mer

Instruktion elektronikkrets till vindkraftverk

Instruktion elektronikkrets till vindkraftverk Instruktion elektronikkrets till vindkraftverk Färdig koppling D1 R2 IC1 R1 D2 R3 D3 R7 R5 T1 T2 R6 T3 R6 Uppgiften innehåller: Namn Värde Utseende Antal R1 11 kω brun, brun, svart, röd, brun 1 st R2 120

Läs mer

Övningar modul 1 - Dataöverföring & fysisk infrastruktur

Övningar modul 1 - Dataöverföring & fysisk infrastruktur 1. Dataöverföring Övningar modul 1 - Dataöverföring & fysisk infrastruktur Syfte: Förstå begreppen dämpning och förstärkning av en signal. Kunna räkna i db och kunna använda det till beräkning av effektbudget.

Läs mer

Installationsmanual CAT12 CE Moderkort

Installationsmanual CAT12 CE Moderkort LED2 LED S Sabotage S2 BATT J2 MICRO SD J processor CB0578 2 J5 POCSAG/GPRS J6 extra IO CB052 LED6 LED5 LED4 RS485 TERM PL8 RS485 CH-3 PL7 RS232 CH- LED3 S3 UPSI S4 RESET T3 ETHERNET PL Spänning J3-J4

Läs mer

Din manual NOKIA C111 http://sv.yourpdfguides.com/dref/824115

Din manual NOKIA C111 http://sv.yourpdfguides.com/dref/824115 Du kan läsa rekommendationerna i instruktionsboken, den tekniska specifikationen eller installationsanvisningarna för NOKIA C111. Du hittar svar på alla dina frågor i instruktionsbok (information, specifikationer,

Läs mer

BS-Medium 24V. Rackmonterad batterihylla med automatsäkring för batterier 2 x 45 Ah. Tillbehör till: POWER SUPPLIES - MADE IN SWEDEN

BS-Medium 24V. Rackmonterad batterihylla med automatsäkring för batterier 2 x 45 Ah. Tillbehör till: POWER SUPPLIES - MADE IN SWEDEN BS-Medium 24V Rackmonterad batterihylla med automatsäkring för batterier Tillbehör till: RACK 27 150-1HE RACK 27 150-1HE/5UT RACK 27 250-2HE RACK 27 250-2HE/5UT BAS 27 100 19 BAS 27 200 19 BAS 27 300 19

Läs mer

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05 Digitala Projekt Konstruktion av Tamagocchi Av: Oskar Andersson D05 & Danial Rehman D05 DIGITALA PROJEKT KONSTRUKTION AV TAMAGOCCHI... 1 SAMMANFATTNING... 2 INLEDNING... 3 DESIGN... 3 BYGGE... 3 TESTNING...

Läs mer

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson

Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder. Jens A Andersson Tillförlitlig dataöverföring Egenskaper hos en länk Accessmetoder Jens A Andersson Digitalisering av ljud Omvandling av ljud till binär data sker i tre steg: 1) Sampling 2) Kvantisering 3) Kodning Detta

Läs mer

HDMI, Displayport och USB. Utbildningsmaterial med fokus på certifieringar

HDMI, Displayport och USB. Utbildningsmaterial med fokus på certifieringar HDMI, Displayport och USB Utbildningsmaterial med fokus på certifieringar 1 HDMI 2 2 HDMI versioner HDMI versioner har olika specifikationer och stödjer olika funktioner. Alla nya specifikationer är bakåtkompatibla

Läs mer

Att fånga den akustiska energin

Att fånga den akustiska energin Att fånga den akustiska energin När vi nu har en viss förståelse av vad ljud egentligen är kan vi börja sätta oss in i hur det kan fångas upp och efterhand lagras. När en ljudvåg sprider sig är det inte

Läs mer

Radiomottagare typ DB317 & DBR1-M4 Bruksanvisning, utgåva 8

Radiomottagare typ DB317 & DBR1-M4 Bruksanvisning, utgåva 8 Radiomottagare typ DB317 & DBR1-M4 Bruksanvisning, utgåva 8 Mottagare typ DB317 Mottagare typ DBR1-M4 2-knappsändare i olika färger 4-knappsändare Hållare för 4-knappsändare Teknisk data DB317 DBR1-M4-1

Läs mer

Styrteknik: Grundläggande logiska funktioner D2:1

Styrteknik: Grundläggande logiska funktioner D2:1 Styrteknik: Grundläggande logiska funktioner D2:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik: Grundläggande logiska funktioner

Läs mer

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall Zoltan Darvas (dt06zd8) Nicklas Nidhögg(dt06nn8) 2010-03-01 1 Abstract I detta project har vi skapat ett huslarm där det finns två stycken sensorer,

Läs mer

SmartCard laboration. William Sandqvist

SmartCard laboration. William Sandqvist SmartCard laboration Två processorer SmartCardet innehåller en processor av typen 16F84A. Den processorn saknar både inbyggd oscillator och seriekommunikationsenhet. Seriekommunikationen är därför programmerad

Läs mer

Installation av fjärrströmbrytare HE842, HE843 och HE862(2).

Installation av fjärrströmbrytare HE842, HE843 och HE862(2). Manual 2 Med HE800 serien kan du enkelt och trådlöst tända och släcka lampor och styra andra elektroniska enheter. Sändarna kan styra enskilda samt grupper av brytare och dimmrar. Den trådlösa kommunikationen

Läs mer

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet... Abstract Syftet var att konstruera en väder station som håller koll på temperaturen. Huvudfunktionen var att få en grafisk visning av temperaturen över ett visst tidsintervall eftersom vi valde den grafiska

Läs mer