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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18787
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Starichok51 писал(а):только это тебе не поможет пользоваться Пентиумом в "голом" виде - без внешнего ОЗУ и прочей периферии.
в голом виде любой чип можно разве что из рогатки по вороне запульнуть, без обвязки любой чип - не более, чем дорогой кусочек пластика с вкрапленими металла и кремния.
привычка тянуть за собой терминологию из 40-х годов прошлого века, в то время как технологии давно прошли мимо... как с этим не спорить?!
Мурик писал(а):Если нет (нет возможности произвольно адресовать память), то это не ОЗУ т. е. не RAM - Random Access Memory.
беда ваших рассуждений в том, что вы отождествляете пользовательский доступ со случайным (или произвольным). с точки зрения ядра и его частей доступ к кэшу очень даже RANDOM, и тот факт, что вы на этот процесс не влияете, не меняет аппаратной сути - это ОПЕРАТИВНАЯ ПАМЯТЬ (раз вы такой любитель древней терминологии, напомню "советизим" сверхоперативное ЗУ). и ПЗУ не обязано быть внешним - ПЗУ - это всего лишь память с неизменяемым содержимым, ни один микропрограммный автомат не может обойтись без неё, так что и тут вы сели в лужу... в любом "процессоре" ПЗУ есть и в приличном количестве. кстати, "регистровые файлы" - это тоже разновидность ОЗУ, если придираться к терминам...
Мурик писал(а):То есть полностью соответствуют https://ru.wikipedia.org/wiki/Однокрист ... контроллер
вы, как я понимаю, сторонник догм. а я - нет. если реальность не соответствует описанию - это проблема реальности или описания? вы уверены, что реальность надо подогнать под описание, а я наоборот. если есть "нюансы", из-за которых возникают сомнения в точности терминологии - терминологию надо подправить, а не слепо верить "вики" до тех пор, пока очередное гуру не изменит её содержимое... колебаться в соответствии с генеральной линией - это не по мне :)
не могу забыть наши споры про "тип данных" void и функцию, которая не возвращает результат... вы в этом так и не увидели противорчий, а я так и не смирился с ними...
Мурик писал(а):В микроконтроллере они на том же кристалле что и процессор. https://ru.wikipedia.org/wiki/Однокрист ... контроллер
В этом основная разница.
так современные смартфоны сделаны на микроконтроллерах или микропроцессорах? там вообще всего 3 чипа - ОЗУ (не совсем О - скорее гибрид с П) (кстати, тоже нонсенс в "стандартной" терминоогии) CPU и RADIO, а в особохитровывернутых даже и того меньше... и там все внутри одного чипа - что же это за чип?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

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

Сообщение parovoZZ »

Среди любителей в моде 32-ух битная продукция от ST, а не микрочипа.
Промышленники не ориентируются на любителей.

Добавлено after 7 minutes 51 second:
Если не согласны предоставьте сведения что Intel Core это микроконтроллеры.
Свет клином на Intel не сошёлся. Встраиваемых процессоров великое множество.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25862
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="ARV",url="/forum/viewtopic.php?p=3967552#p3967552"]беда ваших рассуждений в том, что вы отождествляете пользовательский доступ со случайным (или произвольным). с точки зрения ядра и его частей доступ к кэшу очень даже RANDOM, и тот факт, что вы на этот процесс не влияете, не меняет аппаратной сути - это ОПЕРАТИВНАЯ ПАМЯТЬ[/uquote]
Из этой "логики" следует, что ЛЮБОЙ регистр в процессоре/контроллере можно назвать ОЗУ.
:music:
Не надо толковать вполне конкретные технические термины как литературную беллетристику. Под ОЗУ/RAM понимается volatile память расположенная в адресном пространстве доступном для кода как данные. Если регистр не отображен в это адресное пространство, то он ОЗУ/RAM НЕ является и носит ИНОЕ название.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18787
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

КРАМ писал(а):Если регистр не отображен в это адресное пространство, то он ОЗУ/RAM НЕ является и носит ИНОЕ название.
поскольку я использовал упоминание "регистрового файла", очевидно, что я имел ввиду именно "отображаемые" регистры. и в этом случае, педантичный вы наш, регистры, являющиеся частью ядра "процессора" - это ОЗУ или не ОЗУ?

Добавлено after 2 minutes 14 seconds:
КРАМ писал(а):Под ОЗУ/RAM понимается volatile память расположенная в адресном пространстве доступном для кода как данные.
а как код, значит, не доступные?

как только вы начинаете толковать термины, вы обязательно погружаетесь в пучину ошибок вольных или невольных... :dont_know:

Добавлено after 2 minutes 17 seconds:
КРАМ писал(а):ЛЮБОЙ регистр в процессоре/контроллере можно назвать ОЗУ
именно. об чем и речь
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

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

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

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

Сообщение ARV »

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

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

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

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

Сообщение ARV »

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

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

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

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

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

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

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

Сообщение ARV »

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

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

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

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

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

Сообщение ARV »

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

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

Сообщение parovoZZ »

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

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

Сообщение oleg110592 »

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

Сообщение VladislavS »

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

Сообщение Reflector »

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

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

Сообщение Sergi »

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

Сообщение NStorm »

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

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