ISP cable schematics

I decided to put all ISP/JTAG cable circuit diagrams (schematics) in one page for easy navigation. The schematics are gathered in the internet in various web pages and datasheets. Cables are not designed by me, but I made some of them and tested. These cables can be used to program various CPLD/FPGA chips and some Atmel AVR/ATMEGA mcus.

Posted in Anything | Tagged | 6 Comments

Chip is too small

I decided to connect LCD monitor to my CPLD project. LCD monitor is without frame buffer RAM, without controller- just simple LCD matrix. All data is dynamically fed to LCD. For my first experiments I was using Lattice isp2032VE. The programming software is very simple, configuration is stored in nonvolatile flash memory. But it is small chip. The number of pins is good, the package is very good, but I am lacking of internal logic power.

Low of GLBs.

Here is my “workbench”. The ROM is imitating video RAM- the contents of the ROM is displayed on the screen. I must receive chaotic, but static image. All signals: vertical and horizontal sync signals, pixel clock and address are generated from master clock by CPLD. But I reached the margin of this chip- if I add single pin I receive message: “34200 ERROR: Number of GLBs, 9, exceeds maximum number of available GLBs, 8, in part ‘ispLSI2032VE-110LT44’ “.

But I need at least 11 pins more! I searched my archive again… I have ispLSI2128-100LT… but it is unsupported by demo software. Or something wrong with my PCB.

I was forced to change chip family. In some old DSL modem I found ALTERA’s Flex chip. Using air gun I blowed away almost everything and left only FPGA, power regulator, some RTC chips and LEDs with drivers. Now I have something like experimental board- the JTAG port is routed in this board.

Low of GLBs.

ALTERA’s software differs from Lattice. I need to learn few tricks again. The programmer detected my chip and I traced all usable pins: LEDs, test points, switches…

Posted in Anything | Leave a comment

CPLD and FPGA

Some introducing to programmable logic chips or just my throes…

I was forced to learn about programmable logic. The mental outfit is zero. I only know that there are such devices.

The most simple and oldest CPLD (complex programmable logic devices) are PAL (PALCE) and GAL chips. The problem is, that you need special programmer to program these devices. There is ONE (!) (galblaster) circuit diagram in the whole internet for GAL chips. It is old, maybe buggy and quite complicated device. Software is designed for old OS and maybe not running on modern, fast computer, running in hardware protected mode. And NONE (!) for PAL and electrically erasable PALCE chips.

So I take a glance to next generations chips. They are programmed using serial JTAG (or similar) interface and can be reprogrammed for many times. You even don’t need to pull out the chip as it is programmed in in circuit programmed mode (ISP). No need for complicated programming devices, the software is available from manufacturer for free. The flip-side of these chips- they are expensive and rare to find in Lithuania. The current support for hobbyist in Lithuania is awful. The only way to get device is to order by mail, buy in ebay or salvage from old equipment.

I selected last way to obtain the devices. The only source is the old electronic devices. But these devices must be rare, not used in wide market. It must be some communication equipment, some scientific devices, custom design computers and peripherals and other stuff. You must have luck and good eye to spot chip in junk pile.

Here is my booty:

CPLD / FPGA
(I have some more ALTERA devices, but with BGA package. This package is still not usable by my technology.)

A and C is AMD Mach 110 and 120 series chip- I don’t have software.
B- Xilinx FPGA XC3142A, current demo software didn’t support it.
D- Altera EPM7032LC44-15T – untested, but it seams not supported by current software.
E, F, G – Altera’s FPGA Flex line (EPF10K10TC144, EPF81188ARC240, EPF8636AQC208) – only one chip supported by software.
H- Lattice isp2032VE110LT44 – Fully supported by software.
I- EPM3032ATC44 – supported by software, but the chip is in working device.
J- Lattice ispLSI2128 100LT- software supports chip with “A” in the part number. Datasheet describes “A” as enhanced version of plain chip, but software is not supporting this device id. It even didn’t scan JTAG chain, but the device is working (or problems in current PCB). I need this chip working.

You need special software to compile the chip “design”. The software produce jedec file. This filed is programmed to device using any programmer. Typically you can find software in chip manufacturer’s site. The problem is, that software is very expensive. The demo version is supporting only few, “promotional”, devices. This factor reduce my selection.

FPGA (field programmable gate array) devices are very cool, but the configuration is stored in static RAM, so after power down, the configuration is lost and the device must be reprogrammed again. This is done by special small ROM chip, some MCU or using JTAG cable and “big” computer. For my first experiments I would like to use less complicated programming. So I selected CPLD with build in flash memory.

Another important fact is package. As I mentioned above, I can’t use BGA. Other chips with hundreds of tiny pins are not very suitable for me. I must select “older” devices with thick pins or new devices with small pin count.

So the only chip for my first further acquaintance is Lattice isp2032VE110LT44.

• SuperFAST HIGH DENSITY IN-SYSTEM
PROGRAMMABLE LOGIC
— 1000 PLD Gates
— 32 I/O Pins, Two Dedicated Inputs
— 32 Registers
— High Speed Global Interconnect
— Wide Input Gating for Fast Counters, State
Machines, Address Decoders, etc.
— Small Logic Block Size for Random Logic
— 100% Functional, JEDEC and Pinout Compatible
with ispLSI 2032V Devices
• 3.3V LOW VOLTAGE 2032 ARCHITECTURE
— Interfaces With Standard 5V TTL Devices
• HIGH PERFORMANCE E2CMOS® TECHNOLOGY
— fmax = 300 MHz Maximum Operating Frequency
— tpd = 3.0 ns Propagation Delay
— Electrically Erasable and Reprogrammable

Posted in Anything | Tagged | Leave a comment

Controllerless LCD on printer port

It was told that it is impossible to connect standard controller-less LCD screen to the computer’s printer port. The main reason it is not working is the speed of the computer. In fact, the speed of printer port.

I decided to test this situation and attached Sharp LM64P10 (640 x 480 STN) screen to my computer. And here is the result:

big graphic LCD on LPT

The image is repeating because the first 4 bits of the data byte is for upper screen and other bit are for lower part. As I was missing spare pins on my LPT to “breadboard” adapter, I just connected the lower nibble with upper.

big graphic LCD on LPT

The refresh rate of the screen is horrible. The only reason you see this nice image, is that digital photo camera is using very long exposure (half of the second). The real refresh rate is only 2…3 fps. The manufacturer recommends to use at least 80 fps. 🙂

big graphic LCD on LPT

The data is going to the right place- pixel to pixel. Now I need to attach some SED or Hitachi controller or build some self-made controller based on FPGA.

Technical stuff below…
Continue reading

Posted in Anything | 4 Comments

ispDownload cable

To program CPLD programmable logic) devices you only need very simple isp download cable. The cable is simple if we use computer’s printer port.

For my experiments I removed Lattice isp2032VE chip from old wireless router and soldered it to test PCB. This chip is supported by free licensed Lattice Semiconductors software. You can download software for free from Lattice web pages.

Somehow cable circuit diagram is hidden in Lattice pages, but while searching world wide web I found it. The first description was from Intel (!) web page. It is description of the cable and small schematics.
And from some personal pages I found full circuit diagram of Lattice ispDownload cable. It is universal isp and JTAG cable, but it is supported only by Lattice software.

New CPLD chips are 3.3V or less logic, but cable chips are powered by 5V. So don’t forget to use proper power supply voltage. My chip is 3.3V, but 5V tolerant, so no problems with interfacing with computer.

No need to build PCB for such small device, so I made everything in the “air” and glued with thermal glue.

ispDOWNLOAD Cable For Programming Lattice ISP Devices

These two resistors I added only to protect my computer if I’ll decide to connect the powered cable to computer. One resistor is connected to Vcc sense- I don’t like to put full Vcc power to my computer LPT port pin. Other resistor is connected between shield ground and data ground pins. When you connect the connector, the shield is connected first and all voltage difference with go threw this resistor first reducing possible power surges.

Posted in Anything | Tagged | 1 Comment

Graphic LCD to PC

From old device I removed controlles graphic LCD screen and part of the mainboard with Toshiba controller. As controller was with all hardware, I just connected everything with air wires to PC printer port using my breadboard.

graphic LCD

There are two main chips on controller “board”- the controller itself (Toshiba T6963C) and small RAM to store data. All other stuff left on board is leftover from the other device components and negative power supply.

Continue reading

