![]() |
ZX-MMC контроллер
ZX_MMC http://www.zxbada.bbk.org/zxmmc/
судя по описанию представляет собой аппаратный котроллер SPI под спековские порты кому нибудь удалось скачать схему этого устройства ? а то у меня выдаёт черный квадрат заместо картинки или говорит - формат нераспознан. вопрос к гуру по cpld - если такую штуку делать , т0 в какой минимальный xilinx оно войдёт ? или можно перекопмпилировать програму например под альтеру ? |
Quote:
Code:
TXREG equ $0F ; регистр передатчика RS232Quote:
Устройство сделано на CPLD Xilinx XC9572XL-VQ44 (72 макроячейки). Переделывать под Alterу можно, но какой смысл, ведь автор выложил все что нужно для повторения устройства вплоть до исходника прошивки и трассировки печатной платы. |
Quote:
Камиль - можешь мне мылом схемку кинуть? Quote:
ЗЫ.Посмотрел по лавкам - плиска есть только в одной лавке в питере,да и то под заказ. 10$ примерно по цене.... |
Quote:
Надеюсь автор не обидится, сконвертировал в PNG. |
Quote:
|
Quote:
По efind.ru цена колеблется от 3 до 12$ |
Созрел вопрос отчасти по сабжу - ктонить может сказать какие таки чудо возможности спека +3 использует ResiDOS что была заточена только под него ???
А сам васик +3 насколько сильно отличается от васика 128 (по коду прошивки) ??? |
Quote:
и работа со всем адресным пространством Z80 в режиме чтения/записи. Плюс встроенная дисковая подсистема ввода/вывода. |
Quote:
Ещё один хороший повод устандартить и узаконить порт/бит на подтыкание RAM вместо ПЗУ . А "хитрое" подтыкание страничек ResiDOS не использует ??? (чёто я не вижу описание этого момента, наверное опять не туда смотрю %) ) Quote:
(Кстати если кому интересно - на +2A эта штука то же должна пахать после замены ПЗУшек (http://www.worldofspectrum.org/zxplus3e/p3eroms.html)). Quote:
Ого , такой брошурки у меня в коллекции нет , 10X ! |
Тут у меня вспонтанно вопрос по сабжу возник - чем таким полезным занимается "bus_cnt" ??? (торчит в начале процесса , там где запись в порты).
И вопрос скорее из оперы VHDL - что будет если к bus_cnt(1 downto 0) равный "11" прибавить ещё единицу ? Обнулится или останется "11" ? |
Quote:
Дайте кто нибудь если есть.... |
1 Attachment(s)
Шиздец... Я спрашиваю о том чего уже нет , пересэтэ...
Даже с основного сайта все сырки поубирал... Злобный партизанен :D Собсно вот (в аттаче) , там только сырок , ибо весь проэкт состоящий из мусора в запакованном виде занимает аж полтара мега... Если кому нужен фаил с распиновкой чипа , то скажите какое у него расширение , а то файлов где торчит распиновка просто дофигища . Чуть не забыл - в файле залочена всякая там билиберда вроде RS232/кемпстона и оставлен SPI . Но это не значит что компилироваться будет только под SPI , чтоб было только под SPI нужно либо закоментировать , либо прибить всё лишнее , иначе только ячейки зря отжираться будут . Как разлочить RS232 и прочее ниписано внутри файла . Старая описака - The project fits into a Xilinx's XC9572XL 3.3V cpld, 5V tolerant. This component is well suited for interfacing the 5V ZX-Spectrum logic to 3.3V sd/mmc card logic. The picture above shows the cpld in VQ44 package, which is used in the project. After programming through the JTAG header, the CPLD will work as an SPI device on I/O port $3F. The 115K2baud RS-232, NMI handling and Kempston Joystick ports, who are present in the zx-badaloc version, are disabled by default in order to avoid conflicts with existing hardware. These features can be easily enabled by programming the alternate JEDEC file. Port List for the STANDARD version: $1F: WR = 2 bit chip select register (D0 = MMC0; D1 = MMC1), active LOW $3F: WR = SPI TX register; RD = SPI RX register (8 bit) Port List for the FULL version: $0F: WR = RS-232 TX register; RD = RS-232 receive register (8 bit) $1F: RD = KEMPSTON PORT (5 bit, '1' = input active); WR = 2 bit chip select register (D0 = MMC0; D1 = MMC1), active LOW $2F: WR = D0: 0 = NMI disabled; 1 = enabled. RD = read RS232 status (4 bit) $3F: WR = SPI TX register; RD = SPI RX register (8 bit) STATUS REGISTER ($2F): D0: 0 = receiver empty; 1 = receiver has data D1: 0 = no error; 1 = overrun D2: 0 = no error; 1 = framing error D3: 0 = transmitter idle (ready); 1 = transmitter full Further details can be found in the VHDL source code. Please note that the SPI-only version still has WRITE ENABLED on all ports. This means that a byte written to port $0F will be sent through the rs-232 TX pin in all versions. READING is disabled on all ports but $3F. Chip selects control is then assured by writing to port $1F in all versions (D0 = MMC0, D1 = MMC1). Internal CPLD logic avoids simultaneous chip select activation: in case "00" is written to this register: MMC0 takes over (MMC1 chip select will be forced HIGH). Both chip selects are in HIGH (inactive) state at power-on. When the processor reads one of the above I/O ports for the full version, or the SPI port for the standard version, the corresponding data is placed on databus. When the processor writes to one of the above I/O ports, then the CPLD starts an internal counter that latches databus status into proper internal register on the falling edge of T3 cycle, which is right in the middle of the write operation. Since IORQ and WR are issued on the rising edge of main clock (on T2), the internal logic (counter and latches) works on falling edge in order to guarantee reliability in the count process. This diagram shows a write cycle to port $3F, which is the SPI OUT register. For debug purposes, a "capture" signal has been configured on the CS1 pin (unused), that goes high when data is latched (which happens on the falling edge of T3 cycle, as stated above). The diagram also shows how the byte is transferred to the SD.MMC card in the following 16T-states (SPI CLOCK is toggled on each Z80 T-state). The byte written to port $3F was "$55". |
На ZXMMC странице стоит
Quote:
Просто я хотел сегодня попробовать прикрутить сей девайс к моей машине (стандартный 128K). 13 пинов на матрице свободно и ячеек около 2 десятков... Добавлено через 19 минут Quote:
Выложи плиз для полного комплекта, а то непонятно, для чего OUT1_reg. Или раньше схема другая была??? Если да, может сохранилась?? Добавлено через 40 минут Quote:
|
1 Attachment(s)
Quote:
-- Названия сигналов и номера пинов . -- GND ---------------- CN4 Pin1 RS232 -- dtr - P41 CN4 Pin2 RS232 (status_register(0)) -- tx_pin - P44 CN4 Pin3 RS232 -- rx_pin - P1 CN4 Pin4 RS232 -- GND ---------------- CN4 Pin3 -- kempston<0> - P38 -- kempston<1> - P39 -- kempston<2> - P40 -- kempston<3> - P42 -- kempston<4> - P2 -- OUT1_reg<0> - P33 CS0 (CS MMC) выбор первой карточки -- OUT1_reg<1> - P3 PAD1 выбор второй карточки -- spi_clock - P34 MMC CLK -- spi_datain - P37 MMC IN (->OUT) -- spi_dataout - P36 MMC OUT (->IN) -- подаём на IN SD/MMC карточки . -- clock - P43 Z80 CLK -- address<0> - P18 -- address<1> - P20 -- address<2> - P22 -- address<3> - P27 -- address<4> - P29 -- address<5> - P30 -- address<6> - P31 -- address<7> - P32 -- z80_databus<0> - P13 -- z80_databus<1> - P12 -- z80_databus<2> - P16 -- z80_databus<3> - P23 -- z80_databus<4> - P28 -- z80_databus<5> - P21 -- z80_databus<6> - P19 -- z80_databus<7> - P14 -- z80_iorq - P6 -- z80_nmi - P5 -- z80_rd - P7 -- z80_wr - P8 Quote:
Короче нужно дорулить спек до +3 , два десятка ечеек должно вполне хватить . Хотя там должен быть малюсенький програмуль и видео ролик демонстрирующий загрузку какойто фигни на спеке 48к (покрайней мере раньше был). |
Quote:
Наших клонов, разумеется, данное замечание вообще не касается. Добавлено через 2 минуты Quote:
|
| All times are GMT +4. The time now is 15:43. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.