Скачать 82.45 Kb.
|
Пакет «Домашняя лаборатория» Данный документ описывает структуру пакета Домашняя лаборатория.zip и принципы работы с устройствами, водящими в программно-аппаратный комплекс «Домашняя лаборатория». Структура пакета «Домашня лаборатория»Пакет «Домашняя лаборатория» содержит следующие файлы:
ВведениеУстройства, входящие в «Домашнюю лабораторию» (далее по тексту – устройства), являются простейшими низкоскоростными USB устройствами (Low Speed USB devices), принадлежащими к HID-классу. Данный класс поддерживается практически всеми современными операционными системами, что исключает необходимость разработки и установки специализированных драйверов. Более того, программное обеспечение, реализующее взаимодействие ПК с устройствами может быть написано практически в любой среде программирования (Builder, Delphi, Code vision) – достаточно использовать любую библиотеку для работы с HID. В устройствах используется драйвер V-USB от OBJECT DEVELOPERS. Все устройства имеют следующие идентификаторы:
Для однозначной идентификации устройств используются: VendorNane = «www.masterkit.ru» ProductName = для самописца – «MP730» для генератора – «MP731» для частотомера – «MP732» Принцип взаимодействия устройств с ПК Не углубляясь в подробности работы USB интерфейса (официальную спецификацию которого можно изучить на сайте http://www.usb.org/developers/docs/), опишем принципы взаимодействия устройств с персональным компьютером (хост, в терминологии спецификации). После подключения устройства к шине USB и инициализации хост может запрашивать данные с помощью IN-репортов Get Feature или передавать данные с помощью OUT-репортов Set Feature. В соответствии со спецификацией, инициатором обмена всегда является хост. Репорты представляют собой блоки данных, имеющие фиксированный размер. В нашем случае размер блока данных равен 8-ми байтам. Данные, входящие в блок, структурированы. Структура данныхДанные репорта структурированы следующим образом: struct ul_dataexchange_struct{uchar command; // команда (номера команд приведены всписке ниже)uchar counter; // счетчик командuchar data[5]; // данные (структурированные)uchar check; // проверочный байт ==( сумма data[i] ) ^ 0xFFvoid CountCheck ( void ){check = ( data[0]+data[1]+data[2]+data[3]+data[4] ) ^ 0xFF;};bool CheckGood ( void ){if ( check == ( data[0]+data[1]+data[2]+data[3]+data[4] ) ^ 0xFF ){return true;}else{return false;}};};Поле commandПоле command содержит код команды из нижеприведенного списка: #define COM_NULL 0x00 // пока не используется #define COM_ERROR 0xFF // пока не используется #define COM_IN_MAIN_DATA 0x01 // получить основные данные от устройства #define COM_OUT_MAIN_DATA 0x02 // послать основные данные устройству #define COM_IN_RAM_DATA 0x03 // получить значение ячейки ПЗУ устройства #define COM_OUT_RAM_DATA 0x04 // записать значение ячейки ПЗУ устройства #define COM_IN_EEPROM_DATA 0x05 // получить значение ячейки ОЗУ устройства #define COM_OUT_EEPROM_DATA 0x06 // записать значение ячейки ОЗУ устройства Поле counterПоле counter содержит счетчик команд (используется в примере) или любое другое значение на усмотрение разработчика. Устройства копируют поле counter OUT-репорта в одноименное поле следующего IN-репорта, позволяя тем самым, отслеживать порядок работы связки хост-устройство. Поле dataПоле data содержит массив полезной информации. Этот массив структурируется в зависимости от типа устройства и команды. Основные структуры данныхОсновные структуры предназначены для приема/передачи характерных данных для каждого из устройств. Структуры самописцаНиже представлены структуры, применяемые к изделию MP730. // структура данных для управления самописцем struct ul_logger_out_main_data { uchar csr; // регистр управления и статуса short reserved1; // зарезервировано short reserved2; // зарезервировано }; // структура данных самописца в 10-ти битном режиме // используется, если бит LOGGER_CSR_RES == 0 в регистре управления и статуса struct ul_logger_in_main_data_10bit { uchar csr; // значение регистра управления и статуса short adcval1; // а) в режиме пикового детектора - минимальное значение на периоде опроса выбранного канала б) в нормальном режиме - значение АЦП 1-го канала short adcval2; // а) в режиме пикового детектора - максимальное значение на периоде б) опроса выбранного канала в нормальном режиме - 10-ти битное значение АЦП 2-го канала }; // структура данных самописца в 8-ми битном режиме // используется, если бит LOGGER_CSR_RES == 1 в регистре управления и статуса struct ul_logger_in_main_data_8bit { uchar csr; // значение регистра управления и статуса uchar adcval1_low; // а) в режиме пикового детектора - минимальное значение на периоде опроса 1-го канала б) в нормальном режиме - значение АЦП 1-го канала uchar adcval1_high; // а) в режиме пикового детектора - максимальное значение на периоде опроса 1-го канала б) в нормальном режиме - значение == 0x00 uchar adcval2_low; // а) в режиме пикового детектора - минимальное значение на периоде опроса 2-го канала б) в нормальном режиме - значение АЦП 2-го канала uchar adcval2_high; // а) в режиме пикового детектора - максимальное значение на периоде опроса 2-го канала б)в нормальном режиме - значение == 0x00 }; Структуры генератораНиже представлены структуры, применяемые к изделию MP731. // структура данных для управления генератором // выбор осуществляется в соответствии с битом GENERATOR_CR_OUT_NUM в регистре управления struct ul_generator_out_main_data_1ch { uchar cr; // регистр управления uchar TCCR0Ar; // регистр TCCR0A uchar TCCR0Br; // регистр TCCR0B uchar OCR0Ar; // регистр OCR0A uchar reserved0; // зарезервировано }; struct ul_generator_out_main_data_2ch { uchar cr; // регистр управления uchar TCCR1r; // регистр TCCR1 uchar GTCCRr; // регистр GTCCR uchar OCR1Сr; // регистр OCR1С uchar PLLCSRr; // регистр PLLCSR. доступны биты LSM и PCKE }; // структуры данных от генератора struct ul_generator_in_main_data { uchar cr; // регистр управления int reserved0; // зарезервировано int reserved1; // зарезервировано }; // значения битов регистра управления генератора #define GENERATOR_CR_OUT1_TYPE 0 // 0 - генератор, 1 - управление с ПК #define GENERATOR_CR_OUT2_TYPE 1 // 0 - генератор, 1 - управление с ПК #define GENERATOR_CR_OUT1_VALUE 2 // 0 - LOW, 1 - HIGH (активно при управлении с ПК) #define GENERATOR_CR_OUT2_VALUE 3 // 0 - LOW, 1 - HIGH (активно при управлении с ПК) #define GENERATOR_CR_OUT3_VALUE 4 // 0 - LOW, 1 - HIGH (активно при управлении с ПК) #define GENERATOR_CR_OUT_NUM 5 // 0 - настройки генератора OUT1, 1 - настройки генератора OUT2 Структуры частотомераНиже представлены структуры, применяемые к изделию MP732. // структура данных частотомера struct ul_frequencymeter_in_main_data { uchar sr; // регистр статуса, значения битов описаны ниже unsigned long frequency; // измеренная частота }; // значения битов регистра статуса частотомера #define FREQUENCYMETER_SR_INPUT 0 // состояние дополнительного входа Структура данных для чтения/записи ячеек RAM и EEPROMОбщей для всех устройств является структура данных для чтения/записи ячеек памяти. С ее помощью можно считывать и записывать ячейки RAM и EEPROM основного микроконтроллера (ATTiny45). Структура имеет следующий вид: // структура данных для чтения/записи ячеек памяти устройств struct ul_data_struct { short addr; // адрес ячейки uchar data; // содержание ячейки uchar reserved0; // зарезервировано uchar reserved1; // зарезервировано }; Диапазон адресов доступный для записи в RAM – [0х0051..0x0051] = OSCCAL (внутренний регистр) Диапазон адресов доступный для записи в EEPROM – [0x0010..0x00FF] Функция чтения доступна для всех возможных адресов ячеек памяти. Поле checkПоле check обеспечивает дополнительный уровень защиты при передаче данных, несмотря на то, что пакеты, передаваемые по USB интерфейсу, уже содержат контрольную сумму (CRC). Это поле также подтверждает, что полезные данные сформированы хостом либо устройствами адекватно. Поле check вычисляется как сумма элементов массива data[] с последующей операцией XOR. На языке высокого уровня check = (data[0]+…+data[4]) ^ 0xFF. |
План лекции Язык sql в субд. Структура команды sql. Типы данных. Выражения База данных (БД) – это информационная модель объекта – именованная совокупность данных, отображающая состояние объектов, их свойства... |
Пермский филиал Факультет бизнес-информатики Кафедра информационных... Данные гис – данные, полученные в результате геофизического исследования скважин. Синоним к термину «Каротажные данные» |
||
Руководство по программированию содержание Вся информация по технике безопасности, которая предоставлена в данной инструкции по эксплуатации, изложена следующим образом |
Перед применением эфирного масла внимательно прочитайте в инструкции... Индивидуальная непереносимость эфирных масел может проявляться следующим образом |
||
Положение по организации и проведению работ по обеспечению безопасности... Структура организационной системы обеспечения безопасности персональных данных 27 |
Обработка автоматических коробок передач любых типов производится следующим образом Тщательно перемешайте флакон с составом, так чтобы осадок на дне распределился по всему объему жидкости |
||
Запуск программы Запустит программу можно через ярлык на рабочем столе «Программа арм егаис». Главное окно программы выглядит следующим образом |
Инструкция по управлению сайтом Для того, чтобы зайти в систему администрирования нужно набрать /mod/admin после адреса Вашего сайта. Адрес должен выглядеть следующим... |
||
Противовирусные препараты В медицинской практике существует определенное разделение всех лекарств по механизму воздействия и происхождению. Согласно ему противовирусные... |
Инструкция по настройке icq с внутренним ip адресом Запускаем icq Меняем настройки следующим образом: Хост (Host): login icq com, порт (port): 443 |
||
Однокомпонентный нпу polynor предназначен для теплоизоляции и звукоизоляции Поставляется полинор в готовых баллонах по 890 мл, которые, в плане ценового диапазона, сегодня, доступны каждому. Использовать данный... |
Словарь терминов процессуальной работы Составитель Дж. М. Ривар Каждый термин взят из одной или более публикаций, перечисленных в Библиографии в конце словаря. Для идентификации каждого источника... |
||
Содержание Введение Глава Основные понятия бд и субд данные и ЭВМ Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами... |
Функциональные и технические требования Вся работа с базой данных, объектными данными, исполнение запросов – выполняется на стороне сервера. Тонкий клиент получает готовые... |
||
Центр «Карьера» учебно-программная документация для подготовки по профессии «кладовщик» Если же говорить более конкретно, то задачи кладовщика можно сформулировать следующим образом: Прием, размещение на складе и отпуск... |
Руководство пользователя включает в себя Супд) электронной навигационной карты Ярославской области (энк). В состав данных входят как базовые пространственные данные, так... |
Поиск |