реклама на сайте
подробности

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Open-source эмулятор для TMS320: DLE500USB, Таки разродился
Raven
сообщение Jun 21 2016, 19:19
Сообщение #46


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Залез в IEEE 1149.1 и немного освежил знания по BSCAN и BSDL.

Цитата(gagel @ Jun 19 2016, 23:47) *
Нужно было только установить value (output3), а не и control тоже. Теперь только вопрос: а зачем этот control?

Из BSDL для 5502:
- ячейка (стадия) BSCAN регистра #215: "215 (bc_1, XF, output3, X, 214, 1, Z)," - в этой позиции стоит BSCAN cell типа bc_1 (самый универсальный вариант, все может), наружу выходит под видом пина XF, являющегося выходом с 3 состояниями ("output3"), "безопасное" состояние для тестов - любое ("X"), управление выходом осуществляется из BSCAN-стадии #214, отключение этого выхода осуществляется уровнем control=1 (в #214), при этом выход переключится в Z-состояние (состояние отключения - именно Z, а не, скажем, "WEAK 1");

- BSCAN stage #214: "214 (bc_1, *, control, 1)," - ячейка управления, тип bc_1, отключающее состояние - "1"; кстати, тип bc_1 наводит на мысль, что ячейка управляет выходным буфером пина XF не только для целей BSCAN, но и пропускает через себя штатный сигнал управления этим буфером (идущий из core logic), а значит, его тоже можно осмысленно capture'ить при надобности (и само собой - управлять им).

Подытожим. Пин XF являтся выходом буфера с Z-состоянием, на вход которого поступает собственно сигнал XF из core logic, прошедший через ячейку #215. Вход управления этого буфера подключен к выходу ячейки #214, на вход которой, предположительно, подключен штатный сигнал управления буфером на XF.

Цитата(gagel @ Jun 19 2016, 23:47) *
И ещё не ожидал, что при SAMPLE value=0 светодиодик горит, а при EXTEST для этого нужно писать 1. Я думал, что значение всего BSR можно один к одному использовать и для SAMPLE, и для EXTEST, т.е. содержимое интерпретируется одинаково, а не как пока получается: по-разному.

Инструкция SAMPLE предназначена в первую очередь для считывания состояния пина (т.е., интересно в первую очередь значение shifted-out). Для 5502, правда, она скорее всего работает как SAMPLE/PRELOAD, но и PRELOAD компонента функциональности лишь загоняет shifted-in значение в shadow-регистр, где она пока никак не влияет на выходной пин и ждет своего часа (точнее, инструкции EXTEST). А вот value, которая shifted-in в контексте EXTEST, после Update-DR сразу идет на выход (ну, конечно, если выходной буфер настроен ее пропустить). Так что когда вы делали SAMPLE с value = 0, светодиодом все равно пока управляла штатная логика (по-видимому, выдававшая в этот момент 1), и он при этом горел.
PRELOAD value нужна, чтобы выдавать на выход нужное нам значение на отрезке времени от Update-IR для EXTEST (будет выдано значение, записанное в shadow-регистр последней PRELOAD) до первого его Update-DR (будет выдано shifted-in значение самого EXTEST).
Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 06:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016