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

ViKo

Модератор
  • Постов

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

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


  1. Только Control() при этом должна быть отдельной функцией, иначе указатель на нее не создать. :(
  2. А я, наоборот, сторонник минимализма. Не хочу писать ничего лишнего. Так мне красивее кажется. А за ссылку на статью - спасибо, MrYuran!
  3. Повторю и дополню VVD_2 Как конвертировать плату в псевдодюймах из PCAD 4.5 в P-CAD 2006 Описывается последовательность действий для плат, созданных в "псевдодюймовой" системе, где 1000 mil = 25 mm, 1 mm = 40 mil. В PCAD 4.5 с помощью pdifout.exe (рекомендуются ключи -ni -e -np, но у меня и без них получается) из xx.pcb получить файл xx.pdf. Заменить в файле xx.pdf единицы измерения DBunit "MIL" на "DECIMICRON", так из псевдодюймов получаются десятки микронов (1000 mil -> 10 000 µm = 10 mm). Можно заменить DOS-кодировку символов на Windows-кодировку, программой Dos2WinFree.exe, но мне это не потребовалось. Можно создать или отредактировать таблицу площадок xx.tbl, важен диаметр отверстий. Таблица отверстий состоит из строк, в которых указаны PinType, Tool, Diameter. Чтобы после всех манипуляций получить правильный диаметр отверстий, необходимо, чтобы в таблице диаметр был в 63,5 раза меньше. Но можно отредактировать типы площадок, переходных отверстий и стили текста потом, в P-CAD 2006 PCB, особенно для крепежных отверстий, которые в pcad 4.5 задаются какими-то нереальными. Пример таблицы:0 1 0.01260 % VIA15D08.PS 1 2 0.01417 % S16D09M.PS 2 3 0.01417 % C16D09M.PS 3 3 0.01417 % C16D09M.PS 4 3 0.01417 % C16D09M.PS 7 4 0.01575 % C175D10M.PS 8 5 0.01260 % C15D08M.PS 9 6 0.01732 % C19D11M.PS 11 7 0.02047 % C21D13M.PS 13 8 0.02362 % C23D15M.PS 15 9 0.01732 % C26D11M.PS 17 10 0.02835 % C29D18M.PS 19 11 0.03307 % C32D21M.PS 20 12 0 % R28X61M.PS 21 13 0.03150 % C34D20M.PS 22 14 0 % R61X28M.PS 23 15 0.03150 % C41D20M.PS 24 16 0.03150 % C61D20M.PS 27 17 0.05039 % KREP.PS 49 18 0 % 100 19 0 % REPER.PS В P-CAD 2006 импортировать файл xx.pdf, задать соответствие слоев и таблицу площадок. Отметить конвертировать описания площадок из графики, а не встроенной таблицы апертур, тогда будут описаны планарные площадки.Сохранить плату xxxx.pcb в ASCII формате, .это необходимо для следующей программы масштабирования.Программой scalepcb -s 2.5 -o xxxxout.pcb xxxx.pcb увеличить плату в 2.5 раза.Окончательно отредактировать плату xxxxout.pcb в P-CAD 2006. Убрать ненужные стили площадок (Purge Unused Styles), переходных отверстий, текста, отредактировать оставшиеся. Если большие площади были нарисованы проводниками, и т.к. в P-CAD 200X проводники подводятся к центру площадок, возникают неприсоединенные цепи. Их можно попытаться устранить командой Utils\Reconnect Nets, но делать это придется очень много раз.
  4. Есть вариант без switch void Control_Indication(bool ctrl) { if (ctrl) { ... // Control } ... // Indication }
  5. И проц крутой - STM32F103, и компилятор крутой - Keil RealView MDK-ARM 4.12 И делать так не хочу. А подумать не помешает... :) Оверхед остается, если принять во внимание, что иногда мне нужно сразу Control-Indication(), а иногда только Indication(). Если с переключателем, так это еще более избыточно. Лучше уж 2 независимые функции.
  6. Это - понятно. Так и делается, естественно. Вопрос, скорее, теоретический. Имеется некоторая избыточность в виде лишнего вызова, если принять во внимание, что Contol без Indication не бывает.
  7. На ассемблере у меня были подпрограммы, в которых сначала идет управление, а потом индикация. И можно было при желании вызвать только индикацию, и вернуться обычным возвратом в конце подпрограммы. Можно ли так сделать на C? Иметь в середине функции метку, и вызвать функцию по указателю на эту метку?
  8. Вот пара примеров. Посмотрите в RTL Viewer, как выглядят схемы. module exTwoEdges ( input wire clk1, clk2, output logic dout ); always @(posedge clk1, posedge clk2) begin if (clk1) dout = 0; if (clk2) dout = 1; end endmodule module exTwoEdges ( input wire clk1, clk2, output logic dout ); always @(posedge clk1, posedge clk2) if (clk1) dout = 0; else dout = 1; endmodule
  9. А еще проще - написать текст вручную, и обвести вручную же линиями. :) Или наоборот...
  10. Все делать синхронным. Иметь в ПЛИС тактовый сигнал, частоты которого хватит для любых манипуляций со входными сигналами. Задержать сигнал на триггере, тактируемым этим тактовым сигналом (как и все остальные триггеры). Когда входной сигнал уже в 1, а на триггере еще 0 - вот и фронт. На входе для сигналов требуется ставить так называемые "синхронизаторы" на паре триггеров. Чтобы избежать метастабильных состояний, когда тактовый сигнал по времени совпадает с изменением входного. Издержки синхронного дизайна.
  11. В эпоху 7400 это тоже считалось "дурным тоном" или "высшим пилотажем", смотря кто как оценивает. 2 Allregia Оптимизатор повыбрасывал, вы правы. Можете повыводить на выходы все свои сигналы, тогда они должны остаться.
  12. LPC2478 + SDRAM

    Может быть, так: uint16_t Var __attribute__((at(0x60000000)));
  13. Если принять во внимание, что Вселенная имеет конечный возраст, получается, что любой сигнал имеет "размазанный" спектр, и теорему Котельникова нужно подкорректировать, сдвинуть минимальную частоту дискретизации вверх, чтобы захватить весь "размазанный" спектр. Пусть совсем на немного, однако... истина дороже! Как думаете, может нам Нобелевку стоит попросить? :)
  14. Прошло почти 20 дней, а пустяковая проблема так и осталась нерешенной. вспоминается фильм "12", когда Михалков говорит - "Видите эту трубу, 40 лет так стояла... И всё у нас так!"
  15. Нет там такой галочки. Разве что в каких-нибудь "продвинутых пиратских сборках". Ставится отдельно. У меня симулятор был на диске с P-CAD 2002, с тех пор более новой версии не видел. В работе устраивает. А в перспективе, да, все - на AD.
  16. А чем не устраивает выделить и скопировать, в тот же OpenOffice документ?
  17. PDF-Xchange Viewer позволяет создавать комментарии, подчеркивания, зачеркивания, измерять, рисовать и т.п. Как и где они сохраняются, я не разбирался. После знакомства с ним я выбросил Foxit Reader из списка must have. А если по-нормальному создавать pdf файлы, то я пользовался Adobe Acrobat (так, кажется), что входит в состав Adobe CS (вместе с Фотошопом, Иллюстратором и кучей др.). Тогда же и принтер виртуальный появляется для преобразования всего в pdf. И еще OpenOffice позволяет экспортировать документы в pdf.
  18. Для просмотра pdf файлов лучше, чем уже упоминавшийся PDF-XChange Viewer не найти. http://www.tracker-software.com/ бесплатной версии хватает на 100%, а там еще и платные есть.
  19. 2 Prutvel не надо реветь... Книжку! Книжку читать надо! Лопаткин А.В. P-CAD 2004. может, уже и поновее что вышло Там он буквально за руку водит, как рисовать, что писать...
  20. Вычисление CRC

    Стало быть, согласны, что нужно было сделать static const и внутрь функции задвинуть?
  21. Вычисление CRC

    2 svl Crc32Table нужно было внутрь функции вставить, была бы локальная таблица констант. Все равно больше нигде не нужна.
  22. Отчего ж нет? Запросто. От номиналов резисторов зависит, от крутизны фронтов тактов, от расстояния между ними. На любой высокоомный вход наводки лезут. Отрежьте дорожку, проводом бросьте - узнаете.
  23. Так, может, какой-то из резисторов ЦАПа не запаян, как следует? Или номинал не тот? Или сигнал с ПЛИС не дошел?
  24. Беда. Они, наверное, уже и не выпускаются. Преподаватель ваш отстал от технического прогресса. Ему самому пора учиться. Век живи, век учись. Всю вашу схему можно было бы сделать на одном 20-ногом PIC микроконтроллере, ну еще для каждого из индикаторов по транзистору добавить. Может, еще какой мелочи потребовалось бы... Вот бы препод удивился :)
  25. Имел в виду то, о чем говорил Сергей Борщ Например uint64_t LL __attribute__ ((at(0x20001000)) uint32_t L __attribute__ ((at(0x20001004)) Компилятор выдаст ошибку.
×
×
  • Создать...