Миландр

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

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




Начать новую тему  Ответить на тему  [ 125 сообщений ]  На страницу « 15 6 7 8 9 »
Автор Сообщение
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2019-мар-28 12:25 
Не в сети

Зарегистрирован: 2017-фев-14 11:21
Сообщения: 189
Организация: АО ПКК Миландр
Откуда: АО "ПКК Миландр"
Уточнила про DUcc.
DUcc можно как оставлять не подключенными, так и подключать через емкость на землю (это будет как дополнительный фильтр для DUcc, которое формируется внутри микросхемы).
Противоречие между двумя таблицами связано с невнимательностью. Поправим, будет везде одинаково (как в 2-1).
В ТУ в настоящий момент указано, что к выводу 1 (DUcc) запрещается подведение каких-либо сигналов. Это осталось от первой ревизии кристалла, забыли убрать.
Планируется корректировка ТУ.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-фев-12 15:54 
Не в сети

Зарегистрирован: 2018-дек-17 15:20
Сообщения: 127
Организация: частное лицо
Верно ли, что ревизию контроллера можно узнать из регистра CPUID, биты 23..20.
Если нет, то как?


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-мар-12 10:10 
Не в сети

Зарегистрирован: 2019-дек-17 10:07
Сообщения: 22
Организация: ИРТ
Добрый день! Подскажите, а в 1901ВЦ1Т при обращении к внешней ОЗУ, можно записывать только 32х битные блоки? Т.е. если у меня физически подключены только младшие 8 разрядов и я использую 8ми битные данные, то в память я все-равно буду записывать 32х битное слово с тремя пустыми старшими октетами? И нет такой возможности как в 1986ВЕ1Т использовать выравнивание данных по 8и разрядам?


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-мар-12 17:50 
Не в сети

Зарегистрирован: 2017-июл-14 15:02
Сообщения: 56
Организация: АО "ПКК Миландр"
Откуда: АО "ПКК Миландр"
Sergey3141592 писал(а): *
Верно ли, что ревизию контроллера можно узнать из регистра CPUID, биты 23..20.
Если нет, то как?
Ответили на вопрос в этой ветке форума: https://forum.milandr.ru/viewtopic.php? ... 505#p25504

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-мар-18 13:40 
Не в сети

Зарегистрирован: 2017-июл-14 15:02
Сообщения: 56
Организация: АО "ПКК Миландр"
Откуда: АО "ПКК Миландр"
ДмитрийИРТ писал(а): *
Добрый день! Подскажите, а в 1901ВЦ1Т при обращении к внешней ОЗУ, можно записывать только 32х битные блоки? Т.е. если у меня физически подключены только младшие 8 разрядов и я использую 8ми битные данные, то в память я все-равно буду записывать 32х битное слово с тремя пустыми старшими октетами? И нет такой возможности как в 1986ВЕ1Т использовать выравнивание данных по 8и разрядам?
Да, в МК 1901ВЦ1Т внешняя системная шина всегда имеет разрядность шины данных 32 бита, выравнивание LOW8 для работы с 8-разрядной шиной данных, как в МК 1986ВЕ1Т, не предусмотрено. Если Вам необходимо работать с 8-разрядной микросхемой памяти, то Вы можете подключить адресную шину МК к шине адреса микросхемы памяти со смещение на 2, т.е. А2 (МК) -> А0 (микросхема памяти), А3 (МК) -> А1 (микросхема памяти) и т.д. Таким образом словные обращения (адреса 0x..00, 0x..04, 0x..08 и т.д.) МК будут адресованы во все ячейки микросхемы памяти (0x..00, 0x..01, 0x..02 и т.д.) без пропусков, при этом данные будут записываться и считываться в младшем байте 32-разрядного слова.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-апр-23 12:39 
Не в сети

Зарегистрирован: 2014-фев-05 07:32
Сообщения: 11
Организация: Омский Государственный технический университет
Откуда: Омск
Vladimir_K писал(а): *
Да, в МК 1901ВЦ1Т внешняя системная шина всегда имеет разрядность шины данных 32 бита, выравнивание LOW8 для работы с 8-разрядной шиной данных, как в МК 1986ВЕ1Т, не предусмотрено. Если Вам необходимо работать с 8-разрядной микросхемой памяти, то Вы можете подключить адресную шину МК к шине адреса микросхемы памяти со смещение на 2, т.е. А2 (МК) -> А0 (микросхема памяти), А3 (МК) -> А1 (микросхема памяти) и т.д. Таким образом словные обращения (адреса 0x..00, 0x..04, 0x..08 и т.д.) МК будут адресованы во все ячейки микросхемы памяти (0x..00, 0x..01, 0x..02 и т.д.) без пропусков, при этом данные будут записываться и считываться в младшем байте 32-разрядного слова.
Добрый день! Задался аналогичным вопросом. Не очень понятен принцип адресации на внешней шине. Она побайтовая? Если ADR[31:0] = 0x00000001, то к чему будет производиться адресация? Из рисунка 13-1 стр 184 документации можно сделать вывод, что если взять две мс 1645РУ3, ADR[17:0] микроконтроллера соединить с ADR[17:0] микросхем памяти, DATA[15:0] микроконтроллера присоединить к IO[15:0] одной микросхемы памяти, DATA[31:16] к IO[15:0] другой микросхемы памяти, то все будет работать. Однако, на схеме модуля памяти для отладочника https://www.compel.ru/item-pdf/a147924b ... 6ve91t.pdf мы видим смещение адресной шины, описанное Вами выше. В чем соль? Еще вопрос, в описании выводов для PC0 основная функция - COMPOUT. Дальше этот термин нигде не упоминается. Можете разъяснить?


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-апр-23 13:59 
Не в сети

Зарегистрирован: 2018-мар-18 15:49
Сообщения: 162
Организация: StartMilandr.ru
Извиняюсь, влезу в переписку ибо только что про эту адресацию писал, может быть поможет быть - https://forum.milandr.ru/viewtopic.php?p=25949#p25949
При таком включении со смещением, если читать с адресом кратным 4, то данные с шины данных передадутся контроллером шины один в один. Т.е. D0 шины данных запишется в 0-бит переменной, D1- в первый бит и т.д.

Если же адреса подключить напрямую А0-А0, А1-А1 и т.д. и попытаться читать контроллером с адресами не кратными 4, то байты будут смещаться. Это означает что если читать в 32-разрядную переменную, то в зависимости от адреса 0, 1, 2, 3 младший читаемый байт будет приходить в разные байты в составе этой 32-разрядной переменной. Это сложно объяснить, но грубо говоря, если вы перебираете адреса 1, 2, 3 и читаете снаружи байт в байтовую переменную, то значение с шины данных в байтовой переменной вы не получите. Байт будет приходить в байт только на адресах кратных 4-м.

Посмотрите эту ветку, может быть там нагляднее - https://forum.milandr.ru/viewtopic.php?p=22484#p22484

CompOut судя по названию должен быть выход компаратора. На выходе 0/1 в зависимости от уровня на входе компаратора.


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-апр-23 14:46 
Не в сети

Зарегистрирован: 2014-фев-05 07:32
Сообщения: 11
Организация: Омский Государственный технический университет
Откуда: Омск
StartMilandr писал(а): *
Я сначала было подумал, что если к примеру ADR = 1, то адресация идет к первому байту 32-разрядного слова (если с нуля считать), ADR = 2 - то ко второму, ADR = 3, к третьему, ADR = 4 - к нулевому байту следующего 32-битного слова, тогда есть корреляция с вашим объяснением. То есть по сути получается, что шина адреса если с нулевого бита считать, соответствует восьмибитной шине данных. Не? Но зачем тогда сигналы выбора байта BE??

По поводу COMPOUT. Судя по таблице на стр.173 даташита, PC0 в режиме основной функции должен управляться контроллером внешней шины. Слово COMPOUT в данном документе находится только в этой таблице


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-апр-23 15:21 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1530
Откуда: Тула
dm_mur писал(а): *
Я сначала было подумал, что если к примеру ADR = 1, то адресация идет к первому байту 32-разрядного слова (если с нуля считать), ADR = 2 - то ко второму, ADR = 3, к третьему, ADR = 4 - к нулевому байту следующего 32-битного слова, тогда есть корреляция с вашим объяснением. То есть по сути получается, что шина адреса если с нулевого бита считать, соответствует восьмибитной шине данных. Не? Но зачем тогда сигналы выбора байта BE??
Так оно и будет, но имеет значение к данным какой размерности обращаться. Затем и BEx нужны.
За дальнейшее поручиться не могу, это нужно бы перепроверить, но понимаю так:
int16_t x = *((int16_t *)1); // читаем по адресу 1 16-битное слово 0xhilo.
// имеем:
// A = 0x0000_0001 -- шина адреса
// D = 0x00hi_lo00 -- шина данных
// BE0=BE3=0, BE1=BE2=1
// x = 0x0000hilo, т.е. по пути от внешней шины до внутренней произойдёт сдвиг на 1 байт.

int32_t x = *((int32_t *)2); // читаем по адресу 2 32-битное слово 0xb3b2b1b0.
// имеем:
// A = 0x0000_0002 -- шина адреса
// D = 0xb1b0_b3b2 -- шина данных
// BE0=BE1=BE2=BE3=1
// x = 0xb3b2b1b0, т.е. по пути от внешней шины до внутренней произойдёт циклический сдвиг на 2 байта.


int32_t x = *((int32_t *)3); // читаем по адресу 3  32-битное слово 0xb3b2b1b0.
// имеем:
// A = 0x0000_0003 -- шина адреса
// D = 0xb0b3_b2b1 -- шина данных
// BE0=BE1=BE2=BE3=1
// x = 0xb3b2b1b0, т.е. по пути от внешней шины до внутренней произойдёт циклический сдвиг на 3 байта.

// остальное кратно ширине шины
ОТСЮДА ВАЖНЫЙ ВЫВОД: чтобы читать слова по не выровненным адресам необходимо учитывать адрес, по которому происходит чтение и наоборот: чтобы не запариваться над учётом адреса (отбросить один или два адресных бита) нужно читать только выровненные адреса, а их всего то, кроме тривиальных:
32 битные слова кратно только 0х4, 16 битные - кратно только 0х2 - для 32 разрядной памяти;
16 битные - кратно только 0х2 - для 16 разрядной памяти.

если же хочется читать как угодно и что угодно с точностью до байта, тогда для каждого читаемого байта нужно вычислять адрес с учётом адреса чтения и ширины шины (например с помощью ПЛИС и байтовых ОЗУ).

RAM[j].ADDR = (MCU.ADDR + N-1 - j ) >> LOG2(N)
RAM[j].BE = MCU.BE[j]
RAM[j].D = MCU.D[j]
где j - это номер байта в шине, начиная с нуля, и соответствующая м/с ОЗУ за него отвечающая (её индекс в массиве);
N = ширина шины данных, байт.

Мультиплексор байт данных уже встроен в КШ МК.

