Шведская плита — технология строительства и утепления
«Утепленная шведская плита» (УШП) представляет собой монолитный плитный фундамент мелкого заложения, где плита снизу и по периметру окружена слоем теплоизоляции. Иными словами, монолитная железобетонная фундаментная плита устанавливается на слой теплоизоляции, а также утепляется слоем теплоизоляции по всей боковой поверхности.
Применение
УШП применяется, преимущественно, в малоэтажном строительстве на равнинных участках земли. Небольшая глубина позволяет возводить шведскую плиту практически на любых основаниях при любом уровне грунтовых вод, а благодаря утеплению со всех сторон грунт под таким фундаментом не промерзает и не пучинится.
Описание
Слой утеплителя плиты устанавливается на утрамбованной подушке из крупного песка или щебня (непучинистая подготовка грунта). При комбинации этих двух слоев грунт более мелкой фракции располагается над более крупным, оба они разделяются геотекстильным материалом. Для обеспечения нормальной работы УШП и предотвращения морозного пучения под этой подушкой предусматривается системы отвода грунтовых вод (дренажная система по периметру сооружения).
Инженерные коммуникации дома (водопровод, канализация, электроснабжение и т.д.) располагаются под слоем теплоизоляции.
Фундаментная плита образуется путем заливки бетона в «форму» из теплоизоляции. В плиту может быть интегрирована система подогрева пола, которая может служить для отопления дома. Теплоносителем в системе может служить горячая вода или антифриз (если зимой в помещении не будет возможности всегда поддерживать плюсовую температуру). В качестве отопительных трубопроводов могут использоваться практически все виды труб: стальные (из нержавеющей стали) металлопластиковые, медные, полипропиленовые, полибутиленовые и т.
д.Принципиальная схема устройства утепленной шведской плиты
В качестве теплоизоляции плитного фундамента, выполненного по технологии утепленной шведской плиты рекомендуется применять высокопрочные плиты из экструзионного пенополистирола ПЕНОПЛЭКС®ГЕО.
Преимущества ПЕНОПЛЭКС
®ГЕО применительно к УШП
- Коэффициент теплопров одности— 0,032 Вт/м•КОдин из самых низких среди утеплителей, применяемых в строительстве
- Высокая прочность Плиты ПЕНОПЛЭКС
®ГЕО обладают прочностью на сжатие не менее 0,30 МПа (30 т/м2) - Нулевое водопоглощение Стабильно высокие теплозащитные свойства.
- Удобство и безопасность монтажа Удобная геометрия плит, простота обработки и монтажа
- Монтаж при любых погодных условиях
- Г-образная кромка по всем сторонам плиты Позволяет плотно стыковать плиты без образования мостиков холода
- Абсолютная биостойкость Безопасна при контакте с водой и почвой. Не является матрицей для развития нежелательных микроорганизмов
- Безопасность Не содержит в составе мелкие волокна, пыль, фенолформальдегидные смолы, сажу, шлаки. Монтаж производится без средств для защиты органов дыхания
- Экологичность Безопасное сырье, изготовление по передовым бесфреоновым технологиям.
- Долговечность более 50 лет Протокол испытаний НИИСФ РААСН № 132-1 от 29.10.2001
Основные преимущества утепленной шведской плиты с применением теплоизоляции ПЕНОПЛЭКС
®ГЕО:- Устройство фундамента и прокладка инженерных коммуникаций выполняются на одной технологической стадии, что позволяет сократить сроки строительства.
- Высокоэффективная теплоизоляция ПЕНОПЛЭКС®ГЕО позволяет существенно сократить расходы на отопление дома и повысить эффективность системы «теплого пола»;
- Почва под утепленной плитой не промерзает, что сводит к минимуму риски возникновения проблем морозного пучения грунтов основания;
- Обустройство фундамента не требует тяжелой техники и специальных инженерных навыков.
Технология УШП с применением теплоизоляции ПЕНОПЛЭКС
Типичные ошибки при устройстве фундамента УШП — ТЕХНОНИКОЛЬ
Помимо наличия системы обогрева и полностью готового к отделке пола первого этажа, отличительная особенность технологии состоит также в том, что основание плиты составляет специально разработанный для этой системы высокопрочный утеплитель из экструзионного пенополистирола. Обогрев пола в союзе с качественным утеплением позволяет и вовсе обойтись без радиаторного отопления на первом этаже.
Достоинств у УШП много: это и скорость возведения, и универсальность (подходит практически для всех типов грунтов), и высокая тепловая инерционность. Но, пожалуй, одно из главных преимуществ фундамента, достигаемое за счет применения современного теплоизоляционного материала в конструкции, – его энергоэффективность. Потери тепла через Утепленную шведскую плиту минимальны, а способность накапливать тепло за время эксплуатации и вовсе позволяет не переживать даже в случае аварийного отключения отопления зимой.
Технология, появившаяся в США в 30-е годы прошлого столетия, в России только недавно отметила 10-летний юбилей. Недостаток опыта отечественных строителей иногда становится причиной ошибок при строительстве УШП.
Все начинается с основы
Строительство УШП, как, впрочем, и любого другого фундамента, заключается в грамотной подготовке основания. В случае с Утепленной шведской плитой оно должно быть ровным. Сложный рельеф и ландшафт с перепадами высот уже служат противопоказанием для строительства УШП.
После того как строители убедились, что участок подходит указанным требованиям, нужно приступить к выемке грунта. Этот этап некоторые считают несущественным и очень часто пренебрегают им, закладывая в свой фундамент мину замедленного действия. Плохая подготовка основы рано или поздно скажется на несущей способности фундамента.
Выемка грунта производится на 30–40 см, после чего котлован послойно засыпается щебнем и песком. При этом важно каждый слой отдельно пролить водой и протрамбовать виброплитой. А можно не трамбовать и не проливать? Здесь ответ звучит категорично: «Нет». Притоптать ногами, оставить на некоторое время под открытым небом, чтобы песок смочился дождевой водой и утрамбовался под собственным весом, – все это решения, в которых заложен максимальный риск потери прочности будущего плитного фундамента. Залог долговечности УШП – прочное основание.
Зачем УШП дренаж
Еще одна популярная ошибка при возведении УШП – отказ от дренажа. А между тем он выполняет очень важную функцию – отводит излишнюю воду от фундамента. В противном случае скопившаяся вода при замерзании и оттаивании будет то увеличиваться, то уменьшаться в объеме, вызывая тем самым подвижки грунта. А это в свою очередь вполне может стать причиной деформаций самого фундамента. Важно не пренебрегать дренажной системой независимо от типа грунта и уровня грунтовых вод.
Технология строительства УШП подразумевает не только устройство дренажа, но и наличие утепленной отмостки вокруг дома. В комплексе эти меры отводят воду от фундамента и служат хорошей профилактикой против воздействия сил морозного пучения.
Теплоизоляция любит счет
Расчет толщины теплоизоляционного слоя – один из самых важных этапов строительства УШП. Иногда по незнанию или в попытках сэкономить строители уменьшают толщину материала. В этом вопросе важно понимать, что наличие теплоизоляционного слоя связано не только с теплотехникой. Дело в том, что двуслойная укладка плит утеплителя позволяет, во-первых, уменьшить толщину железобетонной плиты, а значит, сократить расход бетонной смеси для ее возведения, а во-вторых, сформировать структуру фундамента. Именно с их помощью формируется конструкция, напоминающая перевернутый стакан, – с армированной лентой по периметру и армированной плитой сверху.
Уменьшение теплоизоляционного слоя просто не позволит справиться с данной задачей. Кроме того, благодаря плитам теплоизоляции весь тепловой поток уходит в помещение, а не в грунт.
Правила выбора утеплителя для УШП
При выборе теплоизоляции для УШП в первую очередь стоит обращать внимание на показатель прочности на сжатие. Учитывая, что утеплитель будет подвергаться колоссальным нагрузкам, он должен сохранить форму и свойства в течение всего срока эксплуатации. Материал, уложенный в ребрах жесткости, испытывает давление от самого фундамента и несущих конструкций дома.
В большинстве случаев для утепления УШП используется XPS (экструзионный пенополистирол). Это прочный материал с низким коэффициентом теплопроводности, устойчив к агрессивным средам, не боится воды. Практически нулевое водопоглощение принципиально важно, поскольку материал в течение всего срока эксплуатации находится под нагрузкой во влажных условиях. Не будем забывать, что утеплитель в конструктиве УШП укладывается непосредственно на грунт, а поверх него монтируется бетонная плита, которая также имеет определенную влагу.
Но и экструзионный пенополистирол в зависимости от сферы применения обладает разными прочностными характеристиками. Тот, что активно применяется для утепления полов, не подойдет в качестве теплоизоляции УШП. Существуют специальные марки, разработанные для применения в условиях повышенных нагрузок. Пример – XPS CARBON ECO SP. Он имеет особо высокую прочность на сжатие 400 кПа при 10 % деформации и 200 кПа при 2 % деформации.
Таким образом, ошибочный выбор утеплителя влечет за собой несколько серьезных проблем. Первая из них – это потеря теплоизоляционных свойств из-за намокания, это в том случае, если выбран материал, способный впитывать влагу. И вторая проблема связана с разрушением утеплителя, если его прочность оказалась ниже той, что требует технология.
Мостики холода – как не допустить при укладке утеплителя
Теплоизоляционный слой при устройстве УШП должен быть максимально однородным. Казалось бы, очевидный факт. Тем более что все для этого предусмотрено: материал с низким коэффициентом теплопроводности, монтаж в два слоя. Но тут важно помнить, что плиты XPS укладываются с разбежкой швов, именно такой способ повышает однородность теплоизоляции. В противном случае стыки станут пусть и небольшими, но все же мостиками холода. А вот при монтаже L – блоков перекрытие стыков осуществляется за счет L-кромок.
Плиты на замок
Также стоит обратить внимание на формирование L-блоков. Фактически L-блок – это утепленная несъемная опалубка. Соответственно, его необходимо делать из материала высокой прочности, монтировать так, чтобы избежать образования щелей. В противном случае при укладке бетона раствор начнет просачиваться через образовавшиеся зазоры. Если щель все же образовалась, то ее нужно устранить, например, при помощи клей-пены для экструзионного пенополистирола. L – блоки в обязательном порядке должны скрепляться специальными угловыми крепежами, поскольку это зоны, испытывающие дополнительную нагрузку. Иначе в процессе укладки бетонной смеси они вполне могут потерять проектное положение.
Еще немного о нюансах
Процесс устройства УШП соткан из деталей. Как и в любой стройке, каждая из них вносит свою лепту в обеспечение долговечности всей конструкции. Нужно помнить, что укладка бетонной смеси и работа с клей-пеной возможны только при положительных температурах.
Есть и другие детали, о которых следует помнить. Так, например, при укладке арматуры важно вязать ее на земле, а затем при переносе на слой из XPS устанавливать на специальные подставки, известные в профессиональной среде как «стульчики». Еще один важный нюанс касается укладки бетонной смеси – ее необходимо вибрировать, а также осуществлять по всей площади фундамента (не допускается частичная укладка в разное время), чтобы избежать холодных швов. Вибрирование позволяет улучшить прочностные показатели бетона за счет того, что устраняются лишние пузырьки воздуха.
УШП – один из самых энергоэффективных фундаментов. Внимание к деталям и правилам позволит в короткие возвести фундамент, который на долгие годы станет прочной и энергоэффективной опорой.
Что такое USB-устройство и как оно работает?
Что такое USB-устройство и как оно работает? Что такое USB-устройство?USB (универсальная последовательная шина) относится к любому устройству, которое может хранить данные во флэш-памяти со встроенным интерфейсом USB. USB-накопитель также известен как USB-ключ, USB-накопитель, USB-накопитель и другие названия. USB-накопители довольно малы по размеру, и большинство из них весит менее 35 граммов. USB-соединения обозначаются определенным символом вокруг разъема и порта. Некоторые из устройств, которые можно подключить с помощью USB-соединения, включают: веб-камеры, принтеры, цифровые камеры, внешние жесткие диски, мыши, клавиатуры и сканеры. Большинство USB-устройств можно легко подключить к компьютеру без перезагрузки. Флэш-накопители являются одним из самых популярных устройств «подключи и работай», которые широко используются во всем мире. Как только устройство подключено к компьютеру, ОС ПК автоматически определяет необходимые диски для отображения содержимого и файлов, хранящихся на диске. В отличие от кабелей Ethernet и HDMI, кабели USB поставляются с двумя типами разъемов; тип-А и тип-В. USB-устройства широко используются и поддерживаются большинством электронных гаджетов.
Восстановление данных на USB-накопителяхНесмотря на свой маленький размер, у USB-накопителей есть и свои недостатки. После того, как вы удалите документы и файлы на них, вы не сможете восстановить их обратно без помощи программы восстановления данных. Disk Drill может помочь вам восстановить удаленные файлы на вашем USB-устройстве. Есть несколько случаев, которые могут привести к потере данных на USB-накопителе. Случайное удаление — одна из самых распространенных ошибок, которую допускают пользователи при использовании своих USB-устройств. Повреждение диска или сбой диска требуют принятия технических мер и шагов для получения данных, которые были конфискованы устройством. Если у вас есть поврежденное USB-устройство, найдите авторитетную компанию по восстановлению данных, у которой есть необходимые профессиональные инструменты и специалисты, которые могут помочь вам восстановить файлы USB-устройства.
Как восстановить файл USB-устройства с помощью программы для восстановления данных Disk Drill- Загрузите версию Disk Drill Basic или PRO. Disk Drill доступен на платформах Windows и Mac OS X.
- Установите программное обеспечение на свой компьютер.
- Подключите USB-устройство к компьютеру, чтобы начать процесс восстановления USB-устройства.
- Запустите Disk Drill на своем ПК, прочитайте приветственное руководство, в котором даны полезные советы по восстановлению данных.
- Disk Drill отобразит все устройства, подключенные к вашему ПК. Найдите USB-накопитель и нажмите кнопку «Восстановить» рядом с ним.
- Disk Drill выполнит быстрое сканирование вашего диска или устройства. Если быстрое сканирование не увенчалось успехом, Disk Drill начнет всестороннее глубокое сканирование, которое тщательно просмотрит все ваши предыдущие удаленные файлы и вернет их обратно.
- После завершения сканирования Disk Drill отобразит все восстанавливаемые файлы. Сохраните все нужные файлы и выйдите из программы.
- Если у вас возникнут проблемы с нашим приложением для восстановления файлов USB-устройства, обратитесь в нашу службу поддержки клиентов, и вам помогут.
Артур Коул
Артур Коул — внештатный создатель контента. Также имеет более чем 10-летний опыт разработки программ для macOS, Windows, iOS, Android. Артур Коул — писатель с глубокими знаниями в области программирования, который может легко…
Прочитать полную биографию
Артур Коул — внештатный создатель контента. Также имеет более чем 10-летний опыт разработки программ для macOS, Windows, iOS, Android. Артур Коул — писатель с глубокими знаниями в области программирования, который может легко…
Прочитать полную биографию
Утверждено
Бреттом Джонсоном
Эта статья была одобрена Бреттом Джонсоном, инженером по восстановлению данных в ACE Data Recovery. Бретт имеет степень бакалавра в области компьютерных систем и сетей, 12-летний опыт работы.
Эта статья была одобрена Бреттом Джонсоном, инженером по восстановлению данных компании ACE Data Recovery. Бретт имеет степень бакалавра в области компьютерных систем и сетей, 12-летний опыт работы.
Связанные статьи
Попробуйте Disk Drill бесплатно
Ваш компаньон для восстановления удаленных файлов в Mac OS X 10.8.5+ и для Windows XP/Vista/7/8/10
USB-компонент: USB-устройство
В этой главе описывается структура программного обеспечения USB-компонента и его использование для создания приложений. Компонент USB-устройства упрощает разработку программного обеспечения систем микроконтроллеров, которые взаимодействуют с USB-хостом.
Атрибуты компонента USB-устройства:
- Поддерживает низкоскоростные, полноскоростные и высокоскоростные режимы.
- Поддерживает стандартные классы USB с несколькими экземплярами классов устройств.
- Поддерживает композитные устройства. Объедините классы USB-устройств, чтобы создать составное устройство.
- Поддерживает несколько USB-устройств на одном микроконтроллере с более чем одним контроллером USB-устройства.
- Обеспечивает реализацию функциональности USB-устройства.
- Предоставляет удобный файл конфигурации для каждого класса устройств для создания дескрипторов USB.
- Гибко назначает конечные точки USB периферийным устройствам USB микроконтроллера.
- Содержит примеры, демонстрирующие использование программного стека.
Для взаимодействия с хост-компьютером USB может потребоваться дополнительное программное обеспечение. На странице USB Host Computer Applications показан пример такого программного обеспечения, работающего на ПК с Windows.
На рисунке показана взаимосвязь между компонентами RTE и периферийным устройством USB микроконтроллера (контроллером USB). Компоненты RTE предоставляют файлы конфигурации и шаблоны пользовательского кода. Файлы конфигурации конфигурируют компоненты RTE, аппаратные интерфейсы, ресурсы памяти и параметры драйвера USB-устройства. Они могут влиять на несколько компонентов RTE (например, RTE_Device.h настраивает USB-контроллер 0 и Driver_USBD0). Шаблоны кода пользователя обеспечивают основу для реализации функций USB-устройства.
Серая область вокруг компонентов RTE USB Device 1 и Driver_USBD1, а также контроллера USB 1 означает, что эти компоненты являются необязательными и могут использоваться только в том случае, если устройство с микроконтроллером имеет несколько контроллеров USB. В этом случае класс USB-устройства может быть подключен к любому экземпляру USB-устройства.
Структура USB-устройства
Периферийные устройства USB-устройства могут иметь один или несколько из следующих классов USB-устройств:
- Класс аудиоустройства (ADC) используется для обмена потоковыми аудиоданными между USB-хостом и USB-устройством.
- Класс коммуникационных устройств (CDC) обеспечивает функциональные возможности виртуального коммуникационного порта для хоста USB.
- Human Interface Device (HID) обычно используется для реализации клавиатуры, джойстика или мыши. Класс HID также можно использовать для обмена данными с низкой пропускной способностью.
- Mass Storage Class (MSC) используется для подключения различных устройств хранения данных к USB-хосту. Носителем Mass Storage Class может быть SD-карта, внутренняя или внешняя флэш-память или RAM.
- Пользовательский класс используется для реализации стандартного или специфичного для поставщика класса USB-устройств.
Общую информацию о классах USB-устройств можно найти на странице одобренных спецификаций классов USB-IF.
Несколько экземпляров компонента RTE могут взаимодействовать с более чем одним USB-контроллером или могут реализовывать несколько классов USB-устройств. Экземпляры компонента RTE пронумерованы. Номер добавляется к имени компонента RTE, связанным файлам конфигурации и шаблонам пользовательского кода. Каждый компонент RTE имеет отдельный файл конфигурации. Например, для HID 0 и HID 1 файлы конфигурации имеют имя 9.0003 USB_Config_HID_0.h и USB_Config_HID_1.h .
- Примечание
- Параметры конфигурации по умолчанию предварительно настроены для одного экземпляра USB-устройства или класса USB-устройств в несоставном периферийном устройстве. Для других комбинаций настройки требуют редактирования , чтобы обеспечить правильную работу. В примере составного USB-устройства показано, как внедрить и настроить составное устройство
Шаги для создания приложения микроконтроллера, использующего USB-соединение с контроллером USB-устройства:
- Выберите компоненты RTE вместе с классами USB-устройств, которые необходимы для вашего приложения.
- Включите и настройте драйвер USB-устройства.
- Настройте USB-устройство, которое подключает ПО промежуточного слоя USB к периферийному устройству USB микроконтроллера.
- Настройте конфигурацию класса USB-устройств и параметры конечной точки USB для каждого выбранного класса и экземпляра USB-устройств.
- Настройте системные ресурсы в соответствии с требованиями к ресурсам компонента USB-устройства.
- Реализуйте код приложения, используя шаблоны кода, предоставленные для классов USB-устройств.
- Если этого требует ваше приложение, вы можете изменить дескрипторы USB-устройств по умолчанию.
- Выполните отладку приложения с помощью встроенных механизмов USB-компонента.
Для взаимодействия с хост-компьютером USB можно использовать стандартные драйверы классов устройств USB. Это может потребовать дополнительной разработки программного обеспечения для приложения USB Host. Здесь поясняется примерное приложение для взаимодействия с устройством USB HID.
Выбор компонента RTE
Для выбора компонента RTE необходимо выполнить всего несколько шагов:
- Из компонента USB:
- Выберите USB:CORE , который обеспечивает базовые функции, необходимые для связи по USB.
- Установите USB:Device на «1». Это создает одно USB-устройство для связи с USB-хостом.
- Выберите нужные классы USB (HID, MSC, CDC, ADC или пользовательский класс). Например, установите USB:Device:HID 9От 0004 до «1», чтобы создать одно устройство класса HID. Если вы выберете более одного класса или несколько экземпляров одного и того же класса на одном устройстве, вы создадите составное USB-устройство .
- Из компонента «Драйверы»:
- Выберите соответствующий драйвер USB-устройства, подходящий для вашего приложения.
- Из компонента устройства:
- В зависимости от результатов проверки могут потребоваться дополнительные драйверы для конкретных устройств.
- Из компонента CMSIS:
- Выберите CMSIS:CORE , чтобы обеспечить интерфейс ядра для процессора.
- Выберите подходящий CMSIS:RTOS или CMSIS:RTOS2 , необходимый для приложения.
Выбор компонента RTE
- Примечание
- Большинство микроконтроллеров имеют только один USB-контроллер, реализованный аппаратно, и доступен только один драйвер Driver_USBD0 . В этом случае только один USB:Устройство может быть выбрано для создания USB Device 0 .
- На одном USB-устройстве 0 может быть реализовано составное USB-устройство, объединяющее несколько классов USB-устройств.
- Если в микроконтроллере реализовано несколько контроллеров USB, можно сгенерировать дополнительное USB-устройство 1 , установив для USB:Device значение «2».
Драйвер и контроллер USB
Драйвер устройства USB и контроллер USB микроконтроллера должны быть правильно настроены. В частности, это означает:
- Драйвер USB-устройства, выбранный в компоненте «Драйверы», обычно настраивается с помощью файла конфигурации RTE_Device.h . Хотя этот файл предоставляет несколько параметров, обычно достаточно включить периферийное устройство USB, связанное с этим драйвером. Для некоторых микроконтроллеров могут потребоваться настройки, относящиеся к интерфейсу физического уровня (PHY). На картинке ниже показаны два возможных варианта. Либо USB PHY интегрирован в контроллер, либо используется внешний чип для обеспечения сигнальных линий USB:
Контроллер USB и настройки PHY
- Контроллер USB микроконтроллера обычно требует определенных настроек часов. Обратитесь к руководству пользователя микроконтроллера, чтобы понять требования. В качестве альтернативы вы можете скопировать настройку примера USB-устройства (в случае, если настройка вашего оборудования аналогична настройке выбранных оценочных плат).
Конфигурация USB-устройства
Файл конфигурации USBD_Config_ n . c указан в окне проекта в разделе «Компонент USB» и содержит ряд важных настроек для конкретного USB-устройства.
- Номер Driver_USBD# устанавливается в соответствии с выбранным контроллером USB. Это указывает, какой драйвер будет использоваться для USB-устройства, определяющего распиновку. Для одиночных контроллеров USB-устройств это будет «0».
- Высокоскоростной можно выбрать, если он поддерживается контроллером USB.
- Для Vendor ID (VID) необходимо установить частный VID. Идентификатор поставщика по умолчанию принадлежит Keil и не может использоваться для реальных продуктов. Пожалуйста, посетите USB-IF для получения дополнительной информации о том, как подать заявку на получение действительного идентификатора поставщика.
- Для каждого варианта устройства требуется уникальный Product ID . Вместе с VID он используется операционной системой хост-компьютера для поиска драйвера для вашего устройства.
- Номер выпуска устройства будет отображаться в системах Windows и Linux как «Версия микропрограммы». Число будет интерпретироваться как «двоично-десятичное число», что означает, что 0x0101 будет отображаться как версия микропрограммы 1.01.
- Производитель , Продукт и Серийный номер Номер Строка могут быть установлены для идентификации USB-устройства на USB-хосте.
Дополнительные параметры конфигурации USB-устройства см. в разделе Конфигурация ядра USB.
- Примечание
- Вы можете настроить USB-устройство во время выполнения, используя функции основного API-интерфейса USB-устройства. Подробности описаны в разделе Ядро USB-устройства. Реализуйте определенное поведение во время выполнения с помощью шаблона пользовательского кода USBD_User_Device_n.c.
Конфигурация класса USB-устройств и настройки конечной точки USB
Параметры класса USB-устройств и настройки конечной точки настраиваются в отдельных файлах для каждого класса USB-устройств и отдельно для каждого экземпляра. Файлы конфигурации содержат номера настроек конечной точки для конкретного класса устройств и перечислены в окне проекта в разделе USB-компонента.
- USBD_Config_ADC_ n .h конфигурация для класса аудиоустройства (ADC).
- USBD_Config_CDC_ n .h конфигурация для класса коммуникационных устройств (CDC).
- USBD_Config_HID_ n .h Конфигурация для класса устройств интерфейса пользователя (HID).
- USBD_Config_MSC_ n .h конфигурация для класса запоминающих устройств (MSC).
- USBD_Config_CustomClass_ n .h Конфигурация для пользовательского класса.
Каждую конечную точку USB можно использовать только один раз на одном устройстве USB. Необходимо убедиться, что разные классы USB-устройств или несколько экземпляров одного и того же класса USB-устройств используют разные конечные точки. Конфигурация по умолчанию поддерживает приложения, использующие один класс USB-устройств. Остальные параметры являются специальными настройками, которые настраивают параметры скорости связи USB и класса USB-устройства.
Конфигурация системных ресурсов
Для правильной работы компонента USB-устройства требуются некоторые настройки конфигурации системы. Требования:
- Дополнительный стек размер 512 байт . Это можно настроить в файле устройства (
Stack_Size
). - Компонент USB-устройства использует потоки CMSIS-RTOS. В случае использования RTX v5 никаких изменений в настройках RTX не требуется, так как все ресурсы распределяются статически. В случае Используется RTX v4 , вам необходимо изменить следующие настройки в файле:
- Увеличить Количество одновременно работающих пользовательских потоков на количество потоков, требуемых USB-устройством
- Увеличьте Количество потоков с предоставленным пользователем размером стека на количество потоков, требуемое USB-устройством
- Увеличить Общий размер стека [байт] для потоков с заданным пользователем размером стека на размер потоков, требуемый USB-устройством
- Включить Пользовательские таймеры , если используется класс HID
Для получения дополнительной информации см. раздел «Требования к ресурсам» компонента USB-устройства.
Реализация кода пользователя
Файлысодержат шаблоны функций, используемые для реализации функций класса USB-устройств. Доступные функции объясняются в разделе «Справочник» USB-компонента. Эти подпрограммы могут быть адаптированы к потребностям приложения микроконтроллера, если требуется функциональность, отличная от стандартной.
Для компонента USB-устройство доступны следующие шаблоны:
Имя шаблона | Назначение |
---|---|
USBD_User_ADC_n.c | Необходимые функции для создания устройства ADC. |
USBD_User_CDC_ACM_n.c | Необходимые функции для создания устройства CDC (ACM). |
USBD_User_CDC_ACM_RNDIS_VETH_n.c | Необходимые функции для создания виртуального Ethernet-устройства CDC (ACM) RNDIS. |
USBD_User_CDC_ACM_RNDIS_ETH_n.c | Необходимые функции для создания CDC (ACM) RNDIS и устройства моста Ethernet (Ethernet-через-USB). |
USBD_User_CDC_ACM_UART_n.c | Необходимые функции для создания устройства CDC (ACM), демонстрирующего мост USB <-> UART. |
USBD_User_CDC_NCM_n.c | Необходимые функции для создания устройства CDC (NCM). |
USBD_User_CDC_NCM_ETH_n.c | Необходимые функции для создания устройства CDC (NCM) (Ethernet-over-USB). |
USBD_User_CustomClass_n.c | Необходимые функции для создания устройства, поддерживающего пользовательский класс USB-устройств. |
USBD_User_Device_n.c | Необходимые функции для оперативной конфигурации USB-устройства. |
USBD_User_SerNum_n.c | Пример конфигурации во время выполнения: изменение серийного номера USB-устройства. |
USBD_User_HID_n.c | Необходимые функции для создания HID-устройства. |
USBD_User_HID_Mouse_n.c | Реализует функции для создания устройства USB HID, действующего как устройство ввода указателя мыши. |
USBD_User_MSC_n.c | Необходимые функции для создания устройства MSC. |
USBD_MSC_n.c | Показывает, как получить доступ к носителю либо из приложения/файловой системы, либо с хоста USB. |
Изменение дескрипторов USB по умолчанию
Если к дескрипторам USB предъявляются другие требования, чем позволяет компонент USB, пользователь может изменить любой или все дескрипторы USB по умолчанию. Дескрипторы по умолчанию — это те, которые создаются библиотекой на основе настроек файла конфигурации устройств и классов и находятся в памяти кода.
Дескрипторы можно изменить двумя из следующих способов:
- Статическое изменение
Можно выполнить статическое изменение дескрипторов для замены дескрипторов по умолчанию, если они не будут изменяться во время выполнения. Дескрипторы могут быть легко переопределены пользовательским кодом путем создания дескрипторов с тем же именем.
USB Device Descriptor | Purpose |
---|---|
const uint8_t usbdn_ep0_descriptor [] | Control Endpoint 0 descriptor |
const uint8_t usbdn_device_descriptor [] | USB Device descriptor |
const uint8_t usbdn_string_descriptor [] | String descriptors |
const uint8_t usbdn_device_qualifier_fs [] | Device qualifier for низкая/полная скорость |
const uint8_t usbdn_device_qualifier_hs [] | Device qualifier for high-speed |
const uint8_t usbdn_config_descriptor_fs [] | Configuration descriptor for low/full-speed |
const uint8_t usbdn_config_descriptor_hs [ ] | Дескриптор конфигурации для высокой скорости |
const uint8_t usbdn_other_speed_config_descriptor_fs [] | Other speed configuration descriptor for low/full-speed |
const uint8_t usbdn_other_speed_config_descriptor_hs [] | Other speed configuration descriptor for high-speed |
- Note
-
n
вusbdn_
представляет экземпляр USB-устройства. Таким образом, для экземпляра USB-устройства 0 вы должны использоватьusbd0_
… .
-
Пример кода
// Статически изменение USB Device 0 Descriptor
const uint8_t usbd0_device_descriptor [] = {
18u, // blength = 7 bytes
1U 1 Тип
0U,2U, // bcdUSB = 2.00 (little-endian)
0U, // bDeviceClass = 0 = Определено в интерфейсе
0U, // bDeviceSubClass = 0 = Определено в интерфейсе
0U, // bDeviceProtocol = 0 = Определено в интерфейсе
64U, // bMaxPacketSize = 64
0x51U,0xC2U, // idVendor = 0xC251 (little-endian)
0x34U,0x1234, // 0x1234, // -endian)
0U,1U, // bcdDevice = 1.00 (little-endian)
0U, // iManufacturer = 0 = Нет строки производителя
0U, // iProduct = 0 = Нет строки продукта
0U, / / iSerialNumber = 0 = Нет строки серийного номера
1U // bNumConfigurations = 1 = 1 конфигурация
};
- Динамическое изменение
Динамическое изменение дескрипторов может быть выполнено для изменения дескрипторов во время выполнения. Структура
usbd_desc_t содержит необходимую информацию. Он хранится в оперативной памяти и содержит указатели на дескрипторы USB. Если вы измените указатели в структуре на точку на внешне созданные, вы можете изменить дескрипторы во время выполнения.
Фактические имена переменных структур, содержащих указатели дескрипторов: usbdn_desc
(n указывает номер экземпляра USB-устройства). В следующем примере кода показано, как переопределить дескриптор устройства для USB-устройства 0 ( usbd0_desc
):
Пример кода
// Динамическое изменение дескриптора устройства USB-устройства 0
= {const uint8_t dev0[]
18U, // bLength = 7 байт
1U, // bDescriptorType = 1 = Тип дескриптора устройства 0 = Определено в интерфейсе
0U, // bDeviceProtocol = 0 = Определено в интерфейсе
64U, // bMaxPacketSize = 64
0x51U,0xC2U, // idVendor = 0xC251 (little-endian)
0x12U, 0x12U36,,
, /idProduct=0x1234 (с прямым порядком байтов)
0U,1U, // bcdDevice = 1. 00 (little-endian)
0U, // iManufacturer = 0 = Нет строки производителя
0U, // iProduct = 0 = Нет строки продукта
0U, // iSerialNumber = 0 = Нет строки серийного номера
1U // bNumConfigurations = 1 = 1 конфигурация
};
внешний usbd_desc_t usbd0_desc;
int main (void) {
…
usbd0_desc.device_descriptor = (uint8_t *)dev0_device_descriptor;
…
}
- Примечание
- Для изменения только строки серийного номера используйте функцию USBD_SetSerialNumber!
- Для устройств, не поддерживающих высокую скорость, следующие дескрипторы не важны:
- Дескриптор квалификатора устройства для низкой/полной скорости
- Дескриптор квалификатора устройства для высокоскоростного
- Дескриптор конфигурации для низкой/полной скорости
- Дескриптор конфигурации для высокоскоростного
- Другой дескриптор конфигурации скорости для низкой/полной скорости
- Другая скорость Дескриптор конфигурации high-speed
Отладка
Компонент USB-устройства распространяется в виде библиотеки и не допускает прямой отладки кода. Однако его можно легко настроить для генерации событий отладки и обеспечения динамической видимости работы компонента.
Для компонента USB:CORE в окне Manage Run-Time Environment можно выбрать следующие варианты:
- Отладка : этот вариант поддерживает аннотации событий для и позволяет очень легко анализировать внутреннюю работу компонента USB-устройства во время отладки приложения. Ниже в разделе «Поддержка регистратора событий» объясняется, как настроить и использовать этот вариант.
- Выпуск : этот вариант не включает дополнительный код отладки. Используйте этот вариант при развертывании приложения.
На рисунке ниже показан выбор варианта Debug .
USB-устройство: события отладки описывает события, реализованные в компоненте USB-устройства.
Event Recorder Support
— это мощный инструмент, обеспечивающий видимость динамического выполнения программы.
Компонент USB-устройства генерирует широкий набор событий отладки для регистратора событий и реализует необходимую инфраструктуру для взаимодействия с ним.
Для использования регистратора событий необходимо создать образ с поддержкой генерации событий. Необходимые шаги:
- : в диалоговом окне управления RTE выберите Debug 9Вариант 0004 для программного компонента USB:CORE .
- : в диалоговом окне управления RTE включить программный компонент Compiler:Event Recorder .
- Убедитесь, что регистратор событий инициализирован предпочтительно, если используется CMSIS-RTOS2 RTX v5, или, в качестве альтернативы, вызовом функции в коде приложения.
- Конфигурация регистратора событий: при необходимости измените конфигурацию регистратора событий по умолчанию.
- Создайте код приложения, загрузите его на целевое оборудование и запустите сеанс отладки.
Теперь, когда USB-устройство генерирует информацию о событии, ее можно просмотреть в формате .
Конфигурация регистратора событий
В этом разделе описываются параметры конфигурации регистратора событий. Для использования требуется вариант отладки программного компонента USB:CORE ; обратитесь к разделу Поддержка регистратора событий для получения дополнительной информации.
Конфигурация генерации событий USB
Выбор варианта отладки USB:CORE добавит файл USB_Debug.c
в свой проект. Используйте этот файл, чтобы настроить конфигурацию генерации событий для ядра USB, драйверов и классов устройств отдельно. Файл доступен для компонентов USB-устройства и хоста.
Файл USB_Debug.c для конфигурации генерации событий
Следующие настройки доступны для конфигурации генерации событий каждого модуля:
- Выкл. означает, что модуль не будет генерировать события
- Ошибки означает, что модуль будет генерировать только события ошибок
- Ошибки + API означает, что модуль будет генерировать события ошибок и вызовов API.
- Все означает, что все доступные события будут генерироваться модулем.