Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 110

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 104 105 106 107 108 109 < 110 > 111 112 113 114 115 116 .. 166 >> Следующая

// Описание констант для доступа к битам регистра #define MSK_EP6INTE 0x40 #define MSK_EP5INTE 0x20 #define MSK EP4INTE 0x10
Глава 13. НЮ-устройство на основе Atmel АТ89С5131
337
#define MSKJEP3INTE 0x08 #define msk_EP2INTE 0x04 #define msk_EP1INTE 0x02 #define msk_EP0INTE 0x01
Il Разрешение/запрещение прерываний от конечных точек #define Usb_enable_ep_int(e) (uepien I= (0x01 « е))
#define Usb_disable_ep_int(e) (uepien s= ~(0x01 « e))
13.2.11. Регистр UEPDATX
Регистр uepdatx (байт, адрес OxCF) — регистр данных FIFO-буфера конечной USB-точки, номер которой задан в регистре uepnum. После сброса состояние регистра не регламентировано.
Листинг 13.11 показывает описания и макросы для работы с регистром
uepdatx.
І^ИдТИНГ 13.11 .,Регистр UEPDATX
// Описание регистра
sfг uepdatx = OxCF;
// Чтение данных с конечной точки
#define Usb_read_byte() (uepdatx)
Il Передача данных в конечную точку
#define Usb_write_byte(x) (uepdatx = х)
13.2.12. Регистр UBYCTLX
Регистр ubyctlx (байт, адрес 0хЕ2) — регистр счетчика байтов конечной USB-точки, номер которой задан в регистре uepnum. После сброса регистр принимает значение 00000000b.
«Регистр содержит следующие биты:
? [7] зарезервирован — всегда считывается как 0. Не пытайтесь установить этот бит;
? [6:0] byct6 : bycto — счетчик байтов принятых пакетов данных. Значение этого счетчика равно количеству байтов данных, принятых после получения идентификатора (PID) данных.
Листинг 13.12 показывает описания и макросы для работы с регистром
ubyctlx.
338
Часть IV. Создание USB-устройств
Il Описание регистра sfг UBYCTLX = 0хЕ2; // Получение счетчика #define Usb_get_nb_byte ()
(UBYCTLX)
13.2.13. Регистр UFNUML
Регистр UFNUML (байт, адрес OxBA) — регистр младших битов номера USB-кадра (только чтение). После сброса регистр принимает значение 0x00. Регистр содержит младшие 8 бит 11-битного номера кадра.
Регистр UFNUMH (байт, адрес OxBB) — регистр старших битов номера USB-кадра (только чтение). После сброса регистр принимает значение 0x00.
Регистр содержит следующие биты:
? [7:6] зарезервированы — всегда считываются как 0. Не пытайтесь установить эти биты;
? [5] CRCOK — бит отсутствия CRC-ошибки принятого номера кадра. Устанавливается аппаратно после принятия неповрежденного номера кадра в стартовом или кадровом пакете. Обновляется после каждого принятия стартового или кадрового пакета;
? [4] CRCERR — бит наличия CRC-ошибки принятого номера кадра. Устанавливается аппаратно после принятия поврежденного номера кадра в стартовом или кадровом пакете. Обновляется после каждого принятия стартового или кадрового пакета;
? [3] зарезервирован — всегда считывается как 0. Не пытайтесь установить этот бит;
? [2:0] FNUMiO :fnum8 — номер кадра. Старшие 3 бита 11-битного номера кадра. Они доступны в последнем принятом SOF-пакете. Биты fnum не изменяются, если принят поврежденный SOF.
13.2.14. Регистр UFNUMH
13.3. Схемотехника АТ89С5131
На рис. 13.3 показана схема расположения выводов AT89C5131 в 52-контактном корпусе.
Глава 13. HID-устройство на основе Atmel АТ89С5131
339
и 2 Z Z
ш ш P У
о со О
< < <
« у s
(D Ю СУ ^ ^ N N h О. О. О. О- Q- и.
1пппппп
Z
u о
0- О. О. О- О.
7 8 5 4 3 2 1 52 51 50 49 48 47
P4.1/SDA[ 8 P2.3'A11[ 9 Р2.4/А12[ 10 Р2.5/А13 [ 11 XTAL2 [ 12 XTAL1 ? 13 Р2.67А14[ 14 Р2.7/А15 [ 15 VDD [ 16 AVDD [ 17 NC[ 18 AVSSl 19 P3.0.'RxD[ 20
PLCC52
21
22 23 24 25 26 27 28 29 зо 31 32 LJL-ILJLy
33
46 ]NC 45 ]P0.VAD1 44 ]P0.2/AD2 43 P RST 42 41 40 39 38 37 36 35 34
]P0.3/AD3 ]VSS ]P0.4/AD4 ]P3 7,RD/led3 ]P0.5,'AD5 ]P0.6?AD6 ]P0.7/AD7 ]P3.6/WR/LED2 ]NC
u, D O
ш ,X fc QtT OT f Z ш
Рис. 13.3. Схема расположения выводов АТ89С5131
Схема включения АТ89С5131 очень проста (рис. 13.4).
Файлы схемы для PCAD можно найти на прилагаемом к книге компакт-диске.
13.4. Инструменты программирования
Для программирования микропроцессора необходимо несколько инструментов:
? обязательные:
• компилятор языка С, ассемблер и линковщик;
• программатор;
? необязательные:
• отладчик;
• эмулятор.
Для написания драйвера со стороны компьютера необходимы соответствующие инструменты (см. разд. 9.5).
340
Часть IV. Создание USB-устройств
Dl
CRJ
VRff D+ D-
AVDD PUf AVSS
PMVSO. M.1/SDA
:P1.0/T2/KINCI P1.1/T2BVKIN1/SS P1.2/K3/KIN2
ріД'Ше/кмз p1.4/cexvkiw p1.vcbq.k1n5/mis0
Pl.^'CBQ/KINS'SCK PIJ/CEXWWKSI
XTAU XTAL2
RSf
P3.0/RxD РЗ.ІІЇШ
poo/adO/dOtS
PO.VADl/Dl -э P0.2/AD2/D2 P0.3,'AD3/D3-as P0.1/ADVD4-S P0.5/ADVD5^ РВДАО&'Сб J/ P0.7/AD7/D7
5) 42 J)
3?
P2.1/A9/D3 P2.2/A10/D10 -g-P2.3/A1VD11 P2<t'A12/D12 — P2.VA13/D13 PZI^AW/DW -? P2.7/A15/D1S -
Рис. 13.4. Схема тестовой платы для АТ89С5131
Глава 13. HID-устройство на основе Atmel АТ89С5131
341
13.4.1. Компилятор
Для микропроцессора АТ89С5131 существуют несколько компиляторов для языка С и ассемблера (IAR, Keil и др.). Заголовочные файлы (т. е. файлы описания регистров) можно загрузить с сайта Atmel:
http://www.atmeI.com/dyn/resources/prod_documents/c51_incIude_files.zip
Предыдущая << 1 .. 104 105 106 107 108 109 < 110 > 111 112 113 114 115 116 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100