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

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

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

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

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

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

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

 
Опции темы
Непрочитано 09.02.2009, 17:15  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Нужно несколько serial, а есть только I2C. Конвертер?

Сообщение от atsys
Приветствую всех, кто это читает!
Столкнулся с такой проблемой: на материнке (ALIX2) отсутсвуют Serial-порты. А они очень нужны для подключения трех устройств, которые кроме как по Serial работають не умеют.
Но есть I2C-порт, который очень бы хотелось задействовать для этой цели - конвертировать I2C в Serial. Скорости нужны небольшие, 9600 более чем достаточно.
Может кто-нибудь предложит ARV-ку и идею реализации такого конвертора (можно даже неполный Serial: RxD, TxD и CD)? 8O
А в чём собственно вопрос? Да любая.... даже ATTINY2313 потянет 3 UART, имеет один железный и 2 soft написать

Писал такое на меге 64... 2 софтовых 2 железных UART 9600, на 16 мегагерц успевала обрабатывать ещё ЖКИ клавиатуру и MDB шину.

Максимальная скорость UART будет ограничена скоростью I2C потому что нужно разбивать на 3 потока если будут одновременно.
отсюда
400 кбит I2C / 3 UART = 130 кбит 1 USART максимум а реально меньше...

принимаешь по i2c передаёш в USART, принципиально ничего сложного...

прерывание таймера 26 микросек - пишеш софтовые 2 UART и может быть драйвер I2C.

прерывание таймера 300 микросек пишеш буферы I2C и USART (1000 микросек). обработку буферов и вывод данных туда сюда.
Реклама:
picavr вне форума  
Непрочитано 25.03.2009, 14:40  
atsys
Частый гость
 
Регистрация: 19.12.2008
Сообщений: 21
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
atsys на пути к лучшему
По умолчанию Re: Нужно несколько serial, а есть только I2C. Конвертер?

Сообщение от picavr

А в чём собственно вопрос? Да любая.... даже ATTINY2313 потянет 3 UART, имеет один железный и 2 soft написать

Писал такое на меге 64... 2 софтовых 2 железных UART 9600, на 16 мегагерц успевала обрабатывать ещё ЖКИ клавиатуру и MDB шину.

Максимальная скорость UART будет ограничена скоростью I2C потому что нужно разбивать на 3 потока если будут одновременно.
отсюда
400 кбит I2C / 3 UART = 130 кбит 1 USART максимум а реально меньше...

принимаешь по i2c передаёш в USART, принципиально ничего сложного...

прерывание таймера 26 микросек - пишеш софтовые 2 UART и может быть драйвер I2C.

прерывание таймера 300 микросек пишеш буферы I2C и USART (1000 микросек). обработку буферов и вывод данных туда сюда.
Это мне не приходилов голову. Очень интересно. Может Вы можете поделиться примерами реализации такого конвертора I2C-›Serial ?
atsys вне форума  
Непрочитано 27.03.2009, 03:40  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Нужно несколько serial, а есть только I2C. Конвертер?

Сообщение от atsys
Это мне не приходилов голову. Очень интересно. Может Вы можете поделиться примерами реализации такого конвертора I2C-›Serial ?
Дело в том ТАКОЙ конвертер я Не ПИСАЛ.. я писл другое.. просто там было реализовано 2 USART SOFT и два USART HARD. I2C не было.. была Шина MDB.

но Могу поделится алгоритмом... а уж закодировать...

АЛГОРИТМ: Я бы сделал задачу в 3 потока.

1-й поток (в прерывании таймера 26 микросек, приоритет высший) обрабатывает 2шт USART SOFT,

а) приём побитно 1-го байта (4-ре прохода на один бит, 4*26=102микросек=1 бит), с установкой флага когда байт принят, и байт записывать в 8bit буфер. USART1 SOFT

б) передача одного байта из 8bit буфера (если есть флаг наличия в байта для передачи) с установкой флага когда байт передан, готов к следующему. USART1 SOFT

в) приём битов и формирование байта (4-ре прохода на один бит), с установкой флага когда байт принят, и байт записывать в 8bit буфер. USART2 SOFT

г) передача одного байта из 8bit буфера (если есть флаг наличия в байта для передачи) с установкой флага когда байт передан, готов к следующему.
USART2 SOFT

2-й поток в прерывании 1000 микросек(=время приёма одного байта на скорости 9600.)возможно прерывание первым потоком.

обрабатывает USART0 HARD, проверяет наличие принятого байта, ложит байт в буфер приёма, проверяет наличие в буфере передачи байтов и переписывает их из буфера передачи в USART0 HARD для передачи.

То же самое ещё для двух USART1 SOFT и USART2 SOFT.

3-й поток в основной задаче, пишеш приём-передачу I2C шины и разруливаеш что и куда передавать. Пишеш из USART БУФЕРОВ В ШИНУ I2C и наоборот.. из ШИНЫ в буферы передачи 3-х USART.
Нужно предусмотреть торможение i2c шины, если буферы USART не успевают разгружатся.. т.е. если i2c слишком быстро передаёт/принимает данные.
picavr вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ДС/ДС конвертер из 12-30В. в 9В. Sukhanov Источники питания и свет 5 29.03.2009 23:43
DC-DC конвертер worldmasters Источники питания и свет 8 01.07.2008 13:13
Есть пламя, нужно его увидеть ua_gruzin Автоматика и аппаратура связи 96 18.04.2007 08:58
Несколько одинаковых slave на шине i2c init_sub Микроконтроллеры, АЦП, память и т.д 21 21.04.2004 08:35


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


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