aboutsummaryrefslogtreecommitdiff

Лабораторная работа No2-4 по дисциплине "Схемотехника ЭВМ"

Вариант 5. «Разработка контроллера FLASH памяти M25P16»

Цель работы

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

Задание

Разработать контроллер FLASH памяти M25P16, входящей в состав отладочной платы Spartan-3AN. Контроллер должен являться ведомым устройством на шине WISHBONE. Контроллер следует подключить вместо контроллера портов ввода/вывода

Со стороны шины WISHBONE должны быть доступны следующие регистры:

  • WADDR -- регистр адреса для записи данных. Регистр хранит значение адреса, по которому будет записано содержимое буфера записи WRITE BUFFER . При обновлении значения регистра происходит очищение буфера записи. Разрядность р егистра - 4 байта.

  • WDATA -- регистр данных для записи. При записи значения в данный регистр они попадают в буфер записи. Разрядность регистра - 4 байта.

  • WLEN -- регистр данных, хранящий количество данных, которые будут перемещены в память из буфера записи. О бновление регистра интерпретируется контроллером как команда начала записи данных в память. Разрядность регистра - 4 байта.

  • RADDR -- регистр адреса для чтения данных. Регистр хранит значение адреса, по которому будет производится считывание данных из памяти в буфер чтения READ BUFFER . При обновлении регистра происходит очищение буфера чтения . Разрядность регистра 4 байта.

  • RDATA -- регистр данных для чтения. Предоставляет доступ к содержимому буфера чтения. При чтении данных из регистра происходит чтение данных и вершины очереди буфера чтения. Разрядность регистра 4 байта.

  • RLEN -- регистр данных, хранящий количество байтов, которые необходимо считать из памяти с адреса RADDR . Обновление регистра интерпретируется как команда на чтения данных из памяти в бу фер READ BUFFER . Разрядность регистра 4 байта.

  • SEC_ADDR_ERASE -- регистр данных, используемый для осуществления операции стирания сектора. В регистр записывается адрес сектора. Обновление регистра интерпретируется как команда стирания сектора. Разрядность регистра 4 байта.

  • BULK_ERASE -- регистр данных, который используется для осуществления полного стирания FLASH памяти. Запись любого значения в данный регистр интерпретируется как команда стирания памяти. Разрядность регистра 1 байт.

  • STATUS -- регистр статуса. При записи данных в регистр производится запись данных в регистр статуса FLASH памяти. При чтении данных производится чтение данных из регистра статуса FLASH памяти. Разрядность регистра 1 байт.

Контроллер имеет два блока памяти: буфер чтения и записи. Размер буферов 256 байт 1 страница. Буферная память реализуется как очередь. Буфер записи очищается при записи регистра адреса WADDR. Буфер чтения очищается при записи регистра адреса RADDR.