The PortSwitcher reference design demonstrates Altium Designer’s unified design and development capabilities incorporating all aspects of the entire product under development; including the PCB, the FPGA design, and the embedded software.
The PortSwitcher PCB design consists of 4 ports, each with 17 input and 17 output pins. Each port is accessible via a 2x30 way 0.1’’ pitch header. Under user-control, each input port can be mapped to any, or multiple, output ports. Switching is performed inside a Spartan II FPGA, managed by an embedded TSK51 (8051 equivalent) processor. User-control is performed via RS232 to a simple dumb terminal attached to the board. The PCB project demonstrates the use of Altium Designer’s multi-channel design capabilities.
The FPGA design demonstrates the use of a TSK51 (8051 equivalent) embedded microprocessor. A series of multiplexers in the FPGA hardware are used to switch any input port to any output port, under microprocessor control. The RS232 terminal interface is implemented using the RS232 interface in the TSK51. The FPGA project also demonstrates the use of Altium Designer’s multi-channel design capabilities.
The PortSwitcher reference design embedded project demonstrates the embedded development aspect of Altium Designer’s unified FPGA design and development process. The embedded software is written in C and runs on the TSK51 processor embedded in the FPGA. It handles hardware initialization, port switching, and also implements a simple command interpreter. Via an external RS232 terminal, a user can control the port switching and query a number of status values. This is managed by a lightweight, interrupt-driven, serial port handler.
The download also includes the FPGA project, PortSwitcherFPGA1C_Nanoboard.PrjFpg, an alternate version of the FPGA project. This project is targeted to run on the NanoBoard, rather than the custom PortSwitcher reference board, with some additional design debugging features.
This example was designed by a 3rd party designer during the development of Altium Designer's FPGA and embedded software development capabilities.
Altium Designer Projects included in this download:
- PortSwitcherPCB1D.PrjPCB
- PortSwitcherFPGA1C.PrjFpg
- PortSwitcherEmb1C.PrjEmb
- PortSwitcherFPGA1C_Nanoboard.PrjFpg (use this to test the design concept on a NanoBoard)