hcs12 – uporaba sci

Download HCS12 – uporaba SCI

Post on 26-Jan-2016

32 views

Category:

Documents

2 download

Embed Size (px)

DESCRIPTION

HCS12 – uporaba SCI. Priprava vmesnika: Določimo oz. izberemo hitrost delovanja, t.j. hitrost pošiljanja/sprejemanja. Določimo obliko podatkov, t.j. število podatkovnih bitov, parnost, ... Določimo način delovanja, t.j. način pošiljanja/sprejemanja, po potrebi omogočimo prekinitve. - PowerPoint PPT Presentation

TRANSCRIPT

  • HCS12 uporaba SCI Priprava vmesnika:Doloimo oz. izberemo hitrost delovanja, t.j. hitrost poiljanja/sprejemanja.Doloimo obliko podatkov, t.j. tevilo podatkovnih bitov,parnost, ...Doloimo nain delovanja, t.j. nain poiljanja/sprejemanja,po potrebi omogoimo prekinitve.Poiljanje/sprejemanjePoiljanje/sprejemanje posameznega podatka.To je osnova poljubne nadgradnje, t.j. sprejem/oddaja niza,formatiranje izpisa,komunikacijski protokoli, ...

  • HCS12 uporaba SCIOddajaPreverimo stanje TDREe je TDRE = 1, oddamo podatek, to jevpiemo v podatkovni register. S tem se TDRE brie.(lahko pa oddajamo s prekinitvami)SprejemPreverimo stanje RDRFe je RDRF = 1, sprejmemo podatek, to je beremopodatkovni register. S tem se RDRF brie.Po potrebi preverimo bite napak.(lahko pa sprejemamo preko prekinitev).

  • HCS12 uporaba SCIPreprost primer priprave vmesnika SCI0; --------------------------------------------------------; Subrutina za zaetno pripravo vmesnika SCI0; Predpostavimo, da je osnovni takt 24 MHz;InitSCI0:LDD#156;24MHz/(16 x 156) 9600STDSCI0BRH;hitrost odd./spr. naj je 9600 bpsCLRASTAASCI0CR1;8 bitov, brez parnosti, obiajen nainLDAA#%00001100;RE=1, TE=1STAASCI0CR2;omogoimo odd. in spr., prekinitev pa neRTS

  • HCS12 uporaba SCIPreprost nain sprejemanja podatkov; --------------------------------------------------------; Subrutina za sprejem enega podatka z vmesnikom SCI0; Klic:JSR RxSCI0;Vrne podatek v akumulatorju A;v primeru napake postavi bit C v CCRRXDRF EQU $20;Maska bita RDRFRxSCI0:BRCLRSCI0SR1,#RXDRF,RxSCI0;akam na podatekLDAASCI0SR1;Preveriti hoemo e bite napakCLC;Briem znak napakeBITA#%00001111;Kakrnakoli napaka?BEQRxSCI01;Ne, brez napakeSEC;Da, javi napakoRxSCI01: LDAASCI0DRH;berem (in zavrem) R8LDAASCI0DRL;Berem podatek, s tem se RXDRF brieRTS

  • HCS12 uporaba SCIPreprost nain oddajanja podatkov; --------------------------------------------------------; Subrutina za oddajo enega podatka z vmesnikom SCI0; Klic:JSR TxSCI0;Polje podatek v akumulatorju A;TXDREEQU$80;Maska zastavice odd. reg. prazenTxSCI0:BRCLRSCI0SR1,#TXDRE,TxSCI0;Oddaja mona?STAASCI0DRL;Da, oddam podatekRTS

  • HCS12 izpis prevajanja;****************************************************************;* GSPV 2004/05;* Preprost primer uporabe asinhronega serijskega komunikacijskega;* vmesnika SCI;* ;* Program pripravi vmesnik (9600 b/s, 8 bitni podatek, brez parnosti);* in nato v zanki sprejema in posilja podatke s preverjanjem ;* zastavic v registru SCISR1.;* V primeru napake ali sprejemu znaka ESC = $1B, konca s SWI.;*; --- vstopna tocka XDEFStart ABSENTRY Start

    ; --- nekaj splosnih definicij, kje je ram, rom, sklad,..

    0000 1000 ProgramEQU $1000 ;tu naj bo program0000 2000 RamEQU $2000;tu naj bo pomnilnik RAM0000 0400 RamSizeEQU $400;naj bo 1K RAM-a0000 2400 RamEndEQU Ram+RamSize0000 0100 SkladSize EQU $100

  • HCS12 izpis prevajanja; --- definicije naslovov registrov vmesnika SCI1

    0000 00D0 SciBaseEQU$00d0;zacetni naslov SCI10000 00D0 SCIBRHEQUSciBase0000 00D1 SCIBRLEQUSCIBRH+10000 00D2 SCICR1EQUSCIBRH+20000 00D3 SCICR2EQUSCIBRH+30000 00D4 SCISR1EQUSCIBRH+40000 00D5 SCISR2EQUSCIBRH+50000 00D6 SCIDRHEQUSCIBRH+60000 00D7 SCIDRLEQUSCIBRH+7

    ; --- definicije nekaterih ASCII znakov

    0000 001B ESCEQU$1B;koda ASCII znaka ESC0000 000A LFEQU$0A;nova vrstica0000 000D CREQU$0D;zacetek vrstice;

  • HCS12 izpis prevajanja; --- podatkovni del pomnilnika, skladorgRamEnd-SkladSizea002300 rmbSkladSize0000 2400Sklad:equ*; --- vstopna tocka, priprava vmesnika, sprejem in oddajaorgPrograma001000 CF24 00 Start:lds #Sklada001003 1610 1F jsr InitSCI ;priprava vmesnika;a001006 1610 2C Zanka:jsrRxSCI;sprejmi podateka001009 2509 bcsKonec;napaka, koncaja00100B 811B cmpa #ESC;je escape?a00100D 2705 beqKonec;da, koncaja00100F 1610 3F jsrTxSCI ;ne, oddaj podatek in pojdi po naslednjegaa001012 20F2 bra Zanka;a001014 860A Konec: ldaa #LF;poslji LF - pomik v novo vrsticoa001016 1610 3F jsr TxSCIa001019 860D ldaa #CR;poslji CR - pomik na zacetek vrsticea00101B 1610 3F jsr TxSCIa00101E 3F SWI;povratek k DBUG12

  • HCS12 izpis prevajanja;----------------------------------------------------; ; Subrutina za zacetno pripravo vmesnika SCI; Osnovna frekvenca 24 MHz;a00101F CC00 9C InitSCI:ldd#156;9600 bpsa001022 5CD0 stdSCIBRHa001024 87 clraa001025 5AD2 staaSCICR1a001027 860C ldaa#%00001100a001029 5AD3 staaSCICR2a00102B 3D rts

  • HCS12 izpis prevajanja;----------------------------------------------------;; Subrutina za sprejem podatka; Podatek bo v akumulatorju A, ; v primeru napake bo postavljen C v CCR;0000 0020 RXDRFequ%001000000000 000F RXERRequ%00001111

    a00102C 4FD4 20FC RxSCI:brclrSCISR1,#RXDRF,RxSCI;cakam podateka001030 96D4 ldaaSCISR1;zanima me pravilnost sprejemaa001032 10FE clc;ce ni napake, naj bo C=0a001034 850F bita#RXERR;kakrsnakoli napaka?a001036 2702 beqRxSCI01;ne, vejitev - ni napakea001038 1401 sec;da, postavi Ca00103A 96D6 RxSCI01:ldaaSCIDRH;nini ni potrebnoa00103C 96D7 ldaaSCIDRL;sprejmi podateka00103E 3D rts

  • HCS12 izpis prevajanja;----------------------------------------------------;; Subrutina za oddajo podatka; Odda podatek v akumulatorju A;0000 0080 TXDREEQU%10000000a00103F 4FD4 80FC TxSCI:brclrSCISR1,#TXDRE,TxSCIa001043 5AD7 staaSCIDRLa001045 3D rts

  • RS232Standard EIA RS232C/D (zadnji popravek 1986)povezava DCE < --> DTE DCE - (Data Communication Equipment)DTE - (Data Terminal Equipment)

  • RS232RS232 doloa mehanske, elektrine in funkcionalne lastnosti povezav in tokokrogov.Nosilec informacije je napetostni nivo, +- 12 V tipinoHitrosti (b/s): 50, 75, 110, 150, 300, 600, 1200, 2400, 4800,9600, 19200, 38400, ..., 115200Razdalje: do cca 15 m (in ve).

  • RS23225 polni (DB25) konektor in (vaneji) signalipreslikava signalov na 9 polni (DB9) konektor

  • RS232Tipini naini povezovanja DTE DCEstran raunalnika

  • RS232Tipini naini povezovanja DTE DTE (nielni modem)kriankabel

  • RS485Vetokovno povezovanje na podlagi parice (sukanega voda) (angl. Twisted Pair, UTP, STP)Hitrosti: do 10Mb/sRazdalje: do 1200 m.

  • RS232, ..., RS485