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

 
 
 
Reply to this topicStart new topic
> Wishbone i2c master, не могу прочитать данные.
nh4t
сообщение Jan 6 2012, 12:58
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 15-05-08
Пользователь №: 37 525



Opencores WB i2c Richard Herveille.
Не появляюся данные на шине wb_dat_o в конце цикла чтения.
Циклы записи в slave работают нормально.

Подскажите пожалуйста , что нужно писать в коммандный регистр при чтении и как правильно забирать данные ?

Go to the top of the page
 
+Quote Post
bark
сообщение Jan 10 2012, 16:11
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



Я вот как раз буду использовать эту же мегу.

Если я правильно понял о чем речь, то в командный регистр надо писать то, что написано в документации к целевому устройству.

в моём случае, например, буду коннектиться к ЕЕПРОМ. там надо посылать первые 4 бита "1010", дальше 3 бита пофиг и в конце бит кодирующий тип операции запись/чтение.

тогда ЕЕПРОМ распознает по коду 1010 чот это обращение к ней и соответственно отреагирует на запрос.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
nh4t
сообщение Jan 13 2012, 08:27
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 15-05-08
Пользователь №: 37 525



Спасибо. Вопрос был по скорее по протоколу WB.
читать полученые данные с шины WB нужно после получения wb_ack в CЛЕДУЮЩЕМ шаге автомата.

// #56
.. wait_ack:
if (wb_ack_o == 1) fsm <= get_slv_data_n;
end
// #57
get_slv_data_n:
readout_data [ readout_cycle ] <= wb_dat_o;

Сообщение отредактировал nh4t - Jan 13 2012, 08:27
Go to the top of the page
 
+Quote Post
bark
сообщение Jan 13 2012, 12:45
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



так всё получилось? i2c нормально работает?

я сейчас как раз в отладке своей машины


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post
svedach
сообщение Jan 14 2012, 09:29
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 8-01-12
Из: Беларусь
Пользователь №: 69 226



Проверьте, что бы после синтеза на SDA, SDC были буфферы ввода-вывода, а не только вывода. У меня была проблема с чтением информации после имплементации - синтезатор сам ставил только OBUF. И соответсвенно получалось только записывать данные.
Go to the top of the page
 
+Quote Post
A.P.
сообщение Jan 24 2012, 07:49
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 9-05-11
Пользователь №: 64 879



Цитата(nh4t @ Jan 6 2012, 16:58) *
Opencores WB i2c Richard Herveille.
Не появляюся данные на шине wb_dat_o в конце цикла чтения.
Циклы записи в slave работают нормально.

Подскажите пожалуйста , что нужно писать в коммандный регистр при чтении и как правильно забирать данные ?


Если еще актуально, то для чтения нужно:
TXR <= (DeviceAddress << 1) | 8'h01
CR <= 8'h68 (RD = 1, STO = 1, NACK = 1)
далее проверяем SR. Если TIP == 0, тогда
wb_cyc <=1
wb_stb <=1
если wb_ack == 1, тогда
my_data <= wb_dat

Все, удачи.
Go to the top of the page
 
+Quote Post
nh4t
сообщение Jan 26 2012, 23:48
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 15-05-08
Пользователь №: 37 525



Цитата(bark @ Jan 13 2012, 21:45) *
так всё получилось? i2c нормально работает?
да, давно все сделано и забыто sm.gif
Go to the top of the page
 
+Quote Post
bark
сообщение Jan 27 2012, 12:36
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 131
Регистрация: 16-11-09
Из: Украина Юг
Пользователь №: 53 659



аналогично.

единственное что поменял в исходном проекте - это вывел rx_wire наружу из i2c_master_top. чтобы не ставить на шину адреса "3" для читки данных.
не вижу смсла в FPGA этим мультиплексором по выводу данных пользоваться. вообще можно было бы и регистры состояния вывести, но не хотел переделывать машину работы с i2c.


--------------------
Работаю 20ns в сутки.
Go to the top of the page
 
+Quote Post

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

 


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


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