Re[43]: Собрал ревизию B
От: Codealot Земля  
Дата: 06.02.20 21:22
Оценка: -1
Здравствуйте, koandrew, Вы писали:

K>Ну вот и покупай себе её


Мне такая навороченная не нужна, и стоит дофига

K>Толку-то мне от этих диммов? Их на плату не припаяешь.


А поставить слот сильно сложно?

Кстати, что касается USB3 и FT600/FT601 — а как у них передача данных туда и обратно выглядит со стороны хоста?
Ад пуст, все бесы здесь.
Отредактировано 06.02.2020 21:34 Codealot . Предыдущая версия .
Re[44]: Собрал ревизию B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 06.02.20 21:43
Оценка: 3 (1)
Здравствуйте, Codealot, Вы писали:

C>Мне такая навороченная не нужна, и стоит дофига



C>А поставить слот сильно сложно?

Не то, чтобы сложно, но эти модули физически здоровые, а потому требуют бОльшую плату, которая стоит бОльших денег. Поэтому-то большинство моих шестислоек 10х10 см или меньше — место на многослойках очень дорогое, и чем сложнее плата — тем дороже. Как ты понимаешь, разместить коннекторы под модули длиной в ЕМНИП 133 мм на плате 10х10 см как-то не выйдет.
Как компромисс, можно попробовать использовать SODIMM, но у них ЕМНИП 8 Гб потолок, да и это только в двухранговом режиме, который снижает максимальную частоту (впрочем, для Spartan-7/Artix-7 это несущественно, т.к. они могут крутить память максимум на 400 МГц). Правда, большинство коннекторов SODIMM "лежачие" или "полулежачие", а потому меньшую длину (по сравнению с "полным" UDIMM) футпринта компенсируют его бОльшей шириной.
[КУ] оккупировала армия.
Re[44]: Собрал ревизию B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 06.02.20 22:00
Оценка: 3 (1)
Здравствуйте, Codealot, Вы писали:

C>Кстати, что касается USB3 и FT600/FT601 — а как у них передача данных туда и обратно выглядит со стороны хоста?

Со стороны компа? Есть либы, поставляемые FTDI, для C/C++ и дотнета (мож есть ещё для чего — хз). Код выглядит примерно так (пишу по памяти, так что за 100% верность не ручаюсь, но порядок операций таков):
//получаем список всех подключённых девайсов по некоторому критерию (серийный номер, имя девайса, и т.п.)
var allChips = EnumerateDevicesBySomeCriteria(criteria);
// выбираем нужный
var deviceInfo = allChips[selectedIndex];
//инициализируем соединение
var device = new device(deviceInfo);
//усё готово, можно отправлять/принимать данные
//....
obj.Send(buffer);
//или 
obj.Receive(buffer);

В буквальном смысле всего несколько строк кода.
[КУ] оккупировала армия.
Re[45]: Собрал ревизию B
От: Codealot Земля  
Дата: 06.02.20 22:13
Оценка: -1
Здравствуйте, koandrew, Вы писали:

K>Не то, чтобы сложно, но эти модули физически здоровые, а потому требуют бОльшую плату, которая стоит бОльших денег. Поэтому-то большинство моих шестислоек 10х10 см или меньше — место на многослойках очень дорогое, и чем сложнее плата — тем дороже. Как ты понимаешь, разместить коннекторы под модули длиной в ЕМНИП 133 мм на плате 10х10 см как-то не выйдет.


Интересно, а если сделать плату на 4-5 см длиннее при той же ширине? Раза в полтора дороже?
Ад пуст, все бесы здесь.
Re[46]: Собрал ревизию B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 07.02.20 13:42
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Интересно, а если сделать плату на 4-5 см длиннее при той же ширине? Раза в полтора дороже?


Меньше, чем в полтора, но разница ощутима. Хотя 5 см думается будет маловато, учитывая, что разъём имеет длину в 150 мм, плюс нужно оставить хотя бы по 1-2 см по краям на разводку.
[КУ] оккупировала армия.
Re[47]: Собрал ревизию B
От: Codealot Земля  
Дата: 07.02.20 15:12
Оценка: -1
Здравствуйте, koandrew, Вы писали:

K>Меньше, чем в полтора, но разница ощутима. Хотя 5 см думается будет маловато, учитывая, что разъём имеет длину в 150 мм, плюс нужно оставить хотя бы по 1-2 см по краям на разводку.


Кстати, подумалось — а нельзя разместить его снизу платы?
Ад пуст, все бесы здесь.
Re[48]: Собрал ревизию B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 07.02.20 15:35
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Кстати, подумалось — а нельзя разместить его снизу платы?

Это как?
[КУ] оккупировала армия.
Re[49]: Собрал ревизию B
От: Codealot Земля  
Дата: 07.02.20 16:18
Оценка: -1
Здравствуйте, koandrew, Вы писали:

K>Это как?


Я имею в виду двусторонний монтаж. Если использовать к примеру горизонтальный разъем для SODIMM и припаять его с нижней стороны платы.
Ад пуст, все бесы здесь.
Re[50]: Собрал ревизию B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 07.02.20 16:32
Оценка: 3 (1)
Здравствуйте, Codealot, Вы писали:

C>Я имею в виду двусторонний монтаж. Если использовать к примеру горизонтальный разъем для SODIMM и припаять его с нижней стороны платы.

Под FPGAшкой находятся куча фильтрующих кондёров, плюс сама разводка там очень плотная, так что не факт, что удастся всё развести без увеличения количества слоёв. А если потребуется увеличение количества слоев до 10 (потому что 8-слойка имеет такое же количество сигнальных слоёв, как и 6-слойка), то это будет намного дороже, чем если просто сделать плату больше.
[КУ] оккупировала армия.
Re[51]: Собрал ревизию B
От: Codealot Земля  
Дата: 07.02.20 17:11
Оценка: -1
Здравствуйте, koandrew, Вы писали:

K>Под FPGAшкой находятся куча фильтрующих кондёров, плюс сама разводка там очень плотная


А если немного в стороне?
Ад пуст, все бесы здесь.
Re[52]: Собрал ревизию B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 07.02.20 17:18
Оценка: 3 (1)
Здравствуйте, Codealot, Вы писали:

C>А если немного в стороне?

Не пробовал. Возьми да попробуй Если не знаешь, как получить распиновку памяти на FPGA — создай отдельную тему, я покажу, как сам делаю. Ну или RTFM — UG586, раздел Design Guidelines, DDR3 SDRAM (в текущей версии страница 192 и дальше по тексту).
[КУ] оккупировала армия.
Re[53]: Собрал ревизию B
От: Codealot Земля  
Дата: 07.02.20 17:25
Оценка: -1 :)
Здравствуйте, koandrew, Вы писали:

K>Не пробовал. Возьми да попробуй Если не знаешь, как получить распиновку памяти на FPGA — создай отдельную тему, я покажу, как сам делаю. Ну или RTFM — UG586, раздел Design Guidelines, DDR3 SDRAM (в текущей версии страница 192 и дальше по тексту).


Попробую. Но позже
Ад пуст, все бесы здесь.
Re[54]: Собрал ревизию B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 07.02.20 18:10
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Попробую. Но позже


Ну ок — потом — значит потом (С)
[КУ] оккупировала армия.
Re: Делаем плату для FPGA с нуля для новичков
От: Codealot Земля  
Дата: 11.02.20 00:10
Оценка:
Здравствуйте, koandrew, Вы писали:

Кстати, можешь посоветовать хорошую литературу по теме?
Ад пуст, все бесы здесь.
Re[2]: Делаем плату для FPGA с нуля для новичков
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 11.02.20 01:39
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Кстати, можешь посоветовать хорошую литературу по теме?


По какой теме? Как разрабатывать платы для FPGA? Или как создавать для них проекты?
[КУ] оккупировала армия.
Re[3]: Делаем плату для FPGA с нуля для новичков
От: Codealot Земля  
Дата: 11.02.20 05:12
Оценка:
Здравствуйте, koandrew, Вы писали:

K>По какой теме? Как разрабатывать платы для FPGA? Или как создавать для них проекты?


Какое-нибудь не слишком хардкорное введение в то, как работают FPGA на уровне схемотехники. И как разрабатывать PCB.
Ад пуст, все бесы здесь.
Re[4]: Делаем плату для FPGA с нуля для новичков
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 11.02.20 19:10
Оценка: 3 (1)
Здравствуйте, Codealot, Вы писали:

C>Какое-нибудь не слишком хардкорное введение в то, как работают FPGA на уровне схемотехники. И как разрабатывать PCB.


Я пользовался UG483 + генератором чеклистов XMP277 + подсматривал в схемы готовых платок, которые сумел найти в сети.
По большому счёту у интеграции FPGA на плату есть три аспекта: 1) обеспечение питания, 2) обеспечение успешной "загрузки" FPGA битстримом из какого-то внешнего источника 3) подключение внешней периферии.

1. Чипы Artix-7/Spartan-7 требуют две обязательных линии питания: питание "ядра" Vccint (почти всегда 1.0 ± 5% В), и "вспомогательная" линия Vccaux в 1.8 ± 5% В. Есть ещё отдельные шары для питания блочной памяти (BlockRAM) Vccbram, но во всех известных мне случаях их подключали к той же линии, что и ядро, ибо им тоже нужно 1.0 ± 5% В.
Тут основная сложность — чип может потреблять довольно значительный ток по линии Vccint (порядка нескольких ампер), потому линейные регуляторы "не катят" (прикинь, какая мощность будет рассеиваться на типовом LDO при входном напряжении даже в 5 В, а выходном — 1 В при токе в 2 А!), так что нужны импульсники, да не абы какие, а такие, которые могут обеспечить требуемую точность (5%) по напряжению во всём диапазоне потребляемого тока, и при этом обладающие низким уровнем шума и пульсаций (меньше 50 мВ пик-пик в диапазоне 0-20 МГц). Косяки с этим конвертером — чуть ли не самая популярная причина неработоспособности свежеразработанной платы. Так что я при использовании каждого нового для себя чипа конвертера DC-DC обязательно сначала делаю маленькую платку только с этим конвертером (и его обвязкой, само собой), и проверяю, что он работает как положено, либо на первом экземпляре платы собираю только эти источники и убеждаюсь, что все нужные напряжения присутствуют и их параметры соответствуют требованиям.

2. FPGA имеет кучу разных способов загрузки, но на практике чаще всего применяются два — загрузка с чипа QSPI Flash, либо через JTAG, причём последний метод всегда активен вне зависимости от настроек, выставленных на пинах конфигурации. За подробностями идти читать UG470. Собственно, с точки зрения схемотехники здесь важно правильно всё подключить, возможных gotchas тут два — неверная установка пинов типа загрузки (M0-M2), а также несоответствие логического уровня на шаре CFGBVS напряжению конфигурации. Самый простой способ — посмотреть, как это сделано на какой-нить из существущих и заведомо рабочих плат, и сделать также Я так и сделал изначально, потом только незначительно корректировал эту часть схемы под фактические условия (например, если хотелось использовать 1.8-вольтовую флешку вместо стандартной 3.3-вольтовой)

3. Это отдельная и очень обширная тема, так что двумя словами тут обойтись, а также бездонный источник проблем типа "FPGA определяется и грузится, но не "видит" какой-то периферийный чип". В самом минимальном изложении это так: все пользовательские шары FPGA (user I/O) разделены на банки по 50 шаров, и для каждого из этого банков можно индивидуально выбрать напряжение питания и, соответственно, напряжения логических уровней. Про всё это очень обстоятельно и подробно написано в UG471.

Как-то так. Очень тяжело общими словами объять такие обширные темы, так что если вдруг есть конкретные вопросы — задавай.
[КУ] оккупировала армия.
Re[5]: Делаем плату для FPGA с нуля для новичков
От: Codealot Земля  
Дата: 11.02.20 23:00
Оценка:
Здравствуйте, koandrew, Вы писали:

K>подсматривал в схемы готовых платок, которые сумел найти в сети.


Можешь поделиться? Я уже нашел кое-какие, но там все простые платы — только на Lattice, а на Xilinx только сложные, и все схемы в формате картинок или pdf

K>Как-то так. Очень тяжело общими словами объять такие обширные темы, так что если вдруг есть конкретные вопросы — задавай.


Просто я надеялся, что есть какие-то книги. А так, для начинающих — много, хардкора — тоже много, а в середине ничего нет.
Ад пуст, все бесы здесь.
Re[6]: Делаем плату для FPGA с нуля для новичков
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 12.02.20 01:20
Оценка: 3 (1)
Здравствуйте, Codealot, Вы писали:

C>Можешь поделиться? Я уже нашел кое-какие, но там все простые платы — только на Lattice, а на Xilinx только сложные, и все схемы в формате картинок или pdf Image: horror.gif

Посмотри на сайте Digilent: Arty A7, Arty S7, Arty Z7 — нажми кнопку "Schematic". Все эти платы довольно просты для FPGA.
Само собой они в PDF — а в чём ещё тебе нужно?

C>Просто я надеялся, что есть какие-то книги. А так, для начинающих — много, хардкора — тоже много, а в середине ничего нет.

Да нету ничего в разводке под FPGA такого особенного, отличающегося от разводки аналогичного интерфейса для процессора или SoC, потому бери книги, где обсуждаются вопросы разводки высокоскоростных интерфейсов вообще — эта информация будет применима в равной степени как к FPGA, так и к любым другим чипам, реализующим такой же интерфейс. Ничего сложного в этих разводках нету, просто надо соблюдать определённые правила.
[КУ] оккупировала армия.
Re[7]: Делаем плату для FPGA с нуля для новичков
От: Codealot Земля  
Дата: 12.02.20 16:29
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Само собой они в PDF — а в чём ещё тебе нужно?


Проект для какого-нибудь CAD-а
Ад пуст, все бесы здесь.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.