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

QuadMan

Свой
  • Постов

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

  • Посещение

Весь контент QuadMan


  1. Еще возник один вопрос - по поводу генерации frame sync'а. Вот рисунок необходимой временной диаграммы: Первый сигнал - clock, второй - frame sync а третий - data. Собственно, проблема в том, что frame sync ведет себя так, как показано красным цветом - до (и после) выдачи байт находится в активном состоянии. Можно ли его настроить на то, чтобы в неактивном состоянии он всегда был 1, а в активном - в 0? Да, если это важно, clock stop mode не используется. Спасибо за помощь!
  2. Здравствуйте! Подскажите, можно ли сконфигурировать McBSP так, чтобы на MCLKXA постоянно выдавался клок, вне зависимости от того - выдаю я чего-нибудь по этому интерфейсу или нет? Спасибо!
  3. Здравствуйте! Подскажите, пожалуйста, у меня очень часто при компиляции проекта в CCS 4.2.1 gmake пишет "отказано в доступе" при попытке достучаться до файлов из /Debug или из основного проекта. Выяснил, что кто-то (видимо сама CSS) ставит на директорию проекта и /Debug флаг "Только для чтения". Когда это флаг снимаешь - все компилируется нормально. Но потом этот флаг появляется снова... ужасно задолбало. Система W7 32-bit. Можно это как-то побороть? Спасибо!
  4. Здравствуйте! Подскажите, пожалуйста, совсем запутался - в одних руководствах пишут, что можно адресоваться до 4 ГБайт внешней памяти, в других - до 1 Мегабайта... где правда? :) Всего у него XA[0]-XA[18] - 19 адресных линий, а значит 512 кб.. Спасибо!
  5. Попробовал поработать с FT2232H (FT2232H Mini Module). Подключил его к циклону2, установил режим "FT245 Style Synchronous FIFO Interface". Начал передавать данные (возрастающий код от 0 до 127) из ПЛИС в FT2232H. Вариант 1. Передаю данные по одном байту. Алгоритм такой: 1) Если TXE равно 0, то записываю 1 байт, иначе жду. 2) Жду 6 тактов (Если TXE захочет подняться, то за это время точно успеет) 3) go to 1) В этом варианте получил скорость 5Мбайт/с без ошибок. Но это не интересно, хочется получить заявленные в даташите 25Мбайт/с. Вариант 2. Опытным путем понял, что сигнал TXE держится в нуле в течение 510 тактов. Стал записывать данные пакетами (непрерывно) по 510 байт. В этом режиме получил скорость 27 Мбайт/с, но с ошибками. Где-то раз в 10 Мбайт пропадают байты или наоборот, лишние появляются. Вариант 3. Стал передавать данные непрерывно, только когда TXE равен 0. Как только сигнал TXE уходил в 1, я тоже убирал сигнал записи. В конце каждой такой посылки, уменьшал внутренний счетчик данных на 1, так как 1 байт в конце не записывался (то есть TXE ушел в 1, а я убираю сигнал WR в 1 на такт позже). В этом варианте скорость и ошибки, такие же, как и во втором. В интернете нашел, что у людей тоже проблемы с этим чипом: http://www.embeddedrelated.com/usenet/embe...ow/108794-1.php http://www.embeddedrelated.com/usenet/embe...ow/108235-1.php Проблема либо в драйвере, либо в чипе, либо я чего не так делаю. У кого-нибудь получилось передавать со скоростью 25 Мбайт/с без ошибок? Если да, напишите как, буду благодарен.
  6. Подскажите новичку - собираю схему вольтметра, пытаюсь бороться с помехами в измерительной цепи. Схема такая: Напряжение измеряется на входе R1, усиливается и подается на АЦП микропроцессора с ножек 6,7 операционника. Вначале схема была без емкостей, но на выходе операционника была постоянная помеха с частотой примерно 1.5 кГц и амплитудой 100-200 мВ... Добавил две емкости C46=1мкФ, C47=0.1мкФ, ситуация немного улучшилась, но помехи пробегают все равно (иногда до 1 В) и дают большое искажение в измеряемое напряжение. Подскажите, пожалуйста, как лучше в данном случае защищаться от помех? Спасибо!
  7. Нет, работаю напрямую через FT_Read и FT_Write. Спасибо за ответ!
  8. Подскажите - как правильнее организовать постоянное считывание/записывание данных в FTDI в программе на PC. Есть 2 потока - один поток только считывает, другой - только отправляет данные в FTDI. Нужно ли использовать мьютексы и разделять таким образом процедуры записи/чтения, или можно не заморачиваться. Спасибо.
  9. Большое спасибо за ссылочку, действительно помогло! :a14:
  10. Вообщем проблема в том, что русский текст в Quartuse 7.1 копируется правильно только при русской раскладке клавиатуры, а при английской раскладке получается ерунда. До этого стоял Quartus 5.1 - там все нормально копировалось. Кто-нибудь с этим сталкивался? Как это можно исправить?
  11. Спасибо, значит буду делать внешний ресет. Нашел на сайте Актела такой документ: http://www.actel.com/documents/POR_Circuit_AN.pdf Сделаю, как в нем написано.
  12. Нужна помощь! Объясните мне, пожалуйста, как инициализировать регистры плис Actel после ее включения. Можно ли обойтись без внешней линии reset? Можно ли сделать внутренний ресет? Я написал модуль откомпилировал и просимулировал его в Quartuse. На симуляции в начальный момент времени все регистры в 0, всё хорошо. Потом этот же модуль синтезирую в sinplify, designer и файл из back-annotation симулирую в modelsime. Тут на симуляции все регистры и все выходы (за исключением тех, на которые железно подаются 0 или 1) в неопределенном состоянии. Входные сигналы все задаю. Может я чего не так делаю?
  13. Ну что ж, еще раз СПАСИБО Самураю за подсказку: :a14: я заменил INBUF на CLKBUF У CLKA - и всё заработало!!! Получается это глюк Sinplify, который поставил INBUF на клоковый вход. Я Actel программирую первый раз, до этого программировал только Альтеру. С Альтерой я никогда не задумывался, какие там входные буфера и проблем с этим не было. Actel Designer выдавал предупреждение : "Warning: Non-global resource 'H3_c' is being used to drive multiple clock pins. Clock pins should be driven by global resources if available.", где H3 и есть CLKA. Но я тогда не обратил на это внимания, а стоило бы... :)
  14. Большое спасибо, Самурай! Надеюсь, что причина в этом. Хотя это получается глюк Designera, он везде пишет, что это клок - а на входе подставляет INBUF. Вообщем поставлю там CLKBUF, прошью другую плис и попробую. Наверно ко вторнику это все сделаю, о результатах напишу.
  15. :))))))))))))))) Она однократно программируемая!!!!! Мне надо выпаивать эту, программировать новую плис и ее запаивать!!! Поэтому и хочу узнать поточнее :)
  16. Да, посмотрел в Netlist Viewer, там первый клок проходит через HCLKBUF, а второй проходит через INBUF! Но это точно проблема в этом? Если клок идет через INBUF, то он перестает работать как клок? А почему тогда на симуляции все работает?
  17. В плис заходят 2 клока: 1. На ножку HCLK от кварцевого генератора. 2. На ножку CLKA от процессора. До этих ножек клоки доходят. Логика, которая тактируется от первого клока, работает, а которая тактируется от второго клока - нет (смотрю на плате осциллографом). В Designere через Back Annotate получил файл и просимулировал его в моделсиме. На симуляции от второго клока все работает! Подскажите, пожалуйста, где может быть ошибка. Заранее спасибо.
  18. Я выдаю частоту 50 МГц, полученную в PLL, на выходную ножку, которая не является "dedicated external clock output" этого PLL. Эта частота подается на CLK микросхемы SDRAM. Quartus проект компилирует, но при компиляции пишет: Warning: PLL "test_pll1:PLL1|altpll:altpll_component|pll" output port clk[0] feeds output pin "SDRAM_CLK" via non-dedicated routing -- jitter performance depends on switching rate of other design elements. Use PLL dedicated clock outputs to ensure jitter performance. На симуляции эта частота выходит нормально. Всвязи с этим вопросы: правильно ли сажать выход PLL на обычную I/O ножку? Будет ли корректно работать SDRAM с таким сигналом CLK?
  19. Никто не сталкивался с подобной ситуацией - написал проект на меге32, связь с компом по RS232-USB. Все прекрасно работало, команды с компа принимались, выполнялись и т.д. Но потом при прошивании очередной версии, перестал нормально работать прием RS232 посылок. На осцилографе вижу, что приходит правильная посылка (скорость и т.д), после чего генерится прерывание на прием RS, но после этого прерывания на меге начинают генерироваться бесконечно долго. Возился вчера долго с этим, много раз перепрошивал - процессор шьется, но RS не работает.. в конце концов он как-то заработал... вернул все обратно - все равно работает... но не на долго.. теперь такая же фигня.. может кто-нибудь сталкивался? что может быть? заранее спасибо.
  20. Мне кажется вам нужно сначала последовательно задвинуть по клоку (clk) все 16 бит в 16-битовый сдвиговый регистр (shift_reg), а затем по клоку и по дополнительному сигналу (shift) переписать данные из сдвигового регистра в выходной 16-битовый регист (data_out). На верилоге это выглядит так: module shift_reg_out (clk, shift, data_in, data_out ); input clk, shift; input data_in; output [15:0] data_out; reg [15:0] shift_reg; reg [15:0] data_out; // Сдвиговый регистр always@(posedge clk) begin shift_reg[15:0] <= {shift_reg[14:0], data_in}; end // Выходной 16-битный регистр данных always@(posedge clk) begin if (shift) data_out[15:0] <= shift_reg[15:0]; end endmodule А вот диаграмма этого модуля: shift_reg_out.bmp
  21. Наткнулся на сайте FTDI - и все стало ясно. :) :(
  22. Собственно subj. В даташите 24 ножка микросхемы (SCK) описана как OUTPUT. Значит ли это, что FTDI может работать только как мастер-устройство? И в него передавать свои клоки нельзя? Заранее спасибо...
  23. странно работает USI в ATTINY26

    Пишу SPI master для ATTINY26, делаю, прямо как написано в примере из даташита: void write_spi(unsigned char data) { unsigned char tmp; USIDR = data; USISR |= 0x40; // clear interrupt flag tmp = USICR | (1 << USITC) | (1 << USICLK) | (1 << USIOIE); while ((USISR & 0x40) != 0x40) { USICR = tmp; } } SLK вижу, а DO - всякая фигня не соответствующая действительности. вернее, если data = 1 или 5, то ворде как нормально, а все остальное - прыгает и скачет как хочет. в чем проблема? USICR изначально сконфигурен так: // Universal Serial Interface initialization // Mode: Three Wire (SPI) // Clock source: Register & Counter=USICLK // USI Counter Overflow Interrupt: Off USICR=0x12;
×
×
  • Создать...