Фотолог: пайка чипов STM8L051f3p6 и STM8L151c8t6 в адаптерах TSSOP-DIP и QFN48-DIP48

разделы: STM8 , дата: 30 марта 2016г.

В свое время, на меня произвели впечатление своими возможностями чипы STM8, но проблемой было то, что они как правило, выпускаются в "многоножных" корпусах QFN48 и выше.

У меня была готовая плата с STM8S103F3, но мне хотелось поработать с самыми совершенными 8-битными микроконтроллерами серии L, спроектированными для батарейного питания и имеющие такую полезную вещь как DMA.

В результате недолгого поиска я пришел к выводу, что для прототипирования на макетке можно использовать переходник в DIP разъем. Оставалось только суметь запаять чип в этот адаптер. Проблема усугублялась, тем, что SMD компоненты я в жизни никогда не паял, даже резисторы, не говоря уж о микросхемах.

Итак, спустя многие месяцы ожидания я получил на руки пачку адаптеров и кулек микросхем. У меня было пяток STM8L051f3p6 и две STM8L151c8t6. Первые я собирался использовать для изучения особенностей L-серии, а вторые, когда возможностей первых будет не хватать. Забегая вперед скажу 051-серия мои ожидания не оправдала, т.к. имеет ресурс на перезапись флеш памяти всего 100 циклов. Т.е. это чип для готового устройства: прошил - забыл. Ok. Зато теперь разбираюсь.

Мои инструменты: обычный паяльник с полукруглым жалом, припой ПОС-61 с канифолью, активный флюс "Прима-2", увеличительное стекло 73мм 3-х с подсветкой, пинцеты, зажимы и т.д.

Сперва я взялся за STM8L051f3p6. Микросхема на 20 выводов, к ней у меня был адаптер ТSSOP24. Четыре лишних вывода меня не смущали, стоил он одинаково с TSSOP20 на Али.

Здесь для фиксации чипа, достаточно было придерживать корпус пальцем. Часть припоя залила DIP контакт. Вообще припоя должно быть как можно меньше, лучше потом допаять аккуратно. У меня потом на 151-чипе припой забился между ножек и никак не прочищался. Прошлось выпаивать феном, а он не у всех есть.

С QFN48 проблем было намного больше

Сначала я решил пропаять штыревой разъем PLS, чтобы припой опять не залил его контакты. Уже потом я понял, что штырьевые контакты нужно было сначала сначала посадить на паечную макетку, затем сверху надеть адаптер, и только потом припаивать их. Тогда бы все получилось ровно.

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

Неприглядное фото после пайки. При контакте с жидким флюсом припой разлетается во все стороны и в итоге получаем то, получаем.

После промывки вид не особо улучшился: канифоль, следы мыла за контактными площадками, под микросхемой. Еще такое ощущение, что флюс разъедает пластик, он весь какой-то в рытвинах стал.

Из всего этого сделал такие выводы:

Если использую флюс, то наверное можно использовать обычный припой без канифоли. Для отмывки нужно что-то более специальное, не мыло которое забивается между контактами. В любом случае, можно было использовать жидкое мыло или Fairy для отмывки. Флюс тоже не плохо бы поменять. Или комбинировать. Использовать "Прима-2" только для лужения например.

151-й чип еще не подключал, я его еще проверять буду тщательно. А 051 проверить было не сложно.

Даташит на чип лежит здесь: http://www.st.com/web/en/resource/technical/document/datasheet/DM00060484.pdf

Распиновка у него следующая:

легенда:

    Т.о. для подключения программатора имеем:
  • контакт 8 - питание;
  • контакт 7 - земля;
  • контакт 4 - Reset;
  • контакт 3 - SWIM;

Пробуем залить Blink

Вроде работает, то светодиод у меня так и не замигал (:
Смотрим флеш память:

Здесь наша прошивка. При первом чтении флешка была забита нулями. Ладно, буду разбираться, что не так со светодиодом, но в остальном, чип распознается прошивается, читается. Значит работает :)

P.S. пропаял еще один чип, на этот раз уже другим флюсом ЛТИ-120:

Честно говоря, "примой" паялось легче :(

Выглядит что-то как-то не очень...

После отмывки выглядит уже лучше.

В этот раз, мне даже уже нравится)

P.P.S. Разобрался с blink'ом. По сравнению с S-серией, он отличается одной строкой кода.

Исходник:

#include "iostm8l051f3.h"      // подключение заголовочного файла с объявлениями регистров, масок и битов
static void delay(unsigned int t)
{
  while(t--);
}
int main( void )         // Основная программа
{

  PB_DDR_bit.DDR5 = 1;   // Ножка PB5 конфигурируется на вывод
  PB_CR1_bit.C15 = 1;   // set push-pull mode

  while(1)              // Бесконечный цикл
  {
        delay(30000);
        PB_ODR ^= MASK_PB_ODR_ODR5;   // Переключение уровня напряжения на ножке на противоположное
        delay(30000);

        // при помощи операции Исключающее ИЛИ (XOR)
  }

}

Работает!

P.P.P.S. Результат прозвонки 151 чипа был не утешительным, пришлось браться за фен, выпаивать и делать заново. На фото снизу чип перепаяный в новый адаптер:

Т.к. у меня был паяльник с широкой площадкой (очень удобно весь ряд контактов пропаивать одним движением), я сначала впаивал чип, иначе штыревые разъемы мешались бы. Чип фиксировал обычной бельевой прищепкой. Но, т.к. она закрывает часть чипа, получилось только раза с третьего.

Использовал флюс "Прима-2" (с ним припой все-таки лучше ложится и лудить не надо)и минимум припоя. Помывал посудомоечным средством "Фейри". Прозвонка не выявила ни одного непропая или коротыша.

Чип распознается программами, читается, шьется. На пробу прошил blink из примера выше. Работает.

После покрытия прозрачным лаком:


Теперь возможно, стоит взглянуть на характеристики чипа stm8l151c8 на официальном сате фирмы ST:

    Key Features
  • Operating condition
  • Operating power supply: 1.65 to 3.6 V (without BOR), 1.8 to 3.6 V (with BOR)
  • Temp. range: -40 to 85, 105 or 125 °C
  • Low-power features
  • 5 low-power modes: Wait, Low-power run (5.9 μA), Low-power wait (3 μA), Active-halt with full RTC (1.4 μA), Halt (400 nA)
  • Consumption: 200 μA/MHz+330 μA
  • Fast wake up from Halt mode (4.7 μs)
  • Ultra low leakage per I/0: 50 nA
  • Advanced STM8 core
  • Harvard architecture and 3-stage pipeline
  • Max freq: 16 MHz, 16 CISC MIPS peak
  • Up to 40 external interrupt sources
  • Reset and supply management
  • Low-power, ultra safe BOR reset with five programmable thresholds
  • Ultra-low-power POR/PDR
  • Programmable voltage detector (PVD)
  • Clock management
  • 32 kHz and 1-16 MHz crystal oscillators
  • Internal 16 MHz factory-trimmed RC and 38 kHz low consumption RC
  • Clock security system
  • Low-power RTC
  • BCD calendar with alarm interrupt,
  • Digital calibration with +/- 0.5ppm accuracy
  • Advanced anti-tamper detection
  • LCD: 8x40 or 4x44 w/ step-up converter
  • DMA
  • 4 ch. for ADC, DACs, SPIs, I2C, USARTs, Timers, 1 ch. for memory-to-memory
  • 2x12-bit DAC (dual mode) with output buffer
  • 12-bit ADC up to 1 Msps/28 channels
  • Temp. sensor and internal ref. voltage
  • Memories
  • Up to 64 KB of Flash memory with up to 2 KB of data EEPROM with ECC and RWW
  • Flexible write/read protection modes
  • Up to 4 KB of RAM
  • 2 ultra-low-power comparators
  • 1 with fixed threshold and 1 rail to rail
  • Wake up capability
  • Timers
  • Three 16-bit timers with 2 channels (IC, OC, PWM), quadrature encoder
  • One 16-bit advanced control timer with 3 channels, supporting motor control
  • One 8-bit timer with 7-bit prescaler
  • One window, one independent watchdog
  • Beeper timer with 1, 2 or 4 kHz frequencies
  • Communication interfaces
  • Two synchronous serial interface (SPI)
  • Fast I2C 400 kHz SMBus and PMBus
  • Three USARTs (ISO 7816 interface + IrDA)
  • Up to 67 I/Os, all mappable on interrupt vectors
  • Up to 16 capacitive sensing channels supporting touchkey, proximity, linear touch and rotary touch sensors
  • Fast on-chip programming and non-intrusive debugging with SWIM, Bootloader using USART
  • 96-bit unique ID
    Во всей этой рассыпухе, мое внимание привлекло пара компонентов из других серий STM8:
  • LCD компонент из серии stm8l152 - позоляет использовать дешевые ЖКИ без встроенного контроллера;
  • touchkey/proxymity - из серии STM8TL/STM8T - возможность подключать датчики касания/приближения способные обнаружить поднесенную руку за 20 см до поверхности сенсора. Задуманы для замены обычных выключателей в системах "умный дом".

Так же может быть не понятен anit-tamped - это пин проникновения/вскрытия корпуса готового устройства. Используется в различных пломбируемых сетчиках газа/воды и .т.д. Активен даже в спящем/батарейном режиме работы.

Остальное не должно быть секретом, для тех кто уже работал c AVR и читал: 8L-Курс

поделиться: