Страница 256 из 628

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

Добавлено: Вс ноя 27, 2011 23:14:45
AI_Disable
TRIOD писал(а):...чтоб программу и данные можно было зашивать во внешнию микросхему...
Т.е. всё-таки память программ, ПЗУ (?)
Опишите подробнее требования к контроллеру.

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

Добавлено: Вс ноя 27, 2011 23:28:10
ploop
TRIOD писал(а):Ну тоесть чтоб программу и данные можно было зашивать во внешнию микросхему.
В реальности можно и только данные, но нужно чтоб обрашение происходило также как к внутреней памяти.
Вам тогда процессор нужен, а не микроконтроллер.

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

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

Добавлено: Вс ноя 27, 2011 23:39:25
TRIOD
Задача в принцепе простая. Чистая программа управления девайсом занимает всего 2Кб, но требуют чтоб состояние девайса его кучи узлов и сигналы от датчиков
выводились в виде оконной системы на графический эран 640x480. Система однозадачная и в один момент времени отображается только одно окно. Скорость обновления экрана 1раз в 2 секунды. Но к этому надо прелепить кучу графических эконок.

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

Добавлено: Пн ноя 28, 2011 07:17:51
ploop
Значит просто не хватает памяти?
Ответ как-бы очевиден: использовать более жирный МК, благо сейчас выбор не мал...

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

Добавлено: Пн ноя 28, 2011 08:23:02
TRIOD
А кто из контролеров обладает большим обёмом памяти.

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

Добавлено: Пн ноя 28, 2011 09:04:14
Gudd-Head
TRIOD писал(а):А кто из контролеров обладает большим обёмом памяти.
Тот, у которого больше памяти :)))

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

Добавлено: Пн ноя 28, 2011 09:04:38
ploop
Для начала определитесь, под какую архитектуру будете писать. AVR, PIC, ARM... Потом - прикиньте, сколько реально вам надо программной памяти.

Так как в микроконтроллерах преимущественно используется гарвардская архитектура памяти, т.е. разделение памяти программ (флеш) и данных (ОЗУ), выполнение кода из внешней памяти будет невозможно. Но данные там хранить разумеется можно. Естественно, лучше если хватает своей памяти, т.к. внешняя память без особой надобности - это костыль.

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

Добавлено: Пн ноя 28, 2011 09:11:45
ploop
Так как в микроконтроллерах преимущественно используется гарвардская архитектура памяти, т.е. разделение памяти программ (флеш) и данных (ОЗУ), выполнение кода из внешней памяти будет невозможно.
Тут, конечно, можно извернуться, применив некоторые извраты:
Многие МК позволяют писать в собственную память программ. Тогда пишем некоторый код, который будет читать внешнюю память и записывать программу в собственный флеш, а по окончании передаст ему управление (эдакий бутлоадер). Как загруженный код станет ненужен - переходим обратно к заргузчику и грузим на его место другой код.
Если это делать часто, флешь очень быстро износится (у неё ресурс на современных МК порядка 10 000 перезаписей)
К тому же всё это будет на столько сложно выглядеть, что вместе с основной задачей может взорвать мозг разработчику

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

Добавлено: Пн ноя 28, 2011 09:23:03
TRIOD
ploop писал(а):Для начала определитесь, под какую архитектуру будете писать. AVR, PIC, ARM... Потом - прикиньте, сколько реально вам надо программной памяти.

Так как в микроконтроллерах преимущественно используется гарвардская архитектура памяти, т.е. разделение памяти программ (флеш) и данных (ОЗУ), выполнение кода из внешней памяти будет невозможно. Но данные там хранить разумеется можно. Естественно, лучше если хватает своей памяти, т.к. внешняя память без особой надобности - это костыль.
Ну вобще я использую AVR, но чтото я уних не видел большого обёма памяти программ. Програмной памяти если совсем ужаться то не менее 1Мб, но желательно от 4Мб.

Сейчас хочу попробывать вариан с Atmega128, уней вроде можно прецепить внешнию память данных типа флеш. тоесть вместо того чтоб пихать даные в код программы я впихну их на внешнию микросхему, а обращение кним будет происходить также как к внутреней памяти.

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

Добавлено: Пн ноя 28, 2011 09:34:22
BCluster
TRIOD писал(а):Програмной памяти если совсем ужаться то не менее 1Мб, но желательно от 4Мб.
фигась... что-то много, честно )
А вообще никто ж не мешает хранить во внешней памяти картинки например и подгружать их оттуда по мере необходимости.

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

Добавлено: Пн ноя 28, 2011 09:34:52
ploop
чтоб пихать даные в код программы я впихну их на внешнию микросхему, а обращение кним будет происходить также как к внутреней памяти.
Тогда в принципе с любым контроллером можно держать данные на внешней. Только сложнее.
Если Atmega128 реально такое поддерживает (я как-то не интересовался этим) - то это хороший выход.

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

Добавлено: Пн ноя 28, 2011 09:39:42
Gudd-Head
ploop писал(а):Если Atmega128 реально такое поддерживает (я как-то не интересовался этим) - то это хороший выход.
Там можно подключить до 64К внешнего ОЗУ :)

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

Добавлено: Пн ноя 28, 2011 09:44:14
BCluster
память данных типа флеш прицепляется через SPI и доступ к ней реализуется в два счета

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

Добавлено: Пн ноя 28, 2011 09:45:50
Gudd-Head
BCluster писал(а):память данных типа флеш прицепляется через SPI и доступ к ней реализуется в два счета
Таки да — карточки памяти типа SD! Есть много статей про них.
Также внешняя флэш есть через I²C.

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

Добавлено: Пн ноя 28, 2011 09:47:08
AI_Disable
BCluster писал(а):память данных типа флеш прицепляется через SPI и доступ к ней реализуется в два счета
Плюсую. Хранить во внешней памяти различные графические данные (изображения) - совершенно нормальное явление.

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

Добавлено: Пн ноя 28, 2011 09:47:47
ploop
Это понятно. Я думал речь идёт о программной памяти (какой-нибудь параллельный режим).
Там можно подключить до 64К внешнего ОЗУ
ОЗУ можно, а флеш "нарастить"? Сомневаюсь, если честно.

В понедельник что-то лень читать даташит :)

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

Добавлено: Пн ноя 28, 2011 09:48:09
TRIOD
Вот выдержка из даташита "Характеристики интерфейса внешней памяти позволяет его использовать не только для подключения к внешнему статическому ОЗУ или флэш-памяти, но и в качестве интерфейса с внешними периферийными устройствами". Да программу со внешнего флеша использовать нельзя, а вот данные хранить вполне можно.
Если использовать память на I2C то нужно сначала нужные данные загрузить в ОЗУ, а его может и нехватить на формирование картинки 640x480.

Да всего 64Кб, но можно наладить постраничное чтение тоесть старшие адреса задовать программой. Хотя ето нестолько удобно как нативная поддержка, но всеравно остаётся удобство ввиде нормального доступа к памяти без всяких I2C.

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

Добавлено: Пн ноя 28, 2011 09:51:43
AI_Disable
Флэшь, действительно, нарастить невозможно напрямую. Но если совсем невтерпеж именно ИСПОЛНЕНИЕ кода, записанного на внешнюю память, то можно по-кусочкам копировать из внешней во внутреннюю и исполнять уже оттуда.
А вообще такой способ очень медленный и глупый, даже сложно придумать пример реального примирения...

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

Добавлено: Пн ноя 28, 2011 09:56:39
ploop
Я писал об этом способе выше. Способ действительно глупый, учитывая еще ресурс собственного флеша по количеству перезаписей.
Он имеет место быть только в одном случае: обновление ПО в нестандартном режиме, например с флешь-накопителя типа какой-нибудь SD (собственный бутлоадер).

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

Добавлено: Пн ноя 28, 2011 09:59:16
TRIOD
AI_Disable писал(а):Флэшь, действительно, нарастить невозможно напрямую. Но если совсем невтерпеж именно ИСПОЛНЕНИЕ кода, записанного на внешнюю память, то можно по-кусочкам копировать из внешней во внутреннюю и исполнять уже оттуда.
А вообще такой способ очень медленный и глупый, даже сложно придумать пример реального примирения...
А исполнение кода в данном случае и ненужно, нужно место для хранения данных.
В случае если контролер подерживает расширение памяти данных то можно либо цепануть кнему флэш память с заранее записанными данными и только читать.
Или можно цепануть ОЗУ и при запуске считывать даные в него из внешней микры типа 24С512.