Вверх ↑
Этот топик читают: Гость
Ответов: 32
Рейтинг: 7
#1: 2020-05-15 18:30:38 ЛС | профиль | цитата
сделал компонент i2c, в архиве пример с 24С02, редактор hex для примера, работает страно один раз читает один раз записывает но для примере пойдет, проверенно на разных программаторах
карма: 1

2
файлы: 1I2C.zip [18.8KB] [556]
Голосовали:andrestudio, Pavel
Ответов: 5227
Рейтинг: 587
#2: 2020-05-15 18:43:07 ЛС | профиль | цитата
gadzhe77, где же Вы были сударь раньше(к сожалению с электроникой пришлось простится из-за слабеющего зрения)
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 32
Рейтинг: 7
#3: 2020-05-15 19:15:04 ЛС | профиль | цитата
молчуном был, все как то некогда да потом, сам понимаю что опоздал с LPT, тоже чувствую зрение падает

Редактировалось 1 раз(а), последний 2020-05-15 19:16:09
карма: 1

0
Ответов: 9906
Рейтинг: 351
#4: 2020-05-15 21:06:19 ЛС | профиль | цитата
gadzhe77 писал(а):
сам понимаю что опоздал с LPT

Собственно говоря -- ДА
На LPT все эти "штучки" я давно делал. В т.ч. и I2C - целую систему собрал (в смысле - станок ЧПУ)
Здесь вот упоминал: https://forum.hiasm.com/post/289346

А сейчас у меня нетути LPT. Зато есть самопальный (само-перепрограммируемый) девайс: https://forum.hiasm.com/getfile/38121
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#5: 2020-05-15 21:31:13 ЛС | профиль | цитата
Я правильно пониманию, что этот элемент нужен для получения данных по шине i2c с устройств через порт LPT? Спрашиваю потому, что а) искренне полагал, что данный порт уже не вставляют в компьютеры последние лет 15 б) разве не проще подключать все через любой контроллер с uart и i2c и забирать данные по serial порту через любой uarttousb конвертер?
карма: 27
0
Ответов: 32
Рейтинг: 7
#6: 2020-05-16 06:10:15 ЛС | профиль | цитата
да, компонент формирует шину i2c можно через LPT, можно попробовать через ком
просто минимум пайки и средств, в основном просто пощупать потыкать для обучения
переходник у меня давно собранный на CY7C68013 USB2LPT, полноценный LPT https://www-user.tu-chemnitz.de/~heha/basteln/PC/USB2LPT/ul-17.en.htm
старые компы на 775 сокете без дела лежат.
Я так и думал что уже кто то делал но не смог найти в поиске

Редактировалось 2 раз(а), последний 2020-05-16 06:13:06
карма: 1

0
Ответов: 9906
Рейтинг: 351
#7: 2020-05-17 14:01:13 ЛС | профиль | цитата
gadzhe77 писал(а):
Я так и думал что уже кто то делал

Тут дело несколько в иной постановке задачи для себя самого, как мне представляется.
Вот есть комп с как бы гигантскими вычислительными возможностями. И есть некое железо у Вас (или у меня) на столе.
И реального инструмента для связи между ними как бы и нет.

Да, когда-то раньше был LPT-порт с конкретным количеством входных/выходных сигналов.
И мне надо было запрограммировать AVR-ку.
Это, вообще-то говоря, просто SPI-интерфейс (+ еще один выход на reset камня). Минимальное количество паек, как говорится.
И было это относительно просто - написал себе программатор, да и все (на HiAsm, конечно же, элемента LPT вполне хватило).
А вот уже с I2C не все так просто. Вообще-то, slave придерживает CLK (источником которого является master) в нуле, пока не станет готов к дальнейшей обработке. А master, хотя и выкинул CLK вверх - отсчет времени начинает только после того, как он реально поднимется в 1-цу (все slave-ы закончат удержание). Реализовывать такие фокусы программно можно конечно (это если еще Ваш LPT позволит это аппаратно), вот только достижимость скорости хотя бы 100 кбит/сек -- сомнения у меня вызывает.
И с 485-м непросто. А с Modbus-RTU - совсем уж непросто.

Вот предположим, мне надо прочитать пару десятков термодатчиков (скажем DS1822), которые все вешаются параллельно на одну витую пару по протоколу 1W.
Наверное (пока мне это нафиг нужно не было), можно найти и купить в интернет-магазинах такой девайс...
Но вот именно такой подход (можно найти и купить) меня утомил, мягко говоря -- еще на предыдущих этапах технического творчества.

Вот она разница в подходах: мне не нужен каскад девайсов под кучу задач. Мне нужен один универсальный, на котором я смогу решить (условно говоря) ЛЮБУЮ задачу.
Такие не продаются.
Поэтому я его сделал. Да, это не очень минимальное количество паек. Но это пайка ОДИН раз. Сегодня у меня УЖЕ спаяно, следовательно - с пайками нет проблем (для практически любой задачи). Между прочим, "полноценный LPT" тоже ведь кто-то паял, и только после этого возникло "минимальное количество паек".
Присмотритесь к схеме: там (на Atmega164) есть и аппаратный SPI, и аппаратный I2C, и аппаратный COM. Да и просто IO-пинов поболее чем в LPT будет. Вот я не знаю, умеет ли упомянутый Вами "полноценный LPT" вызывать прерывания по ACK. Зато знаю, что COM3 персональной активностью обладает. Опять же, I2C -- это многомастерный протокол. Если кто-то к Вам обратился, как Вы это определять будете, спрашивается...

Да, в сегодняшней прошивке нет 1W. Для этого мне пришлось бы добавить эти коды в AVR-ку. На один режим станет больше, и всего делов.

А нового девайса покупать не надо.
В качестве пюсов: гибкость и многофункциональность.
В качестве минуса: надо уметь программировать AVR-ку.

Редактировалось 2 раз(а), последний 2020-05-17 15:25:59
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2020-05-18 13:27:20 ЛС | профиль | цитата
gadzhe77 писал(а):
просто минимум пайки и средств, в основном просто пощупать потыкать для обучения

На мой взгляд, если стоит задача именно пощупать и потыкать железки через i2c, то куда проще и универсальнее закинуть прошивку на esp8266 (нет аппаратного i2c, только программный, но на пощупать хватит) или на чуть более дорогой esp32 (есть аппаратный i2c) и подключить его по wifi к своему роутеру, после чего с любого компьютера в сети лезть за данными хочешь по tcp, хочешь по http, хочешь по любому другому протоколу, который реализуешь. Конечно поковыряться с портами и компонентами тоже неплохой экспириенс, но практическая сторона данного решения все же оставляет вопросы.

PS: вообще конечно понимаю, старые компы лежат, выкинуть жалко, пристроить не куда (у самого таких вагон), но с другой стороны, когда понимаешь, что огромную плату 20ти летней давности, на которой можно яичницу жарить, сегодня заменит один raspberry pi не в самой топовой комплектации с питанием от usb, к тому же имеющий на борту и i2c, и gpio, и все остальные порты, какие только могут понадобится, то приходит осознание, что весь этот хлам проще выкинуть и забыть про него навсегда. Использовать же в работающих проектах тем более нет смысла - за электричество с годами переплатишь больше, чем отдашь за стоимость новой платы.
карма: 27
1
Голосовали:Nic
Ответов: 32
Рейтинг: 7
#9: 2020-05-18 16:54:04 ЛС | профиль | цитата
я понимаю о чем вы говорите и даже согласен с вами, но на пустом месте гениальные мысли не рождаются (мозг как мышца, надо тренировать), будем считать следующим шагом развития или обучения создание некоего универсального девайса, как я понял желательно через USB.
Все таки я думаю компонент найдет своих почитателей.

esp8266 заинтересовал, спасибо, закажу попробую.

Редактировалось 2 раз(а), последний 2020-05-18 17:35:07
карма: 1

0
Ответов: 98
Рейтинг: 1
#10: 2020-06-08 10:08:25 ЛС | профиль | цитата
В свое время, когда нужен был I2C, реализовывал на STM32 конвертер с USB VCOM на I2C.
карма: 0

0
Ответов: 4
Рейтинг: 0
#11: 2021-09-22 17:14:54 ЛС | профиль | цитата
strannik_nebes писал(а):
В свое время, когда нужен был I2C, реализовывал на STM32 конвертер с USB VCOM на I2C.

Dilma писал(а):
gadzhe77 писал(а):
просто минимум пайки и средств, в основном просто пощупать потыкать для обучения

На мой взгляд, если стоит задача именно пощупать и потыкать железки через i2c, то куда проще и универсальнее закинуть прошивку на esp8266 (нет аппаратного i2c, только программный, но на пощупать хватит) или на чуть более дорогой esp32 (есть аппаратный i2c) и подключить его по wifi к своему роутеру, после чего с любого компьютера в сети лезть за данными хочешь по tcp, хочешь по http, хочешь по любому другому протоколу, который реализуешь. Конечно поковыряться с портами и компонентами тоже неплохой экспириенс, но практическая сторона данного решения все же оставляет вопросы.

PS: вообще конечно понимаю, старые компы лежат, выкинуть жалко, пристроить не куда (у самого таких вагон), но с другой стороны, когда понимаешь, что огромную плату 20ти летней давности, на которой можно яичницу жарить, сегодня заменит один raspberry pi не в самой топовой комплектации с питанием от usb, к тому же имеющий на борту и i2c, и gpio, и все остальные порты, какие только могут понадобится, то приходит осознание, что весь этот хлам проще выкинуть и забыть про него навсегда. Использовать же в работающих проектах тем более нет смысла - за электричество с годами переплатишь больше, чем отдашь за стоимость новой платы.


Не согласен.если хлам не нужен, отправляй мне, ему применение найдем! )))))
карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#12: 2021-09-24 14:34:47 ЛС | профиль | цитата
Реализация интерфейса I2C
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)