Autor Tema: Mini PDA  (Leído 16069 veces)

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

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Mini PDA
« en: 22 de Agosto de 2012, 18:32:04 »
Hola a todos,

después de unos 3 meses de trabajo os traigo mi ultimo proyecto, aun sin terminar. Una pequeña PDA basada en un Cortex-M4 a 170Mhz... Realmente aun no tiene ninguna utilizad final, puede ser una agenda, un reloj de muñeca, un calendario, un osciloscopio, una consola de juegos...no se, ya se verá.
De momento me he preocupado en aprender varias cosas que no había hecho nunca, como mandar a fabricar el PCB, diseñar una carcasa a medida en 3D con Google Sketchup o programar los drivers a bajo nivel en C++.

El esquema electrónico no tiene ningún misterio, con lo mínimo para hacer funcionar el micro y poco más.
 -Circuito de carga de batería. Nunca antes había utilizado un circuito de este tipo y la verdad es que estan muy bien. Solo necesita una resistencia para ajustar la corriente de carga, la batería carga en 15 o 20 min y tiene una autonomía mínima de 1 hora...
 -Conector USB. Aun no he escrito los drivers de USB, de moento solo sirve para cargar la bateria.
 -Conector microSD. Aun no he escrito los drivers para manejar la SD, pero ya lo hice en el pasado con las librerias FatFs y tampoco tiene mucho misterio...
 -Controlador de touch screen. Un pequeño circuito se encarga de leer el touch screen resistivo y entregarnos el valor via SPI.
 -Conector JTAG reducido de 8 pins. He eliminado los que no se utilizaban.


El diseño del PCB tampoco tiene nada de particular. Es un PCB a doble cara, con pistas de 0.15mm, con los componentes en la Top, pistas "locales" trazadas en la Top y pistas "globales" trazadas en la Bottom. Creo que me costaron 10 placas 34€ con gastos de envío incluidos, y los componentes los soldé a mano... Con ese precio nunca mas volveré a realizar una PCB en mi casa.

La carcasa esta bien, me quedo un poco corta, pero esta lo bastante bien. Esta diseñada con el Google Sketchup y el punto de partida es el propio PCB en 3D exportado desde eagle con un plugin. Además utilizé otro plugin en el sketchup para redondear todas las aristas.
Gracias a este plugin del eagle, y a que disponia de todo el tiempo del mundo para medir y re-medir, las ranuras de la carcasa encajan perfectamente en los conectores USB, JTAG y SD.
En la imagen anterior se muestra el PCB creado con el plugin del eagle, pero la carcasa no es la final.

Todo el software esta desarrollado en C++, con el objetivo de estudiar que ventajas e inconvenientes tiene este lenguaje en los sistemas embebidos. He creado unas pocas clases que representan el hw de la placa, para poder manejarlo de manera sencilla desde las capas mas altas del Sw. El C++ te permite modelar los drivers de una manera mas intuitiva y te da muchos más funcionalidades, siempre a costa de mas recursos de CPU...
 -Al final se divide todo en unas 7 clases, organizadas verticalmente, donde las clases superiores son mas genericas y contienen objetos de las clases inferiores que estan mas proximas al Hw.

Por ejemplo, para configurar el touch screen es algo como lo siguiente. Primero inicializamos los objetos de las capas inferiores y se los vamos pasando en la inicializacion de los objectos de las capas superiores.
Código: C++
  1.         Pin busy = Pin( PIN_MODE_INPUT, PIN_PORT_A, PIN_BIT_2 );
  2.         Pin nPenIrq = Pin( PIN_MODE_INPUT, PIN_PORT_A, PIN_BIT_3 );
  3.         nPenIrq.setPuPd( PIN_PULL_UP );
  4.         Spi spi = Spi( SPI_NUMBER_1, SPI_MODE_MASTER, 100 );
  5.         Ads7846 ads7846( spi, busy, nPenIrq );
  6.         TouchScreen tsc = TouchScreen( ads7846 );
  7.         while(1){
  8.                 if( tsc.read( x, y ) ){
  9.                         //...
  10.                 }
  11.         }  
  12.  

La idea es poner una librería de interfaz de usuario sobre la capa de drivers descrita antes, y este ha sido el mejor punto del proyecto....
El micro es muy rápido, cuenta con bastante memoria, tiene FPU, puede manejar un TFT con mucha velocidad, compilador Gcc, según los resultados de CoreMark es el doble de potente que un Pentium 100... pero sin un linux y todas sus librerías asociadas no puedo aprovechar apenas ninguna librería gráfica y me veía obligado a desarrollar una desde cero...
Después de mucho tiempo buscando por internet e intentar portar librerias como Qt, Gtk, Microwindows, MiniGui, Fltk, Woopsi, Glui... por fin encontré Gwen, una librería con muchos widgets, que no depende del SO, que es ansi C++ y que viene preparada para ser facilmente adaptada a cualquier plataforma.
Solo he probado algunos widgets, pero los tiene todos como: label, button, checkbox, tree, listbox, textbox, canvas, windows, tabs, menus... y otra cosa que me gusta es que muchos son "drag and drop", con lo que puedes reorganizarlos como quieras en tiempo de ejecucion.

