Лабораторные работы

Модератор: Интегральный вычислитель

Re: Лабораторные работы

Сообщение логический элемент с переподвывертом » 03 окт 2008, 01:37

Генератор случайных чисел писал(а):Ну вот, тока я сделал, все разошлись.

Выкладывай
"Их задача сделать из тебя дегенерата. Мы не виноваты - мы нормальные ребята"
Аватара пользователя
логический элемент с переподвывертом
 
Сообщения: 28
Зарегистрирован: 15 сен 2008, 23:04

Re: Лабораторные работы

Сообщение Генератор случайных чисел » 03 окт 2008, 10:13

Вот тут делитель частоты (divisor.dsn) и регистр (reg.dsn)
Про регистр - три входа слева - вход для данных, синхровход, и вход контроля сдвига (к нему приделан переключатель). Если подается 0 то использовать арифметический сдвиг, если 1 - циклический
Вложения
ee2.zip
(27.19 Кб) Скачиваний: 304
Генератор случайных чисел
 
Сообщения: 13
Зарегистрирован: 02 окт 2008, 20:56

Re: Лабораторные работы

Сообщение MIX@ » 06 окт 2008, 00:32

Доброго времени суток!

Созрел вопрос по поводу второго задания - подключение внешней памяти к AVR.

Из более менее простых моделей, поддерживающих подключение внешней SRAM, в протеусе есть только AT90S8515 с внутренним адресным пространством в 608 байт (регистровый файл + I/0 + 512 байт Internal Ram). Проблема в том, что в AVR-ах внешняя SRAM не имеет своего адресного пространства, как в MCS51, т.е. адресное пространство внешней SRAM начинается только за пределами адресного пространства внутренней памяти, т.е. после 608-го байта, следовательно, записать что-либо в первые 608 байт внешней SRAM не представляется возможным, а в задании сказано, что один из блоков External SRAM необходимо отобразить на адреса начинающиеся с 0x0000. Собственно, как быть?

P.S. Перед тем как задать вопрос - проверил на стандартной модели примера в протеусе и полистал описание контроллера. Для удобства описание прикладываю. Если кто-то захочет смотреть - имеет смысл смотреть первые 12 страниц (12-ую в особенности).
Вложения
at90s8515.pdf
Описание к AT90S8515
(2.58 Мб) Скачиваний: 450
Аватара пользователя
MIX@
 
Сообщения: 115
Зарегистрирован: 08 апр 2008, 11:57

Re: Лабораторные работы

Сообщение логический элемент с переподвывертом » 06 окт 2008, 07:49

Когда будут варианты по 3 лабе?
"Их задача сделать из тебя дегенерата. Мы не виноваты - мы нормальные ребята"
Аватара пользователя
логический элемент с переподвывертом
 
Сообщения: 28
Зарегистрирован: 15 сен 2008, 23:04

Re: Лабораторные работы

Сообщение Интегральный вычислитель » 06 окт 2008, 13:10

MIX@ писал(а):Из более менее простых моделей, поддерживающих подключение внешней SRAM, в протеусе есть только AT90S8515 с внутренним адресным пространством в 608 байт (регистровый файл + I/0 + 512 байт Internal Ram). Проблема в том, что в AVR-ах внешняя SRAM не имеет своего адресного пространства, как в MCS51, т.е. адресное пространство внешней SRAM начинается только за пределами адресного пространства внутренней памяти, т.е. после 608-го байта, следовательно, записать что-либо в первые 608 байт внешней SRAM не представляется возможным, а в задании сказано, что один из блоков External SRAM необходимо отобразить на адреса начинающиеся с 0x0000. Собственно, как быть?

Ясно, тогда изменим первый диапазон на 0x1000-0x4FFF.
Вложения
Lab2-schemo.pdf
(108.71 Кб) Скачиваний: 437
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Лабораторные работы

Сообщение MIX@ » 07 окт 2008, 11:01

Интегральный вычислитель писал(а):Ясно, тогда изменим первый диапазон на 0x1000-0x4FFF.


Опять же, по заданию необходимо занять всё адресное пространство в 64 Кб, путём отображения 16 Кб физ. памяти в 32 Килоадреса, таким образом перенос только нижней границы адресумоего диапазона ведёт к взаимным перекрытиям.

Из задания:
Первый блок: 0x1000-0x4FFF и 0x8000-0xBFFF;
Второй блок: 0xC000-0xFFFF и 0x4000-0x7FFF.

Перекрытия выделил жирным шрифтом.

С моей колокольни возможны два варианта:
1) Потерять 4Кб (но не меньше 608 байт) адресного пространства, но избавиться от перекрытий (32 Кб SRAM адресуем в любом случае)
2) Для 32 Кб SRAM использовать 32 Килоадреса (как в варианте для MCS51), но с внесёнными поправками, а потом спрашивать у студентов - с чем связаны эти поправки :D

логический элемент с переподвывертом писал(а):Когда будут варианты по 3 лабе?

Когда реализуешь MCS51 в ПЛИС и подключишь 2 Мб External SRAM 8-)
Аватара пользователя
MIX@
 
Сообщения: 115
Зарегистрирован: 08 апр 2008, 11:57

Re: Лабораторные работы

Сообщение Kwint » 07 окт 2008, 13:35

Что-то искал-искал доки по Freescale 68HC11 , так ничего путного не нашел, можно я AVR возьму? :) :) :) :) и вариант два :sorry:
Kwint
 
Сообщения: 39
Зарегистрирован: 17 апр 2008, 12:24

Re: Лабораторные работы

Сообщение Интегральный вычислитель » 07 окт 2008, 15:42

MIX@ писал(а):С моей колокольни возможны два варианта:
1) Потерять 4Кб (но не меньше 608 байт) адресного пространства, но избавиться от перекрытий (32 Кб SRAM адресуем в любом случае)

Поясните

2) Для 32 Кб SRAM использовать 32 Килоадреса (как в варианте для MCS51), но с внесёнными поправками, а потом спрашивать у студентов - с чем связаны эти поправки :D

Т.е. это вариант когда часть внешней памяти не используется?
Что-то искал-искал доки по Freescale 68HC11 , так ничего путного не нашел, можно я AVR возьму?

Нет, надо чтобы кто-то искал ошибки и в 3ем варианте. У вас шансов больше чем у остальных студентов. Документации по 68HC11 очень много.
Когда будут варианты по 3 лабе?

Пока не знаю :( Есть определенные проблемы с 3ей лабой, т.к. в Proteus её нельзя полноценно реализовать.
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Лабораторные работы

Сообщение Генератор случайных чисел » 07 окт 2008, 15:56

MIX@ писал(а):Доброго времени суток!

Созрел вопрос по поводу второго задания - подключение внешней памяти к AVR.

Из более менее простых моделей, поддерживающих подключение внешней SRAM, в протеусе есть только AT90S8515 с внутренним адресным пространством в 608 байт (регистровый файл + I/0 + 512 байт Internal Ram). Проблема в том, что в AVR-ах внешняя SRAM не имеет своего адресного пространства, как в MCS51, т.е. адресное пространство внешней SRAM начинается только за пределами адресного пространства внутренней памяти, т.е. после 608-го байта, следовательно, записать что-либо в первые 608 байт внешней SRAM не представляется возможным, а в задании сказано, что один из блоков External SRAM необходимо отобразить на адреса начинающиеся с 0x0000. Собственно, как быть?

P.S. Перед тем как задать вопрос - проверил на стандартной модели примера в протеусе и полистал описание контроллера. Для удобства описание прикладываю. Если кто-то захочет смотреть - имеет смысл смотреть первые 12 страниц (12-ую в особенности).


А начало логического адресного пространства 8051 внешней памяти разве не отображается во флэш, а не в настоящую внешнюю память?
Генератор случайных чисел
 
Сообщения: 13
Зарегистрирован: 02 окт 2008, 20:56

Re: Лабораторные работы

Сообщение Kwint » 07 окт 2008, 16:23

Нет, надо чтобы кто-то искал ошибки и в 3ем варианте. У вас шансов больше чем у остальных студентов. Документации по 68HC11 очень много.

а где ее можно покапать? А еще и желательно на самом красивом и великом языке мира (для тех кто не понял я про русский)
Kwint
 
Сообщения: 39
Зарегистрирован: 17 апр 2008, 12:24

Re: Лабораторные работы

Сообщение Интегральный вычислитель » 07 окт 2008, 18:56

Kwint писал(а):
Нет, надо чтобы кто-то искал ошибки и в 3ем варианте. У вас шансов больше чем у остальных студентов. Документации по 68HC11 очень много.

а где ее можно покапать? А еще и желательно на самом красивом и великом языке мира (для тех кто не понял я про русский)

Смотрите личное сообщение
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Лабораторные работы

Сообщение Kwint » 07 окт 2008, 20:36

Скачал, спасибо, буду курить книгу эту :beer:
Kwint
 
Сообщения: 39
Зарегистрирован: 17 апр 2008, 12:24

Re: Лабораторные работы

Сообщение MIX@ » 07 окт 2008, 21:41

Интегральный вычислитель писал(а):Поясните


Итак, подробнее.
Первый вариант: просто сдвигаем все границы на 4 килоадреса и получаем следующую карту адресного пространства:
Первый блок: 0x1000-0x4FFF (1 окно - 16К) и 0x9000-0xCFFF (2 окно - 16К);
Второй блок: 0x5000-0x8FFF (1 окно - 16К) и 0xD000-0xFFFF (2 окно - 12К).
В итоге получаем возможность адресовать всю подключённую память (32 Кб), но поскольку каждый блок физ. памяти дублируется в два разных адресных пространства (1 и 2-е адресные окна для каждого блока физ. памяти) - получим одно окно адресов для 2-го блока урезанное на 4Кб.
По желанию, можно потерять ещё 12 Кадресов (т.е. в сумме 16 = 4 + 12) и выкинуть идею отображения второго блока физ. памяти во 2-е адресное окно (0xD000-0xFFFF), получив такую адресную карту:
Первый блок: 0x1000-0x4FFF (1 окно - 16К) и 0x9000-0xCFFF (2 окно - 16К);
Второй блок: 0x5000-0x8FFF (1 окно - 16К).
Собственно, вариации что и куда отображать при такой схеме можно придумать разные, например адреса 0x9000-0xCFFF можно использовать для 2-ого адресного окна под второй блок или отображать в 0x9000-0xAFFF - начальные 8Кб первого блока, в 0xB000-0xCFFF - конечные 8 Кб второго блока. (на большее у меня не хватает фантазии ;))

