что такое buzzer на материнской плате

Что такое спикер, где находится и зачем он нужен в компьютере

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

Короткий одиночный звук при включении компьютера издает системный динамик – спикер. Это не то устройство, которое проигрывает музыку, его задача – только пищать. Пищать для того, чтобы…Итак, что такое спикер, и зачем он нужен в компьютере и где находится.

И это всё о нем

Спикер, бузер, бипер, хрипер, пищалка, гудок, свисток и системный динамик – все эти звучные имена принадлежат одной невзрачной загогулине в виде цилиндрика с отверстием посередине. Невзрачной – но важной, поскольку она – голос ПК, которым он извещает владельца о своем благополучии или неисправности по результатам процедуры POST – самодиагностики при включении, которую проводит BIOS.

Тот самый короткий писк и последующая загрузка операционной системы говорят о том, что все устройства компьютера успешно прошли проверку и готовы к работе. А если что-то пошло не так и какая-то из железяк сообщила о неполадке, спикер выдает POST-коды – серию звуковых сигналов определенной продолжительности, которые указывают на причину сбоя. Их количество, порядок и тональность индивидуальны для каждого производителя BIOS.

В частности, последовательность одного длинного и одного короткого сигнала означает:

Почему именно звук?

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

Где находится спикер. Как его подключить, если он не установлен

Системный динамик – это простой, недорогой и действенный инструмент диагностики неисправностей компьютера. И очень старый. Материнские платы 10-ти более летней давности, как правило, имели его в составе «набортных» устройств. Он был припаян непосредственно к плате и мог располагаться где угодно.

На современных материнках спикеров уже нет (за редким исключением), но есть разъемы для их подключения. Обычно они находятся в составе контактной группы F_Panel где-то поблизости от разъема кнопки включения компьютера либо на отдельной колодке.

Контакты спикера могут быть обозначены сокращениями BZR+ и BZR-, SPEAK+ и SPEAK-, SPK+ и SPK-, Speaker+ и Speaker-. В отличие от кнопки питания, при подключении пищалки следует соблюдать полярность – сторона разъема с проводком красного цвета соответствует контакту +5V.

Перед подключением системного динамика к материнской плате не забудьте обесточить компьютер!

А где взять спикер, если его нет в комплекте поставки материнки? Возможны следующие варианты:

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

Индикатор POST – современная замена спикера

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

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

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

Если же плата не оборудована ни спикером, ни POST-индикатором, для определения характера ее неисправности можно использовать внешнюю POST-карту. Ее подключают к одному из разъемов компьютера – чаще всего к PCI-E, PCI или USB, и по значению на дисплее, который может быть 2-4-6-значным, вычисляют виновника.

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

Источник

STM32: FreeRTOS и пьезокерамический излучатель

Керамический пьезоизлучатель (buzzer) — простая деталь, наравне со светодиодом требующая минимального набора ресурсов для управления и настолько же легко подключаемая к микроконтроллеру. Как и светодиоду с возможностью плавной регулировки яркости, от микроконтроллера ему требуется не более одного канала таймера и внешний вывод.

Много в интернете уроков «Подключаем пищалку к ардуино», только вот заканчиваются они проигрыванием «В траве сидел кузнечик» или озвучкой срабатывания RFID датчика. Наверное тем, кто занят этим профессионально и серьезно, не до ведения блогов и записи видеоуроков.

А ведь миниатюрный керамический динамик — шаг в сторону более дружелюбного интерфейса с человеком. Нажатия кнопок, касания сенсорной панели, реакция на различные события… Такая вот обратная связь в виде звукового отклика!

Читайте также:  что делать когда у мамы плохое настроение

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

Железки

Использовать будем самодельную плату с микроконтроллером stm32f103 в 144-ногом корпусе и пьезоизлучатель PKLCS1212E40A1-R1 фирмы Murata.

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

Пьезодинамик включен через транзистор и сделано это для большей громкости звучания (раскачивается амплитудой 5V), хотя можно вешать напрямую на ногу микроконтроллера (3.3V). Документация на него содержит АЧХ, из которого видно, что максимальная амплитуда достигается при входном сигнале 4 кГц. Да и в парт-номере компонента (PKLCS1212E40A1-R1) это отражено (Expressed resonant frequency by two-digit alphanumerics. The unit is in 100 hertz (Hz.) 4kHz (4000Hz) is denoted as «40.»).

