IR100: Difference between revisions

From Sharpfin
Jump to navigation Jump to search
No edit summary
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Radio ==
The IR100 contains 3 PCBs, the power converter PCB, the Amplifier PCB and the barracuda host PCB, into which is plugged a barracuda module, and a RaLink USB wi-fi adaptor.
There is an [http://logikir100.tripod.com/Logik.htm external owners site] with lots of IR-100 information.
== Radio Firmware/Software Modifications ==
Several owners have used this project to change the firmware on their radios, providing additional features over the official upgrades.  (Jan 30th 2008, new official firmware released, check this first before deciding if you need to  update your radio using these methods). See [[Changing Your Radio]] ,  [[Enabling Login]] and [[Changing Firmware]].
== Radio Hardware Modifications ==
A number of modifications have been undertaken on the IR100:
* [[Installing an External USB Socket on the IR100]]
* [[Moving the USB Wi-Fi dongle on the IR100]] and an alternative USB socket
* [[Modifying time delay when starting a track]] Removing the "thump" when radio changes tracks and fixes the missing few seconds at the start of a track. There may be a (partial?) [[Config.txt File]] software fix for this problem.
* [[IR100 Back Rotation]] Fix the speaker hum !
* [[Installing an Ethernet LAN connection]], external USB memory stick connection, mains switch
Still to be documented on Wiki:
* [[Installing an Infrared Remote Control on the IR100]]
* [[Adding a JTAG Port to the Barracuda Module]]
* [[Adding a Serial Port to the Barracuda Module]]
(Please add other modification documentation, such as enabling the USB memory stick for "demo mode" )
== PCB ==
== PCB ==


Line 5: Line 34:
{|
{|
| [[Image:IR100-Motherboard-Layers.jpg|thumb|IR100 Motherboard]]
| [[Image:IR100-Motherboard-Layers.jpg|thumb|IR100 Motherboard]]
| [[Image:Ir100_608mr7.pcb.jpg|thumb|IR100 Motherboard version:608mr7]]
|}
|}


Line 11: Line 41:
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.
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:BarracudaInformation.xls|thumb|Barracuda ICD Spreadsheet]
[Image:Barracuda-Information.xls|thumb|Barracuda ICD Spreadsheet]


== 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!
A bus-master requires two 15K pull-down resistors.


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


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 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.
 
[http://sharpfin.zevv.nl/index.php/Image:Barracuda-IR100-USB.pdf schematic]


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 ...
==The Software==


* Remove USB device from radio before power-on.  Then measure USB VCC and status of pull-ups/downs.
The IR100 is running Familiar Linux, and incorporates the Helix DNA player (neptune 1.3) with some additional plugins and a top-level client, written by Reciva.
* 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.


{|
 
| [[Image:IR100-USB.jpg|thumb|Schematic of USB Connection within IR100]]
== Building A Debug Board ==
|}
 
[[DebugBoard]] Building a Debug Board

Latest revision as of 19:53, 6 March 2008

Radio

The IR100 contains 3 PCBs, the power converter PCB, the Amplifier PCB and the barracuda host PCB, into which is plugged a barracuda module, and a RaLink USB wi-fi adaptor.

There is an external owners site with lots of IR-100 information.

Radio Firmware/Software Modifications

Several owners have used this project to change the firmware on their radios, providing additional features over the official upgrades. (Jan 30th 2008, new official firmware released, check this first before deciding if you need to update your radio using these methods). See Changing Your Radio , Enabling Login and Changing Firmware.

Radio Hardware Modifications

A number of modifications have been undertaken on the IR100:

Still to be documented on Wiki:


(Please add other modification documentation, such as enabling the USB memory stick for "demo mode" )

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
IR100 Motherboard version:608mr7

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.

A bus-master requires two 15K pull-down resistors.

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 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

The Software

The IR100 is running Familiar Linux, and incorporates the Helix DNA player (neptune 1.3) with some additional plugins and a top-level client, written by Reciva.


Building A Debug Board

DebugBoard Building a Debug Board