USB-kommunikation med programmerbar ultraljudssändare

Storlek: px
Starta visningen från sidan:

Download "USB-kommunikation med programmerbar ultraljudssändare"

Transkript

1 EXAMENSARBETE 2004:250 CIV USB-kommunikation med programmerbar ultraljudssändare Harald Stribén CIVILINGENJÖRSPROGRAMMET Luleå tekniska universitet Institutionen för systemteknik, Avdelningen för datorteknik 2004:250 CIV ISSN: ISRN: LTU - EX / SE

2 USB-Kommunikation med programmerbar ultraljudssändare Harald Stribén Luleå University of Technology Dept. of Computer Science and Electrical Engineering Luleå University of Technology September 10, 2004

3 ii

4 ABSTRACT In medical material science, injectable bone cements are being developed to fill and repair defective bones with minimal surgical procedure. The setting time determines the amount of time one have, working with the material and when it is possible to close the wound without complications. Therefore the accuracy of the measured setting time is important. A Method based on ultrasound is being developed for this purpose. A reliable method would be of direct help both to the surgeon and the people who develop these cements. This could lead to shorter operating time for the patients. One of the problems with the ultrasonic pulse-echo technique used today is that it requires expensive equipment, and that the equipment used is not flexible enough. In other words, there is a need for a more flexible instrument that costs less money. This report will show how you could implement one part of such a meter. The hardware used is a SDRAM memory module, a FPGA programmable logic device and a dedicated module for communication via USB. The work was mostly done in a hardware description language called VHDL. The task was analyzed and split into parts that could be solved and implemented separate and finally brought together to form the working meter. The digital part of the meter is implemented, but to be able to build a whole meter a new lab card or custom made PCB have to be used that could utilize more of the FPGA s IO pins. From this thesis one could draw the conclusion that the FPGA and Memory module used are well suited for the task, and that now there is a platform to build a meter on. iii

5 iv

6 SAMMANFATTNING Inom medicinsk materialteknik utvecklar man injicerbara ben-cement, att användas för att fylla och reparera defekter med minimala kirurgiska ingrepp. Härdningstiden bestämmer hur länge man kan arbeta med materialet, och när man kan sy ihop såret utan risk för medicinska komplikationer. Det är därför av stor vikt att man kan bestämma denna tid så exakt som möjligt. En metod baserad på ultraljud håller på att tas fram för detta ändamål. En tillförlitlig mätmetod skulle vara till omedelbar hjälp både för medicinsk personal och de som utvecklar materialen, vilket skulle kunna innebära kortare operationstider för patienterna. Ett av problemen med ultraljudseko-metoden idag är att den kräver dyr hårdvara, och att den hårdvara som finns idag inte heller är särskilt flexibel. Därför finns ett behov av att utveckla en billigare och mer flexibel mätutrustning. Detta arbete visar hur man kan bygga en del av denna mätutrustning. Den hårdvara som används är ett RAM-minne av typen SDRAM, en FPGA och en modul för kommunikation via USB. Arbetet bestod till huvuddelen av programmering av FPGA:n i det hårdvarubeskrivande språket VHDL. Problemet delades upp i delar efter de arbetsuppgifter som FPGA:n har, för att kunna lösa dem separat och sedan sammanfoga dem till en enhet. Den digitala delen av mätinstrumentet är implementerat, men för att kunna bygga en färdig mätare måste ett annat labbkort eller ett egenkostruerat kretskort användas som har möjlighet att använda fler av FPGA:ns datapinnar. Av detta arbete kan man dra slutsatsen att använd FPGA och Minnesmodul är väl valda för uppgiften och att det nu finns en plattform att bygga ett färdigt instrument på. v

7 vi

8 INNEHÅLL KAPITEL 1: INLEDNING 3 KAPITEL 2: TEORI OCH FÖRUTSÄTTNINGAR Härdningstid för bencement Ultraljudseko-metoden Problembestämning Analys KAPITEL 3: HÅRDVARA OCH DESIGN FPGA SDRAM USB till parallellt gränssnitt Prototypkort Designflöde Paketbaserad kommunikation Design KAPITEL 4: IMPLEMENTATION OCH RESULTAT Koppling Verifiering av hårdvara Kommunikation Minne Mätning KAPITEL 5: DISKUSSION OCH SLUTSATSER Mätinstrumentet Möjliga förbättringar Fortsatt arbete

9 viii

10 FÖRORD Denna rapport är skriven som examensarbete på civilingenjörsprogrammet datateknik med inriktning mot datorteknik på avdelningen för "Embedded Internet Systems" (EISLAB), Luleå Tekniska Universitet (LTU). Efter att ha pratat med Jonas Thor, doktorand på avdelningen EISLAB, om att göra ett examensarbete inom datorteknik, så lade han ut en förfrågan på avdelningen för systemteknik om det fanns något intressant projekt som sökte arbetskraft. Johan Carlson, universitetslektor på avdelningen för signalbehandling, kom med ett förslag om att göra en del av en mätutrustning. Jonas blev min handledare, Johan blev examinator och resten är historia. Harald Stribén Luleå, Augusti

11 2 INLEDNING

12 KAPITEL 1 Inledning Inom medicinsk materialteknik utvecklar man injicerbara ben-cement, att användas för att fylla och reparera defekter med minimala kirurgiska ingrepp. Ett cement karaktäriseras bland annat utifrån sina mekaniska egenskaper som hållfasthet, porösitet, densitet och härdningstid. Härdningstiden bestämmer hur länge man kan arbeta med materialet, och när man kan sy ihop såret utan risk för medicinska komplikationer. Det är därför av stor vikt att man kan bestämma denna tid så exakt som möjligt. Befintliga standardmetoder för att studera härdningstiden hos ett cement har visat sig ha dålig repeterbarhet och kräver stora säkerhetsmarginaler på grund av osäkerheter inbyggda i metoderna. En metod baserad på ultraljud håller på att tas fram och har visat lovande experimentella resultat. En tillförlitlig mätmetod skulle vara till omedelbar hjälp både för medicinsk personal och de som utvecklar materialen. Detta skulle också kunna innebära kortare operationstider för patienterna, eftersom en tillförlitlig mätmetod innebär att läkarna inte behöver lägga på samma säkerhetsmarginaler som idag. Ett av problemen med ultraljudseko-metoden idag är att den kräver dyr hårdvara, och att den hårdvara som finns inte heller är flexibel. Därför finns ett behov av att utveckla en billigare och mer flexibel mätutrustning. Denna mätutrustning skulle bestå i en svart låda som till exempel kan kopplas till en bärbar dator. Lådan innehåller allt som behövs för att excitera ultraljudselementet på ett kontrollerat sätt och har även kapacitet att lagra ekot som återspeglas till elementet. Från datorn som styr lådan ska man kunna programmera den med en skräddarsydd exciteringspuls, det ska gå att ställa ingångsförstärkningen och man ska kunna läsa av mottagna data. Allt detta via en standard USB (Universal Serial Bus) kabel. Den svarta lådan kan delas upp i två huvuddelar: En helt digital del som innehåller kommunikation via USB och hantering av Minne. Och en analog del som innehåller förstärkare, analog till digital och digital till analog omvandlare. Detta arbete syftar till att designa och implementera den digitala biten av mätutrustningen, så att den passar i en programmerbar logisk krets. Teori och förutsättningar innehåller information om använda teorier och vad arbetet har bestått i och hur det har delats upp. Hårdvara och design beskriver den hårdvara som används i projektet och designarbetet. Implementation och Resultat beskriver sedan arbetet och resultatet därav. Slutligen kommer Diskussion och slutsatser som diskuterar utkomsten av detta arbete, möjliga förbättringar och fortsättningar på arbetet. 3

13 4 TEORI OCH FÖRUTSÄTTNINGAR

14 KAPITEL 2 Teori och förutsättningar I detta kapitel förklaras teorier och metoder använda i detta arbetet. Först kommenteras existerande standardmetoder för att estimera härdningstiden hos bencement. Sedan beskrivs grunderna i den metod som detta arbete grundar sig på, nämligen ultraljudseko-metoden. Slutligen beskriver jag vad arbetet går ut på och hur det delades upp. 2.1 Härdningstid för bencement Cement som skall användas i medicinska sammanhang måste noggrant undersökas och karaktäriseras utifrån sina mekaniska egenskaper. En av de viktigaste egenskaperna är härdningstiden. Den avgör hur länge man kan arbeta med materialet, och när man kan sy ihop såret utan risk för medicinska komplikationer. Idag finns det två standardmetoder för att studera härdningsprocessen. Båda dessa metoder går ut på att utsätta cementytan för ett visst tryck och sedan studera ytan för att se hur den påverkats. Om man förenklar lite så anses cementen ha stelnat när man inte längre lämnar några märken på ytan. Dessa metoder[1] heter the Gillmore needles method och the Vicat needle. Med hjälp av ultraljudseko så kan man studera härdningsprocessen mer ingående samtidigt som man inte gör någon åverkan på själva cementet. 2.2 Ultraljudseko-metoden Denna princip finns beskriven i flera rapporter, till exempel "Monitoring the setting of injectable calcium-based bone cements using pulse-echo ultrasound" [2] och "Monitoring the setting of calcium-based bone cements using pulse-echo ultrasound" [3]. Principen bakom metoden är att mäta två storheter. Man mäter upp ljudhastigheten i cementprovet, och man mäter den akustiska impedansen vid gränsen mellan ett buffertmaterial med kända akustiska egenskaper, och cementprovet. Dessa två storheter används för att 5