Работать мы будем со звуком и тут я не рискну рассказывать что-то глубже основ, так как сам имею знания на минимальном уровне: есть частоты, которые динамик может воспроизводить, есть октавная система, с помощью которой можно сгруппировать, дать названия основным частотам, и закинуть эти данные в массив. С ним и будем работать:

Драйвер пьезодинамика

Пьезодинамик — не светодиод, широтно-импульсной модуляцией с постоянной частотой и переменной скважностью импульсов тут не отделаешься. Ножку, на которой висит управляющий транзистор (PA15, TIM2, CH1), настраиваем в режиме PWM:

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

Очевидно, что смена частоты сигнала приводит к изменению звучания, а вот как быть со скважностью импульсов? Я не нашел ничего полезного по этому вопросу в документации, но было предположение, что изменение скважности влечёт за собой смену громкости. Если это правда, то меандр (скважность = 50%) будет давать максимальную громкость, а схождение к 0% (или симметрично, к 100%) ослабит громкость, в конце концов, до нуля. Реально это работает так себе, поэтому я только включаю и выключаю пищалку, используя два следующих макроса:

BUZZER_VOLUME_MAX — это такое количество импульсов, которое дважды уложится в необходимый период работы, который обратно пропорционален частоте. Нужную частоту (установку) мы знаем, период тоже понятен (x2), а значит и предделитель для таймера найти не составит труда. В STM32 это любое число от 1 до 0xFFFF.

Оборачиваем все действия в функцию установки частоты:

И смена скважности для задания громкости:

Всё, драйвер пищалки готов. Можно сыграть что-нибудь, предварительно создав массив частот (и длительностей неплохо бы).

Пьезодинамик, как совместно используемый ресурс

Глобальная идея состоит в создании удобного интерфейса псевдопараллельного доступа различных задач к аппаратному модулю пьезодинамика средствами FreeRTOS. О самой FreeRTOS рассказывать не буду, эта тема не для одной статьи, которых уже очень не мало (в том числе и неплохая онлайн документация на www.freertos.org. На русском могу посоветовать этот ресурс).

Создадим составной тип данных, описывающий минимальный набор необходимых параметров для однократного воспроизведения звука определенной частоты и громкости в течение определенного времени. Звучит страшновато, но это лишь структура:

Для использования пищалки в качестве ресурса, которому любая задача может отдать на «озвучивание» какие-то данные, будем использовать стандартный механизм межзадачной коммуникации и синхронизации FreeRTOS — очередь.

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

Создадим очередь длиной 10 элементов, состоящую из кирпичиков типа BuzzerParameters_t:

Обработкой событий пищалки будет заниматься задача динамика. Задачи во FreeRTOS — это маленькие подпрограммы, имеющие точку входа и бесконечный цикл, return из которого запрещен (допускается либо приостановка задачи, либо удаление). До начала выполнения задачу нужно создать, передав первым параметром указатель на функцию задачи, а последним — необязательный хендл.

В бесконечном цикле задача будет ждать появления данных в очереди. Параметр portMAX_DELAY означает, что задача заблокирована планировщиком до тех пор, пока очередь пуста. Как только это становится не так, драйвер пищалки инициализируется переданными через очередь параметрами, а считанный элемент удаляется из очереди (если удалять не требуется, есть функция xQueuePeek()).
Вместо задержки, основанной на бездействии микроконтроллера в течение какого-то времени, используется функция vTaskDelay(), блокирующая задачу на заданное количество времени в миллисекундах (на самом деле, на количество системных тиков ОСРВ, но у меня 1 тик = 1 мс). Таким образом, задача блокируется снова на время воспроизведения звука, а по истечении времени блокировки прекращает его генерацию.

Выглядит несложно и логично, в отличие от шаманства с таймерами, прерываниями и флагами без использования ОСРВ. Попробуем теперь этот механизм в деле.

Читайте также:  что написать вместо что делаешь девушке которая старше тебя

Начнём с кнопки. Она может находится в одном из трёх состояний:

Инициализируем ножку микроконтроллера, настроим прерывание:

Первым событием, которое произойдет при нажатии кнопки, будет вход в обработчик:

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

К этому времени задача vTask_GetStartButton() с хендлом StartButtonHandle уже должна быть создана и заблокирована функцией xSemaphoreTake(), ожидающей семафора из прерывания. Логика работы следующая:

Результат нажатия складываем в заранее созданную очередь для кнопки размером в один элемент:

После обработки нажатия очередь будет хранить результат до тех пор, пока какая-либо задача не считает его оттуда.

Тут стоит отдельно заострить внимание на политике добавления в очередь данных. Нам в помощь третий параметр функции xQueueSend(). Если это 0 и очередь заполнена, то игнорируем запись и идем дальше по коду. portMAX_DELAY наоборот же, позволяет блокировать выполнение задачи, пока в очереди не будет свободен хотя бы один элемент для записи. В общем случае этот параметр есть время, на которое нужно блокировать задачу для ожидания появления свободного места. Нажатие кнопки, например, можно и проигнорировать, но вот озвучить это надо всегда, учитывая, что озвучка не занимает много времени при разумном параметре duration.

То же самое делаем с кнопкой энкодера (отдельное прерывание, отдельная очередь EncoderButtonQueue, отдельная задача обработки, отправляющая данные в общую очередь динамика)

Теперь энкодер. Хочу, что бы каждый щелчёк был озвучен, а еще на слух понятно, случился инкремент или декремент. Не будем создавать отдельную задачу, обработаем все в прерывании. Оно настроено только на один канал, но и по фронту и по спаду (никогда, никогда не используйте встроенный в этот микроконтроллер аппаратный обработчик энкодера — он ужасен):

По входу в прерывание определим, куда же повернули вал: по часовой стрелке или против:

Все в той же функции обработки прерывания, на основании информации о направлении поворота будем изменять переменную buzzerRotationCounter, которая определяет индекс проигрываемой ноты из массива GL_BuzzerAllNotes[]. Вращая энкодер, получим увеличение или уменьшение частоты звучания на +-15 едениц от значения 25. Далее формируем и отправляем элемент в очередь динамика, семафорим о событии энкодера и выходим из прерывания:

Не описать алгоритм работы словами я не мог, но лучше все же увидеть услышать, что из этого вышло:

Ну и зачем всё это?

Не то, что бы вышеописанное очень сложно и обязательно надо было разобрать это по шагам. Серьезно, суть публикации глобально можно свести к предложению — создадим задаче динамика очередь и согласно придуманным алгоритмам будем запихивать туда данные. Однако мне показалось, что подобный пример будет не плох для демонстрации распараллеливания доступа различных задач к аппаратным ресурсам железа средствами FreeRTOS. То же самое, но сделанное своими руками на флагах и прерываниях с таймерами хоть и кушало памяти меньше, чем ОСРВ — но в плане читабельности, переносимости и удобства использования было на порядок хуже.

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

Источник

Как подключить спикер к материнской плате

Привет, друзья. В процессе эксплуатации компьютера с ним случается множество проблем и зачастую их можно диагностировать и быстро исправить пр помощи спикера на материнской плате, который может сигнализировать о той или иной неисправности. Я даже писал о сигналах спикера материнской платы. Но что делать, если он не установлен? Давайте разберемся как подключить спикер к материнской плате. Причем модель платы значения не имеет. Это может быть Asus (у меня P5QL SE), Gigabyte, MSI или Asrock. Принцип будет тот же.

Куда подключается спикер на материнской плате

Для начала нужно проверить есть ли вообще в вашем системнике спикер. Может быть он просто молчит (не пищит). Тогда следует выяснить почему. Выглядит он как на фото сверху. Находится он обычно в самом низу материнки. Контакты с надписью Speaker или SPKR. Там же указана и полярность, плюс и минус. На самом спикере тоже. Либо один провод красный — это плюс, второй черный — минус, либо обозначениями (+) и (-). Если на МП не указаны, то левый — плюс, правый — минус.

Отлично. Теперь мы знаем как правильно подключить спикер к материнской плате и давайте сделаем это своими руками. В некоторых случаях приходится отсоединять какое-то оборудование, чтобы добраться до разъемов, например очень часто мешает видеокарта.

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

