ВНИМАНИЕ! На форуме началось голосование в конкурсе - астрофотография месяца - ИЮЛЬ!
0 Пользователей и 1 Гость просматривают эту тему.
wire busy_DS18B20;// wire reset = !busy_DS18B20 ? reg1[4] : 1'b0;wire read = !busy_DS18B20 ? reg1[5] : 1'b0;wire write = !busy_DS18B20 ? reg1[6] : 1'b0;wire wire_out;wire presense;reg [7:0] out_byte_DS18B20;// = 8'h55;testwire busr = reg1[5] ? T_SENSOR : 1'bz;//датчик отдаёт данные----------->-|one_wire DALLAS_DS18B20 ( // | .wire_out(wire_out), //--------------------------------------------|---->-| .reset(reset), //<==сброс термосенсора byte=0x10; | | .read_byte(read), //<== команда чтения byte=0x20; | | .write_byte(write), //<== команда записи byte=0x40; | | .wire_in(busr), //LOC = P161 DALLAS DS18B20 THERMOSENSOR----<-| | .presense(presense), //--> вывел на ЛЕД - ничего нет | .busy(busy_DS18B20), //--) а тут чё-то есть | .in_byte(reg12[7:0]), //<==байт команды для термосенсора | .out_byte(out_byte_DS18B20[7:0]), //==>данные температуры ------>| | .clk(cc[4])//<== 1.5MHz | | ); // | |assign T_SENSOR = reg1[6] ? wire_out : 1'bz;//датчик принимает команды--------<-| wire [7:0] data_msb;// |wire [7:0] data_lsb;// |//***************************************************************** |// ПРИНИМАЕМ ДАННЫЕ С ТЕРМОДАТЧИКА И ОТПРАВЛЯЕМ ИХ В ФОРМУ 0...4096 |//***************************************************************** |MSB_LSB DS18B20_to( // | .clock(c48), //Clock | .data_in(out_byte_DS18B20[7:0]),//<-----данные с термосенсора-<| .strob_in(!read), //<-----строб с термосенсора .LSB(data_lsb), //------>гоним в кадр .MSB(data_msb) //------>гоним в кадр );
Электрически по шине двусторонний обмен есть? На ресет хоть отвечает?
Verilog это язык сатаны
Цитата: Mixa от 18 Дек 2015 [11:37:22]Электрически по шине двусторонний обмен есть? На ресет хоть отвечает?в одну сторону точно есть. осциллом проверял
Ну и ресет от басмастера до спецификации по даташиту не дотягивает, хотя, скорее всего, воспринимается.
как не дотягивает? я же там 480мксек выставил, даже чуток более, 488 мксек
Цитата: Andreichk от 23 Дек 2015 [16:41:34]как не дотягивает? я же там 480мксек выставил, даже чуток более, 488 мксекЯ по клеточкам не смотрел, воспринял маркер 438 как ширину импульса.
может убрать внешнюю подтяжку и засадить внутреннюю, спартанскую?
Цитата: Andreichk от 23 Дек 2015 [16:34:27]может убрать внешнюю подтяжку и засадить внутреннюю, спартанскую?Я не про это. Я про то, что на выходе спартана активная лог. 1. Выразился иносказательно. Переключение с режима активного на режим входа чинить надо.
Падение до половины часто представляет из себя борьбу двух выходных сигналов - 0 и 1. Вывод ПЛИС в HiZ СРАЗУ после подачи какой либо команды датчику!