TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado 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
-
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
-
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...
-
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.
-
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.
-
La verdad que tienen razon estube buscando en mis provedores y salen algo de 4 dolares no vale la pena ponerse a renagar!!!
-
Qué bueno, no conocía esos 18F, pero tener USB en un QFN de 5mm. es una verdadera pasada.
Voy pidiendo algunos :)
-
Yo prefiero los DIP para pruebas en protoboard. Ya con proyecto en mano me iría por los SMD.
-
Qué bueno, no conocía esos 18F, pero tener USB en un QFN de 5mm. es una verdadera pasada.
Ufff!!! Realmente que si!!
-
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.
-
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 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.
-
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.
-
Usando C bien optimizado (versiones Pro de los compiladores), seguro que se puede. Eso sí, con el overclocking indicado.
-
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!
-
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.
-
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
-
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.
-
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.
-
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.