User Tag List

Страница 9 из 18 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 173

Тема: Компьютер "Агат-7": Реализация на ПЛИС (DE1)

  1. #81

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Santechnik Посмотреть сообщение
    Попробовал поподбирать частоту и сдвиг IRQ. Добился много разных эффектов, но идеальной работы не получается. Удавалось избавиться от мерцания, но всегда белая полоса в середине экрана или без нее, но верх экрана черный (в программе L1). Чтобы мне тупо дальше не подбирать, не подскажете пожалуйста на каких по счету видимых линиях происходит "щелчок" IRQ? Сэкономим время и приступим к дисководу 840к
    Лучше бы всё таки понять - откуда у тебя эта белая полоса берётся.
    Не должно её быть. Просто из логики действий аппаратуры.

    Линий конкретных не знаю, не ковырялся. Но можете спросить у Олега Одинцова - он что-то такое пытался узнать, и вроде по семёрке у него даже это получилось. (про девятку он там шибко ругался, что в разных режимах всё по разному и соотношение не точно 1:10).


    Цитата Сообщение от Santechnik Посмотреть сообщение
    И заодно вопрос по дисководу - в описаниях сказано, что он сигнал синхронизации выдает при прохождении некой точки на дорожке. Как этот сигнал записан в формате AIM?
    В строгом соответствии с доками на AIM (цитирую уже который раз):

    PHP код:
    Байты слов хранятся в обратном порядкеСлова анализируются так:
    00xx обычные данныечерез регистры IO передается младшая часть
    01xx 
    синхросбой - !!вот он и естькоторый тебе нужен!!
    02xx конец дорожки (заворот на начало) [читаетсяно не записывается]
    03xx индекс начало (-> 0)
    13xx индекс конец (-> 1

    Цитата Сообщение от Santechnik Посмотреть сообщение
    Где лучше всего описана работа этого дисковода и контроллера?
    Нигде. Как только опишешь, так мы тебе сразу диплом нарисуем.
    Все исходные данные есть - схемы, прошивки. Но я пока не придумал, как их сопоставить.


    Цитата Сообщение от Santechnik Посмотреть сообщение
    Кстати, подумываю переделать "дисковод" с ATMega-64 на Cortex-M3 (STM32L). Причина - больше ног, выше скорость (32Мгц против 20Мгц не считая большей скорости исполнения инструкций), вдвое больше памяти (128к и 16к), куча таймеров и, самое главное, DMA. Боюсь, что не потянет ATMega 840к с нужной скоростью. По деньгам на пару долларов чип дороже, но так как он 3.3В, то будет экономия 3$ на микросхемах преобразования 5В <-> 3.3В. Выйдет как минимум не дороже.
    Советовать не буду, но за атмегу оправдаюсь: всё таки 3.3 вольта у L-версии есть, хоть и на частоте 8 МГц, но вполне официальных. Да и обычную версию, без L, на напряжении 3.2 вольта я тоже юзал и она нормально работала.

    ===

    Если хочешь ответы сразу - пиши на почту (vegaio на yandex). Я на форум крайне редко захожу.

    ---------- Post added at 13:00 ---------- Previous post was at 12:47 ----------

    PS и кроме проги L1 были и другие проги с совмещением. В РАПИРЕ есть встроенная поддержка этих режимов: PЖM("*O,H2K"); В игрушках есть GEOGRAFIQ.

  2. #82

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Очередной апдейт. Разобрался наконец с STM32. Очень интересный чип, но с наскоку не возьмешь. Приобрел отладочную плату с ним за 14$ причем на этой плате уже есть програматор, который можно использовать и для прошивки других чипов из этой серии. На данный момент написал драйвер работы с LCD дисплеем и подключил FatFS Чена на SD карте. На приложенной фотке работа всего этого - на экране содержимое SD карты. Осталось добавить DMA поддержку для работы с картой и энкодер для удобной работы с меню. После этого можно приступать к собственно дисководу.
    Кстати, красная плата внизу экрана - логический анализатор (см. подробности здесь). Имеет 32 канала (16 из них 5V). Обошлась мне вместе с доставкой и полным комплектом проводов в 75$. Незаменимейшая штука для отладки! Сколько времени я съэкономил с ней когда делал LCD драйвер или настраивал работу с SD картой! Жалею, что раньше не купил. Очень рекомендую.
    Также за это время разобрался с работой дисковода 840к. Вроде не вижу проблем с реализацией на данном этапе.
    Дополнительно обдумал концепцию компьютера. Очень не хочется ставить ПЛИС в BGA корпусе. По моим прикидкам все же удастся сделать полный фарш и на 208-ногом корпусе. Это добавит количество корпусов, но ИМХО это меньшее зло чем BGA. Идея состоит в использовании мультиплексоров, на шинах и выходах/входах. Так, например, через них можно развести VGA и SVIDEO выходы, PS2 и оригинальную клавы, шины процессора на внешний разъем и т.д. Кроме того, планирую использовать I2C расширитель порта, чтобы освободить ноги ПЛИС от различных индикаторов и переключателей режимов, которые не требуют быстрой реакции. Заодно хочу вернуться к идее одновременного использования 2-х дисководов. Дополнительных ног это не потребует, т.к. они тоже будут подключены через мультиплексор. Каждый дисковод будет иметь собственный выключатель. Проект подорожает примерно на 20$ (второй экран, контроллер и SD карта), но зато позволит одновременно работать с двумя дисководами или удобно переключаться между ними.
    Сейчас также рисую схему и оптимизирую ноги. Надеюсь, что получится.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	IMG_0005.jpg 
Просмотров:	804 
Размер:	91.8 Кб 
ID:	33902  
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  3. #83

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Очередной апдейт. Заставил работать DMA с SD картой и энкодер. Скорость чтения с DMA не тестировал, но должно быть очень неплохо. Энкодер оказался гораздо удобнее кнопок. Переделаю под него и 140К дисковод и включу в окончательную версию.
    Также сделал блог, куда я перенес инфу по моему предыдущему проекту ("ЮТ-88") и куда начал выкладывать инфу по этому. Кстати, я всю инфу там перевел на английский и уже наблюдается некоторый интерес к английской версии сайта. Видимо так и буду продолжать вести этот блог на двух языках. Хочу давать там больше информации, чем здесь, включая код и схемы, а также давать более подробные описания. Посмотрим, как получится. Адрес: electronicsfun.net/RU/ . Заходите, подписывайтесь на RSS обновления, оставляйте комментарии.
    Во время написания программы для STM32L возник такой вопрос. Имеется такая конструкция:

    Код:
    static char	        Cur_DIR[100];				// Current folder
    static char             Files[100][13];				// File list
    
    FRESULT scan_files (char *path, char *pname, char *pdir)
    {
    ...........
    }
    
      char FDir[100]; 
      f_err_code = scan_files(*Cur_DIR, *Files, *FDir);         // Line #263
    Она взята из моего дисковода 140К для ATMega644 (написан на AVR Studio). Там она прекрасно работает. Здесь же IAR выдает такие ошибки на последнюю строку:

    Код:
    Error[Pe167]: argument of type "char" is incompatible with parameter of type "char *" C:\STM32_projects\iar_test4\main.c 263 
    Error[Pe167]: argument of type "char" is incompatible with parameter of type "char *" C:\STM32_projects\iar_test4\main.c 263
    В чем может быть проблема? Вроде как по стандарту я могу присваивать указателю массив.
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  4. #84

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Santechnik Посмотреть сообщение
    В чем может быть проблема? Вроде как по стандарту я могу присваивать указателю массив.
    Всё правильно пишет, звёздочка нужна только у второго параметра.

  5. #85

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Класс! Спасибо! Так теперь работает! А почему было не правильно? И почему в "AVR Studio" это работает?
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  6. #86

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Santechnik Посмотреть сообщение
    А почему было не правильно? И почему в "AVR Studio" это работает?
    Всё зависит от того, как компилятор трактует массив массивов. Но в стандарте, по-моему, массив массивов трактуется как указатель на указатель, хотя первый уровень массива просто вычисляет смещение, а не производит косвенную адресацию.

  7. #87

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Последний раз редактировалось GARNIZON; 09.04.2012 в 18:42.

  8. #88

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно. Спасибо, GARNIZON! Я честно говоря разочаровался в софт-процессорах для реплик. Они должны быть очень хорошо протестированы прежде чем применять в реализации. Очень много нюансов с недок. командами и их циклами и неизвестно где они вылезут. Но если у него получилось создать такой процессор, то это просто супер. Если выложит в открытый доступ можно будет попробовать.
    GARNIZON, я тут только что нашел тему, где вы с b2m обсуждаете 840к дисковод. Суперполезно! Но я еще чуть позже вопросы задам
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

  9. #89

    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    472
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    35 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Софт проц , тот что на видео, работает пока без нареканий

  10. #90

    Регистрация
    08.05.2010
    Адрес
    Brisbane, AU
    Сообщений
    193
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Взял паузу с проектом - сначала был занят с моим финальным экзаменом, а потом решил передохнуть немного от проекта и переключился на несколько маленьких проектов. На прошлой неделе получил результат моего экзамена - сдал. Так что я теперь не просто бухгалтер, а CPA (читать пожалуйста Си-Пи-Эй, а то по-русски звучит неблагозвучно ). Так что можно продолжать проект не отвлекаясь больше на всякую ерунду
    В общем переписал я "140К-дисковод" под STM32L. Работает и загружает (но без записи пока). Переделал "по уму" - в предыдущей версии на ATMega выдача битов была по запросу, а не по таймеру. Это приводило к странным эффектам (например, дорожка в РАПИРе могла читаться 10 секунд, а BASIC загружался за несколько секунд). Кроме того, структура затрудняла сделать запись на диск без существенной переделки.
    В текущей версии все работает гораздо лучше. Во-первых, благодаря DMA чтение не мешает остальным процессам. Во-вторых, сейчас дисковод ведет себя как настоящий, отдавая данные с интервалом в 32 цикла процессора, что привело к нормальной и ровной скорости загрузки. В-третьих, вычистил и оптимизировал код. В четвертых, код изначально заточен под запись, так что добавить эту функцию будет несложно.
    Сейчас начал работу над тем, чтобы ограничить общение с дисководом всего тремя проводами с целью экономии ног ПЛИС. Идея состоит в том, чтобы использовать протокол SPI. Бонусом будет легкая и удобная передача данных в обе стороны без заморочек с переключением направления шины. Мастером будет ПЛИС. Слово будет 16-бит - 8-бит для данных и остальные для передачи состояний (номер дорожки, режим записи и пр.) в обе стороны. При частоте 16МГц это слово будет передаваться за один такт CPU, что более чем достаточно. Каждое переданное слово будет служить еще и тактом для контроллера, так как будет передаваться каждый 32-ой такт CPU. Т.к. мастером будет ПЛИС, то он будет отвечать и за увеличение некоторых интервалов до 36 или 40-ка тактов CPU при записи, когда генерируется синхробит.
    В общем идея такая. Посмотрим что получится. Пошел пробовать.
    Все детали проектов ЮТ-88 на ПЛИС, АГАТ-7 на ПЛИС и прочее в моем блоге на http://electronicsfun.net

Страница 9 из 18 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Компьютер "Агат-7"
    от Exany_Babay в разделе Агат
    Ответов: 19
    Последнее: 08.06.2016, 22:37
  2. Компьютер "Агат-9"
    от AlexBel в разделе Агат
    Ответов: 10
    Последнее: 20.04.2016, 10:38
  3. Ответов: 71
    Последнее: 31.07.2014, 19:42
  4. Продам компьютер "Агат-7"
    от riogen в разделе Барахолка (архив)
    Ответов: 12
    Последнее: 05.07.2011, 22:04
  5. Куплю компьютер "Агат"
    от ed4mk в разделе Барахолка (архив)
    Ответов: 30
    Последнее: 10.05.2009, 18:18

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •