Полная версия этой страницы:
STM32 PortB OpenDrain
Уважаемые, не могу перевести PB5 в Open-drain GP Output. На выходе висит 4к7 резистор к +5V и при высоком уровне должно +5V быть
но измеряю +3,7V. В еррате ни чего не нашёл...
RCC->APB2ENR |= RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
RCC_APB2Periph_AFIO;
GPIOB->CRH = 0x000000B8; // 8&9 (can rx,tx)
GPIOB->CRL = (1 << 22) | (2<<20); // PB5 Output Open Drain
GPIOB->BSRR = 0x00000300; // 8&9(can)
GPIOB->ODR &= ~GPIO_Pin_5; // 0V
GPIOB->ODR |= GPIO_Pin_5; // 3.7V ??????
shreck
Dec 21 2010, 08:50
Пин PB5 не 5 V tolerant.
Это понятно что он не 5V tolerant, для этого делаем его Open-drain и pull-up резистор на 5V. Что удивительно если это с портом GPIOC проделать то всё как и ожидалось LO=>0V HI=>5V. В доке ни какого разьяснения по этому поводу не нашёл, ST не отвечает на письмо с описанием провлемы. Может кто уже сталкивался с такой же проблемой?
Цитата(prgjz @ Dec 21 2010, 17:33)

Это понятно что он не 5V tolerant, для этого делаем его Open-drain и pull-up резистор на 5V. Что удивительно если это с портом GPIOC проделать то всё как и ожидалось LO=>0V HI=>5V. В доке ни какого разьяснения по этому поводу не нашёл, ST не отвечает на письмо с описанием провлемы. Может кто уже сталкивался с такой же проблемой?
Диоды по входу...
Спасибо, думаю поможет. К сожалению платина уже готова и редизайн выйдёт в копеечку... Я думаю что это баг в кристалле но ST молчит по этому поводу.
_Pasha
Dec 21 2010, 12:32
Цитата(prgjz @ Dec 21 2010, 18:19)

Я думаю что это баг в кристалле но ST молчит по этому поводу.
Какой баг? Open drain, но к этому drain подключен диод на питание. Защитный.
Serj78
Dec 21 2010, 13:55
Разъясняю более подробно: входы 5в толерантные подключены через диод к источнику (по сути стабилитрону) 5в. .
Не толерантные- через такой же диод к источнику питания 3.3в.
Вот при 0.4 вольта диод открывается и вы видите свои 3.7 вольта.
Смотрите эквивалентную схему входа- рисунки 13 и 14 на странице 139 Reference manual
Благодарю за ликбез, очень хорошо и понятно! Проглядели что именно PB5 не толерантный и инженер именно его зацепил.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.