Front Panel For 8 Bit Computers

From Land Boards Wiki
Revision as of 14:47, 4 February 2023 by Blwikiadmin (talk | contribs) (→‎Features)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Tindie-mediums.png

Front Panel for 8-Bit Microprocessors

EightBitFrontPanel720px.JPG

Top row controls

Typical controls.

FrontPanel-01-Front-3D-controls.png

Features

It has these features. They may not fit your generic design. Especially since this card has to have an I2C interface.

  • 32 Pushbutton Switches
  • 32 LEDs
  • I2C interface (Two Wire interface - plus power and ground)
    • Jumper selectable base address
    • Occupies I2C addresses either 0x20-0x23 or 0x24-0x27
    • Jumper Selectable I2C terminators
  • I2C daisy-chain connector
    • Interrupt line
      • Can be configured to interrupt on button presses
      • MCP23017 need to be set to Open-Drain output - card has pull-up to Vcc
  • 4 MCP23017 16-bit I2C Port Expanders
    • These are fine pitch surface mount parts
    • MCP23017 Datasheet - Rev D
    • MCP23017... LOST TWO INPUTS
      • MCP23017 now a 14/16-bit expander, with two of the pins (GPA7 and GPB7) losing their input capabilities
      • The chips look the same, are called the same, and act mostly the same — if you don’t download the latest version of the datasheet (Revision D), you’d never know that there’s been a change
  • 3.3V or 5V operation
  • Compatible form factor with RETRO-EP4CE15 and other cards
    • 95x95mm
    • 6-32 mounting holes

Connector

J2 - I2C Connector

  • Two row header on bottom of card
  • 5 pin in
  • 4 pin out (daisy-chain)
  1. GND
  2. VCC
  3. SDA
  4. SCL
  5. INT*

And

  1. GND
  2. VCC
  3. SDA
  4. SCL

Schematic

Drivers

VHDL Driver

VHDL Entity

-- -------------------------------------------------------------------------------------------------------
-- Front Panel starts here
	
fp01 : work.FrontPanel01
  port map
  (
    -- Clock and reset
    i_CLOCK_50		=> i_CLOCK_50,		-- Clock (50 MHz)
    i_n_reset		=> w_resetClean_n,	-- Reset
    -- 32 outs, 32 ins
    i_FPLEDs		=> w_LEDsOut,		-- Out to LEDs (32)
    o_PBRaw		=> w_PBsRaw,		-- Raw version of the Pushbuttons (32)
    o_PBLatched		=> w_PBLatched,		-- Latched version of the Pushbuttons (32)
    o_PBToggled		=> w_PBsToggled,	-- Toggle version of the Pushbuttons (32)
    -- I2C interface
    io_I2C_SCL		=> io_I2C_SCL,		-- I2C clock to Front Panel card
    io_I2C_SDA		=> io_I2C_SDA,		-- I2C data to/from Front Panel card
    i_I2C_INTn		=> i_I2C_INTn		-- Interrupt input - active low
  );

-- Front Panel ends here
-- -------------------------------------------------------------------------------------------------------

Arduino Driver

Micro-Python

C Code

Assembly Sheet

Front Panel Assembly Sheet Rev 1