Для тех, кому трудно по тем или иным причинам изучать даташиты на английском перечислю что есть в STM8S (вольный перевод первой страницы даташита - пишу по памяти, возможно придется корректировать):
1. регистры: 8-битный аккумулятор A, индексные 16-разрядные регистры X, Y, 8-разрядный регистр состояния, 24-разрядный программный счетчик (позволяет адресовать 16 Мибайтное пространство адресов), 16-разрядный указатель стека. Все пространство ОЗУ по сути является файлом регистров общего назначения.
2. Flash-память программ от 4 до 128 Кибайт (10 000 циклов перезаписи)
3. EEPROM до 2 Кибайт (300 000 циклов перезаписи)
4. ОЗУ до 6 Кибайт
5. Тактовая частота до 24 МГц
6. Питание от 2,95 вольт (причем при максимальной тактовой частоте)
7. Встроенные тактовые RC-генераторы 128 кГц и 16МГц
8. Кварцевый генератор (естественно с внешним кварцевым резонатором)
9. Система контроля тактовой частоты (clock monitor) - при неисправности кварцевого генератора тактирование автоматом переводится на внутренний RC-генератор.
10. 32 вектора прерывания от периферии, в том числе одно программное прерывание, большинство портов могут быть входами внешних прерываний.
11. Таймеры 8 и 16-разрядные (всего до 4)
12. Каналы ШИМ (до 9)
13. Интерфейсы USART, SPI, IIC, beCAN
14. 10-разрядный АЦП до 16 каналов
15. С точки зрения программиста все пространство памяти (Flash, EEPROM, RAM, регистры периферии и настроечные байты (Option bytes)) линейное и к нему применимы все 20 методов адресации, поэтому исполнение кода возможно и из ОЗУ (в загрузчиках моделей без функции чтения во время записи Flash-памяти процедуры записи в Flash перемещаются в ОЗУ и там выполняются) и даже EEPROM.
16. Встроенный загрузчик (STM8S105 и выше).
17. Автоматическое сохранение контекста при входе в прерывание и восстановление при выходе.
18. Однопроводный интерфейс программирования/отладки SWIM позволяет отлаживать прошивку по шагам и получить доступ ко всему пространству памяти, регистрам АЛУ и большей части регистров периферии из программы-отладчика (STVD) (на самом деле для подключения отладчика требуется еще два провода: RESET и "общий").
Ну и конечно надо указать "минусы":
1. Минимальная тактовая частота от внешнего кварца - 1 МГц.
2. Отсутствует аналоговый компаратор (есть его цифровой аналог в составе АЦП).
3. Не все порты имеют повышенную нагрузочную способность (до 18).
4. У маловыводных моделей нет входа опорного напряжения АЦП (зато у многовыводных есть вход "нижнего" опорного напряжения) и оно всегда равно напряжению питания АЦП.
5. Нет моделей с аппаратным USB.
6. У моделей low-density нет встроенного загрузчика.
7. Свой интерфейс программирования/отладки SWIM не позволяет собрать простой программатор.
8. При тактировании частотой выше 16 МГц (STM8S20x) требуется настраивать бит вставки тактов ожидания при обращении к памяти.
9. Минимальное напряжение питания 2,95 Вольт. (Для меньшего есть STM8L).
10. И обнаружил одну не очень приятную особенность (прописанную в даташите STM8S105, другие модели не проверял) аппаратного SPI: при низком логическом уровне на входе выбора ведомого (NSS) SPI переходит в режим ведомого, даже если этот пин настроен как выход, а SPI настроен в режиме ведущего.
11. Автоматическое сохранение контекста при входе в прерывание "задерживает" на 6 тактов начало функции обработчика прерывания с момента наступления события вызвавшего его.
12. Отсутствуют асинхронные таймеры и PLL, что ограничивает частоту 8-битного ШИМ до 62500 Гц (при тактовой частоте 16 МГц), а 16-битного - до 244 Гц (при тактовой 16 МГц).
Если еще что вспомню или обнаружу - дополню список.
Последний раз редактировалось
DrWatson Вс окт 03, 2010 14:11:39, всего редактировалось 3 раз(а).