Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: перекодировка данных по UART (из одного в другой)

Пт мар 08, 2019 23:35:09

ПростоНуб писал(а):По ссылке перемаркированный CS32F103C8T6.
Я у этого продавца не покупал. Дал первую ссылку с бесплатной доставкой. Не факт что это CS32F103C8T6. Пока открыто на Али только один продавец торгует этой моделью.

Не раз заказывал STM32 в Китае, как на платах, так и незапаянные. Все нормально работают.
Следы перемеркировки были лишь раз, но и эти МК в работе не отличались от оригинальных, включая наличие недокументированной периферии, которая есть в оригинальных, а также аппаратных багов из errata. То есть утиный тест пройден. Кто не в курсе что это, читайте. https://ru.wikipedia.org/wiki/Утиный_тест

ПростоНуб писал(а):Так и пишите в следующий раз, что речь о CS32
Речь про STM32.

ПростоНуб писал(а):Лично я - нет.
Тогда зачем другим советовать? Не все любители миллиардеры чтобы ради хобби тратить больше 10 тысяч долларов на покупку у ST.

Re: перекодировка данных по UART (из одного в другой)

Пт мар 08, 2019 23:52:39

у меня в шкафу нескольких разных микроконтроллеров 8051 от STC и парочки stm32f030 и stm32f042

8051 и младшие stm32f030 (x4 и x6) имеют на борту только один UART, поэтому их можно использовать только или с программным UART, или мультиплексируя встроенный одним из GPIO и внешней обвязкой. stm32f030 по жизни всегда имеет 2 UART, так что на нем решение будет заметно проще.

Добавлено after 13 minutes 33 seconds:
ПростоНуб писал(а):По ссылке перемаркированный CS32F103C8T6.
Не факт что это CS32F103C8T6.

Факт. GD32 в единичном экземпляре обойдется уже от заметно больше доллара. Оригинальный STM32 дешевле, чем по оптовой цене непосредственно у STMicro Вы не купите. У Mouser STM32F103C8T6 так вообще от $3 за партию и $6 за штуку.
Мурик писал(а):Все нормально работают.

Фото работающего при температуре 100 градусах по Цельсию (например, в кастрюле с кипящей водой) продемонстрируете? CS32F103C8T6 висли уже при +50 (в автомобиле на солнце летом).

Добавлено after 2 minutes 20 seconds:
Тогда зачем другим советовать?

Я ничего не советовал. Я указал на минимальную цену за которую можно приобрести оригинальный STM32F103C8T6. Все что дешевле - или подделка, или кража.

Re: перекодировка данных по UART (из одного в другой)

Сб мар 09, 2019 00:21:33

ПростоНуб писал(а):Фото работающего при температуре 100 градусах по Цельсию
Для STM32F103C8T6 ST не обещает работу при такой температуре.
6 = Industrial temperature range, –40 to 85 °C.
Те устройства что изготавливаю работают в диапазоне температур -20 ... +40 °C и сбоев не замечено.

ПростоНуб писал(а):Оригинальный STM32 дешевле, чем по оптовой цене непосредственно у STMicro Вы не купите.
Ходят слухи о фабриках ST в Китае, откуда МК и не только, выносят и продают. Правда или нет, не знаю.
Даже если так, это оригинальные МК от ST.

ПростоНуб писал(а):CS32F103C8T6
Их у меня нет в наличии и проверить не могу. Они проходят "утиный тест" о котором написал выше? В чем их отличие от STM32?

Re: перекодировка данных по UART (из одного в другой)

Сб мар 09, 2019 00:30:09

8051 и младшие stm32f030 (x4 и x6) имеют на борту только один UART, поэтому их можно использовать только или с программным UART, или мультиплексируя встроенный одним из GPIO и внешней обвязкой. stm32f030 по жизни всегда имеет 2 UART, так что на нем решение будет заметно проще.

я пока толком не понимаю какой нужен алгоритм обработки, чтобы ничего не терялось и успевать перекодировать сообщения в реальном времени, поэтому ориентируюсь только на аппаратные UART-ы, соответственно, в качестве кандидатов отобрал из имеющихся у меня следующие микроконтроллеры:
IAP15L2K61S2 -- 2 UART (архитектура 8051, 61кБайт флеш и 2кБайт ОЗУ);
IAP15W4K58S4 -- 4 UART (архитектура 8051, 58кБайт флеш и 4кБайт ОЗУ);
STM32F042F6P6 -- 2 UART (архитектура М0, 32кБайт флеш и 6кБайт ОЗУ);
STC8A8K64S4A12 -- 4 UART (архитектура 8051, 64кБайт флеш и 8кБайт ОЗУ)
Последний раз редактировалось PhilX Сб мар 09, 2019 01:11:06, всего редактировалось 1 раз.

Re: перекодировка данных по UART (из одного в другой)

Сб мар 09, 2019 01:08:11

