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

Опыт использования KiCAD

Здравствуйте!

 

Я уже давно пользуюсь KiCAD-ом (первое устройство в нем я сделал 10 лет назад), но в основном использовал его для рисования схем (платы разводили другие люди в более серьезных CAD-ах) или для совсем простых устройств.

 

С появлением новых возможностей решил попробовать развести что-то посложнее с дифпарами и выравниванием длин. Результат в прикрепленном файле.

 

Сразу скажу, что я не занимаюсь трассировкой, т.е. теорию знаю, но практикой не особо владею. По этому судите не сильно строго.

 

И собственно, вот то, чего мне не хватало:

 

Более гибкого задания правил трассировки. Например, хочется задать разную ширину дорожек на внешних и внутренних слоях. Сделать зоны на плате со специфическими параметрами трассировки (у меня есть корпус BGA с шагом 0.5, там нужны очень тонкие дорожки).

 

Не хватало раскраски цепей. Я видел в интернете наколеночный патч, но его не приняли в апстрим.

 

Не совсем понятно по какой причине сделано так, что при выключении внешних слоев контактные площадки продолжают отображаться. Это часто мешает, когда находишься на внутреннем слое (даже в контрастном режиме). При этом их отключение находится не на вкладке "Слои".

 

Хотелось бы иметь возможность выравнивать длину дорожек по сумме длин нескольких цепей. Например, сигнал проходит через резистор, и нужно выравнять длину по сумме до резистора и после.

 

Очень полезной опцией было бы отключение неиспользуемых контактных площадок на внутренних слоях на переходных отверстиях (да и в обычных отверстиях тоже). В моем случае это позволило бы сократить количество слоев до 4-х.

 

Я не смог стандартными средствами сделать нормальный сборочный чертеж, потому что в редакторе компонентов нельзя добавить еще один экземпляр текста REFDES на другой слой. Пришлось править файл kicad_pcb вручную (не совсем вручную, с помощью скрипта в Emacs), чтобы сделать копии текста и линий с шелкографии на слой Fab с одновременным уменьшением размера и толщины.

 

Наверное это не всё, есть какие-то еще мелкие придирки, но они не существенны. Например, нельзя отключить связь между Pcbnew и Eeschema, когда выделяешь компонент на плате, и указатель на схеме тоже переносится на этот компонент.

 

Вот как-то так. Плата отправилась в производство, посмотрим, что из этого получится.

 

Чертежи:

board.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

embddr

Я разводил DVI и LVDS с дифпарами. На разрешении 640х480 - всё было нормально, на большем пока не проверял. Переделаем матрицу, тогда проверю на 1024х768.

Выравнивание можно сделать в ручном режиме - длина проводника отображается. И "загогулины" тоже приходится рисовать вручную - штатный инструмент глючит. Не слишком удобно, но и денег (у некоторых пакетов запредельных) не стоит.

Для сборочного чертежа я пока нашёл такой способ: сгенерировать все нужные слои в формате SVG, отредактировать их в Inkscape, объединить в одну картинку и сохранить в нужном формате. Только при преобразовании в DXF масштаб меняется (а может при получении SVG).

Смысла в отключении связи Pcbnew и Eeschema не понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выравнивание можно сделать в ручном режиме - длина проводника отображается. И "загогулины" тоже приходится рисовать вручную - штатный инструмент глючит.

 

Макросы в гост-версии кикад помогают рисовать "загогулины". Из основного их успешно выпилили.

 

to embddr

 

Насчет скриптов - это правильный подход.

Форматы все открыты и текстовые -> чудить можно как угодно.

 

Я скриптами заношу задержки в чипе у плис по данным из файла производителя.

 

Насчет длин - ИМХО, надо еще учитывать толщину платы при переходах со слоя на слой, при двух переходах на 2мм плате до 25 псек набегает.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смысла в отключении связи Pcbnew и Eeschema не понял.

Я точно не помню, но было как-то так: мне нужно было найти элемент на схеме по расположению на плате (связь включена), а потом определить название цепи на ножке микросхемы, воле которой он стоит. Вот если не отключить связь, то после щелчка по пину микросхемы курсор перепрыгивает на страницу с микросхемой, а мне этого не нужно.

 

Насчет скриптов - это правильный подход.

Форматы все открыты и текстовые -> чудить можно как угодно.

 

Я скриптами заношу задержки в чипе у плис по данным из файла производителя.

 

Насчет длин - ИМХО, надо еще учитывать толщину платы при переходах со слоя на слой, при двух переходах на 2мм плате до 25 псек набегает.

Да, этим мне и нравится KiCAD. Особенно после того, как начали внедрять s-expressions, с ними очень удобно работать из лиспа.

У меня есть скрипт на scheme, который парсит схемные файлы в обе стороны. Я из этих даных делаю BOM и вношу какие-то изменения в схему (например, можно автоматически проставить футпринты, переименовать поля в элементах, и пр.).

 

Про длины согласен, для корректной работы нужно добавить описание стекапа с толщинами диэлектрика, и можно будет автоматически прибавлять длину переходного отверстия.

Хотя, если копать еще дальше, то нужно учитывать геометрию проводника и вычислять кратчайшие пути, но это по-моему не все большие кады делают.

 

Макросы в гост-версии кикад помогают рисовать "загогулины". Из основного их успешно выпилили.

У меня 4.0.3-stable из репозитория ArchLinux, там есть макросы. В unstable выпилили? Зачем?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот еще что забыл: copper thieving - заполнение пустых пространств на внутренних слоях медными квадратиками (или кружочками).

Можно было бы это сделать на базе зон с заполнением квадратами, а не сплошняком. И еще прибавить к этому удаление квадратов меньше определенной площади.

 

Я делал вручную:

  1. нарисовал неподключенную зону;
  2. экспортировал в SVG;
  3. в Inkscape сложил это с шаблоном заполнения квадратиками;
  4. вручную удалил неполные квадраты;
  5. экспортировал в DXF;
  6. в QCAD'е заполнил квадратики заливкой линиями;
  7. импортировал DXF в KiCAD'е.

Не сложно, но много лишних телодвижений. Хотя, по большому счету, можно было вообще не делать, а залить сплошной зоной с большими зазорами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот что получилось:

post-40233-1477126695_thumb.jpg

 

А это микросхема, под которой проводники шириной 0.075мм:

post-40233-1477126699_thumb.jpg

 

Были некоторые вопросы со стороны производителя, связанные со сборочным четрежом (который в KiCAD'е нельзя сформировать автоматически). Например, на некоторых элементах я не указал первый вывод, и пришлось ориентироваться по шелкографии. В остальном проблем не было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...