Jump to content

    

kiruxa

Новичок
  • Content Count

    4
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Здравствуйте! Уже года три использую Альтиум и ни как не могу решить такую проблему. Сохраняя какой либо файл из проекта открытого на флешке Альтиум автоматически переименовывает флешку с Съемный диск на PKBACK# 001. Это происходит на всех версиях Альтиума на которых я работал. Кто нибудь сталкивался с подобной проблемой? Как от этого избавиться?
  2. Здравствуйте! Начал отладку своего устройства на базе контроллера CC430. Отработал передачу пакетов (считаю что они отправляются сужу об этом по возрастающему току и опустошению буфера передатчика), теперь пытаюсь побороть прием. Никак не получается. Приемник несущую видит, об этом сужу по прерыванию, уровень rssi также меняется при включении передатчика (с -102 до -20), однако, синхрослово не принимается и соответственно остальные байты тоже. В чем может быть проблема, бьюсь уже второй день не могу понять.
  3. Здравствуйте! Будте добры помогите с мажоритарным фильтром. ПЛИС CPLD XCR3128. Пытаюсь организовать мажоритарную выборку по приему битового потока. Частота семплирования 57600 Гц, принимаю биты на частотах 2400 Гц, 3000 Гц и 3600 Гц (частотная модуляция) Вот код на veriloge: module filter (clk16x, di, do, rst); input clk16x; input di; output do; input rst; wire [3:0] buffer; // буфер для приема битов delay_line_3 Unit2(.clk(clk16x), .rstn(rst), .d(di), .q(buffer)); // заполнение буфера assign do = ( buffer[2] & buffer[1] ) | ( buffer[2] & buffer[0] ) | ( buffer[1] & buffer[0] ); // собственно мажоритарный выбор endmodule delay_line_3 выглядит так: module delay_line_3(clk, rstn, d, q); input clk; input d; input rstn; output [3:0] q; reg [3:0]q; always @(posedge clk, posedge rstn) if(rstn) q <= 4'b0; else q <= {q[2:0], d}; endmodule главный модуль: module main(mclk, mode, tr, ena, sclk, d, rdy, rx, tx, frx, txl, ctrl, pull); input mclk; input mode; // 1 = high-rate, 0 = low-rate input tr; // 0 = receive, 1 = transmitt input ena; input sclk; inout [7:0] d; output rdy; input rx; output tx; output frx; // filtered rx. for low-rate only input txl; output [1:0] ctrl; output pull; reg [4:0] div; reg m; wire clk; initial begin div = 4'b0000; m = 1'b0; end // transiver controll assign pull = tr & ena; assign ctrl = (ena)? {1'b1,~tr} : 2'b00; // frequency divider for low-rate mode always @(posedge mclk) if (ena) div <= div + 1; // sotf switching always @(negedge mclk) if (ena & (div[3:0] == 4'b1000)) m <= mode; assign clk = (m)? mclk : div[3]; wire df; assign frx = ({ena, mode, tr} == 3'b100)? df : 1'b0; filter U1(.clk16x(clk),.di(rx),.do(df),.rst(~ena)); endmodule Входная частота MCLK = 921600 Гц. Собственно на симуляторе все отлично, на железе полная фигня. Бывает фильтруется нормально бывает нет. Косяк заключается в несовпадении длительностей импульсов во входом и выходном сигналах. Т.е допустим на входе длительность лог. 1 160 мкс на выходе - 120 мкс. Битовый поток обрабатывает МК. При включении фильтра получаю до 10-15 ошибок за 100 сеансов приема. Если в модуле filter тупо ставлю assign do=di, прием МК ведет безошибочно. Где может быть собака зарыта. Не могу понять.
  4. Привет всем! Такой вопрос собрали плату оцифровки видеосигнала на основе АЦП ADV7183, при включении АЦП за основу была взята схема из datasheet-а на енту микросхему. При подаче питания возникает проблема с генерацией тактовой частоты 27МГц. Использовался кварц и на первой и на третьей гармонике, при этом при включении кварца использующего третью гармонику вместо 27 МГц имеем 9, а при кварце использующего первую гармонику генерации нет совсем. Подскажите пж в чем может быть причина? Раскажите об опыте использования этой микросхемы