Читайте также:  что значит вручил ноту

Источник

Buzzer, он же зуммер, он же бипер

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

У меня данный функционал пропал некоторое время назад. Пропадал поэтапно, сначала звук становился тише, а затем исчез вовсе.

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

Согласно информации здесь владельцу помогла замена Buzzer assy-entry card, и он пишет, что деталь корродировала за зиму.

Деталь под номером 25640-1BA0B я нашел на фотографиях Slick в его записи о шумоизоляции багажника:

Моя текущая проблема заключается в том, что я не могу понять где конкретно искать деталь под номером 25640-1BA5A, а разбирать багажник просто так не хочется.

Замечу, что на FX данная деталь имеет номер 25640-4GA7E и находится спереди автомобиля, под фарой с пассажирской стороны. У меня ее там нет, и ничего что указывало бы на ее утерю там тоже нет.

Источник

Как правильно подключить переднюю панель к материнской плате

Зачастую человек, впервые (а бывает, что далеко и не в первый раз) собирающий компьютер, сталкивается с тем, что не знает, как правильно да и куда вообще подключать кнопки reset, power, LED-индикаторы, спикер, который издает писк при включении. Я покажу несколько примеров, по которым вы сможете понять принцип, как правильно подключается вообще любая передняя панель, расскажу некоторые секреты, которые использую сам в своей работе.

Ничего сложного в этом нет, если придерживаться простых правил и рекомендаций, о которых сейчас и пойдет речь.

Куда подключать коннекторы?

Этот раздел для тех, кто не в курсе, куда именно подключается передняя панель. Если это не про вас, переходите сразу к следующему разделу и читайте дальше.

Для начала давайте разберемся, как вообще выглядит то место на материнской плате, куда подключается передняя панель компьютера. Для наглядности просто хочу показать несколько фотографий, по ним вы легко определите, как выглядит этот разъем на материнской плате:

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

Как правильно подключить коннекторы передней панели?

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

Слева-направо на фото:

+MSG- (желтый цвет) – подключение индикатора работы компьютера;

+HD- (синий цвет) – подключение индикатора работы жесткого диска (HDD);

+PW- (красный цвет) – подключение кнопки питания (Power);

-RES+ (зеленый цвет) – подключение кнопки сброс (Reset);

+SPEAK- (оранжевый цвет) – подключение спикера (тот, который издает писк при включении);

Цвета здесь ничего не значат, просто производитель решил сделать такую разметку.

Правила подключения коннекторов:

Есть простые общие правила, используя которые, вы правильно и легко подключите коннекторы передней панели к материнской плате:

Но у меня все не так, и вообще нет подписей! Что мне делать??

Многие контактные площадки на современных ATX-платах имеют такой вид:

В таком случае лучше всего поискать инструкцию к материнской плате и найти там вот такой (или похожий) раздел:

+PWR_LED- – индикатор работы;

+HDD_LED- – индикатор работы жесткого диска;

PWR_SW – кнопка включения (Power);

RESET – кнопка «сброс»;

SPEAKER – спикер (та самая нудная пищащая хрень 🙂 )

Данная схема подключения передней панели используется для большинства современных ATX-плат.

Как подключить переднюю панель, если совсем ничего непонятно

Посмотрите на фото ниже:

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

Здесь есть два решения проблемы:

Решение номер раз:

Найти инструкцию к материнской плате и посмотреть, где и какие контакты. Гениально, правда? Кэп отдыхает

Решение номер два:

Если нет инструкции, то можно воспользоваться следующим способом: компьютер включается в электрическую сеть, а затем по очереди кратковременно замыкаются отверткой рядом стоящие пары контактов. Когда при очередном замыкании компьютер запустится, — та пара контактов и отвечает за кнопку включения (Power). Таким же способом находится кнопка сброс (reset), только уже при работающем компьютере (при замыкании контактов для кнопки Reset компьютер перезагрузится)

Индикаторы работы жесткого диска и работы компьютера придется уже искать методом «втыка», пока они не заработают.

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

Если у вас все еще остались вопросы – задавайте их в комментариях, не стесняйтесь — помогу чем смогу 🙂

Источник

Строительный портал