Pages:
Author

Topic: [Применение чипов Bitfury], схемные решения и т.п. - page 15. (Read 141720 times)

full member
Activity: 306
Merit: 100
значит это чередование пакета, первый начинается с высокого потенциал, а последующий пакет с низкого потенциала
full member
Activity: 306
Merit: 100
Похоже на то , только на 3 чип МИСО после включения сразу поднял ногу а на четвёртом только после дёрганься моси, но в конце передачи пакета на 3 остался высокий уровень а на 4 нулевой потонцеал, такое подозрение что чип просто  работает в разных стандартах... И ещё один момент , чип возращает что на 3 и 4  одинаковый ответ а вот отправляют ему разные пакеты.
Это стандартный ответ чипа при инициализации ?
member
Activity: 80
Merit: 10
Вот посмотрел картинки и немного недопонял какая последовательность и какая реакция чипа .. Можно по подробнее описать каждую картинку и на какой происходит инициализация чипа ?
На 3й и 4й явно видно reset (поднят CLK и дергается вход), инициализация вероятно после этого.
full member
Activity: 306
Merit: 100
Вот посмотрел картинки и немного недопонял какая последовательность и какая реакция чипа .. Можно по подробнее описать каждую картинку и на какой происходит инициализация чипа ?
member
Activity: 116
Merit: 10
SPI<>UART<>USB например FTDI
я в python использовал libftd2xx.so.1.1.12 пробовал и serial, но чип так и не ответил. Но есть сомнение что он впаян ровно.
код тут http://pastebin.com/2Uct1W76
Какой именно ftdi?
Чип нужно прозвонить на КЗ, потом подать питание, на чипе появится на ноге MISO логическая 1.
Вам всем нужен анализатор, тогда быстро все заведете. Я давал ссылку как его самому быстро и дешево собрать или готовый купите.
Я так же выкладывал дамп обмена, чип нужно проинициализировать, потом он начнет генерить меандр на MISO. Ну и т.д.
А чего он отвечать должен, если ты ерунду заливаешь или ты не все показал? Что у тебя с чипом общается?
Изучаем картинки, открывайте их в другом окне, будет больше разрешение.





В общем, вот кусок старой прошивки под STM8S003, код примитивный до ужаса Smiley Будет работать в связке с cp2102,pl2303,ft232r ну или max232 Smiley
В ней поменял только скорость порта на 576000, не путать с 57600.
Code:
#include 
#include "stm8s.h"

void Delay (uint32_t nCount);

void spi_reset(void)
{
        uint8_t i;

        SPI_Cmd(DISABLE);
        GPIO_WriteHigh(GPIOC,GPIO_PIN_5);
for (i = 0; i < 8; i++) {
               GPIO_WriteReverse(GPIOC,GPIO_PIN_6);
}
        SPI_Cmd(ENABLE);
}


#define SPIMAXSZ 450

static uint8_t spibuf[SPIMAXSZ], spibuf_rx[SPIMAXSZ];
static uint16_t spibufsz;

void spi_clear_buf(void) { spibufsz = 0; }
uint8_t *spi_getrxbuf(void) { return spibuf_rx; }
uint8_t *spi_gettxbuf(void) { return spibuf; }
uint16_t spi_getbufsz(void) { return spibufsz; }

int spi_txrx(const uint8_t *wrbuf, uint8_t *rdbuf, uint16_t bufsz)
{
uint16_t i;

for (i = 0; i < bufsz; i++) {
                SPI_SendData(wrbuf[i]);
                while (SPI_GetFlagStatus(SPI_FLAG_TXE)== RESET);
                while (SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET);
                rdbuf[i] = SPI_ReceiveData();
        }
        return 0;
}


int uart_tx(const uint8_t *rxbuf, uint16_t bufsz)
{
unsigned i;
       
for (i = 0; i < bufsz; i++) {
                UART1_SendData8(rxbuf[i]);
                while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);
        }
        return 0;
}

