|
Как совместить по уровням UART На модуле (1.8V) и на процессоре (3.3V) |
|
|
|
Mar 23 2015, 06:10
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 21-03-15
Пользователь №: 85 807

|
Самое удобное - специализированные Level Translators. Для направления модуль -> процессор ещё такую схемку можно попробовать:
--------------------
|
|
|
|
|
Mar 28 2015, 09:50
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(RKS @ Mar 28 2015, 09:27)  Следующий вопрос наверное идиотский, поэтому прошу сильно не пинать. Модуль у нас 3G и данные гонять собираемся по USB. Насколько я понимаю на пине VBUS я должен выставить 5 вольт и по появлению этого уровня модуль готов всасывать по шине USB данные. То есть мне в нашем 3.3-вольтовом устройстве придется родить 5-ти вольтовый потенциал чтобы модуль на него среагировал. Я все правильно понял? вы определитесь с ролью вашего девайса.. если он в режиме device подключается к хосту, то 5в придет с хоста, вот их и заведете на VBUS если у вас режим host, то делаете (или рожаете в вашей терминологии) набортный dc/dc step-up с 3в3 на 5в
|
|
|
|
|
Mar 28 2015, 12:07
|
Местный
  
Группа: Участник
Сообщений: 394
Регистрация: 13-10-05
Из: Москва
Пользователь №: 9 599

|
Цитата(Jury093 @ Mar 28 2015, 12:50)  вы определитесь с ролью вашего девайса.. если он в режиме device подключается к хосту, то 5в придет с хоста, вот их и заведете на VBUS если у вас режим host, то делаете (или рожаете в вашей терминологии) набортный dc/dc step-up с 3в3 на 5в Спасибо - понял. Он у нас действительно DEVICE вот только HOST у него от 3.3 вольта питается. Так что без родов видимо не обойтись...
|
|
|
|
|
Apr 7 2015, 16:56
|
Знающий
   
Группа: Свой
Сообщений: 995
Регистрация: 3-06-05
Пользователь №: 5 713

|
Цитата(WLESS.RU @ Mar 23 2015, 10:10)  Самое удобное - специализированные Level Translators. Для направления модуль -> процессор ещё такую схемку можно попробовать:
Для надежности можно добавить резистор 3...10k между базой и землей
|
|
|
|
|
Apr 8 2015, 03:07
|

отэц
    
Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684

|
QUOTE (p_kav @ Apr 7 2015, 22:46)  У меня контроллер Atmel при питании 5В вполне понимает и 3,3В, и 2,8В. При этом сам отправляет на 5В, чем может сжечь принимающую сторону. Сделал согласование в одну сторону через делитель, а потом вспомнил, что где-то читал что так делать неправильно. Вот и спрашиваю почему неправильно. ..вам так может казаться что ваш микроконтроллер понимает уровни сигналов ниже требуемых, мы живём в мире статистики, и на 1000 импульсов которые ваш микроконтроллер принял будет 1 который он поймёт неправильно. И соотношение это может меняться в худшую сторону. Могу предположить что дело в скоростных характеристиках, резистивный делитель это по любому RC цепочка которая будет заваливать фронты у скоростных сигналов, чем больше номиналы резисторов в делителе - тем медленнее сигнал может пройти. И к примеру, SPI или UART уже могут не работать или часто сбоить . К тому же, лично я, всегда стараюсь жёстко разделить зоны с разноуровневым питанием элементов, опыт показывает что когда есть возможность спалить что-то маловольтное высоковольтным - так и происходит, рано или поздно.
--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0 SHA-256
|
|
|
|
|
Apr 8 2015, 06:20
|
Местный
  
Группа: Участник
Сообщений: 294
Регистрация: 5-08-14
Из: Ярославль
Пользователь №: 82 466

|
Lmx2315 Думаю, резистивный делитель в моём случае работает потому, что сам контроллер Atmel может питаться в широком диапазоне 1,8-5,5В и по этому легко распознает 2,8В как логическую единицу. Во всяком случае, судя по графику, гарантированная единица у контроллера начинается 1,5В. Да и скорость у меня очень низкая - 4800, влияние на форнты сигнала минимальное.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|