Перейти к содержанию
    

mobil2005

Участник
  • Постов

    20
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о mobil2005

  • Звание
    Участник
    Участник
  • День рождения 18.09.1985

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. STLink-V3 + openocd Linux

    3й не прошить в jlink-ob
  2. простой RF конвертор(ну например такой http://videoigry.prom.ua/p2739519-modulyat...konverter.html) + компонентный видео сигнал + кабель соединенный смеситель и кабель соединенный с нужными телевизорами даст вам то что вы хотите)))
  3. Кто знал-то что эта микросхема в чересстрочной то гонит.В даташите ни слова не сказано! Или в моем случае в чересстрочной развертке гонит камера, а TVP выплевыет то что идет с нее?
  4. Здравствуйте господа. Применил данную микросхему для оцифровки данных с видео камеры. Однако появилась проблема следующего рода, вместо нормального изображения с разрешением 864х625 с нее идет изображение в формате 864х312(в одном кадре 2 картинки), что наводит на мысль, что поток данных с микросхемы имеет формат чересстрочной развертки. Есть ли возможность сконфигурировать выход данной микросхемы на прогрессивную развертку?
  5. Да проблема в печатной плате. Человек который рисовал ее забил на все правила приличия по работе с высокочастотными схемами(терминаторов нет, длина проводников в два раза отличается),вообще удивительно что на 100 МГц стабильно работает.
  6. Вобщем микросхема памяти почему-то не хочет работать на частотах свыше 110Мгц несмотря на то что документирована работа вплоть до 133 МГц, соотв при меньших частотах авторефреш происходит нормально.
  7. Разведено все правильно.Иначе при первой записи контрольное считывание не давало бы результат (((
  8. Здравствуйте! Прицепил к EP4CE6 через QSys SDR SRAM память от MICRON MT48LC32M8A2 Постепенно разобрался с ALTERA Avalon MM как записать и как считать из нее. Сделал тестовую программу которая сначала заполняет весь объем памяти произвольными данным, а после начинает ее непрерывно считывать.Подключился через SignalTAP II и наблюдаю момент записи, а после записи считывание. Записывание данных происходит без проблем, первое чтение возвращает записанное число, однако последующие считывания начинают возвращать абсолютно бессмысленные значения. Помогите пожалуйста разобраться что я делаю не так. Есть подозрение что при непрерывном чтении контроллер не выдает команду на Auto refresh, хотя если верить описанию то выдаваться она должна независимо от пользователя. library ieee; use ieee.std_logic_1164.all; use IEEE.numeric_std.all; entity single_port_ram is port ( clk_399 : in std_logic := 'X'; -- clk clk_clk : in std_logic := 'X'; -- clk clk_1_reset_n : in std_logic := 'X'; -- reset_n inout_clk : out std_logic; -- clk inout_dqm : out std_logic_vector(0 downto 0); -- dqm inout_cs_n : out std_logic; -- cs_n inout_addr : out std_logic_vector(12 downto 0); -- addr inout_ras_n : out std_logic; -- ras_n inout_we_n : out std_logic; -- we_n inout_cas_n : out std_logic; -- cas_n inout_ba : out std_logic_vector(1 downto 0); -- ba inout_dq : inout std_logic_vector(7 downto 0) := (others => 'X'); -- dq inout_cke : out std_logic -- cke ); end entity; architecture rtl of single_port_ram is -- Build an enumerated type for the state machine type state_type is (idle_m, read_m_s,read_m_n, write_m_s,write_m_n); -- Register to hold the current state signal state : state_type; signal sdr_address : std_logic_vector(24 downto 0) := (others => 'X'); -- address signal sdr_byteenable_n : std_logic_vector(0 downto 0) := (others => 'X'); -- byteenable_n signal sdr_writedata : std_logic_vector(7 downto 0) := (others => 'X'); -- writedata signal sdr_read_n : std_logic := '1'; -- read_n signal sdr_write_n : std_logic := '1'; -- write_n signal sdr_readdata : std_logic_vector(7 downto 0); -- readdata signal sdr_readdatavalid : std_logic; -- readdatavalid signal sdr_waitrequest : std_logic; -- waitrequest signal data : std_logic_vector(7 downto 0); -- readdata component SDR is port ( clk_clk : in std_logic := 'X'; -- clk clk_1_reset_n : in std_logic := 'X'; -- reset_n sdr_address : in std_logic_vector(24 downto 0) := (others => 'X'); -- address sdr_byteenable_n : in std_logic_vector(0 downto 0) := (others => 'X'); -- byteenable_n sdr_chipselect : in std_logic := '1'; -- chipselect sdr_writedata : in std_logic_vector(7 downto 0) := (others => 'X'); -- writedata sdr_read_n : in std_logic := 'X'; -- read_n sdr_write_n : in std_logic := 'X'; -- write_n sdr_readdata : out std_logic_vector(7 downto 0); -- readdata sdr_readdatavalid : out std_logic; -- readdatavalid sdr_waitrequest : out std_logic; -- waitrequest inout_dqm : out std_logic_vector(0 downto 0); -- dqm inout_cs_n : out std_logic; -- cs_n inout_addr : out std_logic_vector(12 downto 0); -- addr inout_ras_n : out std_logic; -- ras_n inout_we_n : out std_logic; -- we_n inout_cas_n : out std_logic; -- cas_n inout_ba : out std_logic_vector(1 downto 0); -- ba inout_dq : inout std_logic_vector(7 downto 0) := (others => 'X'); -- dq inout_cke : out std_logic -- cke ); end component SDR; signal counter_rd : integer range 0 to 33554431 :=0; signal counter_wr : integer range 0 to 33554431 :=0; begin u0 : component SDR port map ( clk_clk => clk_clk, -- clk.clk clk_1_reset_n => clk_1_reset_n, -- clk_1.reset_n sdr_address => sdr_address, -- sdr.address sdr_byteenable_n => sdr_byteenable_n, -- .byteenable_n sdr_writedata => sdr_writedata, -- .writedata sdr_read_n => sdr_read_n, -- .read_n sdr_write_n => sdr_write_n, -- .write_n sdr_readdata => sdr_readdata, -- .readdata sdr_readdatavalid => sdr_readdatavalid, -- .readdatavalid sdr_waitrequest => sdr_waitrequest, -- .waitrequest inout_dqm => inout_dqm, -- inout.dqm inout_cs_n => inout_cs_n, -- .cs_n inout_addr => inout_addr, -- .addr inout_ras_n => inout_ras_n, -- .ras_n inout_we_n => inout_we_n, -- .we_n inout_cas_n => inout_cas_n, -- .cas_n inout_ba => inout_ba, -- .ba inout_dq => inout_dq, -- .dq inout_cke => inout_cke -- .cke ); process (clk_clk,clk_1_reset_n) begin if clk_1_reset_n = '0' then state <= idle_m; elsif (rising_edge(clk_clk)) then -- Determine the next state synchronously, based on -- the current state and the input case state is when idle_m=> if(counter_wr < 33554431)then counter_wr <=counter_wr + 1; end if; counter_rd <=counter_rd + 1; state <= read_m_s; when read_m_s=> if((sdr_readdatavalid = '0')and(sdr_waitrequest = '0'))then sdr_address<=(Std_logic_vector(to_unsigned(counter_rd+1, 25))); sdr_read_n <= '0'; state <= read_m_n; end if; when read_m_n=> if ((sdr_readdatavalid = '1')and(sdr_waitrequest = '0')) then data<= sdr_readdata; sdr_read_n <= '1'; if(counter_wr = 33554431)then state <= idle_m; else state <= write_m_s; end if; end if; when write_m_s=> if (sdr_waitrequest = '0') then sdr_address<=(Std_logic_vector(to_unsigned(counter_wr, 25))); sdr_writedata<= (Std_logic_vector(to_unsigned(counter_wr,8))); sdr_write_n <= '0'; state <= write_m_n; end if; when write_m_n=> if(sdr_waitrequest = '0')then sdr_write_n <= '1'; state <= idle_m; end if; end case; end if; end process; inout_clk <= clk_clk; -- тактируем end rtl; SDR_RAM.rar
  9. Так где правда :twak: или снова из серии я поймал вооотакую рыбину :wassat:
  10. в первом посте же написано что прошивку взял наисвежайшую,ебн2хексом сделал :) , да и с сайтов качал так вы сомневаетесь или проблема все таки в AStudio?Где найти этот Microsoft XML Parser v3+ чтоб проверить это? стоит лишь 4й http://www.microsoft.com/downloads/details...ang=en#filelist
  11. на клоне? Сомневайтесь вам никто не запрещает, можно например сомневаться в том что где-то на чукотке -30 сидя в мягком кресле попивая горячий кофеек © но ведь от ваших сомнений теплее не станет и работать лучше не будет, проверял на 2х различных компьютерах, фьюзы не читались в отладку не входил.
  12. Действительно, поставил AVR Studio 4.12 b460 фьюзы заработали, а то что бряки нельзя ставить во время отладки и то что прога так долго загружаеться и постоянно перезагружаеться это нормально? в Dragon это занимает пару секунд и бряки можно ставть во время работы, тут так же можно? Камень чистый, это студяи глюкавит новая. Спасибо plombir,я пол дня мучался, а это глюк студии, с IAR тоже заработал :) только пишет что всего лишь 4 брекпойнта поддержвиваеться :( как сделать чтобы ставить больше 4х брекпоинтов?
  13. Собрал клон JTAGICE

    Не читаються фьюза с отлаживаемой платы, при этом прошиваеться нрмально и сигнатура читаеться нрмально но при попытке чтения дает фьюз дает ошибку(изображение) Setting device parameters for jtag programming ..OK Entering programming mode.. OK Reading fuse bits (low to high).. FAILED! Leaving programming mode.. OK при программировании Get isp parameters: Command of no use for AVR JTAG! FAILED!OK Reading FLASH input file.. OK Setting device parameters for jtag programming ..OK Entering programming mode.. OK Erasing device.. OK Programming FLASH .. OK Reading FLASH .. OK FLASH contents is equal to file.. OK Leaving programming mode.. OK использую AStudio 4.13 SP2, прошивку оттуда же взял. отладчик собран по схеме http://white3k.narod.ru/jtag.html
  14. Мне таймер надо тактировать от внешних импульсов с PA0
  15. У меня ничего и не получилось...Не знаю про что вы говорите #define Q24 (1<<0) /* PA0 */ void AT91F_TC_Open (void) //* Begin { unsigned int dummy; //* First, enable the clock of the TIMER AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1<< AT91C_ID_TC1 ); //Config A and B mode in PIO AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA,0,Q24); //* Disable the clock and the interrupts AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; AT91C_BASE_TC1->TC_IDR = 0xFFFFFFFF; //* Clear status bit dummy = AT91C_BASE_TC1->TC_SR; //* Suppress warning variable "dummy" was set but never used dummy = dummy; //* Set the Mode of the Timer Counter AT91C_BASE_TC1->TC_CMR = AT91C_TC_CLKS_XC1; //* Set the TCB_BMR of the TIOA0 AT91C_BASE_TCB->TCB_BMR|=AT91C_TCB_TC1XC1S_TIOA0; //* Enable the clock AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN; } Вот код почему он не работает?
×
×
  • Создать...