Bienvenue sur eagle-usb

AtmEagle

EagleHardware

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-54-224-102-26.compute-1.amazonaws.com
Eagle chipset hardware description.

Eagle bugs

Pre Eagle
ADI910
AD6435 : Digital interface
AD6436 : DMT (DSP core operation of DMT)
AD6437 : AFE
ADTSP-2183 : general purpose DSP
AD8042 : Ampli (TX op)
AD816 : line driver (RX op)
ADI918
AD6438 : Digital interface using UTOPIA2
AD6439 : DMT (DSP core operation of DMT)
AD6437 : AFE
ADTSP-2183 : general purpose DSP
AD8016 : line driver (TX op)
AD8022/AD812 : Ampli (RX op)
ADI930
AD6449 : Digital interface using UTOPIA2, DMT (DSP core operation of DMT), general purpose DSP
AD6440 : AFE (programmable analog equalizer (use fpga.bin ???))
AD8016 : line driver (TX op)
AD8022/AD812 : Ampli (RX op)
ADI930PCI
AD6481 : PCI bridge
AD6449 : Digital interface using UTOPIA2, DMT (DSP core operation of DMT), general purpose DSP
AD6440 : AFE (programmable analog equalizer (use fpga.bin ???))
AD8016 : line driver (TX op)
AD8022/AD812 : Ampli (RX op)
ADI930USB
CY7C64613 : USB bridge
AD6449 : Digital interface using UTOPIA2, DMT (DSP core operation of DMT), general purpose DSP
AD6440 : AFE (programmable analog equalizer (use fpga.bin ???))
AD8016 : line driver (TX op)
AD8022/AD812 : Ampli (RX op)
Anaconda
AD6497
AD6492
AD6493
Eagle
EagleII

Eagle hardware version

Eagle I : AD6484 (usb) AD6482 (uptopia) AD6483 (pci)
Eagle II : ADIKE6485
Eagle III : AD/IKE6486
Eagle Plus (adsl2+) : IKE6487 (utopia) AD/IKE6505 (usb)

The Eagle usb chipset can be split in 3 components :
- a Analog Front End that do the analog/digital conservion
- a front end that do some computing on the digital signal
- an usb device chipset

Analog Front End for eagle III, IV

It come as an external chip.
For adsl2+ : AD/IKE6488

Analog Front End for eagle I,II

It come as an external chip.
For adsl : AD6480

Front end for eagle IV

Eagle IV uses the stratiphy core.

It seems to be a ARC core.
There is some arc datasheets.
A gnu binutils support ARC platform. A binary toolchain can be found

sending DSP page 0
sending DSP page 3
sending DSP page 4
sending DSP page 29
sending DSP page 6
sending DSP page 34
sending DSP page 8
sending DSP page 9
sending DSP page 10
sending DSP page 12
sending DSP page 13
sending DSP page 14
sending DSP page 16
sending DSP page 17
sending DSP page 18
sending DSP page 19
sending DSP page 21
sending DSP page 23
sending DSP page 22
sending DSP page 24
sending DSP page 25

Front end for eagle I,II,III

The dsp processor in the eagle is based on ADI dsp processor.
With the information included in the driver (24 bits instructions, 16 bits data) and the fact that ADI make some ADSL modem with adsp processor, we found that it is an adsp processor.

Looking at ADSP datasheet we can see similar features to eagle dsp :

According to a sumary of adsp chip, IDMA overlay (p17), the dsp could be a ADSP-2187, ADSP-2188 or ADSP-2189.

The adsp insctruction could be found on the analog website : http://www.analog.com/processors/epManualsDisplay/0,2795,,00.html?SectionWeblawId=432&ContentID=33133&Language=English.

Software for adsp :


Example of a firmware image
DSP Informations
Page Count: 40
Page 1 at offset 0x00019de6
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 496
        Block 1 Address 0x2000 Program ExtSize 15825
Page 2 at offset 0x0001ddb4
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 4914
        Block 1 Address 0x2000 Program ExtSize 19848
Page 3 at offset 0x00023e7b
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 3466
        Block 1 Address 0x2000 Program ExtSize 24567
Page 4 at offset 0x0002ac09
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 7816
        Block 1 Address 0x16d0 Program ExtSize 29466
Page 5 at offset 0x00033db8
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 6354
        Block 1 Address 0x2000 Program ExtSize 19827
Page 6 at offset 0x0003a40a
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 288
        Block 1 Address 0x2000 Program ExtSize 1233
Page 7 at offset 0x0003aa08
        Block Count 1
        Block 0 Address 0x2000 Program ExtSize 30
Page 8 at offset 0x0003aa2d
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 4020
        Block 1 Address 0x2000 Program ExtSize 22800
Page 9 at offset 0x00000000
Page 10 at offset 0x000412fe
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 1384
        Block 1 Address 0x2000 Program ExtSize 4359
Page 11 at offset 0x0004297a
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 8332
        Block 1 Address 0x16d0 Program ExtSize 31089
Page 12 at offset 0x0004c384
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 3976
        Block 1 Address 0x2000 Program ExtSize 21909
Page 13 at offset 0x000528ae
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 7186
        Block 1 Address 0x2200 Program ExtSize 12081
Page 14 at offset 0x000573fe
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 2636
        Block 1 Address 0x2000 Program ExtSize 1323
Page 15 at offset 0x00058382
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 2288
        Block 1 Address 0x2000 Program ExtSize 10008
Page 16 at offset 0x0005b397
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 958
        Block 1 Address 0x2000 Program ExtSize 18807
Page 17 at offset 0x000600d9
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 7470
        Block 1 Address 0x16d0 Program ExtSize 26307
Page 18 at offset 0x000684d7
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 1742
        Block 1 Address 0x16d0 Program ExtSize 23427
Page 19 at offset 0x00000000
Page 20 at offset 0x0006e735
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 60
        Block 1 Address 0x2000 Program ExtSize 2658
Page 21 at offset 0x00000000
Page 22 at offset 0x00000000
Page 23 at offset 0x00000000
Page 24 at offset 0x00000000
Page 25 at offset 0x00000000
Page 26 at offset 0x00000000
Page 27 at offset 0x00000000
Page 28 at offset 0x00000000
Page 29 at offset 0x00000000
Page 30 at offset 0x0006f1e0
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 8494
        Block 1 Address 0x2000 Program ExtSize 16347
Page 31 at offset 0x000752f6
        Block Count 2
        Block 0 Address 0x4020 Data ExtSize 5258
        Block 1 Address 0x2000 Program ExtSize 9468
Page 32 at offset 0x00000000
Page 33 at offset 0x00000000
Page 34 at offset 0x00000000
Page 35 at offset 0x00000000
Page 36 at offset 0x00000000
Page 37 at offset 0x00000000
Page 38 at offset 0x00000000
Page 39 at offset 0x00000000
Page 40 at offset 0x00078c89
        Block Count 1
        Block 0 Address 0x2000 Program ExtSize 20889
Main Page at offset 0x000101e5
        Block Count 13
        Block 0 Address 50f6 Data Size 1533
        Block 1 Address 56f3 Data Size 1533
        Block 2 Address 5cf0 Data Size 1488
        Block 3 Address 63ca Data Size 566
        Block 4 Address 6d00 Data Size 1200
        Block 5 Address 7541 Data Size 1533
        Block 6 Address 7b3e Data Size 1081
        Block 7 Address 3fe Program Size 1022
        Block 8 Address 7fc Program Size 1022
        Block 9 Address bfa Program Size 1022
        Block 10 Address ff8 Program Size 1022
        Block 11 Address 13f6 Program Size 549
        Block 12 Address 0 Program Size 1022


Firmware is sended to DSP it two stages
The second stage is needed because DSP have limited memory

Example of a DSP firmware upload:
block_info wOvl, wOvlOffset, wAddress, wSize
ovl = 0x0000, pageno = 0
ovl 0x0000 off 0x8000 addr 0x50f6 size 3066
ovl 0x0000 off 0x8000 addr 0x56f3 size 3066
ovl 0x0000 off 0x8000 addr 0x5cf0 size 2976
ovl 0x0000 off 0x8000 addr 0x63ca size 1132
ovl 0x0000 off 0x8000 addr 0x6d00 size 2400
ovl 0x0000 off 0x8000 addr 0x7541 size 3066
ovl 0x0000 off 0x8000 addr 0x7b3e size 2162
ovl 0x0000 off 0x8000 addr 0x03fe size 3114
ovl 0x0000 off 0x8000 addr 0x07fc size 3114
ovl 0x0000 off 0x8000 addr 0x0bfa size 3114
ovl 0x0000 off 0x8000 addr 0x0ff8 size 3114
ovl 0x0000 off 0x8000 addr 0x13f6 size 1673
ovl 0x0000 off 0x8000 addr 0x0001 size 3111
ovl 0x0000 off 0x8000 addr 0x0000 size 3

ovl = 0x0444, pageno = 10
ovl 0x0444 off 0x8444 addr 0x4020 size 1384
ovl 0x0444 off 0x8444 addr 0x2000 size 4428

ovl = 0x0040, pageno = 20
ovl 0x0040 off 0x8040 addr 0x4020 size 60
ovl 0x0040 off 0x8040 addr 0x2000 size 2700

ovl = 0x0444, pageno = 1
ovl 0x0444 off 0x8444 addr 0x4020 size 496
ovl 0x0444 off 0x8444 addr 0x2000 size 16076

ovl = 0x0040, pageno = 12
ovl 0x0040 off 0x8040 addr 0x4020 size 3976
ovl 0x0040 off 0x8040 addr 0x2000 size 22256

ovl = 0x0444, pageno = 1
ovl 0x0444 off 0x8444 addr 0x4020 size 496
ovl 0x0444 off 0x8444 addr 0x2000 size 16076

ovl = 0x0040, pageno = 18
ovl 0x0040 off 0x8040 addr 0x4020 size 1742
ovl 0x0040 off 0x8040 addr 0x16d0 size 23798

ovl = 0x0444, pageno = 13
ovl 0x0444 off 0x8444 addr 0x4020 size 7186
ovl 0x0444 off 0x8444 addr 0x2200 size 12272

ovl = 0x0040, pageno = 2
ovl 0x0040 off 0x8040 addr 0x4020 size 4914
ovl 0x0040 off 0x8040 addr 0x2000 size 20163

ovl = 0x0444, pageno = 15
ovl 0x0444 off 0x8444 addr 0x4020 size 2288
ovl 0x0444 off 0x8444 addr 0x2000 size 10166

ovl = 0x0444, pageno = 15
ovl 0x0444 off 0x8444 addr 0x4020 size 2288
ovl 0x0444 off 0x8444 addr 0x2000 size 10166

ovl = 0x0040, pageno = 17
ovl 0x0040 off 0x8040 addr 0x4020 size 7470
ovl 0x0040 off 0x8040 addr 0x16d0 size 26724

ovl = 0x0444, pageno = 8
ovl 0x0444 off 0x8444 addr 0x4020 size 4020
ovl 0x0444 off 0x8444 addr 0x2000 size 23161

ovl = 0x0040, pageno = 3
ovl 0x0040 off 0x8040 addr 0x4020 size 3466
ovl 0x0040 off 0x8040 addr 0x2000 size 24956

ovl = 0x0444, pageno = 16
ovl 0x0444 off 0x8444 addr 0x4020 size 958
ovl 0x0444 off 0x8444 addr 0x2000 size 19105

ovl = 0x0040, pageno = 11
ovl 0x0040 off 0x8040 addr 0x4020 size 8332
ovl 0x0040 off 0x8040 addr 0x16d0 size 31582

ovl = 0x0444, pageno = 40
ovl 0x0444 off 0x8444 addr 0x2000 size 21220



usb device for eagle I,II,III,IV

The usb part is based on cypress EZ-USB (the ADI driver source code give some hints).
Eagle IV don't support usb2 (we could have use new cypress).
The datasheet is can be found on the web :

Software
Others project using the cypress EZ-USB :
Tools :