nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Mar 2024 23:41



Reply to topic  [ 18 posts ]  Go to page 1, 2  Next
Микроконтроллеры ST7 - регистры A,X,Y - мало или хватит? 
Author Message
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
Был период в моём творчестве связанный с микроконтроллера серии ST7.
Началом интереса послужил неожиданный для меня подарок отладочной платы "EVBST7-02"
- "PROPOX".
Как то быстро обнаружился у друзей программатор, и завертелось.
Микроконтроллеры тоже оказались доступны.
Разобравшись с демо платой "EVBST7-02" я изготовил свои тестовые платы для разных
микроконтроллеров ST7 какие смог достать, на 8, 20 и 32 пина в корпусе DIP.
Микроконтроллеры оказались забавные,почти "спартанский вариант", всего 3 восьми-битных регистра (A,X,Y),
счётчик команд 16 бит и 8 битный указатель стека, RAM 384bye, Flash 4Kbytes.
Архитектура почти совпадает с микропроцессором 6502.
Не смотря на 3 регистра (в сравнении с AVR их 32) программировать оказалось достаточно легко,
даже приятно. Перевёл все свои программные модули (Soft UART, I2C, LCD, Dallas, RFID, ADC и т.д.)
всё работало даже лучше и быстрее. На пример программный дуплексный UART на лету вычислял CRC пакета, а такая же
конструкция для AVR и NEC чипов успевала только табличным методом.
На тестировавшись аппаратно-программных возможностей ST7 принялся ваять реальные поделки.

Первым проектом была система контроля и отображения на ЖКИ состояние 40 адресных устройств.
Каждое адресное устройство имело 4 входных линии контроля с индикацией состояния и 1 выходной линии управления, тоже с индикацией
Время сканирования 40 адресников 8 сек.
Визуально контрольное устройство (ВКУ) отображало на ЖКИ состояние всех 40 адресников и состояния выходных линий,
Также ВКУ имело кнопки управления и светодиодные индикаторы состояния линии связи.
Использовал для контроля на типа складе наличии/отсутствие инструмента на своём посадочном месте
Была видна сразу вся картина что есть, чего нет.


Attachments:
ВКУ 40.jpg
ВКУ 40.jpg [ 69.6 KiB | Viewed 22529 times ]
ST7_Programmators.JPG
ST7_Programmators.JPG [ 218.01 KiB | Viewed 22529 times ]
ST7_Modules_1.JPG
ST7_Modules_1.JPG [ 178.31 KiB | Viewed 22529 times ]
16 Mar 2018 07:54
Profile
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
недавно столкнулся с ST8 - пожалел, что он раньше не попал ко мне в поле зрения.
я, конечно, пока только мигнул светодиодом, но, написав поддержку его ассемблера для fasmg, изучил его систему команд, и проникся уважением! регистров хватит, так как первая страница вполне себе доступна через короткие и быстрые команды, в том числе команды память-память. а особенно мне понравилась возожность запуска программы непосредственно в области ОЗУ! и периферия некислая - АВР превосходит разве что по нагрузочной способности ;)


16 Mar 2018 11:32
Profile WWW
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
В отличии от STM8 в ST7 регистры X,Y - 8 битные.

Второй моей поделкой на микроконтроллере ST7 был адресный контроллера доступа по электронным ключам iButton (DS1990A). Ключей (max 254).
Программируемое и управляемое по интерфейсу на подобие 1WIRE UART.

Адрес контроллера задаётся перемычками (JP0..JP3).
Максимальное кол-во контроллеров на шине 16.
UART скорость 9600 8 бит, 1 стоп бит, без паритета.
Пакет данных 22 байт HEX(0...F) символы.

> - начало пакета.
1 байт (0..F)hex - Адрес контроллера устройства.
1 байт (0..F)hex - Команда.
18 байт (0..F)hex - Данные.
2 байт (0..F)hex - Контрольная сумма.

Контроллер выполняет следующие команды:

CMD0
Передаёт последний считанный код и статус ключа.
00 - Ключ отсутствует в базе ключей контроллера.
01..FF - Номер записи в базе ключей контроллера.

CMD1
Передаёт состояние:
Геркона (дверь открыта), кнопки "OPEN".
Кол-во записанных ключей (max 254).
Время работы "РЕЛЕ".
Время до включение зуммера "Дверь не закрыта".

CMD2
Записать новое Время работы РЕЛЕ.

CMD3
Записать новое Время до включение (Зуммер НЕ Закрытой Двери).

CMD4
Считывание кода ключа из ЕЕ базы ключей ( 1...255).
Входные: Rec_Num_Tmp - Порядковый номер записи ( 1...255).

CMDA
Запись кода ключа в ЕЕ базу ключей ( 1...255).
Входные: Rec_Num_Tmp - Порядковый номер записи ( 1...255).
Rec_Num_Tmp = 0 - Запись ключа в базу ключей по свободной записи.
Выходные: Rec_Num_Tmp - Порядковый номер свободной записи ( 1...255).

CMDC
Запись в контроллер начальный установок (СБРОС).

CMDD
Удаление кода ключа из ЕЕ базы ключей ( 1...255).
Входные: Rec_Num_Tmp - Порядковый номер записи ( 1...255).
Rec_Num_Tmp = 0 - Удаление ключа из базы ключей по коду.

CMDE
Стирание всей базы ключей (255).
Запись в контроллер начальный установок (СБРОС).
Код раз блокировки команды - (CC,A5,A5,A5,A5,A5,A5,A5,A5).

Программную оболочку для компа так и не сделал.
Управлял через программу "Terminal" Вписывая команды и данные в макросы программы.


Attachments:
P1060098.jpg
P1060098.jpg [ 129.89 KiB | Viewed 22511 times ]
16 Mar 2018 12:07
Profile
Doomed

Joined: 08 Apr 2013 04:04
Posts: 449
Location: 213.247.249.139
Reply with quote
Озвучьте что ли цену тулов для прошивки...
есть ли ихние китайские дешевые клоны?
Поддерживается ли прошивальными софтами что-то кроме поганой мерзкой венды?

_________________
привет засранцу лавру :)


17 Mar 2018 01:19
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
Творческий интерес и вся цена.
Софт "ST Visual Develop" оболочка для программатора "ST Visual Programmer". Пишу на ASM.
Программаторы "ICP-CABLE-2 , ICP-CABLE-1" - LPT
Есть вариант на USB - слегка модернизированый "mRlink Primer" for ST7Ultralite Primer
Всё под Win

В те времена китайских клонов не наблюдал.
В сети есть схема и прошивка для программатора на USB - но там также стоит микроконтроллер ST7.
Пришлось для себя в своё время приобрести программаторы, чтобы было.

Прошивки на мои поделки постом выше.


17 Mar 2018 02:54
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
Очередная моя древняя поделка на микроконтроллере ST7FOXF1 в DIP и SMD исполнение.

Контроллер доступа с охранными функциями - "KD Rfid Alarm_4"Beta.
Всего 42 карты (0..41) из них:
32 карты доступа (0..31) и 10 карт (32..41) блокировки/разблокировки доступа и отслеживания нарушения 4 линий с включением OUT2
Расстояние считывания 2-4см.
Карты/брелоки типа RFID 125Kzh EM-marine.
2 Входные линии задействованы под кнопку прохода "KNopen" и Геркон НЕ закрытой двери.
4 Входные линии отслеживания нарушений с включением OUT2.
Отслеживание состояния входных линий (Норма, сработка, Обрыв, КЗ) оконечное сопротивление 10ком, с работка 6,8ком.

