An@BoLiK
Jan 6 2010, 08:18
Есть устройство "Бегущая строка" длина ее 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);
}
}
Также в качестве причины возможно неправильные тайминги, длинная линия передачи данных, большая емкость линий которая с уменьшением температуры растет (Как ее посчитать и как с ней бороться программно?)
Помогите выбрать наиболее вероятную причину или укажите на ошибку.
Нажмите для просмотра прикрепленного файла
попробуйте найти более мощный формирователь (74AC, или буферный ОУ), на конце линий можно подобрать RC цепи, гасящие отражения и снижающие скорость нарастания (за счет индуктивности линии и быстрого фронта/спада импульсов может формироваться паразитный звон).
а все элементы для работы ниже нуля рассчитаны?
An@BoLiK
Jan 6 2010, 09:23
Цитата(Duhas @ Jan 6 2010, 12:08)

а все элементы для работы ниже нуля рассчитаны?
в проблемной цепи MEga168->74HC244->74HC595 все для работы ниже 0. 74HC595 на платках по 4 шт на каждой стоит еще LM317. Узких мест в элементах я не вижу.
Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу.
An@BoLiK
Jan 6 2010, 09:44
Платы длиной 20 см , на каждой плате 4 шт hc595+uln2803 + стабилизатор, в одном блоке стоит 5 плат. Линии CLK DATA LATCH из платы на плату и из блока в блок через шлейф 10 жил + IDC10 BH10 (разъемы на шлейф).
Длина шлейфа между платами 5см, между блоками 20 см.
Вот если смоделировать такую ситуацию: мороз, дефекты, я отключаю первый блок от всех остальных (обрываю линию передачи данных), всего остается 20 регистров. Длина линии 1 метр. Дефект остается. Вывод проблема с правильным выводом данных в регистры.
SasaVitebsk
Jan 6 2010, 09:46
Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами.
An@BoLiK
Jan 6 2010, 10:04
Цитата(SasaVitebsk @ Jan 6 2010, 13:46)

Я делаю вход-выход. То есть, после каждого блока буферезую, правда обычными элементами.
Я тоже делал, и делаю все работает.
Но вот именно в этой конструкции без буфера между блоками....
почему именно на морозе появляется дефект?
а если попробовать замедлить передачу данных ?
Цитата(_Pasha @ Jan 6 2010, 12:26)

Думаю, иголки где-то по сдвиговому клоку надо искать. Как у Вас организованы входы по этим блокам? Я б вообще дифференциальным передатчиком передавал. По витой паре. Спасают 50-100 омные резисторы последовательно ко входу.
Только не по входу, а по выходу ("последовательное" согласование). А если по входу - то параллельно (а учитывая относительную маломощность базы, то лучше в сочетании этак с 100pF конденсаторами, либо последовательно с резистором, либо сделав интегратор). Иначе смысла нет.
Я склонен проголосовать за звон линии тактирования из-за плохого согласования (без согласования замечательно "звенит" даже 20 см ленточного кабеля). Либо перекрестные наводки. Не видя устройства "живьем", трудно гадать...
Почему вы думаете что проблема именно с клокам?
То что у вас устройство перестает работать при отрицательных температурах наводит на мысли о проблемах с питанием. У вас для стабилизаторов стоят электролитические конденсаторы? Если стоят, то учитывайте что уних оччччень сильно падает емкость и растет импеданс при отрицательных температурах, стабилизаторам это не нравится. И стабилизаторы или перестают держать нагрузку или вообще возбуждаются.
Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите.
domowoj
Jan 6 2010, 11:22
Цитата(Duhas @ Jan 6 2010, 16:32)

замедлить передачу данных
и хорошо буферезировать
manul78
Jan 6 2010, 12:05
Цитата(Ant_m @ Jan 6 2010, 13:48)