15 6 TEORI OCH FÖRUTSÄTTNINGAR Figur 2.1: Labbutrustning för att mäta med ultraljudseko metoden Figur 2.2: Exempel på reflekterad puls

16 2.2. ULTRALJUDSEKO-METODEN 7 beräkna den momentana densiteten. När en ljudvåg kommer till en gräns mellan två material med olika akustiska egenskaper, så reflekteras en del av vågen tillbaka medan resten av vågen fortsätter in i det nya materialet. Hur mycket av vågens energi som reflekteras beror på skillnaden i specifik akustisk impedans. Den specifika akustiska impedansen, z, för ett material har enheten tryck/partikelhastighet (Pa s) och är användbar vid beräkningar av hur mycket av ljudvågens energi som fortsätter genom en gräns mellan två material in i det andra materialet, och hur mycket som reflekteras. För att genomföra mätningarna används labbuppställningen i figur 2.1. Ultraljudsgivaren används först för att skicka ut en kort ultraljudspuls. Sedan används samma givare som en mottagare för att lyssna på de återspeglade ekon som kommer tillbaka. Den elektriska pulsen som mottagits av givaren samplas sedan för att slutligen hamna i en dator. Figur 2.2 visar ett exempel av en mottagen signal från en mätning på ett cementprov. Första ekot x 1 (t) kommer från gränsen mellan Bufferten och provet och det andra ekot kommet från gränsen mellan provet och reflektorn. Förhållandet mellan amplituden hos det första ekot x 1 (t) och motsvarande eko från en kalibreringsmätning med vatten istället för cement i mätutrustningen ger den specifika akustiska impedansen för cementprovet. Tiden mellan de två ekona är tiden det tar för ljudet att gå igenom cementprovet två gånger, avståndet är känt vilket då ger ljudhastigheten i provet. Dessa två storheter kan användas för att ta fram densitet för cementprovet. Reflektionskoefficienten R p,c definieras som mängden reflekterad energi från gränsen mellan bufferten och cementprovet. R p,c = A c A W R p,w (2.1) A c är amplituden hos det första ekot x 1 (t) från gränsen mellan buffert och cementprov. R p,w är reflektionskoefficienten för gränsen mellan buffert och vatten, och A w är amplituden hos första ekot vid kalibreringsmätningen med vatten. Reflektionskoefficienten hos vatten ges av: R p,w = z w z p z w + z p (2.2) där z w och z p är kända specifika akustiska impedansen för vatten respektive bufferten. Amplituden hos ekona är beräknade genom att först transformera de samplade pulserna med diskret fouriertransform, sedan beräkna amplitudförhållandet A c /A w för alla frekvenser inom bandvidden för pulserna. Slutligen beräknas medelvärdet för att få ett medelvärde på dämpningen. När man känner reflektionskoefficienten kan den akustiska impedansen beräknas: z c = z p 1 + R p,c 1 R p,c (2.3) För att bestämma ljudhastigheten i cementprovet korskorreleras de två ekona x 1 (t) och x 2 (t). Maxvärdet hos korskorrelationen motsvarar tidsskillnaden t mellan pulserna. Eftersom sträckan som pulsen passerat är känd, d 2, är ljudhastigheten:

17 8 TEORI OCH FÖRUTSÄTTNINGAR Figur 2.3: Exempel på den specifika akustiska impedansen i ett prov, som funktion av tiden Figur 2.4: Exempel på ljudhastigheten i ett prov, som funktion av tiden

18 2.3. PROBLEMBESTÄMNING 9 Figur 2.5: Exempel på densitet i ett prov, som funktion av tiden c = 2 d 2 t (2.4) Från ljudhastigheten, c, och cementprovets specifika akustiska impedans, z c (Ekvation 2.3), kan densiteten, ρ beräknas: ρ = z c c (2.5) Denna metod ger inte bara härdningstid och densitet, den ger även en möjlighet att studera hela härdningsförloppet. Figur 2.3 visar ett exempel på den specifika akustiska impedansen i ett prov, som funktion av tiden. Figur 2.4 visar ett exempel på ljudhastigheten i ett prov, som funktion av tiden. Figur 2.5 visar ett exempel på densitet i ett prov, som funktion av tiden En stor fördel med metoden är att den är helt objektiv och därför gör det lätt för oberoende forskare att genomföra experimentet och sedan jämföra resultaten. 2.3 Problembestämning Detta arbete syftar till att ta fram en del av en mätutrustning. Hela mätutrustningen kan ses i figur 2.6. En mätning ska gå till på det viset att man från PC:n laddar ned en skräddarsydd exciteringskurva till RAM-minnet. RAM-minnet är uppdelat i en sändbank och en bank för

19 10 TEORI OCH FÖRUTSÄTTNINGAR I/O Sw DA Power Amp Filter Pre Amp AD Analog Digital RAM FPGA USB PC Figur 2.6: Systemskiss av mätutrustning mottagna mätdata. Sedan kan en mätning startas vilket innebär att den data som finns i sändbanken skickas genom digital till analog omvandlaren (DA), den analoga signalen passerar sedan genom en effektförstärkare (Power Amplifier), för att slutligen omvandlas till ultraljud i ultraljudsgivaren. När data är skickat slår utrustningen om till mottagning, och det ultraljud som kommer tillbaka till ultraljudsgivaren filtreras och förstärks innan det passerar genom en analog till digital omvandlare (AD), för att sedan lagras i mottagningsbanken i RAM-minnet. Nu kan man från PC:n läsa ut färdig mätdata. Kommunikationen med PC:n sker som nämnts tidigare genom USB. Den övre delen av figur 2.6 är den analoga delen, och den nedre delen är den digitala. Detta arbete visar hur man kan implementera den digitala delen i en FPGA. Funktionaliteten är beskriven i VHDL, ett hårdvarubeskrivande språk. I denna rapport så kommer jag dock bara att beskriva designen på en högre nivå i termer av block och gränssnitt. 2.4 Analys Hårdvarumässigt består den digitala delen av mätutrustningen av en FPGA, ett RAM-minne och en modul för kommunikation via USB. RAM-minnet och FPGA:n sitter redan på ett prototypkort. Sammankopplingen av de två korten, prototypkortet och USB-modulen togs fram innan fortsatt arbete med programmering av FPGA:n kunde göras. FPGA:n skall utföra flera uppgifter: Styra förstärkningsfaktorn för ingångsförstärkaren.

20 2.4. ANALYS 11 Ställa om mellan sändning och mottagning. Skriva och läsa RAM-minnet från PC. Styra överföring av data från RAM-minnet till DAC:en. Spara undan data från ADC:en i RAM-minnet. Block som uppenbart behövs är dels ett som pratar med USB-kontrollern och ett som sköter SDRAM-modulen. Sedan behövs Styrning av mätarens olika funktioner. Mer om vilka block och gränssnitt som skapats i kapitel 3.7.

21 12 HÅRDVARA OCH DESIGN

22 KAPITEL 3 Hårdvara och design Detta kapitel beskriver först den hårdvara och några av de principer som användes vid utförandet av detta arbete. Hårdvaran som använts i arbetet var en FPGA, en kommunikationskrets för USB och ett prototypkort med en FPGA och SDRAM på. Sedan beskrivs designflödet som används vid implementation av hårdvara med hjälp av VHDL. Den för projektet valda kommunikationsprincipen beskrivs. Sist i kapitlet redovisas den valda designen för projektet. 3.1 FPGA Det finns olika typer av programmerbar logik på marknaden (Programmable Logic Devices, PLD). En typ av PLD är en FPGA, vilket står för Field Programmable Gate Array. En FPGA består av ett mönster av konfigurerbara logikblock (Configurable Logic Blocks, CLB), omgivna av programmerbara I/O-block (IO Blocks, IOB), och sammankopplade med programmerbara kopplingar som kan ses i figur 3.1. Antalet CLB:er i en FPGA varierar mellan några få och flera tusen. Prestanda hos en FPGA beror i stor utsträckning på funktionen hos CLB:erna och möjligheten att med så lite delay som möjligt sammankoppla CLB:er och IOB:er. De flesta FPGA:er är SRAM baserade. En FPGA baserad på SRAM kan programmeras om obegränsat antal gånger, men den måste programmeras varje gång efter man slår på strömmen. FPGA:n som används i detta arbete heter SPARTAN-II XC2S50. Dess CLB-mönster är stort och har således 382 st CLB:er. Den har 176st användbara I/O-pinnar. Och kan, beroende på implementerad konstruktion, klockas upp till 200 MHz 3.2 SDRAM SDRAM står för Synchronous Dynamic Random Access Memory. SDRAM använder en klockpuls för synkronisering, medan standard DRAM är ett icke-synkront minne. SDRAM arbetar med höghastighets-åtkomst, så kallad burst mode, vilken använder sig av en intern adress-kolumngenerator. När den första adresskolumnen för åtkomst är bestämd, kan de 13

