Для любого начинающего и не начинающего любителя ПЛИС рано или поздно встает вопрос о том как, а точнее чем запрограммировать купленную или созданную отладочную плату с ПЛИС. Ответ прост – приобрести фирменный программатор 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 |
угловые 2x7 штырьковые ** |
ML14L |
1 |
JP3 |
Выносной 1x2 |
JP1Q |
1 |
X1 |
USB-разъем Type-B |
LUMBERG241103 |
|
|
|
|
Наладка
После сборки печатной платы настает этап отладки программатора. Так как программатор является устройством «настроенным», т.е. если ошибок в схеме нет, то после прошивки CPLD программатор будет готов к работе.
В первую очередь необходимо чтобы ПК обнаружил USB драйвер программатора, а далее пользуясь ISE 10 версии необходимо прошить программатор. Запустите iMPACT ISE 14 и обновите прошивку программатора.