Jump to content

    

Samsobi

Участник
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Всем привет! У меня задача следующая, и вроде как простая (на первый взгляд). ИК приемник VS1838B должен принимать сигнал от ИК светодиода. Когда датчик видит мерцание светодиода (38 кГЦ) выдает "0", когда не видит - "1". Так было описано в даташите. Но на практике получается так - светодиод мерцает => датчик выдает "0" где то в течение секунды, и на выходе снова "1" (при продолжающемся мерцании светодиода). Отключаю светодиод => ничего не меняется, на выходе "1", включаю => на выходе "0" и через секунду снова "1". Почему? Как мне сделать так, что бы при мерцании светодиода на выходе датчика все время был "0", пока датчик не потеряет сигнал. З.Ы. частоту светодиода проверял, 38 кГц. Датчик включен в FPGA, подтянут встроенный резистором.
  2. Большое спасибо всем, кто отозвался! Думаю, пока, материала более чем достаточно, буду изучать)
  3. 1) Спасибо! Может будет повод колупнуть информацию, что за зверь такой NIOS и как его готовить.
  4. Доброго времени суток всем! Имел ли кто опыт работы с радиомодулем nrf24l01 привязаным к плис а не к ардуине? Задача несложная - нужно передать с удаленного лазерного сенсора информацию о наличии/отсутствии приема лазера. Почему с использованием nrf24l01 ? Канал связи между плисами должен исключить полностью ложное срабатывание от помех. Да и не хочется ради этого куска задачи переносить проект на ардуинку, учитывая, что с Verilog я более менее дружу и остальной проект уже написан именно под плис, с которым мне удобнее и приятнее работать. С SPI протоколом разобраться несложно, но с инициализацией мне не совсем понятно. Какую информацию нужно передать от ПЛИСа к радиомодулю, что бы задать параметры скорости и частоты при включении? Мануал не сильно помог, с английским пока туговато. Заранее спасибо!
  5. Всем доброго времени суток. Изучаю VHDL где то неделю, кое что элементарное уже пробую писать. Тормознулся вот на чем! Описываю код устройства, на вход которого подаются два 7 разрядных кода, сравниваются, и если они совпаают, на двухразрядном выходе имеем код "10",в противном случае "01". Компилятор ругается, не пойму что не так. Может добрые люди помогут) Сам код. Кодlibrary ieee; use numeric_std.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity SR is port (x1 : in std_logic_vector (6 downto 0);       x2 : in std_logic_vector (6 downto 0);       y : out std_logic_vector (1 downto 0);              end SR;              architecture A_SR of SR is variable s : std_logic_vector (1 downto 0); begin if ( x1 <= x2 ) then  s <= '10' ; else  ( s <= '01'); end if; y <= s; end A_SR; Выдает ошибки Error (10500): VHDL syntax error at sr.vhd(19) near text "if"; expecting "end", or "(", or an identifier ("if" is a reserved keyword), or a concurrent statement Error (10500): VHDL syntax error at sr.vhd(19) near text "then"; expecting "<=" Error (10500): VHDL syntax error at sr.vhd(21) near text "'"; expecting "(", or an identifier, or unary operator Чтотут может быть не так, чем ему if не угоил с его условиями?