У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


модуля. Він включає в себе такі компоненти:

Базова швидкість (повно швидкісний режим порівняно з низько швидкісним)

Включення внутрішнього навантажувального резистора

Включення внутрішнього трансивера

Використання пінг-понг буфера

Регістр UCFG також містить два біти які допомагають тестовому модулю, від лагодити і атестувати USB. Ці біти контролюють включення відображення стану моніторингу і генерації індикаторної діаграми.

USB регістр статусу (USTAT)

Регістр статусу USB звітує про статус трансакції всередині SIE. Коли SIE керує передачею по USB по закінченні переривання, USTAT потрібно зчитати для визначення статусу передачі інформації. USTAT містить передану кінцеву точку, напрям передачі і стан пінг-понг буферу (якщо використовується).

Регістр USTAT фактично читає вікно чотири байтового статусу FIFO, підтримується SIE. Це дозволяє мікро контролеру обробити одну передачу поки SIE обробляє наступну кінцеву точку. Коли SIE завершує використання буфера для читання або запису даних, це оновлює регістр USTAT. Якщо інша USB передача виконується до завершення трансакції по перериванню, SIE запам’ятає статус наступної передачі в статусі FIFO.

Завершення трансакції відбувається очищенням біту TRNIF. Якщо наступні дані в FIFO вважаючи що регістр дійсний, SIE дозволить переривання. Якщо ніякі дані не присутні, TRNIF залишиться скинутим; Дані регістру USTAT, не будуть надійні.

Регістр кінцевої точки USB

Кожна з 16-ти можливих двонаправленних кінцевих точок має свій власний управління, UEPn (де ‘n’ вказує номер кінцевої точки). Кожен регістр ідентичне доповнення службових бітів.

Регістр адреси пристрою USB (UADDR)

Регістр адреси пристрою USB містить унікальний USB адресу, що пристій декодує коли він активний. UADDR встановлюється в 00h, коли вказано USB скидання в регістрі URSTIF, або коли скидання проводиться мікро контролером. USB адреса повинна бути записана мікро контролером під час SETUP пакету (перерахування) як частина мікропрограми з підтримкою Microchip USB.

Передача даних через шину USB:

В регістрі UCON потрібно встановити біт 3 “USBEN” в одинцю для включення модуля USB.

В регістрі UCFG потрібно встановити 1 біт в одиницю для використання Пінг-Понг буфера для всіх кінцевих точок. Біт 3 встановлюється для повношвидкісної передачі даних. Біт 4 що використовується інтегрований навантажувальний резистор.

В регістрі UEP0 встановлюється 1,2,3 біти в одиницю що вказує що кінцева точка є двонаправленою.

Регістр BD0STAT встановлюється 4 біт в одиницю, передавана комірка пам’яті збільшується на одиницю автоматично. BD0STAT регістр встановлюється в комірках пам’яті починаючи з 400h. Займає всього лише 4 байти, 1 байт – буфер дескриптор, 2 – кількість байт, 3 – молодший байт адреси початкової комірки пам’яті, 4 – старший байт початкової комірки пам’яті.

При підключенні роз’єму комп’ютер починає настройку пристрою, посилається комп’ютером скидання ми перевіряємо біт URSTIF чекаємо початку фрейму перевіряючи біт SOFIF починає передавати дескриптори для настройки. Перевіряємо біт TRNIF трансакція закінчилась перевіряємо яка команда і які дані були прийняті, чекаємо пакету IN починаємо передавати дані.

2.2 Підпрограми роботи пристрою

Підпрограма роботи пристрою включення по тиску

MOVLW B'00000001'

MOVWF ADCON0

MOVLW B'00001110'

MOVWF ADCON1

MOVLW B'10000111'

MOVWF ADCON2

BSF INTCON,PEIE

BSF PIE1,ADIE

BCF INTCON,INT0IF

SLP: BSF ADCON0,1

SLEEP

NOP

BCF PIR1,ADIF

BCF STATUS,Z

BCF STATUS,N

MOVLW 0X02

SUBWF ADRESH,0,0

BTFSC STATUS,N

GOTO SLP

BTFSC STATUS,Z

GOTO SLP

BCF STATUS,N

BCF STATUS,Z

MOVLW 0X2A

SUBWF ADRESL,0,0

BTFSC STATUS,N

GOTO SLP

BTFSC STATUS,Z

GOTO SLP

BCF INTCON,INT0IF

Підпрограма роботи пристрою включення по часу

MOVF 0X20,W

MULLW 0X78

MOVFF PRODH,0X21

MOVFF PRODL,0X22

MOVLW 0XFF

MOVWF TMR1L

MOVLW 0X0F

MOVWF TMR1H

BSF T1CON,TMR1ON

SLP: NOP

SLEEP

MOVLW 0XFF

MOVWF TMR1L

MOVLW 0X0F

MOVWF TMR1H

BCF PIR1,TMR1IF

DECFSZ 0X22

GOTO SLP

DECFSZ 0X21

MOVLW 0XFF

MOVWF 0X22

MOVF 0X21,F

BTFSS STATUS,Z

GOTO SLP

BCF T1CON,TMR1ON

GOTO VYMIR

Програма роботи пристрою формування кадрів:

MOVLW B'00000001'

MOVWF ADCON0

MOVLW B'00000000'

MOVWF ADCON1

MOVLW B'00000000'

MOVWF ADCON2

MOVLW B'00110000'

MOVLW 0X04

MULWF 0X35

MOVFF PRODH,0X36

MOVFF PRODL,0X37

MOVWF T1CON

MOVLW 0X0F

MOVWF TMR1H

MOVLW 0XFF

MOVWF TMR1L

BCF PIR1,TMR1IF

BSF T1CON,0

BSF PIE1,TMR1

SLPD: SLEEP

BCF T1CON,0

MOVLW 0XFF

MOVWF TMR1L

MOVLW 0X0F

MOVWF TMR1H

BCF PIR1,TMR1IF

DECFSZ 0X37

GOTO SLPD

DECFSZ 0X36

MOVLW 0XFF

MOVWF 0X37

MOVF 0X36,F

BTFSS STATUS,Z

GOTO SLPD

BCF T1CON,TMR1ON

BSF ADCON0,1

AD1: BTFSC ADCON0,1

GOTO AD1

MOVFF ADRESH,0X20

MOVFF ADRESL,0X21

BSF ADCON0,2

BSF ADCON0,1

AD2: BTFSC ADCON0,1

GOTO AD2

MOVFF ADRESH,0X22

MOVFF ADRESL,0X23

BCF ADCON0,2

BSF ADCON0,3

BSF ADCON0,1

MOVFF 0X20,0X30

MOVFF 0X21,0X31

RRCF 0X22,F

RRNCF 0X23,F

RRCF 0X22,F

RRNCF 0X23,F

RRCF 0X22,F

RRNCF 0X23,F

RRCF 0X22,F

RRNCF 0X23,F

RRCF 0X22,F

RRNCF 0X23,F

RRCF 0X22,F

RRNCF 0X23,F

MOVFF 0X23,0X32

MOVF 0X22,W

IORWF 0X31

AD3: BTFSC ADCON0,1

GOTO AD3

MOVLW

SUBWF ADRESH,0,0

BTFSC STATUS,N

GOTO FALSE

BTFSC STATUS,Z

GOTO FALSE

BCF STATUS,N

BCF STATUS,Z

MOVLW

SUBWF ADRESL,0,0

BTFSC STATUS,N

GOTO FALSE

BTFSC STATUS,Z

GOTO FALSE

GOTO TRUE

TRUE: MOVLW 0X3C

IORWF 0X31

FALSE: MOLW 0X00

IORWF 0X31

END

Програма роботи пристрою запис через SPI:

MOVLW B'11000000'

MOVWF SSPSTAT,0

MOVLW B'00010010'

MOVWF SSPCON1,0

BSF PORTC,1,0

BCF TRISC,1,0

BCF TRISC,7,0

BCF TRISB,1,0

BCF PORTC,1,0

BSF SSPCON1,5,0

BCF PIR1,SSPIF,0

MOVLW 0X84

MOVWF SSPBUF,0

CALL WR1

MOVLW 0X00

MOVWF SSPBUF

CALL WR1

MOVWF SSPBUF

CALL WR1

MOVFF 0X38,SSPBUF

CALL WR1

MOVFF 0X37,SSPBUF

CALL WR1

MOVFF 0X30,SSPBUF

CALL WR1

MOVFF 0X31,SSPBUF

CALL WR1

MOVFF 0X32,SSPBUF

CALL WR1

INCFSZ 0X37

INCF 0X38

INCFSZ 0X37

INCF 0X38

INCFSZ 0X37

INCF 0X38

MOVLW 0X08

XORWF 0X37

MOVLW 0X01

BTFSS STATUS,Z

XORWF 0X38

BTFSS STATUS,Z

GOTO BUFWR

WR1

PR: BTFSS PIR1,3,0

BRA PR

RETURN

BUFWR

CLRF 0X37

CLRF 0X38

MOVLW 0X83

MOVWF SSPBUF

CALL WR1

MOVFF 0X39,0X3B

MOVFF 0X3A,0X3C

RLCF 0X3B,F

RLNCF 0X3C,F

MOVFF 0X3C,SSPBUF

CALL WR1

MOVFF 0X3B,SSPBUF

CALL WR1

INCFSZ 0X39

INCF 0X3A

END

2.3 Дескриптори зв’язку з USB

Всього існує 8 типів дескрипторів, найчастіше з яких використовуються наступні:

Дескриптор пристрою. Містить інформацію про виробника, код продукту, серійний номер, тип пристрою і кількість конфігурацій. Пристрій може мати тільки один такий дескриптор;

Приклад дескриптора пристрою:

MOVLW 0X12 ;Розмір дескриптора 18 байт

MOVWF 0X00,1

MOVLW 0X01 ;Код типу дескриптора 1

MOVWF 0X01,1

MOVLW 0X02 ;Номер версії 02h

MOVWF 0X02,1

MOVLW 0X00 ;Номер версії 00h

MOVWF 0X03,1

MOVLW 0XFF ; Код класу USB

MOVWF 0X04,1

MOVLW 0X00 ; Код підкласу

MOVWF 0X05,1

MOVLW 0X00 ; Код протоколу

MOVWF 0X06,1

MOVLW 0X64 ; Максимальний розмір

MOVWF 0X07,1

MOVLW 0X00 ; Кількість можливих конфігурацій

MOVWF 0X08,1

MOVLW 0X02 ; Ідентифікатор виробника

MOVWF 0X09,1

MOVLW 0X00 ; Індекс дескриптора

MOVWF 0X0A,1

Дескриптор конфігурації. Містить інформацію про енергоспоживання і про кількість інтерфейсів, використовуваних в даній конфігурації. Таких дескрипторів може бути декілька для різних конфігурацій (різні режими енергоспоживання і т.д.);

Приклад дескриптора конфігурації:

MOVLW 0X09 ;Розмір дескриптора

MOVWF 0X00,1

MOVLW 0X02 ;Тип дескриптора

MOVWF 0X01,1

MOVLW 0X64 ;Загальний об’єм

MOVWF 0X03,1

MOVLW 0X01 ;Кількість інтерфейсів

MOVWF 0X04,1

MOVLW 0X00 ;Ідентифікатор конфігурації

MOVWF 0X05,1

MOVLW 0X00 ;Індекс дескриптора

MOVWF 0X06,1

MOVLW 0X00 ;Характеристика конфігурації

MOVWF 0X07,1

MOVLW 0X00 ; Характеристика конфігурації

MOVWF 0X08,1

MOVLW 0X00 ; Характеристика конфігурації

MOVWF 0X09,1

MOVLW 0X00 ; Характеристика конфігурації

MOVWF 0X0A,1

MOVLW 0X00 ; Характеристика конфігурації

MOVWF


Сторінки: 1 2 3 4