Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-окт-22 21:18

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 182 сообщения ]  На страницу « 19 10 11 12 13 »
Автор Сообщение
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2020-мар-24 13:05 
Не в сети

Зарегистрирован: 2014-июн-17 16:55
Сообщения: 10
BY_man писал(а): *
1. Не знаю что такое СОДх2. Вы имеете ввиду нашу отладочную плату с двумя ВН28?
Я посмотрю можно ли на ней что-то похожее сделать. ID там можно назначить любые.
Можно сделать 0-й и 4-й. 0-й можно подконтачить к среде отладки, а 4-й оставить в ожидании
прерывания. Тогда 0-й может стартануть 4-й и тот загрузится с EPROM (если она есть на плате) и , например, поморгает светодиодом.
В таком случае не нужно разрывать nBMS линию на две.

2. q[j31+0x201f0000] = xr3:0;; - это 128-ми битное обращение через кластерную шину в адресное пространство ID4 и оно аппаратно разбивается на 32-х или 64-х разрядные в зависимости от того как кластерная шина сконфигурирована?
да. именно так. В ID4 эти куски опять собираются в одно квадрослово и пишутся по назначению. В данном случае это запись в 128-разрядный регистр
DMA канал 0.

PS. как не вертел плату ВН28, но так и не вижу на ней EPROM. Может через внешний разъем предполагалось подключать?
СОДх2 - это Ваша отладочная плата с двумя микросборками Флип-Чип, и похоже там нужны аппаратные доработки...
В любом случае спасибо Вам за участие и полезную информацию!


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2020-мар-24 13:18 
Не в сети

Зарегистрирован: 2014-авг-15 11:04
Сообщения: 223
Организация: Миландр
Откуда: Миландр
На плате СОДх2 применили несколько иной подход (схемотехнику) при подключении к EPROM, в отличие от того,
который я выше описывал. BMS-перемычка на плате означает физическое соединение nBMS
сигнала процессора с сигналом выборки CEROM. Возможно несколько вариантов старта с использованием EPROM,
Изложу здесь свои личные впечатления-соображения.

1. Для старта с EPROM всегда будет задействован процессор ID0. Именно его внутренний резистор к нулю и задает
такой режим старта. Если какой-то другой процессор ID1...7 желает также сделать старт с EPROM, то его нужно перемычкой на плате подключить к общей
с ID0 линии выборки. Кроме процессора ID4! 4BMS провод не нужно подключать к этой линии.

2. Если какой-то процессор не стартует с EPROM, то его BMS не подключается к общей линии, а остается под действием внешнего резистора к питанию.
У процессоров ID1...7 нет на их линии nBMS внутреннего резистора к нулю, поэтому внешний резистор к питанию задает запрещение старта с EPROM.

3. Если нужно чтобы ID4 стартанул с EPROM , то самый простой вариант это воспользоваться тем, что на плате две микросхемы EPROM.
Все процессоры (кроме ID4) подключаются к одному EPROM, а процессор ID4 ко второму.
Для этого понадобится только провод, который соединит 4BMS (ХТ6.1) контакт с сигналом выборки CEROM(ХТ5.1 или ХТ5.3).
В обе EPROM можно прошить один и тот же образ.
Далее все по тому алгоритму, который я описывал раньше: ID0 загружается и программирует старт ID4 на загрузку из EPROM.
В загрузчике всегда нужно следить, что для ID4 адрес EPROM начинается с 0х2...

4. Если нужно обязательно сделать общий старт с одного EPROM, то придется сделать "аппаратную доработку".
Нужна плата с логическим элементом AND. К одному входу этого элемента подключить сигнал выборки
EPROM от ID4 (4BMS ХТ6.1) , а к другому сигнал выборки от всех оставшихся процессоров (ХТ5.2).
Выход этого элемента подключить к одному из двух EPROM (ХТ5.1 или ХТ5.3).

5. Оба варианта выше предполагали, что вся система стартует из EPROM.
Но возможны и варианты старта с использованием среды отладки, чтобы просто проверить загрузку ID4 из EPROM на СОДх2.
В этом случае можно обойтись и без доп проводов и плат.


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2020-мар-26 15:39 
Не в сети

