1986ВЕ9х - это серия 32-разрядных микроконтроллеров построенных на ядре ARM Cortex-M3, содержащих 128 КБ памяти программ Flash-типа и 32 КБ ОЗУ. Семейство состоит из следующих микросхем:
Вопросы - часто задаваемые вопросы пользователей.
Вопросы по АЦП - вопросы по работе с АЦП.
Микросхемы 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-битными данными.