Страница 419 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 05:16:14
Лютик
Аlex, в соответствии с Вашей трактовкой, алгоритм следующий(поправьте, если не прав):
1. CLK -> LOW // синхронизация
2. задержка для обеспечения частоты
3. CLK -> HIGH
4. считываем DO
5. задержка
...
Я так делал и 1 бит недотягивает, работает нормально, если:
1. CLK -> LOW // синхронизация
2. задержка для обеспечения частоты
3. CLK -> HIGH // синхронизация
4. задержка для обеспечения частоты
5. CLK -> LOW
6. задержка для обеспечения частоты
7. CLK -> HIGH
8. считываем DO
9. задержка
...
Где я туплю

?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 06:09:02
Alexeyslav
Зачем ты считываешь первый раз? первый раз считывать не надо! В твоем алгоритме первое считывание D0 - это стартовый импульс, считаешь всегда "0".
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 11:45:36
Лютик
Alexeyslav, видимо, я чтото не так понимаю. В общем, как я понимаю(смотреть картинку):
Линия в покое - CLK=1 (CSn опускаем). После чего мы делаем спад и затем фронт и приходим в интервал 1го бита данных. Где и как он пустой?
Я понимаю что считываю ноль, и я уже написал код и все работает, но хочу разобраться с этим раз и на всегда, помогите пожалуйста

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 14:09:31
Аlex
После чего мы делаем спад и затем фронт и приходим в интервал 1го бита данных.
Всё верно. Сначала спад, затем, после каждого переднего фронта, читаем бит.
Просто первый спад является синхронизацией девайса для начала пакета. Чё он там делает (сохраняет ли какие данные, устанавливает данные в вых. сдвиговые регистры, ....), в принципе пофиг, это не должно Вас волновать. Видимо, это Вас смутило и запутало. Ваша задача начать пакет и по каждому нарастающему фронту читать свой бит, и всё.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 19:09:18
Alexeyslav
По спаду ВЕДУЩЕЕ устройство выставляет данные на шину, а ВЕДОМОЕ по фронту фиксирует это значение и сохраняет. Теперь если с этой точки зрения посмотреть на данные, то в начале посылки у вас ВСЕГДА будет читаться один лишний бит, который равен нулю - его надо просто проигнорировать если реализуете ВЕДОМОЕ устройство, и передать перед посылкой данных если ВЕДУЩЕЕ.
Он же и является стартовым импульсом, по аналогии с асинхронным протоколом.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 20:42:44
vitalik_1984
Alexeyslav писал(а): а ВЕДОМОЕ по фронту фиксирует это значение и сохраняет
Выражайтесь точнее тут надо читать по восходящему фронту читает. Фронт бывает и нисходящий.
Alexeyslav писал(а):Теперь если с этой точки зрения посмотреть на данные,
тут тоже непонятно с какой точки? Которую вы только что описали?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 21:08:04
Alexeyslav
С любой точки зрения. Передача этого "нуля" ничем не отличается от передачи остальных бит. Просто он первый.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт апр 04, 2013 22:23:12
unalex
vitalik_1984 писал(а):Фронт бывает и нисходящий
передний фронт 0-1 задний фронт 1-0
фронт 0-1 спад 1-0
а если в тексте фигурирует и фронт и спад, то думаю ежу становится понятно что есть что
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 17:35:51
1essor1
такой вопрос - на каком максимальном расстоянии можно расположить 2 мк связанные проводами по SPI? и еще - какой способ передачи выбрать для связи без сбоев если провода (а соответственно и расстояние между мк) от 1 до 2м?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 17:51:43
КРАМ
SPI - интерфейс для ОДНОЙ платы или блока. Тащить его в кабель можно, только если кабель должным образом терминировать. Значит потребуется приемопередатчики (по обеим линиям) и согласование линии у приемников.
Плюс к этому, питание устройств не может быть независимым, иначе может возникнуть перекос между землями с неустранимыми помехами и опасностью повреждения драйверов линии и приемников.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 18:01:55
SmarTrunk
Ну можно поставить "изоляторы", вроде быстрых оптических 1N136, 1N137, или неоптические ADUM... Тогда питание и земли могут быть разные. Я бы в любом случае поставил, если бы вдруг захотел тянуть SPI на метр.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 18:08:50
КРАМ
И изоляторы можно, и питание можно объединить через кабель. Все это можно.
Только автор, по моему, вообще планировал соединить чипы pin-to-pin...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 18:16:17
unalex
1essor1 писал(а):какой способ передачи выбрать для связи без сбоев если провода (а соответственно и расстояние между мк) от 1 до 2м?
1-Wire(до 300м)
RS-232(до 15м)
RS-485(до 1 км)
I2C - можно на 2 метра и теоретически больше(уменьшая скорость)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 18:20:12
1essor1
Я наверное не очень верно указал условия - один мк1 - по SPI выводит байт на сдвиговый регистр, а затем происходит считывание байта мк2 (последовательный вывод - параллельный ввод) - при этом мк2 и регистр находятся на одном блоке, мк1 на другом. Возможно это по извратски, но задумка была такая)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 19:50:05
Alexeyslav
Вообще условие очень простое - соединить можно без согласования только когда это соединение нельзя считать длинной линией. Понятие это зависит от частоты - 1Мгц на 1 метр линии уже требует согласования, в то время как передавать с частотой 100Гц по линии протяженностью 1км - без проблем. Больше требуется расстояние - снижай скорость на которой работает SPI.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт апр 05, 2013 20:13:15
ut1wpr
vitalik_1984 писал(а):Выражайтесь точнее тут надо читать по восходящему фронту читает. Фронт бывает и нисходящий.
Я уже около 20 лет в импульсной технике топчусь, и там, именно с целью избежать разночтения, приняты термины ФРОНТ импульса и его СПАД. По аналогии с международными RISE и FALL. Сочетаний FRONT FRONT или REAR FRONT не существует.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб апр 06, 2013 12:50:21
1essor1
Появился у меня RGB светодиод и захотелось им поиграться. Начал с самого простого - подключил к трем портам, подал единички на два из них (к R и B), должен был получиться лиловый цвет. Но получилась какая то хренотень мягко говоря - круг красный наполовину пересекающийся с синим кругом, ну и соответсвенно в месте пересечения образующий что то похожее на лиловый цвет. но при этом отчетливо видно красную и синию составляющие. И так со всему другими цветами, образующимися смешиванием других(желтый, голубой и белый). Ни в одном из вариантов не получается плавности цвета.
Вопрос такой, это так и должно быть? Или светодиод корявый? Либо надо как по особому их зажигать? Просто я если честно ожидал некой плавности, а тут такое
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб апр 06, 2013 13:05:55
Alexeyslav
А кому удавалось обмануть оптику? Светодиод из себя что представляет? Вот и думай почему так выходит.
Чтобы цвета смешивались в прозрачной оптике нужен рассеиватель. или светодиод надо брать с матовой оптикой.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб апр 06, 2013 13:09:56
Chettuser
Это называется
аддитивное смешивание цветов.
Скорее всего таки должно быть, поскольку в RGB 3 кристалла и светят они прямо. Выход - светорассеиватель. С матовым стеклом вряд ли получится - картина будет примерно та же, пятнами.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб апр 06, 2013 13:19:21
vitalik_1984
ut1wpr писал(а):Сочетаний FRONT FRONT или REAR FRONT не существует.
Так и отдельного использования FRONT и REAR я лично не встречал, зато встречал rising edge и falling edge.
Edge и переводится как граница или острие.Вот и подумал, что фронт можно использовать в этом смысле.
К сожалению с русскими принятыми терминами не знаком.
Спасибо за разъяснение.
Так то я знаю что значит FRONT на английском языке только вот в русском его немного по другому уже можно трактовать. Никто не говорит повернись фронтом.