Računalniki Windows Internet

Kaj je register? Prenos izdelkov v drugi register Ne prenese v celoti v register 2 1s

2.3.3. Registri

Mikrovezji 564IR1 in K176IR10 sta osemnajstbitni premični registri (slika 228), razdeljeni na štiri odseke s skupnim vhodom C za dovajanje taktnih impulzov.

Odsek z vhodom D1 je štirimesten, ima izhod le v zadnji, četrti števki. Oddelek z vhodom D5 je petmesten, ima izhode v četrtem (8) in petem (9) bitu. Odseki z vhodoma D10 in D14 so podobni tistim, ki so obravnavani zgoraj. Informacije se zabeležijo iz vhodov D1, D5, D10, D14 in njihov premik se pojavi glede na razpade impulzov pozitivne polarnosti, ki se uporabljajo za vhod C. Značilnosti konstrukcije sprožilcev mikrovezja K176IR10 zahtevajo, da trajanje taktnega impulza ne presega 30 μs

Čip K176IR2 (slika 228) - premični register. Ima dva enaka neodvisna dela s štirimi števkami. Vsaka sekcija ima tri vhode - vhod R za nastavitev sprožilcev na nič


stanje se namestitev izvede, ko je predložen dnevnik. 1 na ta vhod, vhod C, se glede na razpade impulzov negativne polarnosti na tem vhodu zapiše informacija iz vhoda D v prvi bit registra in se informacija premakne v smeri naraščajočih števil. Če želite dobiti premični register z velikim številom števk, lahko povežete vhode D odsekov registrov z izhodi 4 prejšnjih števk in združite istoimenske vhode C in R med seboj.

Čip K176IRZ (slika 228) - štiribitni premični register. Snemanje informacij z vhoda D0 in njegov premik potekata glede na razpadanje impulzov negativne polarnosti, ki se nanašajo na vhod C1 pri log. 0 na vhodu S. Vzporedno snemanje informacij iz vhodov D1 - D4 se pojavi pri razpadu impulzov negativne polarnosti na vhodu C2 pri log. 1 na vhodu S. Pri kombinaciji vhodov C1 in C2 se na vhodu S izbere način premika ali snemanja. Če sta vhoda C1 in S združena, poseben krmilni signal ni potreben.

Povezovanje vhodov D1 - D3 z izhodi 2-4 spremeni čip v obratni premični register.

Čip K561IR6 - večfunkcijski osembitni premični register (slika 228). Mikrovezje ima dve skupini informacijskih izhodov - A1 - A8 in B1 - B8, od katerih je vsak lahko vhod ali izhod za vzporedno pisanje in branje, vhod za zaporedno pisanje informacij D, krmilni vhodi P / S, A / S, A / B, EA, vhod za dovajanje taktnih impulzov C. Signali na vhodih P / S, A / S, A / B, EA izberejo način delovanja mikrovezja. Prevladuje P/S (vzporedni/zaporedni) vhod. Pri dnevniku. 0 na tem vhodu, ne glede na stanje drugih vhodov, register preklopi v način zaporednega snemanja informacij iz vhoda D o razpadu impulzov negativne polarnosti na vhodu C in ga premakne v desno (navzdol na sliki 228 ). Pri dnevniku. 1 na vhodu P/S preide register v način vzporednega pisanja. Snemanje poteka bodisi z razpadanjem impulzov negativne polarnosti na vhodu C (sinhrono snemanje), medtem ko mora biti na vhodu A/S (asinhrono/sinhrono) log. 0 ali z impulzi pozitivne polarnosti na vhodu A / S (asinhrono snemanje), na vhodu C pa mora biti log. 0 ali log. 1, vendar mora biti signal fiksen. Katera od skupin vhodov A ali B je vhod in katera izhod, določa signal na vhodu A / B -

če ima ta vnos dnevnik. 1, vhodi so zaključki A1 - A8, izhodi B1 - B8, z dnevnikom. 0 na vhodu A / B vhodi - B1 - B8, izhodi A1 -A8. Ne glede na signal na vhodu A/B log. 0 na vhodu EA onemogoči skupino nožic A iz sprožilcev registra. Če hkrati na vhodu A / B log. 0, vzporedno pisanje na skupino B je možno, vendar je branje na skupini A nemogoče, če je vhod A / B dnevnik. 1 - branje z B se izvede, vendar pisanje s skupino A ni mogoče, in ko se signali na vhodih A / S in C spremenijo, se stanje sprožilcev registra ne spremeni.

Izbira izhodov za zaporedno snemanje informacij iz vhoda D poteka tudi s signali na vhodih A / B in EA - z dnevnikom. 1 na vhodu A / B in poljuben signal na vhodu EA, izhodi so skupina B, z dnevnikom. 0 na vhodu A / B in log. 1 na vhodnih EA izhodih - skupina A, z dnevnikom. 0 na vhodih A/B in EA sta obe skupini A in B v visokoimpedančnem stanju, branje iz registra je nemogoče.

Ko vklopite več mikrovezij K561IR6, je treba za povečanje števila bitov združiti krmilne vhode z istim imenom in vhode C mikrovezij. Če je potrebno v preklopnem načinu upravljati več mikrovezij, je treba vhode D naslednjih mikrovezij povezati z izhodi A8 ali B8 prejšnjih, medtem ko je med premikom potrebno prenesti ustrezne skupine zatičev na izhod načinu, pri uporabi enega samega mikrovezja to ni potrebno.

Mikrovezje K561IR6 se lahko široko uporablja v opremi na različne načine - od najpreprostejšega enosmernega medpomnilnika do vozlišča za shranjevanje in preklapljanje podatkov, ki prihajajo v serijski ali vzporedni kodi iz dveh smeri. Nekateri primeri uporabe tega mikrovezja so podani v tabeli. 8, označuje način uporabe, vhode in signale, ki jih je treba pritrditi, da se zagotovi ta način, smer prenosa signala in signale, ki se uporabljajo za uporabljene krmilne vhode mikrovezja. Podpis<<Х>> označuje, da je na ta vhod mogoče uporabiti poljuben signal, znak "P" - za dovajanje impulza pozitivne polarnosti, znak "1" - sprožitev ob upadu impulza negativne polarnosti. Podpis pomeni visokoimpedančno izhodno stanje.

Čip K561IR9 je štiribitni premični register (slika 228). Ima štiri izhode in naslednje vhode: vhod za ponastavitev R,

urni impulzni vhod C, vhod za izbiro načina S, vhod za izbiro polarnosti signala P, serijska snemalna vhoda J in K ter vzporedni snemalni vhodi Dl, D2, D3, D4.

Vnos R je prevladujoč - ko se nanj nanaša dnevnik. 1, ne glede na status drugih vhodov, so vsi sprožilci mikrovezja nastavljeni na 0. Če je vhod R dnevnik. Oh, mogoče je zapisati informacije na sprožilce mikrovezja. Pri dnevniku. 1 na vhodu izbire načina S na upadu impulza negativne polarnosti na vhodu C se bodo informacije zapisale vzporedno s sprožilci registra iz vhodov Dl - D4. Če na vhodu S log. Oh, ob upadu impulza negativne polarnosti na vhodu C se bodo informacije iz vhodov J in K zapisale na prožilec z izhodom 1, informacije v preostalih prožilcih pa se bodo premikale v smeri naraščajočega števila izhodov. Informacije, ki bodo zapisane v prvi sprožilec, so določene s stanjem vhodov J in K, preden se na vhod C uporabi upad impulza negativne polarnosti. Če vhoda J in K združita, so informacije, ki so na voljo na teh kombinirani vnosi bodo posneti. Če je dnevnik uporabljen za vhod J. 0, na vhod K - log. 1, ne bo nobene spremembe v informacijah v prvem sprožilcu o upadu impulza negativne polarnosti na vhodu C. Pri dnevniku. 1 na vhodu J in log. 0 na vhodu K, prvi sprožilec mikrovezja preide v način štetja in spremeni svoje stanje v nasprotno za vsako znižanje impulza negativne polarnosti na vhodu C.

Polarnost signalov na izhodih 1-4 registra je mogoče nadzorovati z uporabo krmilnega signala na vhodu P - z dnevnikom. 1 na tem vhodu se izhodni signali izdajo v neposredni kodi, z dnevnikom. 0 - obrnjeno.

Za izgradnjo premikalnega registra z več kot štirimi biti je dovolj, da povežemo izhode 4 mikrovezij nižjih bitov s kombiniranimi vhodi J in K mikrovezij naslednjih bitov (slika 229). Vhode C, R, S različnih mikrovezij je treba povezati med seboj, na vhode P pa je treba uporabiti dnevnik. 1.

Za izgradnjo registra povratnega premika je treba informacijske vhode mikrovezij J, K, Dl - D4 povezati z izhodi v skladu s sl. 230, vhodi C, R, S, P - v skladu s sl. 229. Pri log. 0 na kombiniranih vhodih S bo prišlo do premika informacij v smeri naraščajočega števila izhodov (od zgoraj navzdol po shemi na sliki 230), z log. 1 - navzdol (od spodaj navzgor). Vzporedno evidentiranje podatkov v takem registru ni možno.

Način delovanja čipa

Fiksni signali

Kontrolni signali

Smer prenosa signala, stanje izhodov

Enosmerni medpomnilnik

EA=1, A/B=1. A/S=1, P/S=1, C=X

EA=1, A/B=0, A/S=1, P/S=1, C=X

Enosmerni medpomnilnik z izhodi visoke impedance

A/B=0, A/S=1, P/S=1, C=X

Dvosmerni medpomnilnik

Asinhroni zapisovalni zadrževalni register z visokoimpedančnimi izhodi

EA=A/B=1.A/S=P

Shranjevalni register s sinhronim pisanjem in visokoimpedančnimi izhodi

EA=A/B=1.C=I

EA=A/B=0. C=jaz

A/B=0, A/S=0,P/S=1

Shift register s serijskim pisanjem, vzporednim branjem

EA=1, A/B=0, A/S=X, P/S=0

EA=X, A/B=1, A/S=X, P/S=0

Registrirajte se z asinhronim vzporednim pisanjem in serijskim branjem

A/S=P/S= P, S=X

Registracija s sinhronim vzporednim pisanjem in serijskim branjem

EA=1,A/B=1,A/S=0

P/S=1¦ P/S=0¦ C=I P/S=1¦ P/S=0¦

EA=1,A/B=0,A/S=0





Čip 564IR13 (slika 231) je poseben register, zasnovan za izdelavo analogno-digitalnih pretvornikov, ki delujejo na principu zaporednega približevanja, s številom bitov do 12. Logika mikrovezja je popolnoma skladna z delovanjem Mikrovezje K155IR17 (glej sliko 60-63).

Mikrovezje KR1561IR14 (slika 228) je štiribitni register za shranjevanje informacij z možnostjo prenosa izhodov v stanje visoke impedance. Logika njegovega delovanja sovpada z delovanjem mikrovezja K155IR15 (glej sliko 57.58).

Mikrovezje KR1561IR15 (slika 228) - univerzalni štiribitni preklopni rele

hyster, ki omogoča vzporedno snemanje informacij in njihov premik v desno in levo, deluje na enak način kot K555IR11 (glej sliko 50, 51).

Področje registrov posebnih funkcij SFR (Special Function Register) baze MK 8051 je obsežno in vsebuje 21 registrov, katerih namen je podan v tabeli. 2.3. Tu so navedena tudi njihova izvirna angleška imena, na podlagi katerih so bila podana njihova mnemotehnična imena.

Registri posebnih funkcij z naslovi in ​​začetnimi vrednostmi registrov so predstavljeni v tabeli. 2.4. Vsi registri imajo bajtne naslove, 16 pa jih poleg bajtnega naslavljanja omogoča tudi naslavljanje posameznih bitov. Ti registri so v tabeli označeni s krepkim tiskom, zanje pa so navedeni absolutni naslovi posameznih bitov in njihove mnemonične oznake. Upoštevajte tudi, da imajo ti registri naslove, ki se končajo z 0 in 8.

Tabela 2.3

Registrirajte se

Ime

Akumulator

Registrirajte baterijski ekspander

16-bitni podatkovni kazalec DPTR (Data Pointer).

Podatkovni kazalec nizek DPTR (podatkovni kazalec nizek)

High Byte Data Pointer DPTR (Data Pointer High)

Beseda stanja programa

Register kazalca sklada

Zapah vrat P0

Zapah vrat P1

Zapah vrat P2

Zapah vrat P3

Nizki bajt registra števca časovnika/števca 0

Visoki bajt registra števca časovnika/števca 0

Nizki bajt števca časovnika/števca 1

Visoki bajt registra števca časovnika/števca 1

Registrirajte se za nastavitev načinov časovnih števcev (Timer / counter Mode)

Nadzorni register časovnika (nadzor časovnika/števca)

Podatkovni medpomnilnik UART (serijski medpomnilnik)

Nadzorni register UART (serijski nadzor).

Register prioritete prekinitev

Interrupt Enable Register

Register za nadzor moči

Naslov neposredno naslovljivih bitov je mogoče zapisati bodisi kot izraz<Регистр>.<Разряд>, ali kot absolutni bitni naslov. Vnos TCON.2 na primer pomeni naslov drugega bita registra TCON. Poleg tega ima veliko bitov krmilnega registra svoja imena - ta bit se na primer imenuje IT1.

Tabela 2.4

Registrirajte se

Naslov

Naslovi in ​​bitna mnemotehnika

Pomen

priponastaviti

Konec tabela. 2.4

Registrirajte se

Naslov

Nasloviinmnemotehnikabitov

Pomen

priponastaviti

Na sl. 2.13 je predstavljen celoten prostor registrov posebnih funkcij s prikazom njihove lokacije. Kot je razvidno iz slike, so razvijalci v arhitekturo mikrokontrolerjev vložili zelo veliko rezervo za ustvarjanje novih modelov z razširjeno periferijo in funkcionalnostjo.

Podrobneje razmislite o namenu posebnih funkcijskih registrov.

riž. 2.13. Prostor registra posebnih funkcij

Baterija A in razširjevalnik baterije B . Mikrokrmilniki družine 8051 imajo baterijsko naravnano arhitekturo. Akumulator A je 8-bitni register, ki je izvor operanda in mesto, kjer se hrani rezultat pri izvajanju aritmetičnih, logičnih operacij in številnih operacij prenosa podatkov. Akumulator lahko izvaja logične operacije; prejme tudi rezultate številnih logičnih operacij in posebnih gibalnih ukazov. Nekatere funkcije se izvajajo samo z akumulatorjem: premik, preverjanje vsebine za nič itd. Poseben 8-bitni razširjevalni register akumulatorja B se uporablja v povezavi z akumulatorjem pri izvajanju operacij množenja in deljenja za shranjevanje drugega vhodnega operanda in postavitev vrnil osem bitov rezultata. V vseh drugih operacijah se lahko register B uporablja kot običajen delovni register.

Kljub dejstvu, da je arhitektura družine MK 8051 baterijsko usmerjena, je mogoče izvesti številne operacije mimo baterije. Podatke je mogoče premakniti s katere koli lokacije na čipu v kateri koli register na naslovu ali posrednem naslovu; vsak register je mogoče naložiti s konstanto, mimo akumulatorja.

Register podatkovnega kazalca DPTR . Ta register je zasnovan za shranjevanje 16-bitnega naslova pri izvajanju spremenljivih navodil za premikanje v celotnem naslovnem prostoru VPD do 64 KB. Sestavljen je iz dveh programsko dostopnih 8-bitnih registrov DPH (visoki bajt) in DPL (nizki bajt), ki se po potrebi lahko uporabljata kot neodvisna registra splošnega namena. Poleg tega DPTR služi kot osnovni register za posredno naslavljanje v navodilih za prenos.

Register besed statusa programa PSW . Ko se v ALU izvede veliko ukazov, se oblikujejo številni znaki, ki so določeni v registru PSW. Ločeni biti tega registra, imenovani zastavice, po izvedbi naslednjega ukaza lahko vnesejo nekaj informacij o rezultatu njegove izvedbe. Poleg tega PSW vsebuje zastavice za izbiro trenutne banke splošnega registra in zastavico, ki jo lahko programira uporabnik.

Register kazalca sklada SP . Sklad je uporabniško določeno območje podatkovnega pomnilnika, v katerega se piše in iz katerega se bere po principu zadnji prišel, prvi ven. 8-bitni register kazalca sklada SP vsebuje naslov zadnjega bajta, zapisanega v sklad. Sklad se uporablja za posredovanje parametrov med podprogrami, za začasno shranjevanje spremenljivk, za shranjevanje statusne besede med izvajanjem prekinitvenih servisnih rutin.

Kazalec sklada se samodejno zmanjša ali poveča vsakič, ko se podatki potisnejo v sklad ali izstopijo iz njega ter pri klicih in vrnitvah iz podprogramov. Teoretično je lahko sklad globok 128 bajtov. Kazalec sklada je ponastavljen na 07H, zato je začetni naslov vsebine sklada lokacija 08H. S programskim spreminjanjem vsebine kazalca sklada lahko sklad premaknete na katero koli območje rezidenčnega RAM-a.

Pri uporabi sklada je treba upoštevati, da globina sklada ni nadzorovana s strojno opremo, in če jo čezmerno povečamo, se lahko zasedejo pomnilniške celice, ki niso namenjene skladu, z izgubo informacij v njih. Sklad strojne opreme se uporablja za shranjevanje povratnega naslova pri servisiranju prekinitve.

Registri zapaha vzporednih V/I vrat . Vrata P0…P3 so dvosmerna V/I vrata in so namenjena zagotavljanju izmenjave informacij med MK in zunanjimi napravami, ki tvorijo 32 V/I linij. Zapahi na teh vratih so vmesni registri, ki so napolnjeni z vhodnimi in izhodnimi informacijami. Namen in značilnosti dela s pristanišči so obravnavani v ločenem razdelku.

Registri časovnika/števca . Registri TMOD, TCON in pari registrov s simbolnimi imeni TH0, TL0 in TH1, TL1 se uporabljajo za zagotavljanje delovanja dveh 16-bitnih programsko vodenih časovnikov/števcev. Podroben namen teh registrov bo obravnavan v opisu časovnikov/števcev.

Registri serijskih vrat . Registri s simboličnimi imeni SBUF in SCON so namenjeni nastavitvi načinov in krmiljenju delovanja univerzalnega asinhronega oddajnika-sprejemnika. Njihov opis je podan v poglavju o upoštevanju delovanja UART.

Prekinitveni sistemski registri . Registra IP in IE se uporabljata za programsko omogočanje prekinitev iz posameznih virov prekinitev in spreminjanje prioritet teh virov. Kot v prejšnjem primeru bomo te registre upoštevali pri opisu prekinitvenega sistema.

PCON register krmiljenja moči . S pomočjo bitov tega registra se nastavijo varčni načini mirovanja in izklopa. Eden od bitov služi kot dvojni bit hitrosti prenosa UART.

Ob zaključku poglavja je treba poudariti, da se z nadaljnjim razvojem družine v področje registrov posebnih funkcij dodajajo registri za razširjene vire novih modelov mikrokontrolerjev. Na primer moduli dodatnih časovnikov, matrike programabilnih števcev PCA (Programmable Counter Array), nadzorni časovnik WDT (Watchdog Timer), neposredni dostop do pomnilnika DMA (Direct Memory Access), analogno-digitalni pretvornik ADC (Analog Digital Converter) in drugi

Registrirajte se- hitre pomnilniške celice, včasih predstavljene kot ločena naprava, ki se uporablja za shranjevanje n-bitnih binarnih podatkov in izvajanje transformacij na njih.

Register je urejen niz flip-flopov, običajno D-, katerega število n ustreza številu bitov v besedi. Vsak register je običajno povezan s kombinacijo [ ] je digitalna naprava, ki izvaja določene operacije z besedami.

Osnova za gradnjo registrov so: D-flip-flops, RS-flip-flop, JK-flip-flop.

Enciklopedični YouTube

  • 1 / 5

    Značilne so naslednje operacije:

    • sprejem besede v register (nastavitev stanja);
    • prenos besede iz registra;
    • premik besede levo ali desno za dano število bitov v registrih premika;
    • pretvorba serijske kode besede v vzporedno in obratno;
    • nastavitev registra v začetno stanje (reset).

    Registrska klasifikacija

    Vzporedni registri

    V vzporednih (statičnih) registrih bitna vezja ne izmenjujejo podatkov med seboj. Skupno bitom so običajno dovoljenja za uro, ponastavitev/nastavitev, izhod ali sprejem, to je krmilna vezja. Primer vezja statičnega registra, zgrajenega na flip-flopih tipa D z neposrednimi dinamičnimi vhodi, z vhodi za ponastavitev in izhodi tretjega stanja, ki jih krmili signal EZ.

    Shift (serijski) registri

    Zaporedni (premikalni) registri so veriga bitnih vezij, povezanih s prenosnimi vezji. Glavni način delovanja je premik kodnih bitov z enega sprožilca na drugega za vsak taktni impulz. V registrih z enim ciklom s premikom za en bit v desno se beseda premakne, ko je sprejet signal ure. Serijski vhod in izhod (angleško Data Serial Right, DSR).

    Glede na sinhronizacijske zahteve v premičnih registrih, ki nimajo logičnih elementov v medbitnih povezavah, ni mogoče uporabiti enostopenjskih nivojsko krmiljenih prožilcev, saj lahko nekateri flip-flopi večkrat preklapljajo med dovoljenim nivojem signala ure, kar je nesprejemljivo. Pojav logičnih elementov v medbitnih povezavah, še bolj pa logičnih vezij neenotne globine, poenostavlja izpolnjevanje pogojev za delovanje registrov in širi obseg vrst sprožilcev, primernih za ta vezja. Večciklične premične registre krmili več ur. Od teh so najbolj znani push-pull z glavnimi in dodatnimi registri, zgrajeni na preprostih enostopenjskih nivojsko nadzorovanih flip-flopih. V ciklu C1 se vsebina glavnega registra prepiše v dodatnega, v ciklu C2 pa se vrne v glavni register, vendar že na sosednje bite, kar ustreza premiku besede. Po stroških opreme in hitrosti je ta možnost blizu enocikličnemu registru z dvostopenjskimi flip-flopi.

    Registri procesorja

    Po namenu se registri procesorja razlikujejo po:

    • akumulator - uporablja se za shranjevanje vmesnih rezultatov aritmetičnih in logičnih operacij ter V/I ukazov;
    • zastavica - shrani znake rezultatov aritmetičnih in logičnih operacij;
    • splošni namen - shranjevanje operandov aritmetičnih in logičnih izrazov, indeksov in naslovov;
    • indeks - shrani indekse izvornih in ciljnih elementov polja;
    • kazalec - shranjevanje kazalcev na posebna pomnilniška področja (kazalec trenutne operacije, osnovni kazalec, kazalec sklada);
    • segment - shranjevanje naslovov in izbirnikov pomnilniških segmentov;
    • upravitelji - shranjujejo informacije, ki nadzorujejo stanje procesorja, kot tudi naslove sistemskih tabel.

    Ternarni registri

    Ternarni registri so zgrajeni na ternarnih flip-flopih. Tako kot ternarni flip-flopi so lahko ternarni registri različnih ternarni kodirnih sistemov za ternarne podatke (ternarne cifre): trinivojski enožilni, dvonivojski dvomestni dvožilni, dvonivojski trimestni ena-ena tri -žica, dvonivojska trimestna ena ničla trižična itd.

    Slika na desni prikazuje diagram devetbitnega vzporednega statičnega variranega ternarnega podatkovnega registra na treh tribitnih vzporednih statičnih vratiranih ternarnih podatkovnih registrih v tribitnem enoenotnem sistemu ternarnih logičnih elementov (vrstice z oznako 3B: trižični), ki ima kapaciteto v eksponentnem pozicijskem trojnem številskem sistemu 3 9 = 19683 (\displaystyle 3^(9)=19683)številke (kode).

    Poglej tudi

    Opombe

    1. http://wiki.miem.edu.ru/index.php/Circuit Engineering: Lectures Poglavje 11 Oddelek 1.1 11.1 Klasifikacija registrov
    2. http://www.intuit.ru/department/hardware/archhard2/2/2.html Internetna univerza za informacijske tehnologije. Arhitektura in organizacija računalnikov. V. V. Gurov, V. O. Čukanov. 2. Predavanje: Glavni funkcijski elementi računalnika, 2. del. Shranjevalni register. Slika 2.5. Štiribitna struktura pomnilniškega registra z asinhronim nastavljenim vhodom 0 . Slika 2.6. Pogojno-grafična oznaka štiribitnega pomnilniškega registra z vnosom asinhrone nastavitve 0
    3. http://www.bashedu.ru/perspage/wsap/posobie/chapter3/6.htm Osnove digitalne elektronike. 3.6. Registri. Shranjevalni registri. Slika 3.25. Funkcionalni diagrami glavnih vrst registrov. riž. 3.26. Shranjevalni registri, na D-flip-flops, sinhronizirani z nivojem ure (a), edge (b) in na RS-flip-flops, sinhronizirani z edge (c)
    4. http://www.gsm-guard.net/glossary/_r.htm Glosar. Shift register
    5. http://kpe.hww.ru/spravka_circuitry/rs.htm Shift registri
    6. http://dssp.karelia.ru/~ivash/ims/t12/TEMA6.HTM Shift registri. Slika 1. Shift registri na flip-flopih JK
    7. http://www.airalania.ru/airm/147/53/index.shtml 6.1. Shift registri in števci zvonjenja
    8. http://www.intuit.ru/department/hardware/archhard2/2/2.html Internetna univerza za informacijske tehnologije. Arhitektura in organizacija računalnikov. V. V. Gurov, V. O. Čukanov. 2. Predavanje: Glavni funkcijski elementi računalnika, 2. del. Shift register. Slika 2.7. Struktura premičnega registra. Slika 2.8. Običajna grafična oznaka štiribitnega premikalnega registra z vhodom asinhrone nastavitve 0
    9. http://dfe3300.karelia.ru/koi/posob/log_basis/registr2.html Računalniške logične baze. Vzporedni premični registri. Slika 9.1 Strukturni diagram 4-bitnega vzporednega obročnega registra. Slika 9.2. 4-bitna logika obročnega registra
    10. http://www.bashedu.ru/perspage/wsap/posobie/chapter3/6.htm Osnove digitalne elektronike. 3.6. Registri. menjalni registri. riž. 3.27. Shift registri na D-flip-flop a), RS-flip-flop b) in kombinirani register na D-flip-flop
    11. http://www.texnic.ru/tools/cif_ms/7.html 7. REGISTRI. 7.1. menjalni registri. riž. 248. Dvanajstbitni premični register


    7.2 Prenosni registri

    7.2.1 Register opozorilnih dogodkov FIFO (FWEV)

    bit 7
    RXFIFO3
    bit 6
    RXFIFO2
    bit 5
    RXFIFO1
    bit 4
    -
    bit 3
    TXFIFO3
    bit 2
    TXFIFO2
    bit 1
    TXFIFO1
    bit 0
    -
    RXWARN3-1 Rezerva TXWARN3-1 Rezerva
    0 0 0 - 0 0 0 -
    r - r -

    TXWARN. Opozorilo o okvari menjalnika. Nastavite na "1", ko je ustrezna oddajna končna točka FIFO presegla mejo, določeno z bitom TFWL v registru TXCx, in je prenos iz ustrezne končne točke omogočen. Ta bit se izbriše, ko se počisti opozorilni pogoj, bodisi s pisanjem novih podatkov v FIFO, ko je FIFO počiščen, ali po zaključku prenosa, kot je označeno z bitom TX_DONE v registru TXSx.

    RXWARN. Opozorilo o kršitvi sprejema. Nastavite na "1", ko je ustrezna oddajna končna točka FIFO presegla mejo, ki jo določa bit RFWL v registru EPCx. Ta bit se izbriše, ko se izbriše stanje opozorila bodisi z branjem podatkov iz FIFO ali ko se izbriše FIFO.

    7.2.2 Register maske opozoril o kršitvi FIFO (FWMSK)

    Ko je ustrezen bit v registru FWEV nastavljen, je WARN nastavljen v registru MAEV. Ko je počiščen, ustrezni bit v registru FWEV ne nastavi WARN.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    Enak bitni opis kot v registru FWEV
    0 0 0 0 0 0 0 0
    r/w

    7.2.3 Najpomembnejši register številke okvirja (FNH)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    MF UL RFC rezerviran FN10-8
    1 1 0 - 0 0 0
    r r z/r - r

    F.N.Številka okvirja. To je trenutna številka prejetega okvirja v zadnjem paketu SOF. Če veljavna številka okvirja ni prejeta med 12060 bitov (največja dolžina okvirja, FLMAX) prejšnje izmenjave, se številka okvirja umetno poveča. Če dva zaporedna okvira manjkata ali sta neveljavna, je trenutni FN "zamrznjen" in naložen s številko okvirja iz paketa SOF.

    Če je vdelana programska oprema prebrala nizki bajt številke okvirja pred branjem registra FNH, potem uporabnik dejansko bere vsebino registra medpomnilnika, ki vsebuje vrednost treh bitov številke okvirja tega registra, ko nizki bajt je bilo prebrano. Pravilno zaporedje za branje številke okvirja je: FNL, FNH. Operacije branja za register FNH brez začetnega branja nizkobajtnega registra številke okvirja (FNL) preberejo dejansko vrednost treh najmanj pomembnih bitov v številko okvirja. Pri ponastavitvi je FN nastavljen na "0".

    RFC. Ponastavi števec sličic. Nastavitev tega bita ponastavi številko okvirja na 0x0000, po kateri se ta bit sam počisti. Ta bit se vedno bere kot "0".

    UL. Zastavica za odklepanje. Ta bit označuje, da sta bila prejeta vsaj dva okvirja brez pričakovane številke okvirja ali da v 12060-bitnem času ni bil prejet noben veljaven SOF. Če je ta bit nastavljen, se številka okvirja iz naslednjega veljavnega paketa naloži v FN. Pri ponastavitvi je ta zastavica nastavljena na "1".

    MF. Izguba zastave SOF. Ta bit je nastavljen, ko številka okvirja v prejetem paketu SOF ni enaka pričakovani vrednosti ali ko v času prihoda 12060 bitov ni bil prejet noben SOF. Pri ponastavitvi je ta zastavica nastavljena na "1".

    7.2.4 Register nizkega bajta številke okvirja (FNL).

    Ta register vsebuje spodnji bajt številke okvirja, kot je opisano zgoraj. Da bi zagotovili doslednost, branje tega nizkega bajta povzroči, da se trije biti številke okvirja v registru FNH med branjem registra zaskočijo. Pravilno zaporedje za branje številke okvirja je: FNL, FNH. Pri ponastavitvi je FN nastavljen na "0".

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    FN7-0
    0 0 0 0 0 0 0 0
    r

    7.2.5 Funkcijski naslovni register (FAR)

    Ta register nastavi funkcijski naslov naprave. Različne številke končnih točk se nastavijo posamično prek registra nadzora končnih točk.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    AD_EN AD6-0
    0 0 0 0 0 0 0 0
    r/w r/w

    AD. Naslov. To polje vsebuje 7-bitni funkcijski naslov, ki se uporablja za prenos in sprejemanje vseh znakov, naslovljenih na napravo.

    AD_EN. dovoljenje za naslavljanje. Ko je bit nastavljen na "1", se pri primerjavi naslovov uporabljajo biti AD6-0 (za podrobnosti glejte razdelek 6.2). Ko je počiščena, se naprava ne odziva na noben znak v vodilu.

    Opomba: Če je bit DEF v kontrolnem registru kontrolne točke nastavljen, se končna točka 0 odziva na privzeti naslov.

    7.2.6 Nadzorni register DMA (DMACNTRL)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    BRLOG IGNRXTGL DTGL ADMA DMOD DSRC2-0
    0 0 0 0 0 0 - 0
    r/w r/w r/w r/w r/w r/w

    DSRC. vir DMA. Polje DMA Source Bits vsebuje binarno vrednost, ki določa, katera končna točka, 1...6, je na voljo za podporo DMA. Biti DSRC se ob ponastavitvi izbrišejo. Tabela 7 navaja bitne nastavitve DSRC.

    Tabela 7. Opis bitov DSRC

    DSRC Številka končne točke
    2 1 0
    0 0 0 1
    0 0 1 2
    0 1 0 3
    0 1 1 4
    1 0 0 5
    1 0 1 6
    1 1 x rezerviran

    DMOD. način DMA. Ta bit določa, kdaj se pojavi zahteva DMA. Če je počiščena, se po končanem prenosu prikaže zahteva DMA. Za prenos končnih točk EP1, EP3 in EP5 so bili podatki v celoti preneseni, kot je označeno z bitom TX_DONE (za zapolnitev FIFO z novimi podatki za pošiljanje). Za sprejemne končne točke EP2, EP4 in EP6 to odraža bit RX_LAST. Ko je bit DMOD nastavljen, se zahteva DMA pojavi, ko je nastavljen ustrezni opozorilni bit FIFO. Bit DMOD se ob ponastavitvi izbriše.

    Zahteva DMA iz oddajne končne točke je omogočena, dokler se status zahteve ne počisti. Če je DMOD nastavljen na "0", se zahteve DMA pojavljajo tako dolgo, dokler vdelana programska oprema bere ustrezen register stanja prenosa (TXSx), s čimer izbriše bit TX_DONE, ali če je bit TX_LAST v registru ukazov prenosa (TXCx), ki ga je namestil strojno implementirana programska oprema. Če je bit DMOD nastavljen na "1", se zahteve DMA pojavljajo, dokler so opozorilni pogoji FIFO izbrisani, bodisi zaradi pošiljanja dovolj bajtov na končno točko ali če je bit TX_DONE nastavljen zaradi prenosa.

    Zahteva DMA iz oddajne končne točke je omogočena, dokler se status zahteve ne počisti. Če je DMOD nastavljen na "0", se zahteve DMA pojavljajo, dokler vdelana programska oprema ne prebere ustreznega registra statusa sprejema (RXSx), s čimer počisti bit RX_LAST, ali če FIFO postane prazen zaradi dovolj ciklov branja. Če je bit DMOD nastavljen na "1", se zahteve DMA dvignejo, dokler se opozorilo o kršitvi FIFO ne počisti ali če končna točka FIFO postane prazna zaradi dovolj ciklov branja.

    Če je DMOD nastavljen na "0" in sta končna točka in DMA omogočena, se zahteva DMA pojavi, dokler vdelana programska oprema bere ustrezen register TXSx ali RXSx in tako počisti bit TX_DONE/RX_LAST. Če je bit DMOD nastavljen na "1" in sta končna točka in DMA omogočena, se zahteva DMA pojavi, dokler je navedeno opozorilo o kršitvi FIFO.

    ADMA. Samodejni DMA. Nastavitev tega bita samodejno omogoči izbrano sprejemno ali oddajno končno točko. Preden omogočite način ADMA, je treba počistiti bit DEN v nadzornem registru DMA (DMACNTRL). Način ADMA deluje, dokler je v registru dogodkov DMA (DMAEV) nastavljen kateri koli bit, razen NTGL. Za inicializacijo načina ADMA je treba počistiti vse bite razen NTGL v registru DMAEV.

    Za sprejemanje se sprejemnik samodejno vklopi; ko je paket prejet, se prenese prek DMA v pomnilnik.

    Za operacije prenosa se podatkovni paket pošlje prek DMA iz pomnilnika; oddajnik se samodejno vklopi.

    Ko naprava vstopi v način ADMA, se lahko izgubi vsako obstoječe stanje končne točke. Če v FIFO že obstajajo podatki, se zavržejo. Trenutno stanje RX_EN in TX_EN se lahko tudi spremeni.

    Če izbrišete ADMA, naprava izstopi iz načina ADMA. DEN se lahko počisti istočasno ali pozneje. Če istočasno, se vse operacije DMA takoj ustavijo in vdelana programska oprema mora poslati vse preostale podatke. Če je pozneje, bo naprava dokončala vsako trenutno operacijo DMA pred izhodom iz načina ADMA (glejte opis bita DSHL v registru DMAEV).

    DTGL. DMA stikalo. Ta bit se uporablja za določanje statusa operacij ADMA med inicializacijo. Pri inicializaciji vdelana programska oprema nastavi ta bit na "1", če se začne z operacijo DATA1, in na "0", če se začne z operacijo DATA0.

    Zapis tega bita posodobi tudi bit NTGL v registru DMAEV.

    IGNRXTGL. Ignoriranje RX preklopa. Če je ta bit nastavljen, se primerjava med bitom NTGL v registru DMAEV in bitom TOGGLE v ustreznem registru RXSx med sprejemanjem prezre. V tem primeru neujemanje obeh bitov med sprejemno operacijo ne bo ustavilo operacije ADMA. Če ta bit ni nastavljen, se ADMA ustavi ob bitnem neujemanju. Po ponastavitvi je ta bit nastavljen na "0".

    7.2.7 Register dogodkov DMA (DMAEV)

    Biti v tem registru se uporabljajo v načinu ADMA. Biti 0…3 lahko povzročijo prekinitev, če niso izbrisani, tudi če naprava ni nastavila načina ADMA. Dokler vsi ti biti niso izbrisani, načina ADMA ni mogoče inicializirati. Način ADMA se samodejno konča, ko je kateri koli od teh bitov nastavljen.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    rezerviran NTGL Rezerva DSIZ DCNT DERR DSHLT
    - 0 - 0 0 - 0
    - r - Krava Krava Krava Krava

    DSHLT. Mehka zaustavitev DMA. Ta bit je nastavljen, ko vdelana programska oprema zaustavi operacije ADMA. Ta bit se nastavi šele potem, ko motor DMA zaključi vse potrebne operacije čiščenja in se vrne v stanje mirovanja. Izvaja se pod naslednjimi pogoji:

  • Če je bit ADMA počiščen (in DEN ostane nastavljen). V tem primeru se trenutna operacija konča. To pomeni, da se vsi podatki v FIFO prenesejo v pomnilnik prek DMA. Bit DSHLT se nastavi šele po tem. Upoštevajte, da DEN ostaja nastavljen in ga bo morda treba pozneje počistiti.
  • Če je DEN počiščen (ADMA lahko ostane nastavljen ali pa se počisti istočasno). To ustavi vse operacije DMA in takoj nastavi bit DSHLT. Če so ti podatki v FIFO, so shranjeni, vendar ne preneseni.
  • Če vdelana programska oprema poskuša prebrati, zapišite ustrezne registre EPCx, TXCx, RXCx, TXCx ali RXSx (če sta DEN in ADMA v registru DMACNTRL nastavljena). To ustavi vse operacije DMA in takoj nastavi bit DSHLT. Operacija branja ali pisanja nima učinka.

    DERR. Napaka DMA. Ta bit je nastavljen tako, da označuje, da je bil paket prejet ali poslan nepravilno. Nastavljeno je tudi, če bit TOGGLE v registru RXSx/TXSx ni enak bitu NTGL v registru DMAEV po tem, ko je bil paket poslan/prejet. (Upoštevajte, da se ta primerjava opravi, preden se stanje bita NTGL spremeni zaradi paketnega prenosa).

    Za sprejem je DERR enakovreden RX_ERR. Za prenos je enakovreden TX_DONE (nastavljeno) in ACK_STAT (ni nastavljeno). Če je bit AEH v registru števca napak DMA (DMAERR) nastavljen, DERR ne bo nastavljen, dokler DMAERRCNT v registru DMAERR ni počiščen in ni zaznana druga napaka. Napake se obravnavajo, kot je definirano v registru DMAERR.

    DCNT.števec DMA. Ta bit je nastavljen, ko je register števca DMA (DMACNT) "0" (glejte register DMACNT).

    DSIZ. velikost DMA. Ta bit je ustrezen samo za operacije prejemanja DMA. Označuje, da je prejeti paket krajši od skupne dolžine FIFO. Običajno prikazuje konec velikega števila zaporednih prenosov.

    NTGL. naslednje stikalo. Ta bit določa preklopno stanje pri pošiljanju naslednjega podatkovnega paketa (če pošilja) ali preklopno stanje pri čakanju na naslednji podatkovni paket (če prejema). Ta bit se inicializira z zapisom bita DTGL v register DMACNTRL. Nato spremeni stanje vsakič, ko je paket poslan ali prejet na končni točki, ki jo trenutno izbere DSRC2-0. Če se operacija pisanja DTGL pojavi hkrati z operacijo posodobitve bitov, ima operacija pisanja prednost.

    Če med operacijami ADMA poteka prenos, bit DTGL prepiše ustrezen bit TOGGLE v registru TXCx. To zagotavlja pravilne preklopne podatke na USB.

    Upoštevajte, da za te dogodke ni ustreznih bitov maske, ker se ne uporabljajo za ustvarjanje prekinitve.

    7.2.8 Register mask DMA (DMAMSK)

    Vsak bit, nastavljen na "1" v tem registru, samodejno nastavi bit DMA v registru ALTEV, ko pride do ustreznega dogodka v registru DMAEV. V nasprotnem primeru je nastavitev bita DMA onemogočena. Opis bitov 0…3, glej register DMAEV.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    DSIZ DCNT DERR DSHLT
    - 0 0 - 0
    - r/w r/w r/w r/w

    7.2.9 Zrcalni register (MIR)

    Ta register je samo za branje. Preprosto branje ne spremeni stanja registra TXSx ali RXSx, vdelana programska oprema lahko brezplačno preveri stanje kanala.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    STAT
    -
    r
  • STAT. Država. To polje odraža statusne bite oddajnika ali sprejemnika, izbranega v polju DSRC2-0 v registru DMACNTRL (ni nujno, da je DMA aktiven ali omogočen). Ustreza TXSx ali RXSx.

    7.2.10 Števec DMA (DMACNT)

    Ta register določa največje število, definirano za operacije ADMA.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    AEH DMAERRCNT
    0 0 0 0 0 0 - 0
    r/w r/w

    DCOUNT.števec DMA. To polje se po zaključku operacije DMA zmanjša, dokler ne postane 0. Bit DCNT v registru dogodkov DMA se nato nastavi šele, ko je naslednja operacija DMA uspešno zaključena. Ta register ne izgubi svojega pomena.

    Pri sprejemnih operacijah se ta števec zmanjša, ko je paket uspešno prejet in nato prenesen v pomnilnik prek DMA.

    Pri prenosnih operacijah se ta števec zmanjša, ko je paket prenesen iz pomnilnika prek DMA in nato uspešno poslan.

    DCOUNT mora biti nastavljen na naslednji način: DCOUNT = (Št. paketa za pošiljanje) -1

    Če se operacija pisanja DMACNT pojavi hkrati z operacijo zmanjšanja, ima operacija pisanja prednost.

    7.2.11 Register napak DMA (DMAERR)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    FHT HOS WKMODE Rezerva ENUC ENUSB PNDUC PND USB
    0 0 0 - 1 1 1 1
    z/r0 z/r z/r - z/r z/r Krava Krava

    DMAERRCNT.Števec napak DMA. V povezavi z zmožnostjo obravnavanja aritmetičnih napak ta števec določi največje število zaporednih napak vodila pred zaustavitvijo načina ADMA. Vdelana programska oprema lahko nastavi 7-bitni števec na vnaprej nastavljeno vrednost. Po zagonu ADMA se števec zmanjša za 1 od prednastavljene vrednosti vsakič, ko je zaznana napaka vodila. Vsak uspešen prehod ponastavi števec nazaj na prednastavljeno vrednost. Ko je način ADMA zaustavljen, se tudi števec nastavi na prednastavljeno vrednost.

    Če števec doseže 0 in je zaznan še en napačen paket, se nastavi bit DERR v registru dogodkov DMA. Podrobnosti v razdelku 7.2.7. Ta register ne izgubi svojega pomena.

    DMAERRCNT mora biti nastavljen na naslednji način: DMAERRCNT = 3D (največje število poskusov pošiljanja) - 1

    Dostop do pisanja v ta register je mogoč le, ko je ADMA neaktiven. V nasprotnem primeru je prezrt. Branje iz tega registra, medtem ko je ADMA aktiven, vrne trenutno vrednost števca. Branje iz registra, ko je ADMA neaktiven, vrne prednastavljeno vrednost. Števec se zmanjša le, če je nastavljen AEH (omogočeno samodejno obravnavanje napak).

    Samodejno obravnavanje napak. Ta bit ima dva različna pomena, odvisno od trenutnega načina prehoda:

  • Neizohroni način

    Ta način se uporablja za velike prenose nizov, prekinitve in nadzor. Nastavitev AEH v tem načinu omogoča samodejno obdelavo paketov, ki vsebujejo CRC ali napake bitnega ujemanja.

    Če je ta bit nastavljen med operacijami prenosa, potem naprava samodejno znova naloži FIFO in preuredi čakalno vrsto paketov, za katere glavni krmilnik ni vrnil ACK. Če je ta bit počiščen, je samodejno obravnavanje napak onemogočeno.

    Če je ta bit nastavljen med sprejemnimi operacijami, se paket, prejet z napako (kot je definiran z opisom bita DERR v registru DMAEV), samodejno izbriše iz FIFO, da se ta paket ponovno pridobi. Če je ta bit počiščen, je samodejno obravnavanje napak onemogočeno.

  • Izohroni način

    Nastavitev tega bita omogoča napravi, da prezre pakete, prejete z napakami (kot je določeno z opisom bita DERR v registru DMAEV).

    Če je ta bit nastavljen med sprejemanjem, potem naprava samodejno počisti in ponastavi FIFO za sprejem naslednjega paketa. Napačen paket je prezrt in ne prenese skozi DMA. Če je ta bit počiščen, je samodejno obravnavanje napak onemogočeno.

    7.2.12 Omogoči register (WKUP)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    STOJNICA DEF rezerviran EP3-0
    0 0 - 0 0 0 0 0
    r/w r/w - r; strojna oprema na "0"

    PNDUSB. Pričakovano omogočanje USB-ja. Ta bit označuje, da se bo ta naprava napajala z dejavnostjo USB. Pošlje tudi signal zahteve za prekinitev bujenja. Bit PNDUSB mora počistiti glavni krmilnik z vnosom "0". Trda ponastavitev nastavi ta bit.

    PNDUC.Čakanje na vklop mikrokontrolerja. Ta bit označuje, da se bo naprava vklopila, ko to zahteva mikrokrmilnik. Pošlje tudi signal zahteve za prekinitev bujenja. Bit PNDUC mora počistiti glavni krmilnik z vnosom "0". Trda ponastavitev nastavi ta bit.

    ENUSB. USB ločljivost. Ko je nastavljen na "1", ta bit omogoča, da se naprava vklopi, ko je zaznana aktivnost USB.

    ENUC. ločljivost mikrokrmilnika. Ko je nastavljen na "1", ta bit omogoča vklop naprave, ko mikrokrmilnik dostopa do naprave.

    WKMODE. Omogoči način. Ta bit izbere interval, po katerem naprava ustvari prekinitev ob vklopu (če je omogočena), ko pride do dogodka ob vklopu, kot je prikazano spodaj:

    0 - Generira takojšnjo prekinitev vklopa

    1 - Generira prekinitev vklopa po zakasnitvi vklopa

    HOS. Zaustavitev vzmetenja. Ko je ta bit nastavljen, naprava preklopi v način zaustavitve takoj, ko preide v stanje mirovanja. Pisanje "1" v stanju mirovanja nima učinka.

    FHT. Prisilna ustavitev. Ko gostitelj ni povezan (NAT v registru MCNTRL je nastavljen na "0"), nastavitev tega bita postavi gostitelja v način zaustavitve. Ko je gostitelj povezan (NAT na "1"), je vnos "1" prezrt.

    7.2.13 Nadzorni register končne točke 0 (EPC0)

    Ta register nadzoruje končno točko 0.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    Rezerva ACK_STAT TX_DONE TCOUNT4-0
    - 0 0 0 0 0 0 0
    - OR OR r

    ep. končna točka. To polje vsebuje 4-bitni naslov končne točke. Za končno točko 0 so ti biti s strojno opremo nastavljeni na 0000b.

    DEF. Privzeti naslov. Ko je bit nastavljen, se naprava odzove na privzeti naslov, ne glede na vsebino polj FAR6-0/EP03-0 Ko je za končno točko poslan znak IN, se bit DEF samodejno izbriše.

    Ta bit pomaga pri prehodu s privzetega naslova na dodeljeni naslov. Skok s privzetega naslova 00000000000b na naslov, naveden med oštevilčenjem vodila, morda ne uspe sredi ubežnega zaporedja SET_ADDRESS. To je potrebno za dokončanje kontrolnega zaporedja. Vendar pa je treba naslov spremeniti takoj po koncu tega zaporedja, da se izognete napakam, ko ukazu SET_ADRESS takoj sledi drugo ubežno zaporedje.

    Po ponastavitvi USB ima vdelana programska oprema 10 ms časa za namestitev in mora zapisati 0x80 v register FAR in 0x00 v register EPC0. Po prejemu ukaza SET_ADRESS mora firmware zapisati 0x40 v register EPC0 in 0x80 v register FAR.

    STOJNICA.

    1. - Oddajni FIFO je omogočen in sprejet je znak IN.

    2. - Prejemanje FIFO omogočeno in znak OUT prejet.

    Opomba:

    Po prenosu potrditve signala STALL se nastavita bita RX_LAST in TX_DONE v ustreznih statusnih registrih oddajanja/sprejemanja.

    7.2.14 Register stanja prenosa 0 (TXS0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    rezerviran IGN_IN IZPIRANJE PREKLOP Rezerva TX_EN
    - 0 0 0 0 0 - 0
    - r/w r/w HW r/w - r/w HW

    TŠTEV.Števec prenosov. Ta bit označuje število praznih bajtov, ki so na voljo v FIFO. To polje nikoli ne preseže 8 za končno točko 0.

    TX_DONE. Prenos končan. Ko je bit nastavljen, pomeni, da je bil poslan celoten paket. Ko je ta register prebran, se izbriše.

    ACK_STAT. Stanje potrditve. Ta bit označuje stanje, prejeto od glavnega krmilnika, potrdila o prejemu predhodno poslanega paketa. Ta bit se interpretira, ko je TX_DONE nastavljen na "1". Nastavi se ob prejemu potrditve; sicer pa ostane prečiščen. Ta bit se tudi izbriše, ko je ta register prebran.

    7.2.15 Register ukazov prenosa 0 (TXC0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    rezerviran IGN_IN IZPIRANJE PREKLOP Rezerva TX_EN
    - 0 0 0 0 0 - 0
    - r/w r/w HW r/w - r/w HW

    TX_EN. Dovoljenje za prenos. Ta bit omogoča prenos podatkov iz FIFO. Čip ga izbriše po oddaji enega samega paketa ali potrditvi STALL kot odgovor na znak IN. Za začetek prenosa paketa ga mora nastaviti vdelana programska oprema. Bit RX_EN v registru ukazov za sprejem 0 (RXC0) preglasi ta bit; Ker če je nastavljen RX_EN, je bit TX_EN prezrt, dokler RX_EN ni počiščen.

    Paketi ničelne dolžine so prikazani, ko je ta bit nastavljen brez zapisovanja podatkov FIFO.

    PREKLOP.

    IZPIRANJE. Zapisovanje 1 v ta bit izbriše vse podatke iz nadzorne kontrolne točke FIFO, ponastavi končno točko v stanje mirovanja, počisti bralne in pisalne kazalce FIFO in se nato počisti. Če končna točka trenutno uporablja FIFO0 za prenos podatkov na USB, potem je izpiranje odloženo, dokler prenos ni končan. Ta bit se ob ponastavitvi izbriše. Enakovredno je bitu FLUSH v registru RXC0.

    IGN_IN. Ignoriranje znaka IN. Ko je ta bit nastavljen, bo končna točka prezrla vse znake IN, usmerjene na njen konfigurirani naslov.

    7.2.16 Prenos podatkovnega registra 0 (TXD0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    TXFD
    -
    r/w

    TXFD. Prenos podatkovnega bajta FIFO. Za opis ravnanja s podatki glejte "Operacije končne točke dvosmernega upravljanja FIFO0" v razdelku 6.2.2.

    Vdelana programska oprema pričakuje, da se zapiše le paket uporabnih podatkov. PID in CRC16 se ustvarita samodejno.

    7.2.17 Register statusa sprejema 0 (RXS0)

    To je register statusa sprejema za dvosmerno nadzorno končno točko 0. Za sprejem paketa SETUP po prejemu paketa OUT/SETUP ničelne dolžine obstajata dve strojni kopiji tega registra. Eden vsebuje status prejema paketa ničelne dolžine, drugi pa status naslednjega SETUP paketa s podatki. Če izbruhu ničelne dolžine sledi izbruh ničelne dolžine, potem prvo branje tega registra kaže status niza ničelne dolžine (z RX_LAST nastavljenim na "1" in RCOUNT nastavljenim na "0"), drugo branje pa pokaže stanje SETUP rafala.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    Rezerva NASTAVITI PREKLOP RX_LAST RCOUNT3-0
    - 0 0 0 0 0 0 0
    - OR OR OR r

    RCOUNT. Recepcijski pult. Ta bit označuje število bajtov v RX FIFO. To polje nikoli ne preseže 8 za končno točko 0.

    RX_LAST.

    PREKLOP. Ta bit določa uporabo PID pri prenosu paketa. Vrednost "0" ustvari PID DATA0, vrednost "1" pa ustvari PID DATA1. Tega bita strojna oprema ne spremeni.

    NASTAVITI. Ta bit označuje, da je bil prejet namestitveni paket. Ta bit je nespremenjen za paket ničelne dolžine. Ta bit se počisti, ko je ta register prebran.

    7.2.18 Register ukazov za sprejem 0 (RXC0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    rezerviran IZPIRANJE IGN_SETUP IGN_OUT RX_EN
    - 0 0 0 0
    - r/w r/w r/w r/w HW

    RX_EN. Dovoljenje za sprejem. Sprejem znaka OUT je onemogočen po vsakem prejetem paketu podatkov ali ko je kot odgovor na znak OUT vrnjena potrditev STALL. Paketi ničelne dolžine so prikazani, ko je ta bit nastavljen brez zapisovanja podatkov FIFO. V ta bit je treba zapisati "1", da ponovno omogočite sprejem podatkov. Prejemanje paketa SETUP je vedno dovoljeno. V primeru povratnih paketov SETUP (za dano končno točko), kjer je prejet veljaven paket SETUP z drugimi znaki, ki niso SETUP, krmilnik končne točke zavrže nov paket SETUP in vrne ACK. To zagotavlja obnovitev iz stanja, ko je glavni krmilnik izgubil ACK prvega znaka SETUP.

    IZPIRANJE. Zapisovanje 1 v ta bit izbriše vse podatke iz nadzorne kontrolne točke FIFO, ponastavi končno točko v stanje mirovanja, počisti bralne in pisalne kazalce FIFO in se nato počisti. Če končna točka trenutno uporablja FIFO0 za prenos podatkov na USB, potem je izpiranje odloženo, dokler prenos ni končan. Ta bit se ob ponastavitvi izbriše. Enakovredno je bitu FLUSH v registru TXC0.

    IGN_OUT. Ignorirajte znak OUT. Ko je ta bit nastavljen, bo končna točka prezrla vse znake OUT, usmerjene na njen konfigurirani naslov.

    IGN_SETUP.

    7.2.19 Prenos podatkovnega registra 0 (RXD0)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    RXFD
    -
    r/w

    RXFD. Prejmite podatkovni bajt FIFO. Za opis ravnanja s podatki glejte "Operacije končne točke dvosmernega upravljanja FIFO0" v razdelku 6.2.2.

    Vdelana programska oprema pričakuje le branje uporabnega podatkovnega paketa. PID in CRC16 se samodejno odstranita iz dohodnega toka podatkov.

    7.2.20 Nadzorni register končne točke 0 (EPC1…EPC6)

    Vsaka enosmerna končna točka ima register EPCx s spodaj opisanimi biti.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    STOJNICA rezerva ISO EP_EN EP3-0
    0 - 0 0 0 0 0 0
    r/w - r/w r/w r/w

    ep. končna točka. To polje vsebuje 4-bitni naslov končne točke.

    EP_EN. Ločljivost končne točke. Ko je ta bit nastavljen, se polje EP3-0 uporablja za primerjavo naslovov v povezavi s poljem AD6-0 v registru FAR. Opis v razdelku 6.2. Ko je počiščena, se končna točka ne odziva na noben znak na vodilu USB.

    Opomba: AD_EN v registru FAR omogoča primerjavo globalnega naslova naprave. Če je počiščena, se naprava ne odziva na noben naslov, ne glede na stanje EP_EN.

    ISO. Izokrono. Ko je ta bit nastavljen na "1", je končna točka izohronska. To predpostavlja, da je NAK poslan, če končna točka ni pripravljena, vendar je dovoljena; Ker če je prejet znak IN in v FIFO ni na voljo podatkov za prenos, ali če je prejet znak OUT in je FIFO poln, potem ni usklajevanja USB za izohroni prenos.

    STOJNICA. Nastavitev tega bita povzroči, da čip ustvari potrditve signala STALL pod naslednjimi pogoji:

    3. Oddajni FIFO je omogočen in sprejet je simbol IN.

    4. Sprejemni FIFO je omogočen in prejet je znak OUT.
    Opomba: Simbol SETUP ne povzroči generiranja signala STALL, ko je ta bit nastavljen.

    7.2.21 Register statusa prenosa X (TXS1, TXS2, TXS3)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    TX_URUN ACK_STAT TX_DONE TCOUNT4-0
    0 0 0 0 0 0 0 0
    OR OR OR r

    TŠTEV.Števec prenosov. Ta bit označuje število praznih bajtov, ki so na voljo v FIFO. Če je to število večje od 31, se sporoči vrednost 31.

    TX_DONE. Prenos končan. Ko je bit nastavljen, pomeni, da se je končna točka odzvala na paket USB. Trije pogoji lahko povzročijo nastavitev bita:

    1. Celoten podatkovni paket je bil poslan kot odgovor na znak IN z operacijo, ki ni ISO.

    2. Končna točka je poslala potrditev kot odgovor na znak IN.

    3. Načrtovana storitev okvirja ISO je bila poslana ali zavržena.
    Ta bit se počisti, ko je ta register prebran.

    ACK_STAT. Stanje potrditve. Ta bit se interpretira, ko je nastavljen TX_DONE.

    Za operacije, ki niso ISO, ta bit označuje status potrditve (od glavnega krmilnika) ACK za predhodno poslani paket. Ta bit se sam nastavi ob prejemu ACK; drugače je počiščeno.

    Za operacije ISO je ta bit nastavljen, če je bila izvedena primerjava spodnjega bajta številke okvirja (glejte "IGN_ISOMSK" v razdelku 7.2.22) in so bili podatki poslani kot odgovor na znak IN. V nasprotnem primeru je ta bit počiščen, FIFO je počiščen in TX_DONE je nastavljen.

    Ta bit se tudi izbriše, ko je ta register prebran.

    TX_URUN. Predčasna zaustavitev oddajnega FIFO. Ta bit je nastavljen, če se oddajni FIFO med prenosom izprazni in v FIFO niso bili zapisani novi podatki. Če je tako, potem krmilnik sloja mrežne arhitekture (MAC) po EOP izda napako pri ujemanju bitov. Ta bit se ponastavi, ko je ta register prebran.

    7.2.22 Pošlji ukazni register X (TXC1, TXC2, TXC3)

    Vsaka končna točka prenosa (1, 3 in 5) ima register ukazov prenosa z spodaj opisanimi biti.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    IGN_ISOMSK TFWL1-0 RFF IZPIRANJE PREKLOP ZADNJI TX_EN
    0 0 0 0 0 0 0 0
    r/w r/w r/w HW r/w HW r/w r/w HW r/w HW

    TX_EN. Dovoljenje za prenos. Ta bit omogoča prenos podatkov iz FIFO. Čip ga izbriše po oddaji enega samega paketa ali potrditvi STALL kot odgovor na znak IN. Za začetek prenosa paketa ga mora nastaviti vdelana programska oprema.

    ZADNJI. Nastavitev tega bita pomeni, da je bil vhodni paket zapisan v FIFO. To se uporablja za vnos toka podatkov v FIFO, medtem ko poteka dejanski prenos. Če zadnji bit ni nastavljen in oddajni FIFO med prenosom postane prazen, potem EOP sledi napaka pri ujemanju bitov vodila. Paketi ničelne dolžine so označeni z nastavitvijo tega bita, brez zapisovanja podatkov v FIFO.

    PREKLOP. Delovanje tega bita se razlikuje glede na to, ali se uporabljajo operacije ISO ali ne-ISO.

    Za operacije, ki niso ISO, določa uporabo PID pri prenosu paketa. Vrednost "0" ustvari PID DATA0, vrednost "1" pa ustvari PID DATA1. Tega bita strojna oprema ne spremeni.

    Pri operacijah ISO ta bit in nižji biti števca okvirjev (FNL0) delujejo kot maksimum za bit TX_EN za uporabo rafalnega zaporedja za posebne številke okvirjev; Ker prenos je mogoč le, če je bit 0 v registru FNL nastavljen na TOGGLE. Če simbol IN ni prejet, ko je ta pogoj resničen, se vsebina FIFO počisti z naslednjim SOF. Če je končna točka nastavljena na ISO, se podatki vedno prenašajo z DATA0 PID.

    Tega bita strojna oprema ne spremeni.

    IZPIRANJE. Zapisovanje 1 v ta bit počisti vse podatke iz ustreznega oddajnega FIFO, ponastavi končno točko v stanje mirovanja in počisti bralne in pisalne kazalce FIFO. Če krmilnik sloja mrežne arhitekture (MAC) trenutno uporablja FIFO0 za prenos podatkov, se podatki izbrišejo, ko je prenos končan. Po brisanju podatkov strojna oprema ponastavi ta bit.

    RFF. FIFO polnjenje. Nastavitev ZADNJEGA bita samodejno shrani kazalec branja prenosa (TXRP). Ko je bit RFF nastavljen, se medpomnilnik TXRP ponovno naloži v TXRP. To omogoča uporabniku, da ponovi zadnji prehod, če od glavnega krmilnika ni bil prejet ACK. Če krmilnik omrežne arhitekture (MAC) trenutno uporablja prenos FIFO, se TXRP ponastavi šele, ko je prenos končan. Po ponovnem zagonu strojna oprema ponastavi ta bit.

    TFWL. Pošiljanje omejitve opozorila o kršitvi FIFO. Ti biti določajo, koliko bajtov je mogoče prenesti iz ustreznega FIFO, preden nastopi stanje prekinitve. Če je število preostalih bajtov v FIFO enako ali manjše od izbrane meje, pri kateri se pojavi opozorilo o kršitvi, je bit TXWARN v registru FWEV nastavljen. Da bi se izognili prekinitvam, ki jih povzroči nastavitev tega bita (med polnjenjem FIFO pred začetkom prenosa), je bit TXWARN nastavljen le, ko je omogočen prenos s končne točke (TX_ENx je nastavljen v registru TXCx). Glej tabelo 8.

    Tabela 8. Nastavitev omejitve opozorila o kršitvi FIFO za prenos

    IGN_ISOMSK. Ignorirajte masko ISO. Ta bit je učinkovit le, če je končna točka nastavljena na izokrono. Če je bit nastavljen, onemogoči blokiranje določenih številk okvirjev s funkcijo prepletanja bitov TOGGLE, tako da se podatki prenesejo ob prejemu naslednjega znaka IN. Če je bit prazen, se podatki prenašajo, ko je FNL0 enak TOGGLE. Ta bit se ob ponastavitvi izbriše.

    7.2.23 Prenos podatkovnega registra X (TXD1, TXD2, TXD3)

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    TXFD
    -
    w

    TXFD. Prenos podatkovnih bajtov FIFO. Za opis obdelave podatkov končne točke FIFO glejte »Operacije končne točke prenosa (TXFIFO1, TXFIFO2, TXFIFO3)« v razdelku 6.2.2. Vdelana programska oprema pričakuje, da se zapiše le paket uporabnih podatkov. PID in CRC16 se samodejno vstavita v dohodni tok podatkov.

    7.2.24 Register statusa sprejema X (RXS1, RXS2, RXS3)

    Vsak kanal sprejemne končne točke (2, 4 in 6) ima en register statusa sprejema z spodaj definiranimi biti. Za sprejem paketa SETUP po prejemu paketa OUT z ničelno dolžino obstajata dve strojni kopiji tega registra. Eden vsebuje status prejema paketa ničelne dolžine, drugi pa status naslednjega SETUP paketa s podatki. Če paketu SETUP sledi paket ničelne dolžine, potem prvo branje tega registra kaže stanje paketa ničelne dolžine, drugo branje pa stanje paketa SETUP.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    RE_ERR NASTAVITI PREKLOP RX_LAST RCOUNT3-0
    0 0 0 0 0 0 0 0
    OR OR CoR HW OR r

    RCOUNT. Recepcijski pult. Ta bit označuje število bajtov, ki so prisotni v sprejemni končni točki FIFO. To polje nikoli ne preseže vrednosti 15 za končno točko 0.

    RX_LAST. Zadnji prejeti bajti. Označuje, da je bil po zaključku uspešne operacije sprejema poslan ACK. Ko je ta register prebran, se izbriše.

    PREKLOP. Delovanje tega bita se razlikuje glede na to, ali je uporabljena operacija ISO ali ne-ISO.

    Za operacije, ki niso ISO, vrednost "0" pomeni, da je bil paket s PID DATA0 uspešno prejet, vrednost "1" pa, da ima paket PID DATA1.

    Za operacije ISO je ta bit prikazan z nizkimi bitmi števca okvirjev (FNL0) po uspešnem sprejemu za to končno točko.

    Ta bit se ponastavi na "0", ko je prebran register RXSx.

    NASTAVITI. Ta bit označuje, da je bil prejet namestitveni paket. Ta bit se počisti, ko je ta register prebran.

    RX_ERR. Napaka prejema. Ko je bit nastavljen, označuje napako omrežnega sloja, kot je napaka bitnega ujemanja ali CRC. Če je ta bit nastavljen, mora vdelana programska oprema počistiti ustrezen FIFO.

    7.2.25 Register ukazov za sprejem X (RXC1, RXC2, RXC3)


    Vsaka od sprejemnih končnih točk (2, 4 in 6) ima en register sprejemnih ukazov z biti, opisanimi spodaj.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    Rezerva RFWL Rezerva IZPIRANJE IGN_SETUP Rezerva RX_EN
    - 0 0 - 0 0 - 0
    - r/w - r/w r/w - r/w

    RX_EN. Dovoljenje za sprejem. Sprejem znaka OUT je onemogočen po vsakem prejetem paketu podatkov ali ko je kot odgovor na znak OUT vrnjena potrditev STALL. V ta bit je treba zapisati "1", da ponovno omogočite sprejem podatkov. Prejemanje paketa SETUP je vedno dovoljeno. V primeru povratnih paketov SETUP (za dano končno točko), kjer je prejet veljaven paket SETUP z drugimi znaki, ki niso SETUP, sprejemna končna točka zavrže nov paket SETUP in vrne ACK. Če v katerem koli drugem primeru sprejemni stroj stanja ne more sprejeti paketa SETUP, potem ni mogoče ustvariti nobenega HANDSHAKE-a.

    IGN_SETUP. Ignoriranje znaka SETUP. Ko je ta bit nastavljen, bo končna točka prezrla vse znake SETUP, naslovljene na njen konfigurirani naslov.

    IZPIRANJE. Zapisovanje 1 v ta bit počisti vse podatke iz nadzorne kontrolne točke FIFO, ponastavi končno točko v stanje mirovanja in počisti bralne in pisalne kazalce FIFO. Če krmilnik plasti omrežne arhitekture (MAC) trenutno uporablja FIFO0 za sprejemanje podatkov, je izpiranje odloženo, dokler se prejemanje ne konča.

    RFWL1-0. Prejmite omejitev opozorila o kršitvi FIFO. Ti biti določajo, koliko bajtov je mogoče prejeti iz ustreznega FIFO, preden pride do stanja prekinitve. Če je število praznih bajtov, ki ostanejo v FIFO, enako ali manjše od izbrane meje, pri kateri se pojavi opozorilo o kršitvi, je bit RXWARN v registru FWEV nastavljen.

    Tabela 9. Nastavitev omejitve opozorila o kršitvi FIFO za prejemanje

    7.2.26 Prenos podatkovnega registra X (RXD1, RXD2, RXD3)

    Vsaka od treh sprejemnih končnih točk FIFO ima en sprejemni podatkovni register z biti, opisanimi spodaj.

    bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
    RXFD
    -
    r/w

    RXFD. Prejmite podatkovni bajt FIFO. Za opis obdelave podatkov končne točke FIFO glejte »Operacije prejemanja končne točke (RXFIFO1, RXFIFO2, RXFIFO3)« v razdelku 6.2.2.

    Vdelana programska oprema pričakuje le branje uporabnega podatkovnega paketa. PID in CRC16 prekine sprejemni stroj stanja.

    7.3 Postavitev registrov

    Tabela 10 navaja vse registre naprav, njihove naslove in njihove okrajšave.

    Tabela 10. Pomnilniška kartica USB N9603/4

    Naslov Registrirajte mnemotehniko Registrirajte ime
    0x00 MCNTRL Sedež
    0x01 CCONF Konfiguracija ure
    0x02 rezerviran
    0x03 RID ID spremembe
    0x04 DALEČ Funkcionalni naslov
    0x05 NFSR Funkcionalno stanje vozlišča
    0x06 MAEV Glavni dogodek
    0x07 MAMSK Glavna maska
    0x08 ALTEV Interleave dogodek
    0x09 ALTMSK Prepletna maska
    0x0A TXEV Transfer dogodek
    0x0B TXMSK Prenosna maska
    0x0C RXEV Prejmi dogodek
    0x0D RXMSK Sprejem maske
    0x0E NAKEV dogodek NAK
    0x0F NAKMSK NAK maska
    0x10 FWEV Opozorilni dogodek kršitve FIFO
    0x11 FWMSK Opozorilna maska ​​FIFO
    0x12 FNH Visoki bajt številke okvirja
    0x13 FNL Nizki bajt številke okvirja
    0x14 DMACNTRL Upravljanje DMA
    0x15 DMAEV dogodek DMA
    0x16 DMAMSK DMA maska
    0x17 MIR Ogledalo
    0x18 DMACNT števec DMA
    0x19 DMAERR Števec napak DMA
    0x1A rezerviran
    0x1B WKUP Vključevanje
    0x1C - 0x1F rezerviran
    0x20 EPC0 Upravljanje končne točke 0
    0x21 TXD0 Prenos podatkov 0
    0x22 TXS0 Stanje prenosa 0
    0x23 TXC0 Pošlji ukaz 0
    0x24 rezerviran
    0x25 RXD0 Sprejem podatkov 0
    0x26 RXS0 Stanje sprejema 0
    0x27 RXC0 Sprejmi ukaz 0
    0x28 EPC1 Upravljanje končne točke 1
    0x29 TXD1 Prenos podatkov 1
    0x2A TXS1 Stanje prenosa 1
    0x2B TXC1 Pošlji ukaz 1
    0x2C EPC2 Upravljanje končne točke 2
    0x2D RXD1 Prejmi podatke 1
    0x2E RXS1 Prejemanje stanja 1
    0x2F RXC1 Sprejmi ukaz 1
    0x30 EPC3 Upravljanje končne točke 3
    0x31 TXD2 Prenos podatkov 2
    0x32 TXS2 Stanje prenosa 2
    0x33 TXC2 Ukaz za prenos 2
    0x34 EPC4 Upravljanje končne točke 4
    0x35 RXD2 Prejmi podatke 2
    0x36 RXS2 Prejemanje stanja 2
    0x37 RXC2 Prejmi ukaz 2
    0x38 EPC5 Upravljanje končne točke 5
    0x39 TXD3 Prenos podatkov 3
    0x3A TXS3 Stanje prenosa 3
    0x3B TXC3 Ukaz za prenos 3
    0x3C EPC6 Upravljanje končne točke 6
  • Zadnjič smo razmišljali o možnosti povečanja izhodov mikrokontrolerja s pomočjo dekodirnega čipa, danes pa bomo razmislili o naprednejši različici na registru premika 74HC595. Z uporabo samo enega mikrovezja imate lahko na voljo dodatnih 8 izhodov, pri čemer uporabite samo 3 noge mikrokontrolerja. In zahvaljujoč razširljivosti se lahko z dodajanjem drugega mikrovezja število izhodov poveča na 16. Če ni dovolj, lahko dodate tretjega in dobite 24 izhodov za uporabo, ta trik pa lahko ponovite kolikor želite . Hkrati bo število zasedenih krakov mikrokontrolerja ostalo 3, lepota!

    Torej, poglejmo podrobneje dodelitev pinov mikrovezja in se naučimo, kako krmiliti preklopni register 74hc595 v Bascom-AVR.

    Za začetek se seznanimo s sklepi mikrovezja ali bolje rečeno z njihovo funkcionalnostjo. Spodaj je izrezek iz podatkovnega lista na 74hc595 z oznako zatičev mikrovezja:


    • Q0…Q7– izhodi, ki bodo nadzorovani. Lahko so v treh stanjih: logična ena, logična ničla in stanje visokega upora Hi-Z
    • GND- Zemlja
    • Q7′– izhod namenjen serijski povezavi registrov.
    • GOSPOD- ponastavitev registra.
    • SH_CP– vhod za taktne impulze
    • ST_CP- vnos "zaskočnih" podatkov
    • OE– vhod, ki prenese izhode iz HI-Z v delovno stanje
    • D.S.– vnos podatkov
    • VCC- 5 voltno napajanje

    Logika registracije

    Ko je na vhodu ure SH_CP pojavi se logični bit, ki se nahaja na vhodu podatkov D.S. brati iz in pisati v premikalni register. Ta bit je zapisan v najmanj pomemben bit. Ko naslednji impulz visoke ravni prispe na vhod ure, se naslednji bit iz vhoda podatkov zapiše v premični register. In bit, ki je bil prej posnet, se premakne za en bit v levo, novo prispeli bit pa zavzame njegovo mesto. Naslednji taktni impulz bo zapisal tretji bit, prejšnja dva pa se bosta premaknila naprej. Ko je vseh osem bitov zapolnjenih in pride deveti taktni impulz, se register ponovno začne polniti od najmanj pomembnega bita in vse se znova ponovi. Kakšni podatki bi se pojavili na izhodih Q0…Q7 jih morate "pripeti". Če želite to narediti, morate na vhod uporabiti logično enoto ST_CP.

    - GOSPOD ponastavi register in nastavi vse izhode Q0…Q7 v stanje logične ničle. Za ponastavitev morate na ta vhod uporabiti logično ničlo in na vhod uporabiti pozitivni impulz ST_CP. Zelo uporabna funkcija, saj se pri napajanju mikrovezja na izhodu pojavi določena poljubna vrednost. Pri delu z registrom mora biti ta pin logična enota.

    - OE(omogoči izhod), če tukaj uporabite logiko 1, bodo izhodi v stanju visokega upora HI-Z. Ko na ta vhod uporabimo logično 0, bodo izhodi v delovnem stanju.

    - Q7' zasnovan za serijsko povezavo premičnih registrov.

    Ampak bolje je enkrat videti kot dvakrat prebrati =) zato si poglejmo animacijo:


    Delo z registrom na čelu

    Pri obvladovanju dela z neznanim mikrovezjem je pogosto koristno delati na čelu, to je neposredno trzanje krmilnih nog, kar vam omogoča, da bolje razumete načela dela s predmetom. Tako sem po logiki dela napisal program, ki bo moral na izhod registra izpisati binarno število 10010010

    $regfile = "attiny2313.dat"
    $kristal = 1000000

    konfiguracija portb= Izhod

    Sh_cpvzdevek portb. 3 "noga za urne impulze
    Dsvzdevek portb. 2 "noga za izpis podatkov
    St_cpvzdevek portb. 0 »nogo za »zapahovanje« podatkov v register hrambe


    "izhod skozi register števila 146 (v binarni predstavitvi 10010010)

    St_cp= 0 "postavite nogo v način snemanja podatkov

    Ds= 1 "nastavite prvi bit
    Sh_cp= 0 "daj impulz izhodu ure
    Sh_cp= 1

    Ds= 0 "nastavite drugi bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "nastavite tretji bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 1 "nastavite četrti bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "nastavite peti bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "nastavite šesti bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 1 "nastavite sedmi bit
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "nastavite osmi bit
    Sh_cp= 0
    Sh_cp= 1

    St_cp= 1 "Zakleni vnesene podatke

    Konec


    prevedemo, všijemo v mikrokrmilnik ali pogledamo v simulator in vidimo našo kombinacijo na izhodu.


    Deluje, poslana številka se je pojavila na izhodu registra!

    Delo z registrom na ta način, čeprav je možno, je preveč okorno in zavzame veliko programskega pomnilnika. Po drugi strani pa jasno prikazuje celotno metodologijo dela s tem mikrovezjem. Razmislimo o primernejši metodi.

    Upravljanje registra 74HC595 v Bascomu prek ukaza ShiftOut

    Bascom-AVR ima čudovit ukaz za delo z vsemi vrstami serijskih vmesnikov SHIFTOUT
    Ta ukaz sam razgradi število na bitne komponente in jih zaporedno izpiše na kateri koli pin mikrokrmilnika, hkrati pa lahko izda taktne impulze. Za delo s premičnimi registri, to je to! Sintaksa ukaza:

    SHIFTOUT Datapin, Clockpin, var, možnost


    Datapin - vrata mikrokrmilnika za izpis podatkov

    Clockpin - vrata mikrokrmilnika za izhod ure

    Var - podatek, ki ga želimo poslati v register

    Možnost - številka od 0 do 3, ta parameter izbere vrstni red, v katerem bodo podatki vneseni v register, in aktivno raven v vrstici Clock, na kateri je zapisan bit:
    option=0 - najpomembnejši bit je prvi, Ura aktivno nizko
    možnost=1 -
    visok bit gre najprej, Ura aktivna raven visoka
    možnost=2 -
    nizek bit gre najprej, Ura aktivno nizko
    možnost=3 -
    nizek bit gre najprej, Ura aktivna raven visoka

    V našem primeru mora biti za delo z registrom 74HC595 parameter možnosti nastavljen na 1 ali 3.

    Za zaklepanje podatkov v registru uporabite ukaz Pulse Out. Ta ukaz pošlje impulz na nogo mikrokrmilnika z danim trajanjem. Konfiguracija ukaza izgleda takole:

    Sedaj izpišemo številko 10010001 (145 v decimalki) na izhod registra, povezanega z mikrokontrolerjem po zgornji shemi:

    $regfile = "attiny2313.dat"
    $kristal = 1000000

    Dim A Kotbajtov
    konfiguracija portb= Izhod

    A= 145

    gosub Hc595 "Pojdimo na podprogram za pošiljanje podatkov

    Konec

    Hc595: "podprogram za pošiljanje podatkov

    Shiftout portb. 2, vratab. 3, A, 1 "pošiljanje podatkov za registracijo
    Pulseout portb, 0, 5 "zaklepanje podatkov
    vrnitev

    Po utripanju mikrokontrolerja lahko vidite podobno sliko, poslana bitna kombinacija je nastavljena na izhodu premikalnega registra.


    Kot lahko vidite, je nadzor premikalnega registra 74HC595 v Bascomu sestavljen iz samo dveh vrstic kode in ne predstavlja nobenih težav.

    Povečanje bitne globine