CVAVR + SPI + hc 4094 (Решено!)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

CVAVR + SPI + hc 4094 (Решено!)

Сообщение krysun »

Здравствуйте.
Проблемма выбора регистра (CS), или передачи 24 бита.
Пример.

PORTB=0x00;
DDRB=0xB0;
.......
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 921,600 kHz
// SPI Clock Phase: Cycle Start
// SPI Clock Polarity: High
// SPI Data Order: MSB First
SPCR=0x5C;
SPSR=0x00;
//***************
DDRB.1=1; //Тут сидит ОЕ

PORTB.1=1;
spi(0x07); //Вывести на 7-ми сегментник цифру 7 НО --->
PORTB.1=0;


------
Выводится 7-ка сразу на 3-и индикатора.
Включение сдвиговых каскадное...
CS сидит на PD.4 (к примеру)

Вопрос. Как организовать выбор CS (нужного 4094), или как передать 24 бита...
Прошу пинать. Спасибо!
Последний раз редактировалось krysun Сб ноя 13, 2010 23:34:05, всего редактировалось 1 раз.
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

И еще:
К устройству подключены 3 табло (2 - по 3 цифры и 1 - 11 сегментов (2-а сдвиговых)).
Так же уместен вопрос о "передаче двухбайтового значения".
ЗЫ: Где-то кто-то выкладывал функцию для передачи 16 бит... Посеял ссылку... ((
Спасибо.
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

Вопрос все еще открыт. Есть каие-нить функции для вывода 16/24 бит?
Это лыжи не едут!!!
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: CVAVR + SPI + hc 4094

Сообщение urry »

ну а в чем разница ?

char arr[3];

spi(arr[0]);
spi(arr[1]);
spi(arr[2]);
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

Спасибо. Попробую.
---
Попробовал, результата 0.
ЗЫ: Дата Клоки поштучно толкаю без проблем... Но они на СПИ подвешены (регистры), хочеться так и использовать.
ЗЫЫ: Сигнал к регистрам идет через буфера НС244, ДДРБ.1 вешаю на 1

Код: Выделить всё

DDRB.1=1;

      PORTB.1=1;
        spi(arr[0]);
        spi(arr[1]);
        spi(arr[2]);
      PORTB.1=0;

Только так и выводит... Но все равно на всех 3-х индикаторах одинаковые цифры :(
ЗЫЫЫ: Масиву разные значения дать не забыл :))
Это лыжи не едут!!!
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: CVAVR + SPI + hc 4094

Сообщение urry »

да ну. дичь какая то.
Вот проект в проте, все меняется.
Вложения
serg_pwm.zip
(58.29 КБ) 290 скачиваний
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

Мой Прот 7.4 SP3 не открывает (на версию матерится)... Ща сам набросаю... Посмотрю.
А, да... Чип Мега 162, Клок=3,6864 ничего не кажет по приведенному примеру (
Это лыжи не едут!!!
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: CVAVR + SPI + hc 4094

Сообщение urry »

сохранил в ранней версии - для меги 162 все то же.
Вложения
serg_pwm162.zip
(78.25 КБ) 220 скачиваний
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: CVAVR + SPI + hc 4094

Сообщение Kavka »

А схему картинкой можно?
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: CVAVR + SPI + hc 4094

Сообщение urry »

можно
Вложения
3333.jpg
(170.25 КБ) 780 скачиваний
Аватара пользователя
Kavka
Мудрый кот
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Re: CVAVR + SPI + hc 4094

Сообщение Kavka »

krysun писал(а):Вопрос. Как организовать выбор CS (нужного 4094), или как передать 24 бита...

Если я правильно понял, то вопрос в том как делать вывод на несколько групп индикаторов разной разрядности (в смысле разного количества 7-ми сегментных индикаторов), и при этом посадить вывод на SPI.

...пусть каждая группа индикаторов будет сделана как на рисунке выложенном urry. Данные включены в каскад. Стробы микросхем внутри группы соединены вместе. Нужно стробы каждой группы управлялись отдельно, т.е. подключить их на отдельные выводы контроллера. Цепляем SCK и MOSI на все группы параллельно.
Выбор CS тут, как бы, ненужен. :) А вот строб - да. Пока строб не дёрнешь данные со сдвигового регистра в регистр хранения не запишутся.
Например, пусть будет 2 группы индикаторов. Группа 1 имеет 2 разряда, а группа 2 имеет 4 разряда.
Да, ещё, пусть, 7-ми сегментники подключены без дешифраторов, т.е. по SPI надо выводить код, который будет соответствовать начертанию цифр или символов (!!!). И пусть сегмент на индикаторе будет гореть при 1 в соответствующем бите.
Тогда для очистки всех групп надо по SPI закачать количество нулевых байт равное максимальной разрядности имеющихся групп, т.е. 4 в нашем примере. А затем "дёрнуть" строб каждой группы.
При выводе на 1-ю группу индикаторов, записываем в SPI два байта (с кодами индикации) и дёргаем строб первой группы. Индикация на второй группе не измениться.
При выводе на вторую группу надо выводить 4 байта и дёргать строб второй группы.

PS: Делал как-то на 74hc595 индикатор на 4 разряда по SPI. Если интересно - поищу схемку.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

Получается, у меня 3 табло (по 3 регистра) и линейка (2 регистра) на 2-х табло и линейки MOSI и SCK соединены между собой (короче, все на 10pin шлейфе... OE и СТРОБ раздельно подключены.... Срисую схему и выложу.... Пока вот фотка стенда и ближе индикатора... + пример разводки самого индикатора и буфера на мамке... Спс.
Вложения
tvister.zip
(13.19 КБ) 199 скачиваний
IMG_0109.jpg
(147.89 КБ) 642 скачивания
IMG_0102.jpg
(130.93 КБ) 587 скачиваний
tvister.jpg
(92.32 КБ) 632 скачивания
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

В общем... Что-то так и не выходит... Обидно, досадно, но ладно...
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

АП!
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

АП :cry:
Это лыжи не едут!!!
Аватара пользователя
krysun
Открыл глаза
Сообщения: 41
Зарегистрирован: Вт окт 19, 2010 02:24:42
Откуда: Odessa

Re: CVAVR + SPI + hc 4094

Сообщение krysun »

Заголовок: CVAVR + SPI + hc 4094

Проблема решилась. Ваши примеры и советы работают 100%. Это у меня лыжи не едут.
В mega162 в FUSE-ах было выставлено M161C=0 (режим совместимости с mega161 МК).
При вызове SPI("что-то") несколько раз, зацикливался только 1-й вызов.
Потому и выводились на все индикаторы одинаковые цыфры.

Как FUSE снял, так сразу все и заработало.

Возьмите на заметку.

Спасибо большое за помощь! :beer:
Это лыжи не едут!!!
janus1987
Родился
Сообщения: 3
Зарегистрирован: Вт дек 07, 2010 11:04:47

Re: CVAVR + SPI + hc 4094 (Решено!)

Сообщение janus1987 »

Благадарю за имходник он оказался именно самым простым про SPI то как послать данные
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»