1.09$ шт. с бесплатной доставкой https://ru.aliexpress.com/item/5PCS-STM ... 21969.html
а как, с Вашей точки зрения, объяснить такую разницу в стоимости чипов у китайского продавца, и у ST? $1 в розницу с доставкой (в Россию?), и $2 оптом от 10000 шт.
Ходят слухи о фабриках ST в Китае, откуда МК и не только, выносят и продают.
ага, вот оно чё. А ещё - делают в две смены для ST, а в третью - для русских с алиэекспресса, по специальной цене :) а ST - негодяи, ломят цену на ровном месте. А разницы - никакой Ну, и хлеб нынче из рыбной чешуи, да.
ПростоНуб писал(а):Вы же писали про STM32, а вовсе не о его китайском клоне, мало пригодном для практического применения ни с точки зрения энергопотребления, ни с точки зрения эксплуатационных температур.
ещё ресурс флеша, точность встроенного генератора, качество разделки кристаллов в корпус... но насчёт "мало пригодном" - зависит от целей же, я думаю? :)
Анти-офф: PhilX, не может ли быть так, что "китайский модуль GSM" содержит в себе (под экраном где-нибудь) ещё один модуль GSM? :) Очень уж не похоже на китайцев - городить пропиетарный протокол поверх UART, чтобы в него заворачивать стандартные AT-команды. 0xAA и 0x55 - маркеры начала и конца фрейма, удобно битрейт подстраивать по чередующимся "0" и "1".

Re: перекодировка данных по UART (из одного в другой)

Сб мар 09, 2019 01:41:25

соответственно, в качестве кандидатов отобрал из имеющихся у меня следующие микроконтроллеры:
IAP15L2K61S2 -- 2 UART (архитектура 8051, 61кБайт флеш и 2кБайт ОЗУ);
IAP15W4K58S4 -- 4 UART (архитектура 8051, 58кБайт флеш и 4кБайт ОЗУ);
STM32F042F6P6 -- 2 UART (архитектура М0, 32кБайт флеш и 6кБайт ОЗУ)

GPRS модемы, которые я встречал, позволяют выдвать до 2К данных IP, но только если столько запрашивает хост. То есть именно хост решает, сколько данных передать или принять за одну команду. Исходя из этого, так как необходимо хоть немного памяти для работы самого перекодировщика, IAP15L2K61S2 может не подойти, если данные перкодировать не на лету, а сначала принимая весь блок данных. Однако, вариант перекодировки на лету самый быстрый и позволяет начать передавать данные еще до того, как весь блок принят.
Далее, сами данные - SMS или содержимое IP пакетов (скорее всего TCP) - перекодировать смысла не имеет, поэтому можно написать алгоритм, который будет перекодировать данные внутри одного буфера "по месту". В этом случае МК с 4Кбайт RAM подойдет.
Но более простой алгоритм перекодировки, переписывающий данные из приемного буфера первого UART в передающий буфер второго UART, может потребовать уже два буфера по 2К. Тогда останется только последний вариант с STM32.

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

Выбор за Вами.

Мурик писал(а):Те устройства что изготавливаю работают в диапазоне температур -20 ... +40 °C и сбоев не замечено.

Просто один из наших клиентов надумал сэкономить и стал ставить CS32 вместо STM32 в радар-детекторы (функционально они ни чем не отличаются). В результате, партию пришлось срочно изымать из продажи и отправлять обратно в Китай для перепайки обратно STM32. Судьба такая у радар-детекторов висеть прямо под лобовым стеклом и под прямыми солнечными лучами )

Мурик писал(а):Ходят слухи о фабриках ST в Китае

Вы откуда вообще свалились? У STMicro уже очень давно фабрики в Китае, Индии и в Сингапуре/Малайзии. В Европе и США только разработка ведется и опытные партии производятся.

Мурик писал(а):выносят и продают

В Китае у большинства крупных промышленных предприятий одним из акционеров является государство. А хищение с такого предприятия приравнивается к коррупции. За которую могут и к смертной казни приговорить. Это Вам не СССР, где с заводов тащили что ни попадя )))
В принципе, на рынок может попадать еще брак или некондиция. Но это ничем не лучше CS32 )))
Поймите, если где-то Вы видите товар дешевле, чем крупнооптовая отпускная цена завода - продавец либо вор, либо обманщик. Стоит ли с таким связываться?

Добавлено after 17 minutes 42 seconds:
не может ли быть так, что "китайский модуль GSM" содержит в себе (под экраном где-нибудь) ещё один модуль GSM?

Это вряд ли. Большинство китайских GSM модулей уже имеют на борту штатный последовательный интерфей для кастомной прошивки. Просто перешивали стандартный модуль под свои нужды, вот и все.

Re: перекодировка данных по UART (из одного в другой)

Сб мар 09, 2019 02:20:47

в кастомной прошивке нет смысла оставлять поддержку стандартных AT-команд. Ну, я б убрал :) Оставил бы какие-нибудь однобайтные коды для используемых операций. Если там в протоколе фреймы, и контрольные суммы - видимо, модем от проца далллеко :) И гонять текстовые human-readable команды - расточительная избыточность. А вот если внутри модемной части есть собственно модем, который нужно кормить текстом... И я - ленивый китаец, которому поставлена задача организовать канал передачи данных до модема с контролем ошибок...

Re: перекодировка данных по UART (из одного в другой)

Сб мар 09, 2019 09:23:51

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

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