Continuing from where we left off last week, we make a few last-minute additions to the Spartan-6 schematics and design the footprints of the components in preparation for PCB design.
Just a short post this week, but click here to skip to the conclusion.
With all the pins of the PIC18 routed, it was time to do the same for the Spartan-6. With a total of 144 pins, two out of four of the Spartan-6 LX9 banks remained under-utilized. As such, it was suggested to use them for the Micro USB and Micro HDMI connectors on the board. Although these functions might not be implemented on the prototype, they remain as possible additional features. These peripherals are also interesting in that they rely on differential signaling for data transmission. The Spartan-6 is well equipped to handle various differential standards, but most outputs are only available on Banks 0 & 2.
Recalling the Arduino Uno form factor, the board must have at least 14 digital I/O pins, but with the large number of pins still left unused on the Spartan-6, up to 54 digital pins can be provided. These pins do not all have to be connected to sockets; some can be left as bare pads for the user to experiment with. Board area may become an issue for such a large number of I/O pins.
The last few minor touch-ups to the schematic include adding 10kΩ isolation resistors to pins RB6 & RB7 (the keyboard interrupts) since they were also used for ICSP programming, and putting activity or “heartbeat” LED indicators for devices on the board.
Before proceeding to PCB design in KiCAD, each component needs to be assigned a footprint. It then becomes important to consider which component to use from which manufacturer since there may be slight footprint differences, even with standardised specifications e.g RJ45 sockets. Moreover, not all components could be found in the KiCAD footprint (or module) library.
As such, some time was devoted to sourcing and/or creating footprints, in particular for the Ethernet RJ45 magjack, Micro USB Type B jack, Micro HDMI Type D jack, and SKU80711 Wireless Bluetooth Module.
The final set of PCB footprints is as shown in Fig. 1 below. The end product will fit all the components on an Arduino Uno-sized board.
Fig. 1: Component footprints
Now that the schematics are sufficiently complete and PCB footprints ready, work on PCB placement and routing can begin. The main challenge will be just trying to cram everything on the tiny (68.6×53.3mm) board!
This has been a relatively short week due to it being Aidilfitri this weekend. Selamat Hari Raya, everyone!