bueno, espero que os haya gustado. Publicaré las novedades en breve...


« Última modificación: 27 de Febrero de 2013, 17:44:54 por MGLSOFT, Razón: Cambiar los enlaces a imagenes a pedido del autor... »

Desconectado manutek

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 555
Re: Mini PDA
« Respuesta #1 en: 22 de Agosto de 2012, 20:05:36 »
impresionante ¡¡¡¡   ((:-)) ((:-)) la verdad te pasastes terrible el trabajo que te tomastes ...estare siguiendo el hilo y tratando de entender un poco
saludos 
No es la conciencia del hombre la que determina su ser, sino, por el contrario, es su ser social el que determina su conciencia

Desconectado peteorito

  • PIC16
  • ***
  • Mensajes: 133
Re: Mini PDA
« Respuesta #2 en: 22 de Agosto de 2012, 20:15:55 »
Mola  mucha!! Como te lo has currao!! Por cierto la carcasa de que material es?¿ ¿como la has hecho?

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Mini PDA
« Respuesta #3 en: 22 de Agosto de 2012, 22:42:12 »
Que pedazo de trabajo te estas mandando!! Te re felicito por los avances!
Estas usando CMSIS para programarlo?
Saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3585
Re: Mini PDA
« Respuesta #4 en: 22 de Agosto de 2012, 23:17:55 »
Fantástico trabajo. Enhorabuena y sigue con el proyecto.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Mini PDA
« Respuesta #5 en: 22 de Agosto de 2012, 23:34:07 »
 ((:-)) ((:-)) ((:-)) ((:-)) ((:-)) ((:-)) ((:-))

que pedazo de proyecto!!!!   .... excelente ... que nivel jgpeiro ... tan solo observo, porque ni por las curvas alcanzarte jejeje

Saludos
El papel lo aguanta todo

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7779
Re: Mini PDA
« Respuesta #6 en: 23 de Agosto de 2012, 08:15:02 »
Como humilla este muchacho!!! :5] :5] :5]

Buenisimo, Jpeiro !!!   ((:-)) ((:-)) ((:-)) ((:-)) ((:-))

Como cada aporte tuyo !!! :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 604
Re: Mini PDA
« Respuesta #7 en: 23 de Agosto de 2012, 09:49:32 »
Genial el proyecto, gracias por compartirlo

Saludos
La electronica es el arte de manipular señales electricas que transportan información
Jan Davidse

Visita mi blog

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1250
Re: Mini PDA
« Respuesta #8 en: 23 de Agosto de 2012, 10:20:05 »
Muy bueno esta esto.
Jpeiro si no es molestia, con que herramientas soft y hard cuentas para programar ese micro, me ha llamado mucho la atención y me interesaria empezar a jugar.

saludos!!
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6743
    • Micros-Designs
Re: Mini PDA
« Respuesta #9 en: 23 de Agosto de 2012, 15:50:02 »
 :shock: Tremendo trabajo! Felicitaciones  ((:-)) Un vídeo!  :-/
« Última modificación: 23 de Agosto de 2012, 16:04:59 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini PDA
« Respuesta #10 en: 23 de Agosto de 2012, 15:52:40 »
Citar
Por cierto la carcasa de que material es?
La carcasa esta "impresa" en plástico duro. Mandé el diseño a shapeways y me costo solo 8€ mas gastos de envío. Hay distintos materiales disponibles, yo utilicé este "plástico duro" por ser el mas barato de todos.

Citar
¿Estas usando CMSIS para programarlo?
Bueno, estoy trabajando sobre las librerías que me proporciona ST para manejar los drivers, que a su vez hacen uso de CMSIS.

Citar
...con que herramientas soft y hard cuentas para programar ese micro...
Utilizo el ide Keil uVision y el compilador GCC para ARM.
Para programar/depurar utilizo el ulink2.


Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1335
Re: Mini PDA
« Respuesta #11 en: 24 de Agosto de 2012, 02:40:20 »
Buenisimo, gracias por compartir!!! Estare siguiendo el hilo.

Desconectado peteorito

  • PIC16
  • ***
  • Mensajes: 133
Re: Mini PDA
« Respuesta #12 en: 24 de Agosto de 2012, 05:36:11 »
Ok gracias!!!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17429
    • MicroPIC
Re: Mini PDA
« Respuesta #13 en: 24 de Agosto de 2012, 10:56:07 »
Siempre subiendo el nivel. A tus pies.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1494
Re: Mini PDA
« Respuesta #14 en: 24 de Agosto de 2012, 12:53:10 »
Felicitaciones jgpeiro !!! como siempre con proyectos innovadores y de alto vuelo. Lo que más me intereso es la elección de gwen, me la agendo.  Viniendo de un persona con tus conocimientos no sabes la horas hombres que ahorras en la búsqueda de una GUI para embebidos.

Saludos !