07-06-2020 04:52 AM - edited 07-06-2020 05:09 AM
I'm new in handling such complex devices and in a process of fixing a control motherboard of a Amatrol arm robot, I was supposed to replace a Xilinx XC95144XLTQ144 10C CPLD.
Now I'm not clear about the initial setup of these CPLD's. currently all the I/O pins are high when the system is powered up.
Is there a default flash file available that I could upload and enable the Chip? or How can it be prepared to receive and process data from host software?
I would be very thankful for your support.
07-06-2020 05:53 AM
@Jagadish You can think of a CPLD as being a lot like a microcontroller. There's no such thing as a "default flash file" (apart from the ones various suppliers provide with demo boards, to blink a few LEDs etc) - it has to be programmed for the task it'll be doing. Obviously the correct way to get the programming file is to call Amatrol and ask them; they may be willing to send you a pre-programmed chip.
The "incorrect" way to do it is to grab another (identical) motherboard, plug a Xilinx Platform Cable USB II (or equivalent JTAG programmer) into the JTAG header (the 6-pin header just above the troubleshooting table, which is so helpfully labelled) and read the bitstream off that. The XC9500XL series doesn't appear to have any bitstream protection at all, so this should be relatively straightforward if you have another motherboard handy.
I would definitely not experiment with different bitstreams; from what I can see of that board, the CPLD seems to be in charge of lots of fairly high-current devices (motors, I expect) and also over-current protection. Putting incorrect firmware on there would be a good way to burn down the motors, the robotic arm, and possibly the building.
07-06-2020 06:35 AM
@u4223374 Thank you so much for your kind support. I will try my best to keep my building and equipment from turning into ash.
I did ask Amatrol for support but unfortunately the services for this particular model is no longer available.
I will try to find a similar board to copy its bitstream and in case if i had to write a program to it, how could I speculate the function of pins?
(There is a PMD MC2000 I/O IC, 40MHz osillator, FTDI 2232 communication IC, PMD MC2140 CP (Motion sensor) with two CY7C109BN rams located in series with the CPLD
the I/O pins are connected to MC33883DW Brushless DC motor drive)
I found this configuration on this motherboard. Will this be somehow useful to write a program?
Do you have any sources, where I could find a sample or an explanation on writing program for a CPLD.