8S003f3p6 datasheet на русском

8S003f3p6 datasheet на русском

Производитель STMicroelectronics
Серия STM8S003F3
Модель STM8S003F3P6

Mainstream Value line 8-bit MCU with 8 Kbytes Flash, 16 MHz CPU, integrated EEPROM

Datasheets

STM8S003F3 STM8S003K3
Value line, 16 MHz STM8S 8-bit MCU, 8 Kbyte Flash, 128 byte data
EEPROM, 10-bit ADC, 3 timers, UART, SPI, IВІC
Datasheet -production data Features
Core 16 MHz advanced STM8 core with Harvard
architecture and 3-stage pipeline LQFP32
7×7 mm Extended instruction set TSSOP20
6.5×6.4 mm UFQFPN20
3×3 mm Timers Memories Program memory: 8 Kbyte Flash memory; data
retention 20 years at 55 В°C after 100 cycles RAM: 1 Kbyte Data memory: 128 bytes true data EEPROM;
endurance up to 100 k write/erase cycles Clock, reset and supply management Advanced control timer: 16-bit, 4 CAPCOM
channels, 3 complementary outputs, dead-time
insertion and flexible synchronization 16-bit general purpose timer, with 3 CAPCOM
channels (IC, OC or PWM) 8-bit basic timer with 8-bit prescaler Auto wakeup timer Window and independent watchdog timers 2.95 V to 5.5 V operating voltage Flexible clock control, 4 master clock sources
– Low-power crystal resonator oscillator
– External clock input
– Internal, user-trimmable 16 MHz RC
– Internal low-power 128 kHz RC Clock security system with clock monitor Power management
– Low-power modes (wait, active-halt, halt)
– Switch-off peripheral clocks individually
– Permanently active, low-consumption
power-on and power-down reset Communications interfaces UART with clock output for synchronous
operation, SmartCard, IrDA, LIN master mode SPI interface up to 8 Mbit/s I2C interface up to 400 Kbit/s Analog to digital converter (ADC) 10-bit ADC, В± 1 LSB ADC with up to 5 …

0. На кого ориентирован материал, зачем и почему

При написании данной статьи, я предполагаю, что читающий умеет:

  • Внимательно читать (что редкость)
  • Немного работать с англоязычной технической литературой (ну или мотивацию научиться, т.к. первый язык программиста — английский)
  • Паять (хотя бы минимальные навыки)
  • Программировать на С (опять же, не все так сложно)
  • Гуглить (без этого никуда)
  • Пользоваться мультиметром и имеет прочие базовые навыки (по типу «не суй пальцы в розетку»)

Целями статьи считаю:

  • Обзорно пробежать все этапы разработки системы на базе микроконтроллера
  • Дать необходимые вводные для человека практически не посвященного
  • По возможности формирование у читающего понимания того, где, что и как найти

Думаю имеет смысл сделать подробный курс программирования МК.

Мне послужит поводом изучить всю периферию более детально и попутно поможет другим.
Знаю, что уже существует огромное количество статей и даже обучающих курсов, но я имею слегка иной подход. (Возможно получу адекватную критику, изменю мнение и примкну к MX Cube ребятам).

Грустно видеть, как stm контроллеры превращают в arduino.

По поводу arduino:

Есть 3 (известных мне, мб я просто не дорос) подхода к разработке ПО на МК:

  1. Разработка на ассемблере
  2. Разработка под конкретную модель МК
  3. Разработка с использованием HAL и им подобных библиотек
Читайте также:  16 Битный сдвиговый регистр

1) Я сторонник такого мнения, что если ты строишь дом, то не стоит обжигать каждый кирпич из глины своими руками, потому ассемблер отпадает (хоть и начинал с этого). Слишком низкая скорость разработки.

2) Библиотеки HAL и т.п. для начинающего непрозрачна и слишком много моментов «просто пиши вот так». Потому — тоже в помойку.

3) Наиболее здоровым вариантом для начинающего считаю процесс создания ПО под конкретный МК, полученные навыки позволят разобраться и с 8L и 32 сериями (хоть это и больно делать единолично по документации).

Вы наверно заметили, что arduino в этом списке не фигурирует, потому что это образовательная платформа и для разработки на её базе компактных устройств не предназначена. Но подход к её программированию по какой-то (мне не известной) причине переносится и расползается по интернету. И даже применяется в реальных коммерческих проектах. (представляет собой, «скачал на форуме библиотеку, подключил, заработало, как работает не знаю»).

Я же предлагаю, с моей точки зрения, академически и методически более осмысленный подход.

1. Выбор микроконтроллера

У меня в наличии имеется несколько STM8S105K6 в корпусе LQFP32, он из этого семейства, потому выбираю его.

Вы можете выбрать любой МК в пределах серии.

Есть готовые Discovery платы от ST, можно купить у китайцев или заказать с других ресурсов. Есть готовые платы на STM8S103F3P6 и ей подобные от китайцев.

Но, следует учесть, что готовые платы предназначены для обучения.

На сайте производителя st.com, находим свой МК и скачиваем к нему документы:

Reference manual: RM0016 — общий документ для всех МК семейств STM8S и STM8AF. Далее RM.
Datasheet: У меня DS5855 — документ к моделям STM8S105C4/6, STM8S105K4/6 и STM8S105S4/6. Далее DS.

Из вкусного у него (поверхностно):

  • Поддержка 16 МГц
  • 32 Кб Flash памяти, 1 Кб EEPROM и 2Кб RAM
  • Питание 2.95-5.5В
  • 8-и 16-битные таймеры
  • UART, SPI, I2C
  • 10-битный АЦП
  • до 38 дискретных входов/выходов

2. Необходимое оборудование

Я вижу два варианта работы с МК:

Здорово, классно, мне нравится. Так делают многие люди.

В этом случае для МК нужна будет так называемая обвязка. План простой:

  1. Берем макетную плату, в моем случае TQFP(32-64PIN)0.8MM, запаиваем на неё МК
  2. Берем двухрядную гребенку PLS-2×40 припаиваем к отверстиям, которые ведут к выводам МК
  3. Берем печатную макетную плату (у меня 9х15 см) и припаиваем на нее прошлый бутерброд
  4. Смотрим RM пункт 7. Power supply, читаем. Написано нужен конденсатор соединяющий вывод VCAP и наши 0В источника питания. Еще написано, что подробней в смотреть нужно в DS к конкретному МК в секции electical characteristics. Для меня это пункт 10.3.1 VCAP external capasitor со ссылкой на Table 18 где и указан номинал 470 — 3300 нФ. Я взял 1 мФ (на схеме C3). (для чего он нужен, надеюсь, почитаете сами в RM)
  5. Там же в DS в пункте 10.3.8. Reset pin characteristics находим номинал конденсатора 0.1мФ(на схеме C4). Резистор R4 номиналом 10 КОм используют в отладочных платах и различных application note, хотя внутри МК уже есть подтягивающий резистор номиналом от 30 до 80 КОм (если верить тому же DS). Параллельно конденсатору C4 ставим нашу кнопку сброса. Такую схему сброса можно увидеть например в Desighn note DN0005.
  6. Также, ST любят добавлять на отладочные платы конденсаторы по питанию на 100нФ, в количестве N выводов подключенных к питанию +1. На схеме нарисовано всего C1, C2 и C5 3 шт, и на плату я их не паял, но смысл вы поняли. На столе работать будет и без них, а в реальной коммерческой разработке лучше этим делом озаботиться при разведении платы устройства.
  7. Распаять SWIM разъем программирования (я делаю из PLS-1×40)
Читайте также:  Adobe photoshop pro бесплатно

У меня получилось такое чудо:

Здорово, классно, мне нравится. Так делают многие люди.

Стоит ознакомиться с конфигурацией платы, если это плата от ST, то она сразу с программатором и подключается USB type B кабелем. На сайте ST будет схема на странице продукта. На плате будут кнопки, светодиоды, пищалки, ёмкостные кнопки и прочие прелести с которыми можно поиграться.

Если плата китайская, то часто платы без программатора, то нужен будет программатор.

Шелкографии названий выводов лучше не верить и перепроверить сравнив с DS.

Работу с контактными макетными платами (breadboard) я не рассматриваю потому, что не использую.

Плюс нужен программатор, у меня китайский ST-Link V2. Умеет программировать и STM8 и STM32.

3. Выбор IDE

Для меня вопрос выбора пока не актуален, работаю в IAR для STM8, ибо в ней делали проект над которым я сейчас работаю, по той же причине старая версия.

Идем на сайт iar.com, в поиске набираем модель своего МК.
Скачиваем IAR Embedded Workbench for STM8, выбираем при установке size-limited evaluation и миримся с ограничением в 8 Кб кода. Или покупаем. Есть на запрещенных на территории РФ ресурсах взломанные версии, но для коммерческих проектов не годится.

Инструкция по установке есть в самом установщике либо в гугле.
Я использую версию 6.5.3.2581.
Устанавливаем среду, вместе с ней драйвера на программатор.

4. Создание проекта

Заходим в IDE, идем Project -> Create new project -> C++

Жмем OK, выбираем директорию (желательно не имеющую кириллицы и пробелов), выбираем имя (без пробелов и кириллицы).

Идем в корневую папку своей IDE и находим папку inc, для меня путь:

Находим среди заголовочных файлов iostm8 свою модель МК, для меня:

Подключаем её в самом начале и добавляем бесконечный цикл.

В меню Project -> Options -> General Options в графе Device выбираем свой МК.

Читайте также:  Asus zenwatch 2 wi501q обзор

В Project -> Options -> Debugger в графе Driver выбираем ST-LINK.

Находим на панели инструментов кнопку Download and Debug.
При первой компиляции среда попросит выбрать имя .eww файла. (Я называю так же как и проект.)

Внизу в окне Debug Log должны быть сообщения, что:

  • Preprocessor for STM8 — запустился препроцессор
  • Debugger for STM8 — запустился отладчик
  • Connected to STM8 SWIM Debugging system — произошло подключение к МК
  • Loaded debugee — произошла загрузка прошивки
  • Target reset — произошел сброс

Мы попали в режим отладки, но выполнение программы приостановлено.
Там же на панели инструментов находим и нажимаем кнопку Go.
Мы запустили МК в режиме отладки.

Нажимаем Stop debugging, отладка прекращается, но МК питается от программатора и дальше выполняет программу, а именно крутит бесконечный цикл и делает ничего.

Итоги

Получился краткий обзор и вводная в программирование МК серии STM8S без самого программирования. Получилась только база для работы, с этого обычно все и начинается — со сборки макета.

Раскрывать тему подробней смысла не вижу.

Во многих статьях уже после введения, буквально через пару строчек мигают светодиодами, что мне не понятно.

Насколько выполнены цели судить можно будет по тому, получилось ли у начинающего что-то сделать самостоятельно, используя предложенную мной информацию. (индикатор окно Debug log)

Semiconductor Pinout Informations

BS003F3P6 Datasheet – 8S003F3P6, 8-bit Microcontroller – ST

Part Number : 8S003F3P6, Correct P.No : BS003F3P6

Description : 8-bit Microcontrollers – MCU 8-bit MCU Value Line 16 MHz 8kb FL 128EE

Package : TSSOP 20 Pin Type

Image

The STM8S003F3/K3, 8S003F3P6 value line 8-bit microcontrollers offer 8 Kbytes of Flash program memory, plus integrated true data EEPROM. They are referred to as low-density devices in the STM8S microcontroller family reference manual (RM0016).
TheSTM8S003F3/K3, BS003F3P6 value line devices provide the following benefits: performance, robustness and reduced system cost.
Device performance and robustness are ensured by true data EEPROM supporting up to 100000 write/erase cycles, advanced core and peripherals made in a state-of-the-art technology at 16 MHz clock frequency, robust I/Os, independent watchdogs with separate clock source, and a clock security system.

1. 16 MHz advanced STM8 core with Harvard architecture and 3-stage pipeline

2. Extended instruction set Memories

1. Program memory: 8 Kbyte Flash memory; data retention 20 years at 55 °C after 100 cycles

3. Data memory: 128 bytes true data EEPROM; endurance up to 100 k write/erase cycles
Clock, reset and supply management

1. 2.95 V to 5.5 V operating voltage

2.Flexible clock control, 4 master clock sources

(1) Low-power crystal resonator oscillator
(2) External clock input
(3) Internal, user-trimmable 16 MHz RC
(4) Internal low-power 128 kHz RC

Ссылка на основную публикацию
Adblock detector