реклама на сайте
подробности

 
 
> Как описывать архитектуру девайса
Hexel
сообщение Jun 13 2018, 16:36
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 13-03-12
Из: Украина
Пользователь №: 70 785



Добрый день!

Такой вопрос, кто как составляет структуру, алгоритмы высокого уровня для своих девайсов? Я вот долго накатывал какие-то узлы, блоки, из которых можно потом сооружать новые девайсы с минимальными доработками. Но доработки постоянно приходилось вносить внушительные. Оказалось, что я ни разу не анализировал все взаимосвязи ни аппаратных, ни программных частей - просто рисовал в тетрадке и по ходу рисовал схему, писал код. Пока оно все в голове помещалось. Сейчас я уже понимаю, чтобы была уверенность в том, что все будет работать правильно, в голову всего набивать не надо, а надо в цифровом виде.

Если конкретно, вот полная структурная схема девайса, нарисованная в визио. Компоненты в синем ящике - периферия проца, пакаджи - софтовые модули. Компоненты на свободном поле - участки схемы, в белых ящичках - коннекторы и соответствующие им входные цепи. Входа компонентов обозначены как интерфейсы (кружками), я старался размещать их слева. Например, модуль OutExt имеет процедуру SetOut, которая вызывается из модулей UserIF и Evt, и выдает наружу сигналы через выводы Ch1 и Ch2 и через периферию SPI. Местами путаница, но это промежуточный вариант, т. к. визио показался мне не самым удобным инструментом для даной задачи. Вот я и хочу спросить, кто в каком редакторе составляет такие диаграммы? Может быть, хотя бы для чисто софтовых проектов?
На мой взгляд это должен быть UML, пока что только для структуры. За описание процессов я может потом спрошу
Прикрепленные файлы
Прикрепленный файл  P171207__________.pdf ( 21.75 килобайт ) Кол-во скачиваний: 105
 


--------------------
нет повести печальнее на свете, чем повесть о запавшем ресете
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
a123-flex
сообщение Jun 14 2018, 03:38
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884



Цитата(Hexel @ Jun 13 2018, 20:36) *
Такой вопрос, кто как составляет структуру, алгоритмы высокого уровня для своих девайсов? Я вот долго накатывал какие-то узлы, блоки, из которых можно потом сооружать новые девайсы с минимальными доработками. Но доработки постоянно приходилось вносить внушительные. Оказалось, что я ни разу не анализировал все взаимосвязи ни аппаратных, ни программных частей - просто рисовал в тетрадке и по ходу рисовал схему, писал код. Пока оно все в голове помещалось. Сейчас я уже понимаю, чтобы была уверенность в том, что все будет работать правильно, в голову всего набивать не надо, а надо в цифровом виде.

Я для себя стал сводить проекты в Excel-е: делаю табличку: сверху вниз тип узла, по горизонтали девайсы, в табличке количество: Spi 2 Adc 3, и тд.
Так описывается семейство устройств.

На строчку ниже удобно в похожем виде описать каждое устройство: сверху вниз тип узла (одинаково с 1), по горизонтали функция каждого конкретного канала.
Так в таблице получается как сводная информация по семейству устройств, так и расшифровка узлов каждого.

Есть проблема с иерархией: вход может быть adc с разными функциями (усилитель, делитель, сух.конт...) но пока у меня это укладывается в плоскую схему: все они подкласс In: InAdcAmp, InDiscrDiv....

При разработке семейства устройств такая схема позволяет хорошо описывать основную функцию каждого отдельного устройства, и продумывать концепцию всей линейки.

Родился этот подход из таблицы для всех девайсов, которые стояли в очереди на разработку (их в какой-то момент стало много).
Когда все потребности сведены в такую таблицу, она хорошо показывает, где можно малой кровью сделать одну универсальную плату на несколько устройств, а где неизбежно придется делать несколько плат, тк требования по ресурсам несовместимые: меняя столбцы местами, можно скомпоновать таблицу так, что она разобьется на явные подгруппы: рядом будет стоять то что хорошо совпадает, и будет несколько сильно разных подгрупп.

Набор узлов, их функции, и алгоритм их работы ИМХО на схеме совмещать бессмысленно: они хоть и связаны, но суть и производные, соотв. складывать их вместе теплое с мягким.

Я описал алгоритм для устройств одноранговых, простых. Как правильно заметил AlexandrY в случае сложных устройств требуется иерархия. К сожалению в связи со спецификой ПП, при переходе к трассировке все иерархии складываются в один уровень.

Поэтому имхо, для сложных иерархических схем, оптимизацию труда способом описанным выше можно провести только до уровня принципиальных схем.
А дальше печатная плата, наложив свои ограничения, скорее всего, заставит каждый раз перетрассировать все заново.

Я имею в виду, что нормальные иерархические блоки: схема+плата я не видел ни в альтиуме ни в менторе, а кэденс мы увы не разумеем(


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 14 2018, 06:16
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(a123-flex @ Jun 14 2018, 06:38) *
Когда все потребности сведены в такую таблицу, она хорошо показывает, где можно малой кровью сделать одну универсальную плату на несколько устройств,

Кстати да, хороший вариант.
Сделать универсальный процессорный модуль и сделать в нем базовый программный фреймворк с RTOS, GUI, FS, RF, CAN и проч.
Тогда и диаграммы станут очень компактными и софт будет просто небольшой надстройкой над фреймворком
А новые платы типа такой можно будет шлепать каждые две недели.
Прикрепленное изображение


Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Hexel   Как описывать архитектуру девайса   Jun 13 2018, 16:36
- - AlexandrY   Цитата(Hexel @ Jun 13 2018, 19:36) Компон...   Jun 13 2018, 20:18
|- - a123-flex   Цитата(AlexandrY @ Jun 14 2018, 10:16) Кс...   Jun 14 2018, 07:34
|- - AlexandrY   Цитата(a123-flex @ Jun 14 2018, 10:3...   Jun 14 2018, 07:43
|- - a123-flex   Цитата(AlexandrY @ Jun 14 2018, 11:43) Не...   Jun 14 2018, 07:58
|- - AlexandrY   Цитата(a123-flex @ Jun 14 2018, 10:5...   Jun 14 2018, 08:18
- - Hexel   Ексель - хороший вариант, но на данный момент я со...   Jun 14 2018, 06:46
|- - a123-flex   Цитата(Hexel @ Jun 14 2018, 10:46) Что ка...   Jun 14 2018, 06:55
|- - AlexandrY   Цитата(Hexel @ Jun 14 2018, 09:46) Что ка...   Jun 14 2018, 07:31
- - one_eight_seven   Цитата900 пинов эт когда вы DDR хотите сделать на ...   Jun 14 2018, 10:58
|- - AlexandrY   Цитата(one_eight_seven @ Jun 14 2018, 13...   Jun 14 2018, 11:34
|- - a123-flex   Цитата(one_eight_seven @ Jun 14 2018, 14...   Jun 14 2018, 12:08
- - one_eight_seven   ЦитатаВ это трудно поверить, но в yed нельзя даже ...   Jun 14 2018, 14:37
- - Hexel   one_eight_seven Нормальная такая штука этот yed. П...   Jun 14 2018, 16:18
|- - a123-flex   Цитата(Hexel @ Jun 14 2018, 19:18) А что ...   Jun 14 2018, 19:04
- - p_v   Давайте начнем с нуля. Для начала, вы должны четко...   Jun 18 2018, 07:31
|- - AlexandrY   Цитата(p_v @ Jun 18 2018, 10:31) Инструме...   Jun 18 2018, 08:22
||- - p_v   Давайте не будем пытаться устраивать холивар и тем...   Jun 18 2018, 08:53
||- - AlexandrY   Цитата(p_v @ Jun 18 2018, 11:53) Давайте ...   Jun 18 2018, 10:26
||- - p_v   Цитата(Hexel @ Jun 13 2018, 19:36) Вот я ...   Jun 18 2018, 10:59
|- - a123-flex   Цитата(p_v @ Jun 18 2018, 10:31) На самом...   Jun 20 2018, 10:35
|- - p_v   Цитата(a123-flex @ Jun 20 2018, 13:3...   Jun 20 2018, 11:10
||- - a123-flex   Цитата(p_v @ Jun 20 2018, 14:10) Это из м...   Jun 20 2018, 11:38
||- - p_v   Цитата(a123-flex @ Jun 20 2018, 14:3...   Jun 20 2018, 12:17
|||- - a123-flex   Цитата(p_v @ Jun 20 2018, 15:17) Да сам н...   Jun 20 2018, 12:38
|||- - AlexandrY   Цитата(p_v @ Jun 20 2018, 15:17) Мне врем...   Jun 20 2018, 12:41
|||- - p_v   Цитата(AlexandrY @ Jun 20 2018, 15:41) Но...   Jun 20 2018, 13:21
|||- - AlexandrY   Цитата(p_v @ Jun 20 2018, 16:21) Просто н...   Jun 20 2018, 13:48
|||- - p_v   Хоссподя... ну вот человек только что с треском об...   Jun 20 2018, 14:44
||- - AlexandrY   Цитата(a123-flex @ Jun 20 2018, 14:3...   Jun 20 2018, 12:24
|- - AlexandrY   Цитата(a123-flex @ Jun 20 2018, 13:3...   Jun 20 2018, 11:28
- - one_eight_seven   ЦитатаСкажем честно 1. Кто вам дал право определя...   Jun 18 2018, 10:28
|- - AlexandrY   Цитата(one_eight_seven @ Jun 18 2018, 13...   Jun 18 2018, 11:04
- - p_v   Давайте допустим такой вариант, что я могу как мин...   Jun 18 2018, 11:30
|- - AlexandrY   Цитата(p_v @ Jun 18 2018, 14:30) Давайте ...   Jun 18 2018, 12:22
|- - p_v   Цитата(AlexandrY @ Jun 18 2018, 15:22) Пр...   Jun 18 2018, 13:23
||- - AlexandrY   Цитата(p_v @ Jun 18 2018, 16:23) Это ваше...   Jun 18 2018, 19:32
|- - a123-flex   Цитата(AlexandrY @ Jun 18 2018, 15:22) Ре...   Jun 19 2018, 20:33
- - p_v   Теперь пройдемся еще раз по диаграммам. А точнее, ...   Jun 18 2018, 15:41
- - p_v   Теперь по инструментам. Лично у меня очень экстрем...   Jun 18 2018, 18:13
- - one_eight_seven   Цитатаданном проекте речь о проектировании машины ...   Jun 18 2018, 19:55
- - p_v   У ВАС на ВАШИХ задачах - свой опыт. У МЕНЯ на МОИХ...   Jun 18 2018, 20:00
|- - AlexandrY   Цитата(p_v @ Jun 18 2018, 23:00) Я отвеча...   Jun 18 2018, 20:18
|- - p_v   Цитата(AlexandrY @ Jun 18 2018, 23:18) А ...   Jun 18 2018, 21:02
- - Hexel   сейчас я между прочим пытаюсь применить sybase PD1...   Jun 20 2018, 07:04
|- - AlexandrY   Цитата(Hexel @ Jun 20 2018, 10:04) сейчас...   Jun 20 2018, 08:57
- - Hexel   p_v Пожалуста, не нужно развивать этот спор. Вы по...   Jun 20 2018, 15:37
- - p_v   Цитата(Hexel @ Jun 20 2018, 18:37) ... Ко...   Jun 20 2018, 16:31
- - a123-flex   Цитата(p_v @ Jun 20 2018, 20:31) Когда за...   Jun 20 2018, 17:54
- - p_v   Цитата(a123-flex @ Jun 20 2018, 20:5...   Jun 20 2018, 18:08
- - a123-flex   Цитата(p_v @ Jun 20 2018, 22:08) Железку,...   Jun 20 2018, 18:19
- - p_v   Цитата(a123-flex @ Jun 20 2018, 21:1...   Jun 20 2018, 19:32


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 18:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01458 секунд с 7
ELECTRONIX ©2004-2016