Заголовок сообщения: Вопросы использования шины IEEE-488 (GPIB)
Добавлено: Пт июл 14, 2017 05:33:55
Сверлит текстолит когтями
Карма: 15
Рейтинг сообщений: 212
Зарегистрирован: Вт мар 31, 2015 22:56:07 Сообщений: 1297 Откуда: Мы люди простые, живем в лесу, на пенек молимся
Рейтинг сообщения:0
IEEE-488 — спецификация международного стандарта, описывающая интерфейс подключения к шине цифровых измерительных приборов. Разработана Hewlett-Packard в конце 1960-х годов для использования в автоматизированном измерительном оборудовании (англ. automated test equipment, ATE) под названием интерфейсная шина Hewlett-Packard (англ. Hewlett-Packard Interface Bus, HP-IB).[1] В 1975 году стандартизирована американским Институтом инженеров электротехнической и электронной промышленности как IEEE-488, и до сих пор применяется в данном качестве. IEEE-488 также известна под названием «Интерфейсная шина общего назначения» (англ. General Purpose Interface Bus, GPIB), стандарт IEC-625 (МЭК 625.1), а также под другими названиями. В аналогичном советском стандарте ГОСТ 26.003-80 «Система интерфейса для измерительных устройств с байт-последовательным, бит-параллельным обменом информацией», называется «многопроводным магистральным каналом общего пользования».
В теме обсуждаются вопросы использования (ПО и т.п.) и DIY-реализации (самоделки) данного интерфейса, а также сопутствующие вопросы.
На основе http://egirland.blogspot.dk/2014/03/ard ... oller.html В Ардуино не только баги перечисленные на тамошнем форуме. Там ещё неправильная отработка ответа. Сейчас навскидку всё не вспомню, но пришлось играться с маской, сдвигом бит и обнулением старшего бита. Может в чём-то сейчас не прав, сравните мою прошивку, и исходник.
В любом случае - моя работает Самое весёлое - это Exel. С учётом того, что с каждой новой версией Microsoft всё больше обрезает функционал, то для сопряжения с последовательным портом пришлось помучиться. Но результат получен. Правда для этого надо инсталлировать в систему mscomm32.ocx. В архиве по вышеприведённой ссылке лежит выжимка В Exel-евском файлике (сыроват, но для образца пойдёт) сделаны кнопки включения и выключения дисплея мультиметра, отправка команд и чтение ответов, задание номера последовательного порта. А также чтение значений в цикле (выставляется период опроса в сек и задержка между запросом, и выводом в мсек, чтобы мультиметр успел ответить). Количество запросов (тактов) соответственно можно менять. В окошке (количество тактов) - то количество тактов, которое прошло. Задержку выставлять так (по минимуму), чтобы количество тактов заданных, и тех что прошло - совпадало (это если надо опрашивать часто). Если опрос редкий - то задержку можно поставить побольше.
Моя система: Имя ОС Microsoft Windows 7 Профессиональная Версия 6.1.7601 Service Pack 1 Сборка 7601 Microsoft Office Exel 2007 (12.0.4518.1014) MSO (12.0.4518.1014)
Ну и заодно, там же настройки serial monitor и putty для Advantest R6551 с Arduino Uno (ARDUINO GPIB firmware by E. Girlando Version 6.1 & serg-el ver. 6.3). download/file.php?id=288885
Ввиду безбожной стоимости соединительных кабелей - соответственно искал альтернативу. Итого: из импорта это centronics 24 pin male, а из наших РПМ7-24Ш-КП-В
Ввиду безбожной стоимости соединительных кабелей - соответственно искал альтернативу. Итого: из импорта это centronics 24 pin male, а из наших РПМ7-24Ш-КП-В
Сейчас купил по наводке 0xFF на Али метровый кабель Прийдет отпишусь
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Заголовок сообщения: Re: Вопросы использования шины IEEE-488 (GPIB)
Добавлено: Вт июл 18, 2017 11:29:46
Поставщик валерьянки для Кота
Карма: 68
Рейтинг сообщений: 3363
Зарегистрирован: Чт сен 09, 2010 07:32:24 Сообщений: 2267 Откуда: г. Рыбинск
Рейтинг сообщения:9
Завершил изготовление и тестирование USB-GPIB адаптера E. Girlando на базе Arduino Nano R3. Результат превзошёл мои ожидания. Даже с капризным мультиметром Advantest, который с адаптером Михаила Терентьева наотрез отказывался выдавать свои калибровочные коэффициенты в полном объёме, заработало всё и сразу.
Для удобства при распайке разъёма составил таблицу соединений:
Я протестировал адаптер с мультиметрами HP, Datron и Advantest, загрузив в Arduino авторский скетч. Он хотя и компилировался с множеством warning'ов из-за вольного обращения автора с NULL указателем, оказался полностью работоспособен. Проблему с неправильной отработкой ответа, о которой писал выше Сергей, я пока не обнаружил. Но стоит заметить, что разводка сигналов в его варианте отличается от авторской. В обсуждении адаптера по ссылкам выше имеется описание нескольких полезных доработок, которыми я не преминул воспользоваться: обработка сигнала SRQ и поддержка внешнего датчика температуры LM35 (автор jxl ), предварительная установка сигнала NRFD в процедуре read_h для устранения потери символов при чтении с быстрых приборов (автор Florian). Кроме того, для совместимости с контроллерами PROLOGIX и тем софтом, который их поддерживает, крайне необходимо сделать следующее: 1) в строке, которую возвращает процедура print_ver в ответ на команду ++ver, обязательно должны быть ключевые слова "GPIB-USB", "version" и номер версии в формате с точкой, например 6.1. 2) сигналы CTS и DSR в USB-RS232 конвертере на борту Arduino нужно притянуть к земле. В Nano R3 это выводы 9 и 10 чипа CH340G. 3) на плате Arduino необходимо отключить Auto Reset On Serial Connection. В Сети приводят много вариантов как это сделать, в том числе с помощью отключаемого перемычкой резистора на 100 Ом с reset на +5 В. У меня этот фокус не заработал, а подбирать номинал мне не захотелось. Поэтому я поступил кардинально: выпаял конденсатор 100 нФ, который соединяет reset и DTR. Делать это лучше всего после прошивки, чтобы не прибегать потом к ручному сбросу атмеги кнопкой.
Достоинства: + отсутствуют дорогие/долго доставаемые комплектующие (например, драйверы), не нужно заказывать печатную плату. + весь адаптер умещается в корпусе разъёма, можно отказаться от толстых шлангов GPIB кабелей и удлинителей. + совместимость с широко распространённым PROLOGIX. Недостатки: - не полная электрическая совместимость со спецификацией GPIB. - поддерживаются только базовые функции и режимы интерфейса. - малая пропускная способность. Теоретический потолок не более 10 кб/с. - несовместимость с продуктами от NI.
Заголовок сообщения: Re: Вопросы использования шины IEEE-488 (GPIB)
Добавлено: Вт июл 18, 2017 15:00:25
Поставщик валерьянки для Кота
Карма: 68
Рейтинг сообщений: 3363
Зарегистрирован: Чт сен 09, 2010 07:32:24 Сообщений: 2267 Откуда: г. Рыбинск
Рейтинг сообщения:3
Тестировал через терминал. KE5FX prologix.exe конфигуратор коробочку находит автоматом. Но что там ещё можно запустить, к примеру с HP 34401A, я не знаю. Скорее всего ничего. С польским даталоггером не работает (пока): не находит Prologix. По каким критериям он его ищет - неизвестно, проект не open source. К сожалению проект RFScientific Data Logger скомпилирован только под FTDI, а в Arduino Nano - CH340G С Keysight программами не проверял, работать не должен.
У KE5FX есть емулятор плоттера. Надо наверно писать поляку (он на eevblog тоже присутствует),мой адаптер на Silabs C8051F387, USB у него на борту (если выкинуть драйвера,то получается ещё меньше и ... ) , тоже не находит его Понимаю,что у Keysight громозкие программы,но там есть Connection Expert, может что-то можно "поковырять" ?
Михаил, я не знаю как у Вас заработала родная прошивка. Мою пришлось допиливать (отчасти по причине того что поменял разводку, отчасти из-за того что в программе ошибки). Смотрим: авторская, чтение DDRD = DDRD & 0b11001111 ; \задаём 4 и 5 биты порта D как входа PORTD = PORTD | 0b00110000; // PORTD bits 5,4 input_pullup \ выставляем HIGH на 4 и 5 бите порта D DDRC = DDRC & 0b11000000 ; \задаём 5,4,3,2,1,0 биты порта C как входа PORTC = PORTC | 0b00111111; // PORTC bits 5,4,3,2,1,0 input_pullup \ выставляем HIGH на 5,4,3,2,1,0 бите порта C return ~((PIND<<2 & 0b11000000)+(PINC & 0b00111111)); \а теперь внимание! читаем 6 и 7 биты порта D, сдвигаем влево на 2, читаем 5,4,3,2,1,0 биты порта C. \и складываем биты в один байт, затем весь байт инвертируем
Т.к. вычитываем все 8 бит, то 7-ой бит получается всё время в 1. Т.е. все символы ASCI получаются из верхней адресной половины таблицы. Для того чтобы увидеть вменяемый ответ, надо обнулить 7-ой бит.
Читаем PORTD, сдвигаем влево на 2, маскируем всё, кроме 6 и 7 битов (которые только что были соответственно 4 и 5-м), логически складываем с битами 0-5 прочитанного PORTC. Инвертируем. К примеру, если все биты прочитаны как 1, то после инверсии получим 00000000, и наоборот, если читаем все 0, то в результате 11111111. Ведь так?
Завершил изготовление и тестирование USB-GPIB адаптера E. Girlando на базе Arduino Nano R3. Результат превзошёл мои ожидания. Даже с капризным мультиметром Advantest, который с адаптером Михаила Терентьева наотрез отказывался выдавать свои калибровочные коэффициенты в полном объёме, заработало всё и сразу.
Недостатки: - не полная электрическая совместимость со спецификацией GPIB. - поддерживаются только базовые функции и режимы интерфейса. - малая пропускная способность. Теоретический потолок не более 10 кб/с. - несовместимость с продуктами от NI.
Поздравляю! Как всегда СУПЕР!!! Михаил, что за Advantest? Я таки доделал USB-GPIB Михаила Терентьева(НЕ RS232-GPIB!) Для моих задач не заметил разницы, но там надо под себя софт писать несовместимость с продуктами от NI Вот и пришлось купить NI PCI и PCMCIA А вот для NI есть NIVISA под питон,и из этого кроссплатформенность!
У KE5FX есть емулятор плоттера. Надо наверно писать поляку (он на eevblog тоже присутствует),...
Эмулятор плоттера KE5FX работает с довольно узким перечнем приборов, поддерживающих HP-GL/2, в основном анализаторами спектра. У меня таких нет и вряд ли будут когда-либо. Поэтому проверить не могу Автору RF Scientific Data Logger я написал. Как оказалось, мы с ним уже пересекались в прошлом году по вопросам нановольтметров. Из ответного письма следует, что проблема поддержки других USB-GPIB адаптеров актуальна и будет обсуждаться совместно с инженером-программистом перед выходом следующей версии программы. Однако основная сложность здесь - получить сами адаптеры для тестирования и отладки. Так что ИМХО это дело далёкого будущего.
В общем, если заказывать модуль Arduino для "USB-GPIB-за-час", то только с чипом FTDI, а не CH340 или каким-то другим. Не все программы общаются с адаптером, как с VCM. Есть и такие, которые используют прямой доступ через библиотеку ftd2xx.dll.
Китайский FTDI имел какие-то проблемы.... Может уже тогда собирать с нуля на Меге и нормальной FTDI. Михаил,к своему подцепить FTDI в обход CH340 не пробовали ?
Заголовок сообщения: Re: Вопросы использования шины IEEE-488 (GPIB)
Добавлено: Чт июл 20, 2017 12:46:10
Поставщик валерьянки для Кота
Карма: 68
Рейтинг сообщений: 3363
Зарегистрирован: Чт сен 09, 2010 07:32:24 Сообщений: 2267 Откуда: г. Рыбинск
Рейтинг сообщения:0
Я сделал несколько иначе. Подключил к компу свой самодельный калибратор с FTDI чипом. И, о чудо, RF Scientific его увидел и согласился работать даже не проверяя PROLOGIX ли это или просто USB шнурок
Михаил, а перевод строки у Вас работает? Мне пришлось добавлять, т.к. в терминале было неудобно. После чтения значения происходил перенос курсора к началу строки.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения