Микроконтроллеры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Микроконтроллеры » vt » CH55x (CH551-CH554)


CH55x (CH551-CH554)

Сообщений 91 страница 109 из 109

91

О, оказывается, есть прошивалка для ch55x.
Но я пока доволен STM32. Подожду, возможно, через пару-тройку лет будет уже нормальное руководство, как с этими ch55x работать. По крайней мере, чтобы была уверенность, что купив девборду на ch55x, я смогу ее прошить! Не хочу на грабли нарываться, как с MSP430 (купил за пару сотен рублей девборду на этом чуде, а, оказывается, бутлоадера у него нет и прошить можно лишь при помощи какого-то мегадорогущего программатора!).

92

Eddy_Em написал(а):

Но я пока доволен STM32. Подожду, возможно, через пару-тройку лет будет уже нормальное руководство, как с этими ch55x работать.

Да тебе-то они зачем
И они не для тебя [не для твоих астрофизических задач], и ты не для них )

93

Серия статей на hackaday - https://hackaday.com/tag/ch554/
Ну, то есть, пока две, но две - это же уже серия )

94

vt написал(а):

Да тебе-то они зачем?

Хочется иной раз несколько ног + USB (желательно crystalless). Вот вчера промучился с запуском кварца на ch340g: то ли где-то утечка,  то ли в ходе экспериментов чип спалил... Задолбали уже эти кварцы!
Стал смотреть цену CP2102 — жесть полная! Да он почти как микроконтроллер полноценный стоит! Заказал на али десяток STM32F072C8T6 (чуть дороже бакса за штучку вышли), но как-то кажется мне, дороговато это... Вот если бы они были с Cortex-M3 на борту — без базара (т.е. STM32F303)!..
Но, намучившись с прослойками USB<->UART, решил больше не использовать МК без аппаратного USB там, где основным интерфейсом общения должен быть USB! (другое дело — RS-232, CAN или 485)

95

Eddy_Em написал(а):

Хочется иной раз несколько ног + USB (желательно crystalless).

Ну тогда ch55 именно то что надо
Crystal-less, имхо, вообще must have для мк [как и встроенный загрузчик без всяких программаторов] - всё-таки 2019 год на дворе
WCH аккуратно отнеслись к ядру 8051 [в отличие от STC и Silabs] - в ch55 ядро [cpu, порты, два таймера и uart] практически полностью совместимое с классическим интеловским, т.е. для знакомства подойдёт любая книжка по 8051
А спец периферии, кроме usb, там кот наплакал - достаточно посмотреть исходники их фирменных примеров

Ну и он готов к работе сразу при подаче питания без всяких танцев с бубном
Вот такая вот "программа" из одной строчки сразу зажжёт светодиод )

Код:
p3.2 := false


Вообще мне нравится как в ch55 сделаны порты [и у stc15 кстати примерно так же]
http://sd.uploads.ru/yrXAo.png
По умолчанию они bidirectional [тоже интеловская классика]
Но это bidirectional не просто открытый коллектор с подтяжкой
В высоком оно подтягивается 10К, в низком переключается на 70К, а при переключении из низкого в высокое на 2 такта подключается напрямую к питанию

Отредактировано vt (2019-04-09 16:52:59)

96

мутноватая  схема
А вообще ch559  уже мало смысла имеет  по ценовым соображениям
хотя ch549  довольно интересна однако  те же  8 бит ШИМ ...((
60р.  от 10шт
https://lcsc.com/search?q=ch549&currency=RUB

плата разработки (бесплатная, хахаха)
http://club.szlcsc.com/article/details_36886_1.html

Отредактировано selevo (2019-04-20 10:31:11)

97

пришли мне платочки...
скоро начну
USB\VID_4348&PID_55E0
драйвер не нашел

Отредактировано selevo (2019-05-02 15:52:52)

98

Вот здесь под твой программатор есть утилитка. Автор даже не побрезговал сделать поддержку игровых приставок (вот же человеку делать нечего)!

99

selevo написал(а):

драйвер не нашел

В папке WCHISPTool после установки - setup.exe
WCHISPTool - http://wch.cn/download/WCHISPTool_Setup_exe.html

100

Как  прекрассссно... ))

101

не очень понятно зачем нужен libusb
если производитель предоставляет драйвера
Может производитель токмо для windows драйвер сделал ?

Отредактировано selevo (2019-05-03 13:30:24)

102

selevo написал(а):

не очень понятно зачем нужен libusb
если производитель предоставляет драйвера
Может производитель токмо для windows драйвер сделал ?

libusb - библиотека, не драйвер

103

Посмотрел ещё раз https://github.com/rgwan/librech551
Про libusb это наверно вот это вот?

On Windows, CH554 ISP mode requires a libusb driver implementation to enable direct device access for librech551.

Автор немного путает тут
Вот как всё на самом деле - https://github.com/libusb/libusb/wiki/F … sb_project
libusb - кроссплатформенная библиотека, драйверы для неё в линукс - уже в ядре, в виндовс - winusb.sys, т.е. по сути тоже уже в виндовс

