Страница 612 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 11:11:17
КРАМ
[uquote="ARV",url="/forum/viewtopic.php?p=3967567#p3967567"]поскольку я использовал.....
....регистры, являющиеся частью ядра "процессора" - это ОЗУ или не ОЗУ?[/uquote]
Если кэш отображен в адресное пространство данных, то его можно назвать ОЗУ.
Регистры ядра (РОНы) В ЗАВИСИМОСТИ ОТ АРХИТЕКТУРЫ могут быть частью ОЗУ, а могут и не быть. Скажем в 16 битной платформе Микрочипа они отображены в ОЗУ, начиная с нулевого адреса.
[uquote="ARV",url="/forum/viewtopic.php?p=3967567#p3967567"]а как код, значит, не доступные?[/uquote]
В гарвардской архитектуре регистры кода НЕ доступны как данные (без специальных костылей, естественно). В фоннеймане программный код находится в ОЗУ.
Добавлено after 6 minutes 39 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=3967552#p3967552"]так современные смартфоны сделаны на микроконтроллерах или микропроцессорах? там вообще всего 3 чипа[/uquote]
Они сделаны на SoC. Система на кристалле не может быть классифицирована ни как контроллер, ни как процессор просто потому, что ВКЛЮЧАЕТ В СЕБЯ контроллер/процессор или их набор помимо остальных интегрированных устройств.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 11:48:16
ARV
КРАМ, я не сомневался, что вы подтвердите мои утверждения: терминология прошлого века применима к современнм системам с большим количеством оговорок и условий. отсюда я делаю вывод, что она мало соответствует реальному положению вещей... о чем изначально я и сказал.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 11:53:45
КРАМ
[uquote="ARV",url="/forum/viewtopic.php?p=3967625#p3967625"]терминология прошлого века применима[/uquote]
Это лично ВАШЕ заключение из моих слов. На самом деле контроллер отличим от процессора на счет раз. Да, контроллеры получили, в том числе, и фоннеймановскую архитектуру и имеют ряд фич процессоров, но системная шина у контроллеров всегда закрыта.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 12:30:33
ARV
КРАМ писал(а):На самом деле контроллер отличим от процессора на счет раз
даже ОЗУ от не-ОЗУ и то на счет раз не отличить... и в это утверждение верится с трудом.
КРАМ писал(а):системная шина у контроллеров всегда закрыта
а у процессоров всегда открыта? или не у процессоров? или не всегда? или не шина?
и вообще, выходит, именно по наличию открытой/закрытой шины можно делить контроллеры/процессоры? а какой именно шины? их же сейчас что там, что там по несколькуо разных - одни открытые, другие закрытые... или закрытые шины по определению "не существуют для пользователя" и их не рассматриваем?
Добавлено after 8 minutes 41 second:
а любопытно еще разобраться, как в "традиционной классификации" категоризируется графический ускоритель... там ведь и аналоговая часть может быть (видеоусилители и видео ЦАП и аудиоканал) и памяти может быть встроено много, и кэш есть и своё ОЗУ программ-данных... и регистры свои, и периферия и при этом полная "зависимость от" и есть связи с внешними "шинами" - но может и не быть, если чип полностью интегрирован... система на кристалле?
мы так бодро шагаем к коммунизму, что скотина за нами не поспевает © Л.И.Брежнев

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 12:52:21
Мурик
oleg110592 писал(а):1) зачем переводить, если вики по русски есть в гугле первая ссылка по запросу "ARM архитектура"
В русской вики недостаточно подробно написано для чего предназначено ядро Cortex-M. Вот ссылка на сайт производителя ядра
https://developer.arm.com/ip-products/p ... s/cortex-m
На нем написано
Arm Cortex-M series processors
The Cortex-M processor family is optimized for cost and energy-efficient microcontrollers. These processors are found in a variety of applications, including IoT, industrial, and everyday consumer devices.
oleg110592 писал(а):вот именно - оптимизированы - но вопрос был том, что если в микроконтроллере с предназначенным, лицензированным, пусть даже с оптимизированным ядром нет ПЗУ, то
Я уже давал ссылку на определение что такое однокристальный микроконтроллер
https://ru.wikipedia.org/wiki/Однокрист ... контроллер
Не исключаю что некоторые производители могут выпускать МК не полностью соответствующие этому определению, но это скорее исключение чем правило.
КРАМ писал(а):Они сделаны на SoC. Система на кристалле
Верно. В вики есть определение системы на кристале, т. е. это не МК
https://ru.wikipedia.org/wiki/Система_на_кристалле
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 13:16:03
ARV
Мурик писал(а):cost and energy-efficient microcontrollers. These processors
так, мать их за ногу,
processors, или, растуды их в качель,
microcontrollers?! в одной цитате!!! два !!! термина, которые вы упорно противопоставляете!!!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 13:24:49
Мурик
ARV писал(а):два !!! термина, которые вы упорно противопоставляете!!!
Почему я? Это разработчики ядра ARM

