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

Чековый USB принтер и STM32

лет 8-10 назад я был в нехорошей ситуации: У заказчика был станок для резки металла, моща чего-то там - больше 60 Квт.
"Мозги" сей железки были весёлыми: обычная ATX плата + USB клавиатура. В процессе работы USB отваливался и... ну, вы поняли: брак, мат, деньги :(
А так как авторы сего чуда тихо растворились на бескрайних просторах нашей Родины, то пришлось мне изобретать велосипед и делать выносную клавиатуру.
Обошелся RS-232 и какой-то мелкой atmega для создания PS/2 клавиатуры.
За это время больше не обращались...
Ну, вы поняли: "домашний" USB тут нельзя применять!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, aleksandr-zh сказал:

Ну, вы поняли: "домашний" USB тут нельзя применять!

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

1 час назад, aleksandr-zh сказал:

обычная ATX плата + USB клавиатура.

Не удивлюсь, если и сам станок к компу по усб подключен был :biggrin:

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, aleksandr-zh сказал:

 В процессе работы USB отваливался и... ну, вы поняли: брак, мат, деньги :(
 

Да, сам такое наблюдал, станок плазменной резки + Mach3.

Любой провод длиннее 100 мм., в том числе мышь и кл., работают как антенна.

Не смотря на полную гальваническую развязку PC от станка, мышь и кл. виснут.

Если принтер зависает, всех проблем-то  чека не будет.

Фискальную память для такого случая никто не отменял.

А вот  приёмник  денег конечно важен и он уже имеет RS232 или вообще счётный выход.

Другое дело, что USB становится  все более и более распространённым  интерфейсом.

И рано или поздно USB осваивать нужно....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, mantech сказал:

Не удивлюсь, если и сам станок к компу по усб подключен был

Врать не буду, не видел. Всё удаленно дела...

 

7 минут назад, pnp_mechanic сказал:

А вот  приёмник  денег конечно важен и он уже имеет RS232 или вообще счётный выход.

ну, тут как раз проще: всегда опрашиваешь и всегда можешь сделать перезапуск или типа того. У меня все купюрники (с хопером) и монетники по МДБ подключены, её можно перезапустить длинным импульсом по шине данных.

 

8 минут назад, pnp_mechanic сказал:

USB становится  все более и более распространённым  интерфейсом.

И рано или поздно USB осваивать нужно

Истину глаголите. К сожалению, с ней (я про usb 3) вообще молчу на 8-битках не поднять...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 минут назад, pnp_mechanic сказал:

Другое дело, что USB становится  все более и более распространённым  интерфейсом.

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

18 минут назад, aleksandr-zh сказал:

У меня все купюрники (с хопером) и монетники по МДБ подключены

Протокол МДБ писали с нуля или какими исходниками пользовались, если да, не поделитесь случаем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с нуля. А что там писать-то? uart и команды. Ответил в "личку"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 16.03.2020 в 01:37, aleksandr-zh сказал:

ну, тут как раз проще: всегда опрашиваешь и всегда можешь сделать перезапуск или типа того. У меня все купюрники (с хопером) и монетники по МДБ подключены, её можно перезапустить длинным импульсом по шине данных.

А кто мешает сделать то же самое с USB-девайсом? Там всё для этого есть.

В 15.03.2020 в 22:45, mantech сказал:

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

В чём проблема передёрнуть USB-устройство программно? Для этого человек не обязателен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, jcxz сказал:

В чём проблема передёрнуть USB-устройство программно?

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

ЗЫ. а в случае ТСа даже оно не поможет, т.к. принтер питается не от усб...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, mantech сказал:

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

Если такое происходит, то причина этого скорее всего - корявое ПО USB-драйвера/стека этого девайса. Видя как оно реализовано во многих открытых "либах", которые народ обычно и используется для работы с USB, не приходится удивляться.

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

Цитата

ЗЫ. а в случае ТСа даже оно не поможет, т.к. принтер питается не от усб...

Какая разница от чего питается? Отключение/подключение хоста должно видеться USB-драйвером. Или Вы о зависании устройства вызванном схемотехническими причинами, из-за реализации неправильной схемотехники USB-канала, при котором и firmware перестаёт работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, jcxz сказал:

Или Вы о зависании устройства вызванном схемотехническими причинами, из-за реализации неправильной схемотехники USB-канала, при котором и firmware перестаёт работать?

Именно. Сталкивался с этим не раз и самое печальное то, что я ничего не могу с этим сделать кроме, как не использовать данное устройство или искать его аналог. Причем чаще всего, устройство само по себе работает, а порт висит...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, mantech сказал:

Именно. Сталкивался с этим не раз и самое печальное то, что я ничего не могу с этим сделать кроме, как не использовать данное устройство или искать его аналог. Причем чаще всего, устройство само по себе работает, а порт висит...

Ну да - кривая реализация часто бывает не только у ПО, но и у схемотехнических решений. Но такое бывает не только с USB.

А вообще - на прошлой работе мы со своими устройствами с USB проводили полные испытания на устойчивость к ЭМС: и разрядником стреляли и по эфиру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

42 минуты назад, jcxz сказал:

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

Бывает, раз уж в imx6s пришлось столкнуться с кривизной в УАРТе, то уж усб, который на порядок сложнее, ничему не удивлялся.

 

42 минуты назад, jcxz сказал:

А вообще - на прошлой работе мы со своими устройствами с USB проводили полные испытания на устойчивость к ЭМС: и разрядником стреляли и по эфиру.

А мне даже этого не надо было, просто проверял в вендинговом аппарате. Клиентам говори-не говори, что металлические корпуса нужно заземлять, все-равно какой-нить да попадется, которому пофиг, вот и бывало, подойдет кто-нить, заденет аппарат, искра долбанет, бац, а тач-панель перестала работать. Подключаю мышь в соседний порт, смотрю лог - усб не отвечает, куча попыток рестарта со стороны хоста, перезагружаешь систему - тач все равно не работает, передергиваешь разъем - бац, заработал... Такое бывало и в случае усб-рс232 переходников и принтера... Единственное, что стабильно работает - радиомышки, т.е. трансиверы, что в усб втыкаются, похоже из-за того, что не провода, а радиоканал, наводок нет.

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

 

ЗЫ. Возможно, если делать "свое" устройство, которое подключено к "своему" хосту, сделаны все обработчики ошибок и инита в случае сбоя - то будет все работать, но тогда наига усб? Это можно и с помощью уарта (рс485) сделать, что в разы проще и надежнее, усб именно тем и привлекает, что можно сторонние устройства подключать...

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 минуты назад, mantech сказал:

Единственное, что стабильно работает - радиомышки, т.е. трансиверы, что в усб втыкаются

во-во! Буквально месяц назад шаманили у приятеля: станочек с Mach3, просто фреза. Но двигатель шпинделя через "частотник" подключен. И всё равно иногда клавиатура и мышь отваливались. Решили проблему заменой на беспроводные.

кум рассказывал лет 10 назад. Для ЖД (не РФ) делали "костыль", который или по таймеру (сколько-то там раз в сутки), или по внешней команде через RS-232 отключал банальной релюшкой И питание USB, и шины данных внешнего "черного ящика" сторонней конторы, который вис при прибытии составов или электрички на станцию.

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

Изменено пользователем aleksandr-zh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 минут назад, mantech сказал:

Это можно и с помощью уарта (рс485) сделать, что в разы проще и надежнее, усб именно тем и привлекает, что можно сторонние устройства подключать...

Сомневаюсь что сможете по RS485 получить 1 МБ/сек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну да, "только" 256000 на пару метров :biggrin:

{ФЛУД}
 

Спойлер

 

(как вспомню, как в 2004м делал телеметрию на десятке Бод... А через 10 лет - на 100 Бод.

Зажрались (шучу-шучу!)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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