原创 一个蛮不错的CPLD编程器电路图2

2008-10-19 23:34 4038 10 12 分类: FPGA/CPLD
Control Unit of CPLD Programmer
This is the control unit to write the data of the JED file in the CPLD device.


Pattern drawing

Parts explanation

As for the circuit diagram, refer to "Circuit drawing of CPLD Programmer".


The main part of circuit is based on the information which the Xilinx Inc. makes open on the following site for the person who want to build own download cable.

JTAG Parallel Download Cable Schematic

Parallel port



The CPLD programmer is connected with the parallel port of the personal computer. A printer is generally connected with the parallel port.
The figure on the left shows the signal of each pin of the parallel port.

A pin numbering is written by the small character at the connector. Because the assignment position with number becomes opposite on the side of the male connector and the side of the female connector, make not make a mistake. The 1st pin is connected with the 1st pin of the opposing connector.



At the equipment this time, each pin is used as follows.

Pin #Usual nameName this timeUseage
2PD0(I/O)DIN(OUT)Data signal output(TDI)
3PD1(I/O)CLK(OUT)Clock signal output(TCK)
4PD2(I/O)TMS_IN(OUT)Mode selection output(TMS)
5PD3(I/O)CTRL(OUT)Output control signal
6PD4(I/O)PROG(OUT)Input control signal
8PD6(I/O)D6(OUT)Signal for condition detection?
11BUSY(IN)BUSY(IN)Busy detection
12PE(IN)PE(IN)Parity error detection
13SLCT(IN)DONE(IN)Data signal input(TDO)
15ERR#(IN)VCC SENSE(IN)Dvice status detection
18-25GNDGNDGrounding

In the table above, the IN and OUT are the direction of the signal which was seen from the side of the personal computer.
It becomes contrary to the seeing from the side of the equipment.


The 8, 11 and 12th pins are connected at the connector. These three pins seem to be the one to confirm whether or not a programmer is connected.





Bus buffer circuit




CAY
HXZ
LLL
LHH

A bus buffer is put in the signal conductor of JTAG(TMS, TCK, TDI and TDO). 3 State buffer is used for buffer circuit. By this, the writing circuit to the CPLD device doesn't influence the parallel port of the personal computer. The buffer circuit works only when transferring data with the CPLD device. When not transferring data, the output of the buffer becomes high impedance and becomes the condition which was separated from the circuit. When the transfer of the data is done, the buffer becomes low impedance to the CPLD device and makes the writing of data possible.

When the C terminal is H level, output terminal (Y) becomes high impedance. In this condition, it becomes the same when a bus buffer isn't connected.
When the C terminal becomes an L level, the condition of input terminal (A) comes out to output terminal (Y).
Because there is a high impedance condition in addition to H level and L level, this buffer is called a 3 State buffer.

In the table, Z shows a high impedance condition.






Device switching circuit


A device is switched by the rotary switch. Either one device can be controlled.

Because it uses only any one generally, it is to be OK even if it doesn't switch. In the case, it is necessary to be careful when using.

In case of the PWB mode, the power supply to the CPLD device uses the outside power. It is possible to use the power of this equipment only in about 100 mA.







LED display


The green LED displays the situation of power (Vcc) and the TDI-signal makes a red LED light up at the time of the L level.
Because the red LED is during the blink while forwarding data, don't dissolve to switch off the power, to pull out a cable and to remove a device.
To make an influence over the TDI-signal little, the value of the resistor to be putting in the LED in series is big comparatively.






Power circuit



This power circuit makes the stable voltage(+5V) which the bus buffer and the CPLD device needs.
3 terminal regulator is used to get +5V output from +12V power in.

Control Unit


This unit is composed of the bus buffer circuit and the power circuit for the JTAG signal.







PLCC socket

The sockets for 44 pins and 84 pins are mounted on the unit. I want zero pressure type like the PIC programmer. However, it can not be realized by the structure of the socket.
To remove a device from the socket is a little complicated.






DSUB-25 connector ( Female )

This is the connector to connect the cable of the personal computer.
As for the connector of the cable which was used this time, the both edges were to do male connector being. Therefore, the connector of the female is used for the side of the programmer.







Cable for DSUB-25

This is the cable that the both edges had a male connector. The cable which all of the 25 pins are connected with should be used for this cable. When using a cable for the modem, it should use a straight cable. It is not a crossing cable.






Case


I used an aluminum case.
The size of the case has 100-mm width, 30-mm height, 140-mm depth.






Rotary switch


This switch is used for ON/OFF of the power and switching of 44 pins, 84 pins, the outside JTAG. The selection of either of 44 pins, 84 pins or the outside JTAG by this switch. A 6 circuit -4 contact type is used.






Knob


As the knob of the switch, the type for which the position of the switch is easy to see is used.






LED for the programming display


The green LED lights up when turned on. The white LED(The lighting-up color is red) blinks when writing data in the CPLD device.







Outside JTAG cable connector


This connector is used to connect with the CPLD device which is mounted on the printed board outside.







Connector of JTAG of the side of the printed board

This is the connector to mount on the printed board outside. A shape isn't decided. I used the connector which is as small as possible to make implementing space little.
Generally, I write data in CPLD using the programmer. So, I don't put a connector to the printed board outside.







Power connector

The inputting voltage of the unit is +12 V. The inner circuit works at +5 V using the regulator.







AC adapter

This device changes to DC 12V from AC 100V.







Front panel


The panel which was printed with the color printer is put to the surface of the programmer.
I put in printed paper with the acrylic board with 0.5-mm thickness.






Terminal


This is the terminal to confirm CPLD in the operation. All PLCC pins are connected with the terminal.

PLCC socket assembly
The sockets for 44 pins, 84 pins and for the outside JTAG are mounted on the universal printed board. The printed board which mounted sockets is put to the lid of the case. As for the position of the sockets, the operation of the screwdriver must be considered when removing a device.







Installation of the rotary switch

I considered the operability of the switch and I put the switch on the upper right of the case.






Installation of the printed board for the socket

As the procedure which is installed a printed board on the lid of the case, it puts marks to the position of the sockets and makes holes on the lid of the case using the handsaw and the files so on.
When attaching a device to the PLCC socket, power is gained to the printed board. To prevent from the damaging of a printed board by this power, I fixed on the position of the four corners of the socket with the case using the plate screw. The screws are hidden behind the panel.











Installation of the DSUB-25 connector

DSUB-25 connector is installed on the back of the equipment. The form of the connector isn't square. I made a hole which is smaller a little than the connector with the handsaw and shaved to the size of the connector with the file.








Installation of the control unit

This unit is installed in the position which doesn't touch a rotary switch.








Installation of the LED


It is installed in the position where the display is easy to see.







JTAG cable


This is the cable to write data in CPLD to have mounted on the printed board.


文章评论2条评论)

登录后参与讨论

用户519920 2009-8-31 10:22

楼主可以发给我吗 正需要,非常感谢! jianqingping@sina.com

用户149863 2008-11-28 15:09

顶↑ 顶↑ 顶↑ 好东西啊
相关推荐阅读
用户461316 2009-08-17 17:57
Zigbee星型网络组网程序段
最近一直在做Zigbee的星型网络的组网试验,由于时间的原因,现在只是在最高的应用层上来编写程序。即协议栈的程序是2430的开发商(无限龙)编写的,我只是调用相应的函数来完成组网的,星型网络组网部分的...
用户461316 2009-08-17 17:14
VB6的标题栏使用上真彩色图标
模块 ModIcon.Bas 代码: Option Explicit Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long...
用户461316 2009-08-17 16:58
AppendToLog一个API方式存取日志文件的模块
'**************************************' 模块名称: AppendToLog' 功能描述:一个很不错的日志文件写入模块,不同于'     open/print/...
用户461316 2009-08-17 16:57
(VB自定义函数)去除字符串中的空格
'去除字符串中的空格(方法一)Public Function DelBlank(SearchString As String)   DelBlank = Replace(SearchString, C...
用户461316 2009-08-17 16:56
(VB自定义函数)对任意输入的汉字,可以得到它的拼音的第一个字母
调用方法:Command1.Caption = getHzPy("你")'//函数入口为汉字串,返回值为该汉字的第一个字母Public Function getHzPy(hzStr As String...
用户461316 2009-08-17 16:54
VB_代码执行速度测试
'**************************************'Windows API/Global Declarations for :[ '     A Simple] code ...
我要评论
2
10
关闭 站长推荐上一条 /2 下一条