Зарегистрирован: 2014-июн-17 16:55
Сообщения: 10
BY_man писал(а): *
На плате СОДх2 применили несколько иной подход (схемотехнику) при подключении к EPROM, в отличие от того,
который я выше описывал. BMS-перемычка на плате означает физическое соединение nBMS
сигнала процессора с сигналом выборки CEROM. Возможно несколько вариантов старта с использованием EPROM,
Изложу здесь свои личные впечатления-соображения.

1. Для старта с EPROM всегда будет задействован процессор ID0. Именно его внутренний резистор к нулю и задает
такой режим старта. Если какой-то другой процессор ID1...7 желает также сделать старт с EPROM, то его нужно перемычкой на плате подключить к общей
с ID0 линии выборки. Кроме процессора ID4! 4BMS провод не нужно подключать к этой линии.

2. Если какой-то процессор не стартует с EPROM, то его BMS не подключается к общей линии, а остается под действием внешнего резистора к питанию.
У процессоров ID1...7 нет на их линии nBMS внутреннего резистора к нулю, поэтому внешний резистор к питанию задает запрещение старта с EPROM.

3. Если нужно чтобы ID4 стартанул с EPROM , то самый простой вариант это воспользоваться тем, что на плате две микросхемы EPROM.
Все процессоры (кроме ID4) подключаются к одному EPROM, а процессор ID4 ко второму.
Для этого понадобится только провод, который соединит 4BMS (ХТ6.1) контакт с сигналом выборки CEROM(ХТ5.1 или ХТ5.3).
В обе EPROM можно прошить один и тот же образ.
Далее все по тому алгоритму, который я описывал раньше: ID0 загружается и программирует старт ID4 на загрузку из EPROM.
В загрузчике всегда нужно следить, что для ID4 адрес EPROM начинается с 0х2...

4. Если нужно обязательно сделать общий старт с одного EPROM, то придется сделать "аппаратную доработку".
Нужна плата с логическим элементом AND. К одному входу этого элемента подключить сигнал выборки
EPROM от ID4 (4BMS ХТ6.1) , а к другому сигнал выборки от всех оставшихся процессоров (ХТ5.2).
Выход этого элемента подключить к одному из двух EPROM (ХТ5.1 или ХТ5.3).

5. Оба варианта выше предполагали, что вся система стартует из EPROM.
Но возможны и варианты старта с использованием среды отладки, чтобы просто проверить загрузку ID4 из EPROM на СОДх2.
В этом случае можно обойтись и без доп проводов и плат.
Я реализовал другой вариант. Считал и передал в ID4 прошивку из EPROM другим процессором по LINK порту, только предзагрузчик линковый "подсунул"


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2020-мар-27 12:34 
Не в сети

Зарегистрирован: 2014-авг-15 11:04
Сообщения: 223
Организация: Миландр
Откуда: Миландр
d_des писал(а): *
Я реализовал другой вариант. Считал и передал в ID4 прошивку из EPROM другим процессором по LINK порту, только предзагрузчик линковый "подсунул"
Вариант конечно хороший. Не дает доп трафика на общую шину.
Но это у же немножко не то, чем ранее поставленная Вами задача :)
А что если потом ID4 захочет что-нибудь подгрузить из ЕПРОМ ? опять придется просить соседа :)


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2020-дек-24 14:26 
Не в сети

Зарегистрирован: 2020-дек-24 13:36
Сообщения: 1
Организация: Частное лицо
Не подскажете, где можно найти usb-драйвер для 1967вн028? Уверен, что он где-то здесь лежит, но никак не могу отыскать.


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-16 11:31 
Не в сети

Зарегистрирован: 2021-сен-16 10:52
Сообщения: 16
Организация: НИИДАР
Доброго времени суток! Есть кто живой? Подскажите пожалуйста. Связался с lvds на отладочной плате 1967вн028. Для отработки пока общаюсь сам с собой. Принимаю все на dma11 от приемника 3го линка, а шлю от 7го dma на передатчик 3го линка, линк соответственно замкнут сам на себя. Порядок моих действий представлен здесь
https://docs.google.com/document/d/17Dt ... ue&sd=true