Второй вариант: Если же всё таки отказаться от идеи отображения одного блока памяти в два разных адресных пространства, то возможны два случая:
1) Сделать всё как в варианте для MCS51, с поправкой на 4Кб. Адресная карта будет следующая:
Первый блок: 0x1000-0x4FFF (16К)
Второй блок: 0x5000-0x8FFF (16К)
Соответсвенно, "теряем" (32 - 4 = 28 Кадреса), как и в варианте для MCS51, где "теряем" 32 Кадреса.
2) Сделать согласно картинке (http://www.gaw.ru/im/_micros/avr/mega128/ris17.gif, Конфигурация B) - обращаться к физ. ячейкам с номерами 0x1000-0x7FFF напрямую, а к 0x0000-0x0FFF через область адресов 0x8000-0x8FFF

Первый блок: 0x8000-0x8FFF (первые 4 Кб блока памяти), 0x1000-0x3FFF (оставшиеся 12К блока памяти)
Второй блок: 0x4000-0x7FFF

Эта схема себя оправдывает, т.к. для адресации у нас используется только 14 бит, 2 старших нужны только для селектора (адреса 0x0000-0x0FFF отличаются от адресов 0x8000-0x8FFF только наличем единичного старшего разряда у вторых)

Хы, как только написал про эту ситуацию тут же подумал, что все вышеприведённые предложения всё равно так или иначе сводятся к данной ситуации. Например, 0x1000-0x4FFF - через 0x4000-0x4FFF будет адресоваться 0x0000-0x0FFF, остальное через 0x1000-0x3FFF, с 0x5000-0x8FFF ситуация аналогична. Так что либо отображать с адресов кратных 2^14 (2 младших разряда старшей тетрады должны быть нулевыми), либо использовать только что приведённый вариант (ситауация 2 второго варианта)

Генератор случайных чисел писал(а):А начало логического адресного пространства 8051 внешней памяти разве не отображается во флэш, а не в настоящую внешнюю память?

Там два разных адресных пространства для внешней памяти программ(ПП) и внешней памяти данных(ПД). Если речь идёт о ПП, то да - внешняя ПП идёт после адресного пространства внутренней ПП (на самом деле это ещё зависит от состояния вывода EA), если речь о внешней ПД - для неё своё адресное пространство(0x0000-0xFFFF, соответственно) и его начало не зависит от количества внутренней ПД.
Аватара пользователя
MIX@
 
Сообщения: 115
Зарегистрирован: 08 апр 2008, 11:57

Re: Лабораторные работы

Сообщение MIX@ » 07 окт 2008, 22:53

Есть полуаппаратный вариант, но исключительно для ATMega - изложен на http://www.gaw.ru/html.cgi/txt/doc/micr ... 28/2_1.htm (Параграф: Использование всех 64 кбайт ячеек внешней памяти). Красивым этот вариант назвать никак не могу :crazy:

P.S. К тому же ATMega - это вам не AT Classic, неизвестно как он эмулируется а протеусе :?

Update:
Проверил на работоспособность в Протеусе.
Как и ожидалось наблюдаются глюки: на тестируемом ATMega128 0x105F памяти на борту => внешнее адресное пространство должно начинаться c 0x1060, а начинается только с 0x1100, но сам принцип изложенный в статье вообщем-то работает. Кстати, выяснилось, что в моей версии протеуса очень скудный набор SRAM-моделек, подкиньте кто может :roll:
Аватара пользователя
MIX@
 
Сообщения: 115
Зарегистрирован: 08 апр 2008, 11:57

Re: Лабораторные работы

Сообщение Интегральный вычислитель » 08 окт 2008, 00:13

логический элемент с переподвывертом писал(а):Когда будут варианты по 3 лабе?

Т.к. официальная версия пока не появилась, и, видимо, в ближайшие несколько дней не появиться, можете делать неофициальную версию (см. прил. файл).
Вложения
lab3-shemo.pdf
(61.81 Кб) Скачиваний: 381
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Лабораторные работы

Сообщение Интегральный вычислитель » 08 окт 2008, 00:16

MIX@ писал(а): Кстати, выяснилось, что в моей версии протеуса очень скудный набор SRAM-моделек, подкиньте кто может :roll:

Попробуйте набрать в поиске по библиотеке протеуса: MEMORY_

ps Думаю вашего преподователя устроит любой из предложенных вами вариантов, если вы расскажете об остальных ;)
I Have Seen The Truth And It Doesn't Make Any Sense
Аватара пользователя
Интегральный вычислитель
 
Сообщения: 561
Зарегистрирован: 02 апр 2008, 16:04
Откуда: из Леса

Re: Лабораторные работы

Сообщение Генератор случайных чисел » 08 окт 2008, 19:11

ойой, а что 3я лаба такая сложная?
Генератор случайных чисел
 
Сообщения: 13
Зарегистрирован: 02 окт 2008, 20:56

Re: Лабораторные работы

Сообщение логический элемент с переподвывертом » 09 окт 2008, 02:30

Генератор случайных чисел писал(а):ойой, а что 3я лаба такая сложная?

Да уж... тут тебе не в носу поковыряться :sorry:
"Их задача сделать из тебя дегенерата. Мы не виноваты - мы нормальные ребята"
Аватара пользователя
логический элемент с переподвывертом
 
Сообщения: 28
Зарегистрирован: 15 сен 2008, 23:04

Re: Лабораторные работы

Сообщение jingerbread » 16 окт 2008, 23:46

result of comlex iT terms:или как выбрать тему диплома

A dynamic functional compiler derived from a collaborative real-time algorithm

http://www.cs.purdue.edu/homes/dec/essa ... rator.html
Аватара пользователя
jingerbread
 
Сообщения: 2
Зарегистрирован: 16 сен 2008, 21:49

Re: Лабораторные работы

Сообщение Генератор случайных чисел » 17 окт 2008, 16:42

У меня вопрос, в задании лабораторной 2 варианта 2 диапазоны адресов пересекаются - то есть есть адреса которые отображаются на 2 чипа. Можете как то это прокомментировать.
Генератор случайных чисел
 
Сообщения: 13
Зарегистрирован: 02 окт 2008, 20:56

Пред.След.

Вернуться в Архив "Схемотехника" (осень 2008)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1