Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 24.01.2008, 03:44  
oleggun
Прохожий
 
Регистрация: 02.01.2008
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
oleggun на пути к лучшему
По умолчанию Как организовать доступ к памяти?

Здравствуйте! Подскажите пожалуйста, как организовать взаимодействие микроконтроллера с памятью. Как я понимаю, память состоит из множества ячеек,которые объединены в байты (при байтовой организации).А каждый адрес в памяти указывает только на один байт. Вопрос:
1 Правильно ли я понимаю устройство памяти
2 Как адресовать ее микроконтроллеру
3 Как вообще производится запись N байтов в память: нужно ли перед каждым посланным байтом выставлять адрес следующей ячейки(если да, то каким образом это делается)?_
Реклама:
oleggun вне форума  
Непрочитано 24.01.2008, 05:48  
Drex
Прописка
 
Аватар для Drex
 
Регистрация: 16.04.2004
Сообщений: 201
Сказал спасибо: 336
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
Drex на пути к лучшему
По умолчанию

Вы поконкретнее задачу опишите. Какой контроллер, какая память? А то на ваш вопрос можно целый учебник писать сюда.
Drex вне форума  
Непрочитано 24.01.2008, 19:24  
oleggun
Прохожий
 
Регистрация: 02.01.2008
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
oleggun на пути к лучшему
По умолчанию

Меня интересует самый общий случай. Например, для организaции взаимодействия микроконтроллера со светодиодом достаточно лишь подавать/отключать сигнал соответствующего вывода, к которому подключен светодиод. Но ведь с памятью дело обстоит сложнее!
Скажем, имеется контроллер PIC16F84A и EEPROM КМ1609РР2А 8Kx8, у которой 13 адресных входов,8 информационных выводов вход/выход, ну и вход выбора микросхемы.
И нужно записать например три байта информации.
Каким же образом следует выставить адрес памяти и записать данные? и куда должны быть подключены адресные входы, а куда информационные? А еще, насколько я знаю, существует память с автоинкрементом и без него. В чем оличия работы таких микрух?
oleggun вне форума  
Непрочитано 25.01.2008, 07:09  
Drex
Прописка
 
Аватар для Drex
 
Регистрация: 16.04.2004
Сообщений: 201
Сказал спасибо: 336
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
Drex на пути к лучшему
По умолчанию

Насколько я понял, Вы говорите о параллельной мкросхеме памяти. С данным контроллером без дополнительных ухищрений полностью задействовать адресное пространство не получится. У него слишком мало портов ВВ. Как вы сами написали, надо 13+8+CS+RD/WR итого как минимум 23 порта. Чтобы просто реализовать все возможности этой памяти, надо использовать более многоногий МК, либо делать аппаратные регистры на шину адреса, а в контроллере использовать один и тот же 8-битный порт сначала для задания 2-х байтов адреса, а после этого уже для передачи данных. В любом случае система того не стоит. Единственное достоинство параллельной памяти - это быстродейтвие и простота протокола обмена. Если наворачивать регистры, то это преимущество сводится к нулю. Выход из ситуации - последовательные микрухи памяти. Для их обслуживания требуется максимум 3 порта в случае SPI, 2 порта в случае I2C, и один порт в случае 1 Wire. Естественно, протокол посложнее чем параллельный, но здесь зато почти нет ограничения на размер адресуемого пространства.

Автоинкремент - это автоматическое увеличение адреса в микросхеме памяти по завершении операции чтения или записи. После этого можно сразу же проводить операции со следующим байтом памяти без предварительной установки адреса, но насколько я понимаю, это фишка только последовательных микросхем. В параллельных это трудно представить.
Drex вне форума  
Непрочитано 25.01.2008, 08:39  
nokazus
Вид на жительство
 
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
nokazus на пути к лучшему
По умолчанию

Думаю многим пригодится. Читайте.
http://lord-n.narod.ru/walla.html
Удачи.
nokazus вне форума  
Непрочитано 25.01.2008, 18:37  
oleggun
Прохожий
 
Регистрация: 02.01.2008
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
oleggun на пути к лучшему
По умолчанию

Drex
C параллельной памятью вроде бы все понятно-выставляем адрес и записываем данные.А как организовать взаимодействие с последовательной памятью по I2C, ведь у нее нет адресных линий(всего две: SDA и SCL!!!)? Я имею ввиду не протокол, а сам механизм передачи. Т.е.сформировали условие START, затем нужно передать адрес этой памяти(как и куда его нужно передать?),а потом данные(как и куда?). Может быть, где-то есть литература по устройству и взаимодействию с последовательной памятью?
oleggun вне форума  
Непрочитано 25.01.2008, 19:26  
pomidor
Прописка
 
Регистрация: 27.11.2004
Сообщений: 175
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
pomidor на пути к лучшему
По умолчанию

2 oleggun
скачайте и почитайте datasheet на i2c и другие интересующие последовательные мелкосхемы памяти, напр.
http://www.atmel.com/dyn/products/da...?family_id=647
Еще можете погуглить файлик ' Шина I2C в радиотехнических конструкциях (Б.Семёнов) .djvu '
pomidor вне форума  
Непрочитано 30.04.2008, 18:04  
oleggun
Прохожий
 
Регистрация: 02.01.2008
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
oleggun на пути к лучшему
По умолчанию

Здесь была размещена неверная ссылка
oleggun вне форума  
Непрочитано 30.04.2008, 18:38  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

oleggun

Это что? Не открывается...
dosikus вне форума  
Непрочитано 30.04.2008, 18:42  
oleggun
Прохожий
 
Регистрация: 02.01.2008
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
oleggun на пути к лучшему
По умолчанию

Да это не то что нужно- щас удалю
oleggun вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как организовать телефонную связь? e863 Автоматика и аппаратура связи 3 25.03.2009 22:11
Как организовать тип String в GCC? IgorAVR2 Микроконтроллеры, АЦП, память и т.д 2 17.03.2008 23:57
Сдвиговый регистр - как организовать цепочку elcreator TTL и CMOS логика 8 30.10.2007 20:39
Подскажите как организовать реализацию получше vits05 Делимся опытом 5 02.11.2006 01:00
Как организовать клавиатуру 3*4 на 8051? pirat_os Микроконтроллеры, АЦП, память и т.д 0 16.03.2006 22:45


Часовой пояс GMT +4, время: 03:07.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot