Список разделов >> Архив оффтопика: «По поводу I2c мониторинга.»
|
Sergei
|
Поковырял тут доку по EPP,и мне показалось,что "подглядывать" за I2c можно почти без
микросхем.
собираем внешний генератор с частотой в два раза больше
частоты шины I2c-это внешний сигнал WAIT.
Берем в зубы ТАSМ
запрещаем все прерывания(порт в ЕРР 1.9)
Читаем из порта,сравниваем с предыдущим значением.
равно-читаем опять.нет-записываем в память.
Один из битов данных можно использовать как грубое(кнопка) прерывание операции.
Ну а дальше разбираемся с полученной "кашей"
Т.к генератор генерит в два раза чаще (200 кв/c для 100Кгц шины) программа не пропустит ни одного бита.
Ну и 400Кгц i2c-это 800kбит/c(частота внешнего генератора) ,а максимум 2000 kбит/c
Так,что в теории получаеться довольно легко
|
Чт Ноя 15, 2001 11:09 am
| ссылка
|
|
|
|
rezident
|
Гладко было на бумаге, да забыли про овраги
Не все так просто. Объяснить за раз это довольно сложно, особенно если Вы "узкопрофильный" (это не ругательство! избави Боже ) специалист. В том смысле, что либо программист, либо "железячник". Для этого дела надо быть и тем и другим одновременно....к сожалению.
|
Чт Ноя 15, 2001 5:59 pm
| ссылка
|
|
|
|
Sergei
|
|
rezident
|
Я не очень подробно изучи(а)л протокол EPP, но
у меня сложилось поверхностное мнение, что PCF8584 стыкуется и будет работать с LPT по этому протоколу "на ура"... вот только до проверки дело не дошло. Если найду, то отмылю схемку которую я набросал для EPP+PCF8584.
|
Чт Ноя 15, 2001 7:13 pm
| ссылка
|
|
|
|
Sergei
|
Для себя я уже схему нарисовал,только 8584 нужно загнать в 6800 режим работы и она прекрасно стыкуется с ЕРР.В качестве сигнала WAIT юзаеться DTASK.Тогда чтение-запись производиться с максимально возможной скоростью и за один цикл.
|
Чт Ноя 15, 2001 7:19 pm
| ссылка
|
|
|
|
Sergei
|
Сейчас глянул краем глаза на ЕСР-тут вообще не должно быть проблем со скоростью обмена и буферезации
|
Чт Ноя 15, 2001 7:39 pm
| ссылка
|
|
|
|
rezident
|
Отлично! Если не трудно, то сообщайте о промежуточных результатах, мож чего вместе сообразим. А то видимо больше ни у кого нет желания (или как у меня - возможности/времени)
|
Чт Ноя 15, 2001 7:59 pm
| ссылка
|
|
|
|
Sergei
|
Тогда сразу вопрос
Смотрю в мануал по 8584 и вижу фигу.
Не поуйму как в режиме монитора прочитать адрес устройства в которое идет запись-чтение.Запихиваеться ли он в регистр S0 или туда пихаються только данные?
|
Пт Ноя 16, 2001 12:15 pm
| ссылка
|
|
|
|
Sergei
|
уточню
в мануале по мониторитг моде написано:
...
Received data is automatically transferred to the read
buffer.
...
А про адрес не нашел ни слова;-( Как же тогда мониторить?
|
Пт Ноя 16, 2001 12:27 pm
| ссылка
|
|
|
|
rezident
|
уточню
Во-первых, отмыльте мне Вашу схемку если не трудно. Я свою не нашел, но нарисовал от руки снова. Надо только привести ее в божеский вид и отсканировать Все получается нормально, даже с поддержкой IRQ, что по-моему немаловажно. Ведь при наличии прерывания упрощается работа с портом, не надо делать постоянный опрос флага PIN.
Во-вторых, касаемо адреса. Вы почитайте описание протокола I2C внимательно. Чем принципиально отличается посылка адреса от данных по-вашему? Да ничем! Кроме того, что адрес следует сразу за старт-условием так что первый принятый байт вместе со старт-условием и будет адресом.
|
Пт Ноя 16, 2001 1:13 pm
| ссылка
|
|
|
|
Sergei
|
Отмылил с небольшими и сумбурными пояснениями
|
Пт Ноя 16, 2001 1:37 pm
| ссылка
|
|
|
|
Sergei
|
IRQ вещь нужная.
Но для правильного мониторинга все равно придеться читать контрольный регистр каждый раз вместе с датой,стобы понять работает адресуемое устройство или нет.Сигнал ASK
|
Пт Ноя 16, 2001 2:04 pm
| ссылка
|
|
|
|
rezident
|
Ясно дело! Ведь IRQ (запрос прерывания) это сигнал
который сообщает, что в устройстве произошло какое-то событие на которое нужна реакция CPU. А что именно произошло? и как на это событие надо реагировать? определяется в подпрограмме обслуживающей прерывание, которая естественно должна читать регистр состояния.
|
Пт Ноя 16, 2001 3:27 pm
| ссылка
|
|
|
|
rezident
|
Получил так называемую схему
Должен констатировать печальный факт, что это не схема реального устройства, а лишь зачаточный вздет мысли (( без обид, но Вы плохо проштудировали временные диаграммы работы и PCF8584 и EPP...к сожалению
Постараюсь до конца дня отсканировать и отмылить свой вариант.
|
Пт Ноя 16, 2001 3:31 pm
| ссылка
|
|
|
|
Sergei
|
Интересно было бы услышать где я прокололся.
Не хочу лишний раз обращаться к регистрам управления порта,поэтому и схема кажеться такой сумбурной-хочеться делать все за один цикл не выставляя дополнительных сигналов на ЕРР.Нужно имитировать все стробы именно за один цикл.
По поводу сырого варианта-не стал я рисовать резисторы и внешнее питание
|
Пт Ноя 16, 2001 4:16 pm
| ссылка
|
|
|
|
Список разделов -> Архив оффтопика: «По поводу I2c мониторинга.» |