Перейти к содержанию

Рекомендуемые сообщения

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

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

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

Но в это можно и не вникать - на процесс программирования это почти не влияет - большинство механизмов - чисто аппаратные фичи для увеличения производительности.

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

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

У МК как правило наружу шина данных и адресная шина не высовывается. ПЗУ команд на борту, ОЗУ на борту, наружу смотрит только несколько портов. Плюч на борт садим несколько устройств типа ЦАП, АЦП, и т.д. и привязываем их к определенному порту. Все. Почитайте по MSC-51 и историю его появления.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Tcoder, Матерь Божья сколько непонятных терминов))) Я все равно ничего непонял))

зацени какая разница в восприятии того что "не знаешь" и "думаешь что знаешь, а по факту нет" :)

Feel the difference! ©

Ссылка на комментарий
Поделиться на другие сайты

Eu1sw, беда не то слово. Впринципе с этими мк и программированием не сталкивался. Человек не может знать все.Но тяга с недавнего момента к этому появилась. Хочу понять суть работы мк и выучить какой нибудь язык программирования, чтобы собирать на мк всякие девайсы. Но на это наверно уйдут годы, как я понял и там не все так просто((((

Да я и сразу сказал что нешарю в этом ни грамма)

Ссылка на комментарий
Поделиться на другие сайты

Eu1sw, беда не то слово. Впринципе с этими мк и программированием не сталкивался. Человек не может знать все...

ты так пишешь будто тут немецкую грамматику обсуждали :)

вот там действительно все знать невозможно, особенно технарю :)

а тут все лишь о процессорах :)

Да я и сразу сказал что нешарю в этом ни грамма)

вот я и говорю - зацени какая разница! :)

а вспомни как ты ёрзал когда тебе доказывали что вентилятором ДВС наддуть невозможно ? :)

Feel the difference! ©

Ссылка на комментарий
Поделиться на другие сайты

...сколько непонятных терминов...

Фуф, что-то я разошёлся c терминами действительно :) Надо было попроще...

Хочу понять суть работы мк и выучить какой нибудь язык программирования, чтобы собирать на мк всякие девайсы. Но на это наверно уйдут годы, как я понял и там не все так просто((((

Сложности есть, но при большом желании можно довольно быстро разобраться. У меня например ушло где-то два месяца (с учётом того, что свободного времени немного было), чтобы сделать более-менее рабочее устройство. Правда программированием я намного раньше занялся...

Ссылка на комментарий
Поделиться на другие сайты

Ну для кого "всего лишь", а для кого сие есть тайна великая.)) Что там какой то процессор, шины адресные и т.д. Темный лес. Прошить там чтото могу, а вот как эта прошивка там работает, по какому принципу, что в ней я увы незнаю. А нмписать ее так это вапще равносильно горы свернуть..

Tcoder, да там походу одно программирование и рулит)))

Ссылка на комментарий
Поделиться на другие сайты

там ещё иногда сообразить надо как аппаратную часть присунуть и питание чистое развести, ресеты и проч.

поэтому одного программирования в микроконтроллерах мало.

Feel the difference! ©

Ссылка на комментарий
Поделиться на другие сайты

Из вики

Микроконтро́ллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.
Центра́льный проце́ссор (ЦП; также центральное процессорное устройство — ЦПУ; англ. central processing unit, CPU, дословно — центральное обрабатывающее устройство) — электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.

С уважением, Дмитрий

Ссылка на комментарий
Поделиться на другие сайты

И вот допустим, прошил я флэш память в эбу, ну это понятно во флэш память легла прошивка( другими словами программа управления двигателем со всякими таблицами уоз и прочими калибровками), в eeprom хранится информация об устройстве, коды ошибок если есть, информация о состоянии иммобилайзера и т.д, далее эти памяти связаны с процем по шинам, а вот что сам проц делает? Высчитывает инфу с датчиков сравнивает с прошивкой и вычисляет, потом корректирует если что нетак и подает другой сигнал на исполнительные механизмы т.е. действует согласно зашитой в память программы. Я правильно мыслю или проц нето мутит?

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

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

Если хотите пример простой программы приведу с пояснениями.

***

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

Ссылка на комментарий
Поделиться на другие сайты

Терь я вобще запутался, а как программа может следить за чемто? Ведь программа это вроде набор символов на языке программирования.

Ссылка на комментарий
Поделиться на другие сайты

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

Сейчас лучше пример какой нибудь простой программы выдумаю.

Ссылка на комментарий
Поделиться на другие сайты

