|
74HC595 80шт проблема управления от AVR, Дефекты при т ос=0....-20 градусов |
|
|
|
Jan 6 2010, 08:18
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Есть устройство "Бегущая строка" длина ее 6 метров. Индикация статическая. Схема индикации включает в себя 80 шт сдвиговых регистров 74HC595 включенных последовательно. Линии CLK DATA общие. Сигналы CLK DATA LATCH с микроконтроллера идут через 74HC244 (буфер, шинный формирователь). Устройство блочное 6 блоков по 1 метру. В первом блоке стоит контроллер. Микроконтроллер MEga168, работает на частоте 7,3728 Мгц Проблема: При +50...0 градусов информация отображается нормально, 0...-20 идут искажения, искажения не хаотичного характера а постоянны ( например столбец символа делиться на 2 столбца, или верх символа налазит на низ) при 0 градусов эффект только в том что верхняя строка светодиодов сдвинута на 1 пиксель назад ( т.е. когда бежит как бы тянется за остальными) при более низких температурах -10 -20 искажения усиливаются до неузнаваемости символов. Думаю возможные причины: 1) Криво написан код вывода в последовательный регистр. Уже было 2 варианта В1... этот код не менялся пару лет и работает с драйверами типа MBI5026, DM134 Тут я вижу лишь один косяк Clock фронт идет сверху вних а не снизу вверх (одна из главных причин) CODE void loadReg(unsigned int value) { char bitCnt; for(bitCnt=0;bitCnt<8;bitCnt++) { if((value&0x01)==0x01)PORTC|=(1<<PC3); //Data else PORTC&=~(1<<PC3); PORTC|=(1<<PC1); PORTC&=~(1<<PC1); //Clock value=(value>>1); } } B2.... Это проба немного изменить его ( когда менял попал на теплую погоду поэтому не мог видеть дефект, вносил изменения в слепую, но с морозами эффект не изменился) Тут вроде исправил фронт Clock на СНИЗУ-ВВЕРХ, плюс пытался ввести задержки несколько ns CODE void loadReg(unsigned int value) { char bitCnt; for(bitCnt=0;bitCnt<8;bitCnt++) { PORTC&=~(1<<PC1); //Clock delay(clk_delay); if((value&0x01)==0x01)PORTC|=(1<<PC3); //Data else PORTC&=~(1<<PC3); delay(data_delay); PORTC|=(1<<PC1); delay(clk_delay); value=(value>>1); } }
Также в качестве причины возможно неправильные тайминги, длинная линия передачи данных, большая емкость линий которая с уменьшением температуры растет (Как ее посчитать и как с ней бороться программно?) Помогите выбрать наиболее вероятную причину или укажите на ошибку.
74HC595PW.pdf ( 129.25 килобайт )
Кол-во скачиваний: 492
Сообщение отредактировал An@BoLiK - Jan 6 2010, 08:32
|
|
|
|
|
 |
Ответов
(15 - 29)
|
Jan 6 2010, 12:26
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Цитата(manul78 @ Jan 6 2010, 16:16)  Может это послание из других миров ?  Контакт с внеземными цивилизациями...  Организуйте подогрев ! Вылезет в 100-200 рублей, и забудьте... Вопрос: Все модели табло так себя ведут, или один конкретный девайс ? Возможно тупо "непропай" на плате, который от мороза вылазит... нет только это глючит, другие сделаны на другой базе... Корпус полностью пластик, спереди оргстекло черное, нужно поддерживать температуру на 10-20 градусов выше, те. ОС -20 внутри 0, ОС -10 внутри 0..5, ОС 0 внутри 5-15.... Внутри стоят 2 БП 350ВТ толи 9 толи 12 В уже не помню. Подогрев вариант конечно но нужно расчитать сколько Вт нагрева нужно..
|
|
|
|
|
Jan 6 2010, 12:32
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Цитата(_Pasha @ Jan 6 2010, 16:28)  Навеяно разговорами про WDT. Включена собака? Если да - то не забывайте что у нее сильная темп. зависимость будет Собака включена на 2 сек по максимуму... зависимость будет... Но причем тут собака, так бы при включении текст выбегал, ресетился и так по кругу, текст бежит нормально только сдвинут. собака сбрасывается каждые 0.1 сек, так что думаю не вариант.
|
|
|
|
|
Jan 6 2010, 12:35
|

Местный
  
Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719

|
Цитата(An@BoLiK @ Jan 6 2010, 15:26)  нет только это глючит, другие сделаны на другой базе... Корпус полностью пластик, спереди оргстекло черное, нужно поддерживать температуру на 10-20 градусов выше, те. ОС -20 внутри 0, ОС -10 внутри 0..5, ОС 0 внутри 5-15.... Внутри стоят 2 БП 350ВТ толи 9 толи 12 В уже не помню. Подогрев вариант конечно но нужно расчитать сколько Вт нагрева нужно.. http://www.chipinfo.ru/literature/chipnews/200008/46.html http://www.chipinfo.ru/literature/chipnews/200009/34.html Это Вам для размышления... Вопрос: Сколько сей "девайс" стоит денег ?
Сообщение отредактировал manul78 - Jan 6 2010, 12:43
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
Jan 6 2010, 13:06
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Цитата(rezident @ Jan 6 2010, 16:55)  А не пробовали "локальный эмулятор табло" подключить вместо реального табло? Т.е. проверить, что сам МК и программа в нем на морозе работает нормально, а проблема где-то там дальше обосновалась. Конечно всякое бывает но чтоб программа на морозе работала не нормально не могу себе представить, либо работает либо нет вообще. Подключить к другому табло возможности нет и не будет. МК работает норм хотябы потому что он ни разу не завис, текст все время бежит, кроме этого МК меряет температуру с DS18B20 и выводит время с RTC просто отображает в искаженной форме, работает не сбиваясь и usart через 485 интерфейс. И плата управления отработанная и в других девайсах работает нормально.
|
|
|
|
|
Jan 6 2010, 18:00
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Одна такая платка потребляет максимум 2 А от 12 В... В среднем около 1-1.5 А примерно, характер нагрузки импульсный. Поэтому было решено разделить земли чтоб большие токи стекали через "силовую землю". К платкам подводится питание +-12В медным проводом сечением 3,5 мм длиной 1 метр, по идее земля должна быть нормальная. При минусе ток на светодиодах уменьшается. Кто покритикирует плату данных?
Сообщение отредактировал An@BoLiK - Jan 6 2010, 18:01
|
|
|
|
|
Jan 6 2010, 18:33
|

Местный
  
Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719

|
Цитата(An@BoLiK @ Jan 6 2010, 21:00)  Кто покритикирует плату данных? Никто критиковать не собирается, для такого устройства всё более чем нормально. Ещё раз повторяю - придётся греть ! Проблема в поведении микросхем при низких температурах... Вот если-бы Вы использовали ТТЛ , то не было-бы никаких проблем. КМОП не любит морозов ! P.S. Кстати 74HC595 есть в TTL исполнении, и даже в 54-ой (военной серии). LS (Low Shottki) и жрать будет немного...
Сообщение отредактировал manul78 - Jan 6 2010, 18:42
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
Jan 6 2010, 18:41
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(manul78 @ Jan 6 2010, 21:33)  Вот если-бы Вы использовали ТТЛ , то не было-бы никаких проблем. КМОП не любит морозов ! To An@BoLiK Да по барабану КМОП морозы. С теплом как раз всегда проблемы. С ТТЛ всегда проблем больше. Я б на на работу сдигающих регистров обратил бы внимание. Явный сбой по сдвигу данных "одним клоком." Лихо у вас все закручено .Простые буфера на длине кабеля в 20 см. Как Вы общий клок удерживаете на таком количестве россыпи без специальных ухищрений. Я б без триггеров шмитта не рискнул бы. У ВАс все в иголках наверняка.
|
|
|
|
|
Jan 6 2010, 18:44
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(An@BoLiK @ Jan 6 2010, 21:00)  Кто покритикирует плату данных? И вот что, так, "сквозняком", параллельно друг другу тактировка и защелка ? И без терминатора на конце ? И без согласования со стороны передатчика ? Загадка... Не в том загадка, что оно не работает на морозе, мне гораздо более удивительно, что оно вообще хоть как-то работает... Цитата(sazh @ Jan 6 2010, 21:41)  Как Вы общий клок удерживаете на таком количестве россыпи без специальных ухищрений. Я б без триггеров шмитта не рискнул бы. У ВАс все в иголках наверняка. Там еще cross-talk должен быть жуткий, и все работает, похоже, только за счет потерь и то удивительно, что хоть когда-то работает...
|
|
|
|
|
Jan 6 2010, 18:58
|

Местный
  
Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719

|
Цитата(sazh @ Jan 6 2010, 21:41)  Да по барабану КМОП морозы. С теплом как раз всегда проблемы. С ТТЛ всегда проблем больше. Останемся при своих мнениях... исходя из разного опыта...  Цитата Я б на на работу сдигающих регистров обратил бы внимание. Явный сбой по сдвигу данных "одним клоком." Лихо у вас все закручено .Простые буфера на длине кабеля в 20 см. Как Вы общий клок удерживаете на таком количестве россыпи без специальных ухищрений. Я б без триггеров шмитта не рискнул бы. У ВАс все в иголках наверняка. А здесь я полностью согласен. Решение изначально тупое. Ставить шмитты - поможет возможно, но это усложнение и без этого примитивного устройства. Я-бы ИМХО вообще организовал данную панель посредством МК с возможностью подклю- чения внешней памяти и адресовал-бы каждую точку. Усложняется только топология платы + ключи, зато никаких клоков и на панели можно чего хочешь рисовать как на графическом LCD, а не тупо бегущие буквы...
--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
|
|
|
|
|
Jan 6 2010, 19:20
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Я там на плате у Вас увидел переходные отверстия с одного слоя на другой, как вариант -- некачественная металлизация может так дурить. Это может быть проблема питания, а может проблема сдвига уровней (от температуры).
Попробуйте, если есть возможность снизить скорость работы МЕГИ в несколько раз (замените кварц). Если снижение частоты не повлияло на глюк, то надо искать непропай, неконтакт, смотреть качество питалова и пр. Если глюк ушел, то может имеет смысл увеличить время клоков и/или увеличить задержку подачи клока после выставления информации.
Гадать можно долго. Поэтому вооружайтесь феном (жены) и осциллографом. Делайте локальный нагрев -- ищите того, "кто гадит котел". Судя по видеоролику, _он_ притаился где-то сразу после контроллера.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Jan 6 2010, 20:23
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Цитата(rx3apf @ Jan 6 2010, 21:44)  И вот что, так, "сквозняком", параллельно друг другу тактировка и защелка ? И без терминатора на конце ? И без согласования со стороны передатчика ? Загадка... Не в том загадка, что оно не работает на морозе, мне гораздо более удивительно, что оно вообще хоть как-то работает... Да тактировка и защелки праллельно все 80 шт. Согласен тут ошибочка при проектировании ус-ва... просто подобные штуки делались но с меньшей длиной и меньшим количеством регистров, работают и на морозе. Но как говориться учиться учиться и ...... Спасибо всем кто помогает. Насколько знаю терминатор ставится в конце линии , это резистор, в данном случае на землю (или на VCC ?? ) сопротивление этого резистора должно равняться волновому сопротивлению линии. И как его посчитать? Т.к. все блоки и платки на разъемах планирую снять главный блок с контроллером и оставить одну - две платы данных, посмотрим, если дефект не уйдет то дело в линии, попытаюсь определить до какой длины до какой платы работает нормально, в конце линии повешу на тактировку рез переменный порядком 5 ком попытаюсь согласовать. Выезд на объект через пару дней, так что скоро узнаем кто прав кто виноват.....
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|