Заголовок сообщения: Re: Программирование DMA для LPT - как?
Добавлено: Ср окт 20, 2010 08:47:46
Поставщик валерьянки для Кота
Карма: 66
Рейтинг сообщений: 3189
Зарегистрирован: Чт сен 09, 2010 07:32:24 Сообщений: 2175 Откуда: г. Рыбинск
Рейтинг сообщения:0
ARV писал(а):
вы сделайте лог работы вашей утилитки в течение пары секунд хотя бы, т.е. чтобы прошло время, в течение которого винда обязательно прервет работу виртуальной машины для своих нужд... вот тогда и посмотрим, насколько точно из-под виртуальной DOS временные интервалы отрабатываются...
Мне-то это зачем? Разве я утверждал, что в VDM точно отрабатываются временные интервалы? Я лишь хочу сказать топикстартеру, что с дискретностью 10 мкс читать байты можно только в ОС жёсткого реального времени, к коим NT не относится. А вот в DOS - элементарно. Например, просто перепрограммировав системный таймер на 100000 Гц (даже на 386 такое использовалось в MOD/STM-плеерах). ECP DMA - это тупиковый вариант, потому, как передачи блочные, DMA timeout никто не отменял, так что про 10 мкс перерывы речь, ИМХО, не может идти.
P.S. В Сети обнаружил вопрос про ECP DMA на англоязычном форуме в 2008 году, слово в слово дублирующий первый пост этой темы, только на английском. Забавно
P.S. В Сети обнаружил вопрос про ECP DMA на англоязычном форуме в 2008 году, слово в слово дублирующий первый пост этой темы, только на английском. Забавно
Заголовок сообщения: Re: Программирование DMA для LPT - как?
Добавлено: Ср окт 20, 2010 21:20:51
Поставщик валерьянки для Кота
Карма: 66
Рейтинг сообщений: 3189
Зарегистрирован: Чт сен 09, 2010 07:32:24 Сообщений: 2175 Откуда: г. Рыбинск
Рейтинг сообщения:0
Ссылку не привёл, т.к. там нет ничего, что можно было бы добавить к моему последнему посту. Уверен, что Вы проводили поиск и по зарубежным форумам, но всё же вот пара интересных: http://www.osronline.com/showthread.cfm?link=141095 http://us.generation-nt.com/answer/best-way-access-parallel-port-help-27721972.html Примеры программирования ECP есть в книге "Parallel Port Complete: Programming, Interfacing, & Using the PC's Parallel Printer Port" Jan Axelson. Подробное описание особенностей реализации DMA пересылок есть в "Extended Capabilities Port: Specifications Cover Letter" http://www.fapo.com/files/ecp_reg.pdf В линуксовых исходниках драйвера parport тоже всё достаточно внятно описано.
P.S. За ночь всё-таки придумал вариант, как можно реализовать опрос с тактом в 10 мкс и передачей в буфер через DMA. Но если нет опыта написания драйверов уровня ядра - нет смысла связываться с этим.
можно попытаться сделать так: настроить порт в режим ECP или EPP (я что-то подзабыл, какой из них умеет работать в DMA-режиме) и использовать для обращения к LPT системную функцию для блочного чтения файла. в вашем девайсе надо будет предусмотреть подачу строба "данные готовы" (в соответствии с протоколом ECP/EPP) с периодом 10 мкс, тогда все остальное драйвер Windows сделает сам автоматичеси.
другие способы, имхо, не помогут...
Совершенно с Вами согласен насчет обращения с LPT как файлом из Windows и насчет строба, но не понятно, как объяснить Винде режим ЕCР? По моему, этот режим выбирается прозрачно в диалоге драйвера и ПУ (печатающего устройства), возникает тонкий момент, как Винде объяснить что к разъему подключено ЕCР устройство?
_________________ "Every profession is a conspiracy against the uninitiated" (B. Shaw) "A textbook can be defined as a book unsuitable for reading" (B. Shaw) Tautology is humor in "this" place (Vigo Carpathian)
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения