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

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

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

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

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

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

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

Закрытая тема
Опции темы
Непрочитано 26.02.2014, 22:37   #1
poltergeist
Частый гость
 
Аватар для poltergeist
 
Регистрация: 24.03.2009
Сообщений: 45
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poltergeist на пути к лучшему
По умолчанию Не удается запустить драйвер сегментных дисплеев MAX6955

Доброго времени суток!

Появилась надобность управлять несколькими 14-ти сегментными дисплеями.
Для реализации задачи я решил воспользоваться драйвером MAX6955 (даташит)
Драйвер управляется через I2C. Для установки адреса устройства, используются пины AD0 и AD1, которые можно соединять с питанием, землей или сигнальными линиями. Всего 16 комбинаций, представленных в таблице 5 в даташите. В даташите же сказано, что адрес устройства это 7ми битное число.

Плата разрабатывалась в Proteus'е - там же и успешно просимулировал программу для ATMEGA328.

И вот тут начинается самое интересное - адрес MAX6955 в Proteus'е выставляется в свойсвах элемента, т.е. ему наплевать на подключение ног AD0 и AD1. Но фишка не в этом, а в том, что в выпадающем списке адреса устройств только 8ми битные, вроде 0xC0 и т.п. При использовании в прошивке ATMEGA328 данного адреса, виртуальный драйвер работал корректно.


На практике, я присоединил обе ноги AD0 и AD1 к питанию, так что адрес девайса получился 0b1100101. Но как я не пытался, MAX6955 не отзывается ни на одну комманду. Проверял схему 100 раз, тыкал осциллографом и на входы и на выходы - на входах виден сигнал I2C, на выходах тишина.

При этом, я нашел несколько примеров и библиотек в сети - люди выкладывали код работающих девайсов, и в части примеров используемые адреса MAX6955 8ми битные, что противоречит даташиту.

Код пишу в CodeVisionAVR. По примеру кода из этого поста http://www.edaboard.com/thread288875.html.

Кто-то может посоветовать мне, как мне запустить девайс?

Спасибо.
Реклама:
__________________
Мой сайт - www.techno-mind.ru - самоделки, технологии, тюнинг и др.
poltergeist вне форума  
Непрочитано 26.02.2014, 22:46   #2
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Младший бит в байте адреса в интерфейсе I2C определяет чтение/запись. Поэтому адрес бывает либо 7 бит, либо 10 бит.
Easyrider83 вне форума  
Непрочитано 26.02.2014, 22:50   #3
poltergeist
Частый гость
 
Аватар для poltergeist
 
Регистрация: 24.03.2009
Сообщений: 45
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poltergeist на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Сообщение от Easyrider83 Посмотреть сообщение
Младший бит в байте адреса в интерфейсе I2C определяет чтение/запись. Поэтому адрес бывает либо 7 бит, либо 10 бит.
Да, вы правы. Поэтому я пробовал обращаться к девайсу по адресу 0b11001010. Ноль эмоций.
__________________
Мой сайт - www.techno-mind.ru - самоделки, технологии, тюнинг и др.

Последний раз редактировалось poltergeist; 26.02.2014 в 22:53.
poltergeist вне форума  
Непрочитано 26.02.2014, 22:53   #4
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Так и есть. 0 - запись, 1 - чтение.
Easyrider83 вне форума  
Непрочитано 26.02.2014, 22:54   #5
poltergeist
Частый гость
 
Аватар для poltergeist
 
Регистрация: 24.03.2009
Сообщений: 45
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poltergeist на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Сообщение от Easyrider83 Посмотреть сообщение
Так и есть. 0 - запись, 1 - чтение.
Я ошибся в предыдущем комменте - отредактировал его. Гляньте. Пасибо.
__________________
Мой сайт - www.techno-mind.ru - самоделки, технологии, тюнинг и др.
poltergeist вне форума  
Непрочитано 26.02.2014, 22:57   #6
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Сообщение от poltergeist Посмотреть сообщение
Я ошибся в предыдущем комменте - отредактировал его. Гляньте. Пасибо.
Не могу понять, как вы мануалы читаете?
Миниатюры:
Нажмите на изображение для увеличения
Название: MAX6955.png
Просмотров: 71
Размер:	24.2 Кб
ID:	59778  
Easyrider83 вне форума  
Непрочитано 26.02.2014, 22:59   #7
poltergeist
Частый гость
 
Аватар для poltergeist
 
Регистрация: 24.03.2009
Сообщений: 45
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poltergeist на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Все верно. Я же говорю, AD0 и AD1 на питании. Т.е. адрес 0b1100101. Т.е. для записи адрес будет 0b11001010. Туда и шлю комманды. Но ничего не выходит. Не знаю почему.
__________________
Мой сайт - www.techno-mind.ru - самоделки, технологии, тюнинг и др.
poltergeist вне форума  
Непрочитано 26.02.2014, 23:06   #8
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Подтяжку не забыли?
Easyrider83 вне форума  
Непрочитано 26.02.2014, 23:11   #9
poltergeist
Частый гость
 
Аватар для poltergeist
 
Регистрация: 24.03.2009
Сообщений: 45
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
poltergeist на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Не забыл. Также смотрел осциллографом с logic analyser - виден четкий I2C сигнал на линиях SDA и SCL.
__________________
Мой сайт - www.techno-mind.ru - самоделки, технологии, тюнинг и др.
poltergeist вне форума  
Непрочитано 27.02.2014, 00:13   #10
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Не удается запустить драйвер сегментных дисплеев MAX6955

Вы должны видеть стартовый бит и передачу адреса. Выкладывайте все, что есть.
Когда-то я тоже подключал один мутный чип по I2C. Адреса я не знал. Поэтому просто перебрал все 127 возможных адресов. Нашел все устройства на шине.
Easyrider83 вне форума  
Закрытая тема

Закладки


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

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

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


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


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