TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: LUCHO512 en 01 de Noviembre de 2010, 09:10:58

Título: Conectar PIC16F628A al USB???
Publicado por: LUCHO512 en 01 de Noviembre de 2010, 09:10:58
Hola Gente, les traigo una inquietud, resulta que ayer revisando mi programador vi que tenia un PIC16F628A y conectado al USB entre las patas 7 y 8, como lo hacen funcionar alguien sabe?  la emulacion de USB sera pro software?

Adjunto foto del progamador el modelo es UPP628

Título: Re: Conectar PIC16F628A al USB???
Publicado por: migsantiago en 01 de Noviembre de 2010, 10:19:31
Hola, sí es probable que lo hagan por software ya que:

- No hay ningún chip de apoyo USB en la PCB
- Se usa RB0 como interrupción externa
- Se hace un overclocking al PIC16 colocándole un cristal de 24MHz (6MIPS)

Leyendo en otros foros veo que es un programador muy lento, que tarda mucho en cargar el HEX en el pic. Hay AVRs sin USB que también pueden emular HID, pero estos corren a 12MIPS.

En la foto de la página web se observa que antes o ahora el programador incluía un PIC18F14K50.

Sería interesante implementar por software USB en un PIC16 por cuestiones de precio. El primer paso que yo daría es modificar alguna librería de USB virtual para AVR e implementarla en los PICs.

http://www.obdev.at/products/vusb/index.html
Título: Re: Conectar PIC16F628A al USB???
Publicado por: LUCHO512 en 01 de Noviembre de 2010, 12:00:10
Exactamente es un poco lento, el modelo que tengo solo tiene un 16F628A y como decis con un cristal de 24Mhz.

Estube leyendo lo que pasaste y esta interesante seguramente se pueda pasar a pic voy a ponerme a estudiar el tema lastima que de C no caso una!!!

Si encuentro algo mas de info la voy a ir posteando para que opinemos entre todos!

Y si que estaria bueno tener un PIC economico con soporte USB!

Gracias...
Título: Re: Conectar PIC16F628A al USB???
Publicado por: WillyP en 01 de Noviembre de 2010, 12:08:17
Creo que con la llegada del 18F13K50 de 20 pines, con módulo Usb 2.0, 4K útil de flash y un precio más económico que la mayoría de Pics 16F no vale la pena emular por software una comunicación Usb.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: migsantiago en 01 de Noviembre de 2010, 12:11:19
Creo que con la llegada del 18F13K50 de 20 pines, con módulo Usb 2.0, 4K útil de flash y un precio más económico que la mayoría de Pics 16F no vale la pena emular por software una comunicación Usb.

Tienes mucha razón Willy, es momento de abandonar al 18F2550 de siempre.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: LUCHO512 en 01 de Noviembre de 2010, 13:42:37
La verdad que tienen razon estube buscando en mis provedores y salen algo de 4 dolares no vale la pena ponerse a renagar!!!
Título: Re: Conectar PIC16F628A al USB???
Publicado por: Nocturno en 01 de Noviembre de 2010, 14:52:40
Qué bueno, no conocía esos 18F, pero tener USB en un QFN de 5mm. es una verdadera pasada.
Voy pidiendo algunos :)
Título: Re: Conectar PIC16F628A al USB???
Publicado por: migsantiago en 01 de Noviembre de 2010, 15:13:26
Yo prefiero los DIP para pruebas en protoboard. Ya con proyecto en mano me iría por los SMD.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: Suky en 01 de Noviembre de 2010, 15:25:51
Qué bueno, no conocía esos 18F, pero tener USB en un QFN de 5mm. es una verdadera pasada.

Ufff!!! Realmente que si!!
Título: Re: Conectar PIC16F628A al USB???
Publicado por: WillyP en 01 de Noviembre de 2010, 15:51:48
Así es están buenos estos Pic, el 18F14K50 8K flash útil, mitad de precio que el 18F2550 pero con el 50% menos de memoria de programa que este último, si alcanza va perfecto.
Si lo utilizan chequeen primero el datasheet de silicon erratas, tiene una en el conversor A/D, me comí una tarde por no revisar primero.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: bmfranky en 04 de Noviembre de 2010, 10:52:42
Hola chicos, revisen también ,que lean el ultimo manual, yo los compre hace mas de un año e imprimí el manual, ahora resulta que la mitad de opciones que ponía no existen y otras si, por ejemplo el primer manual y las paginas de selección de componentes anuncian 8 canales para touch panel y en el ultimo ya no viene ni reflejado. ahora mismo estoy gastando un 18f14k50 para un letrero publik, en cuanto acabe la parte de actualizar la eeprom de los mensajes por usb, lo publico incluyendo esquemas y placas. Por cierto la comunicación por usb, va niquel , y ajustando la ram no consume demasiada, de momento unos 150 bytes.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: migsantiago en 04 de Noviembre de 2010, 11:11:45
Hola chicos, revisen también ,que lean el ultimo manual, yo los compre hace mas de un año e imprimí el manual, ahora resulta que la mitad de opciones que ponía no existen y otras si, por ejemplo el primer manual y las paginas de selección de componentes anuncian 8 canales para touch panel y en el ultimo ya no viene ni reflejado. ahora mismo estoy gastando un 18f14k50 para un letrero publik, en cuanto acabe la parte de actualizar la eeprom de los mensajes por usb, lo publico incluyendo esquemas y placas. Por cierto la comunicación por usb, va niquel , y ajustando la ram no consume demasiada, de momento unos 150 bytes.

Hola, seguramente descargaste una versión "preliminar" del manual. Pero es buena la sugerencia, incluso también hay que leer las erratas.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: willynovi en 04 de Noviembre de 2010, 11:22:41
volviendo al tema del USB en el 16F628, claro que es posible, y el overclocking es algo necesario, aunque no creo que se pueda implementar mas de USB 1.1 por el tema del procesamiento.

Creo que seria conveniente de intentar algo así hacerlo en ASM, porque en C consumiria mucha memoria para la comunicacion y luego para el programa principal muy poco quedara.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: migsantiago en 04 de Noviembre de 2010, 11:36:38
Usando C bien optimizado (versiones Pro de los compiladores), seguro que se puede. Eso sí, con el overclocking indicado.
Título: Re: Conectar PIC16F628A al USB???
Publicado por: LUCHO512 en 04 de Noviembre de 2010, 13:08:15
Preguntonta!!! Se podria hacer algo en ASM y despues meter esa rutina en otros compiladores como Basic???

no tengo ni idea de ASM disculpen si es tonta la regunta!
Título: Re: Conectar PIC16F628A al USB???
Publicado por: migsantiago en 04 de Noviembre de 2010, 13:48:33
Preguntonta!!! Se podria hacer algo en ASM y despues meter esa rutina en otros compiladores como Basic???

no tengo ni idea de ASM disculpen si es tonta la regunta!

Todo compilador de alto nivel (Basic, C, etc.) tolera código embebido en ASM.
Título: pasar a usb los datos eeprom
Publicado por: joseydoris en 02 de Diciembre de 2018, 19:50:12
Un saludo a todos:Quisiera pasar los datos de la eeprom del 16f628 a una usb para despues leerlos en la pc,o en su lugar poner la usb como eeprom y leerlos en la pc.Es para leer los eventos ocurridos durante un dia.En asembler,por favor, ya que con C++ no sabria ni por donde empezar.Vi que lo hacian con ardruino pero como digo de C++ ni papa.Att jose antonio
Título: Re:pasar a usb los datos eeprom
Publicado por: elreypic2 en 04 de Diciembre de 2018, 12:32:55
Un saludo a todos:Quisiera pasar los datos de la eeprom del 16f628 a una usb para despues leerlos en la pc,o en su lugar poner la usb como eeprom y leerlos en la pc.Es para leer los eventos ocurridos durante un dia.En asembler,por favor, ya que con C++ no sabria ni por donde empezar.Vi que lo hacian con ardruino pero como digo de C++ ni papa.Att jose antonio

Este tema ya lo había respondido antes en otro post, pero aquí voy de nuevo. Lo que intentas hacer no se puede realizar con el microcontrolador PIC16F628A, porque lo que tú necesitas es un USB host para poder manejar el USB drive directamente. Debido a lo que comentas de que no tienes conocimiento de C (y por lo que veo no mucho en electrónica tampoco), es recomendable que uses un módulo comercial que ya haga lo del USB host (regularmente estos usan un PIC24, PIC32 o un ARM), estos se manejan por UART, SPI o I2C. Me he encontrado el siguiente módulo que se adpata perfectamente a tus necesidades y con ese lo puedes enlazar con tu aplicación en el micro PIC16F628 y enviarle los datos de la EEPROM.
Este es el módulo:
http://www.hobbytronics.co.uk/usb-host-mini

He encontrado otro módulo que es básicamente la misma solución pero, es mucho más barato. Se trata del módulo basado en el integrado CH376s. Este tiene la capacidad de trabajar como USB host e internamente ya contiene el manejo de los archivos en formato FAT12, FAT16 y FAT32. Su interface hacia el microcontrolador puede ser: UART desde 9600bps hasta 921600bps; SPI o paralelo. Tambien contiene una interface SPI para conectar una SD card, lo que lo le da un plus.
Aquí esta un glog que hace una excelente referencia al uso de este módulo:

https://arduinobasics.blogspot.com/2015/05/ch376s-usb-readwrite-module.html

Espero que esto te de un norte.

elreypic.
Título: Re:pasar a usb los datos eeprom
Publicado por: uZYNQ en 04 de Diciembre de 2018, 20:07:19
Un saludo a todos:Quisiera pasar los datos de la eeprom del 16f628 a una usb para despues leerlos en la pc,o en su lugar poner la usb como eeprom y leerlos en la pc.Es para leer los eventos ocurridos durante un dia.En asembler,por favor, ya que con C++ no sabria ni por donde empezar.Vi que lo hacian con ardruino pero como digo de C++ ni papa.Att jose antonio

Si lo que quieres es leer los datos y tenerlos en el PC, como yo lo veo, también podrias establecer una comunicación serial uart a usb con un cable o modulo uart-usb que se consiguen facilmente, son economicos y la programación del enlace es mas facil del lado del micro y del lado del pc porque es simplemente rs-232. Se leen los datos de la eeprom y se transmiten al pc y alli los recibe un programa que lo puedes desarrollar en cualquier software de alto nivel, visual basic, python, C, matlab, etc.
Título: Re:Conectar PIC16F628A al USB???
Publicado por: uZYNQ en 04 de Diciembre de 2018, 20:13:44
Claro, Si son muchos datos y la eeprom no te es suficiente alli si necesitarias el pendrive o tarjeta SD y por lo tanto si requieres de otro micro que soporte ser Host como ya se dijo! o mas hardware como el tarjetero SD. Depende de cuantos datos necesitas almacenar.