int uart_rx(uint8_t *rxbuf, uint16_t bufsz)
{
unsigned i;
        uint16_t t=0;
        spibufsz = SPIMAXSZ;
for (i = 0; i < spibufsz; i++) {
                while (UART1_GetFlagStatus(UART1_FLAG_RXNE) == RESET)
                {
                  if (t<5) t++;
                  else {
                    if (i!=0) spibufsz=i;else spibufsz=0;
                    return 0;
                  }
                }
                t=0;
                rxbuf[i] = UART1_ReceiveData8();
        }
        spibufsz = i;
        return 0;
}


void main(void)
{
  CLK_DeInit();

    /* Configure the Fcpu to DIV1*/
  CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
   
    /* Configure the HSI prescaler to the optimal value */
  CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);

  CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1, ENABLE);

  GPIO_DeInit(GPIOC);
  GPIO_Init(GPIOC,GPIO_PIN_7,GPIO_MODE_IN_FL_NO_IT);
  GPIO_Init(GPIOC,GPIO_PIN_6,GPIO_MODE_OUT_PP_LOW_FAST);
  GPIO_Init(GPIOC,GPIO_PIN_5,GPIO_MODE_OUT_PP_LOW_FAST);

  UART1_DeInit();
 
  UART1_Init((uint32_t)576000, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO,
              UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);

  UART1_Cmd(ENABLE);
 
  SPI_DeInit();
  SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_8, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW,
           SPI_CLOCKPHASE_1EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLEX, SPI_NSS_SOFT,(uint8_t)0x07);
  SPI_Cmd(DISABLE);
   
  uart_tx("\x88",1);

  uint32_t t;
  BitStatus pin;

  while (1)
    {
      uart_rx(spi_gettxbuf(),spi_getbufsz());
      if(spibufsz>0) {

         for(t=0;t<1000;t++) {
             pin = GPIO_ReadInputPin(GPIOC, GPIO_PIN_7);
             if (pin==0) {break;}
         }

         spi_reset();
         spi_txrx(spi_gettxbuf(), spi_getrxbuf(), spi_getbufsz());         
         uart_tx("\x88",1);
         uart_tx(spi_getrxbuf(),spi_getbufsz());
      }
    }
}

void Delay(uint32_t nCount)
{
    while (nCount != 0)
    {
        nCount--;
    }
}

#ifdef USE_FULL_ASSERT

void assert_failed(uint8_t* file, uint32_t line)
{
  while (1)
  {
  }
}
#endif
legendary
Activity: 1302
Merit: 1008
SPI<>UART<>USB например FTDI
я в python использовал libftd2xx.so.1.1.12 пробовал и serial, но чип так и не ответил. Но есть сомнение что он впаян ровно.
код тут http://pastebin.com/2Uct1W76
у чипа нестандартный SPI-reset, в распи он реализуется дерганьем выводов SPI как GPIO, а вот на конвертерах его возможно не удастся реализовать в принципе.
смотрите функцию spidevc.c:spi_reset, там все понятно.
Lis
sr. member
Activity: 293
Merit: 251
Spice must flow!
full member
Activity: 306
Merit: 100
Согласен... Реализовать SPI под виндовс намного труднее чем под юниксом, поэтому я предлагаю не шагать далеко а использовать технологию USB ASIC ERUPTER(там тоже есть SPI шина). Там происходит эмуляция сом портов. И майнер скидывает на один из ком-портов  задание а оттуда уже попадает на нужный контроллер.
Контроллер должен стать самостоятельной частью  и взять на себя обязанность задавать задание и забирать решения в свой буффер с чипа Bitfury, но также можно в него возложить и другие обязанности (измерение температуры, напряжения, тест чипа на исправность, отправка известного блока и получение результата) или доп функции как разгон (изменение напряжения от температуры чипа чем холодней чип тем выше напряжение).
member
Activity: 116
Merit: 10
Всем привет...
Скажите мне, есть ли у кого-то, описания работы майнера с айсиками или с чипами bitfury. Интересует вообще по какому принципу они между собой общаются и какой дополнительной информацией они обмениваются..
Есть идея всё таки сделать USB решение, так как в этом есть свои + , и - тоже есть ..
В который раз пишу уже, нужно завести логический анализатор, очень упростит понимание и отладку. Для любого старта на МК нужно две вещи: реализовать сброс чипа и реализовать мост между любым интерфейсом и SPI. Остальное сделает майнер. Самый легкий вариант SPI<>UART<>USB. В софте любого свежего майнера под raspi, нужно будет переписать только функцию работы с spi, переписать ее для работы с com портом, там строк 10-20 если под linux собирать.
jr. member
Activity: 59
Merit: 16
я один чип убил перепайкой по сто раз , в онмом ногу оторвал (теперь работает только последним) два чипа глючат (после частих перепаек)  . С одной сторони неспиш бо хочеш отбить  поскорей , а реально только хуже делаеш .
OZR
sr. member
Activity: 281
Merit: 250
You're in my wonderland!
Quote
жалко конешно но сам виноват нефиг сутками неспать

