Jump to content

    
ViKo

А вот какой мелкий контроллер использовать?

Recommended Posts

3 hours ago, jcxz said:

Это вопрос к ТС.

А если посмотреть на АЦП? 12 бит АЦП для 8-битного МК да +DMA - это имхо далеко "не остаточный принцип". Правда это STM8L, в котором питание <=3.6V  :sad:

Но и STM8S - это 16МГц при (в основном) однотактовых командах. И наличии конвеера. Даже многие команды с памятью выполняются за 1 такт.

Например: INC (X) (инкремент байта в памяти) - всего 1 такт. А это чтение + инкремент + запись. И всё за 1 такт обещается! Даже Cortex-M такого не умеет. А младшие PIC - умеют?  :wink:

И в младших PIC-ах насколько помню - 4 такта на команду? При какой макс.тактовой? Или что-то изменилось по быстродейстию в младших PIC-ах, с тех пор как я на них смотрел последний раз?

Вы, видимо, с PIC-ами знакомы очень поверхностно. Поэтому свалили в кучу такты и машинные циклы. А разговор нужно вести исключительно о машинных циклах и MIPS-ах контроллера. Поэтому STM8S и PIC18 имеют идентичный машинный цикл. С той лишь разницей, что осциллятор второго работает на учетверенной частоте. На потреблении ядра это практически не отражается. Но чем короче конвейер, тем за меньшее количество машинных циклов исполняются инструкции ветвления кода.

Что касается DMA и 12-разрядных АЦП, то это последние МК Микрочипа 18-го семейства (типа PIC18 Q43 и аналогичные). Все-таки не стоит сравнивать древние МК с современными.

ЗЫ. Инкремент байта в ОЗУ в младших ПИКах так же делается за 1 машинный цикл, есличо.

Share this post


Link to post
Share on other sites
5 часов назад, AlexandrY сказал:

image.thumb.png.f057e353157c711a6a664ad45e3345c8.png 

Если целиться на экзотику, которая на findchips не находится, то много чего можно накопать. :)

Например: https://www.hdsc.com.cn/Category82 От 5 В питаться могут. Как и почти все прочие их производства.

Документация исключительно на китайском, как выяснилось в процессе разборок с HC32L130, в эпоху Гугля и Байду не препятствие. :biggrin:

 

Share this post


Link to post
Share on other sites
13 минут назад, my504 сказал:

Вы, видимо, с PIC-ами знакомы очень поверхностно.

Я вроде и не говорил что знаком с ними. Использовал давным давно, почти 20 лет назад.

Цитата

С той лишь разницей, что осциллятор второго работает на учетверенной частоте.

Ок. Это значит чтобы получить такую частоту циклов как у STM8 на частоте 16МГц, для PIC-а нужен осциллятор 16*6 = 64МГц. PIC умеет работать на такой частоте? Мелкий, дешёвый PIC, аналогичный STM8S, а не топовый?

И (если речь идёт о кварце) - я что-то не видел кварцев на такую частоту. Хотя не исключаю что есть.

Цитата

На потреблении ядра это практически не отражается.

Если для получения 64МГц (из меньшей частоты задающего генератора) придётся задействовать PLL - скажется.

Цитата

Что касается DMA и 12-разрядных АЦП, то это последние МК Микрочипа 18-го семейства (типа PIC18 Q43 и аналогичные). Все-таки не стоит сравнивать древние МК с современными.

Не знаю что такое "древние". PIC18 - древний? Насколько помню в тем времена, когда я ещё пользовал PIC, PIC18 - был топовый.

И да - сравнивать лучше соответствующие другу другу МК, соответствующие например по цене. PIC18 имеет цену сравнимую с STM8S?

Share this post


Link to post
Share on other sites
21 минуту назад, jcxz сказал:

Без понятия -> потому что это не нужно

Уточняю, это персонально Вам оно не нужно. А другим нужен контроль над всем, особенно когда эти другие в курсе, что бит отключения конвейера практически не заметен на фоне остальных миллионов его собратьев на том же кристалле, однако его таки зажали, что на порядки увеличивает его политическое значение в конкурентной борьбе.

Share this post


Link to post
Share on other sites
37 minutes ago, jcxz said:

PIC18 имеет цену сравнимую с STM8S?

Сравнивать нужно сопоставимые МК. Скажем, PIC18F27Q43 стоит у производителя $1,09. Это при том, что он имеет питание до 5 вольт, 6 каналов ДМА (без ограничений на источники реквестов по каналам), 12 разрядный АЦП, свободно ремаппируемую таблицу векторов прерываний, где КАЖДЫЙ источник прерываний имеет свой вектор (групповых прерываний почти нет), 4 УАРТа, три NCO/DDS, 8 битный DAC, 24-битный SMT (захват с автоматическим измерением периода и дьюти), 8 CLC-ячеек (микро ПЛИС), 4 16-битных таймера, практически неограниченный ремап цифровых интерфейсов на пины, 8К ОЗУ, 128Кб флеш, 1К ЕЕПРОМ.

Да, для работы на 16 МИПСах нужно включить PLL. Потребление на 16 МИПСах на внешнем кварце 16 МГц с PLL - примерно 4 мА (исполнение из флеша на 16 МИПСах у STM8S имеет идентичное потребление). Это у ядра. Периферия, естественно, добавит. Но наличие частоты в 4 раза выше, чем у ядра, дает возможность запустить на ней периферию. То есть периферия может работать на 64 МГц.

https://ww1.microchip.com/downloads/en/DeviceDoc/PIC18F27-47-57Q43-Data-Sheet-DS40002147E.pdf

Share this post


Link to post
Share on other sites
6 часов назад, jcxz сказал:

Как понимаю - выбрали PIC? А почему не STM8, как изначально собирались? Просто интересно....

Потому, что я его знаю и имею отладчик и плату с PIC16. 

Потому, что не увидел большой поддержки STM8 от участников форума. 

Потому, что лучше использовать мелкий 5-вольтовый Cortex-M0+, чем этот ушлёп с Big-endian организацией слов. 

Share this post


Link to post
Share on other sites
7 hours ago, Михась said:

Чего он постоянно сует переменные в рам а потом их высовывает оттуда?

Вы сами его попросили:

7 hours ago, Михась said:

volatile uint8_t a, b, c;

 

Share this post


Link to post
Share on other sites
2 часа назад, my504 сказал:

Сравнивать нужно сопоставимые МК. Скажем, PIC18F27Q43 стоит у производителя $1,09. Это при том, что он имеет питание до 5 вольт, 6 каналов ДМА (без ограничений на источники реквестов по каналам), 12 разрядный АЦП, свободно ремаппируемую таблицу векторов прерываний, где КАЖДЫЙ источник прерываний имеет свой вектор (групповых прерываний почти нет), 4 УАРТа, три NCO/DDS, 8 битный DAC, 24-битный SMT (захват с автоматическим измерением периода и дьюти), 8 CLC-ячеек (микро ПЛИС), 4 16-битных таймера, практически неограниченный ремап цифровых интерфейсов на пины, 8К ОЗУ, 128Кб флеш, 1К ЕЕПРОМ.

Это конечно всё круто, но ведь ТСу это всё не нужно. Он озвучил, что нужно: мелкий корпус и малая цена. А по этому показателю, если искать на одном ресурсе (для корректности сравнения) например на https://ru.farnell.com

то:

самый дешёвый мелкий STM8 (STM8S001J3M3TR) (100шт.) = 0.317 евро

самый дешёвый мелкий PIC18 (PIC18F06Q41-I/ST) (100шт.) = 0.810 евро

да и не такой уж мелкий он, по сравнению с STM8.

А то что флеши больше или ещё чего - так если оно не нужно, то зачем?

 

Цитата

Но наличие частоты в 4 раза выше, чем у ядра, дает возможность запустить на ней периферию. То есть периферия может работать на 64 МГц.

Здорово! :good2:

48 минут назад, ViKo сказал:

чем этот ушлёп с Big-endian организацией слов. 

Похоже это и было ключевым аргументом.  :sarcastic:

А какая разница как там байты расположены? Что от этого меняется?

А у PIC-ов насколько помню - память программ имеет нетрадиционную разрядность, у каких-то = 14 бит или прочие чудесные значения. Это Вас не напрягает?  :crazy:

 

PS: Писал для STM8, никаких трудностей от Big-endian не испытал ни разу.

Share this post


Link to post
Share on other sites
3 минуты назад, blackfin сказал:

Не томите уже! Кто победил в этом бессмысленном и беспощадном споре? :biggrin:

Так уже сказали - PIC. Ведь он Big-endian!  :biggrin:

Токмо непонятно какой PIC. Оне же разные.

Share this post


Link to post
Share on other sites
2 часа назад, Plain сказал:

Уточняю, это персонально Вам оно не нужно.

Простите, не подскажете, зачем может понадобиться отключать конвейер?

Share this post


Link to post
Share on other sites
25 минут назад, jcxz сказал:

Токмо непонятно какой PIC. Оне же разные.

21.01.2021 в 21:10, ViKo сказал:

Вообще-то, я уже еду. На PIC16. Выберу конкретно дешёвый и в наличии, и всё.

Share this post


Link to post
Share on other sites
26 минут назад, MrBearManul сказал:

зачем может понадобиться отключать конвейер?

Я уже сказал — потому что выборка становится неподконтрольным ресурсом.

Share this post


Link to post
Share on other sites
16 minutes ago, Plain said:

Я уже сказал — потому что выборка становится неподконтрольным ресурсом.

А между тем не далее как позавчера произошла революция. Встречайте!
Dual-core Arm Cortex-M0+ @ 133MHz https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/
Убийца PIC-ов, AVR-ов и прочей мелюзги.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.