Немного начал понимать, но не все. Спасибо за разъяснения) Небуду вас доставать своим непониманием. Надо учить. Интересно всетаки. Tcoder,Вы говорили, что можете привести пример птостенькой программы и объяснить как это работает. Если Вас незатруднит объясните пожалуйста.)

Ссылка на комментарий
Поделиться на другие сайты

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

Не следующую, а именно ту, на которую указывает указатель команд :)

Ссылка на комментарий
Поделиться на другие сайты

именно ту, на которую указывает указатель команд :)

Это уже тонкости) Если на указатель команд ничего не действует (инструкции перехода и т.п.), он просто приращивается после выполнения очередной инструкции. Не согласны? :)

======================================

Пример простого кода:

Задача такая - есть бак, есть датчик воды на каком то уровне (как концевик). Есть насос. Вода постепенно стравливается. Задача контроллера поддерживать уровень воды.

Имеется датчик воды, подключеный на входной контакт контроллера, и есть насос, цепь которого управляется транзисторным ключом - который включен на один из выходных контактов контроллера.

Порт - это группа бит, обычно 8. Каждый бит - отдельный провод, уровень напряжения на котором соответствует логическим уровням в соответствии с тем, чему равен бит - 1 или 0.

В данном случае в PORTA на выходной бит engine_transistor подключен транзисторный ключ и насос, а на входной бит PORTB - mokro_bit подключен датчик. Причем показывает 0, когда вода есть.

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

Вот и код с описанием (надеюсь сам нигде не накосячил):

;Метка cycle - подразумевает адрес ячейки в памяти, откуда начинается этот кусок программы
cycle:
;Команда btfsc - проверяет входной бит порта на 0 или 1.
;Если там 0 - то следующая команда за btfsc будет пропущена, если 1 - будет выполнена.
;Тут в PORTB на бит mokro_bit подключен датчик воды. По условию задачи - 0 - значит вода есть.

BTFSC PORTB,mokro_bit			

;Команда GOTO - переход - заставляет процессор начать выполнение другого куска кода с другого адреса.
;Поскольку эта команда расположена за BTFSC, она будет пропускаться, пока датчик показывает воду.
;Как только датчик покажет отсутствие воды, проц перейдёт на адрес raise.

GOTO raise	

;Команда BCF - сбрасывает бит регистра, в данном случае - бит регистра, контакты которого выведены наружу.
;Если датчик показывает воду, по BTFSC процессор пропустит инструкцию GOTO и попадёт в этот участок кода
;Здесь идёт постоянный сброс вывода, к которому подключен транзистор, управляющий двигателем насоса.
;Выходные порты запоминают записанные в них данные независимо от того, на какой стадии программа.
BCF PORTA,engine_transistor

;И потом начинается всё снова - возврат на начало программы - где проверяется датчик воды.

goto cycle
;Это метка, подразумевающая адрес начала второй ветви программы
;Процессор начинает выполнять здесь код (заворачивать сюда), когда обнаружится, что пропал сигнал от датчика воды.
raise:
;Команда BSF - устанавливает бит регистра, в данном случае - бит регистра, контакты которого выведены наружу.
;Здесь устанавливаем вывод в единицу, к которому подключен транзистор в цепи насоса.
;Фактически включаем насос.

BSF PORTA,engine_transistor

;Возвращаемся снова на проверку состояния датчика воды.

goto cycle

* пример на мнемонике команд для PIC-контроллера. Мнемоника - текст, которым обозначаются машинные коды - для более удобного понимания и восприятия человеком. Именно из таких кодов компиляторы перерабатывают программу в машинный код, пригодный для загрузки в память контроллера и доступный "пониманию" процессора.

Изменено пользователем tcoder
Ссылка на комментарий
Поделиться на другие сайты

Надо было алгоритм расписать, а не программу, было бы понятнее.

Это уже тонкости) Если на указатель команд ничего не действует (инструкции перехода и т.п.), он просто приращивается после выполнения очередной инструкции. Не согласны?

Конечно согласен. Но (без)(условные)переходы и возвраты из подпрограмм не следует исключать.

Ссылка на комментарий
Поделиться на другие сайты

И еще одна просьба, посоветуйте мне,какие книги нужно начать изучать? Т.е. объясняющие что такое процессор и мк как они работают, как выполняют команды программ, вобщем все что сними связано. Желательно с самых азов.Я думаю програмирование начну изучать, когда освою принципы работы всего этого. Или надо сперва программирование изучать?Заранее благодарен.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...