29.10.2010, 09:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от EugenyAM
|
Камни и отладчик в пути, платы в производстве...
|
Сильно. Я вот опасаюсь платы делать не попробовав поработать с отладкой/макетом. Пока полностью прощупаны GPIO, система тактирования, пара таймеров и прерывания от таймеров/GPIO. Граблей на этом этапе не найдено. Хотел АЦП помучить, но не успел Библиотека рабочая, правда я почти сразу стал ее переделывать. Но запустится с ней можно, проблемы только в раздутости кода и неторопливости.
Последний раз редактировалось Falconist; 13.04.2011 в 23:15.
|
|
|
|
29.10.2010, 10:36
|
|
Временная регистрация
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от kison
|
Сильно. Я вот опасаюсь платы делать не попробовав поработать с отладкой/макетом.
|
Плату сделали по типу учебно-отладочно-макетной, чтоб можно было почти все проверить без паяльника. Практически можно замучить все, кроме АЦП.
т.е. есть 8 светодиодов, 4 кнопки, RS-232, USB на FTDI, место под пищалку, интерфейс для LCD HD44780, все порты выведены на PLD. Стабилизатор 5/3,3V. Макетное поле 2,54 мм + 2xSO-16. Можно использовать в качестве макетки/прототипа, если не впаивать ненужные элементы.
Камень разведен 48-ногий, т.е. можно ставить S105, S207/208.
Для экспериментов с АЦП остается только припаять какой-нибудь датчик или просто потенциометр, а результат можно вывести например в гипертерминал.
Последний раз редактировалось Falconist; 13.04.2011 в 23:15.
|
|
|
|
29.10.2010, 11:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от EugenyAM
|
Плату сделали по типу учебно-отладочно-макетной, чтоб можно было почти все проверить без паяльника. Практически можно замучить все, кроме АЦП.
|
Ну и отлично. Больше народу - веселей
Почти все Вами перечисленное можно и на дискавери сделать. Хотя наверо не так удобно, как на специальной плате. Я то в основном нацеливаюсь на 8L151.
Последний раз редактировалось Falconist; 13.04.2011 в 23:15.
|
|
|
|
29.10.2010, 11:49
|
|
Временная регистрация
Регистрация: 20.06.2007
Сообщений: 70
Сказал спасибо: 1
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от kison
|
Почти все Вами перечисленное можно и на дискавери сделать.
|
Ага, прицепил к своему Discovery - WH1602, 5 кнопок (джойстика увы нету), переменник для АЦП, шаговый двигатель и сделал для работы всего этого из примеров кой-какую менюху. Также слепил внешний MAX232, но пока UART не запускал.
P.S. Все делал на библиотеках.
Последний раз редактировалось Falconist; 13.04.2011 в 23:14.
|
|
|
|
29.10.2010, 13:20
|
|
Временная регистрация
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Начал думать о реальном проекте.
вход - DMX512, выход LED RGB через ШИМ.
задача решалась на Tiny2313 c программным 8-бит ШИМ по прерыванию от таймера (с регистрами сравнения таймера даже не заморачивался).
Посмотрев на TIM1 у STM8S105, я сделал вывод, что реально использовать полностью аппаратную реализацию - есть 4 канала сравнения по 16 бит и у каждого выход выведен наружу в прямом и инверсном виде. т.е. остается только подключить к ним LED драйверы. На освободившихся программных реурсах можно сделать программную имитацию инерционности лампы накаливания (давно хотел), поскольку при 8 битном управлении DMX512 в начале диапазона ступени слишком заметны глазом.
Еще интересная фича - прерывание UART при приеме сигнала Break (низкий уровень длительностью более 8 бит). В DMX512 он используется для синхронизации начала фрейма. В AVR классическим способом его выделения является флаг ошибки стоп-бита при приеме байта. А для передачи Break необходимо было переключать TX в режим GPIO и по таймеру держать низкий уровень в течение 88 мкс. В STM8 вроде есть функция передачи Break. В общем, эти вещи нужно проверять на практике и скорее всего библиотека со своим "быстродействием" тут сильно не поможет.
А оставшихся ножек МК хватит, чтобы приделать меню на 7-сегментных индикаторах вместо DIP переключателей.
К сожалению, 20-ногий STM8S103 проигрывает Tiny2313 по количеству ног GPIO на 2.
Поэтому, если все ноги у тини были задействованы, просто заменить один на другой (даже с учетом переразводки) не удастся, еще нету у него аналогового компаратора (это особенность всей серии STM8S), хотя в остальном STM в плюсе - 5 каналов АЦП против 0, 3 таймера против 2 (в том числе навороченный TIM1), полноценные SPI и I2C против кастрированного TWI, ну и конечно, вкусная цена.
|
|
|
|
29.10.2010, 13:53
|
|
Временная регистрация
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Еще появилась идея "Народного программатора". Если вдруг у кого-то нет желания или возможности покупать дискавери. Чистый кристалл STM8 всегда стартует с загрузчика, причем у разных семейств возможно программирование через разные интерфейсы UART, SPI, CAN. S103 через UART недоступен Начиная с S105 все программируются через UART, поэтому достаточно спаять переходник с MAX232 или FT232 (кому что больше нравится) с кнопкой Reset и вывести ножки UART_RX, UART_TX и NRST на отдельный разъем (ну, например, любимый IDC6).
Прошивальщик скачивается с сайта ST, и надо не забыть поставить во фьюзах разрешение старта с загрузчика, если кристалл не чистый, в противном случае перепрошить его во второй раз без отладчика не удастся.
А переходник можно использовать при необходимости еще и для терминальной отладки.
Последний раз редактировалось EugenyAM; 29.10.2010 в 13:55.
|
|
|
|
29.10.2010, 14:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от EugenyAM
|
В AVR классическим способом его выделения является флаг ошибки стоп-бита при приеме байта. А для передачи Break необходимо было переключать TX в режим GPIO и по таймеру держать низкий уровень в течение 88 мкс.
|
Надо было всего лишь немного понизить скорость на передающей стороне и отправить 0x00.
Сообщение от EugenyAM
|
ну и конечно, вкусная цена.
|
Память еще, память...
Сообщение от EugenyAM
|
А переходник можно использовать при необходимости еще и для терминальной отладки.
|
Я думаю он у всех и так имеется. У меня аж три штуки - max3232,ft232,ft2232
Последний раз редактировалось Falconist; 13.04.2011 в 23:14.
|
|
|
|
29.10.2010, 14:55
|
|
Прохожий
Регистрация: 07.10.2009
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 1 сообщении
|
Re: STM8(S/L), первые впечатления
Вот сегодня только закончил проект на 105 проце, сейчас испытания проходят и с НГ в серию пойдет, впечатления от камня пока довольно приятные, во время написания кода было пару неприяных моментов, но все ответы отыскивались в доке, ну и пару раз сам тупил, куда же без этого Пишу на С в IAR, по сравнению с аналогом на AVR прога заметно подросла, процентов на 20 - 30%, правда и новых фичей добавилось, но немного, кто виноват компилятор или мои кривые руки еще не разбирался тут важно было быстро проект запустить, а так конечно МК довольно приятные, особенно порадовал АЦП, после АВР как глоток воздуха , либы конечно .........., но я ими пользовался только для разбора работы с периферией, конечно в живом проекте их использовать я бы не стал
|
|
|
|
29.10.2010, 15:43
|
|
Временная регистрация
Регистрация: 24.09.2010
Сообщений: 97
Сказал спасибо: 9
Сказали Спасибо 41 раз(а) в 31 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от kison
|
Я думаю он у всех и так имеется. У меня аж три штуки - max3232,ft232,ft2232
|
Но наверное не у всех есть кнопка Reset, а если добавить еще одну для активации Bootloader, можно шить и Cortex и просто ARM7
Последний раз редактировалось Falconist; 13.04.2011 в 23:14.
|
|
|
|
29.10.2010, 15:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: STM8(S/L), первые впечатления
Сообщение от Stanislav_S
|
по сравнению с аналогом на AVR прога заметно подросла, процентов на 20 - 30%, правда и новых фичей добавилось, но немного, кто виноват компилятор или мои кривые руки еще не разбирался
|
Система команд виновата. А точнее - единое адресное пространство. Та же установка бита в порту - bset - 4 байта. У АВР sbi - 2 байта. Зато у STM в два раза быстрей это делается. Опять же адреса длинные всегда практически. Это тоже раздувает программу. Вот и приходится думать что ценней - производительность или объем программы. Но STM8 с 32 кБ стоит как М48. Так что я бы не расстраивался по этому поводу особо
Последний раз редактировалось Falconist; 13.04.2011 в 23:14.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:07.
|
|