Столкнуюся с этим чудом природы - MBI5039 и не могу понять как им управлять. Проблема следующая: после импульса LE светодиоды лишь кратковременоо моргают и тишина... Кто имеет практический навык общения с этим зверем откликнитесь.
Вложения:
Комментарий к файлу: Схема подключения Lamp.pdf [15.45 KiB]
Скачиваний: 400
На форуме где-то уже такая тема была... Поищи документацию на Polytex (www.radiodetali.ru) , Macroblock Inc. (www.macroblock.ru). Там есть нормальные даташиты и апноты (даже на русском).
//LE - заменить на фактически подключеный пин #define SET_LE(state) (PORTB.2 = state) #define GET_LE PINB.2 #define DIR_LE(direction) DDRB.2 = direction
//CLK - заменить на фактически подключеный пин #define SET_CLK(state) (PORTB.1 = state) #define GET_CLK PINB.1 #define DIR_CLK(direction) DDRB.1 = direction
//SDI - заменить на фактически подключеный пин #define SET_SDI(state) (PORTB.0 = state) #define GET_SDI PINB.0 #define DIR_SDI(direction) DDRB.0 = direction
#define HIGH 0x01 #define LOW 0x00 #define OUT 0x01 #define IN 0x00
void MBI5039_Init(void) //инициализация { DIR_LE(OUT); //установка направления линии LE SET_LE(LOW); //вывод 0 на линию LE, далее аналогично для остальных линий
Мне кажеться что косяк где-то в помехах... (объяснить не могу, но одним местом чувствую). Кстати нет ли тут подводных камней? И не надо ли вешать мелкие кондеры на линии...
Зарегистрирован: Чт сен 16, 2010 19:47:01 Сообщений: 192 Откуда: Украина
Рейтинг сообщения:0
Использую только MBI5026, SCT2026, STP16CP05 без диагностики. C MBI5039 не работал, но раз написано Drop-In replacement, то должна работать, код правильный. Я всегда разделяю питание микросхем и светодиодов, хоть это может показаться избыточным. Ставлю на 10 драйверов на каждой плате отдельный LDO стабилизатор, запитанный от того же Vled светодиодов, и тантал 100 мкФ на выходе. У каждой микросхемы 100нФ керамика. На Vled платы вешаю дешёвые электролиты из расчёта 50 мкФ на 16 каналов/микросхему. Многие скажут конечно избыточно, но это позволяет не думать о том, как сборщики разведут питание в корпусе (иногда 20-30 А в сумме), проложат шлейфы. На линию обычно ставят буфер после МК, если висит больше 2-3 десятков миксросхем. А учитывая длину шлейфов, которая может достигать нескольких метров (у тех, кто обоснованно не любит очень длинных сдвиговых регистров и регенераторов CLK), буфер необходим. Cчитаю, что дополнительными емкостями на шине SPI можно добиться отрицательного эффекта.
Вот вспомнил, в оставшемся коде точно нет функций, ссылающихся на те же ножки в обработчиках таймеров? Ато случаются артефакты. В симуляторе пробовали прогнать код? Я в Proteus двумя 8-разрядными сдвиговыми регистрами моделирую 16-канальный драйвер. Пробовали приндительные задержки между SET_x() и т.д.? Может медленно заработает.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения