nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 29 Mar 2024 05:51



Reply to topic  [ 35 posts ]  Go to page Previous  1, 2, 3  Next
Магнитофонный интерфейс для PC 
Author Message
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
а, тогда ок.

ну а почему реалом нельзя сдампить ленту, а блоки сохранить как файлы? переименовывать все автоматом может не получиться.


06 Dec 2012 02:53
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
MC68k wrote:
а, тогда ок.

ну а почему реалом нельзя сдампить ленту, а блоки сохранить как файлы? переименовывать все автоматом может не получиться.

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


Last edited by HardWareMan on 05 Jan 2014 07:12, edited 1 time in total.



06 Dec 2012 05:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
ОК, а теперь, мистер эмуляторщик, напиши прожку, которая под многозадачностью будет нормально отмерять временные интервалы (312мкс для 2400 и 625мкс для 1200) и не терять битики. Впрочем, под DOS это тоже довольно-таки проблематично, но более вероятно, если управлять прерываниями. Или ты думаешь, что я не изучал данный вопрос настолько глубоко? Я, между прочим, делал выгружалку под DOS, которая все делала верно за счет таймера (сбивая часы DOS лол).

Я сразу увидел, что глубоко ты этот вопрос не изучал, хотя и вроде как программёр
на Дельфи... Ну ты посещай иногда ваше "Королевство Дельфи"... :wink:

Один ум - хорошо, но даже если он хардварный - много умов всё равно лучше. :wink:
На моей памяти вопрос измерения точных временных интервалов в многозадачном
режиме люди порешали совсем не вчера, мистер жестяньщик...
И предложили даже не единственное решение... :-?
Да и таймером можно покомандывать, между прочим, совсем не сбивая часы DOS.
Так-то! :3



PS. Вот чего я, грешен, не изучал, поскольку нужды пока не было, но есть информация,
что на современных двухядерных процах проблема решается ещё проще.
Но это - только где-то слышал мимоходом, не поручусь...

_________________
iLavr


06 Dec 2012 07:10
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Lavr wrote:
Один ум - хорошо, но даже если он хардварный - много умов всё равно лучше. :wink: На моей памяти вопрос измерения точных временных интервалов в многозадачном режиме люди порешали совсем не вчера, мистер жестяньщик... И предложили даже не единственное решение... :-?

Много текста и все не по делу. Впрочем, как обычно. Приводи конкретные варианты или проходи мимо. (с) Даже глубокий гуглеж выдает однозначный результат: никак. Только через команду RDTSC, которая должна крутиться в реалтаймовом приоритете (желательно в 0 кольце, но кто тебя туда пустит под виндами?), нагружая на 100% процессор. И измерять надо, кстати, не просто произвольные отрезки времени, а привязываясь конкретно к перепаду, приходящему с ленты вообще в любой произвольный момент времени. Вот, читани к примеру:
Quote:
Имхо нереально. Нужен проц реального времени. А здесь суперскалярный процессор, у него задача совсем другая. Выполнить, как можно больше инструкций за квант времени. И все под это заточено, кешь, очередь, предвыборка, не последовательное выполнение команд, а помере готовности операндов. Вобщем все для многозадачности, где время не критично для отдельных команд, главное - быстрый общий результат.
Вернее, если сильно упереться, для одной конфигурации наверное можно добиться, более менее стабильного результата. Но новая конфигурация и делай все по новой. Без спец контроллера с процессором реального времени, мне думается тяжело реализовать.

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

Lavr wrote:
Да и таймером можно покомандывать, между прочим, совсем не сбивая часы DOS. Так-то! :3

Касаемо часов DOS: можно вызывать ее прерывание через требуемый интервал времени, эмулируя медленный таймер, но ее подпрограмма занимала слишком много тактов, что сбивала программу, которая должна была работать на 286 @16МГц.


Last edited by HardWareMan on 05 Jan 2014 07:12, edited 1 time in total.



06 Dec 2012 10:14
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
Много текста и все не по делу. Впрочем, как обычно. Приводи конкретные варианты или проходи мимо. (с)

А у тебя топик не по делу:"я, Хардвермен - крутой железячник с вот таким шворцем
(пруф.пик), а Лавр - жалкий эмуляторщик
"... :lol:

Это то, что я в совокупности увидел. Конкретного - просто ничего.
Ни схем, ни программ... я бы и шел себе мимо, если бы ты не упоминал меня всуе...

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

_________________
iLavr


06 Dec 2012 10:41
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Lavr wrote:
Но я-таки пойду себе мимо, раз уж тебя не пускают в 0 кольцо защиты, где работают драйверы устройств, то я не вижу дальнейших причин для продолжения этого разговора.

Драйвера работают в 1 кольце, вообще-то. В 0 работает обработчик исключений. Но в 9х, которые ты так любишь, да, 1 и 2 кольцо не используются: 0 для обработчика и драйверов, и 3 для всего остального. Да и кому нужен драйвер, вешающий процессор (или даже одно его ядро) на 100%. Пытайся еще.


Last edited by HardWareMan on 05 Jan 2014 07:15, edited 1 time in total.



06 Dec 2012 13:04
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
HardWareMan wrote:
MC68k wrote:
а, тогда ок.

ну а почему реалом нельзя сдампить ленту, а блоки сохранить как файлы? переименовывать все автоматом может не получиться.

Загляни сюда. Там у каждого формата свои разметки и контрольки, а считать то хочется без ошибок. Сливать со спеца в комп - это лишняя ступень, хотя в принципе, сам Спец у меня есть и он рабочий.
эээ... ну можно было бы запилить для спеца прогу-дампер с поддержкой всех форматов и контрольных сумм.(это я так подталкиваю допилить поддержку SD-card)
я помню, что первоначально идея была таскать девайс, а значит "project complete".
безумный вариант - заломать китайский MP3 плеер, который на разновидности Z80. там и накопитель встроенный и вход микрофона есть.


06 Dec 2012 15:36
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
Драйвера работают в 1 кольце, вообще-то. В 0 работает обработчик исключений. Но в 9х, которые ты так любишь, да, 1 и 2 кольцо не используются: 0 для обработчика и драйверов, и 3 для всего остального. Да и кому нужен драйвер, вешающий процессор (или даже одно его ядро) на 100%. Пытайся еще.

Плохому танцору - вечно что-то мешает... то Lavr, то DOS, то Венда, то кольца не те... :wink:

Что-то читал я магнитофонный сигнал - безо всяких контроллеров и не делал из этого
ни открытий ни проблем...

Image


Lavr wrote:
...но есть информация,
что на современных двухядерных процах проблема решается ещё проще.

Действительно, информация есть, и она следующая: Real Time eXtension

_________________
iLavr


06 Dec 2012 15:58
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
MC68k wrote:
эээ... ну можно было бы запилить для спеца прогу-дампер с поддержкой всех форматов и контрольных сумм.(это я так подталкиваю допилить поддержку SD-card)

Этот проект на полпути, ага. Единственное - это ручной выбор формата и скорости. Тем не менее, он работает.
MC68k wrote:
я помню, что первоначально идея была таскать девайс, а значит "project complete".

Собственно, да.
Lavr wrote:
Плохому танцору - вечно что-то мешает... то Lavr, то DOS, то Венда, то кольца не те... :wink:

Лавр не мешает, как это не странно звучит.
Lavr wrote:
Что-то читал я магнитофонный сигнал - безо всяких контроллеров и не делал из этого
ни открытий ни проблем...

Ну, во первых, мы так и не узнали теххарактеристики сигнала - может ты на 32бода пищал на своей 9х. Во вторых, так и смущает:
Quote:
Тут выяснилась некоторая подляна от "Гнусмаса" - длинный файл он, змей, выдаёт с каким-то аппаратным сбоем...

А может этот вовсе и не гнусмас, а как раз другое (то, что ты указал в первом предложении этого поста)?
Lavr wrote:
Действительно, информация есть, и она следующая: Real Time eXtension

Знаю, что ты сразу прицепишься к словам, но скажу: а теперь покажи то же самое, но бесплатное и для моего ноута (iPIII 500MHz).


Last edited by HardWareMan on 05 Jan 2014 07:12, edited 1 time in total.



07 Dec 2012 00:56
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
Lavr wrote:
Действительно, информация есть, и она следующая: Real Time eXtension

Знаю, что ты сразу прицепишься к словам, но скажу: а теперь покажи то же самое, но бесплатное и для моего ноута (iPIII 500MHz).