offtopic
: Работал по несколько суток подряд, днём и ночью без сна. Потом часов по 20-30 спал мёртвым сном. Сейчас уснуть раньше 10 утра не получается хоть тресни. К 15-16 с трудом заставляю себя пойти на работу. Состояние зомби. Вроде не сплю, а ничего полезного сделать уже не выходит. Чипов убил, уже не жалко. Сейчас плату коротнул. Не работает и не майнит (опять). В мыслях только, да ну её на... Авалон на ночь уже выключаю, чтобы не мешал. Не всегда вспоминаю, что его включить надо Smiley График сбился напрочь.

Вообщем спать надо. Ресурс не безграничен. И паять надо. Smiley Я про себя даже немного радуюсь, что чипы битфури такие дорогие =) Не хочу даже представлять, если бы их у меня сейчас было много.
full member
Activity: 306
Merit: 100
А что так? Пристрастие к майнингу ? так это уже зависимость и к добру это не приведёт...
legendary
Activity: 1946
Merit: 1000
не жалко ? Cool почти 9ГХешей потерял



вобщето 9.36
жалко конешно но сам виноват нефиг сутками неспать
full member
Activity: 306
Merit: 100
На конец настроил свой майнер под распи , осталось 2 чипа  для експеремента с USB. Начать нужно з того что  сделать  Hid USB - SPI переходник согласовать уровни с чипом і запустить образ CGminer от HashBuster. Получетса создам тему по Юсб майнеру.

О готов принять участие !!!
full member
Activity: 306
Merit: 100
не жалко ? Cool почти 9ГХешей потерял

jr. member
Activity: 59
Merit: 16
На конец настроил свой майнер под распи , осталось 2 чипа  для експеремента с USB. Начать нужно з того что  сделать  Hid USB - SPI переходник согласовать уровни с чипом і запустить образ CGminer от HashBuster. Получетса создам тему по Юсб майнеру.
legendary
Activity: 1946
Merit: 1000
чип хоть и неубиваемый но если очень захотеть )))
есть один верный способ как убить чип, только что так 3 штуки вальнул, вместо 1.8 вольт подать переполюсованых 5
hero member
Activity: 574
Merit: 523
Ну его тут много кто не понимает, правда не по поводу англицкого
full member
Activity: 306
Merit: 100
Вот не могу понять этого человека ... вроде чип создал неплохой, а на него инфу у него нужно выпрашивать. Сам же хочет что бы чип в массы пошел и в тоже время сам же этому препятствует. Нужно всё у него спрашивать...
И блин.. он же русскоязычный, чего он всю инфу о чипе пишет на англ. 

Не могу понять этого "идейного" человека!!! Создал чип, так дай на него подробную информацию раз продаёшь этот чип в розницу.

Pages:
Jump to: