Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 11:11:17

поскольку я использовал.....
....регистры, являющиеся частью ядра "процессора" - это ОЗУ или не ОЗУ?

Если кэш отображен в адресное пространство данных, то его можно назвать ОЗУ.
Регистры ядра (РОНы) В ЗАВИСИМОСТИ ОТ АРХИТЕКТУРЫ могут быть частью ОЗУ, а могут и не быть. Скажем в 16 битной платформе Микрочипа они отображены в ОЗУ, начиная с нулевого адреса.
а как код, значит, не доступные?

В гарвардской архитектуре регистры кода НЕ доступны как данные (без специальных костылей, естественно). В фоннеймане программный код находится в ОЗУ.

Добавлено after 6 minutes 39 seconds:
так современные смартфоны сделаны на микроконтроллерах или микропроцессорах? там вообще всего 3 чипа

Они сделаны на SoC. Система на кристалле не может быть классифицирована ни как контроллер, ни как процессор просто потому, что ВКЛЮЧАЕТ В СЕБЯ контроллер/процессор или их набор помимо остальных интегрированных устройств.

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 11:48:16

КРАМ, я не сомневался, что вы подтвердите мои утверждения: терминология прошлого века применима к современнм системам с большим количеством оговорок и условий. отсюда я делаю вывод, что она мало соответствует реальному положению вещей... о чем изначально я и сказал.

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 11:53:45

терминология прошлого века применима

Это лично ВАШЕ заключение из моих слов. На самом деле контроллер отличим от процессора на счет раз. Да, контроллеры получили, в том числе, и фоннеймановскую архитектуру и имеют ряд фич процессоров, но системная шина у контроллеров всегда закрыта.

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 12:30:33

КРАМ писал(а):На самом деле контроллер отличим от процессора на счет раз
даже ОЗУ от не-ОЗУ и то на счет раз не отличить... и в это утверждение верится с трудом.
КРАМ писал(а):системная шина у контроллеров всегда закрыта
а у процессоров всегда открыта? или не у процессоров? или не всегда? или не шина? ;)

и вообще, выходит, именно по наличию открытой/закрытой шины можно делить контроллеры/процессоры? а какой именно шины? их же сейчас что там, что там по несколькуо разных - одни открытые, другие закрытые... или закрытые шины по определению "не существуют для пользователя" и их не рассматриваем?

Добавлено 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

Мурик писал(а):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

Мурик писал(а):в составе микроконтроллера есть процессор?
и, что самое удивительное (или, как посмотреть, ноборот, самое не-удивительное), процессор есть и в контроллере, и в одно-кристальном, и в много-кристальном, и ОЗУ есть везде, и ПЗУ есть везде, и шины всякие, и регистры... и АЦП может быть ВЕЗДЕ (и не только АЦП - вообще АНАЛОГОВАЯ периферия и не-периферия)... и что по одному факту наличия или отсутствия этих элементов классифицировать нельзя, потому что классификация получается в виде макаронного монстра - путаная и противоречивая.

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 13:47:28

Я уже давал ссылку на определение что такое однокристальный микроконтроллер https://ru.wikipedia.org/wiki/Однокрист ... контроллер

А википедия уже микроконтроллеры выпускает, раз она так безапелляционно даёт определение?

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 13:50:07

Произвольный доступ получить можно?
Где гарантия что используемая ячейка кеша не будет задействована для других целей?

Спойлер
Код:
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

Не исключаю что некоторые производители могут выпускать МК не полностью соответствующие этому определению, но это скорее исключение чем правило

не исключение - выпускают такие. Например серия PIC18F8XXX может и в микропроцессор и в микроконтроллер превращаться
Изображение
да и забыли классический популярный (в свое время) I8031/32 - внешнее ПЗУ

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 17:38:27

Тут идет запись во все имеющиеся 16КБ кеша,
Может ещё и код оттуда запустить можно?

Re: Мелкие вопросы по МК и ПЛИС.

Вт янв 26, 2021 18:03:04

Может ещё и код оттуда запустить можно?

По идее нельзя, это же кеш данных, для выполнения кода нужен кеш инструкций. Тем более эти кеши еще и с разной ассоциативностью...

Re: Мелкие вопросы по МК и ПЛИС.

Пн мар 08, 2021 18:43:04

Понадобилось собрать подобную схему:

Изображение

Для управления техникой подключённой ТВ, чтобы включалась и выключалась вместе с ним. Но найти на месте исключающее или не удалось, а вот МК завалялись.

Набросал простую схему и программу:

Изображение

Спойлер
Код:
// 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

Помнится исключающее или делал на 4х и-не(155ла3). Все равно один корпус использовать.

Re: Мелкие вопросы по МК и ПЛИС.

Пн мар 08, 2021 22:48:02

Mem, а схема собранного в итоге "на практике" ус-ва как выглядит?

Re: Мелкие вопросы по МК и ПЛИС.

Вт мар 09, 2021 09:19:29

Понадобилось собрать подобную схему:
Набросал простую схему и программу:

Чё-то не уловил связь между схемой формирователя импульсов и МК.

Re: Мелкие вопросы по МК и ПЛИС.

Вт мар 09, 2021 23:01:27

Mem, а схема собранного в итоге "на практике" ус-ва как выглядит?

Как плата с МК с выводами, как вот эта:
Изображение
И платы с кнопкой на которой припаял транзистор:
Изображение
Питается всё от дежурки в 5В устройства. Единственное что, кнопка включена в матрицу кнопок:
Изображение
Транзистор подключен стоком к ноге с большим потенциалом, резистор подтяжки роли не играет. Что с ним, что без него, результат одинаков. Соединения выполнены проводками на штыревых контактах.

Добавлено after 1 minute 18 seconds:
Чё-то не уловил связь между схемой формирователя импульсов и МК.

Да вроде бы та же схема, только на МК. И без временных задержек на формирование импульса, появилось напряжение, выдаем импульс 300 мс на кнопку для включения, пропало, тоже самое.

Добавлено after 2 minutes 49 seconds:
Но даже без подключения второй импульс по величине меньше, тут явно проблема не в связке МК и кнопки.

Добавлено after 12 minutes 29 seconds:
Попробую другой порт для вывода, может быть этот поджаренный каким либо образом.

Re: Мелкие вопросы по МК и ПЛИС.

Вт мар 09, 2021 23:12:36

Mem, а может для начала отсечь всё лишнее, включая "матрицу кнопок"? Проблема явно не в программе в любом случае. Во всяком случае не с амплитудой.

Re: Мелкие вопросы по МК и ПЛИС.

Ср мар 10, 2021 01:13:24

Это я и делаю, даже "голый" МК так себя ведёт. Либо программа мозги парит, либо МК навернулся.
Ответить