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

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

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


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


CH55x (CH551-CH554)

Сообщений 61 страница 76 из 76

61

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

Вот странно: sdcc же вроде как для 8051 должен код оптимизировать (это ж не "свежие" STM8). Но адреса не выравнивает, получается...

Для x51 обычно не надо адреса выравнивать, зависимость от чётности - экзотика
Вот сравни например с STC15

62

Инфа о CH55x на ElectroDragon
wiki - http://www.electrodragon.com/w/WCH
git - https://github.com/Edragon/WCH

63

О  это  вроде я ещё не  скачивал, спасибо.

какая-то странная wiki- страница,включен запрет  на клики мышкой и выделение текста, пришлось поставить дополнение   блокирующее  блокировку  :) Давно собирался..

что за бред пишут про эти процы 
+ TypeC Master/Slave Detect
какой нах type-C
это типа могут  перекидывать сигнал ?
так   в этом разъёме  выводы симметричны ничё там перекидывать не надо..
ничё не понимаю.

Хостинг  кривой   этот, сайт может в любое время исчезнуть навсегда.
Ещё на  форуме нет  отправки  сообщения по CTRL+ENTER
Что меня напрягает, надо  брать мышку в руки

Отредактировано selevo (2018-04-21 17:09:28)

64

Про Type-C вот что имеется в виду - у мк есть выводы UCC1, UCC2, VBUS1, VBUS2 и есть регистр управления ими
http://sh.uploads.ru/3OfUN.png
Комбинации битов PU1_EN, PU0_EN: 00 - откл, 01 - 56К, 10 - 22К, 11 - 10К
Это всё, что есть про type-c в мануале

65

то есть реально    в корпусе   с 16 выводам  можно  задействовать 11 контактов если надо оставить поддержку  USB
1 rest
2 USB
2 питание

66

reset не обязательно, но всё равно 11 т.к. три вывода питания - vss, vdd, v33

67

значит надо взять ssop20 ещё

68

Ещё один проект на ch55 - usb composite device: mass storage + keyboard + vendor-define hid, а также i2c и oled
https://github.com/rikka0w0/CH55x_USB_CompositeDevice

69

Особенности тактирования

Встроенный генератор [с умножителем] выдаёт 96 МГц, которые потом делятся на 2 для USB и параллельно по выбору на 3|4|6|8|16|32|128|512 для Fsys [по ресету на 16 и соотв Fsys 6 МГц]
http://sh.uploads.ru/5noI8.png
Делитель для Fsys может перестраиваться на лету программно
При этом по мануалу Fsys 32 МГц [делитель 3] может быть только при питании > 4.9 В, а 24 МГц [делитель 4] - при питании > 4.0 В
Но full-speed USB на практике похоже работает только при Fsys 6 и 12 Мгц [6 МГц - минимальная Fsys для full-speed USB по мануалу]

UART0 тактируется от таймера T1 или T2, а UART1 от Fsys через перестраиваемый [1-256] предделитель
Оба UART-а требуют тактирования baudrate*16 [или *32], из-за чего приемлемую погрешность [0.2%] baudrate при Fsys 12 МГц из стандартных baudrates можно получить только для 2400, 4800, 9600, 19200 и 57600
SPI и PWM тактируются от Fsys через свои перестриваемые [1-256] предделители

Отредактировано vt (2018-07-02 09:04:13)

70

:cool:
это откуда инфа ?

71

Всё из мануала [кроме предела 12 МГц для usb - это из моей практики]

Куда пропал? На изиэлектрониксе без тебя совсем уныло стало )

72

меня там забанили навсегда

73

Запаял CH552 , пытался залить прошивку от 554 CDC  говорит неверный хекс.
Скомпилил под 552, подменив хэдеры на от 552.
Заремарил манипуляцию с хостом

Код:
void USBDeviceCfg()
{
    USB_CTRL = 0x00;                                                         
//    USB_CTRL &= ~bUC_HOST_MODE; 


Скомпилилось, правда с визгами

Код:
Rebuild target 'Target 1'
compiling CDC.C...
compiling DEBUG.C...
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?CH554UART0ALTER?DEBUG
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?CH554UART0RCVBYTE?DEBUG
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?_CH554UART0SENDBYTE?DEBUG
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?CH554UART1RCVBYTE?DEBUG
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?_CH554WATCHDOG?DEBUG
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?_CH554WATCHDOGFEED?DEBUG
*** WARNING L15: MULTIPLE CALL TO SEGMENT
    SEGMENT: ?PR?PRINTF?PRINTF
    CALLER1: ?PR?DEVICEINTERRUPT?CDC
    CALLER2: ?C_C51STARTUP
Program Size: data=91.2 xdata=251 code=4068
creating hex file from ".\Objects\CDC"...
".\Objects\CDC" - 0 Error(s), 7 Warning(s).
Build Time Elapsed:  00:00:00


Воткнул , получил в диспетчере CH554_CDC.
Автоматом дров не находит, UsbToUartDriver.inf что в папке с примером не ставится и не находится .
WIN7 64 ...
ЧЁ делать?

74

Судя по UsbToUartDriver.inf, это с электродраконовского гитхаба пример, с них и спрашивай )
Zadig можешь попробовать, он вроде умеет не только для winusb.sys, но и для usbser.sys inf-файлы делать

75

Уже начинаю въезжать. Надо было компилить пример где эмулируют CH340.
Ну в принципе не плохо для получаса въезда с нуля...

76

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

Ну в принципе не плохо для получаса въезда с нуля...

Да они лёгкие как пёрышко )
Возьми у меня с ядиска перевод мануала с правками - https://yadi.sk/d/naqKh4e03EDEJU/CH55x
И заодно обновил в форумском архиве - forumfiles.ru/files/0018/26/8f/28705.pdf


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