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

 
 
 
Reply to this topicStart new topic
> I2C от opencores, Чего-то не взлетает сходу
alexPec
сообщение Apr 13 2013, 17:10
Сообщение #1


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Всем доброго дня. Прицепил к системе I2c отсюда http://opencores.org/project,i2c

Цепляется к ниосу через avalon-mm как на рисунке

В ниосе делаю так:

Код
    IOWR_8DIRECT(I2C_PORT_BASE,2,0);//Dasable i2c
    IOWR_8DIRECT(I2C_PORT_BASE,0,0);//load prescaler (inclk=50MHz, out=100kHz*5)
    IOWR_8DIRECT(I2C_PORT_BASE,1,0x63);
    IOWR_8DIRECT(I2C_PORT_BASE,2,0x80);//Enable I2C
    IOWR_8DIRECT(I2C_PORT_BASE,3,0xa0);//Device adress (24LC00)
    IOWR_8DIRECT(I2C_PORT_BASE,4,0x90);//Start&WR
    uuu=2;
    while ((uuu&0x2)!=0)  //Wait for complete
        uuu=IORD_8DIRECT(I2C_PORT_BASE,4);
    IOWR_8DIRECT(I2C_PORT_BASE,3,0xe);//memeory adress
    IOWR_8DIRECT(I2C_PORT_BASE,4,0x10);//WR
    uuu=2;
    while ((uuu&0x2)!=0) //Wait for complete
        uuu=IORD_8DIRECT(I2C_PORT_BASE,4);
    IOWR_8DIRECT(I2C_PORT_BASE,3,0xa5);//Data
    IOWR_8DIRECT(I2C_PORT_BASE,4,0x50);//WR&stop
    uuu=2;
    while ((uuu&0x2)!=0)//Wait for complete
        uuu=IORD_8DIRECT(I2C_PORT_BASE,4);


Из статуса всегда читается 0, на линиях i2c нет никакой активности вообще.
Что сделано не так, подскажите кто пользовал ?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 13 2013, 18:01
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(alexPec @ Apr 13 2013, 21:10) *
Из статуса всегда читается 0, на линиях i2c нет никакой активности вообще.
Что сделано не так, подскажите кто пользовал ?

1. Насколько я помню, I2C шина не с третьим сосоянием, а с отрытым коллектором.
2. Может при симуляции нужет подпор?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
alexPec
сообщение Apr 13 2013, 20:31
Сообщение #3


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(iosifk @ Apr 13 2013, 22:01) *
1. Насколько я помню, I2C шина не с третьим сосоянием, а с отрытым коллектором.
2. Может при симуляции нужет подпор?


1. Ну да, но если 2 открытых коллектора - это третье состояние (если убрать внешний резистор)
2. Я не симулирую, я в железе проверяю. Там резисторы ноги подтягивают к плюсу. Сигнал тапом прицепился к ногам контроллера I2c. На вход записывается все как надо - по нужным адресам нужные данные. На выходе - ничего не меняется.
Go to the top of the page
 
+Quote Post
FLTI
сообщение May 30 2014, 01:26
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 8-06-05
Пользователь №: 5 832



А почему не используете i2c_opencores_hw.tcl и не делеете через QSYS?
А затем .bsf, полученный в QSYS добавляете в .bdf.

У меня встречный вопрос: откуда Вы взяли функцию IOWR_8DIRECT ?
Не встречалась ли Вам функция записи/чтения по I2C Opencores в удобном виде, где в одной строке задаются три параметра:
1). адрес,
2). субадрес
3). что записывается по данному адресу/субадресу и что читается


Go to the top of the page
 
+Quote Post
alexPec
сообщение May 31 2014, 02:31
Сообщение #5


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

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(FLTI @ May 30 2014, 09:36) *
А почему не используете i2c_opencores_hw.tcl и не делеете через QSYS?
А затем .bsf, полученный в QSYS добавляете в .bdf.

У меня встречный вопрос: откуда Вы взяли функцию IOWR_8DIRECT ?
Не встречалась ли Вам функция записи/чтения по I2C Opencores в удобном виде, где в одной строке задаются три параметра:
1). адрес,
2). субадрес
3). что записывается по данному адресу/субадресу и что читается


Я в Q91 сижу, там еще нет I2C
IOWR_8DIRECT - взял из темплейт проекта memory test. Там и IOWR_8DIRECT и IOWR_16DIRECT и IOWR_32DIRECT есть.

А насчет такой функции - тоже хотел такое сделать, но как то не универсально получается. У кого-то субадрес 8-ми битный, у кого-то 16-ти. Проще на программном уровне - ресурсов не на много больше съест
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 05:49
Рейтинг@Mail.ru


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