76
Messages
This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.
Messages - ian
77
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
Voltage measurements on all pins through the multiplexer is working
The multiplexer is controlled by the FPGA, but the MCU is still doing the analog measurement. In the next revision this will all be folded into the FPGA using the ADS7042.
78
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
The programmable output power supply works great! 0.8 to 5.0v output with 12bits of resolution!
Code: [Select]
temp=askint("value", 1, 0xFFFFFFFF, 1000);
rcc_periph_clock_enable(RCC_DAC);
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO4);
dac_disable(CHANNEL_1);
dac_buffer_disable(CHANNEL_1);
dac_disable_waveform_generation(CHANNEL_1);
dac_enable(CHANNEL_1);
dac_set_trigger_source(DAC_CR_TSEL1_SW);
dac_load_data_buffer_single(temp, RIGHT12, CHANNEL_1);
dac_software_trigger(CHANNEL_1);
//enable the VREG
gpio_set(BP_PSUEN_PORT, BP_PSUEN_PIN);
79
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
MCP1253 could be used to get a really solid 5v supply from Vusb, even if Vusb is above or below 5volts (4.4v-5.25 allowed by USB spec). Currently we power the 4066 (pull-ups), 4051 (4067) (analog mux), and the 2 op-amps from Vusb. I guess my concern would be ripple from the charge pump on the op-amps and analog mux.
U301 (adjustable power supply op-amp used for margining) could be powered by 3.3volts instead. We'd need to check for linearity issues close to the rails.
U201 (op-amp buffering voltage measurements) needs to be as close to 5V as possible, but powering this op-amp from either Vusb or a rippling charge pump sounds like an awful idea
I'll think this through a little more.
80
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
LM4040 is a 3.0V shunt reference. We could use this for the ADC AVDD. That would give us a max of 6.0volts instead of 6.6volts. If we take 8 bit measurements from the ADC then we would have a resolution of 0.0234volts/bit vs 0.0257volts/bit. Don't know if it's worth it, but it might be "proper"

I assume we'll take 8 bit measurements because the 10bit ADC only has 9.x bits or real resolution, and if we have 10 things to measure (DIO1-8, Vout, Vusb) that will consume 5 of our 16bit read registers.
The ADC uses max 200uA AVDD at full speed, the shunt can supply 100uA (minimum) to 15mA.
81
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
The only other ADC measurements we have are Vusb and Vout/Vref. Vout/Vref will need to be shown on the display, so it would make sense to keep that in the FPGA too.
How about we swap the 4051 with a 4067? It's 16bits mux and only needs one additional control line. Then connect Vout
@Sjaak pointed out that we are not measuring 1.2v for the self test. This should be measured from the MCU because if it is defective we wouldn't be able to measure it from the FPGA.
Also noted that there is a SC-70 version of the op-amps, and all 0.1uF caps can become 0402 at this point to save space.
*Switch 74HCT4051 with 74HCT4067
*Connect
*Connect MCU ADC pin directly to 1.2volt rail for measurement (no R divider needed)
*0.1uF can become 0402 as needed
*Consider sc-70 op-amps
*R805 and R806 to 50K
*Move or duplicate D200 on pin Z of the 4067
*Edit: it doesn't make sense to measure Vusb this way. It's even questionable to measure anything that might be >Vusb this way... At minimum we should clamp the input to the 4067 with a diode. Maybe move the diode protecting the op-amp to before the 4067?
82
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
*C73 should be 1uF
*VR1 to MCP1700-33 SOT-89? 4.7uF input capacitor, 1uF output cap (C28) (not VR2 for now...)
*VR2 needs the 4.7uF input cap
*Replace MCU ADC1 with ADS7041 connected to FPGA. Add C+R filter (C=1.5nF NPO/COG, R=25R)
*all of the chip Ux including the VRs
*logical part numbering. like e.g. in the buffer part of BPU we can name them in group like R1xx, C1xx, U1xx
83
Bus Pirate Support / Re: Bus Pirate communication in SPI Mode / SPI speed
84
Project logs / Re: Really universal soldering controller
85
Project logs / Re: Really universal soldering controller
86
Project logs / Re: Really universal soldering controller
87
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
- Transistor part number MMBF170
v1.0b updates:
- Add decoupling cap to open drain buffer
Soldering 0402 is fun! Even easier than 0603! Why did I avoid it for so long?
88
Bus Pirate Support / Re: Bus Pirate communication in SPI Mode / SPI speed
89
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
The display carrier boards arrived. Fit is pretty good.
90
Open Bench Logic Sniffer / Re: What's the best software for OLS? What do you use?
The OLS client is quite nice: https://github.com/jawi/ols
Sigrok has matured well: https://sigrok.org/
The wiki should have links to the latest firmware.
The OLS is still really capable, it's fast, it has a decent number of samples and complex triggers. It's weakness is the same as when it was first released: it doesn't have TONs of memory and it can't continuously sample like the Saleae type LAs. In terms of debugging it's still really powerful and it doesn't suffer from USB bandwidth problems at higher speeds (for me anything <2MSPS) like a Saleae LA.