Avalon4: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Mikeqin (talk | contribs)
Mikeqin (talk | contribs)
Line 215: Line 215:


= MM Firmware =
= MM Firmware =
== Daily Building ==
* '''http://build.canaan-creative.com:8080/~mikeqin/mm/'''
==[http://downloads.canaan-creative.com/software/avalon4/mm/2014-11-22/ 20141122] ==
==[http://downloads.canaan-creative.com/software/avalon4/mm/2014-11-22/ 20141122] ==
* Version '''401411-cad52ec0'''
* Version '''401411-cad52ec0'''
Line 253: Line 256:
* First version of Avalon4 firmware
* First version of Avalon4 firmware


== Daily Building ==
==[http://downloads.canaan-creative.com/software/avalon4/mm/NEXT-TESTING/ NEXT-TESTING] ==
* '''http://build.canaan-creative.com:8080/~mikeqin/mm/'''
* Support MBOOT
* Keep the nonce2_offse and nonce2_range since g_module_id didn't change
* Keep mm working when temp is greater than IDLE_TEMP
* Add parameter for test core count
* Warning when no fan connect


= Design file =
= Design file =

Revision as of 08:13, 13 December 2014

Pictures

A3222

Package: QFN56-8X8, 0.5mm pitch
Core voltage: 0.65 ~ 0.8V
Chip frequency: 400MHz
Hashrate: 25-30G (Normal,0.75V)
Power usage: 0.45-0.55W/G on ASIC side
VDDIO: 1.5 ~ 2.5V

SPI Example

a real data:
1st:
work n chip1
{576'hc16801619d8d4242e06e5fab25a54bbe222e8b877848c34beea79cd6528caf7e33cde02a983dab158119ce2a1c9fc4eddac8ce296d0fd9da6e18f645087e051a2d547050e8dc86b1, 64'ha, 32'h1, 32'h1, 32'h1} 
work n chip0
{576'h1bed3ba0a2cb45c1d8f8ef6712146495c44192c07145fd6d974bf4bb8f41371d65c90d1e9cb18a17fa77fe7d13cdfd7b0063910762a5f25c06b168ae087e051a895170504ac1d001, 64'h5, 32'h1, 32'h1, 32'h1}

2nd:
work n+1 chip1
{576'h0, 64'hb, 32'h1, 32'h1, 32'h1}
work n+1 chip0
{576'h0, 64'h6, 32'h1, 32'h1, 32'h1}

3rd:
work n+2 chip1
{576'h0, 64'hc, 32'h1, 32'h1, 32'h1}
work n+2 chip0
{576'h0, 64'h7, 32'h1, 32'h1, 32'h1}

then get nonce 32'h1beebba0 for chip0, 32'hc1698161 for chip1;

Avalon4

Each module include 40 A3222 ASICs, the mdoule should be working at 1TH/S and using 700W power.

JTAG Port

PMU

HU

Power & GND

LED


LED OFF ON BLINKING MEMO
ERR - POST failed or One module dead Manual
WARN Hashing Idle mode Fan is 0 or Overheat
TXD/RXD No data - Data transferring
N1/N2 No nonce - Found one nonce
PG1/PG2 - Power good Some of small PMU failed

Avalon4 CGMiner Under Ubuntu 14.04

Download

Inside your home directory, download Cgminer
git clone https://github.com/Canaan-Creative/cgminer

Compile

cd cgminer
git checkout origin/avalon4 -b avalon4
./autogen.sh --enable-avalon4
make -j 4

Run

sudo ./cgminer --avalon4-fan 60 --avalon4-freq 200 --avalon4-voltage 7125 --lowmem -o http://stratum.pool:3333 -u  work -p pass 
or
sudo ./cgminer --avalon4-fan 60 --avalon4-freq 200 --avalon4-voltage 7125 --lowmem  -o http://stratum.pool:3333 -u  work -p pass --api-allow W:192.168.2,W:192.168.2.1 --api-listen $@ 2>./log

Tweak

  • Led
 Format: ascset|ASCN,led,modularid
 eg: cgminer-api "ascset|0,led,1"
  • Fan
 Format: ascset|ASCN,fan,fanmin[-fanmax]
 eg: cgminer-api "ascset|0,fan,10" or cgminer-api "ascset|0,fan,10-100"
  • Voltage
 Format: ascset|ASCN,voltage,MMID-value
 eg: cgminer-api "ascset|0,voltage,1-7750"

Technical details

  • The auc take 1~2ms betwwen write and read. even the polling delay is 0 (4800 means 1ms)
  • The cgminer each polling takes ~20ms. even the polling delay is 0ms

AUC

Avalon USB2IIC converter, USD VID:PID 29f1:33f2

LED

  • PWR: Power indicator
  • R: AUC response error
  • G: IIC Xfer
  • B: AUC init

AUC Firmware

20141122

  • AUC version: AUC-20141122
  • Reset asic when usb config changed(true->false)

20141105

  • AUC version: AUC-20141105
  • Code cleanup
  • Improve for firmware burning

20141103

  • AUC version: AUC-20141103
  • Add watchdog
  • Code cleanup

20141027

  • AUC version: AUC-20141027
  • Change Manufacturer to CANAAN

20141019

RPi/703N Firmware

Daily Building

20141203

  • Add module elapsed time
  • Modify the decrase offset from 250 to 4*125,increase step to 125

20141127

  • Add TL-WR703N support
  • Add automatic voltage support
  • Add GHS5m and DH%5m for each module
  • Fix AUC ADC value

20141124

  • Add MM41 support
  • Add mm count value in API status
  • Fix the matching_work error
  • Update dh calculation for luci
  • Change theme name to avalon

20141118

  • Adjust module voltage by ascset
  • A new theme was added to luci,and use it as default

20141112

  • Support RPi B/B+ version
  • Change default IIC speed from 1M to 400K
  • Add Avalon4 MM rolling ntime offset
  • Update fan adjustment
  • Add a new luci theme for Raspberry Pi
  • Display DNA on cgminer status page

20141029

  • First version of Avalon4 firmware

NEXT-TESTING

  • NOTICE: Only for testing
  • Improve the voltage increase modules
  • Fix duplicated local work & error work
  • Fix the default settings of new module
  • Fix MM41 voltage setting
  • Add UI for password change
  • Optimise the process of cgminer-status
  • Fix display on avalon index page

MM Firmware

Daily Building

20141122

  • Version 401411-cad52ec0
  • Fix the type on DEFAULT MDOULES
  • Fix the led status when warning
  • Add MM4.1 defines
  • Add new power module in test/

20141111

  • Version: 401411-5965e0f0
  • Add ntime offset configure from outside
  • Reset globe values when idle
  • Update ChangeLog, README and MM_VERSION

20141109

  • Version: 401410-c6ba5180
  • Big Code cleanup, Update MM protocol.
  • Update timeout value to 90% the theory value.
  • Fix the hashrate couning.
  • Fix watchdog issue. enable watchdog.
  • Remove g_module_id check since we use I2C
  • Move adjust fan in polling package.
  • Update MM idle default fan speed to 10%

20141104

  • Version: 401410-223a1c50
  • Update idle timeout from 5s to 3s
  • Display ID on controller LEDs for debug
  • Fix the automatic module detect
  • Disable watch dog
  • IDLE check when both (new stratum) and (module id) was configured

20141101

  • Fix the front led display
  • Cutoff power after testing

20141030

  • First version of Avalon4 firmware

NEXT-TESTING

  • Support MBOOT
  • Keep the nonce2_offse and nonce2_range since g_module_id didn't change
  • Keep mm working when temp is greater than IDLE_TEMP
  • Add parameter for test core count
  • Warning when no fan connect

Design file

Links