И все в общем то работает нормально пока в link настроен на передачу и прием по одному байту, но стоит изменить на 4-битовый формат передачи и с этого момента он либо получает мусор либо вообще ничего не получает.


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-16 12:15 
Не в сети

Зарегистрирован: 2014-авг-15 11:04
Сообщения: 223
Организация: Миландр
Откуда: Миландр
mikri писал(а): *
Доброго времени суток! Есть кто живой? Подскажите пожалуйста. Связался с lvds на отладочной плате 1967вн028. Для отработки пока общаюсь сам с собой. Принимаю все на dma11 от приемника 3го линка, а шлю от 7го dma на передатчик 3го линка, линк соответственно замкнут сам на себя. Порядок моих действий представлен здесь
https://docs.google.com/document/d/17Dt ... ue&sd=true

И все в общем то работает нормально пока в link настроен на передачу и прием по одному байту, но стоит изменить на 4-битовый формат передачи и с этого момента он либо получает мусор либо вообще ничего не получает.
нужно понимать, что все ОК если прием-передача по 1 биту, т.е. используется только одна линия из 4-х.
Если же вы меняете режим передачи-приема на 4-х битовый, что мусор. Меняете внешним контактом или программно?
Какая частота у линк-порта?
q[j3+0]=xr3:0;;//операция смысл который пока не понятен но в единственном имеющемся примере она есть
В своем примере вы запускаете цепочку операций. Что это за цепочка я пока не разобрался :)
Ниже непонятно что
J3=arrx+8;; вылезаем за пределы массива выше
J4=arr-4;; опять же за пределы массива ниже
туда же и сохраняете задания, но в управляющем слове прописываются совсем другие адреса.
+ (arrx/4);; приемник попытается загрузить принятые данные как новое управляющее слово
+ arr/4 передатчик загрузит первые 4 слова массива arr как следующее управляющее слово.
стремная программа :)


Последний раз редактировалось BY_man 2021-сен-16 13:25, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-16 12:25 
Не в сети

Зарегистрирован: 2014-авг-15 11:04
Сообщения: 223
Организация: Миландр
Откуда: Миландр
из своего опыта работы с линками могу отметить, что есть нюанс с включением передатчиков-приемников.
Вы вначале включаете приемник. Если вдруг помеха на входе клока, то у вас сразу лишние данные.
Затем вы включаете передатчик. Вот его включение может (?) дать помеху. Попробуйте так
1. выключение приемника и его ДМА канала.
2. включение линка передатчика
3. включение линка приемника - входы приемника уже будут под управлением передатчика
4. включение ДМА приемника
5. включение Дма передатчика - здесь будет старт передачи
Если вы в 4-х битовом режиме приняли мусор, то посмотрите не есть ли этот мусор ваши данные сдвинутые на пару бит.
Если это так, то значит были проблемы при включении.


Последний раз редактировалось BY_man 2021-сен-16 13:03, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-16 12:42 
Не в сети

Зарегистрирован: 2014-авг-15 11:04
Сообщения: 223
Организация: Миландр
Откуда: Миландр
" Из непонятного для меня осталось то что моя реализация работает только при передаче квадрословами, к сожалению причины этого так и остались для меня загадкой."
линки передают только квадрословами и с меньшими размерами данных не работают. Попытка задать меньший размер должна приводить к ошибке.
За каждым линком закреплена своя пара ДМА каналов, т.е. они образуют одно целое. Ни для каких иных целей эти ДМА каналы использовать нельзя.

PS. Нужно помнить, что задавая 4-х битовый режим внешним контактом , вы задаете этот режим только для приемника.
Также нужно помнить, что после сброса приемник уже включен. Как и его ДМА канал. Так что лучше всего все это сначала выключить,
а потом уже задавать свои настройки.


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-16 14:03 
Не в сети

