Перейти к содержанию
    

=AK=

Свой
  • Постов

    3 234
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Сообщения, опубликованные =AK=


  1. Все "проблемы" решаются включеним передатчика ДО начала передачи за время большее передачи одного байта.

     

    Так сделано в Модбас RTU, который вы еще недавно обсдавали пометом

     

    Как человек почти вся жизнь занимающийся всевозможными связными потоколами могу точно сказать, что Modbus RTU есть натуральное дерьмо.

     

    Однако, несмотря на растопыренные пальцы, вы кажется даже не догадываетесь, что "включение передатчика заранее" само по себе проблему не решает. На приемном конце необходимо произвести некие действия, а имено - определить, что появилась пауза и, если в приемном буфере что-то есть, очистить буфер. А чтобы можно было определить наличие паузы, необходимо, чтобы между байтами в настоящем пакете пауз не было. Так, шаг за шагом, постепенно вырисовывается как раз таки Модбас RTU, поскольку он логично и последовательно реализует этот подход.

     

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

  2. После сброса, включения питания, USB-МК настроен как передатчик (в смысле, находящийся на его стороне ресивер настроен как передатчик), второй МК настроен как приемник, ждет команд.

    USB-МК отправляет команду (или серию команд), направление передачи пока не переключаем, поскольку ответа не будет.

    Когда все во втором МК настроено, USB-МК посылает первый запрос данных, в прерывании по окончанию передачи - переключается на прием.

    Соответственно, второй МК после принятия такого запроса сразу же переключается на передачу, запускает таймер, который отсчитав 1 мс переключает МК на прием. Соответственно, время 1 мс выбрано потому что запросы данных будут приходить от USB-МК именно с такой частотой.

     

    Потенциальна проблема заключена в переходном периоде, когда один узел переключается с приема на передачу, а другой - с передачи на прием. С одной стороны, нельзя чтобы оба передатчика оказались включены одновременно, это криминал. С другой стороны, промежуток времени, когда оба передатчика выключены, должен быть коротким. А насколько коротким? Что произойдет за время, пока оба передатчика выключены?

     

    1. Если помех мало, то ничего не произойдет. Резисторы подтяжки удерживают линию связи в пассивном состоянии, если нет помех, то вообще никто ничего не заметит. Если же помехи есть, то вероятность появления ложного сигнала пропорциональна "плотности" помех, а также пропорциональна длительности "опасного" интервала.

     

    2. Если длительность "опасного" интервала очень мала, то приемник может "ничего не заметить" даже если помеха навелась прямо на этот интервал. Это зависит от того, как устроен приемник UART-а. Приемники "для оффисных применений" детектируют старт-бит по фронту, а сэмплируют принимаемые биты один раз ровно в середине бит-интервала. Совсем хреновые воплощения могут запустить прием по короткому фронту (помехового)сигнала, после чего даже не проверять уровень старт-бита в середине стартового бит-интервала. Приемники для индустриальных применений трижды сэмплируют данные в середине каждого бит-интервала, включая старт-бит. Можно надеяться, что и фронт сигнала они определяют по трем выборкам, хотя в даташитах подробности реализации как правило не раскрываются.

     

    При бодовой скорости 1 Mbps длительность помехи, которая может быть отсеяна "хорошей" реализацией UART-а, составляет малую долю микросекунды. Имеет ли смысл закладываться на этот механизм? Можно ли программно обеспечить "опасное" время, когда оба передатчика выключены, порядка 0.2-0.3 мкс? Нет, конечно.

     

    3. Если длительность "опасного" интервала больше, чем в п.2, то в момент переключения коварная помеха может создать как минимум ложный старт-бит. Конечно, чем длиннее интервал переключения, тем больше вероятность, что это произойдет. Тем не менее, ложный старт-бит может появится, а значит, UART может принять ложный байт. Что с ним делать? Протоколы типа Modbus RTU устроены так, что ложно принятый в это время байт будет гарантированно отброшен. Самопальные протоколы такого как правило не умеют, они надеются на резисторы подтяжки, плюс, иногда (как в вашем случае) надеются на то, что вероятность этого события мала, поскольку длительность "опасного" интервала мала.

     

    Однако это паллиатив, т.е. всего лишь припарка, не более того. Правильное решение - когда ложный сигнал будет принят, но он будет отброшен. После этого совершенно не играет роли, насколько долог или короток был "опасный" интервал.

  3. "Ретроград", если еще не поняли, с этими PSoC реально работал

     

    Среди луддитов тоже встречались придурки, работавшие на станках, которые они потом ломали.

     

    Если уж приспичит и процессоры не справляются- вспомню Альтеру, там хоть все понятно до потрохов (было, 15 лет назад), а эти урезанные PSoC 4 как-то очень уж специфичны.

     

    Ошибочный подход. Когда появились PSoC-и, я поначалу тоже воспринимал их как процессоры, к которым приделаны какие-то кривые аналоги CPLD. А сейчас я их рассматриваю просто как семейство Арм-ов, прямо конкурирующее с прочими процессорами, но предлагающее более гибкий набор периферии с автоматизированной настройкой под мои нужды.

  4. ... дерьмовому ... Дерьмописателям ... дерьмописателей ... дерьмописания ... дерьмописатели ... похерил все дерьмо ...

     

    Характерное для персонажа бурление говн доказывает разве что разлитие желчи в конкретном организме. Поскольку про это и так всем известно, то представленная информация сводится к шуму. Не к белому, и даже не розовому, а скорей к коричневому. Ретроградам, способным только набрасывать дерьмо на вентилятор, - стыд и позор. :twak:

     

    Что же касается Сайпреса, то они элегантно решают две задачи:

     

    1. Устраняют противоречие между гибкостью периферии и ее сложностью.

    2. Уменьшают потери времени разработчика на изучение документации.

     

    Существует явная тенденция усложнять периферийные узлы, поскольку кремний легко (читай - почти бесплатно) позволяет это делать, а область применения при этом заметно расширяется. Например, UART сейчас как правило имеет опциональный FIFO, адресацию для шинных протоколов, режим IrDA и т.п. Это приводит к многостраничным описаниям в даташитах и рефманах, и, как результат - к большим потерям времени на изучение толстых док, которые не нужны для решения конкретной задачи. Из всего этого многообразия чаще всего надо просто вычленить конкретный режим, наиболее подходящий для задачи.

     

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

     

    У меня нет сомнений, что рано или поздно все производители чипов пойдут по пути, нащупанному Сайпрессом. А им, как первопроходцам - почет и уважуха, честь и халва. :a14:

     

  5. Купил Cypress пионерский кит Cy8CKIT-042. Посмотрел и повторил первую обучалку из серии PSoC101. Все запахало с полпинка, отладка работает. То есть, Cypress PSoC Creator 3.3 (судя по всему, это все тот же изначально кривой Эклипс, но на сей раз сильно переделанный под свои нужды) вместе с семейством PSoC 4 выходят в финал.

     

    Интересная штука, этот PSoC 4. Чем больше читаю, тем больше нравится. Похоже, что Сайпресс действительно нашел магическое решение, которое позволит ему уделать всех конкурентов. Правда, в кремнии они пока уступают, но это дело наживное. Зато подход к разработке, действительно, революционный.

  6. Предложите свой вариант ESD Gun для нищих

     

    "Сага о напильнике"

     

    Полный текст привести не смею, бо предвижу, что модератор Херц будет недоволен и опять захерачит мне предупреждение.

  7. Говорю же вам НЕТ у меня и нихрома, а то давно бы его сделал :)

    Чайника нет? Паяльника нет?

     

    Пишут, что скрепки для бумаги имеют сопротивление порядка 0.3 Ома на метр. Пара скрепок последовательно скорей всего как раз подойдет.

     

    1) есть транзистор IRF7313 в корпусе so-8 , хватит ли его на ток 5Ампер,

    Слабоват.

  8. 1) У меня защита по току не планируется да

    2) мне негде достать требуемый датчик тока.

    3) В этой схеме нет смысла защиты по току, ибо если будет кз на выходе, то все равно сгорит.

    Поставьте резистор в исток полевого транзистора, как нарисовано в типовой схеме включения для UC2843. И не называйте этот резистор "защитой по току". Это элемент, необходимый для правильного функционирования схемы, поскольку она работает в токовом режиме. Это не для защиты сделано, получающаяся за счет этого защита полевика является полезным побочным эффектом.

     

    Резистор сами сделайте из нихромовой проволоки, если готовый купить негде.

  9. Привет всем. Имеется повышающий преобразователь с 12в до 15в на ток 5А

    Схемку представьте

     

    Проблема в том, что эта микруха UC2843 не может работать без тоокового датчика. Как быть?

    Поставить датчик, т.е. включить по типовой схеме.

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

     

    зы. но сам я назад на кодблокс вернулся - мне кроссплатформенность нужна. но до этого пользовался успешно. эта та IDE, за которую не надо платить, которая не отжирает сотни мегабайт явой и в которой после создания проекта можно нажать F8 и отладка работает без всяких бубнов.

     

    EmBlocks заработал с полпинка с платкой Нуклео STM32F030. Круто.

     

    Я кодблоками пользуюсь время от времени, тоже хорошая вещь.

  11. Em::Blocks

    Я не смог достучатъся до их сайта. Кто-то взамен подсовывает страницы с голландского полит сайта со всякой пургой о малазийском МН-17. Сегодня попробовал еще раз через анонимайзер, так удалось зайти и скачатъ дистриб. Штука интересная, буду пробоватъ.

     

    Вот окно KDS (оно же Eclipse Luna SR2) в режиме отладки.

    Как я уже писАл, в моем случае KDS не пожелал работать с FRDM KL25Z, в результате - не прошел в финал по озвученным в первом посте критериям. Я не стал настаивать, поскольку общая монстроидальность Фрискэйла вазывает у меня отвращение. Хуже них, наверное, только Тексас и Интел.

  12. JLink дает такой мощный отладочный канал как RTT

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

     

    А консоль для отладки, это, конечно, приятный бонус, но он на втором-третьем месте среди моих приоритетов. Обычно мне хватает "запасного" (неиспользуемого) UART для этих целей. Однако интегрированного отладчика/эмулятора мне он не заменяет.

  13. С Bluegiga/SiLabs в этом плане было бы проще - у них есть готовые скрипты, реализующие uart через BLE. Правда, считается, что для такой задачи именно BLE не очень хорошо подходит. Максимальная скорость получилась около 1 кбайта/с.

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

     

    SiLabs в то время сидел молча. На рынке присутствовали Амбер, Нордик и Тексас. Тексас выглядел устарелым изначально, характеристики по потреблению были худшими из всех. Поэтому Блюгига, которая сидела на тексасовских чипах, особо не привлекала, тем паче что цена на модули у финнов тоже была довольно высокой. Нордик был интереснее. А вскорости подоспел БлюНРГ. Сейчас еще чипы появились, и китайские модули дешевые, да только интерес у меня пропал.

  14. ARM компиляторы поддерживают ЛЮБОЙ ARM. Остальное неважно.

    Мне нужен отладчик. С пошаговой отладкой, брекпойнтами и вотч-виндовс.

     

    А если без отладчика, то меня и Ардуино бы устроил, и mbed, и любой Эклипс с GCC. Однако мне без отладчика и даром не надо.

  15. почему АРМ? Почему не МИПС? Я после 24-й серии перешел на 32 и прекрасно себя чувствую. Может я что-то пропустил? Вопрос серьезный, без подкола.

    Я делаю устройства с батарейным питанием. В линейке PIC32 нет ни одного "нановатт" чипа. А линейка PIC24F очень ограничена по размерам памяти. И это при том, что PIC24 жрет память программ как свинья, а пресловутые "нановатт" PIC24F по потреблению на фоне АРМ-ов выглядят очень блекло.

     

    Кроме того, иногда я делаю иные устройства, не малопотребляющие, но чувствительные к цене. И вижу, что за те же деньги, за какие Микрочип продает "дешевые" PIC24 с 16К памяти программ, я могу купить Atmega328 с 32К памяти, или XMC1100/STM32 с 32K или 64К памяти.

  16. что конкретно хотели реализовать на BLE и почему не получилось?

    Хотел получить самый обычный COM порт или его подобие. Не получилось - потому что коллега-программист продолбался со старт китом для nRF51822 несколько недель (в свое свободное время, по вечерам и по выходным) и сломался: сказал, что он не может предсказать, сколько еще времени надо долбаться, чтобы получить результат. И я ему ничем помочь не мог, хотя честно пытался прожевать все эти тысячи страниц спецификации BT.

  17. как ничего не понимая, ни в чем не разбираясь и ничего не написав получить моргалку светодиодом весьма странен.

    Вменямые люди, я думаю, меня прекрасно поняли. Это нечто подобное "индексу Биг-Мака" в экономике, простой и наглядный способ оценить затраты и качество софта. У кого много времени и мало денег - выберет бесплатную среду. Кто ценит свое время - выберет универсальный Кайл или Иар или же сядет на "фирменную" IDE.

     

    IDE всегда для любых контроллеров и КОМПИЛЯТОРОВ должна быть одна

    Это маниловщина. Можно сколько угодно хвалить Кайл, но Сайпрессовский PSoC он не поддерживает, и вряд ли когда-либо будет поддерживать. А посему не надо догматизма, лучше использовать IDE по обстоятельствам.

  18. Ещё IAR забыли посмотреть для полноты картины :) Ну и с Эклипсой сексом позаниматься.

     

    К сожалению, до IAR-а руки не дошли. Однако уверен, что в IAR-у тоже все ОК, как и в Keil. Когда-то работал под IAR-ом для MSP430, впечатление было очень позитивное.

     

    Что же касается Эклипса, то бОльшая часть перепробованных IDE сделана на Эклипсе, в т.ч. Инфинеон и СиЛабс. Это изрядно добавляет кривизны, но привыкнуть можно, лишь бы работало.

     

  19. Неужели всё так плохо?

    Угу. Если есть примеры, можно ими пользоваться, и все. Сделать что-то свое практически нереально. Поэтому на BLE получится у вас все тот же обрыдлый и никому не нужный hart rate monitor, ничего другого не сделаете. А чтобы сделать что-то свое, потребуется безумное время, чтобы въехать в доку и понять, чего они там наваяли

  20. Медленно переползая с PIC24F на ARM (по причине того, что Микрочип банально не справляется с толпой конкурентов), поставил я себе тривиальную цель. Дай-ка, думаю, найду промеж АРМ-ов и ейных IDE такие, которые сходу (т.е. без особых затрат моего времени на изучение док и на вопросы на форумах) справятся с привычными и тривиальными для Мплаб и PicKit/ICD задачами:

     

    1) инсталлировать среду

    2) создать проект (или лучше взять из готовых примеров), типа, помигать светодиодом

    3) скомпилировать проект

    4) загрузить его в отладочную плату

    5) отладить, т.е. пройти C-шный код по шагам

     

    Постепенно закупил некоторое количество отладочных плат и приблуд:

    - ST - Нуклео STM32L152 и STM32F030

    - Freescale - FRDM-KL25Z

    - Cypress - CY8KIT-049

    - Infineon - KIT_XMC_2GO_XMC1100_V1

    - SiLabs - EFM32WG-STK3800

    - MBED - LPC1768

    - TI - MSP432 LaunchPad

    - китайские ULINK2, J-LINK, ST-LINK-V2

     

    Помимо этого, еще и платку Atmel Xplained Mini прикупил, чтобы заодно попробовать, каково отлаживать Atmega328

     

    Не претендуя на полноту, докладываю о результатах и своих субъективных впечатлениях.

     

    1. Бесплатные IDE - никто не дошел до финиша. Пробовал:

    - CooCox

    - emIDE

    - ChibiStudio

    - SW4STM32

    Далее всего продвинулся с ChibiStudio, базируясь на их видео. Удалось даже скомпилировать проект и загрузить его в STM32F030. На отладке я сломался, как с этим г... можно работать, я так и не понял. Остальные сошли с дистанции раньше. На самых ранних стадиях накрылся SW4STM32, он даже инсталлироваться не способен - не может у меня в компе найти Жабу.

     

    2. Фирменные IDE от производителей чипов - ситуация смешанная, какие-то работают, иные - нет.

     

    - TI - ихняя студия после закачки и установки еще час-другой самообновлялась, что само по себе маразм. Затем, по ходу прохождения самого первого примера "out of box experience" она обновила фирмварь на LaunchPad, после чего тот накрылся медным тазом. Несколько дней я потратил на вопросы на форуме TI, и мне даже ответили, сказали, как сделать factory reset. Я его сделал, после чего фирмварь опять самообновился и снова накрылся медным тазом. Короче, не работает ни хрена, сырое все, а софт пишут какие-то фрики и выкладывают в сеть не проверяя.

     

    - Friscale - какие-то у них странности с самой отладочной платой. Под MBED все работает, под KDS - полный тухляк. Ниасилил.

     

    - Atmel Studio 7 - работает все, кроме отладки. При отладке по шагам все время вылетает в какую-то точку хрен знает где. Ничуть не лучше ChibiStidio.

     

    - Cypress - PSoC Creator мне понравился, однако отладочную платку я купил неправильную: в ней нет отладчика, а есть только бутлодер. По сути, эта платка - аналог Ардуино Нано. Собираюсь купить другую платку, с отладчиком, и пробовать дальше.

     

    - Infineon - Dave заработал с полпинка, никаких проблем. Все просто и понятно.

     

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

     

    3. Фирменные IDE

     

    mbed - классная вещь, все просто и все работает, но отладки нет, увы.

     

    Keil - никаких проблем, все интуитивно понятно и хорошо работает.

     

    -------------------------------------------------------

     

    По результатам своих изысканий, я стал с бОльшим почтением относиться к MPLAB. :)

  21. стек, профили. Изучать начинаю с нуля. Кто что посоветует ?

    От чистого сердца - посоветую забить на Блютус с прибором. Блютус - это растопыренные пальцы, огромное количество дурно написанной документации, собственная терминология, отсутствие вменяемых примеров, и т.п. Как следствие, чтобы как-то в нем разобраться, надо в него погрузиться полностью и навсегда.

     

    Мое личное мнение: Блютус создавали невменяемые красноглазые фрики. После нескольких попыток разобраться в том невшибенного размера бардаке, который они наплодили, я решил держаться от него подальше. Гора родила мышь.

  22. Есть такой SMD корпус по имени MELF. Производственники их страсть как не любят: он круглый, как бочонок, при пайке запросто скатывается. Однако жив, курилка, до сих пор выпускаются резисторы в корпусах MELF. Почему? Потому что металлопленочный резистивный элемент у него расположен по кругу и имеет относительно большую массу. В результате чего такие резисторы неплохо держат импульсные перегрузки. Vishay скромно так пишет про них: "самые надежные и предсказуемые в мире".

     

    post-2483-1446203207_thumb.png

     

    Ну 300В предельных для 0805 тоже както не соответствует прикладываемым 8кВ :)

    А вы для них импульсные характеристики поищите. 10к резистор в импульсе держит порядка 1кВ.

  23. По поводу керамики на входе.

     

    Кемет приводит данные, что 50В конденсатор C0G держит больше киловольта, а 100В кондер X7R пробивается при 700В. Поэтому они советуют ставить C0G.

     

    А ставить наидешевейшие резисторы 0402 в качестве защиты от статики - это изумляет, мне бы такое в голову не пришло.

×
×
  • Создать...