104

http://www.gdlyou.com/download/WCHISPTo … p_exe.html
вот здесь лучше скачать
но тут кривость есть,  скачивается с расширением  html - переименовать в exe

а вот по этой ссылке : http://wch.cn/download/WCHISPTool_Setup_exe.html
второй день не могу скачать
рвется соединение скорость падает до байтов

вот на что надо  среде  ардуино переходить
отладки нет в проце - как раз для этой  среды по ком порту отлаживать, там все так делают ))
99% думаю точно.

Отредактировано selevo (2019-05-04 06:10:26)

105

Нагрел феном до 120 градусов
От хоста не отвалился, при отключении и повторном втыкании в таком нагретом виде, определяется.
Уже доволен внутренним генератором.

Отредактировано selevo (2019-05-04 06:27:06)

106

selevo написал(а):

а вот по этой ссылке : http://wch.cn/download/WCHISPTool_Setup_exe.html
второй день не могу скачать
рвется соединение скорость падает до байтов

У меня на яндекс-диске есть [url диска в моём профиле тут]

selevo написал(а):

вот на что надо  среде  ардуино переходить
отладки нет в проце - как раз для этой  среды по ком порту отлаживать, там все так делают ))
99% думаю точно.

usbepx вместо отладчика
Переменные мэппируются прямо в буферы endpoints [absolute в паскале, в си тоже возможно] и читаются/пишутся снаружи в реальном времени
В примере на паскале это есть

107

Модуль WS2812

Код:
unit ws2812;

interface
uses time;
var
    pin : boolean absolute forward; volatile;
    r, g, b : byte; bitaddressable;

function reset : boolean;
procedure rgb;

implementation
var
    us : word;

function reset;
begin
    result := ( time.us - us ) > 100;
end;

procedure p ( bit : boolean ); inline;
begin
    pin := true;
    pin := true;
    pin := bit;
    pin := bit;
    pin := false;
end;

procedure rgb;
begin
    p(g.7); p(g.6); p(g.5); p(g.4); p(g.3); p(g.2); p(g.1); p(g.0);
    p(r.7); p(r.6); p(r.5); p(r.4); p(r.3); p(r.2); p(r.1); p(r.0);
    p(b.7); p(b.6); p(b.5); p(b.4); p(b.3); p(b.2); p(b.1); p(b.0);
    us := time.us;
end;

begin
    pin := false;
    us := time.us;
end.


И его применение

Код:
ws2812.pin : boolean absolute p3.2;
...
if ws2812.reset then begin
    ws2812.r := ...
    ws2812.g := ...
    ws2812.b := ...
    ws2812.rgb;
    ws2812.r := ...
    ws2812.g := ...
    ws2812.b := ...
    ws2812.rgb;
    ...
end;


Сравним с си ? Или того хлеще - с gcc и avr ? )

Перенёс сравнение в Дискуссии из топика про CH55x
А заодно и другой оффтоп

Отредактировано vt (2019-05-09 10:53:59)

108

Попробовал собрать librech551. Обнаружил там ряд косяков: во-первых, вместо default при разборе параметров командной строки написано vdefault — справку по параметрам оно не даст!
Во-вторых, используется древняя версия libusb:

Код:
main.c: В функции <<main>>:
main.c:230:2: предупреждение: <<libusb_set_debug>> устарело: Use libusb_set_option instead [-Wdeprecated-declarations]
  libusb_set_debug(NULL, 3);

В-третьих, нет проверки возвращаемого значения fread:

Код:
main.c:327:3: предупреждение: результат <<fread>>, декларированной с атрибутом warn_unused_result, игнорируется [-Wunused-result]
   fread(file_buffer, 1, file_length, fp);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.c:588:3: предупреждение: результат <<fread>>, декларированной с атрибутом warn_unused_result, игнорируется [-Wunused-result]
   fread(file_buffer, 1, file_length, fp);

что грозит "нежданчиками".
Не знаю, насколько хорошо там сделан обмен данными — проверю, когда получу чипы. А пока они идут, распаяю себе минимальную девборду (переходники с разных SSOP на DIP у меня есть, так что можно будет работать с МК без пайки).
Похоже, надо будет себе сделать форк librech551 и исправить все косяки, которые автор допустил, выкинуть поддержку игровых приставок и написать комментарии на нормальном английском языке!

Отредактировано Eddy_Em (2019-05-13 10:50:29)

109

Eddy_Em написал(а):

Похоже, надо будет себе сделать форк librech551 и исправить все косяки, которые автор допустил, выкинуть поддержку игровых приставок и написать комментарии на нормальном английском языке!

Да лучше заново переписать, а автору сказать спасибо за реверс протокола )
Я по ней разбирался с протоколом год назад и слегка причёсывал и сокращал под tcc
https://yadi.sk/d/naqKh4e03EDEJU/CH55x/librech551.bat


Вы здесь » Микроконтроллеры » vt » CH55x (CH551-CH554)