Статьи
Открытые уроки
Лабораторные работы
Рефераты
Домашние задания
Оглавление
 
Яндекс.Метрика
Разработка Mass Storage контроллера

Проект предполагает использование управляющего Mass Storage контроллера (в дальнейшем контроллер или MSK), подключаемого к разъему шины PCI в соответствии со спецификацией PCI Local Bus Specification, Revision 2.2, от 12/18/98. В задачу контроллера входит обслуживание накопителей на жестких магнитных дисках (в дальнейшем HDD), структурная схема работы с которыми приводится ниже. Контроллер обеспечивает работу с HDD по одному из существующих каналов: первичному (Primary) или вторичному (Secondary). Выбор канала осуществляется программно с помощью разработанного Заказчиком программного обеспечения и предполагает наличие в контроллере управляющего регистра. Для обслуживания перезаписываемого запоминающего устройства контроллер должен оснащаться регистрами доступа к EEPROM.

Запрос на прерывание не используется, выбор адресов вводавывода выполняется с помощью стандартного PlugandPlay механизма. В конфигурационном пространстве PCI контроллер формирует следующую таблицу:

31

16

15

0

 

0Dh

1Ch

B0h

0Ch

00h

02h

00

00

01h

04h

01h

80h

00

01h

08h

00

00

XX

01h

0Ch

00

00

00

00

10h

00

00

00

00

14h

00

00

00

00

18h

00

00

00

00

1Ch

00

00

00

00

20h

00

00

00

00

24h

00

00

00

00

28h

00

00

00

00

2Ch

00

00

00

00

30h

00

00

00

00

34h

00

00

00

00

38h

00

00

00

00

3Ch

00

00

00

00

40h

 

 

 

 

00

00

00

00

FCh

XX – поле, содержащее старшие 8 бит адреса пространства портов, выделяемых контроллеру PlugandPlay нумератором BIOS или операционной системы.

Первичный и вторичный каналы контроллера предназначены для обслуживания накопителей HDD. Контроллеру назначается базовый адрес в пространстве портов вводавывода MSKBASE, начиная с которого, контроллер занимает 256 байт.

Регистры IDE каналов

Для работы с накопителями HDD требуются следующие регистры:

Offset

Width

Mass

Storage

Наименование

Регистра

Primary

IDE

Secondary

IDE

MSKBASE  +0

16

0A000

DATA 7,,0

1F0

170

MSKBASE  +1

 

 

DATA 15,,8

 

 

MSKBASE  +2

8

0A002

Sector Count

1F2

172

MSKBASE  +3

8

0A003

Sector Number

1F3

173

MSKBASE  +4

8

0A004

Cylinder Low

1F4

174

MSKBASE  +5

8

0A005

Cylinder High

1F5

175

MSKBASE  +6

8

0A006

Device/Head

1F6

176

MSKBASE  +7

8

0A007

Status/Command

1F7

177

MSKBASE+16

8

0A016

Alternate Status

3F6

376

Здесь и далее мы предполагаем, что контроллеру назначен адресный регион в пространстве портов с базовым адресом 0A000h.

Регистры управления

Регистры управления предназначены для выбора активного канала и установки заданных логических уровней на выводах разъема, управляющего вторичным каналом.

Offset

Width

Mass

Storage

Наименование

регистра

 

 

MSKBASE  +2

16

0A002

Control Register

 

 

MSKBASE  +6

16

0A006

 

 

 

 

 

 

 

 

MSKBASE+FE

16

0A0FE

 

 

 

Регистр XOR (опционально)

Регистр XOR предназначен хранения XOR последовательности в контроллере MSK. Восьми битная информация, которая поступает через шину PCI в HDD, подвергается побитной операции XOR с байтом, хранящимся в XOR регистре.

Регистр доступа к EEPROM

Канал доступа к EEPROM предназначен для обслуживания перезаписываемого запоминающего устройства, подключаемого по шине I2C.

Конструкция

Плата контроллера MSK выполняется из текстолита толщиной 1,5 мм с двусторонней маской без нанесения шелкографических отметок. Ламели разъема PCI покрываются золотом толщиной 3…6 микрон. На плате предусмотрено место для угловой розетки DRB37FA, к которой крепится стойка, обеспечивающая установку в корпус персонального компьютера. Розетка служит для подключения первичного канала IDE контроллера. Для подключения вторичного канала IDE на плате контроллера предусматривается место для установки вертикального разъема BH40. Для управления вторичным каналом предусматривается место для установки вертикального разъема BH10. Активность по первичному и вторичному каналу отображается на светодиодных индикаторах D1 и D2 соответственно.

На плате контроллера предусматривается установка углового разъема THP4MR, к которому от блока питания персонального компьютера подключается силовой разъем THP4F, обеспечивающий подачу питающих напряжений +5 и +12 вольт. В непосредственной близости от разъема THP4MR должна находится металлизированная надпись POWER IN. Для питания накопителей HDD, подключаемых к контроллеру, на плате предусматривается установка углового разъема THP4MR, в непосредственной близости от которого должна находится металлизированная надпись POWER OUT. В настоящем проекте предполагается питание системной платы, в которую устанавливается контроллер MSK, и питание устройств подключения (HDD) выполнять от одного и того же источника питания. Требования к такому источнику не входит в рамки данного проекта.