Pages:
Author

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

legendary
Activity: 1946
Merit: 1000
както так:

101 - establish asynchronous chain to next chip - all of SPI fill be forwarded to next chip in chain
110 - establish synchronous chain to next chip - the same as asynchronous but with additional registers for data - bits will be delayed by 2 in output! so give nop padding to frame of long chains

с протоколом обмена я только буду разбиратся
member
Activity: 84
Merit: 10
зачем каждому чипу по полноценому SPI? должно быть приблизительно так и без SS

не именно так но смысыл понятен!
Имелся ввиду неполноценный SPI на каждый чип (вход, выход, синхонизация) на рисунке я хотел узнать 3-пина к каждому чипу
нарисовал больше - потому как не знаю на какой пин что можно вывести, согласен что SCLK можно одним пином))))

И  вопрос к t309 ))) как без SS адресации возможен выбор чипа?
Имеется ввиду как обратиться в коде к чипу без SS адресации
legendary
Activity: 1946
Merit: 1000
зачем каждому чипу по полноценому SPI? должно быть приблизительно так и без SS

не именно так но смысыл понятен!
member
Activity: 84
Merit: 10
Quote
Есть соображения по использованию LPC1343 (LPC1342 или другие с ядром Cortex-M3) обвеса минимум, 4-выхода SPI, юсб-комп...но нужно программировать (Программеры, отзовитесь! )))
Я отозвался в ПМ Smiley
Спасибо! Ответил,

Нужно 4-SPI выхода (вроде LPC1343 есть возможность подключения 4-SDкарты), примерно как на картинке - пины возможно задействовать не все

исходник есть, но не то - нужно его переписать.
Если невозможно - будем искать другие возможности связать чипы с компьютером так, чтобы развязать поблочно (например 4-чипа в блоке по 4-блока на устройстве)
hero member
Activity: 756
Merit: 502
Quote
Есть соображения по использованию LPC1343 (LPC1342 или другие с ядром Cortex-M3) обвеса минимум, 4-выхода SPI, юсб-комп...но нужно программировать (Программеры, отзовитесь! )))

Я отозвался в ПМ Smiley
member
Activity: 84
Merit: 10
Привязать к GND не значит коротнуть!!!!! 5 6 7 8 нельзя на землю коротить, блин еще смотрю думаю какого виходы на землю, но всеравно припаял .... блин
Да! Правда, выходные импульсы напруги нельзя замыкать))) гдето я вроде писал что у последнего чипа нагрузить их через 100-500ом)) (OUTMISO-вывод 7 можно замыкать на GND.. т.к это вход))) Молодцы что заметили (можно их вообще не подключать. Эту схему я рисовал под себя, набросок... но отказался от неё - так как Метабанку нужна плата для устр-ва.)
Ещё соображения: не нужен делитель с IOVDD, IOREF соеденить с VDD (0,9в). И ещё резисторы на BSS138 лучше взять 10ком, и по 5в поставить кондёр-фильтр...
Если будете собирать на FTDI - лучше брать "hi-speed". На печатке шину VDD-чипа рисуйте шире...
и выше замечание t309 - что просвечивается пин GND из корпуса по торцам углов - очень полезное замечание))
Помните что VDD больше 0,9...0,95вольт питать безсмысленно - откроются диоды и получится простой нагреватель )))
вообщем разберётесь неспеша...

Я продвижениями пока похвастать не могу (на работе - завал, и бросить не могу - кушать хоцца))))
Есть соображения по использованию LPC1343 (LPC1342 или другие с ядром Cortex-M3) обвеса минимум, SPI, USB...но нужно программировать (Программеры, отзовитесь! )))
Прошить контроллер на IO SPI , чтобы чипы можно "слушать" но я не программер - выношу на обсуждение
legendary
Activity: 1946
Merit: 1000
моя поделка, сильно не пинайте делал по быстрому на чем было, макетница из ноутбучной вайфайки ))) по spi пока глухо, ну да я особо и не старался устал, mosi и sclk транслируются на выходи правда sclk инвертировано


http://imgur.com/0mPFASe,RshMwVS,BmhAaa9,H9mmsry,mrAgo4q,qgx6AiN

кстати кто надумает так соединять шыну питания обязательно поуглам делайти петельки там по углам есть чтото вроде -1 и 13 недовывода к которым подведено GND

еще полезный копипаст:

Let me explain protocol.

It is not realtime - so you just prepare bulk buffer, then you execute transmit-receive operation, store buffer and then parse it.
So you can use 32-bit SPI while data could be aligned differently within frames.

SPI RESET sequence - rise SCK toggle MOSI - that is treated as reset command and by default turns on chain of chips (i.e. all inputs are put to outputs OUT - chip is chaining)

Then - instructions for chaining accepted on bit-level

0 - is NOP - no instruction and ignored
100 - is 'break' chain - it is first broadcasted through whole chain and then - on final clock cycle chain is broken.
101 - establish asynchronous chain to next chip - all of SPI fill be forwarded to next chip in chain
110 - establish synchronous chain to next chip - the same as asynchronous but with additional registers for data - bits will be delayed by 2 in output! so give nop padding to frame of long chains
111 - DATA instruction
data instruction contains 1 byte that that has length in 32-bit words
and 16-bit address

So within single frame you can access any chip and execute data transmissions by to its internal addresses and get results using emit_data function.
For testing purpose - just break chain after reset and start talking to FIRST chip ALWAYS. SPI RESET is synchronization routine, because chip doesn't have global asynchronous reset and starts in undefined state. It is pretty safe however just to send many zeroes to overflow counters inside and get "in sync" with single chip.

----- Communication code snippet ----
unsigned char spibuf[16384]; /* Spi output buffer */
unsigned spibufsz = 0; /* Spi buffer size in bytes */
unsigned nonemit_value[128];
unsigned nonemit_pos[128];
unsigned nonemit_last = 0;

void emit_buf_reverse(const char *str, unsigned sz)
{
        unsigned i;
        for (i = 0; i < sz; i++) { // Reverse bit order in each byte!
                unsigned char p = str;
                p = ((p & 0xaa)>>1) | ((p & 0x55) << 1);
                p = ((p & 0xcc)>>2) | ((p & 0x33) << 2);
                p = ((p & 0xf0)>>4) | ((p & 0x0f) << 4);
                spibuf[spibufsz+i] = p;
        }
        spibufsz += sz;
        printf("Adding %u to %u bytes (reverse)\n", sz, spibufsz);
}
void emit_buf(const char *str, unsigned sz)
{
        unsigned i;
        memcpy(&spibuf[spibufsz], str, sz); spibufsz += sz;
        printf("Adding %u to %u bytes\n", sz, spibufsz);
}

void emit_break(void) { emit_buf("\x4", 1); }
void emit_fsync(void) { emit_buf("\x6", 1); }
void emit_fasync(void) { emit_buf("\x5", 1); }
void emit_data(uint16_t addr, const char *buf, uint16_t len)
{
        unsigned char otmp[3];
        if (len < 4 || len > 128) return; /* This cannot be programmed in single frame! */
        len /= 4; /* Strip */
        otmp[0] = (len - 1) | 0xE0;
        otmp[1] = addr >> 8; otmp[2] = addr & 0xFF;
        emit_buf(otmp, 3);
        emit_buf_reverse(buf, len*4);
}
-------------------------------
member
Activity: 116
Merit: 10
Интересно, способен чип переваривать питание от трех-четырех мелких источников, если на них равномерно распределить все пины питания?
Если это возможно, как скажется разброс 1-3%? Переживет чип не синхронную подачу питания?
Возможно ли "отключить" часть блоков, не подавая питание на часть пинов, чип будет вообще работать?
Если такое возможно, то скорее всего и возможен вольтмод на отдельные блоки, таким образом можно повысить эффективность работы чипа.
Если такое не реализовано, нужно брать на заметку Wink

А чтобы дешево и сердито - не думали брать обычный DCDC с внешними ключами, и выходное напряжение сдвигать ниже стандартных минимальных ~1.2В вставив операционный усилитель в обратную связь?
hero member
Activity: 553
Merit: 500
А чтобы дешево и сердито - не думали брать обычный DCDC с внешними ключами, и выходное напряжение сдвигать ниже стандартных минимальных ~1.2В вставив операционный усилитель в обратную связь?
а возможность разгона?
Только частотой сыты не будем) кушать надо дать столько что бы хватило
legendary
Activity: 1946
Merit: 1000
Привязать к GND не значит коротнуть!!!!! 5 6 7 8 нельзя на землю коротить, блин еще смотрю думаю какого виходы на землю, но всеравно припаял мудак блин
Чип живой? На 5 пине, клок есть? Какое потребление после того как отпаял?

жывой или нет незнаю так как только все спаял клока нет(встречный вопрос а он должен быть? или его програмно включить сначала надо?) потребление 6милиампер
уже спросил у битфури включается програмно ето радует скорей всего чип жывой
newbie
Activity: 39
Merit: 0
А чтобы дешево и сердито - не думали брать обычный DCDC с внешними ключами, и выходное напряжение сдвигать ниже стандартных минимальных ~1.2В вставив операционный усилитель в обратную связь?
hero member
Activity: 553
Merit: 500
Пришли к выводу что оптимально для маленьких девайсов 1-2-3 чипа использовать isl6265
штука шикарная... но вот доступность, цена + обвес - не в ее пользу.
В мастерскую по ремонту ноутов дорога ведёт, по обвесу да достаточно, но вечно, а сама гдето 4-7у.е, помоему достойно
На Украине есть и менее более доступно, одну у себя в городе небольшом взяли, даже была в наличии
вот тут постоянно в наличии http://chipok.in.ua/60-chipy-dlya-noubukov/96-isl--Intersil-/246-ISL6265-HRTZ-kontroller-upravleniya-pitaniem.html
member
Activity: 116
Merit: 10
Пришли к выводу что оптимально для маленьких девайсов 1-2-3 чипа использовать isl6265
штука шикарная... но вот доступность, цена + обвес - не в ее пользу.
hero member
Activity: 553
Merit: 500
Пришли к выводу что оптимально для маленьких девайсов 1-2-3 чипа использовать isl6265
member
Activity: 116
Merit: 10
Привязать к GND не значит коротнуть!!!!! 5 6 7 8 нельзя на землю коротить, блин еще смотрю думаю какого виходы на землю, но всеравно припаял мудак блин
Чип живой? На 5 пине, клок есть? Какое потребление после того как отпаял?
legendary
Activity: 1946
Merit: 1000
ermak72, а сколько чипов получил? Покажи свои наработки если есть, у людей острая нехватка фотографий.
Думал попробывать USB игрушку, но чипов дали 6шт - займусь линейкой, даю схему USB на обсуждение.
Печатные платы у меня давно хранятся в DipTrace и дорабатываются, у кого есть прога и хочет полюбоваться ими в 3D могу выложить )))

Если линейка питания не пойдёт, есть D12F200A - она потянет все 6 парралельно.


Привязать к GND не значит коротнуть!!!!! 5 6 7 8 нельзя на землю коротить, блин еще смотрю думаю какого виходы на землю, но всеравно припаял мудак блин
legendary
Activity: 1946
Merit: 1000
ну и как кто чего делал делитесь наработками, ток по 1.8v ктото мерял? у меня получилось 0.25A чип при етом не греется что странно теперь хз ето так и должно быть или ето не есть гуд Huh
newbie
Activity: 39
Merit: 0
А что с поддержкой софта для майнинга/тестирования на процент ошибок? Есть ли что-то полуготовое, чтобы "прикрутил LPT/USB<>RS232 и поехал"?

Только под распи есть. Кстати там Тимуру еще 50 чипов пробных едет - если есть желание потестировать - могу попросить отсыпать.

Эх, думал-думал - видимо не осилю строительство тестовой системы с разумными затратами времени, в основном из-за питания.
Мне интересен был вопрос разгона с охлаждением элементами Пельтье/Сухим льдом.

Вот если у кого освободится тестовая система - можете отдать мне под криогенные испытания :-)
sr. member
Activity: 266
Merit: 250
Только под распи есть. Кстати там Тимуру еще 50 чипов пробных едет - если есть желание потестировать - могу попросить отсыпать.

Тоже бы с радостью потестировал, raspi и желание имеется, остается только плату сделать.
newbie
Activity: 24
Merit: 0
Только под распи есть. Кстати там Тимуру еще 50 чипов пробных едет - если есть желание потестировать - могу попросить отсыпать.

желание еще в самом начале через край лилось
Pages:
Jump to: