FreeCalypso > hg > freecalypso-schem2
view venus/src/usb/FT2232D_block.v @ 70:8bc2aa52fd23
manual RESET button new part: 260 g force, shorter actuator
One of the main envisioned use cases for FC Venus is field demonstration:
the board will be carried around, mounted on a sheet of acrylic or somesuch,
it will have a battery and an antenna connected, there will be a test SIM
with active service inserted, and the setup will be ready to demonstrate
as a working phone at a moment's notice. But when a demo is not actively
in progress, the fully assembled setup will be transported around in a big
and loose ESD bag, and it will need to be equivalent to a traditional phone
in its switched-off state: battery present, RTC keeping time, but not
switched on all the time.
Having a RESET button of the same keyswitch type as used for the regular
keypad and PWON would cause a problem for such field transport scenarios:
any spurious press of this button would cause a "misc boot" switch-on.
Short spurious presses of PWON are filtered out by the firmware (automatic
power-off if the button isn't held down long enough), but the same cannot
be done for super-low-level nTESTRESET. However, a button with significantly
greater operating force and a shorter actuator (not sticking out to the same
height as the regular keypad buttons) should be much safer.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 02 Dec 2021 22:40:39 +0000 |
parents | 8f3df7a222f5 |
children |
line wrap: on
line source
/* * This module encapsulates the FT2232D chip and its immediate accessories: * the oscillator crystal, the EEPROM, the AVCC filter and the cap on 3V3OUT. */ module FT2232D_block (GND, VCC, VCCIOA, VCCIOB, USBDP, USBDM, RESET, RSTOUT, PWREN, ADBUS, ACBUS, SI_WUA, BDBUS, BCBUS, SI_WUB); input GND, VCC, VCCIOA, VCCIOB; inout USBDP, USBDM; input RESET; output RSTOUT, PWREN; inout [7:0] ADBUS, BDBUS; inout [3:0] ACBUS, BCBUS; input SI_WUA, SI_WUB; /* FT2232D pins handled within this block */ wire EECS, EESK, EEDATA; wire XTIN, XTOUT; wire AVCC, FTDI_3V3; /* instantiate the FT2232D */ FT2232D_chip FT2232D (.GND(GND), .AGND(GND), .VCC(VCC), .AVCC(AVCC), .VCCIOA(VCCIOA), .VCCIOB(VCCIOB), .OUT_3V3(FTDI_3V3), .USBDP(USBDP), .USBDM(USBDM), .EECS(EECS), .EESK(EESK), .EEDATA(EEDATA), .RESET(RESET), .RSTOUT(RSTOUT), .TEST(GND), .PWREN(PWREN), .XTIN(XTIN), .XTOUT(XTOUT), .ADBUS(ADBUS), .ACBUS(ACBUS), .SI_WUA(SI_WUA), .BDBUS(BDBUS), .BCBUS(BCBUS), .SI_WUB(SI_WUB) ); /* VCCIO bypass caps */ capacitor VCCIOA_bypass_cap (VCCIOA, GND); capacitor VCCIOB_bypass_cap (VCCIOB, GND); /* AVCC filter */ resistor AVCC_filter_R (VCC, AVCC); capacitor AVCC_cap (AVCC, GND); /* 3V3OUT */ capacitor FTDI_3V3_cap (FTDI_3V3, GND); /* crystal oscillator */ usb_xtal_wrap xtal (XTIN, XTOUT, GND); capacitor XTIN_cap (XTIN, GND); capacitor XTOUT_cap (XTOUT, GND); /* serial EEPROM */ wire EEPROM_DOUT; eeprom_93Cx6_16bit eeprom (.GND(GND), .VCC(VCC), .CS(EECS), .SK(EESK), .DIN(EEDATA), .DOUT(EEPROM_DOUT) ); resistor DOUT_series_R (EEPROM_DOUT, EEDATA); resistor DOUT_pullup_R (EEPROM_DOUT, VCC); endmodule