Autor Tema: KiPart, asistente generador de simbolos KiCAD  (Leído 7394 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Carl47D

  • PIC16
  • ***
  • Mensajes: 160
KiPart, asistente generador de simbolos KiCAD
« en: 17 de Enero de 2016, 15:20:30 »
La creación de simbolos en KiCAD puede llegar a ser tedioso, pero gracias KiPart, una herramienta hecha en Python desarrollada por un integrante de la comunidad de KiCAD (xesscorp) podemos facilitar mucho el proceso de creación de simbolos.

Mi PC donde tengo KiCAD tiene instalado Windows, por lo que no tiene instalado Python por defecto, asi que tenemos que instalarlo, una version 3.x, además debemos de tener instalado pip, aqui un video de como instalarlo de manera fácil en Windows , estos pasos deben ser adaptados si usan una distro de Linux.

Una vez teniendo Python y pip instalados podemos proceder a instalar KiPart, abrimos una terminal y tecleamos:

Código: [Seleccionar]
$pip install kipart


Presionamos enter y obtenemos lo siguiente:



Podemos comprobar que versión se instalo con el comando:
Código: [Seleccionar]
$kipart -v


Y podemos obtener la ayuda con el comando:

Código: [Seleccionar]
$kipart -h


Hasta aqui todo bien, ahora necesitamos crear un archivo .csv que tenga la información de nuestro simbolo, para esto cree un documento .ods (LibreOffice Calc), lo nombre todopic, el nombre puede ser el que deseemos:



La información con la que debemos llenar el formulario es la siguiente:
* En A1 ponemos el nombre de nuestro componente, en este caso:
* En A2 ponemos Pin, en esta columna va la numeración de los pines del componente.
* En A3 ponemos Name, en esta columna van los nombre de los pines.
* En A4 ponemos Type, en esta columna pondremos el tipo de pin.
* En A5 ponemos Side, en esta columa pondremos el lado del simbolo donde queremos que se coloque el pin.

(El orden de las columnas no importa, las unicas columnas que son necesarias son Pin y Name, las opcionales son Type, Side, Unit y Style)



Y comenzamos a llenar nuestras columnas, primero la de Pin, los pines no tienen que ir en orden ascendente, ya que podemos indicarle a KiPart que ordene los pines por orden ascendente. Asi que lo llene de la siguiente forma:



En la columna Name pondremos el nombre de nuestros pines, en este caso podemos copiar directamente el nombre de los pines desde el datasheet de nuestro componente y pegarlos sin formato en el documento, algunos pines son activos en un estado lógico en bajo, para indicar dichos pines podemos incluir el simbolo "~" delante del nombre del pin, como recomedación la funcipon del pin que sea activa en bajo la ponemos al último en el nombre, ya que al crear el simbolo la raya que nos indica la lógica negada se pone apartir del lugar donde encuentra el simbolo ~ y si la ponemos al principio se nos van a marcar todas las funciones, cosa que en este caso no queremos.
Por ejemplo el pin , la función MCRL en activa en bajo, por lo tanto si la ponemos al principio con el simbolo ~ al crear la libreria se verá asi el pin:



Para evitarlo podemos poner ~MCRL al último y se vera asi:



En la columna Type ponemos el tipo del pin, para conocer que parametros podemos poner ahi nos vamos a la documentación de KiPart:

The type column specifies the electrical type of the pin. The allowable values are:
input, inp, in, clk
output, outp, out
bidirectional, bidir, bi, inout, io
tristate, tri
passive, pass
unspecified, un, analog
power_in, pwr_in, power, pwr, ground, gnd
power_out, pwr_out, pwr_o
open_collector, open_coll, oc
open_emitter, open_emit, oe
no_connect, no_conn, nc


En este caso solo coloque pines de alimentación (pwr) y bidereccionales (bi). Por último la columna Side, otra vez podemos checar los parametros validos en la ayuda de KiPart:

The side column specifies the side of the symbol the pin will be placed on. The allowable values are:
left
right
top
bottom


Asi quedó mi archivo al terminar:



Una vez terminado el archivo, (a mi me tomo cerca de 3 mins. para generar esta lista) guardamos el archivo en formato .csv. Posteriormente nos vamos al directorio donde tenemos dicho archivo y abrimos una terminal y tecleamos lo siguiente:

Código: [Seleccionar]
$kipart todopic.csv -s num -f -o 18F4550_test.lib -w


Donde:
  • todopic.csv es nuestro archivo origen
  • El flag -s num le indica a KiPart que queremos que ordene los pines por número y en orden ascendente. Podemos también ordenarlos por nombre (name) o por fila (row), estos parámetros los podemos encontrar en la ayuda de KiPart.
  • El flag -f le indica a KiPart que queremos que incluya el tipo de pin, orientación o representacion en nuestro simbolo.
  • El flag -o 18F4550_test.lib le indica a KiPart que queremos que el archivo de salida se llame 18F4550.lib
  • El flag -w es para sobreescribir la libreria en caso de que ya tengamos una con el mismo nombre en el mismo directorio.

KiPart procede a armar nuestro simbolo, en mi maquina tardo cerca de 5 segundos asi que en la de ustedes puede tomar mas o menos tiempo. Una vez terminado podemos abrir el archivo xxx.lib en el Eschematic library editor de KiCAD para poder checarlo, añadimos el path del directorio donde tenemos el documento y añadimos la libreria, los pasos para hacer esto estan cubiertos en el excelente tutorial que escribio juanperser1, seleccionamos la libreria que se genero con KiPart, en mi caso se llama 18F4450_test y elegimos el componente que se genero, obtuve el siguiente simbolo:



Como podemos ver el simbolo se creo bien, ,tiene el nombre que le asignamos en el archivo .csv, los pines estan ordenados por su número, sin embargo lo podemos editar si asi lo queremos, KiPart ya hizo el trabajo pesado, al final el simbolo me quedo de la siguiente manera:



Procedemos a guardar los cambios y hemos terminado.
KiPart tiene mas flags que podemos usar, sin embargo no he tenido la necesidad de usarlas en todo caso recordar que una mini ayuda se encuentra en documentación KiPart

PS.
También podemos separar nuestro componente en unidades, es decir poner en una unidad todos los pines de alimentación y en otra todos los bidereccionales por ejemplo. Para hacer esto añadimos otra columna a nuestro archivo, esta columna se llamará Unit y debajo para cada pin especificamos a que unidad pertenecerá.



Guardamos el documento en formato .csv y nos vamos al directorio donde esta, abrimos la terminal y tecleamos el mismo comando que usamos antes para generar el simbolo, el flag -w nos servirá para sobreescribir la libreria vieja.
Código: [Seleccionar]
$kipart todopic.csv -s num -f -o 18F4550_test.lib -w


y nos genera el siguiente simbolo, la unidad A:



Y la unidad B:



Por último no es necesario hacer el empaquetado de forma cuadrada y con los pines en cada uno de los lados, podemos poner los pines donde nosotros queramos. Como ejemplo el simbolo de un PCT2075, esta es la descripcion de sus pines:



Ahora volcamos toda la información a nuestro archivo de texto:



Podemos ver que el nombre del simbolo será PCT2075, pines del 1 – 8 con sus respectivos nombres, basados en la tabla del datasheet del
componente asignamos el tipo de pines, donde bi son pines bidireccionales, clk es un pin de clock, oc es open_collector, pwr es pin de alimentación e in a entradas.
Tambien vamos a especificar el estilo gráfico d enuestros pines, esto se especifica en la columna Style y las opciones que tenemos son las siguientes:

The style column specifies the graphic representation of the pin. The allowable pin styles are:
line, <blank>
inverted, inv
clock, clk, rising_clk
inverted_clock, inv_clk
input_low, inp_low, in_lw, in_b
clock_low, clk_low, clk_lw_clk_b
output_low, outp_low, out_lw, out_b
falling_edge_clock, falling_clk
non_logic, nl, analog


Guardamos nuestro archivo como .csv y abrimos una consola en el directorio donde tenemos el archivo. Para generar simbolo con KiPart hacemos como con el PIC18F4550, cambiando el nombre del archivo .csv y el archivo de salida.

Código: [Seleccionar]
$kipart PCT2075.csv -s num -f -o PCT2075.lib -w


y se genera nuestro simbolo, podemos abrirlo con el Eschematic library editor y obtuvimos lo siguiente:



Saludos  :mrgreen:
« Última modificación: 08 de Febrero de 2016, 12:38:20 por Carl47D »

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4917
Re:KiPart, asistente generador de simbolos KiCAD
« Respuesta #1 en: 17 de Enero de 2016, 15:53:41 »
Gracias Karl47d por tu gran Tutorial ,estoleva a servir a muchos  ((:-))
Saludos

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re:KiPart, asistente generador de simbolos KiCAD
« Respuesta #2 en: 17 de Enero de 2016, 16:07:18 »
Muy bueno Carlos, esto reduce notablemente el trabajo de hacer símbolos, sobre todo cuando son componentes de cientos de pines, ademas de ser mucho mas fácil de revisar en una tabla los posibles fallos.

buen trabajo ((:-)), le pongo una chincheta, por que creo que es una gran ayuda a la creación de símbolos.

un saludo.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado Carl47D

  • PIC16
  • ***
  • Mensajes: 160
Re:KiPart, asistente generador de simbolos KiCAD
« Respuesta #3 en: 17 de Enero de 2016, 16:11:12 »
Citar
Gracias Karl47d por tu gran Tutorial ,estoleva a servir a muchos  ((:-))
Saludos

Ojalá que asi sea :D

Citar
esto reduce notablemente el trabajo de hacer símbolos, sobre todo cuando son componentes de cientos de pines, ademas de ser mucho mas fácil de revisar en una tabla los posibles fallos.

Asi es, el creador de la herramienta lo usa para crear simbolos de FPGAs

Saludos

Desconectado Carl47D

  • PIC16
  • ***
  • Mensajes: 160
Re:KiPart, asistente generador de simbolos KiCAD
« Respuesta #4 en: 19 de Febrero de 2016, 14:49:27 »
Habia tenido problemas con KiPart a la hora de generar espacios entre los pines, todo se soluciona actualizandolo con el siguiente comando:

Código: [Seleccionar]
pip install kipart --upgrade
Hice una prueba:


Ejecute el comando:
Código: [Seleccionar]
$kipart test.csv -s row -f -o test2.lib -w
Y me resulto el siguiente simbolo:


Saludos