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

drozel

Свой
  • Постов

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

  • Посещение

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


  1. А почему без координатора сеть превращается в анархию? Я этот момент не совсем понимаю
  2. А можете в двух словах чуть более подробнее? Или ссылку, если есть чего понятного почитать. Пока каша в голове. Если говорить про динамический координатор, возможно ли такое на ZigBee? Готовое рабочее решение
  3. Выбор протокола

    Поставим цель: Есть N равнозначных устройств: никаких выделенных координаторов и т.д. Все эти устройства каким-то образом настраиваются: указывается некий SSID, прогружаются одним ключем, настраиваютсян а один канал - не суть. Все имеют уникальный MAC. Любое из устройств может показать список МАКов, которые он видит в пределах действия сети (идеально, если бы каждый при этом расширял область действия сети, выступая репитером (хопом)). Любому доступному MAC в радиусе действия можно послать пакет и получить ответ. Пропускная способность - не критична, команды короткие. Теперь ближе к реализации: Есть CC2538. Вопросы: Помогите с выбором стека/протокола. ZigBee позволяет строить mesh, но вся дока, которую я видел, говорит о том, что должен быть отдельный координатор (не подходит). В принципе, рассмотрю возможность написание своего стека, но пока не вырисовывается картина. Надеюсь, поможете
  4. А если взять шире, но использовать бит? Объем то не супер большой требуете..
  5. QTouch

    Снова вопрос по qtouch к тем, кто пользовался: удалось ли добиться приемлемой частоты опроса сенсоров? У меня qt_measure_sensors(), которая в примерах вызывается по тику таймера каждые 25мс, выполняется больше сотни милисекунд на atmega 328 с клоком 4МГц. Т.е. добиться частоты обновления состояния кнопок порядка хотя бы сотни милисекунд - нереально, т.к. для обнаружения нажатия функция qt_measure_sensors() вызывается несколько раз.
  6. Вот и именно. Вообще не понимаю, откуда растут ноги у ассемблерного стартапа: вроде даже сам ARM поставляет сишный стартап для ядра. Даже если нет, написать структуру на сях - делов на 20 минут. Заодно обработчики дефолтные можно накидать, используя прелести __weak
  7. Вот и мне так показалось Теперь убедился, что мне не показалось, и лучшего способа, похоже, и вправду нет( Жаль, редактор крутейший, а с настройками сущий ад
  8. понял. А чего делать с настройками среды? Он, как я понял, даже цветовую схему хранит в воркспейсе.
  9. Помогите с Eclipse+SVN (GIT). Вот есть проект для ARM на IAR. Создаю структуру папок: soft ---mcu ------prj --------IAR -----------workspace -----------project ------src ---------some_c_files ------inc ---------some_h_files И все это в репозиторий. В workspace хранится список проектов (почти всегда один, хотя бывает и 2, если программа из 2 прошивок - загрузчик например есть и обновляемая прошивка) Теперь переходим на eclipce. Он в workspace хранит кучу всякой гадости - тут тебе и настройки программы (ладно, хрен с ним, закоммитим), и куча папок плагинов. Поправил один исходник - svn тут же ругается на гору missing и modified. Как предполагается использовать его с svn? Держать проект и воркспейс вне репы? А где? Я привык, что в репе есть все, готовое к работе - через полгода вернусь к проекту - checkout и работаем. А тут я что, достану исходники, создам воркспейс, настрою его, создам проект, сделаю импорт из файловой системы? Так? Где я не прав? Направьте на путь истинный
  10. Да мне не мешают, наоборот. Чего тут объяснять то.. Шифратор bin to BCD для часов на логике, написанный в лоб. Ни одной защелки там не будет, сплошная комбинационная логика.
  11. Блин, регистры не регистры. В коде это регистры, после синтеза регистров не будет, они сделаны для возможности присвоения в always, как сказал masics.
  12. Дык это же bin->BCD, 3 курс университета.. Я, помнится, в то время, его на верилоге через деление описывал) Интересно скормить синтезатору, наверняка можно и более компактно описать. Ну, хотя бы вынести кусок в модуль, ведь секундный и минутный - одинаковые
  13. STM32F107 и Virtual Com Port.

    А как Вы "делаете в обычном усарте"? В прервании в буфер складываете? Ну так и тут так сделайте
  14. А можно ли для этих целей использовать Modelsim? Скармливать ему sdf и нетлист из design compiler? Уступает ли этот метод тому же vcs?
  15. Как мне сказали, работает на сусе. Правда, возможно, на более старой версии. Думаете, без шансов?
  16. Пытаюсь скомпилировать исходник для симуляции: vcs ../src/module.v -sverilog -full64 +v2k -debug_all drozel@PC:/media/sf_shareFolder/work/verilog/sim> /vcs ../src/module.v -sverilog -full64 +v2k -debug_all Warning-[LNX_OS_VERUN] Unsupported Linux version Linux version 'openSUSE 42.1 (x86_64) VERSION = 42.1 CODENAME = Malachite # /etc/SuSE-release is deprecated and will be removed in the future, use /etc/os-release instead' is not supported on 'x86_64' officially, assuming linux compatibility by default. Set VCS_ARCH_OVERRIDE to linux or suse32 to override. Please refer to release notes for information on supported platforms. Warning-[LINX_KRNL] Unsupported Linux kernel Linux kernel '4.1.13-5-default' is not supported. Supported versions are 2.4* or 2.6*. Chronologic VCS (TM) Version G-2012.09_Full64 -- Tue Jan 19 14:06:20 2016 Copyright (c) 1991-2012 by Synopsys Inc. ALL RIGHTS RESERVED This program is proprietary and confidential information of Synopsys Inc. and may be used and disclosed only as authorized in a license agreement controlling such use and disclosure. Parsing design file '../src/module.v' Top Level Modules: module No TimeScale specified Starting vcs inline pass... 2 modules and 0 UDP read. However, due to incremental compilation, no re-compilation is necessary. Assertion failed "rename(tmp_file, out_file) == 0" at line 833 in file cgmop.c Command line: /soft/vcs/amd64/bin/cgmop1 -pic -gen_obj rmapats.m rmapats_mop.o --- Stack trace follows: sh: 26924: command not found No context available filelist.hsopt:2: recipe for target 'rmapats_mop.o' failed make: *** [rmapats_mop.o] Error 255 Make exited with status 2 CPU time: .080 seconds to compile + 0 seconds to elab + .008 seconds to link Кто знает, в чем может быть проблема? OS: OpenSUSE 13.2 x64 Пробовал запускать и 32 и 64-битный vcs - ошибка одна
  17. Сейчас считается приличным иметь веб-версию, клиент для android+IOS. По желанию, еще Windows 10.
  18. Жаль, тут нет репутации пользователей, как на ixbt или 4pda. Очень полезная вещь. Спасибо :rolleyes:
  19. Попробовал. Ожидаемо уменьшилось кол-во гейтов: теперь на входе каждого регистра-счетчика - по мультиплексору 2 в 1. На вход управления приходит mode[1]. Т.е. по сравнению с предыдущим вариантом просто упростилась логика определения условия остановки. Спасибо за идею. Я на FPGA частенько напарывался на такую глупую ошибку: есть готовый модуль с шиной на выходе module mod1( input [7:0]a, output c, output [7:0]b); используешь его в проекте, пишешь mod1 mod( .a(a), .c(c), .b(b); а a,b,c - не объявлены заранее. Синтезатор создает их сам, только все шириной 1 бит. Потом только в RTL или в симуляции докапываешься, в чем дело. Тогда я принял за правило писать .b(b[7:0]) - так, если она не объявлена, синтезатор хотя бы ругнется. Потом пришел более опытный товарищ (гораздо более опытный) и сказал, что такое написание бъет по глазам - будто бы я только часть шины b подключил к этому блоку.
  20. module top ( input clk, input nrst, output reg [1:0]mode ); reg [7:0]cnt; always @(posedge clk, negedge nrst) begin if (~nrst) begin cnt <= 0; mode <= 0; end else begin if(cnt<200) cnt <= cnt + 1; if(cnt==99 || cnt==199) mode <= mode+1; end end endmodule Вы говорили про тайминги. Я не до конца понял, что Вы имели ввиду, посмотрел отчет по slack. У варианта 2 они чуть лучше, кроме одного пути: младший бит cnt - сумматор - старший бит через логику. К слову про глитчи: предположим, что на выходе mode еще одна защелка, которая защелкивает по окончанию счета. Вариант 2: Вариант 1:
  21. Хорошее замечание, спасибо. Кстати, отловил еще одно отличие: в синхронном примере нет насыщения счетчика. После того, как добавил, площадь второго варианта стала почти в 1.5 раза больше. Т.е. синхронный более накладный. Видимо, все таки синтезер очень сильно упрощает логику сравнения, даже если речь идет о диапазонах. Еще, в синхронном отстал один critical path.
  22. 1. Сорри, делал второпях, не суть, просто пример. Поправил. 2. Опять же недоглядел. Поправил. 3. Опять суть в константах, не критично. Спасибо, из вашего ответа следует "и так и так можно делать, т.к. второй вариант более экономичен, можно и нужно делать по второму варианту"?
  23. Добрый день. Пытаюсь адаптировать свой verilog, проверенный на fpga, для реализации в кремнии. Периодически возникают те или иные вопросы, ответ на которые хочется найти тут, у спецов. Первый вопрос: Представим 8-разрядный счетчик, считающий по клоку. По достижению им числа 100 нужно переключиться в режим 1, по достижению 200 - в режим 2 и остаться в нем до сброса. Раньше, в ПЛИС (в связи с избыточностью ячеек), я бы сделал так: reg [7:0]cnt; always @(posedge clk, negedge nrst) begin if (~nrst) cnt <= 0; else begin if(cnt<200) cnt <=cnt + 1'b1; end end always @* begin if(cnt<100) mode <= 0; else if(cnt <200) mode <= 1; else mode <= 2; end Теперь, представляю, во что выльется этот код: синтезатор реализует 3 компаратора (причем для определения диапазона) из простых элементов для декодирования значения счетчика. Думаю, как упростить схему. Рождается код: reg [7:0]cnt; always @(posedge clk, negedge nrst) begin if (~nrst) begin cnt <= 0; mode <= 0; end else begin cnt <= cnt+1; if(cnt==100 || cnt==200) mode <= mode+1; end end Тут уже компарирование не диапазона, а конкретных значений, зато логика mode становится синхронной. Проверил в DC - действительно, экономия по площади и кол-ву ячеек - почти в 2 раза. Не имеет ли второй вариант каких-то подводных камней?
  24. Bulk transfer STM32F429

    Поясните? Я тут недавно маялс с ZLP, читал спеи, про это слышу впервые, может быть, корень и моих проблем -тут
  25. Подскажите, когда на схеме выделяешь компонент, в окне PCB происходит зуммирование и выделение соответствующего футпринта. Можно ли провернуть это в обратную сторону? Т.е. выделять футпринт на PCB и получать отцентрированный символ на схеме?
×
×
  • Создать...