Jump to content

    

Faton_11

Участник
  • Content Count

    109
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Faton_11

  • Rank
    Частый гость

Recent Profile Visitors

1602 profile views
  1. угу прикрепляю картинку этого безобразия (если это картинка)
  2. Добрый день, уважаемые форумчане! Проблема в следующем. Программа должна непрерывно отправлять данные на ПК. При записи в Tx буфер делаю следующие шаги: // 1. читаю адрес, с которого начинаем записывать в буфер: Sn_TX_RD[0] = 32'b00000000_00100010_00010001_00000000; Sn_TX_RD[1] = 32'b00000000_00100011_00010001_00000000; //2. Начиная с этого адреса, записываю данные в сокет tx буфера //3. записываю в регистр Sn_TX_WR следующее Sn_TX_WR[0] = {32'b00000000_00100100_00010101,Sn_TX_WR_OFFSET[15:8]}; Sn_TX_WR[1] = {32'b00000000_00100101_00010101,Sn_TX_WR_OFFSET[7:0]}; //,где Sn_TX_WR_OFFSET={Sn_TX_RD[0],Sn_TX_RD[1]} + data_size; //4. отправляю команду send: SEND_COM = 32'b00000000_00000001_00001101_00100000; После этого данный цикл повторяется снова, при этом значение адреса Sn_TX_RD всегда приходит одно и то же. Если вместо Sn_TX_RD на первом шаге считывать Sn_TX_WR, адрес Sn_TX_WR, как и положено, с каждым циклом будет увеличиваться на размер данных. // 1. читаю адрес, с которого начинаем записывать в буфер: Sn_TX_WR[0] = 32'b00000000_00100100_00010001_00000000; Sn_TX_WR[1] = 32'b00000000_00100101_00010001_00000000; Но при этом естественно не учитывается переполнение буфера: после порции нормальных данных начинает идти порция ненормальных. Подскажите, пожалуйста, как правильно считывать регистр Sn_TX_RD так, чтобы он все-таки менял значение указателя?
  3. Добрый день! Плата c AD7760 при включении потребляет около 0,3 A. После инициализации начинает выдавать данные и потреблять ~0,7 A, сильно греется. Данные приходят кривые, питание AVdd2 после эмс фильтра становится таким, как на картинке. Подскажите, в чем может быть дело?
  4. Теперь IP-адрес модуля 192.168.1.2 ,Порт 5000. IP-адрес ПК 192.168.1.100 После нажатия кнопки "Connect" в Hercules: После нажатия кнопки "Connect" в Matlab:
  5. спасибо за ответы!) для наглядности прикрепляю картинки. Модуль пингуется через командную строку , но команда Ping не проходит через другой терминал Ну и в матлабе соединение не устанавливается тоже
  6. спасибо за ответ! тогда немного предыстории: подключаю модуль wiznet 5500 на этапе "сервер слушает клиента", т.е. регистр Sn_SR (Socket n Status Register) находится в состоянии "SOCK_LISTEN". Теперь сокет ждет SYN-пакет от TCP-клиента. Если пакет будет успешно принят, регистр Sn_SR сменит состояние на "SOCK_ESTALBLISHED". Так вот, получается, модуль ждет SYN-пакет, а я не знаю каким образом его отправить, посредством чего, и можно ли будет проследить это в снифере?
  7. Добрый день!Пытаюсь передавать данные через matlab между ПК (клиентом) и Ethernet -модулем(сервером), соответственно по Ethernet кабелю. Клиент должен отправлять arp-запрос модулю, но в сниффере видно, что никакие запросы со стороны Matlab не отправляются.Клиент в матлабе выглядит так: t = tcpip( 'localhost',50502, 'NetworkRole', 'client'); set(t, 'TimeOut',600); fopen(t); data = fread(t, 10); Видимо, этого кода не достаточно и должно быть что-то ещё. Подскажите, пожалуйста, что я делаю не так, и как сделать чтобы matlab все же отправлял arp-запросы?
  8. Вам ведь ответ был самому первому) а знание того, что фирменный драйвер делает, для меня ясности не очень добавило( в общем, Вы были правы. Это все кривой сброс, теперь, кажется, отвечает. Спасибо! =) и спасибо всем за ответы!=)
  9. в 1м бите косяк, теперь вижу. но теперь-то что неправильно, все равно не понимаю
  10. с задним фронтом же меняется. извиняюсь за качество фото: камера не очень. но если и по спаду защелкивать, то снова ничего(
  11. Прикрепляю фото с нулевыми данными. Передаю значение 00000000_00011010_00000001_00000000, где биты [31:16] - это адрес считываемого регистра, [15:8] - контрольный байт: - нули в [15:11] означают, что обращаемся к общему регистру (есть ещё регистры для настройки каждого сокета) - "0" в бите [10] означает, что режим "чтение" - "01" в [9:8] означает что в кадре только 1 байт данных ("Fixed Data Length Mode , 1 Byte Data Length (N = 1)") [7:0] - байт данных в режиме записи.
  12. Добрый день! Имеется модуль Ethernet W5500, управляю им с ПЛИС. Хочу считать состояния регистров по SPI, но модуль молчит( Например, пытаюсь считать RTR-регистр по адресу 0x001A, где по умолчанию должно быть значение D0. Перед тем как отправлять, делаю сброс через ногу, выведенную на разъем. Ниже прикрепляю диаграмму (синий - МOSI, желтый - SCLK, розовый - SCS, зеленый - MISO). Подскажите, что я делаю не так?
  13. хорошо, спасибо за советы и простите за долгий ответ. А бег с криками про мистику разве что помогает окончательно не впасть в отчаяние=)