Skip to main content

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

76
Client software / Re: OLS 9.7.2 not working on OSX
I'm sorry, we must have had some problems migrating the forum. I also notice old quotes are not working. I'll write some REGEX to fix it and run it on the old posts.
78
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
X

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 :)
X

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 :)
X
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.

X

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 :)
We're going to handle IO pin voltage measurements with a small SPI ADC running constantly at 1MSPS.

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 and Vusb measurement to the mux? That eliminates 4 2 resistors (and 2 constant loads to ground).

@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 Vusb and Vout to 4067, remove connections to MCU ADC pins leave the redundant connections
*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 :)
Updated v1c PCBs are in git with most of the fixes above. Here's what we came up with in review:

*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
X
*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
88
Bus Pirate Support / Re: Bus Pirate communication in SPI Mode / SPI speed
The SPI speeds are taken from the internal clock, so all will be a fraction of that (16mhz I believe). The difference between 2.0 and 2.3 and 2.6MHZ shouldn't usually be an issue. At 2MHz 15cm is a pretty long wire, usually traces are just several cm of copper.
90
Open Bench Logic Sniffer / Re: What's the best software for OLS? What do you use?
Hi ColdBlackIce,

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.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.02002458376session_write_close ( )...(null):0
20.02032589992ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.02032590768Database_MySQL->query( ).../DatabaseHandler.php:119
40.06452729528Database_MySQL->error( ).../Db-mysql.class.php:273