Мелкие вопросы по МК и ПЛИС.
- КРАМ
- Друг Кота
- Сообщения: 25143
- Зарегистрирован: Чт янв 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. Система на кристалле не может быть классифицирована ни как контроллер, ни как процессор просто потому, что ВКЛЮЧАЕТ В СЕБЯ контроллер/процессор или их набор помимо остальных интегрированных устройств.
....регистры, являющиеся частью ядра "процессора" - это ОЗУ или не ОЗУ?[/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: Мелкие вопросы по МК и ПЛИС.
КРАМ, я не сомневался, что вы подтвердите мои утверждения: терминология прошлого века применима к современнм системам с большим количеством оговорок и условий. отсюда я делаю вывод, что она мало соответствует реальному положению вещей... о чем изначально я и сказал.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- КРАМ
- Друг Кота
- Сообщения: 25143
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="ARV",url="/forum/viewtopic.php?p=3967625#p3967625"]терминология прошлого века применима[/uquote]
Это лично ВАШЕ заключение из моих слов. На самом деле контроллер отличим от процессора на счет раз. Да, контроллеры получили, в том числе, и фоннеймановскую архитектуру и имеют ряд фич процессоров, но системная шина у контроллеров всегда закрыта.
Это лично ВАШЕ заключение из моих слов. На самом деле контроллер отличим от процессора на счет раз. Да, контроллеры получили, в том числе, и фоннеймановскую архитектуру и имеют ряд фич процессоров, но системная шина у контроллеров всегда закрыта.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
даже ОЗУ от не-ОЗУ и то на счет раз не отличить... и в это утверждение верится с трудом.КРАМ писал(а):На самом деле контроллер отличим от процессора на счет раз
а у процессоров всегда открыта? или не у процессоров? или не всегда? или не шина?КРАМ писал(а):системная шина у контроллеров всегда закрыта
и вообще, выходит, именно по наличию открытой/закрытой шины можно делить контроллеры/процессоры? а какой именно шины? их же сейчас что там, что там по несколькуо разных - одни открытые, другие закрытые... или закрытые шины по определению "не существуют для пользователя" и их не рассматриваем?
Добавлено after 8 minutes 41 second:
а любопытно еще разобраться, как в "традиционной классификации" категоризируется графический ускоритель... там ведь и аналоговая часть может быть (видеоусилители и видео ЦАП и аудиоканал) и памяти может быть встроено много, и кэш есть и своё ОЗУ программ-данных... и регистры свои, и периферия и при этом полная "зависимость от" и есть связи с внешними "шинами" - но может и не быть, если чип полностью интегрирован... система на кристалле?
мы так бодро шагаем к коммунизму, что скотина за нами не поспевает © Л.И.Брежнев
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Мелкие вопросы по МК и ПЛИС.
В русской вики недостаточно подробно написано для чего предназначено ядро Cortex-M. Вот ссылка на сайт производителя ядра https://developer.arm.com/ip-products/p ... s/cortex-moleg110592 писал(а):1) зачем переводить, если вики по русски есть в гугле первая ссылка по запросу "ARM архитектура"
На нем написано
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.
Я уже давал ссылку на определение что такое однокристальный микроконтроллер https://ru.wikipedia.org/wiki/Однокрист ... контроллерoleg110592 писал(а):вот именно - оптимизированы - но вопрос был том, что если в микроконтроллере с предназначенным, лицензированным, пусть даже с оптимизированным ядром нет ПЗУ, то
Не исключаю что некоторые производители могут выпускать МК не полностью соответствующие этому определению, но это скорее исключение чем правило.
Верно. В вики есть определение системы на кристале, т. е. это не МК https://ru.wikipedia.org/wiki/Система_на_кристаллеКРАМ писал(а):Они сделаны на SoC. Система на кристалле
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
так, мать их за ногу, processors, или, растуды их в качель, microcontrollers?! в одной цитате!!! два !!! термина, которые вы упорно противопоставляете!!!Мурик писал(а):cost and energy-efficient microcontrollers. These processors
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Мелкие вопросы по МК и ПЛИС.
Почему я? Это разработчики ядра ARMARV писал(а):два !!! термина, которые вы упорно противопоставляете!!!
ARV, разве вы не знаете что в составе микроконтроллера есть процессор?
https://ru.wikipedia.org/wiki/Однокрист ... контроллер
Однокристальные микроконтроллеры — функционально законченный МПК (микропроцессорный комплект), реализованный в виде одной СБИС (сверх-БИС). ОМК включает процессор, ОЗУ, ПЗУ, порты ввода-вывода для подключения внешних устройств, модули ввода аналогового сигнала АЦП, таймеры, контроллеры прерывания, контроллеры различных интерфейсов и т. д.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
и, что самое удивительное (или, как посмотреть, ноборот, самое не-удивительное), процессор есть и в контроллере, и в одно-кристальном, и в много-кристальном, и ОЗУ есть везде, и ПЗУ есть везде, и шины всякие, и регистры... и АЦП может быть ВЕЗДЕ (и не только АЦП - вообще АНАЛОГОВАЯ периферия и не-периферия)... и что по одному факту наличия или отсутствия этих элементов классифицировать нельзя, потому что классификация получается в виде макаронного монстра - путаная и противоречивая.Мурик писал(а):в составе микроконтроллера есть процессор?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Мелкие вопросы по МК и ПЛИС.
А википедия уже микроконтроллеры выпускает, раз она так безапелляционно даёт определение?Я уже давал ссылку на определение что такое однокристальный микроконтроллер https://ru.wikipedia.org/wiki/Однокрист ... контроллер
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Мурик",url="/forum/viewtopic.php?p=3967457#p3967457"]Произвольный доступ получить можно?
Где гарантия что используемая ячейка кеша не будет задействована для других целей?[/uquote]
Тут идет запись во все имеющиеся 16КБ кеша, для всех остальных регионов кеширование отключено, так что кеш тратить больше просто не на что.
Где гарантия что используемая ячейка кеша не будет задействована для других целей?[/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]);
}- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Мурик",url="/forum/viewtopic.php?p=3967682#p3967682"]Не исключаю что некоторые производители могут выпускать МК не полностью соответствующие этому определению, но это скорее исключение чем правило[/uquote]
не исключение - выпускают такие. Например серия PIC18F8XXX может и в микропроцессор и в микроконтроллер превращаться

да и забыли классический популярный (в свое время) I8031/32 - внешнее ПЗУ
не исключение - выпускают такие. Например серия PIC18F8XXX может и в микропроцессор и в микроконтроллер превращаться
да и забыли классический популярный (в свое время) I8031/32 - внешнее ПЗУ
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Reflector",url="/forum/viewtopic.php?p=3967737#p3967737"]Тут идет запись во все имеющиеся 16КБ кеша,[/uquote]Может ещё и код оттуда запустить можно?
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="VladislavS",url="/forum/viewtopic.php?p=3967884#p3967884"]Может ещё и код оттуда запустить можно?[/uquote]
По идее нельзя, это же кеш данных, для выполнения кода нужен кеш инструкций. Тем более эти кеши еще и с разной ассоциативностью...
По идее нельзя, это же кеш данных, для выполнения кода нужен кеш инструкций. Тем более эти кеши еще и с разной ассоциативностью...
- Mem
- Поставщик валерьянки для Кота
- Сообщения: 1915
- Зарегистрирован: Вт апр 17, 2012 14:20:59
- Откуда: Новокузнецк
Re: Мелкие вопросы по МК и ПЛИС.
Понадобилось собрать подобную схему:

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

В теории всё работает хорошо:

А на практике:

Импульс после снятия напряжения с PB3 в два раза меньше по амплитуде, чем при его подаче. Осциллограммы сделаны без нагрузки на вывод. Частота МК 1 МГц. Фьюзы не трогал, стоят заводские. Импульс подается на кнопку включения. Для этого отслеживается питание USB на порте ТВ.
С чем это может быть связано?
P.S. На изящность решения и программы не претендую
Для управления техникой подключённой ТВ, чтобы включалась и выключалась вместе с ним. Но найти на месте исключающее или не удалось, а вот МК завалялись.
Набросал простую схему и программу:
Спойлер
Код: Выделить всё
// 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: Мелкие вопросы по МК и ПЛИС.
Помнится исключающее или делал на 4х и-не(155ла3). Все равно один корпус использовать.
Re: Мелкие вопросы по МК и ПЛИС.
Mem, а схема собранного в итоге "на практике" ус-ва как выглядит?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Mem",url="/forum/viewtopic.php?p=3993953#p3993953"]Понадобилось собрать подобную схему:
Набросал простую схему и программу:[/uquote]
Чё-то не уловил связь между схемой формирователя импульсов и МК.
Набросал простую схему и программу:[/uquote]
Чё-то не уловил связь между схемой формирователя импульсов и МК.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Mem
- Поставщик валерьянки для Кота
- Сообщения: 1915
- Зарегистрирован: Вт апр 17, 2012 14:20:59
- Откуда: Новокузнецк
Re: Мелкие вопросы по МК и ПЛИС.
[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:
Попробую другой порт для вывода, может быть этот поджаренный каким либо образом.
Как плата с МК с выводами, как вот эта:
И платы с кнопкой на которой припаял транзистор:
Питается всё от дежурки в 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: Мелкие вопросы по МК и ПЛИС.
Mem, а может для начала отсечь всё лишнее, включая "матрицу кнопок"? Проблема явно не в программе в любом случае. Во всяком случае не с амплитудой.
- Mem
- Поставщик валерьянки для Кота
- Сообщения: 1915
- Зарегистрирован: Вт апр 17, 2012 14:20:59
- Откуда: Новокузнецк
Re: Мелкие вопросы по МК и ПЛИС.
Это я и делаю, даже "голый" МК так себя ведёт. Либо программа мозги парит, либо МК навернулся.
Главный инженер проекта - человек, который как никто другой знает, что приближаться к спроектированной им хрени близко не стоит.