Здравствуйте. Вот немного запутался! Мне нужно подключить к ATmega16 такие устройства:
запоминающее устройство - FM 24C16
ЦОУ - max7216
АЦП - max191
ЦАП - max5250
часы реального времени - FM4005
watchdog(сторожевой таймер)
звуковая сигнализация
световая сигнализации
пульт управления.
Я так понимаю, все это нужно подключать через шину? Если есть у кого-то время - натолкните на мысль, а дальше я уже сам буду гуглить. Просто по отдельности я подключу все, а вот все вместе к одному МК - пока не представляю как это реализовать(
То есть, по отдельности, это все вы можете подключать?
Я имею некоторый опыт программирования в CodeVisionAVR , и мне интересна эта тема, а есть пример таких раздельных подключений, может и мне в голову придет какая полезная мысля, ....
Если что прояснится с удовольствием поучаствую в этой теме.
Мы подключали пока что только на схемах, ничего не программировали. Основная задача на данном этапе - это схема, в которой будет один ATmega16 и вс вышеперечисленные элементы.
Вместо FM 24C16, FM4005 и ватчдога можно поставить всего одну микросхему FM31256. В ней всё это есть (память только там оперативная, для хранения журналов) Подключается к шине I2C к МК. На mega16 есть выводы SDA и SCL (PC1 и PC0 [23 и 22 выводы DIP]) Это и есть I2C. Там нужна ещё подтяжка. Она описана в даташите на мегу. В даташите этот интерфейс называют как TWI (two-wire interface). Это тот же I2C, только название другое. Чтобы посадить несколько устройств на шину I2C, мы просто параллелим их. Далее, если есть на чипах вывод CE \ CS (chip enable \ chip select)
то заводим их на любые ноги МК. Далее, если надо обратиться только к одной из микросхем, то опускаем линию CS чипа в лог. ноль и гоняем ему пакеты по I2C. Остальные мешать не будут, так как их выводы будут в Z-состоянии. Если чипов много и не хватает ног МК, то можно заюзать дешифраторы. В этом случае, мы создадим виртуальное адресное пространство для обращения к периферии на I2C.
На микросхеме FM31256 для выбора чипа используются выводы A0 и A1.
I am DX168B and this is my favourite forum on internet!
Так, похоже, тут специально дали побольше микросхем с разными интерефейсами, чтобы студентов помучить, в учебных целях. Всего-то надо даташиты почитать
Кстати, подозреваю, что max7216 - это на самом деле MAX7219.
Там не через TWI. Там есть вывод, который тянет общую линию RESET в нуль. Только обнулять его надо через I2C.
Я тоже заюзал бы внутренний ватчдог от МК. Далее, если по сработке ватчдога нужно выполнить какие-то действия, то у МК есть флаги, по которым можно определить причину сброса МК. (BOD, RESET, WDT, POWER-ON).
I am DX168B and this is my favourite forum on internet!
Мне нужно каждый элемент подключить к меге!!! Я знаю, что есть в 16 меге.
Моя задача - это подключение всех тех элементов)
В общем пойду дальше читать документацию всех элементов