. Если считаете что они не правы, напишите им об этом.
ARV, разве вы не знаете что в составе микроконтроллера есть процессор?
https://ru.wikipedia.org/wiki/Однокрист ... контроллер Однокристальные микроконтроллеры — функционально законченный МПК (микропроцессорный комплект), реализованный в виде одной СБИС (сверх-БИС). ОМК включает процессор, ОЗУ, ПЗУ, порты ввода-вывода для подключения внешних устройств, модули ввода аналогового сигнала АЦП, таймеры, контроллеры прерывания, контроллеры различных интерфейсов и т. д.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 13:35:09
ARV
Мурик писал(а):в составе микроконтроллера есть процессор?
и, что самое удивительное (или, как посмотреть, ноборот, самое не-удивительное), процессор есть и в контроллере, и в одно-кристальном, и в много-кристальном, и ОЗУ есть везде, и ПЗУ есть везде, и шины всякие, и регистры... и АЦП может быть ВЕЗДЕ (и не только АЦП - вообще АНАЛОГОВАЯ периферия и не-периферия)... и что по одному факту наличия или отсутствия этих элементов классифицировать нельзя, потому что классификация получается в виде макаронного монстра - путаная и противоречивая.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 13:47:28
parovoZZ
А википедия уже микроконтроллеры выпускает, раз она так безапелляционно даёт определение?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 13:50:07
Reflector
[uquote="Мурик",url="/forum/viewtopic.php?p=3967457#p3967457"]Произвольный доступ получить можно?
Где гарантия что используемая ячейка кеша не будет задействована для других целей?[/uquote]
Спойлер
Код: Выделить всё
Mpu::disable();
Mpu::setRegion(0, 0x00000000, MpuRegSize::_512MB, MpuAttr::Normal_NonShareable_NonCacheable); // ITCM/Flash/System Memory
Mpu::setRegion(1, 0x20000000, MpuRegSize::_512MB, MpuAttr::Normal_NonShareable_NonCacheable); // DTCM/AXISRAM/SRAM1234/BackupSram
Mpu::setRegion(2, 0x40000000, MpuRegSize::_512MB, MpuAttr::Device_NonShareable, true); // Peripheral
Mpu::setRegion(3, 0x60000000, MpuRegSize::_512MB, MpuAttr::Normal_NonShareable_NonCacheable); // External RAM
Mpu::setRegion(4, 0x80000000, MpuRegSize::_512MB, MpuAttr::Normal_NonShareable_NonCacheable); // External RAM
Mpu::setRegion(5, 0xC0000000, MpuRegSize::_512MB, MpuAttr::Device_NonShareable, true); // External Device
Mpu::setRegion(6, 0xE0000000, MpuRegSize::_1MB, MpuAttr::Ordered_Shareable, true); // Private peripheral bus
Mpu::setSubRegions(3, 0b0000'0001, 0x60000000, MpuSRegSize::_16KB, MpuAttr::Normal_NonShareable_WriteBackWriteAllocate);
Mpu::enable();
auto addr = (uint16_t*)0x6000'0000;
for (int i = 0; i < 8192; i += 2)
addr[i] = 0x1234 + i;
for (int i = 0; i < 8192; i += 2)
{
if (addr[i] != 0x1234 + i)
rtt.print<"Error: {}, {x}\n">(i, addr[i]);
}
Тут идет запись во все имеющиеся 16КБ кеша, для всех остальных регионов кеширование отключено, так что кеш тратить больше просто не на что.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 14:01:53
oleg110592
[uquote="Мурик",url="/forum/viewtopic.php?p=3967682#p3967682"]Не исключаю что некоторые производители могут выпускать МК не полностью соответствующие этому определению, но это скорее исключение чем правило[/uquote]
не исключение - выпускают такие. Например серия PIC18F8XXX может и в микропроцессор и в микроконтроллер превращаться

да и забыли классический популярный (в свое время) I8031/32 - внешнее ПЗУ
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 17:38:27
VladislavS
[uquote="Reflector",url="/forum/viewtopic.php?p=3967737#p3967737"]Тут идет запись во все имеющиеся 16КБ кеша,[/uquote]Может ещё и код оттуда запустить можно?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт янв 26, 2021 18:03:04
Reflector
[uquote="VladislavS",url="/forum/viewtopic.php?p=3967884#p3967884"]Может ещё и код оттуда запустить можно?[/uquote]
По идее нельзя, это же кеш данных, для выполнения кода нужен кеш инструкций. Тем более эти кеши еще и с разной ассоциативностью...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 08, 2021 18:43:04
Mem
Понадобилось собрать подобную схему:
Для управления техникой подключённой ТВ, чтобы включалась и выключалась вместе с ним. Но найти на месте исключающее или не удалось, а вот МК завалялись.
Набросал простую схему и программу:
Спойлер
Код: Выделить всё
// Variable bits
bit p_on;
bit p_off;
void main() {
DDRB = 0x08; // Set PB3 pin as output, other inputs
p_on = 0; // Bit initial value
p_off = 1; // Bit initial value
do {
if (Button(&PINB, 0, 1, 1)) { // Detect logical one
p_on = 1; // Update flag
}
if (p_on == 1 && Button(&PINB, 0, 1, 0)) { // Detect one-to-zero transition
p_on = 0; // Update flag
}
if (p_on == 1 && p_off == 1) { // Switching on
PORTB3_bit = 1; // Set PB3 pin = 1
Delay_ms(300); // Wait for a while
PORTB3_bit = 0; // Set PB3 pin = 0
p_off = 0; // Update flag
Delay_ms(100); // Wait for a while
}
if (p_on == 0 && p_off == 0) { // Switching off
PORTB3_bit = 1; // Set PB3 pin = 1
Delay_ms(300); // Wait for a while
PORTB3_bit = 0; // Set PB3 pin = 0
p_off = 1; // Update flag
Delay_ms(100); // Wait for a while
}
} while(1); // Endless loop
}
В теории всё работает хорошо:
А на практике:
Импульс после снятия напряжения с PB3 в два раза меньше по амплитуде, чем при его подаче. Осциллограммы сделаны без нагрузки на вывод. Частота МК 1 МГц. Фьюзы не трогал, стоят заводские. Импульс подается на кнопку включения. Для этого отслеживается питание USB на порте ТВ.
С чем это может быть связано?
P.S. На изящность решения и программы не претендую

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 08, 2021 20:51:12
Sergi
Помнится исключающее или делал на 4х и-не(155ла3). Все равно один корпус использовать.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн мар 08, 2021 22:48:02
NStorm
Mem, а схема собранного в итоге "на практике" ус-ва как выглядит?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт мар 09, 2021 09:19:29
Gudd-Head
[uquote="Mem",url="/forum/viewtopic.php?p=3993953#p3993953"]Понадобилось собрать подобную схему:
Набросал простую схему и программу:[/uquote]
Чё-то не уловил связь между схемой формирователя импульсов и МК.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт мар 09, 2021 23:01:27
Mem
[uquote="NStorm",url="/forum/viewtopic.php?p=3994086#p3994086"]
Mem, а схема собранного в итоге "на практике" ус-ва как выглядит?[/uquote]
Как плата с МК с выводами, как вот эта:

И платы с кнопкой на которой припаял транзистор:

Питается всё от дежурки в 5В устройства. Единственное что, кнопка включена в матрицу кнопок:

Транзистор подключен стоком к ноге с большим потенциалом, резистор подтяжки роли не играет. Что с ним, что без него, результат одинаков. Соединения выполнены проводками на штыревых контактах.
Добавлено after 1 minute 18 seconds:
[uquote="Gudd-Head",url="/forum/viewtopic.php?p=3994171#p3994171"]Чё-то не уловил связь между схемой формирователя импульсов и МК.[/uquote]
Да вроде бы та же схема, только на МК. И без временных задержек на формирование импульса, появилось напряжение, выдаем импульс 300 мс на кнопку для включения, пропало, тоже самое.
Добавлено after 2 minutes 49 seconds:
Но даже без подключения второй импульс по величине меньше, тут явно проблема не в связке МК и кнопки.
Добавлено after 12 minutes 29 seconds:
Попробую другой порт для вывода, может быть этот поджаренный каким либо образом.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт мар 09, 2021 23:12:36
NStorm
Mem, а может для начала отсечь всё лишнее, включая "матрицу кнопок"? Проблема явно не в программе в любом случае. Во всяком случае не с амплитудой.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср мар 10, 2021 01:13:24
Mem
Это я и делаю, даже "голый" МК так себя ведёт. Либо программа мозги парит, либо МК навернулся.