anonymous@RULINUX.NET~# | Last login: 2024-11-20 03:47:04 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Development | [RSS] |
Как можно подключить два одинаковых перифирийных устройства на один UART? С обоих концов AVR контроллеры, на хосте ATmega8535, на переферийных устройствах ATtiny2313. У меня пока две идеи:
1. Вывести ещё какой-нибудь сигнал в качестве чип-селекта. И в программе смотреть на этот сигнал, прежде чем ответить на запрос.
2. На программном уровне определять кому адресован пакет. TX слушают оба устройства, а по RX передаёт только то, чей адрес был в переданном пакете.
Может я тут изобретаю велосипед и всё уже давно придумано и проделано?
anonymous(*) (2010-09-27 20:49:00)
|
|
|
Скрыть
Re: [hardware][avr] Один UART - два переферийных устройства> я тут изобретаю велосипед
Про ATtiny2313 и 35ю мегу пишут что они имеют "2-wire Serial Interface (I2C compatible)" - это наиболее подходящий для тебя протокол. Только для > TX слушают оба устройства, а по RX передаёт только то, чей адрес был в переданном пакете.
Плюс у атещё есть SPI на общей шине, адресация чип-селектом (CS) - он наверное не для твоих целей.
HEBECTb_KTO(*)(2010-09-28 01:59:03)
Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.6.30 Version/10.61 |
Скрыть
Re: [hardware][avr] Один UART - два переферийных устройства> Про ATtiny2313 и 35ю мегу пишут что они имеют "2-wire Serial Interface (I2C compatible)"
anonymous(*)(2010-09-28 10:36:47)
Mozilla/5.0 (X11; U; Linux; ru-ru; rv:1.9.0.2) Gecko/2008092313 Firefox/3.8 Midori/0.2 |
Скрыть
Re: [hardware][avr] Один UART - два переферийных устройстваНе, UART ещё хорош тем, что я смогу с компа управлять/отлаживаться без особых дополнительных средств. Система модульная, и надо быстрее сделать модули на 2313, а управлять ими можно будет и с компа. Поэтому UART. anonymous(*)(2010-09-28 11:39:14)
Mozilla/5.0 (X11; U; Linux; ru-ru; rv:1.9.0.2) Gecko/2008092313 Firefox/3.8 Midori/0.2 |
Скрыть
Re: [hardware][avr] Один UART - два переферийных устройстваМодульные устройства и нужно строить на основе стандартных протоколов. А для компа тоже вроде существуют разнообразные I2Cшные адаптеры, если почему-то недьзя общаться с периферией через мегу. |
Скрыть
Re: [hardware][avr] Один UART - два переферийных устройстваВсё уже придумано до нас (ц) Читаем ман по атмеге: Multi-processor Communication Mode Setting the Multi-processor Communication Mode (MPCM) bit in UCSRA enables a fil- tering function of incoming frames received by the USART Receiver. Frames that do not contain address information will be ignored and not put into the receive buffer. This effectively reduces the number of incoming frames that has to be handled by the CPU, in a system with multiple MCUs that communicate via the same serial bus. anonymous(*)(2010-10-15 22:35:56)
Mozilla/5.0 (X11; U; Linux; ru-ru; rv:1.9.0.2) Gecko/2008092313 Firefox/3.8 Midori/0.2 |
|
|
|
Этот тред читают 1 пользователь: |
Анонимных: 1 Зарегистрированных: 0 |
Re: [hardware][avr] Один UART - два переферийных устройства
Обычно примерно так: устройства связаны меж собой общей шиной. Говорящее с компом устройство выставляет на ней 1, и в это время все остальные должны заткнуться. Если комп инициирует соединение, он высылает адресный пакет (специфический префикс + адрес), который вынуждает активировать шину то устройство, которому он адресован, а все остальные этот пакет игнорируют. Устройство будет держать шину пока болтает с компом. Выводить из компа сигнал CS - дурное дело, зачем лишний порт городить? Или глянь i2c
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100407 Ubuntu/9.04 (jaunty) Shiretoko/3.5.9