4700 FPGA Functionality
All macrocontrollers feature an FPGA. Any external interfaces called for by the TS-SOCKET specification that are not provided by the CPU are implemented in the FPGA whenever possible. The FPGA is connected to the CPU by a static memory controller, and as a result the FPGA can provide registers in the CPU memory space.
While most common functionality for the TS-4700 is accessed through layers of software that are already written, some features may require talking directly to the FPGA. The TS-4700 provides access to the FPGA in an 8 bit region and a 16 bit region. The 8 bit base address is 0x81000000. The 16 bit base address is 0x80000000. All registers inside the TS-4700 FPGA are 16 bit registers and should be accessed via the 16 bit space. The 8 bit space is only needed for off-board 8 bit devices on the MUXBUS. To access hardware cores in the FPGA, add the offset in the table below to the base address.
Offset | Usage |
---|---|
0x0000 | 16KB blockram access (for XUART buffer) |
0x4000 | Syscon registers |
0x4400 | ADC registers (for off-board ADC) |
0x4800 | SPI interface |
0x4C00 | CAN controller interface |
0x4D00 | 2nd CAN controller (not implemented) |
0x5000 | Touchscreen registers |
0x5400 | XUART IO registers |
0x8000 | 32KB MUXBUS space |