Author |
Message |
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Кинте пожалуйста ссылку с описанием 589ИК14, а то что то найти не могу.
|
16 Jul 2011 00:50 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Вообще Вам дали ссылочку, но Вы, похоже, их не читаете...
Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. Том 1.
http://knigi.tr200.ru/f.php?f=%F1%EF%F0%E0%E2%EE%F7%ED%E8%EA+%EC%E8%EA%F0%EE%EF%F0%EE%F6%E5%F1%F1%EE%F0%FB+%F8%E0%F5%ED%EE%E2&p=0
Содержит описание как 580-го комплекта, так 589-го и др.
В том числе описание 589ИК14 там есть. Какая ещё ссылка Вам нужна?
|
16 Jul 2011 09:22 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Извините пожалуйста
Есть у меня эта книга, в печатном виде. Почти нею не пользовался, поверхностное описание функционала и назначение виводов, вот пожалуй единственный от нее толк!
589ИК14 как контролер прерываний не подходит!
Вот если бы 8259 заставить выдавать только младший байт адреса, вот это по делу!
|
16 Jul 2011 10:43 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Взвесил все за и против, решил использовать микроконтроллер, для упрощения схемы и повышения функциональности. В наличии имеется ATmega8-16PU. Легко заменимая на другие этой серии, так что проблем с нахождением деталей для повторения, возникнуть не должно.
В мегу думаю воткнуть обработку прерываний, таймер, ловушку для команд(переключение страниц) и SPI(ну это попоже).
Жду критику такого решения!
|
17 Jul 2011 04:52 |
|
|
aav8
Maniac
Joined: 05 Nov 2008 19:47 Posts: 287 Location: 81.28.208.238
|
Можно в Мегу записать прикладную программу (обработчик прерыванй), и процессор вехнего уровня пофиг...
|
17 Jul 2011 06:54 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Подскажите пожалуйста, когда устройство в ПС видает сигнал прерывания на одну из линий IRQ, сколько времени устройство удерживает сигнал активным???
|
19 Jul 2011 03:13 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Зависит от устройства же. Именно поэтому, придумали реагировать на уровень (тогда устройству надо удерживать до подтверждения прерывания) или на перепад (очень хорошо для периодичных прерываний: просто подключаем к нужной частоте). Так что конкретнее вопросы задавай.
|
19 Jul 2011 04:21 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Добавлю ещё, что метода формирования и снятия запроса на прерывание устройством описывается в доке на это устройство. Очень часто (к примеру, для 580ВВ55, ВВ51, ВВ79, ВГ75) запрос на прерывание снимается устройством после прочтения определённого регистра в этом устройстве (регистр состояния) или записи в определённый регистр (регистр передачи, к примеру).
|
19 Jul 2011 04:40 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Просто интересно как правильней реализовать обработку в Атмега.
Так как сканирование входов IRQ0-IRQ7 будет реализовано через мультиплексор(нехватка выводов). Вот и думаю, если сигнал с устройства будет кратковременным есть шанс его пропустить!
|
19 Jul 2011 04:51 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Здравствуйте! Снова я с своими вопросами.
У меня немного нехватка времени, но затеи не бросил.
Вопрос, как правильно организовать адресное пространство памяти?
Сначала думал так.
ПЗУ 8К - ОЗУ 16К(НЕИЗМЕНЯЕМОЕ) - ОЗУ 32К(страничное)
То есть верхние 32К выбирается через порт, в моем случае через не док. команды.
Может кто может предложить какие варианты, более конструктивны!
|
26 Jul 2011 13:53 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Под такую конфигурацию у тебя даж СР/М не встанет, как мне кажется...
Лучше - сверху BIOS - примерно 2К в окне, общем для всех страниц.
Страницы - ОЗУ по 60К - 2К ОЗУ окно процессора для всех страниц.
Примерно так...
Впрочем лучше прочти Хардыча в ветке "Специалист" - он там зело рассудительно про конфигуацию ОЗУ написал.
А твоя раскадка сильно напоминает "Спектрум" - но ведь ты сам хотел от его архитектуры уйти...
|
26 Jul 2011 14:38 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Перечитал я ветку о "специалист", все заюзано для поддержания совместимости, а мне никакой совместимости как рас и не надо, а скорее наоборот, избавится от издержек.
Мне кажется 2к окна будет мало? Видь надо разместить ОСь, (стек, константы, обработчик прерываний, и много других подпрограмм)
Зайду на перед, я планирую в своем проекте VGA(в слоте) с разрешением 640х480х8(256 цветов). Так как это около 320к памяти, и перерисовка всего дисплея займет много времени, на видео будет тоже проц с набором подпрограмм для облегчения работы ЦП.
|
27 Jul 2011 13:31 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Для поддержания совместимости - это всё что "Специалиста" касается, а об СР/М и выборе окна разговор был отдельный.
Так что совместимость никто не навязывает.
ПЗУ и окно ОЗУ лучше вверху, поскольку ты планируешь прерывания, а их вектора - удобнее внизу...
2к окна - вполне достаточно для перехода между страницами с обменом информацией.
Нет нужды совать туда обработчик прерываний, и много других подпрограмм, главное чтоб из этих 2к был доступ ко всем страницам.
Хотя это во многом зависит от ОСи, которую ты собираешься написать...
|
27 Jul 2011 13:48 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
А как быть к примеру с стартом, если ПЗУ в верху?
Получается процессор перебирая адреса и выполняя NOP добирается потихоньку до ПЗУ, или при старте подключается ПЗУ в нижний адрес?
Да и NMI вроде по адресу 66Н, как быть?
К примеру обработка NMI размещена в 1 странице, а выбрана 2-я!!?
Несомненно проблему решить можно, но зачем такие трудности?
|
27 Jul 2011 14:16 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
ПЗУ при старте включается в нижние адреса (по сути во все адреса)
и первая команда - JMP вверх в BIOS - приём известный, и здесь его многократно обсуждали...
Да и NMI вроде по адресу 66Н - как раз будет хорошо заменяемый вектор, если он в ОЗУ...
И прерывания удобно организовать по RST N.
Не вижу принципиальных трудностей, тем более, если есть желание написать ОС самому, хотя я не навязываю свою точку зрения.
|
27 Jul 2011 22:59 |
|
|