Posted in Anything | 2 Comments

LCD module test

LCD module test or how to connect the beast to PC printer port.

I received few requests how to test the LCD module using easy to obtain software. Maybe people are to lazy to search internet… So, here is simplified instructions how to connect standard LCD module to PC computer port (LPT) and how to configure WinAmp plugin.

The circuit diagram is very simple. Attention! Some old or nonstandard, “winter”, modules require additional power supply to be connected to Vee pin (contrast). But most of the modules are working from regular voltage, and you connect Vee pin to ground or using some trimmer connect it between Vcc (+5V) and ground (GND). All standard modules after power-up show one dar line to demonstrate that they are working.

The circuit itself is very simple. Take note to trimmer on Vee.

Continue reading

Posted in Anything | 2 Comments

White LED driver

After I smashed about 5 mobile phones and collected some white LEDs, I decided to build some some LED searchlight. There are two ways to solve this problem: first, Chinese version, just connect some white LED’s to battery and use some ballast resistor. And watch you spotlight fading while the battery is loosing it’s power. Ante the second, hi-tech, way. To build special LED driver.

almost all recent white LEDs are in fact blue LEDs with special coating to emit missing wavelengths and the result is white color. To use LED and full efficiency, you must supply constant working current to LED. It is possible to connect LED in daisy chain way using only one current ballast, but the voltage must be quite high (~3V per LED) or connect them in parallel. But in parallel mode you must use separate ballast for each LED.

Chip manufacturers make special chips- LED drivers. This chip lets you to connect LEDs in daisy chain and is working from single cell. I received sample from Linear Technologies. It is LT3486, dual channel white LED driver from single Li-ion cell.

It is generic step-up converter with feedback from current shunt resistor and over-voltage protection. In sample circuit there are 2×8 white LEDs connected to chip. But other example is with 2×16!

I thing the limit is only max power on the chip, max voltage on the output (35V) and max current (~25mA typical) per channel. And the number of diodes are not very significant value.

The only bad thing is that chip is “new style”, lead-less and very small…

White LED driver

The circuit is very simple. All component are easy to get. As I love using second hand components, I had some difficulties collecting very small 10μH inductors. Thanks to Samsung digital cameras, I removed inductor from camera’s PCBs. Other component was fast schottky diode- recommended one was ZHCS400 (40V, 400mA), but I placed IR1F4 (10BQ040), 40V, 1A. I don’t know if it is fast enough.

White LED driver circuit diagram

This is first run. Only one channel is working- 9 White LEDs from mobile phone back-light. Power supply is one LiIon cell (~4V). The voltage across LEDs are 29V, empty circuit voltage- 36V. White LEDs are getting quite hot- I made some mistake in calculations and LEDs are overloaded.

White LED driver

Continue reading

Posted in Anything | Leave a comment

Sweep generator

You maybe noticed time gap in my weblog. I am constructing more complex device at this time and don’t have spare time for usual weblog entries. So I posted only few old re posts and some small note from “vandalising” theme.

My “great” project is seep generator with some additional features.

Final product will output: sweep signal in square, triangle and sin form. Also sweep generator can be used as wide band generator. Also, by adjusting few knobs the output can be transformed to sawtooth- left or right side.

The main device is still under construction, but some results can be posted here:

Sweep generator

This is frequency characteristics of standard 455kHz ceramic filter. There is lack of detector and frequency marks, but something is showing. I can not tell that the output is right as I don’t have other equipment to test or compare the results.

Other features: the generator has the frequency modulation (FM) and pulse width modulation (PWM) inputs.

Continue reading

Posted in Anything | Leave a comment

Wireless mouse

I am using wireless mouse for several years. Recently I collected some same model spare mice for my experiments. It is low frequency (~27MHz, CB band!) mouse with docking station to charge two AAA batteries. All other specifications are typical. The only annoying thing this this mouse are side buttons programmed to act as “back” and “forward” in internet explorer. Also there is another quite annoying feature- very short time for idle time. Just leave the mouse for minute without moving and it change status to standby. You need to press any button to revive the device.

Wireless mouse

The radio range is quite short, but who is using mouse in big distances. In my experiments, the max distances was about 3 meters.

Time to open the mouse…
Continue reading

Posted in Vandalising | Leave a comment