_________________
сочувствующий…


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-апр-29 11:34 
Не в сети
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 66
Организация: Milandr
Откуда: АО «ПКК Миландр»
dm_mur писал(а): *
Vladimir_K писал(а): *
Да, в МК 1901ВЦ1Т внешняя системная шина всегда имеет разрядность шины данных 32 бита, выравнивание LOW8 для работы с 8-разрядной шиной данных, как в МК 1986ВЕ1Т, не предусмотрено. Если Вам необходимо работать с 8-разрядной микросхемой памяти, то Вы можете подключить адресную шину МК к шине адреса микросхемы памяти со смещение на 2, т.е. А2 (МК) -> А0 (микросхема памяти), А3 (МК) -> А1 (микросхема памяти) и т.д. Таким образом словные обращения (адреса 0x..00, 0x..04, 0x..08 и т.д.) МК будут адресованы во все ячейки микросхемы памяти (0x..00, 0x..01, 0x..02 и т.д.) без пропусков, при этом данные будут записываться и считываться в младшем байте 32-разрядного слова.
Добрый день! Задался аналогичным вопросом. Не очень понятен принцип адресации на внешней шине. Она побайтовая? Если ADR[31:0] = 0x00000001, то к чему будет производиться адресация? Из рисунка 13-1 стр 184 документации можно сделать вывод, что если взять две мс 1645РУ3, ADR[17:0] микроконтроллера соединить с ADR[17:0] микросхем памяти, DATA[15:0] микроконтроллера присоединить к IO[15:0] одной микросхемы памяти, DATA[31:16] к IO[15:0] другой микросхемы памяти, то все будет работать. Однако, на схеме модуля памяти для отладочника https://www.compel.ru/item-pdf/a147924b ... 6ve91t.pdf мы видим смещение адресной шины, описанное Вами выше. В чем соль? Еще вопрос, в описании выводов для PC0 основная функция - COMPOUT. Дальше этот термин нигде не упоминается. Можете разъяснить?
Подытоживая ответы ранее, хочется отметить следующие вещи еще раз:
1. Внешняя шина в 1901ВЦ1Т имеет разрядность всегда 32 бит. Выравнивания, например, типа LOW8 в 1901ВЦ1Т нет в отличии от микроконтроллеров ВЕх. Это важно, если работа ведётся с данными конкретной размерности.
2. Подключение шин адреса контроллера и памяти со смещением важно для того, чтобы данные с шины данных передавались точно (смещение на 2 позволит читать при кратности 4 данные в точном виде, таким образом, можно отслеживать конкретные байты данных). Выполняя подключение шин адреса напрямую можно наткнуться на смещение считываемых данных.

Рекомендуем также ознакомиться со статьёй официального портала технической поддержки Миландр, которая рассказывает о работе с Flash-памятью 1636РР1У по внешней шине: http://support.milandr.ru/base/primenen ... noy/24424/

3. Обозначение COMPOUT из таблицы 2-2 "Описание выводов (по блокам) микроконтроллеров серии 1901ВЦ1Т" текущей версии спецификации для вывода PC0 действительно указывает на выход компаратора. Условно-графическое обозначение блока компаратора представлено в разделе 28 спецификации "Контроллер схемы компаратора MDR_COMP" на рисунке 28-1 "Структура блока компаратора", где наглядно виден вывод COMP_OUT. Дабы однозначно трактовать это, как выход компаратора, мной будет заведён тикет на исправление спецификации, где в таблицу 2-2 будет добавлено нижнее подчеркивание для обозначения COMPOUT.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-апр-30 12:37 
Не в сети

Зарегистрирован: 2014-фев-05 07:32
Сообщения: 11
Организация: Омский Государственный технический университет
Откуда: Омск
Lampadov писал(а): *

3. Обозначение COMPOUT из таблицы 2-2 "Описание выводов (по блокам) микроконтроллеров серии 1901ВЦ1Т" текущей версии спецификации для вывода PC0 действительно указывает на выход компаратора. Условно-графическое обозначение блока компаратора представлено в разделе 28 спецификации "Контроллер схемы компаратора MDR_COMP" на рисунке 28-1 "Структура блока компаратора", где наглядно виден вывод COMP_OUT. Дабы однозначно трактовать это, как выход компаратора, мной будет заведён тикет на исправление спецификации, где в таблицу 2-2 будет добавлено нижнее подчеркивание для обозначения COMPOUT.
Спасибо. Кроме исправление названия на COMP_OUT в таблице 2-2, необходимо так же исправить его же в таблице 11-1 на с.173, исправить в этой же таблице напротив этого же вывода номер блока, которым управляется данный вывод (сейчас обозначено в одной куче с внешней шиной). Еще вопрос, при использовании выхода компаратоа функция PC0 программируется как основная? Бит "аналоговая" отключается?


Вернуться к началу
 Заголовок сообщения: 1901ВЦ1Т
СообщениеДобавлено: 2020-апр-30 12:44 
Не в сети

Зарегистрирован: 2014-фев-05 07:32
Сообщения: 11
Организация: Омский Государственный технический университет
Откуда: Омск
Добрый день!
В документации у DSP ядра упоминается регистр ETDR (адрес 0x003F адресного пространства DSP) Для чего он? Описания нет.


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-май-07 14:07 
Не в сети
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 66
Организация: Milandr
Откуда: АО «ПКК Миландр»
dm_mur писал(а): *
Lampadov писал(а): *

3. Обозначение COMPOUT из таблицы 2-2 "Описание выводов (по блокам) микроконтроллеров серии 1901ВЦ1Т" текущей версии спецификации для вывода PC0 действительно указывает на выход компаратора. Условно-графическое обозначение блока компаратора представлено в разделе 28 спецификации "Контроллер схемы компаратора MDR_COMP" на рисунке 28-1 "Структура блока компаратора", где наглядно виден вывод COMP_OUT. Дабы однозначно трактовать это, как выход компаратора, мной будет заведён тикет на исправление спецификации, где в таблицу 2-2 будет добавлено нижнее подчеркивание для обозначения COMPOUT.
Спасибо. Кроме исправление названия на COMP_OUT в таблице 2-2, необходимо так же исправить его же в таблице 11-1 на с.173, исправить в этой же таблице напротив этого же вывода номер блока, которым управляется данный вывод (сейчас обозначено в одной куче с внешней шиной). Еще вопрос, при использовании выхода компаратоа функция PC0 программируется как основная? Бит "аналоговая" отключается?
Здравствуйте!

Сообщаем, что в таблице 11-1 "Порты ввода-вывода" нет указаний на то, что вывод PC0 относится к группе выводов, отвечающих за внешнюю шину. В цифровой функции "Основная" вывод действительно является выходом компаратора, который выводит измеренный результат блока. Для того, чтобы вывод PC0 работал в цифровом режиме в качестве выхода компаратора, необходимо задать выводу значение MODE[1:0] = 01 (Main - основная), а также выставить бит ANALOG_EN = 1.

Во вложении проект, который настраивает вывод PC0 в качестве выхода компаратора, а также конфигурирует сам блок компаратора в микроконтроллере 1901ВЦ1Т для работы с внутренними напряжениями - подробно описано в комментариях файла main.c.

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


Вложения:
COMP.7z [11.72 КБ]
85 скачиваний

_________________
Отдел технической поддержки support@milandr.ru


Последний раз редактировалось Lampadov 2020-май-12 09:08, всего редактировалось 1 раз.
Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-май-12 06:03 
Не в сети

Зарегистрирован: 2014-фев-05 07:32
Сообщения: 11
Организация: Омский Государственный технический университет
Откуда: Омск
Lampadov писал(а): *

Здравствуйте!

Сообщаем, что в таблице 11-1 "Порты ввода-вывода" нет указаний на то, что вывод PC0 относится к группе выводов, отвечающих за внешнюю шину.
Добрый день! В качестве указания, на то, что вывод PC0 относится к группе выводов, отвечающих за внешнюю шину, я воспринял вот эту единичку:

[ img ]

Поскольку выводы, управляемые компаратором в Примечаниях обозначены цифрой 7, эта часть таблицы должна выглядеть наверное так:

[ img ]

Спасибо.


Вернуться к началу
 Заголовок сообщения: Re: 1901ВЦ1Т
СообщениеДобавлено: 2020-май-12 15:59 
Не в сети
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 66
Организация: Milandr
Откуда: АО «ПКК Миландр»
dm_mur писал(а): *
Lampadov писал(а): *

Здравствуйте!

Сообщаем, что в таблице 11-1 "Порты ввода-вывода" нет указаний на то, что вывод PC0 относится к группе выводов, отвечающих за внешнюю шину.
Добрый день! В качестве указания, на то, что вывод PC0 относится к группе выводов, отвечающих за внешнюю шину, я воспринял вот эту единичку:

[ img ]

Поскольку выводы, управляемые компаратором в Примечаниях обозначены цифрой 7, эта часть таблицы должна выглядеть наверное так:

[ img ]

Спасибо.
Здравствуйте!

Дополнили тикет на исправление в соответствии с Вашим замечанием. Большое спасибо. Вывод "COMP_OUT" будет отнесён в таблице 11-1 к группе выводов под номером "7" (выводы компаратора).

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 125 сообщений ]  На страницу « 15 6 7 8 9 »

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


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

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


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

Перейти: 

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