реклама на сайте
подробности

 
 
9 страниц V  « < 6 7 8 9 >  
Closed TopicStart new topic
> ATmega 8 <=> ISA
Baser
сообщение Dec 26 2008, 18:18
Сообщение #106


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(misha88 @ Dec 26 2008, 13:47) *
Скручиваем сигнал записи (0) с сигналом EN и получаем на выходе сигнал высокого уровня (1), названный WR, который поступает на тактовый вход регистра ИР27 (вход 11). И следовательно происходит запись в него информации с входов данных. Вход 1 заземляем (зачем?).

Для начала предостерегу вас от применения термина "скручиваем". "Скрутить" можно при помощи разных логических функций, поэтому говорят: "объединяем сигналы при помощи логической функции И". Иначе дополнительные вопросы будут обеспечены smile.gif

По схеме: добавьте инверсию на сигнал WR, он должен быть как IOW.
Вход 1 должен быть на земле, если выходы регистра будут поданы на порт АВР, который ВСЕГДА будет работать как вход.

Цитата
Вход 11 (L) - сигнал управления записью в регистр. На него надо подать высокий уровень, чтобы произошла запись байта в регистр и хранение его до следующий записи или выключения питания.

Сигнал RD похож на правду.
Вход 11 (L) - можно подать постоянный высокий уровень (при этом регистр не будет хранить данные, а просто будет работать как буфер с Z состоянием на выходе). Тогда его входы нужно подать на порт АВР, который будет ВСЕГДА работать как выход.

Если же заводить оба регистра на один порт меги, тогда ножкой 11 (L) нужно управлять программно.

Цитата(misha88 @ Dec 26 2008, 15:47) *
Это что то новое...
Какие триггеры использовать?

Не пугайтесь, без них вполне можно обойтись. Сигнал WR можно завести на ногу прерывания меги и использовать внутренний триггер прерывания меги для определения факта записи данных от ПК.
А для передачи информации о событии Мега => ПК, как вы написали ниже, вам вообще предписано применять прерывание smile.gif
Для прерывания нужно еще сигнал выдавать на один из входов IRQ шины ISA

Цитата
Устройство будет работать в двух режимах:
1. Режим ожидания. В этом режиме устройство ждет команды “выход”, чтобы завершить свою работу, или ”измерить”, чтобы измерить ток в нагрузке и осуществить индикацию полученных значений.
2. Режим измерения. В этом режиме микроконтроллер измеряет ток в нагрузке, записывает это значение в энергонезависимую память микроконтроллера и выставляет данные на шину для просмотра, послав запрос на прерывание.
С помощью регистров происходит обмен. Сигналов чтения и записи.

Какая разрядность данных, которые вам нужно измерять и передавать на ПК?

Режимы работы несколько не понятны, имеется в виду, что может быть:
- работа по запросу (одно измерение и индикация по команде)
- автоматическая работа к каким-то периодом измерения
или это что-то другое ??
Go to the top of the page
 
+Quote Post
misha88
сообщение Dec 26 2008, 18:49
Сообщение #107


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 23-12-07
Пользователь №: 33 564



Цитата(Baser @ Dec 26 2008, 23:18) *
Для начала предостерегу вас от применения термина "скручиваем". "Скрутить" можно при помощи разных логических функций, поэтому говорят: "объединяем сигналы при помощи логической функции И". Иначе дополнительные вопросы будут обеспечены smile.gif

Это понятно smile.gif

Цитата
По схеме: добавьте инверсию на сигнал WR, он должен быть как IOW.

Почему же? единичка должна быть вроде как.
Цитата
Вход 1 должен быть на земле, если выходы регистра будут поданы на порт АВР, который ВСЕГДА будет работать как вход.

Ясно
Цитата
Сигнал RD похож на правду.
Вход 11 (L) - можно подать постоянный высокий уровень (при этом регистр не будет хранить данные, а просто будет работать как буфер с Z состоянием на выходе). Тогда его входы нужно подать на порт АВР, который будет ВСЕГДА работать как выход.

Ну у меня так и сделано..как высокий уровень подать откуда я не врубаюсь уже..
Цитата
Если же заводить оба регистра на один порт меги, тогда ножкой 11 (L) нужно управлять программно.
Не пугайтесь, без них вполне можно обойтись. Сигнал WR можно завести на ногу прерывания меги и использовать внутренний триггер прерывания меги для определения факта записи данных от ПК.

А было сказано выше что нельзя напрямую в мк сувать сигнал чтения.

Цитата
А для передачи информации о событии Мега => ПК, как вы написали ниже, вам вообще предписано применять прерывание smile.gif
Для прерывания нужно еще сигнал выдавать на один из входов IRQ шины ISA

Да, щас организуем.
Цитата
Какая разрядность данных, которые вам нужно измерять и передавать на ПК?

Видимо 10 разрядные данные.

Цитата
Режимы работы несколько не понятны, имеется в виду, что может быть:
- работа по запросу (одно измерение и индикация по команде)
- автоматическая работа к каким-то периодом измерения
или это что-то другое ??

Вообще-то создавалось устройство для программного ограничения силы тока. Была клавиатура с 4кнпками).
А сейчас даже не знаю..видимо просто один раз измеряет и выдает, измеряет и выдает

И все таки WR должен быть 1, чтобы подавать на регистр.
На какие ноги атмеги все таки цеплять выходные ноги регистра?

Сообщение отредактировал misha88 - Dec 26 2008, 18:56
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
BSV
сообщение Dec 26 2008, 19:36
Сообщение #108


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



Запись во входной регистр можно организовать немного по другому.
1. Подать на тактовый вход регистра ИР27 nIOW с шины.
2. Разрешающим входом L регистра управлять сигналом от дешифратора адреса.

Таким образом, данные с шины будут записаны в регистр по восходящему фронту сигнала nIOW (именно в этот момент они валидны) при наличии сигнала (низкого уровня) от дешифратора адреса при наличии на шине необходимого адреса. Подача комбинаторного сигнала на тактирующий вход триггера (регистра) чревата глюками в случае появления неизбежных пичкОв в таком сигнале (так как сигналы на входе элементов, составляющих логическую функцию, меняются не одновременно). Аналогично можно формировать сигнал, по которому Атмега будет байт из этого регистра читать.


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
misha88
сообщение Dec 26 2008, 20:30
Сообщение #109


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 23-12-07
Пользователь №: 33 564



Скажите уже на какие выводы меги завести выход регистра ИР27!!!?
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 26 2008, 20:40
Сообщение #110


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



на любые.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
misha88
сообщение Dec 26 2008, 21:01
Сообщение #111


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 23-12-07
Пользователь №: 33 564



Цитата(DpInRock @ Dec 27 2008, 01:40) *
на любые.

да ладно уж?
PC- ацп
PD - усарт, компаратор, прерывания


Итого.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 26 2008, 21:07
Сообщение #112


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(misha88 @ Dec 26 2008, 20:49) *
Почему же? единичка должна быть вроде как.
Сигнал WR должен иметь форму как IOW. Посмотрите на рис.1.3 в книге. По перепаду сигнала 1->0 данные еще могут быть не готовы. Фронт сигнала IOW, по которому происходит запись данных в регистр - это 0->1 когда данные на шине стабильны.

Цитата
..как высокий уровень подать откуда я не врубаюсь уже..
Входы ТТЛ и ТТЛШ серий нельзя было замыкать напрямую на +5V, поэтому для создания высокого уровня вход соединяют с питанием через резистор, напр. 1кОм

Цитата
А было сказано выше что нельзя напрямую в мк сувать сигнал чтения.
Тут не вы меня, не я вас правильно не понимаем smile.gif Ничего напрямую не подается...

Цитата
Видимо 10 разрядные данные....
Скажите уже на какие выводы меги завести выход регистра ИР27!!!?

А вот тут самое интересное и начинается smile.gif
Вам же DpInRock с самого начала предлагал выложить техзадание. А когда человек может сам сформулировать то, что ему требуется делать, это значит что почти половина работы готова.
А так, звиняйте, сейчас будете все переделывать...

Для начала все же определитесь:
- какие команды должен выдавать ПК на устройство;
- что должно делать устройство по команде;
- что должно делать устройство само без команды;
- сколько и какие данные нужно передавать в ПК.

Когда вы с этим, наконец, определитесь - можно будет двигаться дальше laughing.gif



Цитата(BSV @ Dec 26 2008, 21:36) *
Запись во входной регистр можно организовать немного по другому.
...
Подача комбинаторного сигнала на тактирующий вход триггера (регистра) чревата глюками в случае появления неизбежных пичкОв в таком сигнале (так как сигналы на входе элементов, составляющих логическую функцию, меняются не одновременно).
Есть такое дело, я приводил схему, где все реализованно корректно.
Но в свете курсача, думаю, и так неплохо, тем более, что адрес на шине выставляется раньше, чем сигналы IOW, IOR
Go to the top of the page
 
+Quote Post
misha88
сообщение Dec 26 2008, 21:28
Сообщение #113


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 23-12-07
Пользователь №: 33 564



Буратино был тупой. Тупой как дрова.
Всем спасибо.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 26 2008, 21:44
Сообщение #114


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(misha88 @ Dec 27 2008, 02:01) *
PD - усарт, компаратор, прерывания
А причем тут UART и компаратор, если они у вас не используются? Почти все пины ATMega8 могут выполнять функции GPIO.
И вообще задачка эта на синхронизацию асинхронных потоков данных. Но для того чтобы ее решить нужно знать характеристики этих потоков. Если про потоки данных шины ISA все более-менее понятно (времянки известны), то про потоки данных из/в МК практически ничего не известно - нет ни программы, ни даже алгоритма ее работы laughing.gif
Go to the top of the page
 
+Quote Post
BSV
сообщение Dec 26 2008, 21:58
Сообщение #115


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



Цитата(Baser @ Dec 27 2008, 00:07) *
Но в свете курсача, думаю, и так неплохо, тем более, что адрес на шине выставляется раньше, чем сигналы IOW, IOR
Дело не в том, что раньше, а в том, что перепады 0->1 могут случаться при таком подходе когда не надо.


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 26 2008, 23:25
Сообщение #116


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(BSV @ Dec 26 2008, 21:36) *
Запись во входной регистр можно организовать немного по другому.
1. Подать на тактовый вход регистра ИР27 nIOW с шины.
2. Разрешающим входом L регистра управлять сигналом от дешифратора адреса.
...
Цитата(BSV @ Dec 26 2008, 23:58) *
Дело не в том, что раньше, а в том, что перепады 0->1 могут случаться при таком подходе когда не надо.

Перечитал еще раз ваше предложение и не могу согласиться с ним...
- во-первых, у регистра ИР27 отсутствует сигнал выборки схемы CS, а вход L (output enable) никоим образом не влияет на запись в регистр.
- во-вторых, объединение строба записи IOW с сигналом адресного дешифратора на комбинаторной логике - это типовое решение. Сигнал объединяется в последний момент, поэтому никакие гонки сигналов при переключении адреса, на комбинированный строб записи влиять не могут, они уже давно закончились. Есть определенное время между установлением адреса и фронтом строба IOW.
Другими словами: в моменты появления сигналов IOR, IOW линии адреса SA0-SA9 обязаны быть стабильны согласно спецификации шины ISA


Цитата(misha88 @ Dec 26 2008, 23:28) *
Всем спасибо.

Вы теперь от нас так просто не отделаетесь... biggrin.gif

Взглянул по-пристальней на ваш адресный дешифратор:
- DD4.1 должен быть не И (ЛЕ1), а ИЛИ (ЛЛ1)
- третий раз вам повторю, что ваш сигнал WR нужно инвертировать (перечитайте книгу и посмотрите на вашу диаграмму сигналов)
- соответственно DD1.4, DD1.5, DD4.2 нужно заменить на ИЛИ (ЛЛ1)
- DD1.6, DD4.3 заменить на ИЛИ (ЛЛ1)
- сигнал RESET шины ISA при подаче на мегу нужно инвертировать
и его еще нужно объединить по ИЛИ (ЛЛ1) с формирователем сигнала RD, чтобы аппаратно блокировать выходы регистра DD8

И не забудьте разобраться с питаниями платы.
Успехов! wink.gif
Go to the top of the page
 
+Quote Post
BSV
сообщение Dec 27 2008, 06:54
Сообщение #117


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



Цитата(Baser @ Dec 27 2008, 02:25) *
- во-первых, у регистра ИР27 отсутствует сигнал выборки схемы CS, а вход L (output enable) никоим образом не влияет на запись в регистр.
ИР27 (зарубежный аналог - LS377) имеет вход разрешения записи (инверсный). Можно, например, тут посмотреть. Что касается второго замечания, действительно можно сделать так, что все будет правильно работать, но нужно иметь в виду возможность возникновения гонок и соблюдать аккуратность.


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
Baser
сообщение Dec 27 2008, 11:48
Сообщение #118


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(BSV @ Dec 27 2008, 08:54) *
ИР27 (зарубежный аналог - LS377) имеет вход разрешения записи (инверсный). Можно, например, тут посмотреть. Что касается второго замечания, действительно можно сделать так, что все будет правильно работать, но нужно иметь в виду возможность возникновения гонок и соблюдать аккуратность.

Да, действительно, перепутал с каким-то другим регистром. ИР27 простая защелка без Z состояния на выходе.
Тогда можно сократить один элемент ИЛИ, но принцип работы от этого не измениться, все равно внутри регистра та же самая комбинаторная логика smile.gif
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Dec 27 2008, 12:51
Сообщение #119


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Можно решить вопрос кардинально.
Координаты преподавателя - и мы ему докажем, что он не может преподавать и посему должен поставить 5.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
misha88
сообщение Dec 27 2008, 15:04
Сообщение #120


Частый гость
**

Группа: Участник
Сообщений: 81
Регистрация: 23-12-07
Пользователь №: 33 564



Цитата(DpInRock @ Dec 27 2008, 17:51) *
Можно решить вопрос кардинально.
Координаты преподавателя - и мы ему докажем, что он не может преподавать и посему должен поставить 5.

Ха. как?

СДАЛ! smile.gif С 8 утра до....19 вечера сидел. smile.gif
Четырееееее smile.gif))) YAHOO
объяснил и доказал что все окей) и сказал как нужно исправить. что куда поставить и т.п.

PS: Всем спасибо за советы smile.gif особенно DpInRock smile.gif

Сообщение отредактировал misha88 - Dec 27 2008, 15:08
Go to the top of the page
 
+Quote Post

9 страниц V  « < 6 7 8 9 >
Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01496 секунд с 7
ELECTRONIX ©2004-2016