Зарегистрирован: 2021-сен-16 10:52
Сообщения: 16
Организация: НИИДАР
Шапками не закидывайте, это мой первый опыт в асм и в dsp, так что да, нестрёмными программами пока не похвастаюсь :)
Спасибо большое за ответы!


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-16 14:41 
Не в сети

Зарегистрирован: 2021-сен-16 10:52
Сообщения: 16
Организация: НИИДАР
BY_man писал(а): *
из своего опыта работы с линками могу отметить, что есть нюанс с включением передатчиков-приемников.
Вы вначале включаете приемник. Если вдруг помеха на входе клока, то у вас сразу лишние данные.
Затем вы включаете передатчик. Вот его включение может (?) дать помеху. Попробуйте так
1. выключение приемника и его ДМА канала.
2. включение линка передатчика
3. включение линка приемника - входы приемника уже будут под управлением передатчика
4. включение ДМА приемника
5. включение Дма передатчика - здесь будет старт передачи
Если вы в 4-х битовом режиме приняли мусор, то посмотрите не есть ли этот мусор ваши данные сдвинутые на пару бит.
Если это так, то значит были проблемы при включении.
Сделал так, + частоту линка изменил на CCLK/4, к сожалению все равно данные в корректном виде не прилетели. На сдвинутые данные это не особо похоже хотя закономерность есть
послал                       пришло
1                         -858993459
204                     -858993464
0                         -858993460
0                         -858993460
1                         -858993459
204                     -858993464
0                         -858993460
0                         -858993460


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-22 17:52 
Не в сети

Зарегистрирован: 2021-сен-16 10:52
Сообщения: 16
Организация: НИИДАР
В качестве справки обозначу в данной ветке с Вашего позволения, что данная проблема решена (Спасибо BY_man). Кто планирует работать с LINK-портами на отладочной плате 1967ВН028 при выборе link порта и dvi разъема, ориентируйтесь на таблицы 8 и 9 из паспорта отладочной платы.


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-23 11:24 
Не в сети

Зарегистрирован: 2021-сен-16 10:52
Сообщения: 16
Организация: НИИДАР
А можете пожалуйста подсказать, где можно найти таблицу векторов прерываний? Если есть пример на ассемблере с реализацией обработки какого либо прерывания, буду очень благодарен.


Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-23 11:59 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 448
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
mikri писал(а): *
А можете пожалуйста подсказать, где можно найти таблицу векторов прерываний? Если есть пример на ассемблере с реализацией обработки какого либо прерывания, буду очень благодарен.
Здравствуйте!

Обратите, пожалуйста, внимание, что таблица векторов прерываний для процессора ЦОС 1967ВН028 содержится в актуальной версии спецификации, в подразделе 7.2.6 "Источники прерываний процессора", стр. 72-73. При этом при работе с прерываниями удобно использовать библиотеки HAL (dirCM-LYNX\toolchain\1967VN028\HAL - hal_interrupt.h и hal_interrupt.c соответственно с детальным описанием функций в hal_interrupt.docx). Пример работы с прерываниями для справки находится в файле из вложений к этому посту: если обработчик прерывания необходимо реализовать на ассемблере, то необходимо руководствоваться инструкциями об использовании ассемблерных файлов в проектах CM-LYNX из документа "ML_ЦППО_MCA-TSH_Руководство_пользователя_R_V2.x.x" на ассемблер MCA-TSH, подраздел 6.2.3. Спасибо за обращение.


Вложения:
main.zip [716 байт]
15 скачиваний

_________________
Отдел технической поддержки support@milandr.ru
Вернуться к началу
 Заголовок сообщения: Re: 1967ВН028
СообщениеДобавлено: 2021-сен-23 14:55 
Не в сети

Зарегистрирован: 2021-сен-16 10:52
Сообщения: 16
Организация: НИИДАР
Указанный раздел спецификации содержит только таблицу приоритетов прерываний. Нужна информация по адресам векторов прерываний.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 182 сообщения ]  На страницу « 19 10 11 12 13 »

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB