I’m using CW1200 to communicate with a custom target board (ARM) over a 1-wire UART protocol.
The ChipWhisperer-Pro can easly send the commands but the reception is not that good. As you can see on the picture, when it is the target turns to communicate the line doesn’t go low enough.
I tried to change the pin configuration to scope.io.tio2 = scope.io.GPIO_MODE_SERIAL_RX or GPIO_MODE_HIGHZ but it doesn’t improve.
The ChipWhisperer-Pro is powering the target and the baudrate is 115.2 kbps.
Does the CW1200 has any pull-up resistor that I’m missing to disable? Or if someone knows any workaround for this scenario?
Unfortunately, CW-Pro doesn’t support a bidirectional UART line this way. The reason you’re not seeing the data line go “low enough” when the target is trying to drive it is that CW1200 is still driving the line high.
You could use bit-banging and manually alternate driving the line and tristating it.
You won’t be able to use the simpleserial_write()/ simpleserial_read() this way; instead you’ll do things like:
scope.io.tio2 = 1
scope.io.tio2 = 0
scope.io.tio2 = 1
scope.io.tio2 = None # tristate the line so that target can drive it
rdata = scope.io.tio_states[1] # read what's on the line