Микроконтроллер из стиралки. Детальное описание регистров.

В этой статье я опишу некоторые важные регистры этого МК(S3C8469), чтобы можно было понять, как он работает. Описывать буду для Си, то есть не затрону некоторые регистры по типу статусного регистра АЛУ и указателя на спецрегистры. Если не понимаете, про что речь, то вот предыдущая статья тык

Самый первый регистр, с которым работают — порт. Здесь портов 7, но мы будем использовать 4 порта и еще половину от пятого, так как 20 пинов(порт0, порт1 и 4 пина от порта2) занимает внешний параллельный интерфейс. В принципе, регистры портов всегда достаточно просты, конкретно порты отсюдаЕсть только один нюанс: НЕЛЬЗЯ трогать P0 и Р1, и так же младшую половину P2. Аналог DDRx и TRISx здесь двухбайтный, режимов вывода предостаточно: open-drain, push-pull, так же все порты можно настроить на ввод. На примере P2 покажу, как выглядит регистр P2CON(H или L)

На каждую ножку приходится по 2 бита, но особенного стандарта я почему-то не увидел. Смотреть комбинации бит на индивидуальный пин и порт надо в даташите.
Так же есть подтягивающие резисторы, но не на всех портах, но можно включить на половине P2, P4, P6. Структура регистра:
Теперь посмотрим на регистры начальной инициализации:
Регистр сторожевого таймера
Регистр контроля частоты CPU:
Регистр маскирования прерываний по уровням приоритетов
Отмечу так же, что группы от IRQ0-7 можно переназначать в приоритетах, вот так
Думаю, пока что этого достаточно, теперь посмотрим на регистры периферии: напр. ADC:
Модуль перехода через ноль:
Подробное рассмотрение каждого из модулей будет в следующих статьях. А тут, в конце рассмотрим программирование. Надо ведь его чем-то программировать! По поводу заливатора — обычный программатор параллельной флеш, а по поводу среды разработки — IAR для архитектуры SAM8.
Поддерживается программирование на Си, а запись в регистры осуществляется так, например, запишу что-нибудь в SYM:
SYM = 0x02;

Как видите, все просто, так как команды микроконтроллера на 70% — регистры.
UPD: извиняюсь за поплывшие надписи к картинкам, сам не знаю, почему так произошло
  • +6
  • 04 апреля 2021, 06:21
  • us3rname

Комментарии (4)

RSS свернуть / развернуть
Плюшкинизм в чистом виде. Выбросил бы не задумываясь.
-2
Статья не столько про то, как пользоваться МК. Для этого обычно пишут пример мигания светодиодом. А это поток мысли человека, который столкнулся с задачей освоить непопулярный для хоббийщиков МК и справляется с этим. Прочитав данную статью мне, например, стало известно, что IAR можно использовать для компиляции разных архитектур МК.
Расскажу тут поучительную историю. В начале пандемии у меня в соседней лаборатории разрабатывали ТУ для промышленного производства обратной полимеразы — важнейшего компонента ПЦР тестов на РНК-содержащие вирусы, например COVID. Паралельно они снабжали лаборатории этим ферментом (из своих запасов), обеспечивая наростающий поток тестов. У них, как у всех, использовалось оборудование. Надёжное. Простое. Работающее. На схемотехнике 70-80-х годов. И тут у них вылетел IO блок на 8088 (если я верно помню). И тут мне помогли такие вот статьи. Я обнаружил проблемную точку и смог на ebay оперативно купить замену. Чем в значительной мере поспособствовал быстрому наращиванию объёмов тестов в апреле.
А ты бы выбросил не задумываясь, да.
+1
Я такое только приветствую, ну и пусть большинству не нужно, хотя найдется хоть один кому это пригодится. Человек заочно, пусть даже через несколько лет поблагодарит, так, про себя. Это уже не даром трудился. Да и для себя плане саморазвития полезно.
0
У нас сейчас на работе остановилась сборка плат из-за глобального дефицита STM микроконтроллеров, срок поставки больше года. Наступает такой день и ты понимаешь что нужных популярных мк тебе не достать и можешь закрываться или брать отпуск за свой счет. Чем больше выбор тем спокойнее себя чувствуешь на таких пиз***ях невидимого кулака рынка.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.