|
Мультиплексирование I2C шины, Внешняя + внутренний core на обшие выходы |
|
|
|
Nov 28 2008, 08:29
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Есть определенное устройство куда подается I2C со внешнего мастера для загрузки setupa в "приемник в данном устройстве. В устройстве есть FPGA в котором помимо всего прочего будет I2C master core, который тоже должен иметь возможность загружать "приемник". Внешние SDA, SCL подключены к FPGA и коммутируются на выходные (из FPGA) SDA_FPGA, SCL_FPGA. Идея коммутации в том что когда устройство подключено к внешнему "драйверу", I2C идет от него, проходит через FPGA и выходит на SDA_FPGA, SCL_FPGA которые в свою очередь идут на "приемник". Когда-же устройство работает в stand-alone режиме - SDA_FPGA, SCL_FPGA драйвятся внутренним I2C master coreом. Вопрос: как правильно определить SDA_FPGA, SCL_FPGA ? По идее, согласно I2C - они оба - open drain, соотв. должны иметь pull-ups. Но I/O FPGA с которым работаю не имеют open-drain настройки (есть pull-up/down, keep, none). SDA ессно inout, но как определить пины ?
Какой совет ?
Спасибо.
|
|
|
|
|
 |
Ответов
|
Nov 29 2008, 16:05
|

Частый гость
 
Группа: Свой
Сообщений: 180
Регистрация: 17-05-05
Из: Санкт-Петербург
Пользователь №: 5 128

|
Цитата(sazh @ Nov 29 2008, 19:00)  Я не въехал. Начните с простого. Реализации двунаправленной шины. Это буфер по Z состоянию и пин bidir. Причем тут синxронизация по переключению. Буфером комбинаторной логикой управляют (по чтению). А если это двунаправленная шина с открытым коллектором, состояние 0 и Z, подтянутое внешним резистором. Ноль всех перетянет. Оперируйте кучей шинников с открытым коллектором. Ве должно получиться. Посмотрите реализацию такого буфера. sn74abte16246 Незя вроде в лоб сделать транзитом через FPGA двунаправленную шину... Всегда нужно знать в каком направлении идет передача.
|
|
|
|
|
Nov 29 2008, 17:55
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(Sergei_Ilchenko @ Nov 29 2008, 19:05)  Незя вроде в лоб сделать транзитом через FPGA двунаправленную шину... Всегда нужно знать в каком направлении идет передача. Вот съимитировал буфер abte16246. inout - имитация открытого стока. Пока не анализировал. Но направления передачи тут явно нет. Входы выходы тут конечно не open_dr. Но и незачем. Объединять по двунаправленной шине. (Чем не транзит). Передавать туда обратно по входам выходам. В любом случае предложены были переключатели да мультиплексоры. Код module open_dr_bidir #( parameter width = 1 ) ( input oe_n, inout [width-1:0] data_a, input [width-1:0] data_bi, output [width-1:0] data_bo );
genvar i; generate for (i = 0; i < width; i = i + 1) begin : block assign data_bo[i] = (oe_n == 1'b0) ? data_a[i] : 1'bz, data_a[i] = ((data_bi[i] == 1'b0) && (oe_n == 1'b0)) ? 1'b0 : 1'bz; end endgenerate
endmodule
|
|
|
|
Сообщений в этой теме
Саша Z Мультиплексирование I2C шины Nov 28 2008, 08:29 Apast Цитата(Саша Z @ Nov 28 2008, 12:29) Есть ... Nov 28 2008, 08:41 sazh Цитата(Саша Z @ Nov 28 2008, 11:29) По ид... Nov 28 2008, 08:43 Sergei_Ilchenko Цитата(Саша Z @ Nov 29 2008, 17:56) Это в... Nov 29 2008, 15:51   Саша Z Цитата(Sergei_Ilchenko @ Nov 29 2008, 20... Nov 29 2008, 16:17    Саша Z Цитата(sazh @ Nov 29 2008, 21:55) Вот съи... Nov 30 2008, 18:49     sazh Цитата(Саша Z @ Nov 30 2008, 21:49) Сорри... Dec 1 2008, 14:27      XVR Цитата(sazh @ Dec 1 2008, 16:00) А ничего... Dec 1 2008, 19:37     Михаил_K Цитата(XVR @ Dec 1 2008, 14:46) Топикстар... Dec 2 2008, 12:38      XVR Цитата(Михаил_K @ Dec 2 2008, 15:38) Отве... Dec 2 2008, 14:37       Саша Z Цитата(XVR @ Dec 2 2008, 18:37) У него уж... Dec 2 2008, 20:39        XVR Цитата(Саша Z @ Dec 2 2008, 23:39) Возмож... Dec 2 2008, 21:34         Саша Z Цитата(XVR @ Dec 3 2008, 01:34) Не надо н... Dec 3 2008, 12:29          Sergei_Ilchenko Какое у Вас Vcc?
Скорость обмена у Вас какая?
Каки... Dec 3 2008, 12:34           Саша Z Цитата(Sergei_Ilchenko @ Dec 3 2008, 16:3... Dec 3 2008, 13:44        Sergei_Ilchenko Цитата(Саша Z @ Dec 2 2008, 23:39) Дилемм... Dec 3 2008, 06:53 Михаил_K Цитата(Саша Z @ Nov 28 2008, 11:29) Есть ... Nov 29 2008, 15:28
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|