Да я не цепляюсь к словам, это ты что-то взялся цепляться ко мне, как собачка, которой
на хвост наступили...
Я не обязан показывать тебе бесплатное ПО для твоего ноута, поскольку ты мальчик взрослый,
уже женатый и слово гугель знаешь... Не изображай из себя тут девочку-институтку...
А во-вторых, что бы я тебе не показал, ты точно будешь недоволен, потому что ты один тут -
"Дон-Кихот", а все стальные, мягко говоря, "погулять вышли"...

HardWareMan wrote:
Lavr wrote:
Что-то читал я магнитофонный сигнал - безо всяких контроллеров и не делал из этого
ни открытий ни проблем...

Ну, во первых, мы так и не узнали теххарактеристики сигнала - может ты на 32бода пищал на своей 9х. Во вторых, так и смущает:
Quote:
Тут выяснилась некоторая подляна от "Гнусмаса" - длинный файл он, змей, выдаёт с каким-то аппаратным сбоем...

А может этот вовсе и не гнусмас, а как раз другое (то, что ты указал в первом предложении этого поста)?

Да нет, это как раз "Гнусмас", потому что с магнитофона и уж тем более с самого "Специалиста"
никаких проблем не было...
И если считать сам "Специалист" - машиной реального времени, тем более, что и протоколы -
его оригинальные, то он и обнаружил, что "Гнусмас" даёт сбой.
Я же говорю выше, что ты здесь единственный "Дон-Кихот", остальные, значит, "глубоко
поисследовать проблему
" - ну никак без тебя не способны... :-?
Так вот сбой "Гнусмаса" я потом нашел на логическом анализаторе.

Что касается характеристик - то это типичные магнитофонные сигналы "Специалиста", или ты
думаешь я изобретал другие?

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

Другое дело, что я свою программу предложил для оригинального применения - читать сигнал
из сотового, как из маленького диктофончика и реализовал возможность выдавать
сигнал магнитофонной записи из мидлет-вариантов "Спецтрумов" и "Специалистов".

HardWareMan wrote:
Lavr wrote:
Плохому танцору - вечно что-то мешает... то Lavr, то DOS, то Венда, то кольца не те... :wink:

Лавр не мешает, как это не странно звучит.

Ну это на словах, а теперь смотрим, что на деле:

HardWareMan wrote:
Пока одни эмулируют руками, другие занимаются реальными вещами.
HardWareMan wrote:
Ничего не изменилось со времени критики Лаврентия.
А я слова критики не сказал, лишь отчекрыжил твой ЛУТ, как оффтоп.

HardWareMan wrote:
Поначалу я, конечно, использовал звуковую плату... . Однако, из-за специфики сигнала и еще некоторых факторов так и не удалось добиться надежного чтения.
А многим другим - удалось, хотя они и не делали из этого фурора... Но значит тебе - что-то помешало? :wink:
HardWareMan wrote:
Не хватило терпения.
И это может быть... 8)

HardWareMan wrote:
Я, между прочим, делал выгружалку под DOS, которая все делала верно за счет таймера (сбивая часы DOS лол).
А много других людей делали такие штуки по DOS, успешно и не сбивая часов - примеров
для того-же "Спецтрума" - навалом. Значит тебе DOS мешала?

HardWareMan wrote:
Драйвера работают в 1 кольце, вообще-то. В 0 работает обработчик исключений. Но в 9х, которые ты так любишь, да, 1 и 2 кольцо не используются: 0 для обработчика и драйверов, и 3 для всего остального.
Тут тебе уж точно Вынь-Хрюша мешала... Или моя - старушечка поперёк дороги встала? :wink:

HardWareMan wrote:
Да и кому нужен драйвер, вешающий процессор (или даже одно его ядро) на 100%.
А я и говорю - любой другой вариант, кроме твоего собственного, тебя никак не удовлетворит! :wink:

HardWareMan wrote:
Пытайся еще.
И нафиг бы мне оно сплющилось? Тролля никгда не удовлетворить желудочно... :lol:

_________________
iLavr


07 Dec 2012 04:30
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
ололо! еда! набигаем! :lol:

Quote:
Этот проект на полпути, ага. Единственное - это ручной выбор формата и скорости. Тем не менее, он работает.
а разве по пилот-тону нельзя определить скорость?


07 Dec 2012 06:23
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
MC68k wrote:
Quote:
Этот проект на полпути, ага. Единственное - это ручной выбор формата и скорости. Тем не менее, он работает.
а разве по пилот-тону нельзя определить скорость?

Текстовые редакторы используют двухтональный раккорд. Можно, конечно, добавить алгоритм определения таких раккордов.
MC68k wrote:
ололо! еда! набигаем! :lol:

Оставь. Собака лает - караван идет.


Last edited by HardWareMan on 05 Jan 2014 07:12, edited 1 time in total.



07 Dec 2012 11:30
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
HardWareMan wrote:
Текстовые редакторы используют двухтональный раккорд. Можно, конечно, добавить алгоритм определения таких раккордов.
а, вон оно что.


07 Dec 2012 15:24
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
MC68k wrote:
HardWareMan wrote:
Текстовые редакторы используют двухтональный раккорд. Можно, конечно, добавить алгоритм определения таких раккордов.
а, вон оно что.

Я же давал ссылку:
HardWareMan wrote:
1. Блок кодов:
***
Раккорд - 512 байт 00H.

2. Блок кодов с именем (монитор):
***
Раккорд перед именем - 512 байт 00Н, между именем и блоком кодов - 256 байт 00Н.

3. Бейсик "Практик":
***
Раккорд - 256 байт ААН и 256 байт 00Н. Между именем и листингом - 256 байт 00Н.

4. Редактор текстов "Практик" (и "Микрон" тоже, ЕМНИП):
***
Раккорд - 128 байт ААН, 128 байт 00Н, 128 байт ААН, 128 байт 00Н. Между именем и текстом - 256 байт 00Н.

А по манчестеру, чередование 0 и 1 дает нам чистый тон, равный половине несущей частоты (0AAH звучит так же, как и 55Н, но по исходникам выгружается именно 0ААН). Пожалуй, ты прав, устройство данной ветки работает как задумывалось, а я все же переключусь на оригинальную железку. Буду пилить поддержку SD.


Last edited by HardWareMan on 05 Jan 2014 07:13, edited 1 time in total.



07 Dec 2012 19:19
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Ища порядок бит памяти для Ориона нашел вот такой безмозглый убердевайс в Радио ¹6 за 1990 год.
Image
Идея основана на том, что одновибратор после запуска нельзя перезапустить, поэтому, выделенные фронты автоматически синхронизируют одновибратор так, как надо. Думаю, это тоже интересно.

Некоторое время назад я так же рассчитал еще один способ декодирования манчестера. Суть его заключается в том, чтобы измерять время между перепадами. А логика заключается в следующем:
1. Начальное состояние исходного бита = 0.
2. Есть константа времени, равная как раз 3/4 времени передачи бита. Как у обычного метода.
3. Если время интервала между перепадами короче константы - считаем интервал. Когда набирается 2 интервала - записываем старое значение исходного бита в регистр приема и сбрасываем счетчик. Т.е., маленькие интервалы считаем попарно. Правильный манчестер другого не позволяет.
4. Если интервал длиннее константы, то инвертируем исходное состояние бита и записываем его сразу в регистр.

Соль в том, что код всегда будет прямым, по раккорду можно будет измерять на константу чтения, а синхросигналом считать следующую последовательность: первый длинный сигнал после серии коротких + первый байт равен синхробайту. И при этом не будет мешать двухтональный раккорд. Я уже делал программку и она работает. Учитывая, что у контроллеров есть прерывание по перепаду - для них вообще это будет не сложно.
Code:
Сигнал   ____----____----____--------____----____----________----____--------____----________----
         ----____----____----________----____----____--------____----________----____--------____
Перепады |   |   |   |   |   |       |   |   |   |   |       |   |   |       |   |   |       |
Анализ     s   s   s   s   s     l    s0  s1  s0  s1     l    s0  s1     l    s0  s1      l   s0
Первичная синхронизация    s=>l
Сдвиг          0       0         1        1        1     0         0     1         1      0
Вторичная синхронизация (E6H)    1        1        1     0         0     1         1      0

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


Last edited by HardWareMan on 05 Jan 2014 07:13, edited 1 time in total.



16 Dec 2012 02:50
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 35 posts ]  Go to page Previous  1, 2, 3  Next

Who is online

Users browsing this forum: Google [Bot] and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.