IR100: Difference between revisions

From Sharpfin
Jump to navigation Jump to search
Line 15: Line 15:
== USB ==
== USB ==


There is something odd about the way the USB connection has been made.  The IR100 connects the USB D+ and D- with 22R series resistors, and also, each pin has a 15K resistor, which is terminated somewhere on the Barracuda PCB.
There is something odd about the way the USB connection has been made.  The IR100 connects the USB D+ and D- with 22R series resistors, and also, each pin has a 15K resistor, which is also connected to ground on the IR100 motherboard.


For a bus master, the two 15K resistors should be pull-downs - full stop!
For a bus master, the two 15K resistors should be pull-downs - full stop!


For a bus slave, one or both of these resistors should be missing.
For a bus slave there should be a 1K5 pull-up to 3V3 on either the D+ or D- line (depending on the requested bus speed).


It is possible that this single port can be configured as either a master or a slave (Pin M10 is DP1/PDP0, Pin N11 is DN1/PDN0 - i.e. DP1&DN1 are the Host Functions and PDP0&PDN0 are the Slave Functions, sharing the same pins).
It is possible that this single port can be configured as either a master or a slave (Pin M10 is DP1/PDP0, Pin N11 is DN1/PDN0 - i.e. DP1&DN1 are the Host Functions and PDP0&PDN0 are the Slave Functions, sharing the same pins).
Line 25: Line 25:
From the source code reciva_usb.c file, it suggests that the driver powers up with the USB interface in slave mode - this should be detectable by monitoring the two 15K termination pins and the USB VCC during power-up.
From the source code reciva_usb.c file, it suggests that the driver powers up with the USB interface in slave mode - this should be detectable by monitoring the two 15K termination pins and the USB VCC during power-up.


Some time during boot, the USB VCC should appear, and the 15K pull-downs will be connected.  The question is how to convince the board that the USB should remain a slave, and not make the transition to master ... things to try ...
It seems likely that the convoluted interconnection is provided so that the Barracuda module can be plugged into a test configuration, which configures the port as a slave. It seems unlikely that this will be possible in the radio without hardware modification to the motherboard.


* Remove USB device from radio before power-on.  Then measure USB VCC and status of pull-ups/downs.
Some time during boot, the USB VCC should appear, once the Barracuda board has detected (somehow) that the motherboard wants a USB master.
* Connect the USB VCC to 5V (via an R to be safe) during power-up.
* Connect two 15K pull-downs to the D+ and D- pins during power-up.


{|
Some things to try:
| [[Image:IR100-USB.jpg|thumb|Schematic of USB Connection within IR100]]
 
|}
* Monitor the USB VCC during reset, and demonstrate that it does infact 'come up' during the boot sequence.
* Power up the barracuda module without the motherboard, without the 15K pull-downs and without the additional ground connections, to try and force the board to be a slave.
 
[http://sharpfin.zevv.nl/index.php/Image:Barracuda-IR100-USB.pdf schematic]

Revision as of 14:57, 19 November 2006

PCB

The Barracuda PCB plugs into a motherboard within the IR100. The following image is a composite, showing both the top and bottom PCB layers.

IR100 Motherboard

Connectors

There are three edge connectors on the Barracuda board (J1, J2 and J3). The pin naming in the image below has been extracted from the IR100 motherboard silk screen.

[Image:Barracuda-Information.xls|thumb|Barracuda ICD Spreadsheet]

USB

There is something odd about the way the USB connection has been made. The IR100 connects the USB D+ and D- with 22R series resistors, and also, each pin has a 15K resistor, which is also connected to ground on the IR100 motherboard.

For a bus master, the two 15K resistors should be pull-downs - full stop!

For a bus slave there should be a 1K5 pull-up to 3V3 on either the D+ or D- line (depending on the requested bus speed).

It is possible that this single port can be configured as either a master or a slave (Pin M10 is DP1/PDP0, Pin N11 is DN1/PDN0 - i.e. DP1&DN1 are the Host Functions and PDP0&PDN0 are the Slave Functions, sharing the same pins).

From the source code reciva_usb.c file, it suggests that the driver powers up with the USB interface in slave mode - this should be detectable by monitoring the two 15K termination pins and the USB VCC during power-up.

It seems likely that the convoluted interconnection is provided so that the Barracuda module can be plugged into a test configuration, which configures the port as a slave. It seems unlikely that this will be possible in the radio without hardware modification to the motherboard.

Some time during boot, the USB VCC should appear, once the Barracuda board has detected (somehow) that the motherboard wants a USB master.

Some things to try:

  • Monitor the USB VCC during reset, and demonstrate that it does infact 'come up' during the boot sequence.
  • Power up the barracuda module without the motherboard, without the 15K pull-downs and without the additional ground connections, to try and force the board to be a slave.

schematic