Инструменты пользователя

Инструменты сайта


doc:mk:1986be9x

1986ВЕ9х - Серия микроконтроллеров на ядре ARM Cortex-M3

1986ВЕ9х - это серия 32-разрядных микроконтроллеров построенных на ядре ARM Cortex-M3, содержащих 128 КБ памяти программ Flash-типа и 32 КБ ОЗУ. Семейство состоит из следующих микросхем:

  • 1986ВЕ91Т, 1986ВЕ94Т - 132-х выводной металлокерамический корпус.
  • 1986ВЕ92У - 64-х выводной металлокерамический и пластиковый корпус.
  • 1986ВЕ93У - 48-х выводной металлокерамический корпус.
Микроконтроллеры 1986ВЕ91, 1986ВЕ92, 1986ВЕ93 разработаны на основе одного кристалла. В зависимости от корпуса часть ножек не разведена, но они имеются на кристалле и тактируются, если не задано иное с помощью регистра PER_CLOCK, тем самым увеличивая потребление кристалла. Микроконтроллер 1986ВЕ94 разработан на основе отличного кристалла, но также на базе ядра CORTEX M3

Вопросы - часто задаваемые вопросы пользователей.
Вопросы по АЦП - вопросы по работе с АЦП.

Внешняя шина только 32-битная! (кроме 1986ВЕ94)

Микросхемы 1986ВЕ91, 1986ВЕ92, 1986ВЕ93 - это один и тот же кристалл, запакованный в корпуса с разным количеством выводов. Внешняя шина в этом кристалле только 32-битная и предназначена для исполнения кода с внешней памяти. Об этом говорит режим загрузки выставляемый внешними выводами MODE = 010 (с Jtag) или 011 (Jtag заблокирован).

Но такое исполнение возможно только в 1986ВЕ91, поскольку в ВЕ92 и ВЕ93 не все сигналы внешней шины выходят на внешние выводы. При работе шины адреса обращений должны быть кратны по 4, т.к. работа идет с 32-битными данными. При адресации не кратной 4-м данные возвращаются не там, где они ожидаются. Например, на форуме представлен пример байтного обращения по шине (ссылка)

  #define HWREG(x) (*((volatile uint32_t *)(x)))

  uint32_t arr32[4];

  for (i = 0; i < 4; ++i)
  {
    arr32[i] = HWREG(EXTBUS_START_ADDR + i);
  }

При этом считывание возвращает такие значения:

  arr32[0] = 0xFFFFFFdd;
  arr32[1] = 0xddFFFFFF;
  arr32[2] = 0xFFddFFFF;
  arr32[3] = 0xFFFFddFF;

где dd - это байт, что выставлен на шине данных.

Чтобы как-то получить байтный доступ к внешним данным, необходимо вывод внешней памяти a[0] подключить к выводу шины A[2]. Поскольку обращения на шине используются 32-битные, то сигнал A[2] будет меняться на каждый адрес. A[0] и A[1] в данном случае не используются. При таком подключении внешний байт данных будет лежать в младшем байте считываемого слова. (см. "Картинка из статьи Работа с Flash памятью 1636РР1У по внешней шине 1986ВЕ91Т")

В микроконтроллере 1986ВЕ94 используется доработанная шина, она может работать как с 8-битными, так и с 16-битными данными.

doc/mk/1986be9x.txt · Последнее изменение: 2022/04/03 23:09 (внешнее изменение)