Важная информация

User Tag List

Страница 6 из 10 ПерваяПервая ... 2345678910 ПоследняяПоследняя
Показано с 51 по 60 из 93

Тема: контроллер дисковода на микроконтроллере.

  1. #51
    Master Аватар для rnd.gen
    Регистрация
    25.02.2008
    Адрес
    г. Мукачево
    Сообщений
    509
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MegaMyth Посмотреть сообщение
    Возможно не в тему, но тем не менее.
    Собрал себе контроллер на 3-х мсх
    EPM3064 х 2 (44 pin QFP)
    ВГ93
    ну и если считать кварц.генератор микросхемой - то на 4х.
    По скольку работаю только с 3.5", то все буферы выкинул напрочь. MAGIC не пользуюсь поэтому даж заморачиваться не стал.
    на 1й мсх собран ФАПЧ (по схеме с РТшкой) + предкомпенсация записи + поддержка 1.44мб.
    на второй - дешифрация портов, чтение INTRQ DRQ, чёта там исщо и вкл/выкл HD.
    перехват адресов #3DXX делается в другом месте (на другой плате с FLASH, RAM, CPU, CPLD и т.д.), но в принципе и при желании можно было внести изменения и в эту схему добавив ЛА2 и затащив её выход во вторую плис. Так что я бы предложил сделать автору именно так, ибо это сэкономит выводы плис!!!
    Интересно бы было посмотреть схему.
    Кстати у меня в одну микросхему 3064 (правда у нее 66 входов выходов (100ножка)). Ну и еще буфера и генератор. С вг93 и пзу всего 8 микросхем.
    Вот если бы аг3 как-то запаковать...

  2. #52
    Member Аватар для MegaMyth
    Регистрация
    04.12.2006
    Адрес
    Ижевск
    Сообщений
    153
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от garlands Посмотреть сообщение
    MegaMyth, а что помешало сделать на одной 3064?
    Чуть приврал, не 3064, а 7064. Сделал на двух ибо они 44пина, и я не выбирал эти микросхемы. Что было из того и сделал.
    Цитата Сообщение от garlands Посмотреть сообщение
    MegaMyth, эээ... а зачем буфера выбрасывать? максу не плохеет от работы на шлейф? все таки емкостная нагрузка на выводы весьма и весьма нехилая...
    Ну небыло у меня этой экзотики, которая стоит в контроллере, тем более что это привело бы к увеличению габаритов платы. Да и нужно было убедиться, что Максу не плохеет. Ставил на прогон.. На трое суток пока я ушел в запой, дрюкал FDD. Чтение/запись. Я не заметил какого-либо повышения температуры.
    Цитата Сообщение от garlands Посмотреть сообщение
    MegaMyth, может, выложишь проект в качестве помощи и наглядного пособия для rnd.gen?
    Ок выложу. Только есть одно но! Схемы нет. Не люблю я рисовать схемы для проектов которые нужно разводить вручную. Проект сделан на AHDL, т.к. VHDL ещё надо подучить, а на AHDL я уже с закрытыми глазами кодю. Проект выложу когда отвиснет почтовый сервак, или когда приду домой.

    Скрытый текст


    Код:
    subdesign DD1
    (
      clk:input;  -- 16MHz
      --FDD
      FIP:input;
      FM0:output;
      FM1:output;
      FDS0:OUTPUT;
      FDS1:OUTPUT;
      FDIR:OUTPUT;
      FSTEP:OUTPUT;
      FWDAT:OUTPUT;
      FWGATE:OUTPUT;
      FTR00:INPUT;
      FWPROT:INPUT;
      FRDDAT:INPUT;
      FCHANGE:INPUT;
    --VG93
      WRPROT:OUTPUT;
      IP:OUTPUT;
      TR00:OUTPUT;
      WFDE:INPUT;
      RDY:OUTPUT;
      WDAT:INPUT;
      WGATE:INPUT;  
      TR43:INPUT;
      HOLDM:INPUT;
      RAWREAD:OUTPUT;
      RCLK:OUTPUT;
      STEP:INPUT;
      DIR:INPUT;
      ER:INPUT;
      LT:INPUT;
      VCLK:OUTPUT;
    --DRIVE SELECT;
      DRIVEBIT:INPUT;
    )
    variable
      CDIV:DFF;
      EN8:NODE;     -- ENABLE SIGNAL 8MHz
      VGC[7..0]:DFFE;
    --WRITE
      WSR[3..0]:DFFE;
    --READ
      RR[3..0]:DFF;
      RA:DFF;
      RB:dff;
    --HIGH DENSITY
      HD:NODE;
     
      tcnt[9..0]:dff;
      sw:node;
      
    begin
      HD=vcc;
      IP=FIP;
      TR00=FTR00;
      WRPROT=FWPROT;
      FWGATE=!WGATE;
      FSTEP=!STEP;
      FDIR=!DIR;
      FM0=!HOLDM # drivebit;
      FM1=!HOLDM # !drivebit;
      FDS0=drivebit;
      FDS1=drivebit;
      RDY=HOLDM;
    
    --ДЕЛИТЕЛЬ ЧАСТОТЫ
      CDIV.CLK=CLK;
      CDIV.D=!CDIV.Q;
      EN8=DFF(CDIV.Q # HD,CLK,VCC,VCC);
      VGC[].CLK=CLK;
      VGC[].ENA=EN8;
      VGC[].D=VGC[].Q+1;
      VCLK=VGC2.Q;
      
        
    --КАНАЛ ЗАПИСИ
      WSR[].CLK=VGC0.Q;
      IF WDAT THEN
        WSR[3..0].D=(GND,ER & TR43,!((ER & TR43) # (LT & TR43)),LT & TR43);
      ELSE
        WSR[3..0].D=(WSR2.Q,WSR1.Q,WSR0.Q,GND);
      END IF;
      FWDAT=!WSR3.Q;
    
    --КАНАЛ ЧТЕНИЯ
      RA.CLK=FRDDAT;    RB.CLK=!VGC0.Q;
      RA.D=VCC;			RB.D=RA.Q;
      RA.CLRN=!RB.Q;
      RAWREAD=!RB.Q;
      
      RR[].CLK=VGC0.Q;
      IF RB.Q THEN RR[].D=(RR3.Q,VCC,GND,VCC);ELSE RR[].D=RR[].Q+1;END IF;
      
      RCLK=RR3.Q;
    end;
    [свернуть]


    На плате есть ошибки:не подтянуты INTRQ и DRQ и возможно что-то ещё. Посмотрел код, и понял, что я почему-то убрал ФАПЧ(по схеме с РТшкой). Почему я так сделал? хз. мож потому, что для 3.5" не больно то оно и надо. Давно это было... Думаю нада будет переделать... еси чё отпишусь...
    Вложения Вложения
    • Тип файла: rar bdi.rar (34.0 Кб, Просмотров: 111)
    Последний раз редактировалось MegaMyth; 09.12.2010 в 10:29.

  3. #53
    Master Аватар для rnd.gen
    Регистрация
    25.02.2008
    Адрес
    г. Мукачево
    Сообщений
    509
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от garlands Посмотреть сообщение
    MegaMyth, а что помешало сделать на одной 3064? эээ... а зачем буфера выбрасывать? максу не плохеет от работы на шлейф? все таки емкостная нагрузка на выводы весьма и весьма нехилая... может, выложишь проект в качестве помощи и наглядного пособия для rnd.gen?

    rnd.gen, а в чем проблема заказа микросхем? в космодроме, например, они есть. http://kosmodrom.com.ua/product.php?...3064ATC100-10N зеленой галке можно верить (проверено ). доставка у них всякими-разными курьерскими службами... ну или если не хочешь с ними связываться, могу тебе помочь - взять у них и отправить тебе... все равно периодически там бываю...
    Именно так и сделал, тоже боюсь чтобы не поплохело (тут знающие люди говорят ставить буфер).
    На счет космодрома я уже знаю. Там наверное дешевле всего. Жалко что там не все нужные компоненты сразу можно взять. Пока заказал только микрухи.

  4. #54
    Master Аватар для garlands
    Регистрация
    01.09.2006
    Адрес
    Харьков
    Сообщений
    503
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    ---------- Post added at 09:11 ---------- Previous post was at 09:05 ----------

    так ведь АГ3 (если я правильно помню) там всего-то работает на кнопку и генерацию NMI. есть подозрение, что можно сделать что-то типа wait for 10ms.

    посмотрел схему. точно. так и есть на магик работает. описать цифрой и оставить только один пин для подключения кнопки.

    ---------- Post added at 09:27 ---------- Previous post was at 09:11 ----------

    5.1 дает задержку для подавления дребезга, а 5.2 задает собственно длительность сигнала NMI. уточнить, какая длительность должна быть, и сформировать в максе.

    y <= x1 and x2 after 200 ns -- задержка на 200 нс. (2)
    подразумевается инерционная задержка, т.е. y примет после 200 нс новое значение x1 and x2 только, если x1 and x2 оставалось равным 1 в течение этих 200 нс.
    Оператор ожидания:
    wait on список сигналов until условие for значение времени;

    В этом операторе перечисляются сигналы, задерживаемые до указанного времени или до выполнения условия. Возможны сокращенные формы:

    wait on список сигналов; wait until условие; wait for значение времени;

    т.е. подразумеватся задержка до изменения какого-либо сигнала из списка, до выполнения условия или до исчерпания времени соответственно.

  5. #55
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от garlands Посмотреть сообщение
    е, что можно сделать что-то типа wait for 10ms.
    Один АГ3 убирает дребезг, второй делает типа задержку на время когда проц перейдет на обработчик NMI. То есть на логике делается антидребезг + счетчик двух M1 после выставления сигнала NMI. На антидребезг может места не хватить. В общем надо какой то медленный сигнал, скажем IORQ

  6. #56
    Master Аватар для garlands
    Регистрация
    01.09.2006
    Адрес
    Харьков
    Сообщений
    503
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    где там счетчик двух /М1? там тупо подобранная задержка. а вот по уму лучше действительно длительность подсчетом /М1 сделать, благо он заховодится в макс...

  7. #57
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от garlands Посмотреть сообщение
    где там счетчик двух /М1? там тупо подобранная задержка.
    это правильно определить факт что мы вошли в обработчик NMI

  8. #58
    Guru Аватар для Дмитрий
    Регистрация
    01.01.2009
    Адрес
    Донецк, Украина
    Сообщений
    3,260
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    8 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #59
    Master Аватар для garlands
    Регистрация
    01.09.2006
    Адрес
    Харьков
    Сообщений
    503
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну дык и я о том.

  10. #60
    ZEK
    Гость

    По умолчанию

    Тогда разбор полета про буфер с ОК
    Я уже точно не помню, надо посмотреть, но буфер там уперся только ради 5.25 дисководов, там этот сигнал двунаправленный и рулится соответственно по понятиям ОК, то есть о нагрузке вроде никакой речи не идет

Страница 6 из 10 ПерваяПервая ... 2345678910 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Контроллер дисковода
    от andrew76 в разделе Внешние накопители
    Ответов: 55
    Последнее: 12.04.2024, 16:33
  2. ПК8000 - Контроллер дисковода
    от Mick в разделе ПК8000
    Ответов: 286
    Последнее: 02.12.2018, 23:08
  3. Орион-128: Контроллер дисковода
    от Gryphon в разделе Орион
    Ответов: 108
    Последнее: 23.06.2016, 00:41
  4. Ответов: 24
    Последнее: 30.04.2016, 23:47
  5. Ищу контроллер дисковода для кворума
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 10.01.2010, 20:15

Ваши права

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