Easyelectronics.ru

Электроника для всех
Текущее время: 15 дек 2017, 18:55

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Современные отечественные аналоги 8051
СообщениеДобавлено: 28 авг 2015, 10:42 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
Доброго времени суток всем.
На предприятии стоит задача: в старых приборах с AT89C55WD МК заменить на отечественный, чтобы прибор прошел военную приемку.
Порылся по всяким Миландрам и НИИЭТам - МК разно-всякие есть, но немного не устраивает.
Дело в том, что требование большое к памяти программ - 64кб нужно, чтобы можно было имеющийся код на Сях перенести (скомпиленный 40кб занимает). В НИИЭТ вроде есть аналог 51-х, но у него всего 32кб флеша. На Миландре есть с 64кб, но они все либо архитектуры PIC, либо AVR.

Кто может подсказать, есть ли еще какие альтернативы отечественные? Или стоит пользовать Миландр и портировать код под PIC-архитектуру?

Требования просты: наличие памяти больше 40кб, наличие интерфейса I2C.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 28 авг 2015, 10:56 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
И да, еще одно пожелание: хорошо было бы, если бы стек был не совсем уж маленьким: судя по коду на С, в стек он пргружается довольно-таки глубоко. Не то, чтобы я не хотел бы переписать программу совсем с нуля, это было бы полезно, но в тех условиях, которые есть на предприятии, это самый крайний выход.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 28 авг 2015, 23:59 
Старожил

Зарегистрирован: 07 фев 2011, 21:00
Сообщения: 412
Откуда: Ханты-Мансийск
походу простого решения нет!
Если очень надо можно эмулировать контроллер.
Altera для своих ПЛИС предлагает IP Core ()
https://www.altera.com/products/intelle ... r8051.html
http://www.cast-inc.com/ip-cores/8051s/ ... 1xc2-a.pdf
https://www.altera.com/products/intelle ... 052ex.html

У Actel тоже библиотека была, уверен что Xilinx также имеет свое решение.

В России как минимум копию Cyclon'a II выпускают.
Этого достаточно чтобы залить в нее ядро 8051


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 29 авг 2015, 00:33 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
Это все с ПЛИС, конечно, бла-ародно... Но как начальство на такое посмотрит-то? Да и вообще - со всех сторон не слишком рационально выходит. Прибор итак дохренища стоит, так еще и ПЛИСом обогащать ее? Идея хорошая и гибкая, но выйдет очень накладно по стоимости и совершенно нерентабельно.

С другой стороны... Если совсем вариантов не будет - придется подумать и над этим вариантом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 29 авг 2015, 11:00 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 15 фев 2011, 22:21
Сообщения: 199
sdv_cyborg писал(а):
чтобы можно было имеющийся код на Сях перенести (скомпиленный 40кб занимает). В НИИЭТ вроде есть аналог 51-х, но у него всего 32кб флеша.
делов то переписать несколько кусков кода на ASM реализации и код ужать всего то на 8 кБ! Чтобы влезла в 32.
Раз дорогой прибор деньжат на ASMера найти должны, хотя бы на разовый оутсорсинг.
Прикидываю так, что "повыкидывав" тупые групповые пересылки через стек значения переменных при вызовах процедур и не касаясь алгоритмических нюансов кода вполне получится в 32кБ влезть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 29 авг 2015, 12:39 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3499
Откуда: г. Липецк
vastani писал(а):
... вполне получится в 32кБ влезть.

Не увидев кода трудно судить, но перелопатить 40Кб кода и ужать на ~40% скорее всего получится. Да только платить за это никто не будет. Дешевле купить ПЛИС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 30 авг 2015, 13:27 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
anakost писал(а):
Да только платить за это никто не будет. Дешевле купить ПЛИС.


Вы правы на счет платить. Во-первых, я еще не слишком проф. АСМер, чтобы чужой код на Си перелопачивать. Во-вторых, я не на аутсорсе, а за рабочим столом в конторе кажный день сижу. И в-третьих - платить действительно не торопятся - финансовые проблемы велики довольно. А поскольку я кагбэ еще только молодой специалист на стажировке, а переделывать код никому больше не хочется - вот и возложили на меня это дело.
Ради опыта я б перелопатил код и попробовал бы ужать по возможности. Но если действительно это окажется совсем невыгодно - и впрямь предложу вариант с ПЛИС.

