Для любого начинающего и не начинающего любителя ПЛИС рано или поздно встает вопрос о том как, а точнее чем запрограммировать купленную или созданную отладочную плату с ПЛИС. Ответ прост – приобрести фирменный программатор Platform Cable USB II у официального дилера XILINX. Но цена его даже у производителя составляет порядка 225 долларов, а если этот программатор привести в Россию, то цена составит на рынке розничной торговли порядка 10000 – 20000 руб. Но в этом случае выручают наши китайские коллеги, они с большим удовольствием предлагают все тот же Platform Cable USB но по доступной цене даже с учетом доставки.
Рис. 1. Platform Cable USB II
Безусловно, все определяется финансовой возможностью каждого. Но большинство приобретают китайский аналог программатора, либо особо усидчивые разработчики занимаются самостоятельным изготовлением программатора. В этой статье я и хотел бы уделить больше внимания как бы самостоятельно с минимальными материальными затратами создать USB программатор для перепрограммирования ППЗУ Xilinx.
Рис. 2. LPT programmer Xilinx
На сегодняшний день на просторах интернета можно найти два вида программаторов: LPT и USB. Сразу хотел бы оговориться, что программатор с LPT интерфейсом гораздо проще, нежели Platform Cable USB. Но LPT programmer годится для программирования не больших по емкости ППЗУ. ППЗУ большой он так же программирует, но время программирования может быть очень большим. В то время как USB programmer справляется с ППЗУ больших объемов достаточно быстро. Поэтому выбор разработчиков, как правило, ложится на Platform Cable USB. Поэтому в этой статье приведены материалы, которые должны помочь разработчику самостоятельно создать Platform Cable USB для ППЗУ фирмы Xilinx.
В результате разработки должно получиться нечто подобное см. рис. 3.
Рис. 3. Platform Cable USB II самодельный.
Конечно, с корпусом программатора каждый поступает индивидуально, т.к. внешний вид на работу ни как не влияет. Ну вид печатной платы программатора приведен на рис. 4.
Рис. 4. Platform Cable USB II внешний вид печатной платы.
На рисунке 4 приведена печатная плата, изготовленная в заводских условиях. Но это возможно, если Вам потребуется с десяток программаторов. Но это маловероятно, поэтому Ваша печатная плата будет выглядеть примерно как на рис. 5.
Рис. 5. Platform Cable USB II внешний вид печатной платы
изготовленной в домашних условиях.
На рис. 6, 7, 8 приводится схема электрическая принципиальная.
Рис. 6. Первая страница схемы электрической принципиальной программатора
Рис. 7. Вторая страница схемы электрической принципиальной программатора
Рис. 8. Трития страница схемы электрической принципиальной программатора
Назначение контактов разъема программирования
JTAG |
|||
Pin |
Signal |
Pin |
Signal |
1 |
GND |
2 |
VREF |
3 |
GND |
4 |
TMS |
5 |
GND |
6 |
TCK |
7 |
GND |
8 |
TDO |
9 |
GND |
10 |
TDI |
11 |
GND |
12 |
NC * |
13 |
GND |
14 |
NC * |
Serial |
|||
Pin |
Signal |
Pin |
Signal |
1 |
GND |
2 |
VREF |
3 |
GND |
4 |
PROG |
5 |
GND |
6 |
CCLK |
7 |
GND |
8 |
DONE |
9 |
GND |
10 |
DIN |
11 |
GND |
12 |
NC * |
13 |
GND |
14 |
INIT |
* Not Connected
Монтажная схема TOP
Монтажная схема BOT
Спецификация резисторы
КОЛ |
Наименование |
Номинал |
Тип |
1 |
R32 |
10 |
SMD2010 |
4 |
R34, R37, R40, R43 |
30 |
SMD0805 |
1 |
R15 |
270 |
SMD0805 |
1 |
R14 |
360 |
SMD0805 |
4 |
R27, R28, R29, R55 |
2,2K |
SMD0805 |
23 |
R1-R12, R26, R30, R31, R47, R48, R53, R54, R58, R59, R64, R65 |
10K |
SMD0805 |
1 |
R46 |
15K |
SMD0805 |
13 |
R13, R16, R33, R35, R36, R38, R39, R41, R42, R50, R56, R57, R63 |
20K |
SMD0805 |
1 |
R62 |
47,5K или 200K** |
SMD0805 |
1 |
R61 |
64,9K или 270K** |
SMD0805 |
2 |
R45, R52 |
100K |
SMD0805 |
2 |
R44, R51 |
300K |
SMD0805 |
2 |
R49, R60 |
1M |
SMD0805 |
2 |
R17, R18 |
0 * |
SMD0805 |
* Компоненты, используемые в зависимости от EEPROM (см. диаграмму на стр. 2)
** Может так же использоваться, так как дает такое же соотношение
Спецификация конденсаторы
КОЛ |
Наименование |
Номинал |
Тип |
2 |
C1, C2 |
11p |
SMD0805 |
1 |
C25 |
10n |
SMD0805 |
22 |
C3, C6-C24, C30, C31 |
100n |
SMD0603 |
3 |
C26, C27, C29 |
1µ |
CPOL-EUB |
2 |
C4, C28 |
4,7µ |
CPOL-EUB |
1 |
C5 |
10µ |
CPOL-EUB |
Перечень используемых корпусов
Кол |
Компонент |
Наименование |
Корпус |
1 |
IC1 |
CY7C68013A |
QFP100 |
1 |
IC2 |
XC2C256 |
VQFP100 |
1 |
IC3 |
24LCxxSN |
SO08 |
1 |
IC4 |
DS2411P * |
TSOC6 |
1 |
IC14 |
DS2411R * |
SOT23 |
4 |
IC5-IC8 |
NC7SZ125 |
SC70-5 |
1 |
IC9 |
LT1719S6 |
SOT23-6 |
1 |
IC10 |
LM393D |
SO08 |
1 |
IC11 |
NC7SZ66 |
SC70-5/SOT23-5L |
1 |
IC12 |
TPS71718DCK |
SC70-5L |
1 |
IC13 |
MCP1825S-33 или MIC2920A-3.3V |
SOT223 |
Остальное
Кол |
Компонент |
Наименование |
Корпус |
1 |
D1 |
1SMA5915BT3G |
SMB |
2 |
D2, D3 |
BAT54 |
SOD323-W |
1 |
D4, D5 |
DUO-LED |
DUOLED5MM |
1 |
LED1 |
красный |
SMD0805 |
1 |
LED2 |
зеленый |
SMD0805 |
1 |
Q1 |
Кварцевый 24MHz |
HC49U-V |
2 |
Q2, Q4 |
BSS138 |
SOT23 |
1 |
Q3 |
BC856BSMD |
SOT23 |
1 |
SV1, SV2 |
угловые 2×7 штырьковые ** |
ML14L |
1 |
JP3 |
Выносной 1×2 |
JP1Q |
1 |
X1 |
USB-разъем Type-B |
LUMBERG241103 |
|
|
|
|
Наладка
После сборки печатной платы настает этап отладки программатора. Так как программатор является устройством «настроенным», т.е. если ошибок в схеме нет, то после прошивки CPLD программатор будет готов к работе.
В первую очередь необходимо чтобы ПК обнаружил USB драйвер программатора, а далее пользуясь ISE 10 версии необходимо прошить программатор. Запустите iMPACT ISE 14 и обновите прошивку программатора.
portal-ed.ru
Первоисточник
Спасибо за ссылку пользователю PDA форума http://electronix.ru, из которой я узнал что схема программатора есть в открытом доступе.
Далее как говориться дело техники.
“Затачиваем под себя”
Первым делом провел анализ доступных комплектующих, и понял что от оригинального «выходного» каскада мне придется отказаться. Не долго думая родилась вот такая схема:
а за ней и плата:
Я старался выполнить трассировку таким образом что бы не было переходных отверстий под микросхемами и максимально увеличил площадь контактных площадок и проводников, для удобства изготовления в домашних условиях.
Вот такой вид имеет плата в «первом» варианте (схема и плата уже исправлены):
Второпях я допустил ошибки в нескольких местах: перепутал адресные линии у EEPROM и не поставил перемычку на линию SDA, как оказалась она нужна для программирования EEPROM.
Подготовка к работе
Первым делом необходимо установить ПО для ЭВМ.
Скажу честно я потерял не один час на прошивку, а всё потому что начиная с 11-ой версии ISE DESIGN SUITE разработчики разрешили только обновлять ПО программатора, но не прошивать, для прошивки необходимо скачать версию 10.1 (по крайне мере так сделал я). И ни на одном из форумов не было ответа по данной теме, наши иностранные коллеги об этом так же ни слова не сказали. И да бы помочь таким же как «я» и для поисковиков, добавлю на страницу тексты ошибок:
write cmdbuffer failed 20000015.
Loopback test failed. Sent character = 00, Received character = 0F.
Error reading reference voltage level.
После можно обновлять ПО программатора уже из старших версий Xilinx ISE Design Suite.
Печатная плата в формате Gerber, распечатать можно из любой программы для просмотра данных файлов, например в gerbv
скачать
Источники
Архив со схемой от Xilinx
Описание Platform Cable USB
Страничка основной мысли 🙂 [http://www.mikrocontroller.net]
Драйвера для Cypress чипа и конфигурационная программа
we.easyelectronics.ru
Спасибо за ссылку пользователю PDA форума https://electronix.ru, из которой я узнал, что схема программатора есть в открытом доступе.
Первым делом провел анализ доступных комплектующих, и понял что от оригинального «выходного» каскада мне придется отказаться. Не долго думая родилась вот такая схема:
Я старался выполнить трассировку таким образом что бы не было переходных отверстий под микросхемами и максимально увеличил площадь контактных площадок и проводников, для удобства изготовления в домашних условиях.
Вот такой вид имеет плата в «первом» варианте (схема и плата уже исправлены):
Второпях я допустил ошибки в нескольких местах: перепутал адресные линии у EEPROM и не поставил перемычку на линию SDA, как оказалась она нужна для программирования EEPROM.
Подготовка к работе
Первым делом необходимо установить ПО для ЭВМ.
После сборки необходимо:
Все. Программатор готов к работе.
Источники
Архив со схемой от Xilinx
Описание Platform Cable USB
Страничка основной мысли 🙂 [https://www.mikrocontroller.net]
Драйвера для Cypress чипа и конфигурационная программа
Распечатать (без комментариев)
Все вопросы в Форум.
www.radiokot.ru
Разумеется, «из коробки» нихрена не заработало — Уиндоус видит новое устройство, но не может поставить к нему драйверы. Не беда!
Что я сделал:
1) посмотрел VID:PID «неизвестного устройства», увидел сие: USB\VID_03FD&PID_000F&REV_0000
2) гуглим, находим это, ничего оттуда не качаем (мусорный софт нам не нужен)
3) смотрим на выделенную строку, видим «xilinx platform cable usb firmware loader USB\VID_03FD&PID_000F»
3.1) Ага! то есть, VID:PID всё-таки правильные, но iMPACT от Xilinx WebPACK ISE 13.4 всё равно не хочет находить этот кабель. Логично, драйвер-то не установлер.. почему-то. Ладно. Ищем дальше.
4) Находим, качаем (без мусорного софта не обошлось-таки), ставим (убрав галку с опции «проверять и другие драйверы тоже»). Видим, что светодиод на китайской коробочке магическим образом включается и светит оранжевым.
5) подключаем плоский 14-жильный шлейф к коробочке и JTAG-разъёму на плате с ПЛИСкой, подаём 5В на пины питания (штатный блок 5В/2А идёт с китайско-американской вилкой, т.е. — бесполезен). И чудесный светодиод включает зелёный.
6) Запускаем iMPACT,.. находим кабель.. инициализируем JTAG-цепь.. tada.wav, вот она рыба моей мечты!!!!
Собсно, у меня есть фитюлька от digilent — крохотная фигулька с микроUSB с одной стороны и шестиконтактной розеткой с другой, и она работает… но уж больно хлипкая конструкция. У китайцев вышло монументальнее.
И, к слову сказать, ЭТА коробка — китайский клон китайского клона германского клона фирменной железяки, чья цена ввергает в беспросветное уныние, а устроены они все одинаково: в основе схемы контроллер USB от Cypress и CPLD Xilinx для преобразования интерфейсов.
Фффух.
Ах, да, схему платы с ПЛИС я тоже нашёл, скопировал на свой дропбокс:
https://dl.dropboxusercontent.com/u/33498297/FPGA/XC6SLX9_CORE_V2.0.pdf
kincajou.livejournal.com
Таки доехала моя посылочка с программатором для хильки. В принципе, я уже успел все отладить с простым программатором, но штука не лишняя.
Программатор купил на ebay за 38 долларов включая доставку (оригинал стоит 260$). Скидку относительно оригинальной цены в $39.90+доставка+налоги+на пиво получил за заполнение маркетинговой анкеты с ибэя: святая халява!
Поиск на ибэе выдает много таких коробочек. Почему именно этот? На нем написано DLC9G – это последняя модификация девятого Platform Cable. Десятый еще не успели скопировать, по крайней мере, я не видел, да и не нужен он простым смертным.
Программатор приехал за 15 дней, и это радует. Запакован он был тоже неплохо – куча красного пупырчатого полиэтилена – теперь будет что пощелкать. На корпусе есть дефект – пластик слегка оплавлен паяльником.
В комплекте – куча проводов. Довольно неплохой USB-провод:
Кстати, с длинным (3метра) USB-проводом отладчик работать отказывается.
Провода для подключения к отладочным платам.
На корпусе есть две разрушающиеся наклейки:
После того, как программатор приехал, я включил его и убедился, что работает. Так как возвращать его я не собираюсь, заглядываю внутрь:
Пайка качественная, за исключением выходного разъема – видна холодная пайка, херовый, серого цвета, припой, с соплями. Это – легко поправимо.
На плате стоят CY7C68013A в 100 – ножечном корпусе и CPLD – XC2C256. Вот, если честно, мне сильно интересно – нафига городить такой огород для программатора? Неужто, одного сайпреса не хватило? Да и вообще, мне не понятна идеология – делать отладчики по 200$. Фирма то не на отладчиках зарабатывает, а на микросхемах. Хилька, одумайся!
bsvi.ru