А что именно не работает?
А что именно не работает?
Наверное нет вообще приёма/передачи битов. У меня при работе с EPM7064SLC44 (прошивка с схемного ввода) два светодиода загораются, далее всё загружается хорошо. В загружаемый файл bios.bin мною зашит монитор с браузером RKS файлов, который запускается после загрузки указанного файла по директиве GD000.
С прошивкой на верилоге у меня как и у roma загорается зелёный светодиод и высвечиваются две первые строки лоадера:
*BIOS loader v.5*
Инициализация...
и всё на этом. Ну можно ещё вытащить карту - печатается предложение вставить карту.
Текущая рабочая схема вот. Адрес работы интерфейса - f010/f011.
Я менял в твоём источнике:
не помогло.assign Dat[7:0] = (~nCS & nWR) ? (Adr) ? {~nINS,BUSY,2'h0,Ctrl[3:0]} : Data[7:0] : 8'hZZ;
на:
assign Dat[7:0] = (~nCS & nWR) ? (Adr) ? {nINS,BUSY,2'h0,Ctrl[3:0]} : Data[7:0] : 8'hZZ;
Последний раз редактировалось fifan; 07.02.2018 в 12:28.
Да, все сигналы к карте неизменны после вызова директивы "U".
Несколько импульсов по линии CLC проскакивают только в момент вынимания карты ...
На соответствие битов в управляющем регистре сверяли?
Версия Loader'а какая выводится? Ну и пора бы сверить стандарты, может?
Твоя версия 5-я. Какие стандарты?
Загрузчик с приветствием "*BIOS loader v.5*" использует следующие ресурсы:
А на сайте fifan'а вот так:Код:SPIData: .equ 0F010h ; F010h - регистр данных SPI SPICtrl: .equ 0F011h ; F011h - регистр управления и статуса // SPICtrl ; System Loader ; D7 - 0=INS D6 - 1=BSY D5=0 D4=0 D3 - 0=GRN D2 - 0=RED D1 - 1=HS D0 - 1=CS
Давайте договоримся об каком-то едином формате бит этого регистра. Я предлагаю положительную логику сигналов.При чтении из регистра управления распределение битов таково:
D0 - признак работы карты ("0" - карта не активна и "1" - карта активна);
D1 - текущая скорость обращения с картой ("0" - 312,5 кГц и "1" - 2,5 МГц);
D6 - признак вставленной карты ("0" - вставлена и "1" - гнездо пусто);
D7 - бит равен "0" - происходит процесс сдвига.
При записи в регистр управления распределение битов таково:
D0 - это выбор карты ("0" - карта не выбрана и "1" - карта выбрана);
D1 - бит выбора скорости тактов SPI ("0" - 312,5 кГц и "1" - 2,5 МГц);
D2 - RED - сигнал обращения к карте ("0" - активация светодиода) - Operate;
D3 - GREEN - сигнал вставленной карты ("0" - активация светодиода) - Insert.
В модели как раз вот такие данные:Код:RD WR RES D7 INS x x D6 BSY x x D5 0 x x D4 0 x x D3 GRN GRN 0 D2 RED RED 0 D1 SPD SPD 0 D0 SEL SEL 0 INS: 0 - пусто, 1 - вставлена карта BSY: 0 - готов, 1 - занят сдвигом GRN: 0 - выключен, 1 - горит зеленый LED RED: 0 - выключен, 1 - горит красный LED SPD: 0 - низкая скорость, 1 - высокая скорость SEL: 0 - карта не выбрана, 1 - карта выбрана
И это не соответствует лодырю версии ".5". Пересобранный лодырь во вложении.Код:// Комбинаторика assign nSEL = ~Ctrl[0]; // Выбор карты assign nRED = ~Ctrl[2]; // Красная лампочка assign nGREEN = ~Ctrl[3]; // Зеленая лампочка assign MOSI = Data[7]; // Выход MOSI SPI assign Dat[7:0] = (~nCS & ~nRD) ? (Adr) ? {~nINS,BUSY,2'h0,Ctrl[3:0]} : Data[7:0] : 8'hZZ;
Последний раз редактировалось HardWareMan; 08.02.2018 в 22:30.
Начну переделывать: информацию на сайте и схемный ввод проекта ПЛИС на EPM7064SLC44.
- - - Добавлено - - -
HardWareMan, вопрос по сигналу SD_CS. Непосредственно выбор SPI на контактах SD карты активный уровень ноль или единица? В остальном схемный ввод соответствует.
Потом по схеме карта вставлена - входной пин замыкается на землю, у тебя наоборот - нам схему переделывать?
Последний раз редактировалось fifan; 09.02.2018 в 06:28.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)