Я только что завершил проект с использованием чипа LPC2132, но столкнулся с проблемами при использовании всей 64 КБ ОЗУ.
Для моего следующего проекта я хотел бы использовать что-то, что может ссылаться на внешний, гораздо больший чип памяти. Какой тип ARM может сделать это, и что мне нужно сделать, чтобы два устройства разговаривали?
Ответы:
Вам не нужен MMU для внешней оперативной памяти, определяющий фактор, если он вам нужен, - это совершенно отдельная проблема, а не просто больше места. Если вы программируете прямо на металл, это может фактически облегчить вашу жизнь без MMU. Я также хотел бы отметить, что MMU практически никогда не является внешним компонентом, а скорее на кристалле SoC.
Во многих семействах можно найти SoC ARM, которые позволяют использовать внешнюю память от ARM7, например, серии NXP LPC2212, не говоря о своем лучшем, просто первая ARM7 SoC, которая появилась в Google с интерфейсом внешней памяти, есть много вариантов ,
Я бы уделил больше внимания возможностям различных ядер в семействе ARM, поскольку почти все из них можно найти в SoC с внешними контроллерами памяти.
Теперь вопрос о том, какой тип памяти вам нужен и как он работает, зависит от выбранного вами SoC и от того, какую память поддерживает внешний контроллер памяти. Например, подключенный к ARM7 SoC i поддерживает внешнюю SRAM, а также флэш-диски и диски и поддерживает до 4 банков по 16 МБ, поэтому вы можете подключить к ней внешнюю флэш-память и SRAM одновременно.
Вы можете использовать отдельные ОЗУ и флэш-микросхемы. Есть также пакеты, называемые MCP (Multi Chip Package), которые могут включать в себя как флэш-память, так и оперативную память в одном пакете. То, как вы выбираете эти устройства, зависит от многих факторов, вам нужно быть более конкретным в отношении вашего приложения.
Насколько легко это сделать, зависит от скорости, которая вам нужна. Большинство контроллеров внешней памяти имеют программируемые тактовые частоты. Тактовые частоты интерфейса памяти могут быть очень высокими, по крайней мере, 10 МГц и, вероятно, намного выше. Короче говоря, вы, скорее всего, не макетируете что-то подобное, вам нужно спроектировать печатную плату и обратить особое внимание на проблемы целостности сигналов для этих линий.
Лучше всего выбрать ядро, с которым вы хотите играть, и найти одну из множества плат для разработки с внешней памятью.
источник
Большая серия процессоров STM32 (32-битное ядро Cortex-M3) имеет FSMC, который представляет собой гибкий статический контроллер памяти. При этом вы можете подключить флэш-память, оперативную память и другие периферийные устройства памяти, такие как ЖК-дисплей и тому подобное.
Я могу порекомендовать STM32F103ZET6, как сказал также tcrosley, и вы можете получить плату для разработки, включающую flash и sram на ebay, за 68 долларов - http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220619908411
источник
Недавно у меня появилось аналогичное требование для нового проекта, и я выбрал STMicro STM32F103ZET6 (32-битный Cortex-M3 ARM) с 512 КБ встроенной флэш-памяти и 64 КБ встроенной оперативной памяти примерно за 10 долларов. Он имеет контроллер памяти, который может адресовать до 64 МБ внешней памяти (26 бит адреса). Доступен в 144-контактном корпусе LQFP. (Я не люблю использовать BGA для прототипов.) Я буду сопрягать его с 2 МБ Cypress SRAM, без какого-либо другого клея (без мультиплексирования).
источник
Может быть, Atmel AT91SAM9G20 ?
Это немного чудовище (217-контактный корпус BGA), но это отличный чип по цене. Если вы ищете что-то более удобное для человека, возможно, попробуйте Atmel AT91M42800A . Я думаю, что это самый маленький MCU с аппаратным обеспечением внешней памяти, по крайней мере, от Atmel. Это 144-контактный корпус LQFP.
У Atmel есть параметрический селектор: http://www.atmel.com/dyn/products/param_table_v2.asp?family_id=605&OrderBy=part_no&Direction=ASC
(Думаю, я должен добавить, что я не работаю на Atmel; я просто знаком с их вещами.)
источник