23 14 HÅRDVARA OCH DESIGN Figur 3.1: Generaliserad FPGA-struktur följande adresserna automatiskt tas fram av den interna kolumngeneratorn. Mode-registret tar emot den begärda informationen och styr i turordning minnet i enlighet med informationen. Ett SRAM är ett minne som hela tiden håller sitt data så länge strömmen är påslagen, men det tar stor yta på kretsens kiselyta. DRAM är en typ av minne som tar betydligt mindre yta än SRAM, men håller inte kvar sin data hur länge som helst. Därför behöver DRAM uppdateras eller refreshas. SDRAM är som nämnt ovan ett utökat DRAM, så det behöver också refreshas. Det SDRAM som används i detta arbete heter K4S641632F-TC75 från Samsung[4]. Det kan klockas upp till 133 MHz och är uppbyggt av fyra banker med vardera 1Mbit x 16 minnesceller. Antal på varandra följande läsning eller skrivningscykler initierade av ett enda kommando Burst length är 1, 2, 4, 8 eller Full page (det vill säga hela raden 16bitar). Refresh perioden, det vill säga tiden från en refresh till dess att minnet måste refreshas igen. 3.3 USB till parallellt gränssnitt USB to FIFO Parallel Interface Module, DLP-USB245M[5] är en färdig modul för att underlätta kommunikation via USB. Den har färdiga drivrutiner att installera i datorn som maskerar

24 3.3. USB TILL PARALLELLT GRÄNSSNITT 15 FIFO Read Cycle >80 RXF# RD# >50 >50 <30 >10 D[7..0] Valid data RXF# Låg när åtminstone en byte finns i receivebuffer. Dra RD# låg för att läsa första värdet i infifo:n, sätt den hög igen när data är läst. FIFO Write Cycle >80 TXE# >50 >50 WR D[7..0] <20 >10 Valid data När TXE# är hög så är utfifo:n full. För att skriva till utfifo:n sätts först WR hög. Sedan läggs datat ut på datapinnarna, WR sätts låg för att läsa av datat. Datapinnarna släpps. Figur 3.2: DLP-USB245M Hårdvaruinterface hårdvaran som en vanlig RS232 seriell port, men med mycket högre hastighet (så kallad baud rate inställning ignoreras). På hårdvarusidan har den ett gränssnitt för att läsa och skriva parallell (8 bitar) data åt gången som kan ses i figur 3.2.

25 16 HÅRDVARA OCH DESIGN VHDL kodeditering Funktions simulering ModelSim Begränsningar (Constraints) syntes Synplify översättning Mappning Place and route "Back annotation" Timing simulering Statisk timing analys Figur 3.3: Designflöde 3.4 Prototypkort Prototypkort XSA-50 Från XESS Corp.[6]. Kortet är bestyckat med en Spartan-II (XC2S50) FPGA från Xilinx[7]. FPGA:n är kombinerad med ett 8 Mbyte stort Synkront DRAM. Bitströmmen man vill programmera FPGA:n med kan sparas i ett Flash minne, så att FPGA:n blir konfigurerad så fort strömmen slås på. Kortet har även en parallellport genom vilken man kan ladda FPGA:n med hjälp av verktyg framtagna av XESS Corp. Kortet har även en programmerbar oscillator på 100 MHz, frekvensen kan ställas i jämna delar av 100 MHz till exempel 50, 25, 12.5, 6.25 MHz. För detta projekt krävs möjlighet att komma åt många av FPGA:ns pinnar från resterande hårdvara. Kortet har 84 anslutningar för att kunna kommunicera med ytterligare elektronik, men med olika restriktioner.

26 3.5. DESIGNFLÖDE Vänta Data esc Vänta esc Data 4 Figur 3.4: Tillståndsmaskin för avkodning av paketerade meddelanden 3.5 Designflöde Det syntesverktyg jag använt heter Synplify[8], och är även det program jag använt för att skriva och editera koden. För att simulera koden har ett program som heter Modelsim[9] använts. Slutligen har Xilinx[7] mjukvara använts för att kompilera nätlistor till bitmönster att programmera FPGA:n med. Här följer en genomgång av stegen från VHDL kod till färdig kretsbeskrivning i bitströmsform. Stegen kan även följas i figur 3.3. Först kommer funktionssimulering, som används för att kolla att VHDL beskrivningen är korrekt och beter sig på det vis man tänkt. I detta läge kan man dock inte testa tidsberoendet, det vill säga inte hitta fel som uppkommer av för stora delayer eller dylikt. Syntes kan definieras som att konstruera en mål-specifik nätlista från en beskrivning skriven i ett hårdvarubeskrivande språk till exempel VHDL. Synplify är ett program speciellt gjort för syntes och optimering för FPGA och avancerade PLD:er. Det finns flera steg i syntesen. Första steget är språksyntes; det hårdvarubeskrivande språket kompileras till kända byggstenar. Andra steget är optimering, där algoritmer används för att göra kretsen så liten och snabb som möjligt. Första optimeringen är oberoende av målteknologin och därför enkel, medan resten av optimeringen är gjord under sista steget. Sista steget är mappning till målteknologin. Målspecifika tekniker används, och en nätlista genereras i ett format som till exempel Xilinx place and route verktyg kan läsa. Xilinx mjukvara gör också den saker i flera steg. Första steget är översättning, där program-

27 18 HÅRDVARA OCH DESIGN met läser nätlistan från syntesprogramvaran och översätter den till ett för verktyget specifikt binärt format. Andra steget är Mappning, det vill säga att tilldela kretsens logiska byggstenar till specifika fysiska element, så som CLB:er och IOB:er. Tredje steget består av två delar nämligen place and route eller placering och sammankoppling. Placeringen består i att placera ut de block som under mappningen tilldelades uppgifter. Sammankopplingen är sedan just kopplingen mellan dessa logiska block. Efter dessa steg är implementationen klar och statisk tidsanalys kan göras. Man kan även utföra en så kallad Back annotation då den implementerade kretsen konverteras till en VHDL-nätlista och tidsdata är uttagna till en standard delay format (SDF) fil. Detta görs för att kunna göra tidssimuleringar av den färdiga implementationen, viket görs för att kolla att funktionen är den rätta och att det inte finns några tidsproblem i den färdiga designen. 3.6 Paketbaserad kommunikation För att skapa en fungerande kommunikation bör den ske i paketform, det vill säga ett paketformat definieras, vilket sedan går att följa för att avkoda de olika meddelanden som kan skickas över USB-porten. Enligt den definition av paketformat jag använt behövs ett escapetecken, en början respektive slut sekvens och ett id, alla delar är av bytestorlek. Till exempel: Paket innehållande ett kommando identifierat genom Id. [Esc][Begin][Id][Esc][End] Paket innehållande data identifierat genom Id. [Esc][Begin][Id][Data0][Data1]...[Datan][Esc][End] Id-byten talar om vad det är för paket som har överförts. Eftersom escapetecknet även måste användas i datat då det representerar ett värde, måste man behandla dem på ett särskilt sätt. Varje gång man vill skicka värdet som escape-tecknet representerar måste man sända två escape-tecken efter varandra, för att det inte ska feltolkas som en början- eller slutsekvens. I figur 3.4 beskrivs uppackning av ett paket konstruerat enligt ovan angivna format. Det kan dock påpekas att vid denna uppackning tas ingen hänsyn till idtecken, vilket resulterar i att man efter uppackning får en rad med bytes av vilka den första är idtecknet och eventuell fortsättning är data. Här kommer en beskrivning av villkor och resultat av tillståndsbyten i maskinen: 1. Maskinen står kvar i Vänta-läge så länge det inte kommer ett escapetecken. 2. Om ett escapetecken mottagits går maskinen till läget Vänta-esc. 3. I det fall att man i Vänta-esc tillståndet får det tecken som tillsammans med escapetecknet formar börjasekvensen går man vidare för att vänta på innehållet i paketet. 4. Så länge ny data innehållande vilket tecken som helst, för utom escapetecknet så fortsätter maskinen i Data-tillståndet och sparar undan de tecken som mottages. 5. I det fall ett escapetecken mottages så går maskinen till läget Data-esc för att kunna avgöra om det är en databit eller en styrsignal, till exempel början eller slut sekvens.

28 3.7. DESIGN 19 main 50MHz mem_usb_bridge USB245M usb_cntr rx/tx fifo gränssnitt registers config värden SDRAM gränssnitt xsasdramcntl SDRAM measure_cntr DATA IO gränssnitt AD/DA frekvens Figur 3.5: Block och gränssnitt i FPGA:n 6. Om det i en dataföljd kommer två på varandra följande escapetecken så representerar det värdet hos escapetecknet, och maskinen återgår till att vänta på data. Om man av någon anledning skulle få en startsekvens under Data-esc tillståndet, vilket man inte bör få om allt fungerar som det ska, så måste databufferten tömmas innan maskinen går till Data-tillståndet för att ta emot det nya paketet. 7. När slutsekvensen kommer så har man ett helt paket och kan gå vidare till att processa den data man fått eller gå tillbaka till Väntatillståndet, för att invänta nästa paket. 8. Om man i Vänta-esc inte erhåller ett tecken som tillsammans med escapetecknet bildar börjasekvensen så återgår man till Väntaläge för att invänta början på ett paket. 9. I det fall att ett escapetecken mottages i Vänta-esc tillståndet så står maskinen kvar i Vänta-esc då det kan vara början på en börjasekvens. 3.7 Design För att förklara funktionaliteten ska jag här beskriva vilka block jag valt att dela upp konstruktionen i. Hur blocken pratar med varandra dvs deras gränssnitt. Detta utan att gå ner på allt för djup nivå, se figur 3.5.

29 20 HÅRDVARA OCH DESIGN Block Inneslutande alla andra block har jag toppblocket, som jag kallat "main". För att prata med USB kontrollern har jag sedan "usb_cntr". Som SDRAM modul använder jag en något modifierad och buggfixad variant av en färdig SDRAM kontroller hämtad från XESS hemsida, de kallar den för "xsasdramcntl". Sedan har vi själva funktionaliteten hos mätaren, för att det inte ska bli för otymplig kod har jag valt att dela upp hanteringen av olika kommandon i tre block. Dessa block är mem_usb_bridge, register och measure_cntr vilkas funktion beskrivs nedan main Huvudblocket main representerar hur de övriga blocken ska kopplas samman och hur de ska kopplas till omvärlden. Detta block kan ses i figur 3.5, allt inom den grövre streckade linjen är main blocket. Denna figur beskriver mycket av den funktion main blocket har usb_cntr Denna enhet tar emot kommando och data paket skickade från PC:n och sänder även tillbaka svar till PC:n från de tre styrblocken. Innehåller mottagande och sändande först in först ut buffertar, så kallade FIFO buffertar. Har hand om kommunikationen med USB enheten, DLP-USB245M. DLP-kretsen innehåller även den två köer (FIFO) en för sändning och en för mottagning. Dessa fungerar som en buffert mot USB-porten så att man inte behöver synkronisera med datorn. DLP enheten kräver en specifik styrning och synkronisering som kunde ses i figur 3.2. Det är dock en klar fördel att inte behöva hantera USB-portens protokoll utan istället kunna läsa och skriva en byte åt gången. Detta block innehåller uppackning av paket på det sätt som fins beskrivet i kapitel mem_usb_bridge Styrblock nummer ett är dedikerat åt att låta PC:n skriva och läsa i SDRAM minnet. När detta block blir aktiverat för att läsa eller skriva så börjar det med att avkoda kommandot som skickats. Vid läsning så kommer först startadressen, på vilken position i minnet det första värdet ska läsas ifrån. Sedan kommer stopadressen, på vilken läsningen från minnet ska avslutas. Vid skrivning kommer först en startadress på vilken det första värdet ska skrivas, sedan kommer datat. Vid en läsning så läses alla värden från minnet som ligger mellan start och slutadressen och placeras i sändfifon hos usb_cntr, vid en skrivning så placeras alla data som finns i usb_cntr:s mottagningsbuffert från startadressen och framåt i minnet registers Styrblock nummer två innehåller register som kan hålla konfigurationsdata som skickas från PC:n, vilka används vid mätning. SDRAM minnet är, som tidigare nämnt, uppdelat i Mottagande, Rx, och sändande, Tx, del. Den sändande delen är där instrumentet tar den stimuli som skickas till ultraljudsgivaren vid excitering. De ekon som sen mottages samplas till den mottagande delen av minnet. Här följer en lista med de register som finns och vad deras konfigurationsvärde representerar.

30 3.7. DESIGN 21 RxBufferBegin Adressen för början på det mottagande minnet. RxBufferEnd Adressen för slutet på det mottagande minnet. TxBufferBegin Adressen för början på det sändande minnet. TxBufferEnd Adressen för slutet på det sändande minnet. RxGain Förstärkningsgraden hos den ingående förstärkaren. TriggerDelay Den tid instrumentet ska vänta från det att den sänt allt i sändbufferten tills dess att den ska börja sampla nya invärden measure_cntr Styrblock nummer tre är det som styr själva mätningen. När en mätning aktiveras så är det detta block som tar kommandot i FPGA:n och ser till att mätningen utförs enligt plan. Ultraljudsgivaren exciteras med signalen som finns i SDRAM, sedan ställs mätaren om till mottagning och ekot sparas i en annan del av SDRAM minnet. Även förstärkningen hos ingångsförstärkaren ställs in i enlighet med konfigurationen xsasdramcntl En SDRAM kontroller från labbkortstillverkaren har använts. Application Note av D. Vanden Bout, XSA Board SDRAM Controller [10] innehåller en fungerande kontroller och ett testprogram. Kontrollern finns för att underlätta läsning och skrivning mot SDRAM modulen, och för att underhålla den med refresch signaler inom rätt intervall. Mer om SDRAM modulen hittas i kapitel Gränssnitt Vi kan dela in gränssnitten i externa och interna gränssnitt. De externa gränssnitten är det som usbmodulen, DLP-USB245M, använder, det som SDRAM minnet använder och slutligen gränssnittet mot DA och AD omvandlare, Data IO. Dessa externa gränssnitt är det vi har att arbeta mot. De interna gränssnitten däremot är skapade för att separera funktionaliteten hos instrumentet på ett så logiskt och lättarbetat sätt som möjligt. De interna gränssnitten har jag döpt till rx/tx fifo och r/w SDRAM. Nedan följer en beskrivning av dessa gränssnitt.

31 22 HÅRDVARA OCH DESIGN 1 6 Vänta 2 3 Klar Kolla 5 4 Styrning av modulens funktion Figur 3.6: rx/tx fifo-gränssnitt, för styrblocken DLP-USB245M Ett externt gränssnitt som implementerats i usb_cntr blocket och som beskrivs närmare i kapitel rx/tx fifo När ett helt paket är mottaget så flaggar usb_cntr för att ett nytt kommando ligger och väntar. Då kollar alla styrblocken om det är ett kommando de ska ta hand om, annars går de och vilar igen. Från usb_cntr:ens sida väntar den bara på en klar signal från någon av styrenheterna, för att sedan åter vara beredd att motta fler paket. Usb_cntr kontrollerar vid klarsignal om sin sändfifo är tom annars sänds det som ligger i fifon innan den åter väntar på nästa anländande paket. För att svara mot detta gränssnitt har alla styrblock samma grund i sina tillståndsmaskiner. Denna grund kan ses i figur 3.6. Denna tillståndsmaskin fungerar på följande sätt (siffror i figuren): 1. Väntar på att få reda på att ett paket är mottaget 2. När ett nytt paket är mottaget så är första biten i rxfifon idbiten och alla styrblock kan se den. Alla går till kontrolltillståndet för att se om det är det som ska vakna. 3. Om Id:t inte känns vid av det aktuella blocket så går det åter och väntar på nästa paket.

32 3.7. DESIGN 23 clk rd haddr A1 A2 A3 earlyopbegun done hdout D(A1) D(A2) D(A3) Figur 3.7: SDRAM-kontroller läsoperation clk wr haddr A1 A2 A3 hdin D1 D2 D3 earlyopbegun Figur 3.8: SDRAM-kontroller skrivoperation 4. När ett paket har ett id som blocket känner igen så vaknar det upp och utför sin uppgift. 5. Efter att blocket utfört sin uppgift så går den till ett tillstånd för att signalera att uppgiften är slutförd, så att instrumentet kan fortsätta med nästa uppgift. 6. Efter att ha signalerat "uppgift slutförd" så återgår blocket till att vänta på nästa paket r/w SDRAM SDRAM kontrollern xsasdramcntl[10] har ett gränssnitt som lättast beskrivs med några kurvor. Figur 3.7 visar hur läsning av i det här fallet tre värden från minnet går till. Man börjar med att sätta haddr till den första adressen man vill läsa, och sätter rd till 1. earlyopbegun talar om ifall adressen har mottagits och man kan byta adress till nästa klockcykel. om inte early- OpBegun är hög så får man vänta tills den är aktiveras innan man går vidare och byter adress. Data finns sedan att hämta från hdout när done-signalen är hög. Figur 3.8 visar en skrivning av tre data till minnet går till. Adressen man vill skriva till läggs på haddr och datat man vill

33 24 HÅRDVARA OCH DESIGN Tecken Värde(Dec) Värde(Hex) [Esc] [Begin] 2 02 [End] 3 03 Tabell 1: ASCII-värden valda för paketkommunikation skriva läggs på hdin, sedan sätter man wr hög och byter till nya data med respektive adress om earlyopbegun är hög. Detta gränssnitt gör det möjligt att skriva eller läsa data nästan på varenda klockcykel, så länge minnet inte behöver göra refreschcykler SDRAM Det externa gränssnitt mellan minnesmodulen och FPGA:n som i detta arbete implementeras av ett färdigt block från tillverkaren av prototypkortet. Blocket kallas xsasdramcntl. Minnesmodulen beskrivs i kapitel DATA IO Detta interface är inte riktigt färdigdefinierat då den analoga sidan av instrumentet inte är färdigt. I specifikationen så anges en 12 bitars analog till digital omvandlare, som använder en klockfrekvens på 65 MHz. På grund av att minnet ska hinna med kommer instrumentet att använda en annan klockfrekvens än omvandlaren. Instrumentet måste klockas snabbare än omvandlaren för att hinna spara undan de data som kommer från den. En asynkron fifo används för att synkronisera mellan de två klockdomänerna. Om man i framtiden vill använda en 16 bitars omvandlare är det också möjligt då jag bara bortser från de extra bitar som finns tillgängliga. Gränssnittet har två 16 bitars asynkrona fifos, en för in och en för ut data så att både analog till digital och digital till analog omvandlaren existerar i 65 MHz-domänen. De två klockdomänerna kan ses i fig Kommunikation Kommunikationen mellan datorn och mätutrustningen görs i paketform, som beskrivet tidigare (kapitel 3.6). Detta paketsystem är uppbyggt på escapesekvenser. Med Värden enligt Tabell 1. Escapesekvenserna är: [Esc][Begin] - Börjasekvensen, som alla paket inleds med. [Esc][End] - Slutsekvensen, som avslutar alla paket. [Esc][Esc] - Om man i ett paket vill få med värdet av escapetecknet så måste man skicka det som två på varandra följande escapetecken. Olika kommandon har olika id, så här följer en lista på de kommandon som instrumentet svarar på, vilket id de har och vad de representerar. Id:t är skrivet både som decimaltal och hexadecimalt på formen Dec(xHex). Vad de olika registren representerar kan ses i kapitel

34 3.7. DESIGN 25 setrxbufferbegin Id: 20(x14). Kommandot skriver ett 32 bitars konfigurationsvärde till RxBuffertBegin registret. getrxbufferbegin Id: 21(x15). Kommandot läser ut ett 32 bitars konfigurationsvärde från RxBuffertBegin registret. setrxbufferend Id: 22(x16). Kommandot skriver ett 32 bitars konfigurationsvärde till RxBuffertEnd registret. getrxbufferend Id: 23(x17). Kommandot läser ut ett 32 bitars konfigurationsvärde från RxBuffertEnd registret. settxbufferbegin Id: 24(x18). Kommandot skriver ett 32 bitars konfigurationsvärde till TxBuffertBegin registret. gettxbufferbegin Id: 25(x19). Kommandot läser ut ett 32 bitars konfigurationsvärde från TxBuffertBegin registret. settxbufferend Id: 26(x1A). Kommandot skriver ett 32 bitars konfigurationsvärde till TxBuffertEnd registret. gettxbufferend Id: 27(x1B). Kommandot läser ut ett 32 bitars konfigurationsvärde från TxBuffertEnd registret. setrxgain Id: 30(x1E). Kommandot skriver ett 16 bitars konfigurationsvärde till RxGain registret. getrxgain Id: 31(x1F). Kommandot läser ut ett 16 bitars konfigurationsvärde från RxGain registret. settriggerdelay Id: 32(x20). Kommandot skriver ett 16 bitars konfigurationsvärde till TriggerDelay registret. gettriggerdelay Id: 33(x21). Kommandot läser ut ett 16 bitars konfigurationsvärde från TriggerDelay registret. start Id: 44(x2C). Kommandot startar en mätning, förutsatt att konfigurationsvärden är satta rätt så genomförs en mätning.

35 26 IMPLEMENTATION OCH RESULTAT writememory Id: 50(x32). Skriver data till minnet. Tar först ett 32 bitars värde som anger startadressen. sedan följer 16 bitars data, så många man vill skriva. readmemory Id: 51(x33). Läser data från minnet. Tar två 32 bitars värden, där det första är startadressen och det andra är stopadressen. Kommandot returnerar alla 16 bitars värden mellan de två adresserna.

36 KAPITEL 4 Implementation och resultat Kapitlet redogör för hur implementationen gått och de resultat som uppnåtts. Först det fysiska byggandet av labbsystemet, sedan verifiering av detsamma. Slutligen implementationen av de olika delarna av designen. 4.1 Koppling Sammankopplingen av de två korten, XSA-50-kortet och DLP-USB245M-kortet gjordes på ett prototypkort. Ett problem för kopplingen mellan de två är att hitta oanvända pinnar från FPGA:n, som även är uttagna till XSA-kortets prototypanslutningar. Vid en snabb titt, närmare bestämt när det beslutades att detta kort skulle användas för framtagning av utrustningen, så såg det ut att inte vara något problem, sådär en pinnar såg ut att vara nåbara. Det har dock visat sig att många av FPGA:ns pinnar används för kopplingar till de kretsar som redan finns på XSA-kortet, helt obundna är endast nio av pinnarna. Detta i kombination med att pinnarna från FPGA:n är utdragna till prototypanslutningarna på ett sådant sätt att de inte är i ordning, gör planeringen av kopplingarna komplicerad. För att kunna använda de resterande pinnarna måste man ta särskild hänsyn och även skriva in rutiner för att kunna använda vissa. 4.2 Verifiering av hårdvara För detta arbete så finns det två distinkta delar som måste fungera för att arbetet ska gå att genomföra, nämligen minnet och kommunikationen genom usb. Att testa om minnet fungerar eller inte gick att genomföra med exempelkod tillhandahållen av labbkortstillverkaren. Dock var denna kod dåligt dokumenterad så det krävdes laborerande innan det gick att avgöra att minnet var ok. Det var lite svårare att avgöra om kommunikationen via usb fungerar då det inte finns någon färdig kod för detta, och då man måste ha något sätt att avgöra om man lyckas överföra något. Ett annat problem var att de fanns olika drivrutiner till USB-modulen. En drivrutin som simulerar att den är en comport fick jag slutligen att fungera tillsammans med programmet som körs på PC:n för att kommunicera med modulen. 27

37 28 IMPLEMENTATION OCH RESULTAT En enkel kommunikationskod för att ta emot data från datorn skrevs och även en modul för att kunna visa tal på den på labbkortet inbyggda lysdiodsdisplayen. Fel uppstod till synes slumpmässigt och djupare undersökning krävdes. Kod för att kunna sända data till datorn skrevs och det var nu lättare att felsöka kommunikationen. Efter många försök visade det sig att två ledningar som valts inte var lämpliga eftersom de var beroende respektive användes till lysdiodsdisplayen. Manualen till labbkortet luslästes och två nya ledningar valdes. Vid dessa test hade en annan än den önskade klockfrekvensen använts och koden fungerade bara vid denna frekvens, men den kunde i alla fall påvisa att hårdvaran för USB-kommunikationen fungerade som den ska. 4.3 Kommunikation Komplexiteten i att designa ett kommunikationssystem är ganska stor när man ska göra det i hårdvara, så denna del krävde noga planering och många test testbänk För att kunna testa om kommunikationen fungerar genom simulering kräver det att man skriver en testbänk. I detta fall behövs en testbänk som simulerar USB-modulens funktionalitet utveckling och simulering Efter ovärderlig hjälp från min handledare, fungerar nu kommunikationen felfritt. Förbättringar är möjliga, mer om det nämns senare i raporten i kapitlet diskussion och slutsatser test på hårdvara Från början användes ett testprogram som tillverkaren av DLP-USB245M modulen tillhandahåller. Denna var dock något instabil och var inte så lämpad för uppgiften. För att kunna testa kommunikationen på ett mer systematiskt sätt så skrevs ett litet Java-program som kommunicerar med instrumentet via drivrutinen som maskerar usb:n som en comport. Javaprogrammet utökades ytterligare för att kunna användas som modul för Matlab. Denna modul har genomgått test, i form av slumptal som skrivits till minnet och sedan lästs tillbaka för att slutligen jämföras med den data som skrevs till minnet. Hela minnet skrevs och lästes upprepade gånger i överföringar av skiftande storlek, inga fel uppstod. 4.4 Minne Minnesmodulen SDRAM minnet krävde en del arbete trotts att jag här använde en färdig kontroller.

38 4.5. MÄTNING testbänk Från Samsung så fick jag tag i en verilog-modell av minnet som gick att simulera emot. Efter att ha justerat min testbänk att lägga in en viss fördröjning mellan minnet och FPGA:n så fungerade den utveckling och simulering Application Note av D. Vanden Bout, XSA Board SDRAM Controller [10] innehåller en fungerande kontroller och ett testprogram. Dock hade jag problem att simulera kontrollern, men efter att ha rättat några småfel i deras kod så fungerar den i simulatorn test på hårdvara Kontrollern fungerade redan utan korrigeringar i hårdvaran, men jag antar att det inte spelar någon roll om den får göra åtskilliga instruktioner i början för att en räknare "slår över". En räknare som ska vara 0 blir satt till räknarens maxvärde av misstag under initieringen, och så många instruktioner utförs. 4.5 Mätning Då det inte finns tillräckligt med pinnar på labbkortet för att fysiskt kunna koppla in riktiga AD- och DA-omvandlare så får det bli någon annans uppgift att ta ett annat labbkort som är mer lämpat för uppgiften och bygga ihop den färdiga mätaren. Dock tänker jag genom simulering visa att koden har stöd för de funktioner som då kommer att behövas testbänk Utökas med möjlighet att läsa indata från en fil. Enkla modeller för AD- och DA-omvandlarna har även skapats utveckling och simulering Styrning av mätförloppet. measure_cntr-blocket som styr hela mätningen börjar med att läsa från minnet de data som ligger på adresserna mellan txbufferbegin och txbufferend. Datat matas in i en asynkron fifo som används för att länka mellan de två klockdomänerna. När fifon är full eller när det är slut på data att skicka, vilket som händer först, så börjar instrumentet skicka data till ultraljudsgivaren. När fifon är tom så väntar instrumentet ett förutbestämt antal klockcykel, triggerdelay. Sedan aktiveras analog till digital omvandlaren och en mottagande asynkron fifo börjar fyllas, samtidigt som instrumentet skriver data till minnet så fort det finns data i fifon. Datat skrivs från adressen rxbufferbegin och framåt. En räknare håller reda på hur många mätvärden som läses in, det vill säga hur många klockcykler som passerar i omvandlarnas tidsdomän från det att AD-omvandlaren aktiveras. När önskat antal mätningar

39 30 DISKUSSION OCH SLUTSATSER gjorts, det vill säga rxbufferend-rxbufferbegin så avslutas mätningen och instrumentet återgår till viloläge.

40 KAPITEL 5 Diskussion och slutsatser Detta kapitel behandlar det slutliga resultatet och vad som skulle gå att göra bättre. Slutligen nämns även möjligheter till fortsatt arbete. 5.1 Mätinstrumentet Omfattningen av detta exjobb var att implementera den digitala delen av ett mätinstrument för mätning enligt ultraljudseko-metoden. Instrumentet ska kunna utföra följande. Styra en 12 bitars ADC, klockad i 65 MHz. Styra förstärkningsfaktor hos ingångsförstärkaren. Styra mätningsförloppet, med sändning fördröjning och mottagning. Konfigureras och ange aktuell konfiguration. Bli initierad med exciteringsdata, och läsa tillbaka exciteringsdata redan i minnet. läsa ut mottagen data, och skriva över den mottagna datan. Då endast den digitala delen av instrumentet är färdig finns ingen AD eller DA att testa mot, men dessa delar är testade med simulering. Övriga delar fungerar enligt ovan. För att kunna bygga en färdig mätare måste ett annat labbkort eller ett egenkostruerat kretskort användas som har möjlighet att använda fler av FPGA:ns datapinnar. Av detta arbete kan man dra slutsatsen att använd FPGA och Minnesmodul är väl valda för uppgiften och att det nu finns en plattform att bygga ett färdigt instrument på. 5.2 Möjliga förbättringar SDRAM minnet borde gå att använda som buffert för usbkommunikationen förutsatt att inte hela minnet används just vid det tillfället, som till exempel vid laddning av exciteringspuls till 31

41 32 DISKUSSION OCH SLUTSATSER instrumentet. Detta skulle göra att hela pulsen kunde skickas i ett stort paket utan att tumma på paketprotokollet. Som designen är nu finns det möjlighet att låsa instrumentet så att man måste starta om det. Detta skulle gå att komma runt men kräver omstruktureringar. 5.3 Fortsatt arbete Detta arbete blir lite haltande fram till dess att någon tar sig an att göra den analoga sidan av mätinstrumentet. Jag hoppas därför att någon tar sig an denna uppgift så snart som möjligt.

42 Referenser [1] J. Carlson, M. Nilsson, E. Fernández, and J. Planell, Monitoring the setting of injectable calcium-based bone cements using pulse-echo ultrasound, in IEEE Int. Ultrason. Symp., (Munich, Germany), pp , [2] M. Nilsson, J. Carlson, E. Fernández, and J. Planell, Monitoring the setting of calciumbased bone cements using pulse-echo ultrasound, Journal of Materials Sience, vol. 37, no. 13, pp , [3] J. Carlson, M. Nilsson, E. Fernández, and J. Planell, An ultrasonic pulse-echo technique for monitoring the setting of CaSO 4 -based bone cement, Biomaterals, vol. 24, no. 1, pp , [4] S. electronics, [5] D. D. Inc, [6] X. E. S. S. Corp., [7] X. Inc, [8] S. Inc, [9] M. T. Inc, [10] D. V. Bout, Xsa board sdram controller, application note, XESS Corp.,

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM Innehåll Designflöde Översikt av integrerade kretsar Motivation Hardware Description Language CAD-verktyg 1 DESIGNFLÖDE FÖR DIGITALA

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

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

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

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

LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION Högskolan Dalarna Institutionen för Elektroteknik LABORATION LABORATIONSINSTRUKTION LOG/iC, PLD, kombinatorik, sekvensnät KURS Digitalteknik LAB NR 6 INNEHÅLL. Inledning 2. Prioritetskodare 3. Elektronisk

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

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012 Med kommentarer för kursen ht 2012 2012 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

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

Paketförstörare Implementerad på XESS XSV800 labbkort

Paketförstörare Implementerad på XESS XSV800 labbkort aketförstörare Implementerad på XESS XSV800 labbkort rojektrapport i kursen SMD106 av Markus Finér (780726-2014) Urban Classon (760516-8918) 2003-03-04 Abstrakt När man tar fram och utvecklar nya kommunikationsprotokoll

Läs mer

Instruktioner för uppdatering av enheter med ISP

Instruktioner för uppdatering av enheter med ISP För AP produkter som använder ISP måste flashuppdateringen göras med hjälp av den medföljande MPC Manager. För att utföra en firmware uppdatering, följ dessa instruktioner: 1. Ladda ner och installera

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

ANVÄNDAR MANUAL. SESAM 800 RX MC Manager

ANVÄNDAR MANUAL. SESAM 800 RX MC Manager ANVÄNDAR MANUAL SESAM 800 RX MC Manager Åkerströms Björbo AB Box 7, SE-780 45 Gagnef, Sweden street Björbovägen 143 SE-785 45 Björbo, Sweden Phone +46 241 250 00 Fax +46 241 232 99 E-mail sales@akerstroms.com

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

Bruksanvisning. Swema AB Tel: 08-940090 www.swema.se. För support och nedladdning av aktuell programvara kontakta: 2006-05 - 01

Bruksanvisning. Swema AB Tel: 08-940090 www.swema.se. För support och nedladdning av aktuell programvara kontakta: 2006-05 - 01 Bruksanvisning För support och nedladdning av aktuell programvara kontakta: Swema AB Tel: 08-940090 www.swema.se 2006-05 - 01 Beskrivning R1 gör exakt vad som krävs av en radonmätare. Vid en radonhalt

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

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Styrteknik 7.5 hp distans: E-1000 och E-Designer PLC8A:1 E1000 operatörsterminaler En operatörsterminal ger ett gränssnitt mellan männinska-maskin, (MMI människa-maskininteraktion, HMI Human Machine Interface) Alla terminalerna i E1000-serien är utvecklade

Läs mer

www.radonelektronik.se Bruksanvisning www.radonelektronik.se 2006-03 - 01

www.radonelektronik.se Bruksanvisning www.radonelektronik.se 2006-03 - 01 www.radonelektronik.se Bruksanvisning www.radonelektronik.se 2006-03 - 01 Beskrivning R1 gör exakt vad som krävs av en radonmätare. Vid en radonhalt på 200 Bq/m 3 tar det endast 4 timmar att uppnå en statistisk

Läs mer

PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation

PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt 14 mars 2012 OMRON Corporation 2/24 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna

Läs mer

Pulsmätare med varningsindikatorer

Pulsmätare med varningsindikatorer Pulsmätare med varningsindikatorer Elektro- och informationsteknik Projektrapport, EITF11 Digitala Projekt Charlie Hedhav Sofia Johansson Louise Olsson 2016-05-17 Abstract During the course Digitala Projekt

Läs mer

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning Den digitala automaten Vägen från digitaltekniken till det kompletta styrsystemet Lund University, Sweden Insignaler Sekvensnät Utsignaler Kan vi betrakta insignalmönstret som en instruktion och det som

Läs mer

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Operativsystem - input/output, skydd, virtualisering

Operativsystem - input/output, skydd, virtualisering Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,

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

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är

Läs mer

Rubriker: Product & Services Technology Solutions Market Solutions Silicon Devices Design Tools Intellectual Property Boards & Kits