В любом случае - спасибо всем за советы. Посмотрю Воронежские ПЛИС и попробую все же код переработать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 30 авг 2015, 13:30 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
vastani писал(а):
Прикидываю так, что "повыкидывав" тупые групповые пересылки через стек значения переменных при вызовах процедур и не касаясь алгоритмических нюансов кода вполне получится в 32кБ влезть.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 30 авг 2015, 19:51 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 15 фев 2011, 22:21
Сообщения: 199
sdv_cyborg писал(а):
Только как повыкидывать лишние вызовы функций через стек?
не лишние, а тупые )))
т.е. имелось в виду, что из, допустим, некого MAIN вызывается процедура XERNOTA )))
и передается значения x, y, z...
запустили отладчик, смотрим вызов в АСМе и видим, что MAIN x, y, z , были регистрами
R0,R1,R2 потом их на стек, потом из стека они попадают в XERNOTA как те же регистры
R0,R1,R2... :/
компилятор он тупой и "любит" клепать код под копирку по шаблону..., как правило, даже с оптимизацией это не искуственный интелект жеж!
Получается чем больше данных пересылка, тем ожидаемо больше тупости в расточительстве кодового пространства, тактах................
sdv_cyborg писал(а):
Сейчас код выглядит в виде банального бесконечного линейного цикла
А вот тебе и ключик в руки даю.
Если посмотреть на эту портянку глазами АСМера, и полистать страниц 30-40 чистого АСМ кода туда сюда дня два-три, скажем, то опытный глаз выловит, что то тут, то там проскакивают большие куски одинакового кода, которые, котоооооооорыееееееее
можно вынести отдельной ПРОЦЕДУРОЙ! Одной ОДИНЕШЕНЬКОЙ!
Пусть насчитываем потенциальных "вызовов" из MAIN 10 шт. кода некой "нашей" процедуры XERNOTA_01 100 байт.
Вопрос сколько будет сэкономлено превратив все это 9 вызовов + одно тело в 100 байт некой XERNOTA_01?

Ещё, насчет АСМера.
:)
АСМер - это не программирование, а стиль мышления, вернее образ мышления... приближенного к железу специфике (часто побитно!) и-и-и-и-и-и...,
очень хорошая,
нет не так,
ОТЛИЧНАЯ ЗРИТЕЛЬНАЯ ПАМЯТЬ разведчика!!!
Он может не знать теорему Пифагора, но помнит на какой странице в даташите такой то очень нужный регистр с масками приведен и сколько трещин в асфальте в кафешку за углом + может их изобразить на листе бумаги на спор (не советую спорить с ним на деньги))))
Не все люди могут быть АСМерами или ювелирами (в принципе братуха по уровню усидчивости), как и не все, НЕ ЛЮБОЙ может быть пианистом или спринтер-бегуном...
Но попробовать себя стоит, понять кто ты и НУЖНО ли тебе это.
Надеюсь помог.
:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 31 авг 2015, 09:49 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
Да, спасибо, очень помогли!
Мне и самому АСМ в такой мелкоте гораздо ближе, и я за его упорное использование.
Увы, на нашем предприятии уже давно от него просто отказались как от лишней траты времени. Правда, порой косяки вылезают из-за этого такие, что...
В любом случае - спасибо за советы! Просмотрю и попробую все вышеописанное!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 31 авг 2015, 10:12 
Старожил
Аватара пользователя

Зарегистрирован: 29 янв 2010, 15:41
Сообщения: 1029
Откуда: Германия
Хотел спросить, а сам код написан как всегда? Как Спагетти? Без какой либо структуры и блоков?
Обычно, если код написал правильно (блочно и структурно), то замена процессора решается заменой одного - двух модулей и драйверов. Обычно это весь HAL и драйвера. И делается это довольно быстро - около недели - двух.
Но если код - как всегда, одним большим куском, как говорится, спагетти, то самое время его перелопатить, чтобы в следующий раз таких граблей не огребать, а то ведь они обязательно опять проявятся.

_________________
Мои поделки
http://www.fun-electronic.net/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 31 авг 2015, 13:10 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
Блоки есть - основные периферийные задачи выделены в блоки. И даже главное меню. Остальное - это спагетти из вызовов этих самых блоков.
И даже есть место, в котором прибор выполняет один и тот же режим в течение минуты: опрос датчиков по очереди, вычисление смещения, коррекция напряжения и выдача инфы на ЖКИ - но оно сделано в главном цикле программы в обычном немодульном виде. Только лишь с тем отличием, что вызывает функции обслуги периферии из самопальной библиотеки. Хотя можно было бы сделать в виде банального конечного автомата, даже флаги для временнЫх отметок есть.

Так что, 50/50. Вроде и модульность есть какая-никакая, а все-равно общая организация сделана плоско. ТАк что, перелопачивать придется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 31 авг 2015, 15:32 
Старожил

Зарегистрирован: 04 янв 2014, 01:30
Сообщения: 208
Чем вас не устраивает Миландр? Если код всё равно на сях - какая разница под какой камень компилировать. Да, вылезут сюрпризы и надо будет править, но это проще, чем всё переделывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Современные отечественные аналоги 8051
СообщениеДобавлено: 31 авг 2015, 16:14 
Заглядывает иногда

Зарегистрирован: 08 июн 2015, 16:26
Сообщения: 182
Ну да - с 51-го на PIC переносить код на С, в котором изначально сильно большой платформонезависимости не было предусмотрено - дело не самое простое. Перепилить многое придется все-таки.
И да, тут итак сюрпризы вылезают, даже при попытке править прграмму.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB