Проект NanoFury Open Source
Я открываю нить, чтобы обсудить мою работу над проектом NanoFury и общие вопросы проектирования относительно Bitfury СИС.
Дом проект находится на: https://github.com/nanofury/NanoFury
Краткое описание проекта:
Интерфейс: USB 2.0
Требования к питанию: 2.5W, когда эксплуатируется в USB 2.0 спецификации, до 3.5W при использовании хаба
Производительность: Приблизительно 2Gh / с, когда внутри USB2.0 спецификации, вплоть до 2.5GH с пассивным охлаждением
Размеры: 25x42.5mm
ASIC: 1x Bitfury чип
PCB / CAD программное обеспечение: KiCAD
Вот как все выглядело при проектировании его:
И как настоящие закончилась:
Есть другие фото и галереи по адресу: http://nanofury.imgur.com/
Статус проекта
аппаратные средства:
В версии 0.6 на печатной плате все, кажется, работает и будет довольно стабильной. Если вы хотите попробовать дизайн - начиная с этой версии.
Программного обеспечения:
Несмотря на то, что мы начали с cgminer, что нужно гораздо больше работы, и не было проверено на GitHub еще.
Luke-Jr однако делал чудеса и его bfgminer прекрасно работает! Лука - спасибо еще раз !!!
В рамках требований bfgminer в каждое устройство должно сообщить специфично "Строка продукта", Я положил небольшую тестовую программу, которая может осуществлять каждое устройство, а также исправить эту строку. Кроме того, вы можете сказать bfgminer отдельные серийные номера, и в этом случае он не будет заботиться о том, что строки. (Хотя я думаю, что это гораздо проще просто установить строку продукта). Вы можете найти тестовую программу на https://github.com/nanofury/NanoFury_Init
Overclocking
Я думаю, любимую тему каждой
Плата поддерживает некоторый разгон, а также твик напряжения (например, "карандаш моды").
Для того, чтобы соответствовать требованиям USB2.0 bfgminer по умолчанию чип bitfury скорости 50 бит, что приводит к приблизительно 2.5W и вокруг 2gh или чуть ниже.
Большинство компьютеров будет на самом деле терпеть чуть более-спецификации устройств и не отключит порт вниз. В таких случаях вы можете экспериментировать, перекрывая количество скорости бит и выяснить, где пределы вашего оборудования являются.
Кроме того, имейте в виду, что никакие две bitfury фишки не одинаковы - каждая плата может выполнять несколько иначе.
И я предполагаю, что речь идет не о том, что потребуется некоторое охлаждение. Начать хотя бы с небольшим радиатором на задней стороне платы.
Если вы хотите пойти немного более агрессивным - добавить радиатор на чип bitfury и индуктор.
И вы не можете пойти неправильно, добавив некоторое активное охлаждение (например, небольшой вентилятор).
ВНИМАНИЕ: ЭТИ ДОСКИ БУДУТ перегреваться! Я имею в виду ОЧЕНЬ ГОРЯЧИЙ - 80-85C! Обращайтесь с ними CARE !!!
Если доски перегреться вы можете увидеть hashrate значительно снижается (например, 0.3-0.6GH вместо 2,4). Иногда порт USB начнет падать напряжение и вместо 5V может снизиться до 4V или даже 3.5V. После того, как она опускается ниже 3. это может помешать связи USB, так что вы, вероятно, потеряют связь с этой доской. В таком случае вам придется отключить плату и подключить его обратно.
Планы на будущее:
- Преобразование дизайна в два чипа один будет очень легкой задачей. Это просто нужно больше мощности и дополнительный чип bitfury. С другой стороны, потребление энергии, скорее всего, превысит USB3 спецификации ... это если у вас есть хаб USB, обеспечивающий 1-1.2A каждого порта. Он также будет производить много тепла. Таким образом, радиатор будет необходимо.
- Используйте дизайн для нулевого чипа борта, чтобы служить в качестве адаптера для использования с существующим 8-чипом и 16-стружечных плитами (например, Пунин-х и buzzdave-х) для тех, кто предпочитает работать горнодобывающее программное обеспечение на ПК (и те, которые по каким-либо причинам не имеют или не хотят использовать М-плату).
Было бы адаптер USB-к-HCard.
Есть несколько конструкций клонов H-карт, которые используют 8 чипов (в том числе и buzzdave новых плат 8-чипа Tytus компании), так что может быть хорошо подходит для предварительных стартовых комплектов.
bfgminer уже имеет необходимую поддержку и открыть для себя ситуацию более чем один чип-в-порта.
Немного истории:
Первоначально я получил представление о NanoFury, как я не хотел того, чтобы купить Raspberry Pi, чтобы использовать чипы Bitfury в. Я хотел что-то, что я могу просто подключить в моем ноутбуке. Я даже присоединился некоторые из предзаказов Avalon и BFL (то, что катастрофа после катастрофы!). Потом я обнаружил нить bitfury (в[ANN] Bitfury ищет альфа-тестеров первых чипов! БЕСПЛАТНО ДЕНЬГИ ЗДЕСЬ!), И все начали получать интересно ... но не фишки, хотя ...
И то, что произошло дальше, вина всех Tytus'! Я получил сообщение, что он будет посылать мне несколько образцов чипов! И через несколько дней я получил их! И я быстро потерял сон
К сожалению, до сих пор нет никакой документации для чипа bifury в. Я начал копать корыта форумы и собирая различные биты здесь и положить кусочки вместе. Я положил все эти ноты в вики-статье - который использует "docuwiki" формат, и GitHub хочет "Обсуждение MediaWiki" формат, так что в моем списке дел, чтобы начать перерабатывать это.
Благодаря z3phyreo кто портирование, что документация у нас уже есть некоторые из них можно найти здесь: https://github.com/nanofury/NanoFury/wiki/The-missing-bitfury-chip-documentation .
Моя самая первая идея состояла в том, чтобы сделать это щит Arduino. Но это уже было бы излишним для большинства людей.
Таким образом, для предварительных v0 доски я выбрал микросхему MCP2210 Microchip - он казался хорошим кандидатом. Кроме того, что после того, как тратить неделю расчесывать через документацию, которую я не мог найти способ BitBang контактов SPI, который является обязательным для последовательности СБРОСА bitfury в. Что привело меня к отказу от этого чипа.
Таким образом, версия 0 доски была сделана вокруг чипа FT232R. Я выбрал, что один конкретно, как он утверждал, что он имеет встроенный регулятор 3.3V, и что он работает на вплоть до 1,8В - просто идеально подходит для взаимодействия с чипом bitfury, который также работает на 1.8V. Это также очень популярный чип - особенно среди любителей. Я, наверное, десяток досок с ним вокруг - различные rs232 / серийные и заказные адаптеры.
Чип FT232R однако действительно асинхронный интерфейс, поэтому SPI требуется довольно много работы. И что хуже всего - это очень медленно, делая BitBang вид операций - я не мог надежно выжать более 1-2kHz из него. Я почти сдался, когда я заметил, что он может работать как псевдо-параллельный интерфейс, в этом случае он будет использовать / RD и / WR шину и сделать посыл, а затем получить последовательно. Таким образом, я мог бы сделать отдельные контакты интерфейса SPI моделироваться с помощью штифтов шины данных 8. Я получил 50-100kHz, что путь, и он также позаботился о последовательности RESET. CPU, однако было бы сериализации и десериализации все коммуникации.
Это было немного рубить, и довольно уродливое решение, и я заметил еще один (лучше!) Чип, который, казалось, как более подходящим кандидат!
Я начал работать над v0.1 платы с использованием CY7C65211 чипа Cypress'. К счастью, я был не слишком далеко в том, что, когда оба Cypress и Digikey (и Avnet чуть позже) сказал, что те находятся на спине для того, ...
И при обсуждении различных решений и вариантов один из них:
Следующий вариант я смотрел на был MCP2210. Но вы не можете переключать контакты SPI в GPIO. Я могу настроить SCK булавку (путем переключения фазы), но я не могу ничего о MOSI один сделать. Только (дешевый) раствор будет сортировать короткое замыкание его с другим штифтом GPIO через небольшой резистор, как
Так что стало v0.1 доски, обратно с MCP2210. В то время было неясно, насколько власть делает жеребьевку bitfury чип от 1.8V, поэтому я выбрал довольно громоздкий LDO. В то же время он получил разъяснено, что это намного меньше.
Ставшее v0.2 совета. Но я уже забыл о тех 0402 компонентов - они крошечные !!!! И это было слишком много боли, чтобы иметь дело с ними, и вдобавок ко всему еще там было много места на плате, так что на самом деле не нужно идти, что мало.
В v0.3 доски я изменил все в 0805 - красивый и большой! На самом деле настолько большой, что для некоторых компонентов становилось слишком тесно ...
И v0.4 родился с большинством компонентов обратно в 0603. В то время как я ждал v0.4, чтобы прибыть, я заметил, что я проглядел спецификацию MCP2210 - это не нравится 1.8V сигналы ... так что я должен был добавить преобразователь напряжения. Некоторые из идей, которые были использованы плавали дешевый биполярный транзистор, но я был не совсем уверен, как дополнительные токи плавучие через него будет влиять на чип bitfury, поэтому я выбрал вариант полевого МОП-транзистора. У меня была куча из них, лежащих вокруг, так что я просто схватил первый и начал тестирование ... и это не сработало. Я уже почти вернулся к плану NPN один, когда я понял, что случилось с моим - 1.8V не было достаточно для того, чтобы перейти - это нужно более 2,5В. Я выкопал один с воротами источника порога 1.4V и - бинго!
Что приведет к v0.5 доски. Я также решил угробить печатную USB-разъем для целого ряда причин - PCB должен быть толще (читайте: дороже), то, что разъем должен был быть позолочен (читайте: больше денег), то доски необходимо некоторое специальные прорези для этого соединителя (читай: еще больше денег) и мои выборочные доски, казалось, немного слоеное в слоты USB и контакт не всегда так хорошо, и т.д.
Так что я положил правильный USB-разъем, который также был относительно дешевым. Кроме того, что я перепутала номера контактов - они были в обратном порядке.
Что привело к PCB версии 0.6.
Программное обеспечение в то же время было довольно боль тоже. Microchip только была версия .NET этой DLL .. поэтому любые Linux-поддержка надежда была немного туманна. К счастью, я нашел библиотеку Керри Вонг. Который был предназначен в основном для использования Linux. (Я уже говорил, что я больше вентилятор с Windows?)
В конце концов, после многих многих часов возились с ним (благодаря Val!) Мы наконец-то работает на Windows, и я начал отладку. Как оказалось, что была ошибка в библиотеке, которые я установил в nanofury вилке (https://github.com/nanofury/MCP2210-Library).
И, как они говорят, остальное - история
Подтверждения и другая информация:
* Этот проект был вдохновлен в значительной степени BKKCoins' Совет Клондайк K1 Nano Open Source и я очень благодарен за всю свою работу, и я буду продолжать поддерживать этот проект вниз по дороге, как я могу!
* Я повторно одни и те же физические размеры в максимально (в том числе отверстия радиатора размера и положения) с целью, что в случае необходимости оба проекта могут разделить ту же пластиковую подсоединенные шланги и / или теплоотвод.
* Несколько люди внесли свой вклад в развитие этого проекта, и я хотел бы сказать спасибо еще раз за самоотверженную работу! Вы можете найти более подробную информацию на странице GitHub.
Применение
Я предполагаю, что для большинства людей, что это самый важный вопрос
Во-первых - начать загрузку Kicad: http://www.kicad-pcb.org
Получить файлы проекта, и откройте проект изнутри Kicad.
При открытии либо схематических или PCB документов KiCAD может начать с собственными библиотеками. Удалить их из списка - проект NanoFury включает в себя Lib папку со всеми библиотеками, которые вам могут понадобиться. Просто добавьте все файлы из / NF1 / Kicad / Lib папки NanoFury. (Это также будет препятствовать вопросу, когда KiCAD хочет использовать свою собственную библиотеку для данного компонента вместо одного из проекта, который может привести к плохой схеме или печатной плате)
Изнутри Kicad, то вы можете распечатать схематические документы и генерировать все файлы, необходимые для печатной платы и фабрик.
И это все - это действительно так просто!
Я думаю, многие из вас есть вопросы, поэтому не стесняйтесь размещать на эту тему, и я постараюсь, чтобы вернуться к вам как можно скорее.
Пожертвования
Если вы нашли этот проект полезным и хотели пожертвовать некоторые биткойна пожалуйста, присылайте их 1AHvViTD5wohPywNYHi8NZ8uPhbY9dZXCY. Все пожертвования очень ценятся!
Если вы в конечном итоге с помощью конструкции NanoFury для изготовления любых досок для продажи / перепродажи или иным образом для получения прибыли - Я хотел бы спросить, что вы считаете, добавив несколько долларов "дизайн донорства" в первые несколько сотен досок (или столько же или много, как вы считаете целесообразным), чтобы помочь компенсировать некоторые из нескольких тысяч долларов, которые пошли на развитие этого проекта (не говоря уже о бесчисленных человеко-часов работы).
в заключение:
И самое главное - весело! And Happy Mining!