TS-7840 FPGA: Difference between revisions
From embeddedTS Manuals
No edit summary |
m (Links auto-updated for 2022 re-branding ( https://support.embeddedarm.com/support/tickets/new?type=support-request&product=TS-7840 → https://support.embeddedTS.com/support/tickets/new?type=support-request&product=TS-7840)) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
The TS-7840 includes an Intel Cyclone IV FPGA. This is connected to the CPU over a x1 PCIe 2.0 lane, and provides additional perihperals and IO expansion to the system. | The TS-7840 includes an Intel Cyclone IV FPGA. This is connected to the CPU over a x1 PCIe 2.0 lane, and provides additional perihperals and IO expansion to the system. | ||
The onboard FPGA also permits customization such as adding quadrature encoders, PWM, additional serial ports, DMX, or other unique communication protocols. Please contact [https:// | The onboard FPGA also permits customization such as adding quadrature encoders, PWM, additional serial ports, DMX, or other unique communication protocols. Please contact [https://support.embeddedTS.com/support/tickets/new?type=support-request&product=TS-7840 Technologic Systems] if you require custom FPGA logic. | ||
The FPGA registers are in PCIe BAR0 of 1e6d:7840, and use legacy level based interrupts for the shared peripherals. | The FPGA registers are in PCIe BAR0 of 1e6d:7840, and use legacy level based interrupts for the shared peripherals. | ||
Line 32: | Line 32: | ||
| [[#FPGA RNG|FPGA RNG]] | | [[#FPGA RNG|FPGA RNG]] | ||
|- | |- | ||
| 0x100 | | 0x100 | ||
| [[#FPGA UART|16550 #0 (COM1 RS-232)]] | | [[#FPGA UART|16550 #0 (COM1 RS-232)]] |
Latest revision as of 17:24, 17 January 2022
The TS-7840 includes an Intel Cyclone IV FPGA. This is connected to the CPU over a x1 PCIe 2.0 lane, and provides additional perihperals and IO expansion to the system.
The onboard FPGA also permits customization such as adding quadrature encoders, PWM, additional serial ports, DMX, or other unique communication protocols. Please contact Technologic Systems if you require custom FPGA logic.
The FPGA registers are in PCIe BAR0 of 1e6d:7840, and use legacy level based interrupts for the shared peripherals.
All FPGA peripherals have drivers in our default BSP, but the FPGA registers can be manually accessed with fpga_peekpoke:
# 0x0 maps to the FPGA syscon, and register 0 of the syscon returns the FPGA revision
fpga_peekpoke 32 0x0
This will return the revision, such as 0x23.
Offset | Description |
---|---|
0x0 | FPGA Syscon |
0x24 | FPGA DIO Bank 0 |
0x40 | FPGA DIO Bank 1 |
0x5c | FPGA DIO Bank 2 |
0xa4 | FPGA RNG |
0x100 | 16550 #0 (COM1 RS-232) |
0x108 | 16550 #1 (COM2 RS-232) |
0x110 | 16550 #2 (GPS) |
0x1118 | 16550 #3 (Nimbelink) |
0x120 | 16550 #4 (Iridium Modem) |
0x128 | 16550 #5 (DSL Modem Debug) |
0x130 | 16550 #6 (Mikrobus UART) |
0x138 | 16550 #7 (RS-485) |
0x140 | 16550 #8 (XBEE) |
0x200 | SJA1000 compatible CAN controller |
0x400 | SPI controller |
0x800 | SDcore |