Rubriker: Product & Services Technology Solutions Market Solutions Silicon Devices Design Tools Intellectual Property Boards & Kits 2010-11-03/pls Rubriker: Product & Services Technology Solutions Market Solutions Silicon Devices Design Tools Intellectual Property Boards & Kits Programmable Logic DSP Embedded processing. Aerospace/Defence

Läs mer

Bussar och I/O. samt. vad kan man göra med NEXYS3

Bussar och I/O. samt. vad kan man göra med NEXYS3 Bussar och I/O samt vad kan man göra med NEXYS3 Den närmaste framtiden Grupp bildad Klar fredag 1600 Kravspec klar Vad ska ni bygga? Designskiss börjar Hur ska ni bygga den?... 5 6 7 8 9 PIPE-LAB UART-LAB

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

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog

Läs mer

WAGO IO System Service Seminar. Diagnostik

WAGO IO System Service Seminar. Diagnostik WAGO IO System Service Seminar Diagnostik 1 Dioder på Controller Link 1/2 Ethernet Länk status Av - ingen ethernet anslutning grön - Ethernet anslutning blinkande grön - Ethernet anslutning skickar / tar

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Programmering av. PADDY mini

Programmering av. PADDY mini multimedia Programmering av PADDY mini art. nr: CCS037 PRODUKTER SOM ANVÄNDS I DETTA EXEMPEL: PADDY mini CCS037 PADDY mini CCS012 PADDY mini CCS500 VSCOM USB TILL SERIELL DB9 LAPTOP MED WINDOWS 7 QUICKPAD

Läs mer

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Digitala kursmoment D1 Binära tal, talsystem och koder D2 Boolesk Algebra D3 Grundläggande logiska grindar D4 Minneselement, register,

Läs mer

Diskprestanda Tester

Diskprestanda Tester Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Diskprestanda Tester Matteus Gilis, Linus Fogelström 9 januari 2014 Sammanfattning Vi ville utföra läs och skrivhastighets tester mellan

Läs mer

Adressrum, programmerarens bild

Adressrum, programmerarens bild EDA 480 2009/2010 MC68HC12, Uppbyggnad.pdf Ur innehållet: Datorns byggblock Busskommunikation Synkron buss Asynkron buss Multiplex-buss avkodning för minne och I/O Minnesavbildad I/O Direktadresserad I/O

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

Tags för 433 MHz är aktiva d.v.s. har ett inbyggt batteri, med 6-8 års livslängd vid normal aktivitet.

Tags för 433 MHz är aktiva d.v.s. har ett inbyggt batteri, med 6-8 års livslängd vid normal aktivitet. RFID 433 MHz 433 MHz är en bra frekvens för RFID. Bra penetration genom många material och god räckvidd. Tekniken i taggarna är något mer avancerad än för övriga frekvenser vilket medför en högre kostnad

Läs mer

Effektpedal för elgitarr

Effektpedal för elgitarr EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...

Läs mer

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktionen beskriver grunderna för att använda programvaran Xilinx ISE WebPack 6.2.03 tillsammans med en CPLD (Complex Programmable Logic

Läs mer

Forma komprimerat trä

Forma komprimerat trä Forma komprimerat trä - maskinell bearbetning av fria former Peter Conradsson MÖBELSNICKERI Carl Malmsten Centrum för Träteknik & Design REG NR: LiU-IEI-TEK-G 07/0025 SE Oktober 2007 Omslagsbild: Stol

Läs mer

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. ville.jalkanen@tfe.umu.se 1

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. ville.jalkanen@tfe.umu.se 1 AD-DA-omvandlare Mätteknik Ville Jalkanen ville.jalkanen@tfe.umu.se Inledning Analog-digital (AD)-omvandling Digital-analog (DA)-omvandling Varför AD-omvandling? analog, tidskontinuerlig signal Givare/

Läs mer

Mätningar med avancerade metoder

Mätningar med avancerade metoder Svante Granqvist 2008-11-12 13:41 Laboration i DT2420/DT242V Högtalarkonstruktion Mätningar på högtalare med avancerade metoder Med datorerna och signalprocessningens intåg har det utvecklats nya effektivare

Läs mer

Så sparas ström i dagens åttabitare

Så sparas ström i dagens åttabitare ELEKTRONIK TIDNINGEN Arne Martin Holberg projektchef Atmel Andreas Eieland produktmarknadschef Atmel Så sparas ström i dagens åttabitare Hur dagens styrkretsar är konstruerade för låg strömförbrukning,

Läs mer

Datainsamling över Internet

Datainsamling över Internet Datainsamling över Internet I den här uppgiften skall du styra ett mätförlopp och hämta mätdata via internet. Från en dator skall du styra en annan dator och beordra den att utföra en mätning och skicka

Läs mer

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden.

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden. 1 F9: Minne Minneskonfiguration Sammansättning av minnesgrupper Ansluta minne till 68000 Interface till olika typer av minnen Användningsområden 1 Minnen Minneskapslar kommer i olika storlekar, antal adresspinnar

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Lösningar med kommentarer Program: Di2 Datum: 05-01-10 Tid: 13:30-18:30 Lokal He303 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Bilaga: Ingen Examinator:

Läs mer

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki Minneshierarki, minnestyper och teknologier Minneshierarki Ideally one would desire an indefinitely large memory capacity such that any particular word would be immediately available. We are forced to

Läs mer

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs

Läs mer

Datorsystemteknik DAV A14 Föreläsning 1

Datorsystemteknik DAV A14 Föreläsning 1 Innehåll Datorsystemteknik DAV A14 Föreläsning 1 Kursinformation Introduktion till datorsystem Programmeringsmodellen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång

Läs mer

F Secure Booster är ett verktyg för att snabba upp och städa upp i din pc eller

F Secure Booster är ett verktyg för att snabba upp och städa upp i din pc eller F Secure Booster är ett verktyg för att snabba upp och städa upp i din pc eller Android enhet. För Android användaren finns möjligheten att öka batteritiden genom att stänga ner resurser som inte används.

Läs mer

Datorsystemteknik DAV A14 Föreläsning 1

Datorsystemteknik DAV A14 Föreläsning 1 Innehåll Datorsystemteknik DAV A14 Föreläsning 1 Kursinformation Introduktion till datorsystem Programmeringsmodellen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec

Läs mer

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning

Läs mer

Digitala Projekt(EITF40) - Larm

Digitala Projekt(EITF40) - Larm Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Erik Oredsson, I-09 Sara Sellin, I-09 2012-05-08 1. SAMMANFATTNING I denna rapport presenteras vårt projekt att bygga ett huslarm från grunden

Läs mer

Swema 05. Bruksanvisning vers 1.01 MB20130530

Swema 05. Bruksanvisning vers 1.01 MB20130530 Swema 05 Bruksanvisning vers 1.01 MB20130530 SWEMA AB Pepparv. 27 SE-123 56 FARSTA Tel: +46 8 94 00 90 Fax: +46 8 93 44 93 E-mail: swema@swema.se Hemsida: www.swema.se Innehållsförteckning: 1. Introduktion...

Läs mer

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p Lösningar och kommentarer Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific

Läs mer

IT för personligt arbete F6

IT för personligt arbete F6 IT för personligt arbete F6 Datalogi del 2 DSV Peter Mozelius Datarepresentation Det som lagras i en dator representeras i grunden som 1:or och 0:or Dessa binära värden kan sedan tolkas på olika sätt i

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

Produktinformation för Sun Enterprise 420R

Produktinformation för Sun Enterprise 420R Produktinformation för Sun Enterprise 420R Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 USA 650 960-1300 Fax 650 969-9131 Artikelnummer: 806-1706-10 Januari 2000, utgåva A Skicka

Läs mer

Beskrivning av hur du ansluter en E-terminal från Beijer Electronics till HC900 via Ethernet så att denna kan visa och manipulera data i HC900.

Beskrivning av hur du ansluter en E-terminal från Beijer Electronics till HC900 via Ethernet så att denna kan visa och manipulera data i HC900. Noterat i labbet om: Anslut en Beijer Electronics E-terminal till HC900 via Ethernet NIL00019 2002/09/03 Vad är Noterat i labbet om? Noterat i labbet om är en samling dokument som skall ses som hjälpmedel

Läs mer

Andromeda. Användning och Installation

Andromeda. Användning och Installation Andromeda Användning och Installation Innehåll 1. Introduktion... 2. Andromeda programvara installation... 3. Andromeda programvara uppdatering... 4. Data Linker anslutning... 5. Bruksanvisning 5.1. Firmware

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

Gateway Modbus-Profibus

Gateway Modbus-Profibus Gateway Modbus-Profibus Premium/Micro PLC Komigång med kommunikation från PLC till Profibus slav. 2004-04-20 1 (10) INNEHÅLLSFÖRTECKNING 1 INLEDNING...3 2 ANVÄNDA PRODUKTER...3 3 ELEKTRISK ANSLUTNING...3

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

Styrteknik : Programmering med IEC 61131-3. Styrteknik

Styrteknik : Programmering med IEC 61131-3. Styrteknik PLC1B:1 Styrteknik Allmänt om styrsystem (PLC) Grundinstruktioner Introduktion av GX IEC Developer Benämningar Minne SET- och RST-instruktioner PLC1B:2 PLC står för Programmable Logical Controller Kom

Läs mer

Flexiservice PS/2. Bruksanvisning

Flexiservice PS/2. Bruksanvisning Bruksanvisning Flexiservice PS/2 Handitek BRUX\...\809087 FLEXISERVICE PS/2 Gewa AB BOX 92, MALMVÄGEN 55, 191 22 SOLLENTUNA TEL: 08-594 694 00 TEXTTEL: 08-594 694 18 FAX: 08-594 694 19 E-MAIL: info@gewa.se

Läs mer

Förslag på examensarbete

Förslag på examensarbete Förslag på examensarbete 2011 Allmän information - exjobb på Aros utvecklar och producerar kundanpassad industriell elektronik. Motorstyrningar, sensorer och fältbussteknologi är våra specialområden. Inom

Läs mer

4 grundregler. Minneshantering. Problemet. Windows minkrav

4 grundregler. Minneshantering. Problemet. Windows minkrav 4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns

Läs mer

Låskretsar och Vippor

Låskretsar och Vippor Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen och i processorns register. SR-låskretsen är i princip datorns minnescell Q=1 Q=0

Läs mer

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

Läs mer

PU001 Sweex 1 Port Parallel PCI Card

PU001 Sweex 1 Port Parallel PCI Card PU001 Sweex 1 Port Parallel PCI Card Inledning Först och främst tackar vi till ditt köp av detta Sweex 1 Port Parallel 800 PCI Card. Med detta kort kan du enkelt lägga till en parallellport till din dator.

Läs mer

Dataöverföring på Parallell- och serieform MOP 11/12 1

Dataöverföring på Parallell- och serieform MOP 11/12 1 Dataöverföring på Parallell- och serieform MOP 11/12 1 Parallell dataöverföring I digitala system finns ofta behovet att flytta ett eller flera dataord från ett ställe (sändare) till ett annat ställe (mottagare).

Läs mer

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem Laboration 2: Minnesmappade bussar Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................

Läs mer

Antares Användning och installation

Antares Användning och installation Antares Användning och installation Sidan 1 av 13 Innehåll 1. Introduktion...... 2. Antares programvara installation...... 3. Antares programvara uppdatering...... 4. Data Linker anslutning... 5. Funktioner...

Läs mer

Denna genomgång behandlar följande:

Denna genomgång behandlar följande: itlararen.se Denna genomgång behandlar följande: Olika typer av nätverk Översikt av nätverkskomponenter Många viktiga begrepp gällande nätverk och datorkommunikation Ett nätverk består av enheter som kan

Läs mer

Laborationsrapport av robotprogrammering

Laborationsrapport av robotprogrammering KUNGLIGA TEKNISKA HÖGSKOLAN Laborationsrapport av robotprogrammering Programmering av LEGO MINDSTORMS robot Rikard Bjärlind 2012-09-07 E-post: bjarlind@kth.se Introduktionskurs i datateknik (H12) II1310

Läs mer

Installationsanvisning av proximityläsare 1103/2. Mod. 1103/2

Installationsanvisning av proximityläsare 1103/2. Mod. 1103/2 Installationsanvisning av proximityläsare 1103/2 Mod. 1103/2 EGENSKAPER: Proxiläsaren tillåter tidsreglerad öppning från 0 99 sekunder när: En användare placerar sin proxinyckel framför frontpanelen. En

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

Ultraljudprovning. Inspecta Academy 2014-02-26

Ultraljudprovning. Inspecta Academy 2014-02-26 Ultraljudprovning Inspecta Academy 1 Ultraljudprovning Inspecta Sweden AB 2 Ultraljudprovning 3 Grundläggande principer Ljud skapas genom vibrationer och rör sig som vågor Ljudvågor fortplantas genom grundmaterialet

Läs mer

Om instruktionen... 3. Varning... 3. 1. Introduktion... 3. 1.1 Standardfunktioner... 3. 1.2 Specifikationer... 4. 1.3 Display... 4

Om instruktionen... 3. Varning... 3. 1. Introduktion... 3. 1.1 Standardfunktioner... 3. 1.2 Specifikationer... 4. 1.3 Display... 4 P1 Manual Innehåll Om instruktionen... 3 Varning... 3 1. Introduktion... 3 1.1 Standardfunktioner... 3 1.2 Specifikationer... 4 1.3 Display... 4 1.4 Tangentbord... 5 1.5 Batteri... 6 1.6 Felmeddelande...

Läs mer

www.telefrang.se Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke 2008-02-18 Sida 1 av 12

www.telefrang.se Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke 2008-02-18 Sida 1 av 12 Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke MaxiSmoke MidiSmoke File: D:\Projekt\SMOKE CONTROL\MIDI SMOKE\Man\Midisystem_inst_man_V01.odt 2008-02-18 Sida 1 av 12 1. Installation

Läs mer

Portabelt Bluetooth Ljudsystem Med PLL FM Radio TRA-800BT. Svensk Instruktions Manual

Portabelt Bluetooth Ljudsystem Med PLL FM Radio TRA-800BT. Svensk Instruktions Manual Portabelt Bluetooth Ljudsystem Med PLL FM Radio TRA-800BT Svensk Instruktions Manual Din enhet har tillverkats och monterats under Roadstars strikta kvalitetskontroll. Innan du använder enheten, läs igenom

Läs mer

4:4 Mätinstrument. Inledning

4:4 Mätinstrument. Inledning 4:4 Mätinstrument. Inledning För att studera elektriska signaler, strömmar och spänningar måste man ha lämpliga instrument. I detta avsnitt kommer vi att gå igenom de viktigaste, och som vi kommer att

Läs mer

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

Läs mer

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen

Läs mer

produktöversikt OptiMaster III

produktöversikt OptiMaster III produktöversikt III Vision-teknologi på en ny nivå III är en vision-mjukvara som är lika avancerad som användarvänlig. Allt för att hjälpa dig att reducera tiden från projektstart till fullskalig produktion.

Läs mer

Dokumentation för funktionsblocksbibliotek MwaCOMLI

Dokumentation för funktionsblocksbibliotek MwaCOMLI Dokumentation för funktionsblocksbibliotek MwaCOMLI 1. Allmänt... 2 1.1. Versionshistoria... 2 1.2. Implementerade Telegram... 3 1.3. Adressering Flaggor... 4 1.4. Registervärden... 5 2. Fboxar... 6 2.1.

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok. Ver Okt 2011/pls Windows7, GX-IEC Developer, USB-adapter I olika kurser i styrteknik på Högskolan Dalarna används ett styrsystem från Mitsubishi och programvaran GX-IEC Developer. Kurserna går på distans

Läs mer

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310 KUNGLIGA TEKNISKA HÖGSKOLAN Linefollower Med LEGO Mindstorms och NXC Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310 Sammanfattning Rapporten är för labbmomentet som utförs i introduktionskursen

Läs mer

DCU605. Tekniska Data. Datablad SDA00178SE Version 1.1 2015/02/18 Passersystem. Dörrcentral med direkt IP-anslutning till ESMIKKO-server

DCU605. Tekniska Data. Datablad SDA00178SE Version 1.1 2015/02/18 Passersystem. Dörrcentral med direkt IP-anslutning till ESMIKKO-server DCU605 Dörrcentral med direkt IP-anslutning till ESMIKKO-server DCU605 är en dörrcentral med en inbyggd IP-modul som kan anslutas direkt till en ESMIKKO-server via företags-lan. Det finns två produktmodeller.

Läs mer

D/A- och A/D-omvandlarmodul MOD687-31

D/A- och A/D-omvandlarmodul MOD687-31 D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill

Läs mer

Kapitel 22: Överföring av variabler och uppgradering 365. I fönstret VAR-LINK visas en lista med definierade variabler, Flashprogram

Kapitel 22: Överföring av variabler och uppgradering 365. I fönstret VAR-LINK visas en lista med definierade variabler, Flashprogram Kapitel 22: Överföring av variabler och uppgradering 22 Länka två enheter... 366 Överföra variabler, Flash-program och mappar... 367 Överföra variabler under från ett program... 371 Uppgradera programkod

Läs mer

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum: 2015-03-09

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum: 2015-03-09 Vätebränsle Namn: Rasmus Rynell Klass: TE14A Datum: 2015-03-09 Abstract This report is about Hydrogen as the future fuel. I chose this topic because I think that it s really interesting to look in to the

Läs mer

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I. Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.. Uttryckt i decimal form: A=28+32+8 + 2 =70 B=59 C=7 A+B+C=246 2. Jag låter A' betyda "icke A" A'B'C'D'+ABC'D'+A'BCD'+AB'CD'=D'(A'(B'C'+BC)+A(BC'+B'C))=

Läs mer