Close

Software Demands

A project log for AVR Parallel Programming Testbed

Batch Testing and Programming PCBs

andre-moehlAndre Moehl 06/07/2017 at 08:340 Comments

The machine required a lot of software which I had to wrote. We need to log every fault of the target pcbs, generating and writing a serial number. A GUI for the worker. Software for the Slaves, Testsoftware for the Targets, Bootloader for the Slave and the Target and so on.

Master Controller

The worker needs a GUI, that he can see, if there is a problem with the targets. The GUI also shows the system state, the number of panel for each version of the target PCB.
In the background the software also logs the states of the PCBs.
The main routine is the controlling of the test and the programming of the targets. The software talks to each slave controller and tell them, what to do.

Slave Controller

The slave controller is a AVR programmer and Target tester. The software implements the ISP Protocol, the test routines. For Testing, the target gets a special test software. The slave talks to the tarket and read or measure results. Each test is controlled by the master. After each test, the master require the test result from every slave.

For easier handling, the slaves has a special bootloader. This bootloader doesn't answer unless the Upload Tool told him to do. The reason is, that all slaves are on the same wire and talk via UART.

Target

The target needs three parts of software. The test software, the bootloader and the final software. The master send the test software via the slave to the targets and perform the hardware test. If the test went fine, the bootloader will be flashed. Because for our special hardware design of the product, I wrote a special bootloader. When the bootloader is flashed and the serial number is set, the final software will be flashed. I didn't merge the both hex files of the bootloader and the final image for some reason. One of them is, that I can even test the bootloader in that way, that the flashing doesn't went wrong.

Finally, the Master runs a test to check the final firmware output.

Conclusion

There is a lost software and hardware which needs to play together. Sometimes it was a tricky task to find bugs. But today, after one year, the machine went fine. All hardware problems the machine found were correctly discovered. And thousands of PCBs were tested and programmed.

Discussions