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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25132
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

[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. Система на кристалле не может быть классифицирована ни как контроллер, ни как процессор просто потому, что ВКЛЮЧАЕТ В СЕБЯ контроллер/процессор или их набор помимо остальных интегрированных устройств.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25132
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

[uquote="ARV",url="/forum/viewtopic.php?p=3967625#p3967625"]терминология прошлого века применима[/uquote]
Это лично ВАШЕ заключение из моих слов. На самом деле контроллер отличим от процессора на счет раз. Да, контроллеры получили, в том числе, и фоннеймановскую архитектуру и имеют ряд фич процессоров, но системная шина у контроллеров всегда закрыта.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

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

Добавлено after 8 minutes 41 second:
а любопытно еще разобраться, как в "традиционной классификации" категоризируется графический ускоритель... там ведь и аналоговая часть может быть (видеоусилители и видео ЦАП и аудиоканал) и памяти может быть встроено много, и кэш есть и своё ОЗУ программ-данных... и регистры свои, и периферия и при этом полная "зависимость от" и есть связи с внешними "шинами" - но может и не быть, если чип полностью интегрирован... система на кристалле? :)

мы так бодро шагаем к коммунизму, что скотина за нами не поспевает © Л.И.Брежнев :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

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/Система_на_кристалле
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

Мурик писал(а):cost and energy-efficient microcontrollers. These processors
так, мать их за ногу, processors, или, растуды их в качель, microcontrollers?! в одной цитате!!! два !!! термина, которые вы упорно противопоставляете!!!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

ARV писал(а):два !!! термина, которые вы упорно противопоставляете!!!
Почему я? Это разработчики ядра ARM :) . Если считаете что они не правы, напишите им об этом. :)))

ARV, разве вы не знаете что в составе микроконтроллера есть процессор?
https://ru.wikipedia.org/wiki/Однокрист ... контроллер
Однокристальные микроконтроллеры — функционально законченный МПК (микропроцессорный комплект), реализованный в виде одной СБИС (сверх-БИС). ОМК включает процессор, ОЗУ, ПЗУ, порты ввода-вывода для подключения внешних устройств, модули ввода аналогового сигнала АЦП, таймеры, контроллеры прерывания, контроллеры различных интерфейсов и т. д.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
parovoZZ
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

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

Сообщение parovoZZ »

Я уже давал ссылку на определение что такое однокристальный микроконтроллер https://ru.wikipedia.org/wiki/Однокрист ... контроллер
А википедия уже микроконтроллеры выпускает, раз она так безапелляционно даёт определение?
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение 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КБ кеша, для всех остальных регионов кеширование отключено, так что кеш тратить больше просто не на что.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

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

Сообщение oleg110592 »

[uquote="Мурик",url="/forum/viewtopic.php?p=3967682#p3967682"]Не исключаю что некоторые производители могут выпускать МК не полностью соответствующие этому определению, но это скорее исключение чем правило[/uquote]
не исключение - выпускают такие. Например серия PIC18F8XXX может и в микропроцессор и в микроконтроллер превращаться
Изображение
да и забыли классический популярный (в свое время) I8031/32 - внешнее ПЗУ
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

[uquote="Reflector",url="/forum/viewtopic.php?p=3967737#p3967737"]Тут идет запись во все имеющиеся 16КБ кеша,[/uquote]Может ещё и код оттуда запустить можно?
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

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

Сообщение Reflector »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3967884#p3967884"]Может ещё и код оттуда запустить можно?[/uquote]
По идее нельзя, это же кеш данных, для выполнения кода нужен кеш инструкций. Тем более эти кеши еще и с разной ассоциативностью...
Аватара пользователя
Mem
Поставщик валерьянки для Кота
Сообщения: 1915
Зарегистрирован: Вт апр 17, 2012 14:20:59
Откуда: Новокузнецк

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

Сообщение 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. На изящность решения и программы не претендую :)
Главный инженер проекта - человек, который как никто другой знает, что приближаться к спроектированной им хрени близко не стоит.
Sergi
Мучитель микросхем
Сообщения: 412
Зарегистрирован: Ср янв 04, 2012 11:57:40
Откуда: Алчевск

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

Сообщение Sergi »

Помнится исключающее или делал на 4х и-не(155ла3). Все равно один корпус использовать.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

Mem, а схема собранного в итоге "на практике" ус-ва как выглядит?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

[uquote="Mem",url="/forum/viewtopic.php?p=3993953#p3993953"]Понадобилось собрать подобную схему:
Набросал простую схему и программу:[/uquote]
Чё-то не уловил связь между схемой формирователя импульсов и МК.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Mem
Поставщик валерьянки для Кота
Сообщения: 1915
Зарегистрирован: Вт апр 17, 2012 14:20:59
Откуда: Новокузнецк

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

Сообщение 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:
Попробую другой порт для вывода, может быть этот поджаренный каким либо образом.
Главный инженер проекта - человек, который как никто другой знает, что приближаться к спроектированной им хрени близко не стоит.
NStorm
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

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

Сообщение NStorm »

Mem, а может для начала отсечь всё лишнее, включая "матрицу кнопок"? Проблема явно не в программе в любом случае. Во всяком случае не с амплитудой.
Аватара пользователя
Mem
Поставщик валерьянки для Кота
Сообщения: 1915
Зарегистрирован: Вт апр 17, 2012 14:20:59
Откуда: Новокузнецк

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

Сообщение Mem »

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

Вернуться в «Разные вопросы по МК»