Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Реализация моста PC -> SPI на attiny2313
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
max_2980
Собственно возникает потребность порулить регистрами разных схем и хочется это делать культурно из окошка выньдос клацая мышой.
Погуглив наткнулся на схему такого старого программатора как AVR910
Нажмите для просмотра прикрепленного файла
Только думаю вместо транзюков поставить max232(в компе есть COM порт) или китайский свисток USB <-> RS232
Некий чел на своей странице приводит исходники зашивки
www.serasidis.gr/circuits/avr_isp/avr_isp.htm
Думаю взять это за основу, очень похоже на то что мне нужно.
Собственно SPI бывают разные, для определенности конкретные эпюты сигналов (скорость особа не важна)
Нажмите для просмотра прикрепленного файла

Контроллеры раньше не пользовал, так что вопрос к корифееям.
Может кто покажет короткую дорогу бегинеру.
Собственно вероятно зашивку придется модифицировать, чо-как?
Нужно писать свою прогу с кнопочками которая будет рулить контроллером через COM порт, это вообще без понятия как?
Полагаю что это стандартная задачка и спецам вероятно это как два пальца об асфальт (наверно многие с этим сталкивались).
Может кто поделится своими примерами реализаций.
kovigor
Цитата(max_2980 @ Feb 5 2015, 02:28) *
Нужно писать свою прогу с кнопочками которая будет рулить контроллером через COM порт, это вообще без понятия как?

Вот, почитайте интересную статью:

http://www.realcoding.net/article/view/2416
Xenia
Цитата(kovigor @ Feb 5 2015, 02:53) *
Вот, почитайте интересную статью:
http://www.realcoding.net/article/view/2416


Фу! sm.gif Готовых коммуникационных прог много. Например, я пользуюсь этой: Terminal.exe
max_2980
Цитата(Xenia @ Feb 5 2015, 03:12) *
Фу! sm.gif Готовых коммуникационных прог много. Например, я пользуюсь этой:

Xenia, спасибо конечно, но это не пацанский метод.
Хочеться прогу с картой регистров как даташите, расставил цифирьки/битики, клацнул записать.
kovigor
Цитата(Xenia @ Feb 5 2015, 04:12) *
Фу! sm.gif Готовых коммуникационных прог много. Например, я пользуюсь этой:

Да, теоретически и терминалки хватит. Но человек, все же, хочет большего ...
max_2980
Походу этот лисапед уже давно придуман до меня.
www.atmel.com/Images/doc2557.pdf
www.atmel.com/images/AVR303.zip
Буду раскуривать инфу. (Но вопрос с писишной прогой остается открытым)
Тока там внутри сишный код для IAR, его куда кормить? он тока к иару пойдет?
За тупые вопросы прошу сильно не пинать, в этой теме я не ухом не рылом (тока начал читать книжку Мортона).
Пока ничего нет, есть тока желание замастырить полезный девайс.
Xenia
Цитата(max_2980 @ Feb 5 2015, 12:53) *
Походу этот лисапед уже давно придуман до меня.
www.atmel.com/Images/doc2557.pdf
www.atmel.com/images/AVR303.zip
Буду раскуривать инфу. (Но вопрос с писишной прогой остается открытым)
Тока там внутри сишный код для IAR, его куда кормить? он тока к иару пойдет?


Проект для IAR'а, еще совсем старого (2.28-3.10). А заливают код после компиляции в ATmega8.
На свежей версии IAR (6.50) тоже компилируется, хотя и с варнингами.
Если скомпилированный код нужен, то вот он:
max_2980
Цитата(Xenia @ Feb 5 2015, 13:55) *
Проект для IAR'а, еще совс.....

Спасибо за бинарник конечно, но меги не будет будет тинька (китайцы видимо уже запокавали и отправили в дальний путь)
Буду пытаться заделать тоже самое на тиньке.
Xenia
Цитата(max_2980 @ Feb 5 2015, 14:40) *
Спасибо за бинарник конечно, но меги не будет будет тинька (китайцы видимо уже запокавали и отправили в дальний путь)
Буду пытаться заделать тоже самое на тиньке.


Однако компиляция этой программы (AVR303) выдает следующие потребности в ресурсах:
4179 bytes of CODE memory (+ 12 range fill)
325 bytes of DATA memory (+ 9 absolute)

Тогда как у ATtiny2313 на борту:
2048 байт Flash
128 байт SRAM

Сравнение показывает, что данная программа в ATtiny2313 не войдет, поскольку требует более чем двое больше памяти (как Flash, так и SRAM).

P.S. Впрочем, нынче существует ATtiny4313, по цоколевке совпадающая с ATtiny2313А, но имеющая вдвое больше Flash и SRAM. В нее код влезет, но SRAM все равно не хватит. Однако можно уменьшить размер буферов у UART (сейчас там 128 х 2).
piroman
Xenia, не по теме, но я вас обожаю заочно.
megajohn
цепочку USB <-> RS232 + RS232 < - > MCU + MCU < - > SPI

можно упростить до USB <-> SPI/GPIO по средством одной FT2232
max_2980_3
Цитата(Xenia @ Feb 5 2015, 18:03) *
P.S. Впрочем, нынче существует ATtiny4313, по цоколевке совпадающая с ATtiny2313А, но имеющая вдвое больше Flash и SRAM. В нее код влезет, но SRAM все равно не хватит. Однако можно уменьшить размер буферов у UART (сейчас там 128 х 2).

Цитата(megajohn @ Feb 5 2015, 23:43) *
цепочку USB <-> RS232 + RS232 < - > MCU + MCU < - > SPI
можно упростить до USB <-> SPI/GPIO по средством одной FT2232

Это все хорошо конечно и наверно возможно, но попробую сделать на базе AVR910.
Хочется сделать девайс за пять копеек, максимум за шесть. Может я жадный или сбережливый.
Исхожу из предположения что если похожая система в программаторе работала (причем даже на AT90S1200) то моя задумка реализуема.
Нажмите для просмотра прикрепленного файла
Собственно схема в альтиуме (параллельно приходится осваивать), за выходные попробую развести чтобы в понедельник сплавить в изготовление.
Есть у кого какие замечания/соображения, чо не так?
У меня вот какой вопрос по поводу MAX232A. В даташите предлагается ствить полярные кондеры (во всех типах схем), при этом номинал кондеров не превышает 1uF (для MAX232A 0.1uF).
Ничо не случиться если я там керамику поставлю? и зачем там полярные указаны, наверно и номиналов таких низких нету?

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

После этого еще и пароль попробовал поменять, непомогло.
Это что какой-то своебраный тип бана? (За что?)
Или продвижение ветки силовой электроники?
Писал админам, день назад на forum@electronix.ru . Ни ответа ни привета.
Ксения, можете ли вы как либо помоч вылечить мою старую учетную запись max_2980, а то я не фанат силовой электроники?
max_2980
Сегодня понял, что походу сам лоханулся и не прошла активация после смены мыла.
Запросил повторную и вот чудо из чудес, снова могу заходить на форум.

Так что уважаемая Ксения, не извольте беспокоиться.
Xenia
Цитата(max_2980 @ Feb 7 2015, 11:49) *
Так что уважаемая Ксения, не извольте беспокоиться.


Дык, я уже того - админу написала (у меня самой таких полномочий нет). Может быть он там что-то поправил.
max_2980
Тогда сенкью уважаемая Ксения.
А я то думал это само разрулилось.
Xenia
Ну, а что программой (со стороны ПК) чего?
А то ведь прошивка такова, что требует общаться с собой по протоколу. Установки разных режимов и все такое.
Если бы режим работы SPI был фиксированный, то ничего бы такого строить не пришлось, а работало бы, как переходник.

А с другой стороны, чем вы станете свою Тиньку прошивать? Она, небось, тоже через SPI шьется. А если у вас есть такой SPI-программатор для прошивки вашей Тиньки, то, может быть, он сам уже и есть искомое устройство? sm.gif
max_2980
Ксения, а вот с программой как раз самое сложное.
Пока план таков, развести плату, изготовить, пока идут детали, разобраться в исходниках от AVR910 (что там по чем, что отрезать, что добавить), когда придут детали собрать девайс, залить прошивку, и под прошивку уже писать писишную прогу (конечно путь полностью раздолбайский).
Программатор есть вот такой кетайский USBASP USBISP AVR
www.aliexpress.com/item/USBASP-USBISP-AVR-51-Series-Programmer-Download-Aluminum-Shell-64K-Limit-Support-WIN7-64-Freeshipping/1136431141.html
То что моя схема фактически схема программатора это вы верно заметили, на то и расчет чтобы максимально использовать то что уже работало и от чего есть исходники хотя бы зашивки.
Можно было бы теоретически заюзать программатор но что у него за зашивка как ей рулить? Потом хочется своего с тотальным контролем.
one_man_show
Я не вмешивался в процесс, видимо, активация Вам помогла.
Второй аккаунт удалил, так как вторичная регистрация является грубейшим нарушением правил форума.

P.S.
Похожую затею делал в 90-х, тему даже пытались развить до универсального инструмента с настраиваемым интерфейсом, чтобы можно было подключать разнородные устройства. Прошивку для моста сделали быстро, а вот ПО верхнего уровня съедало уйму времени. Пришлось отказаться от универсального преобразователя, так как все время разработки тратилось на ПО для ПК,а не на проект, в котором разово понадобился мост :-)
ILYAUL
A я вообще не понимаю проблемы . Купить нормальный debugger ,скачать бесплатную студию и играться ( без ковычек) сколько хош
Но, Ксения, как всегда респект!
A. Fig Lee
Я тоже как раз такое пытаюсь сделать. Чтобы через USB СПИ, I2C и ного дрыг.
Думаю, надо ли мне 2.5В и 1.8 Вольт. Пока заложился на 3.3В и 5В
max_2980
Цитата(A. Fig Lee @ Feb 8 2015, 16:33) *
Я тоже как раз такое пытаюсь сделать. Чтобы через USB СПИ, I2C и ного дрыг.
Думаю, надо ли мне 2.5В и 1.8 Вольт. Пока заложился на 3.3В и 5В

Да у меня у самого была сначала хотелка на USB, но подумал что будет совсем сложно для такого чайника как я USB программить (надеюсь с 232-м будете легче).
Но на всякий случай думаю оставить вилку в которую можно будет воткнуть китайский свисток аля FT232 (вместо max232)
типа такого www.aliexpress.com/item/1-pcs-USB-To-RS232-TTL-Auto-imported-Converter-Module-Converter-Adapter-For-Arduino-Worldwide-FreeShipping/1361575381.html

А по поводу уровней сам соображаю. Хотся универсальности. А дабы никто никому не грел защитные диоды логично питать контроллер от питания ведомого девайса, а если ведомый с низким питаловом то есть вероятность что моей тиньке не хватит.
Тогда нужно ставить что-то из разряда преобразователей 74LVC244A, TXB0108PWR, ADG3300 с отдельным питаловом. А их где-то брать надо и они еще денег стоят, а жаба как всегда душит.
Наверно дополнительно паралельно фишке контроллера добавлю чтобы потом запаять можно было.
Xenia
Цитата(max_2980 @ Feb 9 2015, 23:33) *
Да у меня у самого была сначала хотелка на USB, но подумал что будет совсем сложно для такого чайника как я USB программить (надеюсь с 232-м будете легче).
Но на всякий случай думаю оставить вилку в которую можно будет воткнуть китайский свисток аля FT232 (вместо max232)
типа такого www.aliexpress.com/item/1-pcs-USB-To-RS232-TTL-Auto-imported-Converter-Module-Converter-Adapter-For-Arduino-Worldwide-FreeShipping/1361575381.html

Что-то мне ваша задача становится всё непонятнее и непонятнее sm.gif. Ведь если вы взялись курочить входную часть ("транзюки" на max232 заменять или вообще "китайский свисток" ставить), то зачем зубами цепляетесь за tiny2313? Ведь тогда вас фактически ничего с ней не связывает. А цены у tiny2313 и mega8 примерно одинаковые (порой mega8 даже дешевле стоит). А если вы у китайцев уже что-то заказали (так и не поняла с ваших слов, что это было), то уже ни о какой-переделке и речи быть не может. Хотя высказались вы на этот счет настолько невнятно, что получилось, что вы голую ATtiny2313 из Китая заказали ("будет тинька, китайцы видимо уже запаковали и отправили в дальний путь"), когда ей в России цена 100 руб в розницу.

В ситуации, когда вы толком не пишите, что именно заказали в Китае, то обсуждать это невозможно. А если же вы сами что-то паять надумали, то жесткая привязка к tiny2313 выглядит нелепо.

Mega8 выглядит презентабельнее, чем tiny2313, не только потому, что у нее больше памяти (обоих типов), но и тем, что у нее SPI поддержан аппаратно. Т.е. кладешь в регистр SPI-данных передаваемый байт ("SPDR=байт") и ждешь когда в регистре статуса (SPSR) появится бит завершения передачи. Ну, еще есть регистр режима (SPCR), где можно желаемую частоту передачи установить, полярность и порядок передачи бит. Т.е. тут и программировать нечего, т.к. всё предельно элементарно.

А у tiny2313 (как и у прочих tiny), насколько помню, ничего такого нет. Я, кстати, сама когда-то писала SPI-интерфейс между как раз этой tiny2313 и двумя штуками АЦП AD7714 (у них связь по SPI). Там мне это ногодыгом пришлось на ассемблере писать. Сама-то программа у меня на Си была написана, а функцию эмуляции SPI на ассемблере писала для того, чтобы задержки по тактам нужные выставить. Понятно, что ни о какой универсальности тут и речи быть не может, когда мне пришлось подгонять скорость обмена под тактовую частоту МК (1.8432 МГц у tiny2313, и 2.4576 МГц у АЦП, чтобы последний с гарантией успевал принять строб). А к tiny2313 я была привязана тем, что вся конструкция питалась от линий RS232 и других источников питания не было. Вот и пришлось экономить (tiny более экономичная, чем mega).

Но вы-то не привязаны к питанию от RS232, поскольку можете запитаться от девайса. И это совершенно правильное решение, если заранее не знаете, 5-вольтвый будет девайс, 3.3-вольтовый и того меньше. А раз так, то зачем вам tiny2313 со всеми неудобствами, сопряженными с ее выбором?

Цитата(max_2980 @ Feb 9 2015, 23:33) *
А по поводу уровней сам соображаю. Хотся универсальности. А дабы никто никому не грел защитные диоды логично питать контроллер от питания ведомого девайса, а если ведомый с низким питаловом то есть вероятность что моей тиньке не хватит.
Тогда нужно ставить что-то из разряда преобразователей 74LVC244A, TXB0108PWR, ADG3300 с отдельным питаловом. А их где-то брать надо и они еще денег стоят, а жаба как всегда душит.

Верно, преобразование уровней не нужно, если питание схемы берется от девайса. А уж тем более, когда его напряжение питания заранее неизвестно.

Между тем, проблемы, которые я вижу, далеко выходят за рамки железа. Ведь SPI-интерфейс "синхронный". И хотя у него три провода (отдельно на прием и передачу), но прием и передача осуществляются одновременно. Т.е. вы не можете принять по своему PC/SPI-мосту требуемое число байт, не передав точно такое же число байт в девайс. Поэтому прием у вас всегда будет выглядеть, как эхо от передачи, которое в отличие от истинного эха, будет звучать иначе, чем передача.

Пошли дальше. Реальные устройства (например, АЦП, которые очень часто делают с SPI-интерфейсом) требуют соблюдения определенного протокола, подразумевающего серию обменов с задержкой. Например, чтобы прочесть данные из АЦП, ему сперва следует послать посылку с требованием того, что от него требуется (это либо содержимое регистров установок или готовые данные). Нужную посылку формируем и отравляем - это обычно 1-2 байта. Затем выдерживаем паузу для того, чтобы АЦП "осознал", что от него требуют, и успел приготовиться к передаче. После это передают какую-нибудь фигню типа 0xFF, прислушиваясь исключительно к ответному эху. И соответственно, столько раз, сколько байт ответной информации ожидается. В случае если пауза окажется недостаточной, то первый байт ответа может оказаться лажей, а дальше нарушиться синхронизация, т.к. в следующий раз АЦП не воспримет команду, а станет передавать тот байт, который не успел передать в прошлый раз. Но может случиться беда и в том случае, если пауза затянется, тогда АЦП может решить, что произошел сбой по таймауту и прекратить передачу данных (а точнее - передавать вместо них муру).

Во многих случаях при работе с АЦП используют дополнительную линию сброса/синхронизации (ее роль обычно выполняет chip selесt). В таких случаях желательно озаботиться тем, чтобы у PC/SPI-моста тоже такой провод был и им можно было программно дергать.

Всё это выливается в то, что PC/SPI-мост, пригодный для реальных задач, должен выглядеть не как поток, а как процедура, состоящая из нескольких шагов:
Шаг 1 - перевод линии CS (chip select) в положение, включающее у девайса слух.
Шаг 2 - передача K-байт команды, эхо от которой игнорируется.
Шаг 3 - временная задержка.
Шаг 4 - передача N-байт чепухи, эхо от которой передается в PC, как ответ девайса.
Шаг 5 - перевод линии CS (chip select) в положение, отключающее к девайса слух.
Если линия CS не используется, то шаги 1 и 5 удалять из протокола не требуется, т.к. тогда они ничему не мешают.
При этом очень желательно, чтобы посылка от PC к PC/SPI-мосту представляла собой готовую структуру данных, содержащую все байта команды и указание величины задержки между окончанием передачи команды и началом приема ответа. Сам ответ, чаще всего, тоже приходится паковать в структуру с заголовком, т.к. во многобайтных ответах бывает трудно разобраться, который из байт первый.

Сейчас я намекнула лишь на некоторые трудности, возникающие, когда девайсом является АЦП. А если это ... SD-карта?! Даже страшно себе представить последствия, если сделать PC/SPI-мост по-простецки.

Вот всё оно как-то так выглядит sm.gif, если относиться к этому делу серьезно и рассчитывать на практическую пользу от конструкции.
max_2980
Мда Ксения, у вас не забалуешь sm.gif
Прям напрягся пытаясь прочитать и понять.

Ну на самом деле ситуация выглядит так, некий ламер с контроллерами никак не связанный (вообще другая степь) решил заделать некий нужный ему девайс и посути интересен даже не результат а процесс.
Хочется весть путь пройти и посчупать самому. А надо все-то записать прочитать несколько регистров в некой микросхеме (SPI для управления) никакого рилтайма. И скорость не важна, хоть один регистр за секунду.
2313 потому что в книжке его увидел и предположил что это легко и может срастись, а китацы его привезут за ~60р с доставкой до дома и никуда ехать не надо (хотя наверно также и мегу привезли бы)

Вообщем признаюсь провафлил все выходные и плату так и не развел так что шить пока нечего.
Постараюсь исправиться.
Xenia
Цитата(max_2980 @ Feb 10 2015, 22:05) *
Ну на самом деле ситуация выглядит так, некий ламер с контроллерами никак не связанный (вообще другая степь) решил заделать некий нужный ему девайс и посути интересен даже не результат а процесс.

Вы насчет ламерства не переживайте - на самом деле любая возня с микросхемами (и МК в том числе) выглядит точно так же, как будто ты ламер, поскольку каждый раз приходится "курить даташит" sm.gif, разбираясь с тем, как всё это приспособить к делу. При этом уже имеющиеся познания могут как помогать делу (если сходство имеется), так и мешать ему (если сходство обманчиво). А если и накапливается какой-то опыт, то он, по большей части, хранится не в памяти в виде знаний, а в выработке дисциплины понимания смысла разных даташитов, мануалов и прочих инструкций. Т.е. в способности видеть то, что написано, вопреки своим собственным предположениям на этот счет. В том же случае, когда такой дисциплины выработать не удалось, то первый же освоенный МК останется с тобой на всю жизнь sm.gif, т.к. переход с него на другой выльется в трудно преодолимую проблему. Впрочем, даже овладев дисциплиной, такой переход все равно дается с трудом, хотя и менее страшит.

Я-то сейчас в вами разговариваю не потому, что мне интересен предмет разговора, а просто впомнила, что сама когда-то точно также начинала с Tiny2313. Причем никто меня этому не учил. А поскольку сама изготавливать платы не умела, то купила себе готовую - вот такую https://www.olimex.com/Products/AVR/Development/AVR-IO/ с 4-ми релюшками (довольно мощными по переключаемой нагрузке). Tiny2313 в комплект не входила, пришлось ее купить отдельно и в ту панельку вставить. Да и программировала я на первых порах, выдергивая ее из панельки и вставляя в программатор, которым мне дали попользоваться. Ну, и что за программа тогда у меня была, легко догадаться - по командам от компьютера ("1-2-3-4") теми релюшками щелкала. По началу это были электрогирлянды на новогоднюю елку, а позже - включение по расписанию разных устройств в биохимической лаборатории, где я работала (рост микроорганизмов требовал специального режима искусственного освещения и периодического фотографирования внешнего вида колонии). Вот у меня две релюшки освещение включали, а третья фото снимала.

Кстати, взгляните на схему моей платки https://www.olimex.com/Products/AVR/Develop...VR-IO-B-sch.gif - за исключением реле, она удивительно похожа на ту схему, которую вы привели. Те же "транзюки" и диоды на тех же самых местах! Поэтому, как только я вашу (т.е. AVR910) схему увидела, то тут же вспомнила свою.

Цитата(max_2980 @ Feb 10 2015, 22:05) *
Хочется весь путь пройти и посчупать самому. А надо все-то записать прочитать несколько регистров в некой микросхеме (SPI для управления) никакого рилтайма. И скорость не важна, хоть один регистр за секунду.
2313 потому что в книжке его увидел и предположил что это легко и может срастись, а китацы его привезут за ~60р с доставкой до дома и никуда ехать не надо (хотя наверно также и мегу привезли бы).

Ну, и правильно решили. Это же не квантовая механика sm.gif, когда имеешь дело с природой, а вещи, сделанные людьми и для людей. А потому первые всячески старались, чтобы для вторых это было удобно и понятно. А потому и путь тут не тяжелый, и специального образования не требующий (достаточно почитать описания или разделы из популярных книжек). Нынче даже младшие школьники в Arduino играются, а там обычно mega8 стоит или чуть постарше. Это тоже вариант, который может вам в дальнейшем пригодиться, т.к. это - то же самое AVR-направление, что и Tiny2313. Отчасти именно поэтому я вам mеga8 сватала. Т.е. тут не тупик, а широкий проторенный путь, который даже сейчас не потерял актуальности (на этот счет можете почитать тему про Ardiuno в разделе "Общение").

Mega8 я тоже юзала тем же способом, что и tiny2313, когда она мне надоела sm.gif
https://www.olimex.com/Products/AVR/Proto/AVR-P28-8MHz/
Эта плата еще дешевле оказалась, т.к. релюшек на ней не было. А было только питание, кварц и max232 (или какой-то его более дешевый китайский аналог). И саму mega8 тоже пришлось покупать отдельно в ту панельку вставлять. Зато есть целое поле с дырочками, куда всякие свои прибамбасы можно добавлять с самыми минимальными способностями к паянию sm.gif.

Ну, а когда мне и mega8 мне стало мало, купила себе такую https://www.olimex.com/Products/AVR/Proto/AVR-P40-8535-8MHz/ , только вставила в нее не mega8535, на которую, судя по названию, она была рассчитана, а самую крутую Мегу в DIP-корпусе - mega1284P, да и кварц вставила 16 МГц (он тоже там не припаян, а в гнезда вставляется). Народ, правда, надо мной смеется, увидев такую большую AVR-микросхемину, но мне она глаз не режет, а только радует sm.gif.

Цитата(max_2980 @ Feb 10 2015, 22:05) *
В общем признаюсь провафлил все выходные и плату так и не развел так что шить пока нечего.
Постараюсь исправиться.

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

Кстати, вы какую Tiny2313 из Китая выписали? Ту, что с "PU" на конце маркировки в DIP-корпусе, чтобы вставлять в панельку, или с "SU", чтобы запаивать планарно на плату?
max_2980
Цитата(Xenia @ Feb 11 2015, 10:38) *
К сожалению, после девальвации рубля, готовые платы, о которых я только что рассказала, стали стоить ....
Кстати, вы какую Tiny2313 из Китая выписали? Ту, что с "PU" на конце маркировки в DIP-корпусе, чтобы вставлять в панельку, или с "SU", чтобы запаивать планарно на плату?

Ксения, спасибо что поделились опытом.
Собственно конечно можно было бы купить какую-нибудь платку (вопрос денег не так важен), хотя изготовление может станет никак не меньше готовых.
Но поучить альтиум это как раз один из тех зайцев которых хотелось бы заодно подстрелить.
А 2313 под соик вот какой ATTINY2313A-SU.
SM
Вернувшись к исходному...

Неужели USB->RS232->RS-232->AVR->SPI дешевле и проще, чем USB-RS232 (только именно на базе упомянутой FT2232, или FT232H) - который сам по себе, если с ним работать через D2XX драйвер, может быть SPI, I2C, JTAG, или ногодрыгалка.
pavel-pervomaysk
Зато какая "chain reaction" происходит biggrin.gif
A. Fig Lee
Цитата(SM @ Feb 11 2015, 14:51) *
Вернувшись к исходному...

Неужели USB->RS232->RS-232->AVR->SPI дешевле и проще, чем USB-RS232 (только именно на базе упомянутой FT2232, или FT232H) - который сам по себе, если с ним работать через D2XX драйвер, может быть SPI, I2C, JTAG, или ногодрыгалка.


I2C с FT232 может быть сложней чем с AVR. Временные характеристики, необходимость задерживать ACK и так далее.
Нужны реал тайм мозги.
SM
Цитата(A. Fig Lee @ Feb 12 2015, 00:53) *
I2C с FT232 может быть сложней чем с AVR. Временные характеристики, необходимость задерживать ACK и так далее.
Нужны реал тайм мозги.

Не понял. Реализация I2C в MPSSE у FTDI не соответствует спецификации от NXP?
A. Fig Lee
Цитата(SM @ Feb 12 2015, 01:03) *
Не понял. Реализация I2C в MPSSE у FTDI не соответствует спецификации от NXP?

O! Уже? Круто, я и не знал, что такое есть уже. помнится, в FT245 такого не было.
И это, неизвестно что лучше:
программировать на стороне Виндоус MPSSE, или иметь обычный COM port и
запрограмировать firmware.
Кому как..

Минусы реализации все через MPSSE в том, что надо иметь драйвер и надо иметь программу, которая пользует этот драйвер.
Это не будет универсальным решением - воткнул и пользуйся.
А если сделать через обычный COM port и firmware, то можно из любой терминальной программы комманды отдавать.
SM
Цитата(A. Fig Lee @ Feb 12 2015, 15:45) *
программировать на стороне Виндоус MPSSE, или иметь обычный COM port и

Все уже запрограммировано до нас sm.gif
http://www.ftdichip.com/Support/SoftwareEx...ibMPSSE-I2C.htm

ну и для людей - https://code.google.com/p/libmpsse/

И драйвер иметь не надо, он же бесплатный, на фтди лежит. А в линуксе даже по умолчанию имеется.
A. Fig Lee
Цитата(SM @ Feb 12 2015, 09:26) *
Все уже запрограммировано до нас sm.gif
http://www.ftdichip.com/Support/SoftwareEx...ibMPSSE-I2C.htm

ну и для людей - https://code.google.com/p/libmpsse/

И драйвер иметь не надо, он же бесплатный, на фтди лежит. А в линуксе даже по умолчанию имеется.


Дело не в бесплатности, а в том, где и как человек работает. Если у меня зоопарк машин из виндоусов, маков, линухов и фрибсд..
И далеко не все клиенты дадут поставить драйвер на свой комп.
Даже бесплатный. А воткнуть "железячку" в USB дадут. Поэтому firmware это универсальное решение и кросс платформенное.
А MPSSE это для себя любимого на коленке слабать.
SM
Цитата(A. Fig Lee @ Feb 12 2015, 18:59) *
А воткнуть "железячку" в USB дадут.

Если я правильно понимаю (хотя не уверен), что, если, воткнув "железячку" система увидит ft232h как ком-порт, то это автоматически даст доступ и к MPSSE, так как драйвер-то один... Ну по крайней мере под linux это так... А если система не увидит как ком-порт, то по любому драйвер ставить придется (как для среднестатистических переходников USB-COM, например, на одной из самых распространенных микросхем - PL2303). Так что, разница не велика. Драйвер придется ставить, как ни крути, для какой-то части "зоопарка" и в случае ftdi/mpsse, и в случае среднекитайского USB-COM.
A. Fig Lee
Цитата(SM @ Feb 12 2015, 11:10) *
Если я правильно понимаю (хотя не уверен), что, если, воткнув "железячку" система увидит ft232h как ком-порт, то это автоматически даст доступ и к MPSSE, так как драйвер-то один... Ну по крайней мере под linux это так... А если система не увидит как ком-порт, то по любому драйвер ставить придется (как для среднестатистических переходников USB-COM, например, на одной из самых распространенных микросхем - PL2303). Так что, разница не велика. Драйвер придется ставить, как ни крути, для какой-то части "зоопарка" и в случае ftdi/mpsse, и в случае среднекитайского USB-COM.

Ну судя по этой страничке:
http://www.ftdichip.com/Drivers/D2XX.htm
это таки разные драйвера, и если FTDI ком порты я люблю за то, что дрйавера на всех системах уже встроенные, то здесь нет.
И опять же, надо или кросс платформенную программу и компилить под каждый, или..
В общем сомнительная выгода
SM
Цитата(A. Fig Lee @ Feb 12 2015, 22:43) *
это таки разные драйвера, и если FTDI ком порты я люблю за то, что дрйавера на всех системах уже встроенные, то здесь нет.

Я точно могу сказать про Linux - в ней для работы с ком-портом нужен модуль ядра ftdi_sio, а для MPSSE - ничего не нужно, кроме вездесущей libusb. Для freebsd, аналогично, хватит libusb, которая есть везде и всегда.

Для win.... Точно не могу сказать, ибо не знаю, но... У меня в win стоит Lattice Diamond Programmer, я втыкаю голую ft2232 с дефолтным vid-pin, и он ее сразу видит, и работает через ее MPSSE как через JTAG. Cам я руками дров не ставил. Одновременно появляются и соответствующие два ком-порта. См. картинку, как это выглядит после втыкания FTDI. Повторю - я ничего не ставил, то есть, оно или так было сразу, или какой-то софт за собой притащил. Но, факт, одновременно появляются и ком-порты (ftser2k.sys), и D2XX-устройства (ftdibus.sys), а не по отдельности. То есть, драйвера то физически разные, но все сразу в системе.
A. Fig Lee
В любом случае - писать программу придется каждый раз заново под каждую платформу.
Даже если там стоит драйвер.
Что не есть хорошо.
SM
Цитата(A. Fig Lee @ Feb 13 2015, 00:12) *
В любом случае - писать программу придется каждый раз заново под каждую платформу.

Не писать, а собирать, что есть две большие разницы. libmpsse-i2c, вроде, кроссплатформенная, по крайней мере в пределах windows-linux
A. Fig Lee
Цитата(SM @ Feb 13 2015, 01:03) *
Не писать, а собирать, что есть две большие разницы. libmpsse-i2c, вроде, кроссплатформенная, по крайней мере в пределах windows-linux

Ну да, ну да.. Приезжаю я так к мужику у кого интересующие меня блоки и говорю:
а давай, мужик, проверим парочку через SPI.
Сейчас я тебе на комп установлю вижуаль студио, потом драйвер, если у тебя не стоит,
а потом соберу программу.

SM
Цитата(A. Fig Lee @ Feb 13 2015, 15:06) *
а потом соберу программу.

А сразу под все планируемые системы собрать религия не позволяет?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.