Avalon4
Jump to navigation
Jump to search
Pictures
Design Files
- The Hardware design files: http://downloads.canaan-creative.com/hardware/A3222/avalon4/
- A3222 ASIC Datasheet: http://downloads.canaan-creative.com/hardware/A3222/datasheet/
Package: QFN56-8X8, 0.5mm pitch Process node: 28nm Core voltage: 0.65 ~ 0.8V Chip frequency: 400MHz Hashrate: 25Gh/s Power usage: 0.4-0.6J/Gh 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 carry 40 A3222 ASICs, the module should be working at 1TH/S and using ~680W power.
Avalon4 connection
JTAG Port
PMU
HU
Power & GND
Physical Distinction between 4.0 and 4.1 machine
LED Board
*‘Ver. 4.X’ is marked in the bottom right-hand corner of the lights panel.
PMU
The other way is open the case to check PMU (Power Module Unit) * (On the left) Three 270uf 16V and two 820uf 16V blue solid capacitors are used in 4.0 version. * (On the right) Four 100uf 16V and four 560uf 6.3V purple solid capacitors are used in 4.1 version.
Controller
* The hardware is the same in 4.0 and 4.1, the only different is the firmware
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 |
IIC
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[-miner_id-val_offset] eg: cgminer-api "ascset|0,voltage,1-7750" cgminer-api "ascset|0,voltage,1-7750-0-125"
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
MM Notes
mm-tools for Raspberry Pi (Model B)
Compile flags
Value | BOOTLOADER | MM41 | DEBUG |
---|---|---|---|
0 | No bootloader | Support MM-4.0 | Disable debug |
1 | Support bootloader | Support MM-4.1 | Enable debug |
User manual
Hashrate Refrence
MM Ver | Chip Freq | Voltage | Hashrate | Power usage |
---|---|---|---|---|
4.0 | 420:390:360 | 8000 | 980G | 594Watt |
4.0 | 450:390:370 | 8125 | 1T | 640Watt |
4.0 | 450:400:390 | 8250 | 1.1T | 655Watt |
MM Ver | Chip Freq | Voltage | Hashrate | Power usage |
---|---|---|---|---|
4.1 | 375:300:275 | 7000 | 800G | 419Watt |
4.1 | 375:350:300 | 7500 | 866G | 457Watt |
4.1 | 420:390:360 | 7625 | 980G | 542Watt |
4.1 | 450:390:370 | 8000 | 1T | 600Watt |
4.1 | 500:450:430 | 8125 | 1.14T | 710Watt |
4.1 | 550:500:450 | 8250 | 1.25T | 800Watt |
4.1 | 570:510:470 | 8375 | 1.3T | 990Watt |
AUC
Avalon USB2IIC converter, USB VID:PID 29f1:33f2
Provided by cybtc
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
- AUC version: AUC-20141019
- First version of AUC firmware
- Source URL: https://github.com/Canaan-Creative/Avalon-USB-converter
RPi/703N Firmware
Daily Building
20150331
- Add --avalon4-freezesafe option
- Fix hash rate counter
- Change default fan & overheat for separate miningmode
- Update cutoff process when Avalon4 is overheat
- Correct asic workflow when cutoff is off
- Enable voltage adjustment when cutoff is off
- Enable setting LED on/off through API command
- Add upgrade and status button when upgrade mm firmware finish
- Support mm-tools on TL-WR703N
20150213
- Increase the voltage adjustment range for individual PMU
- Display voltage refrence in CGMiner status when CGMiner run with debug
- Add mining mode option for Avalon4
- Fix cutoff for individual voltage adjustment
- Fix hash counter when used a broken Avalon4 (DH almost 100%)
- Change voltage adjust interval from 8m to 30s (Support all MM4.1 and MM4.0 >= 401501-4778d610)
- Add freeze safe mode function
- Update frequency table (Step:125)
- Rewrite mm-tools, it will not compatile with the old one
20150119
- Support auto adjust voltage individually(Only support on MM-4.1, MM4.0(>401501-d17f4a10))
- Support temperature display when it is < 0C.
- Support mm firmware upgrade through LuCI( Caution:Only for professional users!!!)
- Fix wifi cann't work on TL-WR703N
- Add mining mode
- Update the set_voltage method to one by one
- Change localwork statistics from software to hardware.
20141213
- 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
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
Issues
- WIFI cann't work on TL-WR703N
This issue was caused by ubus, We can enable or disable it through the button in the webpage, but the display is invalid when wifi was opened. Work around method: https://github.com/openwrt/luci/commit/ecb0c2f11b861e5035b0397d2396ee4b5e9b3c3e
- Local hashrate count lower than pool or actual.
Change localwork statistics from software to hardware.
MM Firmware (For MM-4.1)
Daily Building
20150312
- Version 411503-9281cd10
- Fix mm firmware revert
- Check pg when mm working
- Fix boot failure(Change bootloader with ila)
20150214
- Version 411502-d517e210
- Add a bootloader feature, auto reboot after download
- Feed watchdog when get package because it's a block function
- Fix system crash when modify the miner_id by unintentionally
- Change compile flag from MBOOT to BOOTLOADER
- Support mm config load & save
20150115
- Version 411501-d17f4a10
- Fix negative temperatures
- Support MM Tx reset by CGMiner
20141231
- Version 411501-08e45110
- Based on MM-4.0 401412-d31c2c10
- Turn down cpu frequency(100MHz -> 50MHz)
- Adjust clk of three domains.
- Fix LED warning blink when get new stratum
- Support voltage adjustion by miners
- Put the frequency table to CGMiner
- Miner's localwork statistics by HW
NEXT-TESTING
- Reboot mm automatically after upgrade
- Drop mboot,use a method to upgrade
- Store extra info for MM
MM Firmware (For MM-4.0)
Daily Building
20150312
- Version 401503-9281cd10
- Fix mm firmware revert
- Check pg when mm working
- Fix boot failure(Change bootloader with ila)
20150214
- Version 401502-d517e210
- Add a bootloader feature, auto reboot after download
- Feed watchdog when get package because it's a block function
- Fix system crash when modify the miner_id by unintentionally
- Change compile flag from MBOOT to BOOTLOADER
- Support mm config load & save
20150119
- Version 401501-4778d610
- Support voltage adjustion by miners
- Put the frequency table to CGMiner
20150115
- Version 401501-d17f4a10
- Turn down cpu frequency(100MHz -> 50MHz)
- Adjust clk of three domains.
- Fix LED warning blink when get new stratum
- Miner's localwork statistics by HW
- Fix negative temperatures
- Support MM Tx reset by CGMiner
20141219
- Version 401412-d31c2c10
- Fix temperautre read. read once per second not 200 times per second
- Compile MM under Virtual Machine may cause unknown problem. this version compile under ubuntu 14.04
20141217
- Version 401412-39242210
- Change api for miner work statistics
- Fix the g_local_work count
- Fix temperautre < 0
- Fix led display when post failed
20141213
- Version 401412-7ef4ab10
- 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
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