Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KOMAROV.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.32 Mб
Скачать

2. Архитектура системы на основе adsp-2181

2.1. Структурная схема вычислительной (управляющей)

системы на основе ADSP-2181

Структурная схема системы на основе ADSP-2181 представлена на рис 2.1. и рис 2.2.

Рис. 2.1. Структурная схема системы на основе ADSP-2181 (начало)

Рис. 2.1. показывает, что устройство с последовательным интерфейсом (например, такой же процессор ADSP-2181) может быть подключено напрямую через SPORT0 и/или SPORT1 (см. п. 1.12). Системный интерфейс (например, PCI) или микроконтроллер (например, такой же процессор ADSP-2181) могут быть подключены через порт IDMA (см. п. 1.16).

Большие возможности для подключения различных видов памяти и периферийных устройств создает внешняя шина: ADDR[13-0], DATA[23-0], BMS#, IOMS#, PMS#, DMS#, CMS#. Некоторые способы ее использования приводятся на рис. 2.2.

Рис. 2.2. Структурная схема системы на основе ADSP-2181 (окончание, сигналы RD#, WR# условно не показаны)

Байтовая память (BYTE MEMORY, см. п. 1.15) подключается к процессору в соответствии с рекомендациями п. 1.15.1. Байтовая память доступна только через BDMA.

Порты ввода/вывода (I/O SPACE) используют в качестве шины адреса 11 линий внешней шины адреса процессора ADDR[10-0], а в качестве шины данных – 16 линий внешней шины данных процессора DATA[23-8]. Обращение к портам ввода/вывода возможно только с помощью команды IO(..) (см. п. 1.17.4.и).

Оверлейная ПП (PMOVERLAY MEMORY) использует всю ширину внешних шин адреса и 16 линий внешней шины данных процессора DATA[23-8]. Ее особенностью является то, что значение бита ADDR13 устанавливается через регистр PMOVLAY (см. п. 1.3). Значение ADDR13 = 0 обеспечивает доступ к первому сегменту оверлейной ПП, а ADDR13 = 1 – к второму сегменту оверлейной ПП. Обращение к ячейкам памяти обоих сегментов возможно только с помощью косвенного метода адресации (см. пп. 1.17.4.д, з).

Оверлейная ПД (DMOVERLAY MEMORY) использует всю ширину внешней шины адреса и 16 линий внешней шины данных процессора DATA[23-8]. Ее особенностью является то, что значение бита ADDR13 устанавливается через регистр DMOVLAY (см. п. 1.4). Значение ADDR13 = 0 обеспечивает доступ к первому сегменту оверлейной ПД, а ADDR13 = 1 – к второму сегменту оверлейной ПД. Обращение к ячейкам памяти обоих сегментов возможно как с помощью прямого метода адресации (см. пп. 1.17.4.в, е) , так и с помощью косвенного метода адресации (см. пп. 1.17.4.г, ж).

2.2. Цепи синхронизации и запуска процессора

Для формирования импульсов синхронизации процессора используется встроенный генератор, для работы которого ко входам CLKIN (контакт 20) и XTAL (контакт 19) необходимо подключить хронирующие цепи (кварцевый резонатор BQ и конденсаторы С1, С2, см. п. 1.1). Параметр кварцевого резонатора (частота Fclkin = 16,67 МГц) приводится в п. 1.14.1, осталось определить значения емкостей С1 = С2 = 18 пФ.

Схема цепи запуска процессора приведена на рис 2.3.

Рис. 2.3. Схема цепи запуска процессора (D1, D2 – 74HC14)

Схема цепи запуска процессора функционирует аналогично цепи сброса микропроцессора М1821ВМ85А, см. п. 2.6 в [6]. Цепь R1, С1 определяет длительность импульса сброса. Цепь R2, D1, D2 является антидребезговой. Если конденсатор С1 перемкнуть нормально разомкнутой кнопкой, то процессор можно сбрасывать вручную с помощью этой кнопки.

ПРИЛОЖЕНИЕ 1

Формат регистров управления

Ниже представлены форматы всех регистров управления и состояния кроме ASTAT (см. табл.1.9), SSTAT (см. табл.1.11), MSTAT (см. табл.1.12), и регистров управления таймером TPERIOD, TCOUNT, TSCALE (см. табл.1.15). Также не представлены некоторые регистры, имеющие простой формат, например, SPORTx CLKDIV, SPORTx RFSDIV.

Цифры в битах и битовых полях отражают содержимое соответствующих битов после сброса, отсутствие цифр отражает неопределенное содержимое соответствующих битов после сброса. Серым цветом закрашены зарезервированные биты и битовые поля. В них всегда должны записываться нулевые значения.

П1.1. System control register (регистр управления системой)

Адрес регистра: 0x3FFF.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

1

1

S0E

S1E

S1C

PWAIT

где: S0E – SPORT0 Enable (разрешение SPORT0), если S0E = 1, то SPORT0 разрешен, в противном случае – запрещен;

S1E – SPORT1 Enable (разрешение SPORT1), если S1E = 1, то SPORT1 разрешен, в противном случае – запрещен;

S1C – SPORT1 Configure (конфигурирование SPORT1), если S1C = 1, то разрешен последовательный порт, в противном случае разрешены FI, FO, IRQ0#, IRQ1#, SCLK1 (см. п. 1.12.2);

PWAIT – число состояний ожидания при обращении к внешней ПП.

П1.2. Data memory waitstate register (регистр числа состояний ожидания при обращении к внешней ПД)

Адрес регистра: 0x3FFE.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

DWAIT

IOWAIT3

IOWAIT2

IOWAIT1

IOWAIT0

где: DWAIT – число состояний ожидания при обращении к внешней ПД;

IOWAIT0 - IOWAIT3 – число состояний ожидания при обращении к следующим диапазонам адресов адресного пространства ввода/вывода соответственно: 0x000-0x1FF, 0x200-0x3FF, 0x400-0x5FF и 0x600-0x7FF.

П1.3. SPORT0 autobuffer control register (регистр управления

автобуферизацией SPORT0)

Адрес регистра: 0x3FF3.

15

14

13

12

11 10 9

8 7

6 5 4

3 2

1

0

0

0

0

0

0

0

С

В

TIREG

TMREG

RIREG

RMREG

TBUF

RBUF

где: С – CLKODIS (CLKOUT disable control bit) бит управления запретом сигнала CLKOUT;

B – BIASRND (MAC biased rounding control bit) бит управления смещенным округлением МАС, если BIASRND = 0, то округление нормальное, в противном случае – смещенное;

TIREG, TMREG – номера индексного и модификационного регистров, связанных с передающим буфером, соответственно;

RIREG, RMREG – номера индексного и модификационного регистров, связанных с приемным буфером, соответственно;

TBUF, RBUF – биты разрешения передачи и приема с автобуферизацией (1 – автобуферизация разрешена, 0 – запрещена).

П1.4. SPORT0 control register (регистр управления SPORT0)

Адрес регистра: 0x3FF6.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

M

IS

R

W

T

S

I

F

V

N

DTYPE

SLEN

где: М – MCE (Multichannel enable) разрешение многоканального режима, если = 1, то многоканальный режим разрешен, в противном случае – запрещен;

IS – ISCLK (Internal Serial clock generation) разрешение формирования внутренней синхронизации последовательного порта, если ISCLK = 1, то разрешена внутренняя синхронизация, в противном случае – внешняя;

R – RFSR (Receive frame sync required) требование фреймовой синхронизации при приеме данных, если RFSR = 0, то фреймовая синхронизация при приеме данных отсутствует, в противном случае – присутствует;

W – RFSW (receive frame sync Width) режим фреймовой синхронизации при приеме данных, если RFSW = 0, то нормальный, в противном случае – альтернативный;

Т – TFSR (Transmit frame sync required) требование фреймовой синхронизации при передаче данных, если TFSR = 0, то фреймовая синхронизация при передаче данных отсутствует, в противном случае – присутствует;

S – TFSW (transmit frame Sync width) режим фреймовой синхронизации при передаче данных, если RFSW = 0, то нормальный, в противном случае – альтернативный;

I – ITFS (Internal transmit frame sync enable) источник фреймовой синхронизации при передаче, если ITFS = 0, то используется внешний сигнал TFS, в противном случае формируется собственный сигнал TFS;

F – IRFS (internal receive Frame sync enable) источник фреймовой синхронизации при приеме, если IRFS = 0, то используется внешний сигнал RFS, в противном случае формируется собственный сигнал RFS;

V – INVTFS (inVert transmit frame sync) выбор уровня активности фреймовых сигналов при передаче, если INVTFS = 0, то уровень TFS высокий, в противном случае – низкий;

N – INVRFS (receive traNsmit frame sync) выбор уровня активности фреймовых сигналов при приеме, если INVRFS = 0, то уровень RFS высокий, в противном случае – низкий;

DTYPE – (Data type) формат данных, возможны следующие значения этого битового поля: 00 – правое выравнивание (старшие неиспользуемые биты заполняются нулями); 01 – правое выравнивание (старшие неиспользуемые биты заполняются значением знакового бита); 10 – компандинг с использованием -закона; 11 – компандинг с использованием А-закона;

SLEN – (serial word length) длина слова данных в битах, в это поле следует записывать действительное значение длины уменьшенное на единицу.

Если разрешен многоканальный режим работы последовательного порта (МСЕ = 1), то некоторые биты регистра управления последовательным портом изменяют свое функциональное назначение, в частности:

  • биты 13-10 хранят значение задержки многоканального фрейма (Multichannel Frame Delay – MFD);

  • бит 9 определяет многоканальную длину (Multichannel Length – MCL), если MCL = 1, то объем фрейма составляет 32 слова, в противном случае – 24 слова;

  • бит 7 (Invert Transmit Data Valid – INVTDV) определяет уровень активности сигнала TDV (см. п. 1.12.7).

П1.5. SPORT1 autobuffer control register (регистр управления

автобуферизацией SPORT1)

Адрес регистра: 0x3FЕF.

15

14

13

12

11 10 9

8 7

6 5 4

3 2

1

0

0

0

0

0

0

0

X

D

P

U

TIREG

TMREG

RIREG

RMREG

TBUF

RBUF

где: Х – XTALDIS (Xtal pin disable during powerdown) запрещение сигнала XTAL при переходе в режим энергосбережения, если XTALDIS = 1, то сигнал XTALDIS запрещен, в противном случае – разрешен. Если используется внешняя синхронизация сигнал (собственный кварцевый резонатор отсутствует), то сигнал XTAL необходимо запрещать;

D – XTALDELAY (Delay startup from powerdown) задержка начала выполнения программы при выходе из режима энергосбережения, если XTALDELAY = 1, то процессор перед началом выполнения программы делает 4096 холостых циклов. Это лучше делать всегда при выходе из режима энергосбережения для того, чтобы внутренний узел автоматической подстройки частоты начал стабильно работать;

Р – PDFORCE (PD force) формирование запроса на прерывание (если PDFORCE = 1) powerdown (см. табл. 1.8);

U – PUCR (PowerUp Context Reset) сброс контекста при перезагрузке, если PUCH = 1, то программный сброс, в противном случае отказ от выполнения.

Остальные битовые поля имеют то же функциональное назначение, как в регистре управления автобуферизацией SPORT0 (см. п. П.1.3).

П1.6. SPORT1 control register (регистр управления SPORT1)

Адрес регистра: 0x3FF2.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

O

IS

R

W

T

S

I

F

V

N

DTYPE

SLEN

где: O – состояние флага Flag Out (только для чтения, см. п. 1.14.3).

Остальные биты и битовые поля имеют то же функциональное назначение, как в регистре управления SPORT0 (см. п. П.1.4) за исключением того, что SPORT1 не может работать в многоканальном режиме.

П1.7. Programmable flag & Composite select control (регистр управления программируемыми флагами и сигналом CMS#)

Адрес регистра: 0x3FE6.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

1

1

1

1

0

1

1

0

0

0

0

0

0

0

0

BMWAIT

IOM

BM

DM

PM

PFTYPE

где: BMWAIT – число состояний ожидания при обращении к БП;

IOM, BM, DM, PM – биты, определяющие формирование сигнала CMS# (см. п. 1.1) при обращении к адресным пространствам ввода/вывода, БП, внешней ПД, внешней ПП соответственно, если этот бит содержит 1, то при обращении к соответствующему адресному пространству сигнал CMS# будет формироваться, в противном случае – нет;

PFTYPE – битовое поле, определяющее тип флага PF[7:0], если какой-либо бит этого поля содержит 0, то соответствующий ему бит PF[7:0] будет запрограммирован на ввод, в противном случае – на вывод.

П1.8. Programmable flag data (регистр данных программируемых флагов)

Адрес регистра: 0x3FE5.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

PFDATA

где: PFDATA - регистр данных программируемых флагов, при записи в этот регистр данные появляются на тех флагах PF[7:0], которые запрограммированы на выход (см. п. П1.7), при чтении внешние данные находятся в тех флагах PF[7:0], которые запрограммированы на ввод (см. п. П1.7).

П1.9. BDMA word count (счетчик слов BDMA)

Адрес регистра: 0x3FE4.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

BWCOUNT

где: BWCOUNT – (Byte Word COUNT) содержимое счетчика слов, передаваемых с помощью BDMA.

П1.10. BDMA control (регистр управления BDMA)

Адрес регистра: 0x3FE3.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

BMPAGE

B

D

BTYPE

где: BMPAGE – (Byte Memory Page) номер начальной страницы БП, с которой взаимодействует BDMA;

В – BCR (BDMA Context Reset) сброс контекста во время работы BDMA, если BCR = 0, то процессор выполняет программу во время работы BDMA, в противном случае – нет;

D – BDIR (BDMA DIRection) направление передачи данных, если BDIR = 0, то происходит чтение БП, в противном случае – запись БП;

BTYPE – (BDMA data TYPE) формат передаваемых данных, см. табл. П1.1.

Таблица П1.1

Формат данных BDMA

BTYPE

Внутреннее адресное

Пространство

Длина слова

Выравнивание

00

PM

24

Целое слово

01

DM

16

Целое слово

10

DM

8

СЗР

11

DM

8

МЗР

где: СЗР – старшие значащие разряды (младшие 8 бит заполняются нулями);

МЗР – младшие значащие разряды (старшие 8 бит заполняются нулями).

П1.11. BDMA external address (адрес БП BDMA)

Адрес регистра: 0x3FE2.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

BEAD

где: BEAD – (BDMA External ADdress) начальный адрес БП BDMA.

П1.12. BDMA internal address (адрес внутренней памяти BDMA)

Адрес регистра: 0x3FE1.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

BIAD

где: BIAD – (BDMA Internal ADdress) начальный адрес внутренней памяти BDMA.

П1.13. IDMA control (регистр управления IDMA)

Адрес регистра: 0x3FE0.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

M

IDMAA

где: М – IDMAD (IDMA Destination) тип памяти назначения, если IDMAD = 0, то ПП, в противном случае – ПД;

IDMAA – (IDMA Address) начальный адрес внутренней памяти процессора.

П1.14. ICNTL register (регистр управления прерываниями)

Адрес регистра: регистр не находится в ПД, для обращения к нему в программах на языке ассемблера необходимо ссылаться на его имя.

4

3

2

1

0

0

0

0

0

0

IN

IRQ2# Sens

IRQ1# Sens

IRQ0# Sens

где: IN – (Interrupt Nesting) разрешение/запрет вложенных прерываний, если бит установлен, то вложенные прерывания разрешены, в противном случае – запрещены;

IRQ2# Sens, IRQ1# Sens, IRQ0# Sens – (Interrupt ReQuest Sensitivity) установка чувствительности запросов на прерывания, если какой-либо из этих битов установлен, то определена чувствительность к фронту соответствующего запроса на прерывание, в противном случае определена чувствительность к уровню.

П1.15. IMASK register (регистр маскирования прерываний)

Адрес регистра: регистр не находится в ПД, для обращения к нему в программах на языке ассемблера необходимо ссылаться на его имя.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Биты разрешения прерываний (если = 1)

Биты разрешения прерываний действуют на следующие запросы прерывания:

  • бит 0 – на прерывания от таймера;

  • бит 1 – на прерывания от SPORT1 (прием) или IRQ0#;

  • бит 2 – на прерывания от SPORT1 (передача) или IRQ1#;

  • бит 3 – на прерывания от BDMA;

  • бит 4 – на прерывания от IRQE#;

  • бит 5– на прерывания от SPORT0 (прием);

  • бит 6 – на прерывания от SPORT0 (передача);

  • бит 7 – на прерывания от IRQL0#;

  • бит 8 – на прерывания от IRQL1#;

  • бит 9 – на прерывания от IRQ2#.

П1.16. IFC register (регистр форсирования прерываний)

Адрес регистра: регистр не находится в ПД, для обращения к нему в программах на языке ассемблера необходимо ссылаться на его имя.

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Биты форсирования прерываний

Биты очистки прерываний

Биты регистра активны, если = 1, и выполняют следующие функции:

  • бит 15, бит 7 – форсирование/очистка IRQ2#;

  • бит 14, бит 6 – форсирование/очистка SPORT0 (передача);

  • бит 13, бит 5 – форсирование/очистка SPORT0 (прием);

  • бит 12, бит 4 – форсирование/очистка IRQE#;

  • бит 11, бит 3 – форсирование/очистка BDMA;

  • бит 10, бит 2 – форсирование/очистка SPORT1 (передача) или IRQ1#;

  • бит 09, бит 1 – форсирование/очистка SPORT1 (прием) или IRQ0#;

  • бит 08, бит 0 – форсирование/очистка прерывания таймера.

ЛИТЕРАТУРА

1. ADSP-2100 Family, User’s Manuel, Analog Devices, Inc., Third Edition, September, 1995

  1. ADSP-2100 Family, EZ-KIT Lite Reference Manuel, Analog Devices, Inc., First Edition, May, 1995

3. DSP Microcomputer ADSP-2181. – Analog Devices, Inc., 1928.pdf, 1998

4. VisualDSP IDE, v. 3.0.1.1, Analog Devices, Inc., 2000

5. Serial-Port 16-Bit Sound Port Stereo Codec AD1847. – Analog Devices,

Inc., 1061.pdf, August, 1996

6. Комаров А.В. Введение в микропроцессоры. Конспект лекций по курсу Микропроцессорные устройства (для студентов специальности 22.01) – Обнинск, ИАТЭ, 1998, - 75 с.

ВЕРСИЯ 23.05.03

86

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]