Регистрирайте 1 и 2 алкохолни остатъци. Регистрира egais


7.2 Трансферни регистри

7.2.1 FIFO регистър на предупредителните събития (FWEV)

бит 7
RXFIFO3
бит 6
RXFIFO2
бит 5
RXFIFO1
бит 4
-
бит 3
TXFIFO3
бит 2
TXFIFO2
бит 1
TXFIFO1
бит 0
-
RXWARN3-1 резерва TXWARN3-1 резерва
0 0 0 - 0 0 0 -
r - r -

TXWARN.Предупреждение за повреда на трансмисията. Задайте на "1", когато съответната предаваща крайна точка FIFO е надхвърлила ограничението, определено от бита TFWL в регистъра TXCx и предаването от съответната крайна точка е разрешено. Този бит се изчиства, когато условието за предупреждение е изчистено, или чрез записване на нови данни във FIFO, когато FIFO е изчистено, или след завършване на прехвърлянето, както е посочено от бита TX_DONE в регистъра TXSx.

RXWARN.Предупреждение за нарушение на приема. Задайте на "1", когато съответната предаваща крайна точка FIFO е надхвърлила ограничението, определено от бита RFWL в регистъра EPCx. Този бит се изчиства, когато условието за предупреждение се изчисти чрез четене на данни от FIFO или когато FIFO се изчисти.

7.2.2 FIFO регистър на предупредителната маска (FWMSK)

Когато съответният бит в регистъра FWEV е зададен, WARN се задава в регистъра MAEV. Когато се изчисти, съответният бит в регистъра FWEV не задава WARN.

бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
Същото битово описание като в FWEV регистър
0 0 0 0 0 0 0 0
r/w

7.2.3 Най-значим регистър на номер на рамка (FNH)

бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
MF УЛ RFC запазено FN10-8
1 1 0 - 0 0 0
r r w/r - r

F.N.Номер на рамката. Това е номерът на текущия получен кадър в последния SOF пакет. Ако валиден номер на рамка не бъде получен по време на 12060 бита (максимална дължина на рамката, FLMAX) от предишния обмен, тогава номерът на рамката се увеличава изкуствено. Ако два последователни кадъра липсват или са невалидни, тогава текущият FN се "замразява" и се зарежда с номера на кадъра от SOF пакета.

Ако ниският байт на номера на рамката е прочетен от фърмуера преди прочитането на FNH регистъра, тогава потребителят всъщност чете съдържанието на буферен регистър, който съдържа стойността на трите бита от номера на рамката на този регистър, когато ниският байт беше прочетено. Правилната последователност за четене на номера на рамката е: FNL, FNH. Операциите за четене за регистъра FNH, без първоначално четене на регистъра с нисък байт (FNL) на номера на рамката, четат действителната стойност на трите най-малко значими бита в номера на рамката. При нулиране FN е зададен на "0".

RFC.Нулирайте брояча на кадрите. Задаването на този бит нулира номера на рамката на 0x0000, след което този бит се изчиства сам. Този бит винаги се чете като "0".

УЛ.Флаг за отключване. Този бит показва, че са получени поне два кадъра без очаквания номер на кадър или че не е получен валиден SOF в рамките на времето от 12060 бита. Ако този бит е зададен, тогава номерът на рамката от следващия валиден пакет се зарежда в FN. При нулиране този флаг е зададен на "1".

MF.Загуба на знамето на SOF. Този бит се задава, когато номерът на рамката в получения SOF пакет не е равен на очакваната стойност или когато не е получен SOF в рамките на времето за пристигане от 12060 бита. При нулиране този флаг е зададен на "1".

7.2.4 Нисък байт (FNL) регистър на номер на рамка

Този регистър съдържа младия байт на номера на рамката, както е описано по-горе. За да се осигури последователност, четенето на този нисък байт кара трите бита от номера на рамката в регистъра FNH да бъдат фиксирани, докато регистърът се чете. Правилната последователност за четене на номера на рамката е: FNL, FNH. При нулиране FN е зададен на "0".

бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
FN7-0
0 0 0 0 0 0 0 0
r

7.2.5 Функционален адресен регистър (FAR)

Този регистър задава функционалния адрес на устройството. Различните номера на крайни точки се задават индивидуално чрез контролния регистър на крайните точки.

бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
AD_EN AD6-0
0 0 0 0 0 0 0 0
r/w r/w

AD.Адрес. Това поле съдържа 7-битов функционален адрес, използван за предаване и получаване на всички символи, адресирани до устройството.

AD_EN.разрешение за адресиране. Когато битът е настроен на "1", битовете AD6-0 се използват при сравнението на адреси (вижте раздел 6.2 за подробности). Когато е изчистено, устройството не отговаря на нито един знак в шината.

Забележка: Ако битът DEF в контролен регистър на контролна точка 0 е зададен, тогава крайна точка 0 отговаря на адреса по подразбиране.

7.2.6 DMA контролен регистър (DMACNTRL)

бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
ДЕН 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. DMA източник. Полето DMA Source Bits съдържа двоична стойност, която указва коя крайна точка, 1...6, е достъпна за DMA поддръжка. DSRC битовете се изчистват при нулиране. Таблица 7 изброява битовите настройки на DSRC.

Таблица 7. Описание на DSRC битове

DSRC Номер на крайна точка
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 х запазено

DMOD. DMA режим. Този бит определя кога се появява DMA заявка. Ако е изчистено, тогава се появява DMA заявка, когато прехвърлянето приключи. За предаване на крайни точки EP1, EP3 и EP5 данните са напълно прехвърлени, както е посочено от бита TX_DONE (за запълване на FIFO с нови данни, които да бъдат изпратени). За EP2, EP4 и EP6 приемащи крайни точки това отразява RX_LAST бита. Когато битът DMOD е зададен, DMA заявка възниква, когато е зададен съответният бит за предупреждение FIFO. DMOD битът се изчиства при нулиране.

DMA заявката от предаващата крайна точка е разрешена, докато състоянието на заявката не бъде изчистено. Ако DMOD е настроен на "0", тогава DMA заявките се появяват или докато фърмуерът чете съответния регистър за състояние на предаване (TXSx), като по този начин изчиства бита TX_DONE, или ако битът TX_LAST в регистъра на командите за предаване (TXCx), инсталиран от хардуерно реализиран софтуер. Ако битът DMOD е настроен на "1", тогава DMA заявките се появяват, докато предупредителните условия за FIFO са изчистени, или причинени от изпращане на достатъчно байтове към крайната точка, или ако битът TX_DONE е зададен поради предаване.

DMA заявката от предаващата крайна точка е разрешена, докато състоянието на заявката не бъде изчистено. Ако DMOD е настроен на "0", тогава DMA заявките се появяват или докато фърмуерът прочете съответния регистър за състояние на получаване (RXSx), като по този начин изчисти бита RX_LAST, или ако FIFO стане празен поради достатъчно цикли на четене. Ако битът DMOD е настроен на "1", тогава DMA заявките се повдигат, докато предупреждението за нарушение на FIFO се изчисти или ако крайната точка на FIFO стане празна поради достатъчно цикли на четене.

Ако DMOD е настроен на "0" и крайната точка и DMA са активирани, тогава се появява DMA заявка, докато фърмуерът чете съответния регистър TXSx или RXSx, като по този начин изчиства бита TX_DONE/RX_LAST. Ако DMOD битът е настроен на "1" и крайната точка и DMA са разрешени, тогава се появява DMA заявка, докато се появи предупреждението за нарушение на FIFO.

ADMA.Автоматичен DMA. Задаването на този бит автоматично активира избраната крайна точка за получаване или предаване. Преди да активирате режим ADMA, битът DEN в контролния регистър на DMA (DMACNTRL) трябва да бъде изчистен. Режимът ADMA работи, докато всеки бит, различен от NTGL, е зададен в регистъра на събитията на DMA (DMAEV). За да инициализирате режим ADMA, всички битове освен NTGL в регистъра DMAEV трябва да бъдат изчистени.

За операции по получаване, приемникът се включва автоматично; когато се получи пакет, той се прехвърля чрез DMA към паметта.

За операции по прехвърляне пакетът данни се изпраща чрез DMA от паметта; предавателят се включва автоматично.

Когато дадено устройство влезе в режим ADMA, всяко съществуващо състояние на крайна точка може да бъде загубено. Ако вече има данни във FIFO, те се изхвърлят. Текущото състояние на RX_EN и TX_EN също може да се промени.

Изчистването на ADMA извежда устройството от режим ADMA. DEN може да се изчисти по същото време или по-късно. Ако в същото време, тогава всички DMA операции спират незабавно и фърмуерът трябва да изпрати всички останали данни. Ако по-късно, устройството ще завърши всяка текуща DMA операция, преди да излезе от режим ADMA (вижте описанието на бита DSHL в регистъра DMAEV).

DTGL. DMA превключвател. Този бит се използва за определяне на състоянието на ADMA операции по време на инициализация. При инициализацията фърмуерът задава този бит на "1", ако започва с операция DATA1 и на "0", ако започва с операция DATA0.

Записването на този бит също актуализира NTGL бита в регистъра DMAEV.

IGNRXTGL.Игнориране на RX превключване. Ако този бит е зададен, тогава сравнението между бита NTGL в регистъра DMAEV и бита TOGGLE в съответния регистър RXSx се игнорира по време на операции за получаване. В този случай несъответствието на двата бита по време на операция за получаване няма да спре ADMA операцията. Ако този бит не е зададен, тогава ADMA спира при битово несъответствие. След нулиране този бит се настройва на "0".

7.2.7 Регистър на DMA събития (DMAEV)

Битовете в този регистър се използват в режим ADMA. Битове 0…3 може да предизвикат прекъсване, ако не са изчистени, дори ако устройството не е задало режим ADMA. Докато всички тези битове не бъдат изчистени, ADMA режимът не може да бъде инициализиран. Режимът ADMA автоматично завършва, когато някой от тези битове е зададен.

бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
запазено NTGL резерва DSIZ DCNT DERR DSHLT
- 0 - 0 0 - 0
- r - Крава Крава Крава Крава

DSHLT.Плавно спиране DMA. Този бит се задава, когато ADMA операциите са спрени от фърмуера. Този бит се задава само след като DMA машината е завършила всички необходими операции по почистване и се е върнала в неактивно състояние. Извършва се при следните условия:

  • Ако битът ADMA е изчистен (и DEN остава зададен). В този случай текущата операция приключва. Това означава, че всички данни във FIFO се прехвърлят в паметта чрез DMA. Битът DSHLT се задава само след това. Имайте предвид, че DEN остава зададен и може да се наложи да бъде изчистен по-късно.
  • Ако DEN е изчистено (ADMA може или да остане зададено, или може да бъде изчистено едновременно). Това спира всички DMA операции и незабавно задава бита DSHLT. Ако тези данни са във FIFO, те се съхраняват, но не се предават.
  • Ако фърмуерът се опита да прочете, запишете подходящите регистри EPCx, TXCx, RXCx, TXCx или RXSx (когато DEN и ADMA в регистъра DMACNTRL са зададени). Това спира всички DMA операции и незабавно задава бита DSHLT. Операция за четене или запис няма ефект.

    DERR. DMA грешка. Този бит е настроен да показва, че пакетът е получен или изпратен неправилно. Също така се задава, ако битът TOGGLE в регистъра RXSx/TXSx не е равен на бита NTGL в регистъра DMAEV след изпращане/получаване на пакет. (Имайте предвид, че това сравнение се прави преди битовото състояние на NTGL да се промени поради предаване на пакет).

    За получаване DERR е еквивалентен на RX_ERR. За предаване е еквивалентен на TX_DONE (настроен) и ACK_STAT (не е настроен). Ако битът AEH в регистъра за брояч на грешки на DMA (DMAERR) е зададен, тогава DERR няма да бъде зададен, докато DMAERRCNT в регистъра DMAERR не бъде изчистен и не бъде открита друга грешка. Грешките се обработват, както е дефинирано в регистъра DMAERR.

    DCNT. DMA брояч. Този бит се задава, когато регистърът на брояча на DMA (DMACNT) е "0" (вижте регистъра DMACNT).

    DSIZ. DMA размер. Този бит е релевантен само за операции за получаване на DMA. Това показва, че полученият пакет е по-малък от общата дължина на FIFO. Обикновено показва края на много пакетно предаване.

    NTGL.следващ превключвател. Този бит определя състоянието на превключване при изпращане на следващия пакет данни (ако се изпраща) или състоянието на превключване при изчакване на следващия пакет данни (ако се получава). Този бит се инициализира чрез запис на бита DTGL в регистъра DMACNTRL. След това променя състоянието всеки път, когато се изпрати или получи пакет на крайната точка, избрана в момента от DSRC2-0. Ако операция за запис на DTGL се случи едновременно с операция за актуализиране на битове, тогава операцията за запис има предимство.

    Ако се извършва предаване по време на ADMA операции, тогава битът DTGL презаписва съответния бит TOGGLE в регистъра TXCx. Това гарантира правилни данни за превключване на USB.

    Имайте предвид, че няма съответни маскиращи битове за тези събития, тъй като те не се използват за генериране на прекъсване.

    7.2.8 Регистър на DMA маска (DMAMSK)

    Всеки бит, зададен на "1" в този регистър, автоматично настройва бита DMA в регистъра ALTEV, когато настъпи съответното събитие в регистъра DMAEV. В противен случай настройката на DMA бита е деактивирана. Описание на битове 0…3, виж регистър DMAEV.

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

    7.2.9 Огледален регистър (MIR)

    Този регистър е само за четене. Простото четене не променя състоянието на регистъра TXSx или RXSx, фърмуерът е безплатен за проверка на състоянието на канала.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    СТАТИСТИКА
    -
    r
  • СТАТИСТИКА.състояние. Това поле отразява битовете за състоянието на предавателя или приемника, избрани в полето DSRC2-0 в регистъра DMACNTRL (DMA не трябва да е активен или разрешен). Съответства на TXSx или RXSx.

    7.2.10 Регистър на брояча на DMA (DMACNT)

    Този регистър определя максималния брой, определен за ADMA операции.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    AEH DMAERRCNT
    0 0 0 0 0 0 - 0
    r/w r/w

    DCOUNT. DMA брояч. Това поле се намалява при завършване на DMA операция, докато стане 0. Битът DCNT в регистъра на събитията на DMA след това се задава само когато следващата DMA операция е успешно завършена. Този регистър не губи своето значение.

    За операции на получаване този брояч се намалява, когато пакетът е получен успешно и след това се прехвърля в паметта чрез DMA.

    За операции по прехвърляне този брояч се намалява, когато пакет се прехвърля от паметта чрез DMA и след това се изпраща успешно.

    DCOUNT трябва да бъде зададено както следва: DCOUNT = (номер на пакет за изпращане) -1

    Ако DMACNT операция за запис се появи едновременно с операция за намаляване, тогава операцията за запис има предимство.

    7.2.11 Регистър за грешки в DMA (DMEARR)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    FHT HOS WKMODE резерва ENUC ENUSB PNDUC PND USB
    0 0 0 - 1 1 1 1
    w/r0 w/r w/r - w/r w/r Крава Крава

    DMAERRCNT. DMA брояч на грешки. Във връзка с възможността за обработка на аритметични грешки, този брояч определя максималния брой последователни грешки на шината, преди да спре режим ADMA. Фърмуерът може да настрои 7-битовия брояч на предварително зададена стойност. След като ADMA стартира, броячът се намалява с 1 от предварително зададената стойност всеки път, когато се открие грешка в шината. Всеки успешен преход нулира брояча обратно към предварително зададената стойност. Когато режим ADMA бъде спрян, броячът също се връща на предварително зададената стойност.

    Ако броячът достигне 0 и бъде открит друг грешен пакет, битът DERR в регистъра на събитията DMA се задава. Подробности в раздел 7.2.7. Този регистър не губи своето значение.

    DMAERRCNT трябва да се настрои както следва: DMAERRCNT = 3D (максимален опит за изпращане) - 1

    Достъпът за запис до този регистър е възможен само когато ADMA е неактивен. В противен случай се игнорира. Четенето от този регистър, докато ADMA е активен, връща текущата стойност на брояча. Четенето от регистър, когато ADMA е неактивен, връща предварително зададената стойност. Броячът се намалява само ако е зададен AEH (автоматичното обработване на грешки е активирано).

    Автоматично обработване на грешки. Този бит има две различни значения в зависимост от текущия режим на преход:

  • Неизохронен режим

    Този режим се използва за прехвърляне на големи масиви, прекъсвания и управление. Задаването на AEH в този режим позволява автоматична обработка на пакети, съдържащи CRC или грешки при съвпадение на битове.

    Ако този бит е зададен по време на операции по предаване, тогава устройството автоматично презарежда FIFO и пренарежда опашката от пакети, за които главният контролер не е върнал ACK. Ако този бит е изчистен, автоматичното обработване на грешки е деактивирано.

    Ако този бит е зададен по време на операции за получаване, тогава пакет, получен по погрешка (както е дефиниран от описанието на бита DERR в регистъра DMAEV), автоматично се изчиства от FIFO, за да се получи отново този пакет. Ако този бит е изчистен, автоматичното обработване на грешки е деактивирано.

  • Изохронен режим

    Задаването на този бит позволява на устройството да игнорира пакети, получени с грешки (както е дефинирано от описанието на бита DERR в регистъра DMAEV).

    Ако този бит е зададен по време на операции за получаване, тогава устройството автоматично изчиства и нулира FIFO, за да получи следващия пакет. Грешният пакет се игнорира и не се предава през DMA. Ако този бит е изчистен, автоматичното обработване на грешки е деактивирано.

    7.2.12 Разрешаване на регистър (WKUP)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    СЕРГИЯ DEF запазено EP3-0
    0 0 - 0 0 0 0 0
    r/w r/w - r; хардуер на "0"

    ПНДУСБ.Очаквано активиране на USB. Този бит показва, че това устройство ще се захранва от USB активност. Той също така изпраща сигнал за искане за прекъсване при събуждане. Битът PNDUSB трябва да бъде изчистен от главния контролер с запис "0". Твърдо нулиране задава този бит.

    PNDUC.Изчаква се включването на микроконтролера. Този бит показва, че устройството ще бъде включено, когато бъде поискано от микроконтролера. Той също така изпраща сигнал за искане за прекъсване при събуждане. Битът PNDUC трябва да бъде изчистен от главния контролер с въвеждане "0". Твърдо нулиране задава този бит.

    ENUSB. USB резолюция. Когато е зададен на "1", този бит позволява на устройството да се включва, когато бъде открита USB активност.

    ENUC.резолюция на микроконтролера. Когато е зададен на "1", този бит позволява устройството да бъде включено, когато микроконтролерът има достъп до устройството.

    WKMODE.Активирайте режима. Този бит избира интервала, след който устройството генерира прекъсване при включване (ако е разрешено), когато възникне събитие при включване, както е показано по-долу:

    0 - Генерира незабавно прекъсване при включване

    1 - Генерира прекъсване при включване след закъснение при включване

    HOS.Стоп на окачването. Когато този бит е зададен, устройството влиза в режим на спиране веднага щом влезе в спряно състояние. Писането на "1" в окачено състояние няма ефект.

    FHT.Принудително спиране. Когато хостът не е свързан (NAT в регистъра MCNTRL е настроен на "0"), настройката на този бит поставя хоста в режим Halt. Когато хостът е свързан (NAT към "1"), записът "1" се игнорира.

    7.2.13 Контролен регистър на крайна точка 0 (EPC0)

    Този регистър контролира крайна точка 0.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    резерва ACK_STAT TX_DONE TCOUNT4-0
    - 0 0 0 0 0 0 0
    - КР КР r

    еп.крайна точка. Това поле съдържа 4-битов адрес на крайна точка. За крайна точка 0 тези битове са зададени на 0000b от хардуера.

    DEF.Адрес по подразбиране. Когато битът е зададен, устройството отговаря на адреса по подразбиране, независимо от съдържанието на полетата FAR6-0/EP03-0.Когато IN символ е изпратен за крайна точка, битът DEF се изчиства автоматично.

    Този бит подпомага прехода от адреса по подразбиране към зададения адрес. Прескачането от адреса по подразбиране 00000000000b към адреса, указан по време на номерирането на шината, може да се провали в средата на последователността за избягване на SET_ADDRESS. Това е необходимо за завършване на контролната последователност. Въпреки това, адресът трябва да бъде променен веднага след края на тази последователност, за да се избегнат грешки, когато друга управляваща последователност веднага следва командата SET_ADRESS.

    При USB нулиране фърмуерът има 10 ms за инсталиране и трябва да запише 0x80 в регистъра FAR и 0x00 в регистъра EPC0. При получаване на командата SET_ADRESS фърмуерът трябва да запише 0x40 в регистъра EPC0 и 0x80 в регистъра FAR.

    СЕРГИЯ.

    1. - FIFO за предаване е активиран и е получен знак IN.

    2. - Получаване на FIFO активирано и получен OUT знак.

    Забележка:

    При предаване на потвърждение на сигнала STALL се задават битовете RX_LAST и TX_DONE в съответните регистри за статус на предаване/приемане.

    7.2.14 Регистър за състояние на предаване 0 (TXS0)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    запазено IGN_IN ПРОМИВАЙТЕ ПРЕВКЛЮЧВАНЕ резерва TX_EN
    - 0 0 0 0 0 - 0
    - r/w r/w HW r/w - r/w HW

    TCOUNT.Брояч на трансфери. Този бит показва броя на наличните празни байтове във FIFO. Това поле никога не надвишава 8 за крайна точка 0.

    TX_DONE.Прехвърлянето приключи. Когато битът е зададен, това показва, че целият пакет е бил предаден. Изчиства се при четене на този регистър.

    ACK_STAT.Състояние на потвърждение. Този бит показва състоянието, получено от главния контролер, на потвърждение за получаване на предварително изпратен пакет. Този бит се интерпретира, когато TX_DONE е настроен на "1". Задава се при получаване на потвърждение; в противен случай остава пречистен. Този бит също се изчиства, когато този регистър се чете.

    7.2.15 Регистър на команди за предаване 0 (TXC0)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    запазено IGN_IN ПРОМИВАЙТЕ ПРЕВКЛЮЧВАНЕ резерва TX_EN
    - 0 0 0 0 0 - 0
    - r/w r/w HW r/w - r/w HW

    TX_EN.Разрешение за прехвърляне. Този бит позволява трансфер на данни от FIFO. Той се изчиства от чипа след предаване на единичен пакет или потвърждаване на STALL в отговор на знака IN. Трябва да се настрои от фърмуера, за да започне предаването на пакета. Битът RX_EN в регистъра на командите за получаване 0 (RXC0) отменя този бит; защото ако RX_EN е зададен, тогава битът TX_EN се игнорира, докато RX_EN не бъде изчистен.

    Пакетите с нулева дължина се показват, когато този бит е зададен, без да се записват никакви FIFO данни.

    ПРЕВКЛЮЧВАНЕ.

    ПРОМИВАЙТЕ.Записването на 1 в този бит изчиства всички данни от контролната контролна точка FIFO, нулира крайната точка в състояние на неактивност, изчиства указателите за четене и запис на FIFO и след това се изчиства. Ако крайната точка в момента използва FIFO0 за прехвърляне на данни към USB, тогава промиването се забавя, докато прехвърлянето приключи. Този бит се изчиства при нулиране. Той е еквивалентен на бита FLUSH в регистър RXC0.

    IGN_IN.Игнориране на знака IN. Когато този бит е зададен, крайната точка ще игнорира всеки знак IN, насочен към нейния конфигуриран адрес.

    7.2.16 Регистър на данни за предаване 0 (TXD0)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    TXFD
    -
    r/w

    TXFD.Прехвърляне на FIFO байт данни. За описание на обработката на данни вижте „Двупосочни операции на крайна точка за управление на FIFO0“ в раздел 6.2.2.

    Фърмуерът очаква да бъде записан само полезният пакет данни. PID и CRC16 се генерират автоматично.

    7.2.17 Регистър на състоянието на получаване 0 (RXS0)

    Това е регистърът за състояние на получаване за двупосочна контролна крайна точка 0. За получаване на пакет SETUP след получаване на пакет OUT/SETUP с нулева дължина има две хардуерни копия на този регистър. Единият съдържа състоянието на получаване на пакет с нулева дължина, а другият съдържа състоянието на следващия SETUP пакет с данни. Ако пакет с нулева дължина следва пакет SETUP, тогава първото четене на този регистър показва състоянието на пакета с нулева дължина (с RX_LAST, настроен на "1" и RCOUNT, настроен на "0"), а второто четене показва състояние на пакета SETUP.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    резерва НАСТРОЙВАМ ПРЕВКЛЮЧВАНЕ RX_LAST RCOUNT3-0
    - 0 0 0 0 0 0 0
    - КР КР КР r

    RCOUNT.Рецепция. Този бит показва броя на байтовете в RX FIFO. Това поле никога не надвишава 8 за крайна точка 0.

    RX_LAST.

    ПРЕВКЛЮЧВАНЕ.Този бит определя използването на PID при предаване на пакет. Стойност "0" генерира DATA0 PID, а стойност "1" генерира DATA1 PID. Този бит не се променя от хардуера.

    НАСТРОЙВАМ.Този бит показва, че е получен инсталационен пакет. Този бит е непроменен за пакет с нулева дължина. Този бит се изчиства при четене на този регистър.

    7.2.18 Получаване на команден регистър 0 (RXC0)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    запазено ПРОМИВАЙТЕ IGN_SETUP IGN_OUT RX_EN
    - 0 0 0 0
    - r/w r/w r/w r/w HW

    RX_EN.Разрешение за приемане. Получаването на OUT символ е деактивирано след получаване на всеки пакет данни или когато се върне потвърждение STALL в отговор на OUT знак. Пакетите с нулева дължина се показват, когато този бит е зададен, без да се записват никакви FIFO данни. Трябва да се запише "1" в този бит, за да се активира отново приемането на данни. Получаването на SETUP пакет винаги е разрешено. В случай на двупосочни SETUP пакети (за дадена крайна точка), където е получен валиден SETUP пакет с други не-SETUP символи, контролерът на крайната точка отхвърля новия SETUP пакет и връща ACK. Това осигурява възстановяване от състояние, при което ACK на първия SETUP знак е изгубен от главния контролер.

    ПРОМИВАЙТЕ.Записването на 1 в този бит изчиства всички данни от контролната контролна точка FIFO, нулира крайната точка в състояние на неактивност, изчиства указателите за четене и запис на FIFO и след това се изчиства. Ако крайната точка в момента използва FIFO0 за прехвърляне на данни към USB, тогава промиването се забавя, докато прехвърлянето приключи. Този бит се изчиства при нулиране. Той е еквивалентен на бита FLUSH в регистъра TXC0.

    IGN_OUT.Игнорирайте знака OUT. Когато този бит е зададен, крайната точка ще игнорира всеки OUT знак, насочен към нейния конфигуриран адрес.

    IGN_SETUP.

    7.2.19 Регистър на данни за предаване 0 (RXD0)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    RXFD
    -
    r/w

    RXFD.Получаване на FIFO байт данни. За описание на обработката на данни вижте „Двупосочни операции на крайна точка за управление на FIFO0“ в раздел 6.2.2.

    Фърмуерът очаква само да прочете полезен пакет от данни. PID и CRC16 се премахват автоматично от входящия поток от данни.

    7.2.20 Контролен регистър на крайна точка 0 (EPC1…EPC6)

    Всяка еднопосочна крайна точка има EPCx регистър с описаните по-долу битове.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    СЕРГИЯ резерв ISO EP_EN EP3-0
    0 - 0 0 0 0 0 0
    r/w - r/w r/w r/w

    еп.крайна точка. Това поле съдържа 4-битов адрес на крайна точка.

    EP_EN.Резолюция на крайна точка. Когато този бит е зададен, полето EP3-0 се използва за сравнение на адреси, във връзка с полето AD6-0 в регистъра FAR. Описание в раздел 6.2. Когато е изчистено, крайната точка не отговаря на нито един знак в USB шината.

    Забележка: AD_EN в регистъра FAR позволява сравнение на глобалния адрес на устройството. Ако е изчистено, устройството не отговаря на никакъв адрес, независимо от състоянието на EP_EN.

    ISO.Изохронен. Когато този бит е зададен на "1", крайната точка е изохронна. Това предполага, че се изпраща NAK, ако крайната точка не е готова, но е разрешена; защото ако е получен знак IN и няма налични данни във FIFO за предаване, или ако е получен знак OUT и FIFO е пълен, тогава няма USB ръкостискане за изохронен трансфер.

    СЕРГИЯ.Задаването на този бит кара чипа да генерира потвърждения за сигнал STALL при следните условия:

    3. FIFO за предаване е разрешен и се получава IN символ.

    4. FIFO за получаване е активиран и е получен OUT символ.
    Забележка:Символът SETUP не предизвиква генериране на сигнал STALL, когато този бит е зададен.

    7.2.21 Регистър на състоянието на предаване X (TXS1, TXS2, TXS3)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    TX_URUN ACK_STAT TX_DONE TCOUNT4-0
    0 0 0 0 0 0 0 0
    КР КР КР r

    TCOUNT.Брояч на трансфери. Този бит показва броя на наличните празни байтове във FIFO. Ако това число е по-голямо от 31, тогава се отчита стойност 31.

    TX_DONE.Прехвърлянето приключи. Когато битът е зададен, той показва, че крайната точка е отговорила на USB пакета. Три условия могат да накарат бита да бъде зададен:

    1. Пълният пакет данни беше изпратен в отговор на знак IN с операция, различна от ISO.

    2. Крайната точка изпрати потвърждение в отговор на знака IN.

    3. Планираната услуга на ISO рамка е изпратена или отхвърлена.
    Този бит се изчиства при четене на този регистър.

    ACK_STAT.Състояние на потвърждение. Този бит се интерпретира, когато е зададен TX_DONE.

    За операции, различни от ISO, този бит показва статуса на потвърждение (от главния контролер) на ACK за предварително изпратен пакет. Този бит се задава сам при получаване на ACK; в противен случай се изчиства.

    За ISO операции този бит се задава, ако е извършено сравнение на младия байт на номера на рамката (вижте "IGN_ISOMSK" в раздел 7.2.22) и данните са изпратени в отговор на знак IN. В противен случай този бит се изчиства, FIFO се изчиства и TX_DONE се задава.

    Този бит също се изчиства, когато този регистър се чете.

    TX_URUN.Ранно спиране на предаващия FIFO. Този бит се задава, ако FIFO за предаване се изпразни по време на предаване и в FIFO не са записани нови данни. Ако е така, тогава контролерът на слоя на мрежовата архитектура (MAC) издава грешка при съвпадение на битове след EOP. Този бит се нулира, когато този регистър се чете.

    7.2.22 Изпращане на команден регистър X (TXC1, TXC2, TXC3)

    Всяка крайна точка на предаване (1,3 и 5) има регистър на командите за предаване с описаните по-долу битове.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    IGN_ISOMSK TFWL1-0 RFF ПРОМИВАЙТЕ ПРЕВКЛЮЧВАНЕ ПОСЛЕДНО 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.Разрешение за прехвърляне. Този бит позволява трансфер на данни от FIFO. Той се изчиства от чипа след предаване на единичен пакет или потвърждаване на STALL в отговор на знака IN. Трябва да се настрои от фърмуера, за да започне предаването на пакета.

    ПОСЛЕДНО.Задаването на този бит показва, че входният пакет е записан във FIFO. Това се използва за въвеждане на потока от данни във FIFO, докато действителното предаване е в ход. Ако последният бит не е зададен и FIFO за предаване стане празен по време на предаване, тогава EOP е последван от грешка при съвпадение на битове на шина. Пакетите с нулева дължина се обозначават чрез задаване на този бит, без да се записват данни във FIFO.

    ПРЕВКЛЮЧВАНЕ.Работата на този бит се различава в зависимост от това дали се използват ISO или не-ISO операции.

    За операции, различни от ISO, той определя използването на PID при предаване на пакета. Стойност "0" генерира DATA0 PID, а стойност "1" генерира DATA1 PID. Този бит не се променя от хардуера.

    За ISO операции, този бит и ниските битове на брояча на кадри (FNL0) действат като максимални за бита TX_EN за прилагане на пакетна последователност към специални номера на кадри; защото предаването е възможно само ако бит 0 в регистъра FNL е настроен на TOGGLE. Ако символът IN не бъде получен, докато това условие е вярно, тогава съдържанието на FIFO се изчиства със следващия SOF. Ако крайната точка е зададена на ISO, тогава данните винаги се прехвърлят с DATA0 PID.

    Този бит не се променя от хардуера.

    ПРОМИВАЙТЕ.Записването на 1 в този бит изчиства всички данни от съответния FIFO за предаване, нулира крайната точка в състояние на неактивност и изчиства указателите за четене и запис на FIFO. Ако контролерът на слоя на мрежовата архитектура (MAC) в момента използва FIFO0 за прехвърляне на данни, тогава данните се изчистват, когато прехвърлянето приключи. След изчистване на данните, този бит се нулира от хардуера.

    RFF. FIFO зареждане. Задаването на последния бит автоматично буферира указателя за четене на предаване (TXRP). Когато битът RFF е зададен, буферираният TXRP се презарежда в TXRP. Това позволява на потребителя да повтори последния преход, ако не е получено ACK от главния контролер. Ако контролер на мрежова архитектура (MAC) в момента използва FIFO трансфер, TXRP се нулира само когато трансферът приключи. След рестартиране този бит се нулира от хардуера.

    TFWL.Предупредителен лимит за нарушение на FIFO. Тези битове определят колко байта могат да бъдат прехвърлени от съответния FIFO, преди да възникне условие за прекъсване. Ако броят на байтовете, оставащи във FIFO, е равен или по-малък от избрания лимит, при който се появява предупреждение за нарушение, тогава битът TXWARN в регистъра FWEV е зададен. За да се избегнат прекъсвания, причинени от настройката на този бит (по време на пълненето на FIFO преди началото на предаването), битът TXWARN се задава само когато предаването от крайната точка е разрешено (TX_ENx е зададено в регистъра TXCx). Вижте таблица 8.

    Таблица 8. Задаване на лимита за предупреждение за нарушение на FIFO за предаване

    IGN_ISOMSK.Игнорирайте ISO маската. Този бит е ефективен само ако крайната точка е настроена да бъде изохронна. Ако битът е зададен, той деактивира блокирането на определени номера на рамки с функцията за преместване на битове TOGGLE.Така данните се предават при получаване на следващия знак IN. Ако битът е чист, тогава данните се предават, когато FNL0 е равно на TOGGLE. Този бит се изчиства при нулиране.

    7.2.23 Регистър на данни за предаване X (TXD1, TXD2, TXD3)

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    TXFD
    -
    w

    TXFD.Прехвърляне на FIFO байтове данни. За описание на обработката на данни за крайна точка FIFO вижте „Операции на крайна точка за предаване (TXFIFO1, TXFIFO2, TXFIFO3)“ в раздел 6.2.2. Фърмуерът очаква да бъде записан само полезният пакет данни. PID и CRC16 се вмъкват автоматично във входящия поток от данни.

    7.2.24 Регистър на състоянието на получаване X (RXS1, RXS2, RXS3)

    Всеки канал на приемащата крайна точка (2, 4 и 6) има един регистър за състояние на получаване с битовете, дефинирани по-долу. За да получите SETUP пакет след получаване на OUT пакет с нулева дължина, има две хардуерни копия на този регистър. Единият съдържа състоянието на получаване на пакет с нулева дължина, а другият съдържа състоянието на следващия SETUP пакет с данни. Ако пакет с нулева дължина следва пакет SETUP, тогава първото четене на този регистър показва състоянието на пакета с нулева дължина, а второто четене показва състоянието на пакета SETUP.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    RE_ERR НАСТРОЙВАМ ПРЕВКЛЮЧВАНЕ RX_LAST RCOUNT3-0
    0 0 0 0 0 0 0 0
    КР КР CoR HW КР r

    RCOUNT.Рецепция. Този бит показва броя на байтовете, присъстващи в крайната точка на FIFO за получаване. Това поле никога не надвишава стойността 15 за крайна точка 0.

    RX_LAST.Последните получени байтове. Показва, че е изпратено ACK след завършване на успешна операция за получаване. Изчиства се при четене на този регистър.

    ПРЕВКЛЮЧВАНЕ.Работата на този бит се различава в зависимост от това дали се използва ISO или не-ISO операция.

    За операции, различни от ISO, стойност "0" показва, че пакет с DATA0 PID е получен успешно, а стойност "1", че пакетът има DATA1 PID.

    За ISO операции този бит се показва от ниските битове на брояча на кадри (FNL0) след успешно приемане за тази крайна точка.

    Този бит се нулира на "0", когато регистърът RXSx бъде прочетен.

    НАСТРОЙВАМ.Този бит показва, че е получен инсталационен пакет. Този бит се изчиства при четене на този регистър.

    RX_ERR.Грешка при получаване. Когато битът е зададен, той показва грешка на мрежовия слой, като грешка при съвпадение на битове или CRC. Ако този бит е зададен, тогава фърмуерът трябва да изчисти съответния FIFO.

    7.2.25 Получаване на команден регистър X (RXC1, RXC2, RXC3)


    Всяка от приемащите крайни точки (2, 4 и 6) има един регистър на приемащи команди с битовете, описани по-долу.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    резерва RFWL резерва ПРОМИВАЙТЕ IGN_SETUP резерва RX_EN
    - 0 0 - 0 0 - 0
    - r/w - r/w r/w - r/w

    RX_EN.Разрешение за приемане. Получаването на OUT символ е деактивирано след получаване на всеки пакет данни или когато се върне потвърждение STALL в отговор на OUT знак. Трябва да се запише "1" в този бит, за да се активира отново приемането на данни. Получаването на SETUP пакет винаги е разрешено. В случай на двупосочни SETUP пакети (за дадена крайна точка), където е получен валиден SETUP пакет с други знаци, различни от SETUP, получаващата крайна точка отхвърля новия SETUP пакет и връща ACK. Ако във всеки друг случай получаващата държавна машина не може да приеме пакета SETUP, тогава не може да се генерира HANDSHAKE.

    IGN_SETUP.Игнориране на знака SETUP. Когато този бит е зададен, крайната точка ще игнорира всеки SETUP знак, адресиран до нейния конфигуриран адрес.

    ПРОМИВАЙТЕ.Записването на 1 в този бит изчиства всички данни от контролната контролна точка на FIFO, нулира крайната точка в състояние на неактивност и изчиства указателите за четене и запис на FIFO. Ако контролерът на слоя на мрежовата архитектура (MAC) в момента използва FIFO0 за получаване на данни, тогава промиването се забавя, докато получаването приключи.

    RFWL1-0.Получаване на лимит за предупреждение за нарушение на FIFO. Тези битове определят колко байта могат да бъдат получени от съответния FIFO, преди да възникне условие за прекъсване. Ако броят на празните байтове, оставащи във FIFO, е равен или по-малък от избраната граница, при която се появява предупреждение за нарушение, тогава се задава битът RXWARN в регистъра FWEV.

    Таблица 9. Задаване на лимита за предупреждение за нарушаване на FIFO за получаване

    7.2.26 Регистър на данни за предаване X (RXD1, RXD2, RXD3)

    Всяка от трите приемащи FIFO крайни точки има един приемен регистър на данни с битовете, описани по-долу.

    бит 7 бит 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0
    RXFD
    -
    r/w

    RXFD.Получаване на FIFO байт данни. За описание на обработката на данни за крайна точка FIFO вижте „Операции за получаване на крайна точка (RXFIFO1, RXFIFO2, RXFIFO3)“ в раздел 6.2.2.

    Фърмуерът очаква само да прочете полезен пакет от данни. PID и CRC16 се прекъсват от приемащата машина.

    7.3 Поставяне на регистри

    Таблица 10 изброява всички регистри на устройства, техните адреси и тяхното съкращение.

    Таблица 10. USB N9603/4 карта с памет

    Адрес Регистрирайте мнемоника Регистрирайте име
    0x00 MCNTRL Централно управление
    0x01 CCONF Конфигурация на часовника
    0x02 запазено
    0x03 RID ID на модификация
    0x04 ДАЛЕЧ Функционален адрес
    0x05 NFSR Функционално състояние на възела
    0x06 МАЕВ Главно събитие
    0x07 МАМСК Основна маска
    0x08 АЛТЕВ Interleave събитие
    0x09 АЛТМСК Маска за преплитане
    0x0A TXEV Трансферно събитие
    0x0B TXMSK Трансферна маска
    0x0C RXEV Получаване на събитие
    0x0D RXMSK Получаване на маска
    0x0E НАКЕВ NAK събитие
    0x0F НАКМСК NAK маска
    0x10 FWEV Предупредително събитие за нарушение на FIFO
    0x11 FWMSK Предупредителна маска FIFO
    0x12 FNH Старшият байт на номера на рамката
    0x13 FNL Нисък байт на номера на рамката
    0x14 DMACNTRL Управление на DMA
    0x15 ДМАЕВ DMA събитие
    0x16 DMAMSK DMA маска
    0x17 МИР Огледало
    0x18 DMACNT DMA брояч
    0x19 DMAERR DMA брояч на грешки
    0x1A запазено
    0x1B WKUP Включване
    0x1C - 0x1F запазено
    0x20 EPC0 Управление на крайни точки 0
    0x21 TXD0 Трансфер на данни 0
    0x22 TXS0 Състояние на трансфер 0
    0x23 TXC0 Изпратете команда 0
    0x24 запазено
    0x25 RXD0 Приемане на данни 0
    0x26 RXS0 Състояние на получаване 0
    0x27 RXC0 Получаване на команда 0
    0x28 EPC1 Управление на крайни точки 1
    0x29 TXD1 Трансфер на данни 1
    0x2A TXS1 Състояние на прехвърляне 1
    0x2B TXC1 Изпратете команда 1
    0x2C EPC2 Управление на крайни точки 2
    0x2D RXD1 Получаване на данни 1
    0x2E RXS1 Състояние на получаване 1
    0x2F RXC1 Получете команда 1
    0x30 EPC3 Управление на крайна точка 3
    0x31 TXD2 Трансфер на данни 2
    0x32 TXS2 Състояние на прехвърляне 2
    0x33 TXC2 Команда за прехвърляне 2
    0x34 EPC4 Управление на крайна точка 4
    0x35 RXD2 Получаване на данни 2
    0x36 RXS2 Състояние на получаване 2
    0x37 RXC2 Получете команда 2
    0x38 EPC5 Управление на крайна точка 5
    0x39 TXD3 Трансфер на данни 3
    0x3A TXS3 Състояние на прехвърляне 3
    0x3B TXC3 Команда за прехвърляне 3
    0x3C EPC6 Управление на крайни точки 6
  • Отчитането на продуктите в EGAIS се извършва по отношение на конкретни регистрационни форми 1 и 2. Посочените регистрационни форми характеризират стоките и съответстват на всяка отделна позиция в електронната фактура.

    В "1C: UNF" регистрационните форми съответстват на елементите на директории Препратки към TTN във формуляр 1и Препратки към TTN във форма 2.

    В Регистър № 1 продуктите се съхраняват по партиди в контекста на Референтен номер 1 и Референтен номер 2. В Регистър № 2 - в контекста на наименованието на алкохола и производителя/вносителя. В Регистър № 3 - в контекста на Справка 2 и цифрови идентификатори.

    Тези препратки се зареждат автоматично с документи Останки от EGAIS, Актът за поставяне на баланса на EGAISи Товарителница EGAIS (входяща)при обмен с EGAIS.

    Също така е възможно да изтеглите сертификати по техния номер във формата за избор на сертификат (команда Поискайте помощ).

    Единици за съхранение на салда в EGAIS

    В отчетите, получени от EGAIS, трябва да се вземе предвид в кои единици продуктите се съхраняват в EGAIS - на парчета (ако продуктите са опаковани, опаковани) или в декалитри (ако не са опаковани).

    Тип продукт в EGAIS - опакованиили неопаковани– определя се от доставчика при изпращане на информация. В "1C: UNF" може да се види в съответния елемент на директорията Класификатор на алкохолни продукти.

    Обемът на единица продукция или транспортна опаковка на черни продукти в декалитри се задава в елемента справочник Номенклатура.

    За да съгласувате балансите и да премахнете несъответствията в Единната държавна автоматизирана информационна система и информационна сигурност, трябва:

    • Поискайте салда в EGAIS.
    • Върнете стоките в склада, ако е необходимо.

    Заявка за салда в EGAIS

    За да изпратите заявка до EGAIS за текущи салда, се използва документ Останки от EGAIS(глава ДоставянеEGAIS).

    Заявка за баланси по Регистър №1

    За да получите балансите за регистър № 1 EGAIS, трябва да използвате документа Останки от EGAIS.

    Създайте документ върху отметката Основенпосочвам Организация EGAISи поставете превключвателя на позиция Регистър №1.

    Плъзнете документа. Статусът на създадения документ автоматично ще придобие стойност Чернова.

    Ще бъде изпратено искане до EGAIS за получаване на балансите. Състоянието на документа ще се промени на Прехвърлено към UTM.

    Можете да получите резултата от заявката ръчно, като използвате бутона Протокол за обменНаправете размяна.

    Получени остатъции на отметката Остава според EGAISинформацията ще бъде заредена.

    Отидете до отметката и щракнете върху бутона Попълнете несъответствията. Данните за балансите на алкохолните продукти на EGAIS в IB ще бъдат коригирани в съответствие с данните на EGAIS.

    Тези цифри ще бъдат включени в отчета в колоната Количество (по IB).

    Заявка за салда по Регистър №2

    Заявката за салда в Регистър № 2 се извършва подобно на Регистър № 1.

    Разликата е, че при заявяване на салда за Регистър No2 под формата на документ Останки от EGAISвърху отметката Основенпревключвател трябва да бъде инсталиран Заявка за салдав режим Регистър № 2.

    Отметка Корекция на счетоводни салдав този случай няма да бъде наличен. Документът (подобно на искането за регистър № 1) се изпраща до EGAIS.

    След получаване на отговор на отметката Остава според EGAISтекущата информация ще се зареди автоматично.

    Корекция на балансите на EGAIS

    Докладите ще помогнат да се провери за несъответствия в баланса на алкохолните продукти според Единната държавна автоматизирана информационна система и нашата база данни Остава в регистри № 1, 2, 3.

    За да генерирате отчет, отидете на работното място Обмяна с EGAISНаличностEGAIS докладии създайте нов отчет.

    Попълнете полето Организацияи щракнете върху връзката Поискайте отчет.

    След получаване на отговор от EGAIS статусът на документа автоматично ще се промени на Докладът е получен.

    Докладът става достъпен Останалите алкохолни продукти.

    Регистрирам. смяна регистър

    Регистърът е устройство, направено на джапанки за извършване на поредица от действия с двоични числа. За тези, които не знаят какво е тригер, препоръчваме да се запознаете с най-простия RS тригер.

    Най-простата функция на регистрите е да запомнят число и да го съхраняват за дълго време. Тези устройства се наричат ​​регистри за съхранение. Ето най-простият пример.

    Входовете D0 - D2 се захранват с номера за запаметяване. Веднага след като на вход C се появи синхронизиращ импулс, числото се записва на тригера, променяйки състоянието им. Фигурата показва трибитов регистър за съхранение. Когато числото 111 2 се приложи към входовете, то ще се появи и на директните изходи на тригерите ( Q0 - Q2). На обърнати изходи ( Q0 - Q2) естествено ще бъде 000 2 . Сигнал R ( нулиране) или нулиране, тригерите се настройват на нулево състояние.

    Често използваните регистри се състоят от 4, 8 или 16 тригера. Изображението на четирибитов регистър на електрически схеми може да бъде така.

    Фигурата не показва обърнатите тригерни изходи и сигнала R. Регистрите винаги се обозначават с латински букви RG. Ако регистърът се измества, тогава под обозначението се рисува стрелка, насочена наляво, надясно или двойно.

    Shift регистри или Shift регистри.

    Преместващият регистър е устройство, състоящо се от няколко тригера, свързани последователно, чийто брой определя битовата дълбочина на регистъра. Регистрите се използват широко в компютрите за преобразуване на кодове. Паралелно на серийно и обратно.

    В допълнение, регистрите за смяна са основата ( ALU) на аритметично-логическа единица, тъй като когато едно двоично число се измества с един бит наляво, числото се умножава по две, а когато едно число се измества с един бит надясно, числото се дели на две. Следователно най-разпространените обратимиили двупосоченрегистри.

    Помислете за четирибитов преместващ регистър, който преобразува серийния двоичен код в паралелен. Използването на сериен код е оправдано от факта, че огромни количества информация могат да бъдат предадени по една линия. Един такъв пример е универсалната серийна шина, USB портът на всяко устройство. Броят на тригерите в този регистър може да бъде всеки. Достатъчно е да свържете директен изход Q3с двъвеждане на следващия тригер и така нататък, докато се достигне необходимата битова дълбочина.

    Регистърът работи по следния начин. Въвежда се първият информационен бит D0. Едновременно с този бит на входа постъпва тактов импулс ОТ. Входове ОТвсички тригери, включени в регистъра, се комбинират един с друг. С пристигането на първия тактов импулс, нивото на входа D0се записва в първия тригер и от изхода Q0идва на входа на следващия тригер, но вторият тригер не пише, тъй като часовникът вече е приключил.

    Когато пристигне следващият тактов импулс, нивото, присъстващо на входа на втория тригер, се съхранява в него и се подава към входа на третия тригер. В същото време следващият информационен бит се съхранява в първия тригер. След пристигането на четвъртия тактов импулс, четирите тригера на регистъра ще запишат логическите нива, които са били последователно въведени D0.

    Да кажем, че това са нива 0110 2 . Тогава това двоично число може да бъде показано чрез свързване на светодиоди към тригерните изходи. Така разглежданият регистър е изобразен на електрическата схема.

    Вижда се, че на условното изображение има стрелка - индикатор, че това е регистър за смяна.

    Помислете как работи четирибитов универсален регистър за преместване K155IR1(аналог - SN7495N). Ето вътрешната му структура.

    Регистърът съдържа четири D-тригера, които са свързани помежду си с помощта на допълнителни И-ИЛИ логически елементи, които ви позволяват да реализирате различни функции. На диаграмата:

      V2 - управляващ вход. Избира режима на работа на регистъра.

      Q1 - Q4 задейства изходи, от които се взема паралелният код.

      V1 - вход за серийния код.

      C1, C2 - тактови импулси.

      D1 - D4 - входове за запис на паралелен код.

    Алгоритъмът за работа на регистъра е както следва. Ако към вход V2 се приложи нисък потенциал, часовниковите импулси се изпращат към C1 и информационните битове се подават към входа V1, след което регистърът се измества надясно. След получаване на четири бита на изходите на тригери Q1 - Q4, получаваме паралелен код. Така серийният код се преобразува в паралелен.

    За обратната трансформация, паралелният код се записва на входовете D1 - D4, с висок потенциал, приложен към входа V2 и тактови импулси към входа C2. След това, чрез прилагане на нисък потенциал към вход V2 и тактови импулси към вход C1, ние изместваме писмения код и серийният код се премахва от изхода на последния тригер.

    По своята структура това е един от най-простите регистри за смяна.

    Shift регистрите в цифровата технология могат да служат като основа, върху която се сглобяват възли с интересни свойства. Това са например пръстеновидните броячи, които се наричат ​​броячи на Джонсън. Такъв брояч има два пъти повече състояния от броя на съставните му тригери. Например, ако пръстенният брояч се състои от три тригера, тогава той ще има шест стабилни състояния. На входа на брояча не се подава нищо освен тактови импулси. В първоначалното състояние всички тригери са "нулирани", тоест има логически нули на директните изходи на тригерите, но на входа дпървият тригер от обратния изход на третия тригер е логическа единица. Нека започнем да подаваме тактови импулси и процесът е започнал.

    Таблицата на истината ясно показва как се променя двоичният код, когато се получат шест тактови импулса.

    н Q2 Q1 Q0
    1 0 0 1
    2 0 1 1
    3 1 1 1
    4 1 1 0
    5 1 0 0
    6 0 0 0

    Сега знаете какво е регистър и как може да се използва на практика. Основата на всеки регистър е тригер. Броят на тригерите в един регистър определя неговия капацитет. Любителите на микроконтролерите знаят, че най-важният елемент на всеки микроконтролер, бил той PIC, AVR, STM или MSP, е регистърът.

    Последният път разгледахме опцията за увеличаване на изходите на микроконтролера с помощта на декодерен чип, днес ще разгледаме по-усъвършенствана версия на регистъра за смяна 74HC595. Използвайки само една микросхема, можете да имате на ваше разположение допълнителни 8 изхода, като използвате само 3 крака на микроконтролера. И благодарение на възможността за разширяване, чрез добавяне на втора микросхема, броят на изходите може да бъде увеличен до 16. Ако не е достатъчно, можете да добавите трети и да получите 24 изхода за използване, като този трик може да се повтори колкото пъти искате . В същото време броят на заетите крака на микроконтролера ще остане 3, красота!

    Така че, нека разгледаме по-отблизо разпределението на щифтовете на микросхемата и да научим как да управляваме регистъра за смяна 74hc595 в Bascom-AVR.

    Като начало, нека се запознаем със заключенията на микросхемата или по-скоро с тяхната функционалност. По-долу е изрезка от листа с данни на 74hc595 с обозначението на щифтовете на микросхемата:


    • Q0…Q7– изходи, които ще бъдат контролирани. Те могат да бъдат в три състояния: логическа единица, логическа нула и състояние Hi-Z с високо съпротивление
    • GND- Земята
    • Q7'– изход, предназначен за серийно свързване на регистри.
    • Г-Н- нулиране на регистъра.
    • SH_CP– вход за тактови импулси
    • ST_CP- входни "фиксиращи" данни
    • OE– вход, който прехвърля изходите от HI-Z в работно състояние
    • Д.С.– въвеждане на данни
    • VCC- 5 волта захранване

    Регистрирайте логика

    Когато на входа на часовника SH_CPпоявява се логически бит, разположен на входа на данните Д.С. чете от и записва в регистъра за смяна. Този бит се записва в най-малкия бит. Когато следващият импулс на високо ниво пристигне на входа на часовника, следващият бит от входа на данните се записва в регистъра за смяна. И битът, който е записан по-рано, се измества с един бит наляво и новопристигналият бит заема неговото място. Следващият тактов импулс ще запише третия бит, а предишните два ще се придвижат по-нататък. Когато всичките осем бита са запълнени и пристигне деветият тактов импулс, регистърът започва да се запълва отново от най-малкия бит и всичко се повтаря отново. Какви данни биха се появили на изходите Q0…Q7трябва да ги "закачите". За да направите това, трябва да приложите логическа единица към входа ST_CP.

    - Г-Ннулира регистъра, настройвайки всички изходи Q0…Q7до състояние на логическа нула. За да нулирате, трябва да приложите логическа нула към този вход и да приложите положителен импулс към входа ST_CP. Много полезна функция, тъй като при подаване на захранване към микросхемата на изхода се появява определена произволна стойност. При работа с регистър този пин трябва да е логическа единица.

    - OE(разрешаване на изхода), ако приложите логика 1 тук, тогава изходите ще бъдат в състояние на високо съпротивление HI-Z. Когато приложим логическа 0 към този вход, изходите ще бъдат в работно състояние.

    - Q7' предназначени за серийно свързване на сменителни регистри.

    Но е по-добре да видите веднъж, отколкото да прочетете два пъти =) така че нека да погледнем анимацията:


    Работа с регистъра в челото

    Когато овладявате работата с непозната микросхема, често е полезно да работите върху челото, тоест директно потрепване на контролните крака, което ви позволява да разберете по-добре принципите на работа с обекта. И така, следвайки логиката на работа, написах програма, която ще трябва да изведе двоичното число 10010010 към изхода на регистъра

    $regfile = "attiny2313.dat"
    $кристал = 1000000

    конфиг portb= Изход

    Sh_cpПсевдонимпортб. 3 "крак за часовникови импулси
    DsПсевдонимпортб. 2 "крак за извеждане на данни
    St_cpПсевдонимпортб. 0 "крак за "фиксиране" на данни в регистър за съхранение


    "изход през регистъра на числото 146 (в двоично представяне 10010010)

    St_cp= 0 "поставете крака в режим на запис на данни

    Ds= 1 "задайте първия бит
    Sh_cp= 0 "подайте импулс към изхода на часовника
    Sh_cp= 1

    Ds= 0 "задайте втория бит
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "задайте третия бит
    Sh_cp= 0
    Sh_cp= 1

    Ds= 1 "задайте четвърти бит
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "задайте петия бит
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "задайте шестия бит
    Sh_cp= 0
    Sh_cp= 1

    Ds= 1 "задайте седмия бит
    Sh_cp= 0
    Sh_cp= 1

    Ds= 0 "задайте осмия бит
    Sh_cp= 0
    Sh_cp= 1

    St_cp= 1 „Закрепете въведените данни

    край


    компилираме, шием в микроконтролера или гледаме в симулатора и виждаме нашата комбинация на изхода.


    Работи, изпратеният номер се появи на изхода на регистъра!

    Работата с регистъра по този начин, макар и възможна, е твърде тромава и заема много програмна памет. Но от друга страна, той ясно демонстрира цялата методология на работа с тази микросхема. Нека разгледаме по-подходящ метод.

    Управление на регистъра 74HC595 в Bascom чрез командата ShiftOut

    Bascom-AVR има чудесна команда за работа с всички видове серийни интерфейси SHIFTOUT
    Самата тази команда ще разложи числото на битови компоненти и последователно ще ги изведе към всеки щифт на микроконтролера, като в същото време може да издава тактови импулси. Да работиш със сменителни регистри, това е! Синтаксис на командата:

    SHIFTOUT Datapin, Clockpin, променлива, опция


    Datapin - микроконтролерен порт за извеждане на данни

    Clockpin - порт за микроконтролер за часовников изход

    Var - данните, които искаме да изпратим на регистъра

    Опция - число от 0 до 3, този параметър избира реда, в който данните ще бъдат въведени в регистъра и активното ниво на реда Clock, на който се записва битът:
    option=0 - най-значимият бит е първи,часовник активно ниско
    опция=1 -
    високият бит е първи, Часовник активно ниво високо
    опция=2 -
    ниският бит е първи, Часовник активно ниско
    опция=3 -
    ниският бит е първи, Часовник активно ниво високо

    В нашия случай, за да работите с регистър 74HC595, параметърът на опцията трябва да бъде зададен на 1 или 3.

    За да заключите данни в регистър, използвайте командата Изходен пулс. Тази команда извежда импулс към крака на микроконтролера с определена продължителност. Конфигурацията на командата изглежда така:

    Сега нека изведем числото 10010001 (145 в десетичен знак) към изхода на регистъра, свързан към микроконтролера съгласно горната схема:

    $regfile = "attiny2313.dat"
    $кристал = 1000000

    Dim А Катобайтове
    конфиг portb= Изход

    А= 145

    госуб Hc595 „Да отидем на подпрограмата за изпращане на данни

    край

    Hc595: "подпрограма за изпращане на данни

    Shiftout портб. 2, портб. 3, А, 1 "изпращане на данни за регистрация
    Пулсиране portb, 0, 5 "фиксиращи данни
    връщане

    След мигане на микроконтролера можете да видите подобна картина, изпратената битова комбинация е зададена на изхода на регистъра за смяна.


    Както можете да видите, управлението на регистъра за смяна 74HC595 в Bascom се състои само от два реда код и не създава никакви затруднения.

    Увеличаване на битовата дълбочина

    EGAIS за кетъринг и не само - това е доста актуална тема, с която се сблъскват почти всички предприемачи, на чиито рафтове има всякакви алкохолни напитки. Глобалните промени в системата EGAIS вече са настъпили два пъти, но обикновено мълча за малките неща. И сега всички ние, колеги, сме изправени пред нов звяр под формата на блот счетоводство и появата на регистър № 3 в EGAIS.

    От 1 юли 2018 г. участниците на пазара на алкохол трябваше да преминат към отчитане на продукти на части в актуализираната версия на Единната държавна автоматизирана информационна система. FSRAR вече публикува обяснения за бизнес субекти на своя уебсайт ─ „Методически препоръки за поддържане на записи на парчета в EGAIS“, но въвеждането на новата счетоводна система се обърка, така че 289-FZ даде зелена светлина за отлагане на пускането на блот записи за 1 октомври 2019 г. Като цяло денят X вече дойде преди няколко седмици и си струва да разберем как работим в EGAIS 3.0

    Какво е EGAIS 3.0?

    Задачата на третата актуализация на EGAIS е да проследи всяка бутилка или литър алкохол от момента на производство (или в някои случаи внос) до крайната продажба на крайния потребител, бой или друг вид изхвърляне на бутилката. от продавача

    Всяка бутилка е маркирана с уникален цифров идентификатор, който се съдържа в баркода на акциза (за вносен алкохол) или федералната специална марка (за местен производител, продаващ в Русия).

    Всички цифрови документи за движението на алкохол в системата EGAIS трябва да съдържат цифров идентификатор. Това помага на държавата да следи движението на всяка бутилка алкохол и да знае на кого и кога е продадена.

    В новата версия на Единната държавна автоматизирана информационна система все още остават регистрационни формуляри 1 и 2 (RFU 1 и RFU 2). Документ формуляр 1 се генерира автоматично в системата EGAIS, за всяка партида алкохол, по искане на производителя или вносителя. Съдържа информация за всяка партида алкохол.

    RFU 2 всъщност е приложение към товарителницата (товарителницата), която се изпраща на получателя в електронен вид. С други думи, това е автоматично зададен идентификатор за всеки артикул от товарителницата.

    Най-важната промяна в EGAIS 3.0 е новият регистър № 3 и регистрационен блок 2 за силна алкохолна група

    Сега имаме три EGAIS регистъра

    Регистър № 1 EGAIS─ склад, за отразяване на информация за партидата алкохол в контекста на RFU 1 и RFU 2

    Регистър № 2 EGAIS- търговска зала. Сега се използва само за генерични продукти (бира, сайдер, поре и медовина), както и за силни мъже, които все още идват със стари марки. Тук има информация за производителя, името на продукта, както и баркод

    И разбира се, гръмотевична буря за всички участници на пазара за продажба на алкохол Регистър № 3 EGAIS- тук се посочва информацията от първия регистър и се съдържа уникалния идентификатор на всяка бутилка алкохол. Данните от този регистър са прикрепени към уникален партиден номер и не могат да бъдат разделени по никакъв начин.

    Характеристики на отчитане на бира и силен алкохол

    Има само два вида продукти: етикетирани и неетикетирани. Той се взема предвид от системата EGAIS и всемогъщия FSRAR, както следва:

    - немаркирани на първи и/или втори регистър. Общият баланс на двете е целият алкохол на търговския етаж

    - етикетиран (т.е. всеки алкохол с изключение на бира, сайдер, медовина и пуаре) - вписва се само в първия и третия регистър. Тук ситуацията е различна, остатъкът в първия регистър трябва точно да съвпада с остатъка в третия. Ако количеството не отговаря, тогава имате само 30 дни, за да разберете причината, в противен случай здравейте Административен кодекс

    Стари печати в EGAIS 3.0?

    Ако алкохолът е произведен преди 1 юли 2018 г. (и както се казва в 289-FZ, след това преди 1 октомври), тогава не е необходимо да съдържа актуализирана марка. Счетоводството се води в първите два регистъра и можете да работите с този пиян, докато не излезе напълно от обращение. Отписваме го и го приемаме така, както сме свикнали да го правим сега

    Сканиране на всяка бутилка в EGAIS

    Когато се появят нови марки на пазара, ще трябва да сканираме всяка бутилка, която идва с нея. По принцип това не може да стане, но тук може да се получи „прибягване“, т.е. марката ще бъде регистрирана в една организация, но всъщност ще се намира в друга. Ако това се случи, тогава за кратко време всичко трябва да бъде уредено с връзката на FSRAR, което никой уважаващ себе си предприемач не иска да направи, затова е най-добре да сканирате всяка бутилка, която идва през EGAIS, с помощта на 2D скенер. Сканирайки незабавно всяка входяща и всяка продадена бутилка, ще се предпазите от несъответствия. Вярно, докато има стари марки в обращение, ще има голямо объркване.

    Какво да направите, ако печатът е повреден или не се чете?

    Ако сте получили алкохол и видите, че марката е повредена или не се чете при вземане, тогава моят съвет към вас е да откажете цялата доставка, в противен случай ще трябва или да направите акт за несъответствие, или да поискате дубликат от EGAIS, който след това трябва да се залепи върху бутилката. Кому е нужно?

    Как да приемате алкохол (EGAIS)

    След като сте сканирали марките на входящия алкохол, можете да извършите следните операции:

    1) Приемете стоките. Пияницата попада в регистър № 1 с последващо обвързване на марката с регистър № 3.

    2) Частично приемане на стоките. Тоест да даде възможност на счетоводството да състави Акт за несъгласие по неприети позиции.

    3) Не приемайте стоките

    Малко по-късно ще публикувам инструкции стъпка по стъпка за работа в системата EGAIS за обществено хранене.

    Кога да подадете декларация за алкохол през 2019 г.?

    Декларациите за алкохол и бира се подават тримесечно в следните срокове:

    • 4-то тримесечие на 2018 г. от 01.01.2019 г. до 21.01.2019 г. включително
    • 1 тримесечие 2019 г. от 01.04.2019 г. до 22.04.2019 г. включително
    • 2-ро тримесечие на 2019 г. от 01.07.2019 г. до 22.07.2019 г. включително.
    • 3-то тримесечие на 2019 г. от 01.10.2019 г. до 21.10.2019 г. включително.
    • 4-то тримесечие на 2019 г. от 01.01.2020 г. до 20.01.2020 г. включително

    През 2019 г. крайните срокове за подаване на декларации за алкохол и бира са почивен ден за всички отчетни тримесечия, с изключение на 4-то тримесечие. Следователно последният отчетен ден от уикенда се прехвърля в първия работен ден.

    Може ли EGAIS да бъде отменен?

    Отмяната на EGAIS е мит. Винаги ще страдаме от това, но се надявам системата най-накрая да бъде отстранена и да бъде възможно най-достъпна за хората. Е, или поне спри да лъжеш така

    И последното от планираните нововъведения

    Новата 2019 година ще постави началото на въвеждането на експериментална система за контрол на виртуалната продажба на алкохол. Предвижда се да се осъществи на етапи:

    • 2019 г. началото на контрола на онлайн магазини за бира, сайдер, медовина и вино, върху бутилки със специална маркировка на мястото на произход и географското местоположение;
    • 2020 г. - ще може да се продава алкохол само със специален лиценз;
    • 2022 г. - всички видове алкохол ще се продават изключително чрез EGAIS.
    КАТЕГОРИИ

    ПОПУЛЯРНИ СТАТИИ

    2022 "gcchili.ru" - За зъбите. Имплантиране. Зъбен камък. гърлото