Подключение внешнего ЦАП по I2C
|
|
ivan_fd |
Дата: Чт, 29.03.2012, 13:10 | Сообщение # 16 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Ваш проект на Протоне, если нужно могу сделать и на PBP.
Выходное напряжение растет от нуля до максимума.
|
|
|
|
Matrix252005 |
Дата: Чт, 29.03.2012, 13:32 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
ivan_fd, СПС, действительно так лучше... Я этого не знал как сделать... СПС Вам!!!
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
ivan_fd |
Дата: Чт, 29.03.2012, 14:02 | Сообщение # 18 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Я тут посмотрел,
Эту строку - Val2 = %11110000 & (value << 4) можно записать просто Val2 = value << 4
так как младший полубайт и так будет равен нулю.
|
|
|
|
Ramirez |
Дата: Чт, 29.03.2012, 14:11 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 02.03.2012
Статус:
Offline
|
Спасибо, работает! Склоняю голову и охотно признаю Ваш профессионализм и свою неправоту в вопросе о том, что разница между ПБП и протоном не принципиальна, поскольку из Вами написанного ясность в вопросе не наступила... Посему не сложно ли обьяснить порядок адресации, а лучше ещё и показать как это выглядит в формате ПБП для одного-другого вывода ЦАП'а? Заранее спасибо, с уважением, Дмитрий...
Ramirez
|
|
|
|
Matrix252005 |
Дата: Чт, 29.03.2012, 14:35 | Сообщение # 20 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Quote (Ramirez) поскольку из Вами написанного ясность в вопросе не наступила... В каком смысле??? Если Вы не поняли, как производится опрос, в данном случае с AD5305, то как и со всеми остальными м/с, у него есть свой ID номер, это "000110хх", дальше (по шиту) выбираем канал ЦАП, (стр 16 шита) POINTER BYTE BITS - получается %0000хххх номер канала, от D к A, затем (стр 17) Вы посылаете: первые 4 бита, у Вас должны быть не измены, а потом 8 бит данных... Все...
Если Вы имели ввиду это...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Ramirez |
Дата: Чт, 29.03.2012, 14:45 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 02.03.2012
Статус:
Offline
|
Я имею в виду не это... Это-то я пониял, просто как в ПБП это организовать? Там, имеет место быть указание ID номера и это все работает для ЦАПа с одним выводом, а вот как указать канал... хрен его, понимаете ли, знает... вот оно как...
Ramirez
|
|
|
|
Matrix252005 |
Дата: Чт, 29.03.2012, 15:06 | Сообщение # 22 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Quote (Matrix252005) дальше (по шиту) выбираем канал ЦАП, (стр 16 шита) POINTER BYTE BITS - получается %0000хххх номер канала, от D к A Я Вам написал... %00001000 -Вы выбираете канал D, %00000100 -Вы выбираете канал С...
Разницы нет... Что на РВР, что протон, разница в операторах... В РВР, Вы должны посылать тоже самое, только своими операторами...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Ramirez |
Дата: Чт, 29.03.2012, 15:53 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 02.03.2012
Статус:
Offline
|
Да, всё это понятно, и получается что на ПБП для получения уровея еапряжения +5В на выходе DACA должно быть так:
I2CWRITE PortA.2,PortA.1,%01011000,%00000001,[%11111111], но не работает...
Добавлено (29.03.2012, 15:52) --------------------------------------------- Не подскажете в чем ошибка?
Добавлено (29.03.2012, 15:53) --------------------------------------------- I2CWRITE PortA.2,PortA.1,%00011000,%00000001,[%11111111]
Ramirez
Сообщение отредактировал
Ramirez - Чт, 29.03.2012, 15:53
|
|
|
|
Matrix252005 |
Дата: Чт, 29.03.2012, 16:00 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Подскажу, в "[%11111111]"!!!! Добавлено (29.03.2012, 16:00) --------------------------------------------- Вы открывали мой файл *.BAS??? Там я писал: "' Всегда первые 4 бита должны быть 0010 !!!!!!!!" значит у Вас должно быть %0010хххх, %хххх0000.
Где Х - значение данных от D7 до D0 (%0010D7D6D5D4, %D3D2D1D0 0000).
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Ramirez |
Дата: Чт, 29.03.2012, 16:02 | Сообщение # 25 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 02.03.2012
Статус:
Offline
|
А почему? По-моему "%00011000" соответствует адресу, "%00000001" - выходу, а "[%11111111]" - уровню выходного напряжения +5В, разве нет? Добавлено (29.03.2012, 16:02) --------------------------------------------- Впрочем, можно там поставить что угодно другое, это не меняет дела!
Ramirez
|
|
|
|
ivan_fd |
Дата: Чт, 29.03.2012, 16:02 | Сообщение # 26 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
На ПБП будет приблизительно так:
I2CWRITE PortA.2,PortA.1,%00011000,%00000001,[Val1,Val2]
%00011000 - это, по Вашему, ID устройства
%00000001 - это и есть выбор канала, то есть:
%00000001 - DAC A %00000010 - DAC B %00000100 - DAC C %00001000 - DAC D
|
|
|
|
Ramirez |
Дата: Чт, 29.03.2012, 16:03 | Сообщение # 27 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 02.03.2012
Статус:
Offline
|
ААА! Спасибо, сейчас попробую!
Ramirez
|
|
|
|
Matrix252005 |
Дата: Чт, 29.03.2012, 16:14 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Да, только Val1 должен начинаться с %0010.
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Ramirez |
Дата: Чт, 29.03.2012, 16:16 | Сообщение # 29 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 02.03.2012
Статус:
Offline
|
Заработало!! Наконец-то!! ОГРОМНОЕ СПАСИБО ВСЕМ!!
Ramirez
|
|
|
|