Почему вы думаете что проблема именно с клокам?
То что у вас устройство перестает работать при отрицательных температурах наводит на мысли о проблемах с питанием. У вас для стабилизаторов стоят электролитические конденсаторы? Если стоят, то учитывайте что уних оччччень сильно падает емкость и растет импеданс при отрицательных температурах, стабилизаторам это не нравится. И стабилизаторы или перестают держать нагрузку или вообще возбуждаются.
Проверьте питание на платах. Посмотрите осциллографом что творится на входах и выходах стабилизаторов. Возможно вы очень удивитесь тому что там увидите.
Больше всего похоже...
В 2003 году я с группой товарищей (ООО НПП Электротепло) изготавливали специальные плоские электронагреватели с
оригинальной геометрией, мощностью 2 Вт на 12 вольт. Сделали мы их около 20 шт. себестоимость около 20 рублей, но
очень много кропотливого и ручного труда. Продали мы их по 40$ (!), но сколько наварил на них заказчик, одному Богу
известно, ибо за ними он прилетел самолетом из Мирного (Якутия) до Самары , потом такси до Пензы, жил почти неделю
и после получения и проверки убрался таким-же "макаром". В процессе общения он "раскололся", что изготовленные наминагреватели будут установлены в какие-то очень дорогие и специализированные "буржуйские" приборы связанные с перекачкой нефти. Так-же он рассказал, что приборы при температуре ниже 20 начинают врать, а дальше (в Якутии морозы доходят до - 60) встают вообще ! Производитель данных приборов мудро указал на условия эксплуатации котор-
ые прописанны в инструкции. Две Екатеринбургских и одна Московская фирма в течении полугода никак не смогли по-
бедить данный девайс, поэтому соломоновым решением было просто подогревать внутренности приборов нашими нагре-
вателями... Не одной претензии или нареканий мы не получили. Вероятно наши "девайсы" работают до сих пор...
Организуйте подогрев и забудьте, ибо на поиски проблемы и её решения уйдет больше времени и денег, чем сама эта
проблема стоит...
An@BoLiK
Jan 6 2010, 12:07
вот видео -10С
http://www.youtube.com/watch?v=wl4iCkjiOToпросто настораживает тот факт что звон линии, питания это вещи вроде как хаотичные и должны проявляться беспорядочными эффектами.
А тут стабильненько криво бежит. В любом случае всем спасибо за ответы, может после выложенного видео еще появятся варианты.
manul78
Jan 6 2010, 12:16
Цитата(An@BoLiK @ Jan 6 2010, 15:07)

А тут стабильненько криво бежит. В любом случае всем спасибо за ответы, может после выложенного видео еще появятся варианты.
Может это послание из других миров ?

Контакт с внеземными цивилизациями...

Организуйте подогрев ! Вылезет в 100-200 рублей, и забудьте...
Вопрос: Все модели табло так себя ведут, или один конкретный девайс ? Возможно тупо "непропай" на плате, который
от мороза вылазит...
An@BoLiK
Jan 6 2010, 12:26
Цитата(manul78 @ Jan 6 2010, 16:16)

Может это послание из других миров ?

Контакт с внеземными цивилизациями...

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

Навеяно разговорами про WDT. Включена собака? Если да - то не забывайте что у нее сильная темп. зависимость будет
Собака включена на 2 сек по максимуму... зависимость будет... Но причем тут собака, так бы при включении текст выбегал, ресетился и так по кругу, текст бежит нормально только сдвинут. собака сбрасывается каждые 0.1 сек, так что думаю не вариант.
manul78
Jan 6 2010, 12:35
Цитата(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 Это Вам для размышления...
Вопрос: Сколько сей "девайс" стоит денег ?
rezident
Jan 6 2010, 12:55
Цитата(An@BoLiK @ Jan 6 2010, 17:07)

может после выложенного видео еще появятся варианты.
А не пробовали "локальный эмулятор табло" подключить вместо реального табло? Т.е. проверить, что сам МК и программа в нем на морозе работает нормально, а проблема где-то там дальше обосновалась.
An@BoLiK
Jan 6 2010, 13:06
Цитата(rezident @ Jan 6 2010, 16:55)

А не пробовали "локальный эмулятор табло" подключить вместо реального табло? Т.е. проверить, что сам МК и программа в нем на морозе работает нормально, а проблема где-то там дальше обосновалась.
Конечно всякое бывает но чтоб программа на морозе работала не нормально не могу себе представить, либо работает либо нет вообще. Подключить к другому табло возможности нет и не будет. МК работает норм хотябы потому что он ни разу не завис, текст все время бежит, кроме этого МК меряет температуру с DS18B20 и выводит время с RTC просто отображает в искаженной форме, работает не сбиваясь и usart через 485 интерфейс. И плата управления отработанная и в других девайсах работает нормально.
Я в шоке, какой подогрев??? Если проблема с конденсаторами, то выкиньте электролитические и поставьте танталовые ну или керамические. А по поводу того что стабильно глючит - так столько "чудес" бывает....
Проверьте что именно глючит, плата управления или платы индикации. В отдельности поохлаждайте платы. Посмотрите после охлаждения какой или каких начинаются проблемы. Проверьте сначала плату управления, тогда станет понятнее где дальше копать.
P.S Поскольку это уже становится все интереснее фотки плат с монтажем в студию.
Евгений Германович
Jan 6 2010, 17:31
Мне пришлось решать подобную проблему. причины было 2.
1 источник питания был рассчитан на -10 градусов, а было за 20
2 была неправильно разведена земля. при температуре градусов до -5 все работало.А при более низких начиналась всякая бяка.
Я особо не вдавался в проблему, но, вероятно при минусе снижается падение на светодиодах и возрастает ток.
Кстати,но это легко проверить-нужно пустить на индикацию одну засвеченную точку и посмотреть что получится,затем, если все нормально, добавить засветки и тд
An@BoLiK
Jan 6 2010, 18:00
Одна такая платка потребляет максимум 2 А от 12 В... В среднем около 1-1.5 А примерно, характер нагрузки импульсный. Поэтому было решено разделить земли чтоб большие токи стекали через "силовую землю". К платкам подводится питание +-12В медным проводом сечением 3,5 мм длиной 1 метр, по идее земля должна быть нормальная. При минусе ток на светодиодах уменьшается.
Кто покритикирует плату данных?
Нажмите для просмотра прикрепленного файла
manul78
Jan 6 2010, 18:33
Цитата(An@BoLiK @ Jan 6 2010, 21:00)

Кто покритикирует плату данных?
Никто критиковать не собирается, для такого устройства всё более чем нормально.
Ещё раз повторяю - придётся греть ! Проблема в поведении микросхем при низких температурах...
Вот если-бы Вы использовали ТТЛ , то не было-бы никаких проблем. КМОП не любит морозов !
P.S. Кстати 74HC595 есть в TTL исполнении, и даже в 54-ой (военной серии). LS (Low Shottki) и жрать будет немного...
Цитата(manul78 @ Jan 6 2010, 21:33)

Вот если-бы Вы использовали ТТЛ , то не было-бы никаких проблем. КМОП не любит морозов !
To An@BoLiK
Да по барабану КМОП морозы. С теплом как раз всегда проблемы. С ТТЛ всегда проблем больше.
Я б на на работу сдигающих регистров обратил бы внимание. Явный сбой по сдвигу данных "одним клоком."
Лихо у вас все закручено .Простые буфера на длине кабеля в 20 см. Как Вы общий клок удерживаете на таком количестве россыпи без специальных ухищрений. Я б без триггеров шмитта не рискнул бы. У ВАс все в иголках наверняка.
Цитата(An@BoLiK @ Jan 6 2010, 21:00)

Кто покритикирует плату данных?
И вот что, так, "сквозняком", параллельно друг другу тактировка и защелка ? И без терминатора на конце ? И без согласования со стороны передатчика ? Загадка... Не в том загадка, что оно не работает на морозе, мне гораздо более удивительно, что оно вообще хоть как-то работает...
Цитата(sazh @ Jan 6 2010, 21:41)

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

Да по барабану КМОП морозы. С теплом как раз всегда проблемы. С ТТЛ всегда проблем больше.
Останемся при своих мнениях... исходя из разного опыта...

Цитата
Я б на на работу сдигающих регистров обратил бы внимание. Явный сбой по сдвигу данных "одним клоком."
Лихо у вас все закручено .Простые буфера на длине кабеля в 20 см. Как Вы общий клок удерживаете на таком количестве россыпи без специальных ухищрений. Я б без триггеров шмитта не рискнул бы. У ВАс все в иголках наверняка.
А здесь я полностью согласен. Решение изначально тупое. Ставить шмитты - поможет возможно, но это усложнение и без
этого примитивного устройства. Я-бы ИМХО вообще организовал данную панель посредством МК с возможностью подклю-
чения внешней памяти и адресовал-бы каждую точку. Усложняется только топология платы + ключи, зато никаких клоков
и на панели можно чего хочешь рисовать как на графическом LCD, а не тупо бегущие буквы...
Я там на плате у Вас увидел переходные отверстия с одного слоя на другой, как вариант -- некачественная металлизация может так дурить. Это может быть проблема питания, а может проблема сдвига уровней (от температуры).
Попробуйте, если есть возможность снизить скорость работы МЕГИ в несколько раз (замените кварц). Если снижение частоты не повлияло на глюк, то надо искать непропай, неконтакт, смотреть качество питалова и пр. Если глюк ушел, то может имеет смысл увеличить время клоков и/или увеличить задержку подачи клока после выставления информации.
Гадать можно долго. Поэтому вооружайтесь феном (жены) и осциллографом. Делайте локальный нагрев -- ищите того, "кто гадит котел". Судя по видеоролику, _он_ притаился где-то сразу после контроллера.
An@BoLiK
Jan 6 2010, 20:23
Цитата(rx3apf @ Jan 6 2010, 21:44)

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

Вот если-бы Вы использовали ТТЛ , то не было-бы никаких проблем. КМОП не любит морозов !
Добавлю свои пять копеек. Случай из жизни - на плате ставили "наши" буферы из серии 1533 (ТТЛШ). Все работало. Но вот беда они "золотые" и стоили как в самом деле золотые. Решили перейти на аналог 74ACT(точно не помню, в справочник лень лезть). Платы работать перестали!!! Оказалось буржуи слишком хорошо делают микросхемы - у них фронты были слишком резкие. Как следствие наводки, звон и прочее. После долгих пассов с бубном, паяльником и осциллографом, решили тем что с 2-х слойной платы перешли на 4-х слойную плату.
Так что не везде нужны быстрые микросхемы.
По критике платы - присоединюсь к мнению zhevak. Пропаяйте переходки. Зря экономите на переходных отверстиях, по питаниям и землям 2 а то и 3 не грех ставить.
Да и вообще желательно большие полигоны меди переходками пробивать.
Далее опять все теже злополучные конденсаторы, ведь явно видно стоят электролиты. И ни одного керамического.... Если электролиты емкостью меньше 100мкф вот вам и проблема. На морозе емкость у них падает раза в 3 а импеданс растет чуть ли не на порядок, для стабилизатора это может быть фатально. Да плюс еще стабилизатор регулируемый, а они имеют еще большую тенденцию к возбуждению чем стабилизаторы с фиксированным напряжением.
Вы конечно можете бороться с этим понижением частоты работы шины, но имхо вы лечите симптомы а не проблему, может даже подберете нужное значение... Вот только все стареет и через год а то и полгода будет у вас на столе лежать все таже плата...
Цитата(An@BoLiK @ Jan 6 2010, 23:23)

Да тактировка и защелки праллельно все 80 шт. Согласен тут ошибочка при проектировании ус-ва... просто подобные штуки делались но с меньшей длиной и меньшим количеством регистров, работают и на морозе.
Все равно _так_ делать нельзя. Я бы, пожалуй, применил покаскадное буферирование, с обязательным согласованием. Линия вошла, на регистры разветвилась, в конце платы - буферочек (74HC), на выходе которого резистор этак на 33 Ом (с учетом внутреннего сопротивления выхода дожно быть более-менее пристойное согласование). Линии, если уж они по плате идут параллельно, растащить бы надо, а в идеале - отбить "землей" (хотя бы тактировку и защелку). И сделал бы обратную связь, контролируя загрузку регистра (с потерей быстродействия, конечно, поскольку придется дождаться распространения тактировки). Но так надежнее.
Цитата
Насколько знаю терминатор ставится в конце линии , это резистор, в данном случае на землю (или на VCC ?? ) сопротивление этого резистора должно равняться волновому сопротивлению линии. И как его посчитать?
Тут волновое сопротивление заранее неизвестно, к тому же входы регистров вносят неоднородность, да и сопротивление на плате отличается от сопротивления в кабеле (вот оно предсказуемо, порядка 100 Ом, если это ленточный кабель). Я бы терминировал 100-омным на "землю", а со стороны передатчика, если буферок слабоват, поставил бы эмиттерный повторитель. Но при _такой_ топологии это больше на пляски с бубном похоже...
Цитата
в конце линии повешу на тактировку рез переменный порядком 5 ком попытаюсь согласовать.
Это много. Там речь о десятках Ом, до 100...200 максимум. Вообще-то надо скопом посмотреть, и вовсе необязательно на объекте в мороз - оно и при комнатной температуре должно выглядеть погано, а то, что не проявляется в виде артефактов на изображении - это просто повезло, порог переключения не достигло...
Цитата(Ant_m @ Jan 6 2010, 22:33)

Случай из жизни - на плате ставили "наши" буферы из серии 1533 (ТТЛШ). Все работало. Но вот беда они "золотые" и стоили как в самом деле золотые. Решили перейти на аналог 74ACT(точно не помню, в справочник лень лезть). Платы работать перестали!!! Оказалось буржуи слишком хорошо делают микросхемы - у них фронты были слишком резкие.
То же самое было бы, если бы поставили "наши" 1554 (КМОП, ~74AC). А 1533 - аналог 74ALS, их и надо было искать.
Цитата(rx3apf @ Jan 6 2010, 23:20)

Я бы, пожалуй, применил покаскадное буферирование, с обязательным согласованием. Линия вошла, на регистры разветвилась, в конце платы - буферочек (74HC), на выходе которого резистор этак на 33 Ом (с учетом внутреннего сопротивления выхода дожно быть более-менее пристойное согласование). Линии, если уж они по плате идут параллельно, растащить бы надо, а в идеале - отбить "землей" (хотя бы тактировку и защелку).
+1
И между платами витые пары, UTP не дефицит. Хотя и ленточній кабель с чередованием земля-сигнал-земля-сигнал-земля довольно неплохо.
Цитата(rx3apf @ Jan 6 2010, 23:20)

Я бы терминировал 100-омным на "землю", а со стороны передатчика, если буферок слабоват, поставил бы эмиттерный повторитель. Но при _такой_ топологии это больше на пляски с бубном похоже...
Можно попробовать оконечное согласование последовательной цепочкой RC на землю, поиграться в диапазоне 75-150 Ом и 100-1000пФ.
Ещё вариант - последовательные резисторы на передатчиках увеличить ом до 150-200, может даже пикофарад 100-300 на землю поставить - надёжно завалить фронты до величины "длиннее межплатного кабеля", а на приёме перед регистрами - 74HC14.
Т.е. вход модуля -> 74HC14 -> входы регистров и ещё одна 74HC14 как передатчик на следующий модуль -> RC -> выход модуля.
Ну и толи упоянутую обратную связь, толи просто скорость обмена присадить.
Делал подобные девайсы длиной 1м состоящие из 4-х плат но с прогрессивной разветкой 128р Х 16строк.
Принцип тотже общие сигналы SCK,RCK и SER для 74HC595.
Все было нормально пока не сделал строку длиной 2м из 8-ми плат.
Начиная с последних двух наблюдалось искажение изображения (мерцание отдельных пикселей).
Пришлось в каждой второй плате в разрыв сигналов SCK,RCK и SER поставить 74HC245 просто как повторитель и глюки исчезли.
В физику происходящего не вникал.
Может и в вашем случае поможет.
а может развести CLK витой парой с MAX485 на каждой плате ?
Цитата(ukpyr @ Jan 8 2010, 14:42)

а может развести CLK витой парой с MAX485 на каждой плате ?
Я не думаю, что это правильный подход к решению проблемы.
Выглядит как работа наугад, типа "авось-да поможет".
Если бы девайс страдал от изобилия помех, то -- да, это возможно возымело бы нужный эффект. Но мы уже знаем, что в неправильной работе устройства виноваты не электромагнитные помехи, а снижение температуры. Более того, можно предположить, что из-за снижения температуры происходит либо нарушение контакта, либо какая-то из микросхем начинает работать медленнее (или заваливать фронты), а может быть просто вылазят какие-нибудь пульсации по питанию (типа электролиты замерзли).
А потом, на сколько я в курсе, было собрано несколько экземпляров устройства. Все они работают нормально, и только один экземпляр начинает дурить при низких температурах. Возникает законный вопрос: зачем переделывать то, что работает нормально? Не проще ли разораться с тем, что не работает. Узнать причину, и только потом вносить
продуманные конкретные изменения в схему.
Будем ждать результатов проверки девайса.
An@BoLiK
Jan 8 2010, 17:14
Всем спасибо за советы. Сегодня собирались как раз выяснить в чем дело. Погода не дала, температура выше 0, все работает, смысла ехать нет, так что ждем морозов..... Как разбиремся обязательно проинформирую.
прошу Вас для ускорения работы снять осциллограммы клока и данных...в начале и на конце линейки регистров...и я думаю что все встанет на свои места...и покажите момент установки данных и переход клока...
rezident
Jan 8 2010, 21:52
Цитата(An@BoLiK @ Jan 8 2010, 22:14)

Сегодня собирались как раз выяснить в чем дело. Погода не дала, температура выше 0, все работает, смысла ехать нет, так что ждем морозов.....
Можно не ждать морозов, а воспользоваться
Freese75 (быстрая заморозка) для выявления локальных "узких" мест, критичных к низкой температуре. Я как-то раз с помощью него "выловил" глюк, проявляющийся в узком температурном диапазоне (примерно -10°C...-25°C). При температуре выше и ниже (до -50°C) глюк не проявлялся.
Цитата(rezident @ Jan 9 2010, 00:52)

Я как-то раз с помощью него "выловил" глюк, проявляющийся в узком температурном диапазоне (примерно -10°C...-25°C). При температуре выше и ниже (до -50°C) глюк не проявлялся.
А конкретно в чем глюк заключался ?
rezident
Jan 9 2010, 10:48
Цитата(sazh @ Jan 9 2010, 14:11)

А конкретно в чем глюк заключался ?
78M15 плюс ограничитель напряжения (схема с общим истоком) на полевике перед ней. В указанном диапазоне температур эта связка почему-то не работала как предполагалось и напряжения (+15В) на выходе не было. В дальнейшем полевик на биполярный транзистор заменили.
P.S. Электролитов, кстати, в обвязке не было. Лишь комбинация из керамики и 1 Омных резисторов.
Цитата(rezident @ Jan 9 2010, 15:48)

78M15 плюс ограничитель напряжения (схема с общим истоком) на полевике перед ней. В указанном диапазоне температур эта связка почему-то не работала как предполагалось и напряжения (+15В) на выходе не было. В дальнейшем полевик на биполярный транзистор заменили.
P.S. Электролитов, кстати, в обвязке не было. Лишь комбинация из керамики и 1 Омных резисторов.
Ой, Вы меня пугаете...
У меня сейчас в одном изделии используется связка TPS71533 + MMBF4363 для повышения входного напряжения (для питания девайса на базе MSP430). MMBF4393 -- это полевой транзистор со встроенным каналом (не MOS!). При Ugs = 0 он проводит ток, что бы его закрыть, нужно опустить напряжение затвора ниже напряжения на истоке. Соответственно схема: на сток транзистора подается входное напряжение, затвор сидит на выходе LDO, исток -- на входе LDO. Такое построение схемы не приводит к увеличению потребляемого стабилизатором тока (у меня каждый мкА на счету), и в то же время позволяет увеличить входное напряжение TPS-а. Запуск и удержание режима стабилизации эта "сладкая парочка" обеспечивает прекрсно. Вопросов нет, смотрел во всех режимах. А вот протестировать по температуре -- я что-то поленился. Я погонял
всего один макет от -70 до +105'С, и, убедившись, что граблей нет, сразу заложил в серию... Блин, теперь я весь в думах, а не вылезет ли этот баг где-нибудь на объектах? Может штуки три-пять надо было попробовать? (Эх-х! Скорее бы на работу!)
rezident, если можно чуть подробнее -- почему схема не работала, транзистор не захотел открываться? Перепад напряжения на транзисторе у Вас какой был? Глюк был постоянный или возникал периодически? Схема в отказ уходила при включении или в процессе работы? Вы не указали тип полевика... (Буф! Хоть новую ветку открывай!)
Цитата(zhevak @ Jan 9 2010, 16:55)

MMBF4393 -- это полевой транзистор со встроенным каналом (не MOS!). При Ugs = 0 он проводит ток, что бы его закрыть, нужно опустить напряжение затвора ниже напряжения на истоке. Соответственно схема: на сток транзистора подается входное напряжение, затвор сидит на выходе LDO, исток -- на входе LDO.
Простите, а как же он открывается? Ведь напряжение на затворе
всегда ниже напряжения на истоке?
rezident
Jan 10 2010, 00:03
Цитата(zhevak @ Jan 9 2010, 19:55)

если можно чуть подробнее -- почему схема не работала, транзистор не захотел открываться?
Достоверно определенной причины не нашли, но локализовали с точностью до этого полевика. Защита примитивная конечно, но нужно было лишь защитить от кратковременных выбросов входного напряжения амплитудой до 3-х кратного номинального. Ток потребления около 100-150мА.
Цитата(zhevak @ Jan 9 2010, 19:55)

Перепад напряжения на транзисторе у Вас какой был?
Перепад в рабочем режиме был вполне ожидаемый, на уровне V
GS(th), порядка 2,7-3,4В. А вот при неисправности какие-то чудеса наблюдались. К сожалению, я уже не помню всех подробностей.

Цитата(zhevak @ Jan 9 2010, 19:55)

Глюк был постоянный или возникал периодически? Схема в отказ уходила при включении или в процессе работы?
Неисправность возникала при переходном процессе во время включения питания (подача напряжения путем механической коммутации) в узком диапазоне отрицательных температур. Если устройство включилось и работает, то дальнейшее охлаждение или нагрев на работоспособность не влияло. Проверку в термокамере проводили. На столе я охлаждал отдельные детали "заморозкой" из баллончика и, контролируя температуру, дожидался нагрева до попадания в критический диапазон температур, затем подавал питание. На глючащих экземплярах эффект был весьма повторяемым. Достоверные осциллограммы переходного процесса по-моему тогда снять не получилось.
Цитата(zhevak @ Jan 9 2010, 19:55)

Вы не указали тип полевика...
Si2328DS, на схеме указан. Рисовал схему по памяти. C1 электролит на входе всего устройства. Еще было подозрение на "левую" керамику ЧИП0805 4,7мкФ 50В, но замена ее не дала результата. Точно также как и замена полевика ощутимого эффекта не давала. В общем изменили схемотехнику, заменив Si2328DS на BCX56 с уменьшением номинала резистора (и увеличением его мощности конечно же), стабилитрона и устройство пошло в серию.

Цитата(Herz @ Jan 9 2010, 23:36)

Простите, а как же он открывается? Ведь напряжение на затворе всегда ниже напряжения на истоке?
ИМХО при включении (предполагаю, что напряжение на сток подается) потенциалы затвора и истока одинаковы и равны нулю.
Цитата(rezident @ Jan 10 2010, 02:03)

ИМХО при включении (предполагаю, что напряжение на сток подается) потенциалы затвора и истока одинаковы и равны нулю.
Допустим, но напряжение на истоке (если полевик всё же открывается) начинает нарастать быстрее, чем на затворе, что приведёт к закрытию. Если этого напряжения ещё недостаточно для работы LDO, стабилизатор никогда не запустится. (Схема, которую Вы привели, схеме
zhevak-а не соответствует, как я понял).
zhevak
Jan 10 2010, 16:59
to rezident
Спасибо!
to Herz
Да, у нас разные схемы, и работают по разному.
В нормальном состоянии полевик открыт. При повышении входного напряжения оно почит полностью попадает на вход LDO стабилизатора. Поскольку это _LDO_, то падение напряжения на нем не более 1-2В. У меня реально получалось менее Вольта. Точнее не скажу, надо еще раз мерить.
Если напряжение на входе LDO-стабилизатора будет меньше, чем его рабочее напряжение (выходное напряжение), то все равно на выходе стабилизатора будет присутсвовать хоть какое-то напряжение. Т.е. схема заведется, и помере роста входного напряжения будет повышаться выходное, вплоть до напряжения стабилизации. Главное соблюсти правило -- пороговое напряжение затвор-исток транзистора должно быть больше, чем падение напряжения на LDO-стабилизаторе. В моей схеме это соблюдается. Поэтому на входе стабилизатора всегда будет присутствовать напряжение равное Uвых + Ugs, т.е. 3.3 + 2.5 = 5.8В (примерно).
Поскольку транзистор допускает напряжение Uds до 30В, то можно говорить именно о таком "высоком" входном напряжении питания. Если будете повторять эту способ, важно, не превысить рассеиваемую мощность на транзисторе. В моем случае, весь ток, проходящий через стабилизатор и, соответственно, через полевик, составлает примерно 30-50 мкА, понятно что рассеиваемая мощность будет незначительная.
Я не пошел по пути уважаемого resident по причине того, что мне нужно было сделать чтобы девайс, который потребляет очень мало тока (не более 100 мкА) и имеет широкий диапазон питающих напряжений (от 5 до 30В). Использование схем со стабилитроном невозможно в принципе, т.к. на микротоках стабилитроны не работают. Т.е. стабилитрон будет выглядеть как резистор с каким-то непонятным сопротивлением.
rezident
Jan 10 2010, 17:32
Цитата(Herz @ Jan 10 2010, 14:46)

Допустим, но напряжение на истоке (если полевик всё же открывается) начинает нарастать быстрее, чем на затворе, что приведёт к закрытию. Если этого напряжения ещё недостаточно для работы LDO, стабилизатор никогда не запустится.
Почему же? Полевик работает в линейном режиме и скорость нарастания входного напряжения (заряда входного конденсатора перед LDO) ограничивается током который он регулирует. Как только разность между входом и выходом LDO достигнет V
GS(off), полевик перейдет в режим отсечки и ток заряда входной емкости прекратится совсем. Минимальное напряжение V
GS(off) для MMBF4393 составляет 0,5В, что для LDO видимо вполне достаточно.
Цитата(Herz @ Jan 10 2010, 14:46)

(Схема, которую Вы привели, схеме zhevak-а не соответствует, как я понял).
Нет, не соответствует. У меня нарисован простой ограничитель входного напряжения, параметрический стабилизатор по сути. А у zhevak ограничитель разности напряжений между входом и выходом LDO.
Цитата(zhevak @ Jan 10 2010, 21:59)

Использование схем со стабилитроном невозможно в принципе, т.к. на микротоках стабилитроны не работают. Т.е. стабилитрон будет выглядеть как резистор с каким-то непонятным сопротивлением.
В нашем случае ограничения на токи не было, но было ограничение на размеры. Если рассчитывать схему по-уму, то нужно было бы минимальный ток через резистор при номинальном напряжении задать порядка 6мА (>0,5мА через стабилитрон плюс ток базы или затвора). Поставили полевик, чтобы сэкономить ~5мА на базовом токе и соответственно на размерах резистора. Но при токе 6мА и 3-х кратном превышении номинала резистор нужен был бы уже 0,5Вт. В результате так и получилось. Т.е. поставили 2шт. ЧИП1206 впараллель и биполярный BCX56.
An@BoLiK
Jan 19 2010, 11:30
Проблема решена. Но явной причины конкретно установлено не было. Приехали на ремонт Т=-10, за счет того что светило солнце внутри было явнео больше 0. Короче все работало. Т.к. вышка была заказана и монтажники прибыли решили провести комплексную доработку.
Не получилось согласовать линии клока и защелки, ставили резисторы 50, 75, 82, 100, 120 ом.
Сделали:
1) После каждого блока поставили буфер 74HC244 и подали на него вместо 4.75 В как на всей логике , 5.25В, в ожидании большего уровня "1" и большей нагрузочной способности
2) На каждой плате стояли LM317 и на вх/вых ее по емкости 100 мкф NONAME. Поставили какие никакие CapXon LZ 220x25V + керамика 0805 X7R 1 мкф 50В
3) Изменили программу. Замедлили скорость вывода данных в регистры.
Сейчас при минусовой температуре без солнца все работает. Всем спасибо за участие в решении проблемы.
zhevak
Jan 19 2010, 17:00
Цитата(An@BoLiK @ Jan 19 2010, 16:30)

Проблема решена. Но явной причины конкретно установлено не было...
Ну как же шь так! Семен Семеныч
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.