реклама на сайте
подробности

 
 
> ATA контроллер & ПЛИС
SD713
сообщение Jun 22 2009, 14:29
Сообщение #1





Группа: Участник
Сообщений: 3
Регистрация: 11-06-09
Пользователь №: 50 191



Посоветуйте, пожалуйста, как лучше реализовать ATA контроллер, работающий на одной плате с ПЛИС (Virtex-5).
Отдельная микросхема или IP Core?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kuzmi4
сообщение Oct 19 2009, 09:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



И снова здравствуте.

Опять натолкнулся на некоторые трудности. Очень специфический момемент, литературу перерыл, по инету полазил - что-то не нашёл ответа.
Собственно проблема такого плана - есть модуль с машинкой - чтение/запись (объём - 1 сектор).
Читать могу сколько угодно - всё завершается без ошибок. А вот с записью есть некая заковыка - использовал для проверки такую последовательность действий - читаю в блоковую память плиски сектор (512Б), модифицирую, записываю обратно в тот же сектор, читаю - сравниваю. Значит всё шло хорошо до момента 2-го чтения - когда нужно вычитать из сектора то, что модифицировал на предыдущих этапах. Возвращается DRDY == 1 - то есть девайс готов и BSY==0,DRQ==0 - то есть в девайсе произошла ошибка, такое происходит всегда после обрабатывания запроса записи (чтений штук 10 вставлял даже, а между ними запись, или записи 5 штук - именно после первой же записи на следующей любой транзакции получаю BSY==0,DRQ==0).
И что самое интересное - если провести софтварный сброс - и начать заново вышеописанную последовательность действий - всё повторятся по кругу (всмысле ошибка на следующей транзакции после запииси сектора). Чтение же после софтварного ресета показывает немодифицированный блок - что тоже странно , потому как первая процедура записи возвращает статусовый регистр с нормальным завершением.

Код машинки приложил Прикрепленный файл  ide_rw_1sector00.txt ( 9.6 килобайт ) Кол-во скачиваний: 222

Писал её по атапи-7 и сравнивал с найденными в инете исходниками для МК - вроде одно и тоже, но отчего то не работает .

Пио0-тайминги делает другой процесс - для него управляющий сигнал - strobe_in/out, сигнал в главную машину что операция закончена - pio_cyc_ok
Прикрепленный файл  pio_timing_module.txt ( 2 килобайт ) Кол-во скачиваний: 176

...
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 20 2009, 06:29
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Во-первых, по описанию я не вижу, чтобы (BSY==0 & DRQ==0) сигнализировало об ошибке.

Затем, вы CRC как считаете? Я тут решил-таки сделать SATA и напоролся, что стандартный Xilinx CRC32 блок считает его как-то неправильно, WebCase на эту тему висит уже 12 дней.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Oct 20 2009, 07:28
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(DmitryR @ Oct 20 2009, 09:29) *
описанию я не вижу, чтобы (BSY==0 & DRQ==0) сигнализировало об ошибке.

Кейс 13 главной машины
Код
else if ((BSY == 0) & (DRQ == 0))    ide_case <= 5'd23;    // Err = > go 2 switch err_led

в документе атапи-7 (да и в 5-й версии это же видел): figure 47 - HOST PIO data-In state diagram. Под диаграмой расшифрование стейтов и переходов:
Цитата
When BSY is cleared to zero and DRQ is cleared to zero, then the device has completed the command with an error.




Цитата(DmitryR @ Oct 20 2009, 09:29) *
Затем, вы CRC как считаете?

А с этого момента можно поподробнее - зачем в Write Block комманде (блоки в количестве 1) CRC ?
Его же вроде там нет ( по крайней мере в описании к комманде READ SECTOR(S), которая имеет код 20h, и к комманде WRITE SECTOR(S), которая имеет
код 30h, CRC не упоминается) ?

пс
Может там подождать где нужно помимо соблюдения тайминга для пио0 ? или есчё какие нъюансы написанные мелким шрифтом внизу и в другом документе ? 1111493779.gif
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 20 2009, 09:04
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Kuzmi4 @ Oct 20 2009, 11:28) *
в документе атапи-7 (да и в 5-й версии это же видел): figure 47 - HOST PIO data-In state diagram. Под диаграмой расшифрование стейтов и переходов:
Вкурил, все верно. Посмотрите диаграмму устройства, при каких условиях он может такие сигналы выставлять.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SD713   ATA контроллер & ПЛИС   Jun 22 2009, 14:29
- - water   Цитата(SD713 @ Jun 22 2009, 18:29) Посове...   Jun 23 2009, 05:23
|- - SD713   Цитата(water @ Jun 23 2009, 09:23) А каки...   Jun 23 2009, 11:04
- - Михаил_K   На сколько я помню, стандарт АТА - 5 вольтовые уро...   Jun 23 2009, 05:44
- - RKOB   Может вы ошиблись с АТА, когда все переходят на SA...   Jun 23 2009, 13:20
|- - DmitryR   Цитата(RKOB @ Jun 23 2009, 17:20) Может в...   Jun 23 2009, 15:29
|- - water   Цитата(DmitryR @ Jun 23 2009, 19:29) Все ...   Jun 24 2009, 04:37
|- - starley   Цитата(DmitryR @ Jun 23 2009, 19:29) Все ...   Jun 25 2009, 11:18
|- - DmitryR   Это вам так на самом деле только кажется. Если бы ...   Jun 26 2009, 06:13
- - tolik1   Цитата(SD713 @ Jun 22 2009, 18:29) Посове...   Jul 6 2009, 12:16
- - Kuzmi4   2 tolik1 - то есть вы использовали 95хх(CPLD) как ...   Jul 16 2009, 12:40
|- - tolik1   Цитата(Kuzmi4 @ Jul 16 2009, 16:40) 2 tol...   Jul 16 2009, 13:09
|- - VslavX   Цитата(tolik1 @ Jul 16 2009, 16:09) Да. Н...   Jul 16 2009, 13:19
|- - tolik1   Цитата(VslavX @ Jul 16 2009, 17:19) А UDM...   Jul 16 2009, 13:23
- - Kuzmi4   Здравствуйте. Забуксовал я что-то на реализации э...   Sep 24 2009, 08:18
|- - DmitryR   Цитата(Kuzmi4 @ Sep 24 2009, 12:18) Кодas...   Sep 24 2009, 09:45
- - Kuzmi4   2 DmitryR - так а разницы никакой нет - по 2001 ст...   Sep 24 2009, 10:00
|- - DmitryR   Смотрите тогда схематику, что после синтеза получи...   Sep 24 2009, 12:11
- - Kuzmi4   Смотрю осцилом на лапах, и чипскопом сигналы - что...   Sep 24 2009, 12:41
|- - DmitryR   Цитата(Kuzmi4 @ Sep 24 2009, 16:41) Смотр...   Sep 24 2009, 14:17
- - Kuzmi4   2 DmitryR - я имел ввиду управляющие сигналы, а да...   Sep 24 2009, 14:23
- - Kuzmi4   На будущее, может кому будет полезно - радиоэлектр...   Sep 26 2009, 08:31
|- - DmitryR   Цитата(Kuzmi4 @ Sep 26 2009, 12:31) Кстат...   Sep 26 2009, 13:49
|- - des00   Цитата(Kuzmi4 @ Sep 26 2009, 03:31) На бу...   Sep 28 2009, 03:15
|- - baken   Цитата(des00 @ Sep 28 2009, 07:15) мне нр...   Sep 28 2009, 08:42
|- - DmitryR   А я думаю, что у вы оба споткнулись на похожей зак...   Sep 28 2009, 12:08
- - Kuzmi4   2 des00 - с использованием DIR жизнь становится пр...   Sep 28 2009, 08:16
- - Kuzmi4   Вопрос с буфером решился интересно - отгрызли шлей...   Sep 28 2009, 12:42
- - Kuzmi4   Проверил диаграммы и автомат мой есчё раз - опять ...   Oct 20 2009, 15:56
|- - DmitryR   Черт, я все время забываю напомнить вам поглядеть ...   Oct 21 2009, 09:06
- - Kuzmi4   2 DmitryR - там глядел на основании этого проже...   Oct 21 2009, 10:00
- - Kuzmi4   Кстати, никто не проверял http://www.aipst.com/aip...   Oct 22 2009, 10:38
- - ivanoff   Уважаемый Kuzmi4, а чем собственно закончилась раб...   Jul 20 2011, 18:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01609 секунд с 7
ELECTRONIX ©2004-2016