OUT1,OUT2 - управление проходом и оповещением о тревоги (включают 12в 1А на канал).
Блокировка прохода картой "LOCK" а также постановка/снятие отслеживания нарушений в 4линиях с включением OUT2.
Полное удалённое управление и программирование по 1WIRE UART.
Локальное программирование через 3х позиционный переключатель и кнопки "SET", достаточное для функционирования.
Контроль режимов работы и состояния 5 светодиодами и пищалкой (BUZER).

Программирование через 3х позиционный переключатель и кнопку "SET":

Sw1 on - Добавление карт доступа.
Sw2 on - Установка Времени включения OUT1.
Sw3 on - Установка Времени включения OUT2.(Alarm GK).
Sw1+Sw2 on - Время ожидания не закрытой двери (Геркон).
Sw1+Sw3 on - Кол-во повторов Alarm Open_GK (Геркон).
Sw2+Sw3 on - Добавление карт блокировки (max 10).
Sw1+Sw2+Sw3 on - Очистка переменных и кодов карт.


Удалённое управление и программирование по 1 проводному интерфейсу
1WIRE UART - 9600,8,1 без паритета.
Использую терминальную программу "Terminal v1.9b"

Список команд:

CMD0 _ Системные Временные установки контроллера.
CMD1 _ Команда "KNopen" по времени.
CMD2 _ Смена адреса устройства.(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
CMD3 _ Длительность включения OUT1.
CMD4 _ Длительность включения OUT2. (Alarm GK).(Сирена).
CMD5 _ Кол-во повторов Alarm Open_GK (Геркон).
CMD6 _ Время открытой двери До СИРЕНЫ.
CMD7 _ Чтение кода карт (0..41). блокировки и доступа.
CMD8 _ Блокировка доступа по карте и "KNopen".
CMD9 _ Разблокировка доступа по карте и "KNopen".
CMDA _ Запись кода карты по номеру (0..41).
CMDB _ Текущее сост. Входных линий Lock/UnLock, Arm/Alarm, L1,L2,L3,L4,L5,L6.
CMDC _ Чтение/запись логики входных линий L1,L2,L3,L4,L5,L6 - (NO, NC).
CMDD _ Удаление кода карты по номеру (0..41).
CMDE _ Установка начальных установок контроллера (Default).
CMDF _ Кол-во за писаных карт блокировки/разблокировки (Max 10) и доступа (Max 32).
;
Пример обмена данными.

CMD0
Запрос >F50000F Ответ <FB005010A039F

< - Маркер начала ответа от контроллера.
Hex(x) Адрес - Адрес контроллера 1 ASCII HEX.
Hex(x) Значение - Длина блока данных 1 ASCII HEX.
Hex(x) Значение - Код команды 1 ASCII HEX.
Hex(xx) Значение - Время активности OUT1(сек) 2 ASCII HEX.
Hex(xx) Значение - Время активности OUT2(сек) 2 ASCII HEX.
Hex(xx) Значение - Время до активизации OUT2(сек) 2 ASCII HEX.
Hex(xx) Значение - Кол-во активизаций OUT2(раз) 2 ASCII HEX.
Hex(xx) CRC8 - Контрольная сумма передаваемого пакета 2 ASCII HEX.

(x) и (xx) - одна или две ASCII HEX (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F).
;
Кому интересно ниже схема, фото платок в Дип и Смд, скан настройки макросов теминальной программы, прошивка и печатки


Attachments:
Прошивка_Плата_Dip_Smd_Macros.zip [338.09 KiB]
Downloaded 554 times
KD_RFID_4z_Alarm_ST7Foxf1_v3.jpg
KD_RFID_4z_Alarm_ST7Foxf1_v3.jpg [ 247.55 KiB | Viewed 22449 times ]
P1060100.jpg
P1060100.jpg [ 171.9 KiB | Viewed 22449 times ]
19 Mar 2018 00:40
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
Нашлась поделка к посту выше, планировал для удобства удалённого управления, программирования и отображения информации от разных поделок того периода времени.
Доделывать как всегда не стал, в связи с потерей интереса, а поделка осталась.
Фото поделия


Attachments:
Поделка VizerST7F.JPG
Поделка VizerST7F.JPG [ 311.89 KiB | Viewed 21653 times ]
04 Nov 2018 10:00
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
Очередной раз перебирая закрома былых прожектов, с удивлением обнаружил на прочь забытые
поделки в тему топика.
На фото платка первых вариантов тестирования как бы "Проба пера" возможности ST7 и LCD от
сотовых телефонов, в частности от Nokia 1110i.
Дисплеи понравились, а вот с разъёмами была беда, удалось тогда достать только c десяток.
Почти все закончились и ВСЁ, больше достать не смог.


Attachments:
Поделка VizerST7K1.JPG
Поделка VizerST7K1.JPG [ 272.77 KiB | Viewed 21625 times ]
Con n1110i.JPG
Con n1110i.JPG [ 47.31 KiB | Viewed 21625 times ]
05 Nov 2018 07:54
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
Очередные фотки моих поделок в тему топика.
Так сказать "Проба пера" в период освоения ST7.


Attachments:
Былые прожекты ST7 вид3.JPG
Былые прожекты ST7 вид3.JPG [ 133.28 KiB | Viewed 21001 times ]
Былые прожекты ST7 вид2.JPG
Былые прожекты ST7 вид2.JPG [ 482.79 KiB | Viewed 21001 times ]
Былые прожекты ST7 вид1.JPG
Былые прожекты ST7 вид1.JPG [ 351.57 KiB | Viewed 21001 times ]
21 Nov 2018 01:36
Profile
Maniac

Joined: 15 Jan 2019 15:48
Posts: 326
Location: Украина, Луганская обл.
Reply with quote
Прочитал вашу тему и решил, несколько запоздало, ответить:
МСМ "всего 3 регистра" - это не мало, это даже много :ebiggrin: .
В 12-16х PICах он вообще один - аккумулятор и ничего хватает.
Система команд по мне несколько раздута, в сравнении с теми же ПИКами, многие команды можно было бы объединить в одну с использованием модификатора.
Например установку/сброс битов в регистре состояния можно было бы просто отнести к битовым командам над регистром состояния.
Но это сугубо мое ИМХО.
А вот способность исполнять код из ОЗУ конечно выгодно отличает от ПИКа, но это особенность архитектуры, в ЗЕТках никто же этому не удивляется...

ПС. Изучаю STM по необходимости. Есть несколько чужих проектов на ST72 в которых я вынужден разбираться.


03 Oct 2019 08:26
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
В данной полелке я использовал корпус от часиков, получилось нормально если бы не "хлипкие кнопки".
Ожидалось от конструктива намного больше, а так очередная "муть" в копилке не доделанных проектов.

Поделка на микроконтроллере ST7FOXA 8pin , Flash 2 Кb, RAM 128b.
Планировал поделку для визуального контроля и управления различными модулями ввода/вывода.
На фото конструктив.


Attachments:
Vizer Xa corpus4.jpg
Vizer Xa corpus4.jpg [ 94.08 KiB | Viewed 18865 times ]
Vizer Xa corpus1.jpg
Vizer Xa corpus1.jpg [ 99.16 KiB | Viewed 18865 times ]
Vizer Xa First Menu.jpg
Vizer Xa First Menu.jpg [ 87.31 KiB | Viewed 18865 times ]
08 Jan 2020 11:34
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Дисплей от старого телефона Ericsson T39, 101 x 54, интерфейс i2c.
Фотки


Attachments:
Vizer Xa First Menu SET.jpg
Vizer Xa First Menu SET.jpg [ 93.72 KiB | Viewed 18864 times ]
Vizer Xa First Menu RF2 Modul.jpg
Vizer Xa First Menu RF2 Modul.jpg [ 90.28 KiB | Viewed 18864 times ]
Vizer Xa First Menu BAZE2 Modul.jpg
Vizer Xa First Menu BAZE2 Modul.jpg [ 104.94 KiB | Viewed 18864 times ]
08 Jan 2020 11:51
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
И на конец схема поделки.
Памяти микроконтроллера ST7FOXA в 2Кб маловато , я исползовал для знакогенератора и таблицы сообщений внешнюю EEprom 24c32.
Пришлось использовать 3 прошивки, с начало прошиваем знакогенератор, за тем таблицы сообщений а потом управляющую программу. "Тяжко"!!!


Attachments:
VCU_LCDt39_NAKO_ST7FOXA_v1.jpg
VCU_LCDt39_NAKO_ST7FOXA_v1.jpg [ 347.34 KiB | Viewed 18863 times ]
08 Jan 2020 12:08
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Доброго времени суток.
Проект из серии "Проба Пера"
микроконтроллер ST7FOXK1 (Flash 4Kb, Ram 384b, 32pin), кварц 9830400 Гц
питание +5 вольт, батарейное не использовал.
ЖКИ дисплей от телефона nokia1200
Функционал конструктива - часы с календарём, будильник, термометр, термостат.
Плату использовал от другого проекта.
Для коррекции времени (если надо) есть коррекция +/- 29 сек,
Которая происходит каждый день в 00:00:30.
Настройка часов, будильника, коррекции, температуры и дельты слежения термостата
осуществляется SW1 кнопкой.
Длинное нажатие SW1 (~3 сек) перемещает позицию для коррекции по кругу.
0 позиция отключает коррекцию.
Короткое нажатие SW1 (~1 сек) увеличивает выбранную позицию.
Выход из коррекции - не нажимать кнопку в течении 10 сек.
Будильник звучит "Прерывистым Бипером" в течении 1 минуты.
Отключить звук сработавшего будильника можно досрочно - кратковременно нажать кнопку.

Кнопка SW2 длинное нажатие (~3сек) - сброс Max/Min показания.

При нажатии любой кнопки SW1, SW2 включает подсветку дисплея на 10 сек.

Реализовано слежение за установленной температурой в пределах установленной дельты +/- 10 град.

Нулевое значение в плюсе дельты - отключает возможность функции "Охлаждение"
Нулевое значение в минусе дельты - отключает возможность функции "Нагрев"

В режиме НАГРЕВ светится красный светодиод и включается реле 1.
В режиме ОХЛАЖДЕНИЯ светится синий светодиод и включается реле 2.

Ниже фото поделки.


Attachments:
ST7FOXK1_Clock_Alarm_Temp_Termostat_vid1.jpg
ST7FOXK1_Clock_Alarm_Temp_Termostat_vid1.jpg [ 120.43 KiB | Viewed 16528 times ]
ST7FOXK1_Clock_Alarm_Temp_Termostat_vid2.jpg
ST7FOXK1_Clock_Alarm_Temp_Termostat_vid2.jpg [ 150.58 KiB | Viewed 16528 times ]
ST7FOXK1_Clock_Alarm_Temp_Termostat_vid3.jpg
ST7FOXK1_Clock_Alarm_Temp_Termostat_vid3.jpg [ 111.71 KiB | Viewed 16528 times ]
26 Oct 2020 08:48
Profile
Fanat

Joined: 20 Sep 2015 02:50
Posts: 84
Reply with quote
Схема и прошивка.


Attachments:
ST7FOXK1_Clock_Alarm_Temp_Termostat_cxem.JPG
ST7FOXK1_Clock_Alarm_Temp_Termostat_cxem.JPG [ 564.54 KiB | Viewed 16527 times ]
ST7FOXK1_Clock_Alarm_Temp_Termostat_HEX.zip [4.13 KiB]
Downloaded 257 times
26 Oct 2020 08:50
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 18 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.