Делаем свой лог. анализатор из того, что было.

Поскольку моя затея с покупкой нормальных опенсорс анализаторов не удалась, я на время отложил эту идею. Но тут в очередной раз прижало.
Причем так, что опять был готов платить какие-то нереальные деньги за доставку. Но, немного поразмыслив, пришел к выводу, что мне будет проще своё сделать.

Разумеется, хотелось что-то типа Saleae. Порывшись в интернетах и здесь среди топиков, были найдены несколько сайтов, на которых лежат схемы логических анализаторов.
Например, тут, тут или тут.
Разумеется, больше всего мне понравилась первая схема. Минимум деталей, односторонняя плата, практически ничего не нужно.
Но… На картинках там показана еепромка в соике, а в имеющемся скематике используется пятиногий корпус. Достать такой в той же терре мне не удалось, а орлом в достаточной степени я не владею, чтобы по-нормальному впихнуть туда еепромку в соике. Ну и непонятный момент — на всех фотках у еепромки A0 висит на питании, а у пятиногой еепромки вроде как адрес из всех нулей и меняется как-то через I2C, если я правильно понял даташит (может и не правильно, т.к. лень было внимательно вчитываться).
Проект с казуса — классная штука. Но проблема была в том, что у меня были еепромки и контроллеры CYC68013A-56PVXC. А вот защитных буферов в закромах не нашлось, а ехать еще раз в магазин в праздники — всё ж закрыто, как всегда.
Третий проект сделан в кикаде. Пофиг, если пройти в описании по ссылке в комменте и побродить по папкам, то можно найти нормальную печатку. Одностороннюю. Автор реально молодец, что сделал такую трассировку. Защита там через резисторы и специальные диоды. И если резисторов много есть, то таких диодов — ни одного. И еще не очень приятный момент — usb-разъем. Даже вилка на плату нашлась в закромах. Но я как подумал, что чтобы им нормально пользоваться вдали от компа, нужно будет еще один кабель покупать с розеткой… И довершило всё применение стабилизатора на 3.3 вольта в том же пятиногом корпусе. Да, он маленький, но у меня такие стабилизаторы только в sot-223. Всё это окончательно сподвигло меня сделать свою плату.
За основу была взята схема по последней ссылке. Были выпилены все защитные диоды, добавлено конденсаторов по питанию и изменен тип usb разъема. Плюс удалена ненужная перемычка на линии данных usb.
Получилась вот такая схема:
Схема анализатора

Немного покумекав, была сделана печатка:


Можете попинать за трассировку — всё делалось на скорую руку за пару часов с перерывами на обед.
Как бы мне ни хотелось сделать всё в один слой — я решил, что раз текстолит у меня только двусторонний, то и делать надо на две стороны. Но, как часто бывает, второй слой только земля. Без всяких дорожек. Чтобы если слои съедут при изготовлении — не было мучительно больно. Заодно переходные отверстия на нижний слой позволяют не растаскивать компоненты и проводники, пытаясь протащить землю. Если не ошибаюсь, вся плата у меня сделана по 0,254\0,254.

Травил в перекиси с лимонной кислотой — очень понравилось. Теперь можно всё делать за одним столом не боясь заляпать всё вокруг. Потом лужение и напайка.

После чего наступает интересный момент — как же запустить всё это хозяйство.
Вот тут товарищ count_enable объясняет, как оживить дохлый китайский анализатор.
Качаем софтину от сайпресса — тут.
Мне не понадобилось никаких VID PID менять. Поставил софтину, воткнул устройство, оно опозналось, предложило поставить не подписанные драйвера и вроде как опозналось.
А дальше… Дальше нужно что-нибудь загрузить в контроллер и еепром.
Для этого понадобится прошивка отсюда.

На том же сайте читаем инструкцию по заливке всей этой красоты:

Программирование EEPROM:

— удалите джампер выбора EEPROM;
— вставьте анализатор в разъем USB;
— запустите CyConsole;
— откройте вкладку «USB interface»;
— нажмите «Download», выберите файл прошивки «Vend_Ax.hex»;
— вставьте джампер выбора EEPROM;
— введите число «A2» в поле «Req», «0» — в «Value» и «Index», «0 Out» — в «direction»;
— введите строку «C0 25 09 81 38 00 00 00 00 00 00 00 00 00 00 00» для Saleae
или «C0 A9 08 14 00 00 00 00 00 00 00 00 00 00 00 00» для USBee в поле «Hex bytes»;
— нажмите «Vend.req»;
— выньте и еще раз вставьте анализатор в порт USB — в диспетчере устройств должно появиться соответствующее устройство.

Желательно заранее поставить софт от Saleae, чтобы анализатор нормально опознался.

Программирование проходит успешно, железка опознается.
Но при работе начинает вредничать и говорить, что не может работать быстрее мегагерца, а винда ругается, что устройство не вставлено в разъем USB2.0. Что за хрень?

И тут я вспомнил, что зачем-то (где-то видел такое) поставил 51 Ом резисторы по цепям D+ D- от usb.
Перепаял их на перемычки — всё чудесно запустилось на 24 МГц.
Теоретически могу доработать плату, если кому-то сильно захочется без перемычек usb обойтись — питание кинуть там не так сложно.

Фоток готовой железки не сделал — возможно сделаю в четверг, если кому интересно будет посмотреть.
Да, весь проект сделан в оркаде, трассировка в PCB Designer. Ну у нас кафедра в этом всём работает. Поэтому выкладываю только PDF со схемой и слоями, да герберы со сверловкой. Если кому нужны будут исходники — напишите, закину.
Разумная критика всячески приветствуется.
  • +2
  • 16 мая 2012, 00:55
  • Karlson
  • 1
Файлы в топике: PCB.zip

Комментарии (40)

RSS свернуть / развернуть
хмхм. кипресы. хорошо в них разбираешься? консультацию оказать сможешь? в личке разумеется)
0
  • avatar
  • xar
  • 16 мая 2012, 08:57
Нет, совершенно не разбираюсь.
0
Полистал схемы… На вход USB каждый лепит кто во что горазд, хотя стандартная входная развязка на USB, кажется, должна быть всем давно известна — 22Ом резисторы на вход (и, по идее, 47 пик с ног контроллера на землю, то есть если смотреть от разъема, то после входных резисторов). Для того, что бы устройство правильно определялось как high speed, надо бросить резистор 1.5К с ноги контроллера D+ бросить на +3.3В.
0
Этот МК вроде как имеет встроенную подтяжку, програмно управляемую.
0
Вполне может быть, я подробнее доку на него не смотрел.
0
Вы это где видели? Вероятно, в оф. документации?
0
Я это видел в описании микросхем защиты от ESD, со ссылками на официальные спецификации. Конкретно можно посмотреть, например, даташит на STF202 или даташит на USBUF02W6.
0
А можно поподробнее про травление? Я вот тут как раз травил тоже в перекиси с лимонкой, и… Не понравилось… Вот тут я описал свой процесс внизу.
Мне хотелось бы понять, что я делаю не так… Спасибо!
0
Она требует интенсивного помешивания. Ну и перекиси можно (нужно, я бы даже сказал) лить больше, чем указано в рецепте, тогда процесс идет быстрее.
0
Ну у меня еще 4 бутылки перекиси есть (по 100мл) — попробую. Я только не совсем понимаю, что изменится. Ведь у меня же она 3%. Если я вместо 100 мл налью 200 мл, то это все равно будет 3% перекись. Или имеется ввиду именно соотношение перекиси к лимонке? То есть не 100мл на 30гр, а сделать, например, 200мл на 30гр?
0
Да, тут важнее количество вещества, а не концентрация. Во всяком случае у меня травилось достаточно быстро, сравнимо с ХЖ. При подогреве так вообще ураган, правда дышать поблизости невозможно :)
0
Ну попробуем еще, все равно перекись девать некуда :)
0
(оффтоп)Хм. А прикольный камень, судя по даташиту. Купить да покурить, что ли…
+1
Тоже задавался этим вопросом, только цена у камня не прикольная 300р+. Учитывая это лучше купить готовый китайский какой понравится.
0
надеюсь ни для кого не секрет что заказать его можно на сайте производителя? доставка в районе недели. меня сейчас больше интересует как работать с их камнями предназначенными для разработки hid устройств
0
Ну прошу прощения, естествено я оказался не прав. US$10.77 это естественно не 300р+, естественно даже цисло 11 меньше 300.
И ладно хер с ним что после выбора оказывается цена $13.46. Видать просто из-за конвертации US$ в $. всё равно же меньше числа 300.
Скажите, а одну микросхемку они продают с бесплатной доставкой? А то все остальные нужные мне детали у них отсутствуют.
0
да, бесплатная доставка. я не про цену говорил. а про то что можно заказать и очень быстро получить не заморачиваясь с нашими барыгами которые месяц везти будут.
0
Да ладно, 300 рублей это как старшие меги, плюс полноценный usb 2.0 и до 48 мГц тактовая частота.
0
Ну что 24МБайт/с прогонять по юсб шине умеет это несомненно плюс, но часто ли такое надо? Для анализатора надо, но тут китай пришел на помощь и продаёт всё устройство по цене мк. USB 2.0 с прокачкой 300-800кБайт/с получается из LPC1343. STM32 думаю не отстает. Для мелких хид-поргалок так и авр подходит. В итоге цена в 3-6 раз ниже (для любителя, оптовиков не рассматриваем).
Плюс ципресов из тех что я вижу — халявные вид/пид от производителя и очень высокая скорость.
0
Ещё — гибкость. Кипарис может «прикинуться» чем угодно, всё решается софтом на ПК. Если хорошенько раскурить, на нём можно лепить всевозможные программаторы, житаги, мосты USB-UART-I2C и т.д. и т.п., причём все эти функции может выполнять одна и та же железяка.
Они там дальше пошли, родили EZ-USB FX3, на ядре ARM926 и с USB 3.0, но в любительских условиях его освоить нереально. Разве что купить у них готовую плату.
0
Да, это тоже плюс. Забыл. По сути плюс в том что вся память является оперативкой, и её можно поделить «как душе угодно». Но цена…
0
Ещё минус — довольно мутная документация, особенно по средствам разработки.
0
вот это правда. так и не нашел ничего внятного по их контроллерам. в итоге не парясь перешел на PSoC 3
0
С другой стороны, если подумать, то за ту же цену и с тем же функционалом луже уже стмки брать.
0
У STM нет High-speed USB.
Посмотрел только что у местных:
imrad.kiev.ua/search.shtml?qs=CY7C68013&query=any
Тот, что за $8 — это QFN однако. :(
Год назад они гораздо дешевле были (SSOP-56 стоил… гривню за вывод. ;) )
0
QFN это не так страшно. Кстати, на космодроме эти чипы несколько дешевле.
0
У STM есть high speed USB (как минимум начиная с F2, возможно и у F107, надо смотреть). Только для своей работы он требует внешнего приемопередатчика.
0
У 107 — full speed (12 Mbps). За F2xx и выше как-то забыл. :)
0
Как нет о.О? Как минимум у 105 и выше есть.
0
Вдогонку. Собственно контроллер там не особо крутой, да крутизна и не нужна — после конфигурирования FIFO молотит сам по себе. А для USB или UART высокое быстродействие и не нужно.
0
Блин, зарапортовался. Вместо USB читать I2C. :)
0
А вообще логический анализатор какой то уж очень «свой». Стибренная схема, чуток доправленная, ПО чужое, прошивки чужие. Только разводка своя (я надеюсь). Последние посты в сообществе больше похожи не макетинговые: завернуть в красивую обертку, то что уже давно штампуют китайцы.
Ожидал вообще увидеть какую нибудь мегу8 с самопальной прогой на дельфях. А тут нихеровое-таки «что было», ципрес, которые кроме как специально купив и не окажутся в наличие.

P.S.: не спорю, с маркетинговыми замашками сам грешен :)
+1
Я что-то не очень понял, что именно Вас не устраивает? Мультивибратор тоже прикажете каждый раз изобретать?
И почему сразу стибренная?
Я же написал — приперло, сильно нужен был анализатор. А всё, что нашлось в сети, по тем или иным причинам не подходило.
Я где-нибудь указал, что прошивки мои и софт мой? Нет. Я честно дал ссылки.
Сделать свою печатку под имеющуюся у меня комплектуху — уже преступление?
Кикад, орел и прочее я не умею. Меня как научили в оркаде строчить, так там и работаю. Не нравится — пройдите мимо и не обсирайте. Нравится — скажите спасибо, что сделал такую печатку. Я же в личный блог запостил, а не в общий.
И накой мне изобретать велосипед, если лично меня интересовал грамотный разбор I2C, чтобы как можно меньше затрат и как можно больше пользы.

В общем я не понимаю Вашего наезда.
0
а я описал что мне не нравится. Прочтите ещё раз, может дойдет.
0
И да, анализатор свой — потому что спаянный самостоятельно с самостоятельно изготовленной платой. А не купленной у китайцев.
0
Купленный у китайцев тоже свой, он же куплен.
0
Вообще интересно, почему сайпрессовский контроллер входит в состав аж трех разных схем(хотя как вариант эти схемы развитие какой-то одной на этом контроллере)
0
Потому что селеае заюзало этот контроллер и грузило прошивку дровами. Да и сам контроллер позволяет такое делать.
0
Есть еретическая мысль. Гоню её подальше, ибо коммерческий успех сомнителен, но всё же…
Не запилить ли под EZ-USB FX2 нечто вроде пинборда отладочной платформы?
Помимо 2-х двунаправленных портов (к одному из них опционально подключается АЦП, как в USBee AX), предполагается вывести I2C и оба последовательных порта (RS232/RS485), а также прикрутить внешнее ОЗУ. Камень, естественно, 128-выводный придётся ставить.
Схему/плату могу сделать малой кровью. ПК-шный софт, однако, не осилю.
0
Имхо тогда уж шильд под пинборду.
Просто мк на плате с пинхедаме есть у китайцев, так же практически по цене мк.
Полноценную отладочную с переферией тоже как-то беспонтово при целевой аудитории сообщества/бывшая СССР.

Софт под ПК — я вот тоже хз, вроде есть бесплатные средства. программатор от самого ципресса, асм тоже вроде есть (поправьте) си или гцц или сдцц. Вообще надо кого-нибудь кто писал под эти мк (на хабре и радиокоте таковые отмечались).
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.