|
Преобразование уровней, Проблема с MAX232 |
|
|
|
Sep 1 2008, 15:36
|
Группа: Новичок
Сообщений: 11
Регистрация: 3-08-08
Пользователь №: 39 398

|
Собрал, подключил по даташиту, только источник питания 4.5В написал простенькую программку, чтобы посмотреть как оно работает. Простейший код, только для того чтобы проверить. Код #include <avr/io.h> #include <avr/delay.h> #define F_CPU 1000000UL
void USART_Transmit (unsigned char data) { while ( !(UCSR0A & (1<<UDRE0)) ) ; UDR0 = data; }
void USART_Init (unsigned int baud) { UBRR0H = (unsigned char)(baud>>8); UBRR0L = (unsigned char)(baud);
UCSR0B = (1<<RXEN0)|(1<<TXEN0); UCSR0C = (1<<UCSZ00)|(1<<UCSZ01); }
void Beep (unsigned int time) { PORTC = 0xff; _delay_ms(time); PORTC = 0x00; _delay_ms(time); } int main(void) { DDRC = 0xff; PORTC = 0x00; USART_Init (51); while (1) { USART_Transmit ('f'); Beep (100); }
} На той стороне HyperTerminal 1200 скорость 8 бит, четность нет, один стоп бит. На экране пустота и тишина. Проверял, цеплял на этот же шнурок вместо микросхемы и макса просто GPSку - выдает данные на ура, всё идет. Здесь же просто пустота. При ошибке по скоростям у меня должен быть мусор вроде. Нету даже мусора. Порядок соединения входов-выходов вроде верный, но на всякий случай перебрал все варианты. Ноль эмоций. На ноге выхода микросхемы вроде сигнал есть насколько я могу его увидеть тестером. На ноге выхода макса стабильные минус где-то 7-8В которые там сохраняются независимо от того соединен он с микросхемой или нет. Скажите где стоит искать проблему?
|
|
|
|
|
 |
Ответов
|
Sep 1 2008, 18:41
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(uriy @ Sep 1 2008, 20:42)  Неправда, далеко не все. Абсолютно все что я пользовал работают от 3.3V. Я даже не задумываясь ставлю 5-ти вольтовые экземляры в девайсы с 3.3V питанием, по причине "хрен достанешь 3х вольтовую версию в нужном количестве по приемлемой цене". Поэтому в сказки о критичности максов к питанию не поверю никогда. У макса есть умножитель и инвертор, так вот чтобы гарантировать уровни линии |7.5V| нужно питание не ниже 4.5V. Но с тем же успехом COM порт будет общаться с уровнями в линии вплоть до |3V|. По спецификации RS232 уровни могут быть в пределах 3..15V. С питанием максы от 2.5V умножитель даст ~4V, так что все ок. Цитата Когда-то в студенческие годы делал программататоры для сотовых на максе и 78L05 все это дело питалось от COM-порта. На некторых партиях напряжение просаживалось вольт до трех и ниче не работало. Если оно у вас "просаживалось" до трех, что уже само по себе доказывает, что мощности COM порта не хватало, где гарантия, что оно у вас не просаживалось до 0 в момент передачи? И где гарантия, что проблема была не на стороне компа (просадка уровней выходного преобразователя).
|
|
|
|
|
Sep 1 2008, 19:22
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(defunct @ Sep 2 2008, 00:41)  Поэтому в сказки о критичности максов к питанию не поверю никогда. MAXы обычно работают при 3,3В, а вот его аналоги других производителей далеко не всегда. С полгода назад напоролся, то ли ADM202E, то ли SP202E не возжелал от 3,3В работать. Цитата(defunct @ Sep 2 2008, 00:41)  Но с тем же успехом COM порт будет общаться с уровнями в линии вплоть до |3V|. По спецификации RS232 уровни могут быть в пределах 3..15V. С питанием максы от 2.5V умножитель даст ~4V, так что все ок. В PC стоят драйверы с входным порогом ±2В, так что даже при 0В...+2В чаще всего работает. Но КМК дело все же в надежности, а не в том, что иногда работает
|
|
|
|
Сообщений в этой теме
Rinin Преобразование уровней Sep 1 2008, 15:36 sKWO Посмотрел ДШ на преобразователь уровней. Минимальн... Sep 1 2008, 16:00 rezident Цитата(Rinin @ Sep 1 2008, 21:36) Скажите... Sep 1 2008, 16:03 maximiz ЦитатаПосмотрел ДШ на преобразователь уровней. Мин... Sep 1 2008, 16:06 sKWO Цитата(maximiz @ Sep 1 2008, 19:06) Даааа... Sep 1 2008, 16:18  defunct Цитата(sKWO @ Sep 1 2008, 19:18) у меня б... Sep 1 2008, 17:01 maximiz Цитатачто от этого изменится?
Особо ничего - пров... Sep 1 2008, 16:27 sKWO Цитата(maximiz @ Sep 1 2008, 19:27) Это п... Sep 1 2008, 16:36 Rinin Пока закоротить и попечатать не помогло, завтра по... Sep 1 2008, 16:51 maximiz ЦитатаПока закоротить и попечатать не помогло,
А п... Sep 1 2008, 16:57 rezident Цитата(maximiz @ Sep 1 2008, 22:57) Осцил... Sep 1 2008, 17:31  sKWO Цитата(rezident @ Sep 1 2008, 20:31) ИМХО... Sep 1 2008, 17:52 SysRq Так:Кодunsigned int time;
//...
_delay_ms(time... Sep 1 2008, 17:01 xemul Цитата(SysRq @ Sep 1 2008, 21:01) Так:Код... Sep 1 2008, 17:20  aesok Цитата(xemul @ Sep 1 2008, 21:20) Совсем ... Sep 1 2008, 17:52   defunct Цитата(rezident @ Sep 1 2008, 22:22) MAXы... Sep 1 2008, 19:54  sKWO Цитата(defunct @ Sep 1 2008, 21:41) Абсол... Sep 1 2008, 19:35 Rinin ЦитатаТак:
Кодunsigned int time;
//...
_delay_ms... Sep 1 2008, 17:53 maximiz ЦитатаОн же написал что
Сорри. Это не прочитал, д... Sep 1 2008, 18:05 Rinin Цитатав подтверждение такого же телепатического чу... Sep 1 2008, 18:54 psw может проблема в DTR-DSR, RTS-CTS ? Со стороны ком... Sep 2 2008, 03:56 Rinin Контроллер о том закорочено или нет и не узнает ни... Sep 2 2008, 08:32 Rinin Если кому-то интересно - то эти проблемы были искл... Sep 3 2008, 15:19 Anub Сделал адаптер на MAX233. Все вроде включил, а реа... Sep 21 2008, 12:10 Kuzmi4 Внимательно смотрим в даташит.. Нашёл у себя для 2... Sep 22 2008, 09:58 vik0 Цитата(Kuzmi4 @ Sep 22 2008, 12:58) Ниже ... Sep 22 2008, 10:09 Kuzmi4 2 vik0 - проглядел..
Ну судя по всему
вроде тогда... Sep 22 2008, 11:09 SysRq Цитата(Anub @ Sep 21 2008, 16:10) Все вро... Sep 22 2008, 14:40 Kuzmi4 Цитата(SysRq @ Sep 22 2008, 17:40)
Квинт... Sep 23 2008, 08:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|