Technical Support FAQ
Preguntas
- 1.1
- No puedo borrar un micro flash o JW después de haberlo
programado.
- 1.2-
Compré PIC16Cxxx y no están en blanco
-
1.3 -
Programo un PICxxx y éste ejecuta cualquier cosa
-
1.4 -
(La nueva partida de) PICxxx no me funciona/se queman/fallan/etc
-
1.5 -
Antes compraba PICxxx y ahora no hay/compro PICyyy y mi proyecto no
funciona/funciona mal
-
1.6 - El
oscilador interno del PICxxxx está corrido/mal calibrado
-
1.7 - El
HCSxxx... preguntas genéricas sobre KEELOQ, License
Agreement, DS40149
-
1.8 -
Qué programador/herramienta puedo usar para programar el
PICxxx...
-
1.9 -
Qué debugger/emulador/simulador puedo usar para desarrollar
con PICxxx...
-
1.10 -
Problemas con el ICD2
-
1.11 -
El MPLAB no me deja seleccionar el PIC que quiero programar con
mi...
-
1.12 -
Cómo determino la revisión del PIC...
-
1.13 -
Problemas programando en circuito (PM3/ICDx/etc.)
-
1.14 -
Micros USB
-
1.15 -
Memorias 93xx46/56/66
- 2.1
- Cómo actualizo el PicStart Plus?
2.2
- Tengo el programador Picstart Plus desde hace un tiempo y no puedo
programar un modelo de PIC
-
2.3 -
Compré PIC16Cxxx y el Picstart Plus me dice que no están
en blanco
-
2.4 - No
puedo programar/tengo problemas con PIC... en el Picstart Plus
-
2.5 -
Compré/Tengo un PICStart Plus y no funciona
-
2.6 -
Tengo un PSP y una laptop/no tengo port serie/sólo USB
-
2.7 -
Qué micros puedo programar con el PICSTART Plus ?
- 3.1
- Tengo problemas para programar un módulo Rabbit o un grupo
de ellos.
3.2 -
Acabo de instalar la nueva versión de Dynamic C, o compré
un nuevo módulo, y mi software deja de funcionar (o
combinaciones de ambos)
3.3 -
Cómo modifico el BIOS de Rabbit ?
-
3.4 -
Estoy desarrollando un sistema con Rabbit que hace 'xxx', pero no sé
cómo hacer 'yyy'.
3.5
- Tengo un diseño con Rabbit y a pesar de modificar el seteo
del spectrum spreader no veo diferencia en la generación de
espúreos (EMI). Problemas de EMI/EMC
3.6 -
Tengo el kit/cable del RCMxxxx, puedo programar RCMyyyy ?
3.7 -
Compré Dynamic C/library xxx versión A.x y ahora hay
una más reciente...
3.8 -
Tengo la CAN-xxx/CTC-xxx y no anda/encuentro un error, etc
3.9 -
Quiero adquirir el kit xxx para usar el servicio yyy del proveedor
zzz, qué necesito ?
3.10 -
Conectores de Rabbit
3.11 -
Información sobre el curso/seminario/presentación de
Rabbit
3.12 -
Quiero agregarle memoria al módulo Rabbit...
3,13 -
Problemas de compilación, errores en libraries, etc.
3.14 -
Alternativas a Dynamic C
3.15 -
No tengo port serie/sólo USB
3.16 -
Puedo programar los módulos por TCP/IP ?
3.17 -
Se puede leer un módulo grabado ? Y la library de encripción
?
3.18 -
Compré un módulo nuevo y Dynamic C da errores de
compilación, incluso en las samples
3.19 -
Pedidos genéricos de asesoramiento sobre Rabbit
3.20 -
Quiero compilar a un archivo y me da errores
3.21 -
Me aparece el error/mensaje 'xxx' (ya sea de
compilación o runtime)
- 4.1
- El reloj de tiempo real HT1380 de Holtek no comienza a oscilar
luego de ser alimentado.
- 4.2
- EL codificador HT-12E de HOLTEK no funciona correctamente en un
circuito que hace tiempo utilizo. Problemas genéricos y
quejas sobre HT-12E
-
4.3 - No
puedo leer la información de Caller-ID del HT9032
-
4.4 - De
qué herramientas dispongo para los micros de Holtek ?
-
4.5 -
Necesito una salida open-drain, pero el micro xxx de Holtek no la
tiene
-
4.6 -
Memorias HT93LC46/56/66
- 5.1
- Estoy utilizando un display de 16 caracteres por 1 línea y
los 8 de la derecha permanecen apagados aunque le envíe
información para mostrar.
-
5.2 -
Estoy utilizando un display de dos líneas y la segunda
permanece siempre apagada.
-
5.3 -
Quiero variar la luminosidad del backlight CCFL pero...
-
5.4 -
Compré un display alfanumérico grande y no enciende
5.5 - Qué
controlador tiene el display...
5.6 - El
display se cuelga, funciona mal, hace cosas raras, los de otra
marca/partida me andaban, etc.
5.7 - Qué
direcciones tiene cada línea en los displays alfanuméricos
?
6-
Micros (reset, interferencias, erratas)
- 6.1
- El micro se resetea [[en ambiente ruidoso][con la nueva partida]]
6.2 -
Problemas de EMI/EMC (en general)
-
6.3 - El
periférico 'xxx' no funciona correctamente [en la partida
'yyy']
-
6.4 -
Qué micro de tal fabricante es compatible con tal micro de
otro fabricante ?
-
6.5 -
Necesito una salida open-drain, pero el micro xxx no la tiene
7.1
- Estoy utilizando un módulo GPS 2000I, ET-102, FV-12 o
similar y no consigue obtener datos de ningún satélite.
7.2 - El
GPS no funciona/se cuelga/funciona mal/no tira posición/con
los otros andaba/etc.
7.3 - El
GPS no guarda la hora/el RTC no anda/la información es
incoherente si el string no es válido (void)/etc.
7.4 -
Comparo dos módulos GPS y la hora no coincide
7.5 -
Comparo dos módulos GPS y la posición no coincide
7.6 -
Software, mapas, localización, etc.
7.7 -
Estoy utilizando un módulo GPS ET-332 y no veo la señal
1PPS
7.8 -
Estoy utilizando un módulo ET-312 o similar y no consigue
obtener datos de ningún satélite.
7.9 - El
módulo GPS no entrega posición válida.
7.10 –
La hoja de datos del ET-318 muestra un capacitor de 100pF en serie...
8.1
- Qué herramienta de desarrollo puedo usar para VRS... etc.
9.1
- Qué herramienta de desarrollo puedo usar para SIMxxx ?
9.2 - Qué
fuente puedo usar para SIMxxx ?
9.3 -
Llamadas CSD
9.4 - Qué
prestataria me recomiendan ?
9.5 -
Tengo un módulo SIMxxx y no consigo que tome señal/no
funciona [correctamente]
9.6 -
Tengo un módulo SIMxxx con GPS y no consigue obtener datos de
ningún satélite.
9.7 -
Consultas relacionadas con GPIO y/o aplicaciones particulares, SDK, o
firmware a medida
9.8 - El
módulo GSM [SIM200] no funciona con “determinadas SIM”
9.11 -
No puedo salir del modo transparente/No me reconoce los comandos
10.1
– Tengo un módulo Xtend y...
10.2 –
Alcance
10.3 –
Firmware upgrade
10.4 –
Throughput, thruput, performance, streaming
10.5 –
ZigBee
A.1
- Quiero cambiar/devolver un ...
A.2 -
Estoy trabajando con un modulo de RF WENSHING o similar y observo
ruido en ¨Data Out¨ haya o no transmisión.
- A.3
- Quiero comprar el chip 'xxx' y no figura en stock
-
A.4 -
Caller-ID
-
A.5 -
Tengo una nota de aplicación de Cika y no funciona/encuentro
un error
-
A.6 -
Los componentes xxx [ahora] se queman/funcionan mal/se resetean/son
más sensibles al ruido, tal partida es mejor, etc
-
A.7 -
Pedidos de desarrollo
-
A.8 Los
[nuevos] módulos de RF Wenshing o similar están
corridos/no llegan lejos/no funcionan bien/etc.
A.9 -
Información sobre cursos, seminarios, presentaciones
A.11 -
El lector de tarjetas RFID xxx tiene poco alcance, qué puedo
hacer ?
A.12 -
Orientación: Desarrollo, asesoramiento, venta de componentes
A.13 -
Pedidos internacionales
A.14 -
Quiero saber el precio del ...
A.15 -
El componente 'xxx' no funciona como dice la hoja de datos/funciona
mal, etc.
A.16 -
Pruebas, demostraciones, etc.
A.17 -
Consultas, inquietudes
A.18 -
Qué hace la patita E/D del TWS-HS-2 de Wenshing ?
A.19 -
Preguntas genéricas sobre celdas Peltier
A.20 -
Quisiera que me asesoren y conocer losdiversos aspectos del mercado
local y las aplicaciones de ...
A.21 -
Estoy desarrollando un sistema sobre xxx que interactúa con
yyy e interfaces zzz y necesito ...
A.22 -
Micros USB
A.23 -
Memorias 93xx46/56/66/86
A.24 -
Enlaces de RF, full duplex, etc.
A.25 -
Tienen algo probado de .../las notas de aplicación funcionan
?
A.26 -
Compré algo , y me dijeron “sin soporte”, pero yo
necesito...
A.27 -
Modifico una nota de aplicación y no funciona...
A.28 -
El kit no tiene fuente
A.29 -
El sensor de temperatura/humedad me da diferente que el servicio
meteorológico
Respuestas
Para
actualizar el programador de Microchip hace falta reemplazar el
firmware del aparato y además actualizar el MPLAB IDE, que es
el entorno de programación. Según la versión
de MPLAB instalada, será necesario utilizar una determinada
versión de firmware. Las últimas versiones de
MPLAB IDE no soportan los viejos PICstart Plus con 17C44.
Si su PSP tiene 17C44
deberá actualizarlo instalando el ¨PICSTART PLUS PROCESSOR
UPGRADE KIT¨ (UK003010), que es un módulo que reemplaza al
17C44 por una placa con un micro flash. Si su PICStart Plus es
revisión 4 o inferior, usted no puede utilizar este módulo,
deberá adquirir un nuevo PSP si desea soporte para los nuevos
micros; caso contrario podrá seguir trabajando con una versión
anterior de MPLAB IDE. Para determinar la revisión de hardware
del PICstart Plus, observe la etiqueta que se encuentra en la parte
de abajo (lea los documentos a que se hace referencia más
adelante)
El MPLAB IDE 6.30 es el
último que soporta el PSP con 17C44, usa firmware v.3.11.
Puede actualizarse a esta versión si el micro que usted desea
utilizar se encuentra soportado y así lo desea (lea los
documentos a que se hace referencia más adelante, se le
incluye lista de micros soportados). Caso contrario deberá
actualizar su PSP adquiriendo el ¨PICSTART PLUS PROCESSOR UPGRADE
KIT¨ (UK003010), lo cual no puede hacer si su PICStart Plus es
revisión 4 o inferior.
A partir
del MPLAB IDE 6.40, no existe soporte para PSP con 17C44, dado que el
mínimo firmware requerido es v.4.0005 y la operación de
upgrade se efectúa desde el mismo MPLAB IDE.
Remitirse
al comentario técnico CTC-012 para actualización con
17C44 (incluye lista de micros soportados), o al CTC-016 para
instalación del módulo UK003010
- http://www.cika.com/soporte/TechComm/CTC-012_Actualizacion_PICSTART_Plus.pdf
-
http://www.cika.com/soporte/TechComm/CTC-016_PICSTART_Plus_Processor_Upgrade_Kit.pdf
-
Si la
versión que usted tiene de MPLAB y el programador
soportan ese modelo de PIC, el programador programa al
dispositivo y pasa la prueba de verificación, revise su
programa. Consultar FAQ #6.1 y FAQ
#6.3
Consultar:
FAQ #1.3, FAQ#A.6, FAQ
#6.1 y FAQ #6.3
Si usted sólo
realiza producción, contacte a su developer
Los
procesadores de la línea PIC son bastante diferentes entre sí,
muy probablemente existan diferentes periféricos que deberá
inicializar y tener en cuenta; además de las probables
diferencias eléctricas y de timing. En algunos casos
particulares, al discontinuar un producto, Cika publica comentarios
técnicos (CTC) con información relevante que puede
orientarlo a elegir un producto equivalente.
http://www.cika.com/soporte/TechComm/
En
la totalidad de los casos, deberá obtener las hojas de datos
de ambos dispositivos (“viejo” y “nuevo”) y
analizar las diferencias, tanto eléctricas y de timing
(hardware) como de seteo e inicialización (software), para
portar su proyecto al nuevo dispositivo.
Si usted
sólo realiza producción, contacte a su developer
Consultar:
FAQ#1.3, FAQ#A.6, FAQ
#6.1 y FAQ #6.3
Si la hoja
de datos no establece ningún tipo de precisión en
términos porcentuales, la especificación del oscilador
interno responde a parámetros caracterizados, no
testeados, es decir, se dan como guía para diseño
pero no se comprueba su valor en la práctica. Estos valores se
obtienen por estadística, realizando un número grande
de mediciones en varios lotes diferentes, obteniendo una función
de distribución (generalmente una normal). La media de esta
distribución suele ser el valor que figura como típico,
mientras que los mínimos y máximos corresponden a una
determinada cantidad de desviaciones standard (por lo general 3sigma)
en uno y otro sentido.
Es decir,
de la totalidad de los dispositivos testeados, el promedio fue
el valor típico, los valores en sí se distribuyeron
en su mayoría entre los valores mínimo y máximo,
concentrándose mayormente alrededor del valor promedio. La
medición fue realizada con una alimentación
estabilizada y fija en una determinada tensión (generalmente
5V), en un ambiente a temperatura estable y controlada (por lo
general 25ºC). Es de esperarse que los valores mínimos y
máximos esperados varíen con la temperatura,
generalmente esto se especifica de forma gráfica con una curva
de variación.
Es decir, el valor obtenido
de un oscilador en particular puede estar comprendido en cualquier
valor dentro de ese rango, para una determinada temperatura. Dado que
son valores caracterizados, tomados de promedios de diferentes
partidas es también de esperarse que diferentes partidas
presenten valores diferentes de promedio.
Si su
aplicación necesita mayor precisión que la
especificada, usted puede:
Calibrar mediante algún
algoritmo cada pieza en particular. Tenga en cuenta que es de
esperarse obtener un corrimiento por temperatura.
Emplear un resonador
cerámico o un cristal.
Utilizar otro dispositivo
con un oscilador interno especificado con mayor precisión.
Lo más
probable es que si el programador funciona correctamente con los PICs
que se estaban usando, y no así con un modelo que haya salido
a la venta posteriormente, se trate de un problema de versión
de firmware. La lista de dispositivos soportados se encuentra en el
archivo "Readme for PICSTART Plus.txt" que se encuentra en
el directorio READMES de la instalación del MPLAB IDE. De
todos modos, al elegir el dispositivo en el MPLAB IDE puede observar
en la ventanita si aparece esta opción en verde. Cómo
actualizo el PicStart Plus?
- Para otros
programadores, verificar de la misma forma con el archivo/opción
correspondiente
-
En primer
lugar, determine correctamente su problema:
Si éste
es su caso, sepa que Cika no repara PICStart Plus ni dispone de
información de service. Verifique el correcto conexionado a su
PC y la alimentación y el correcto seteo en el MPLAB IDE. Para
más información dispone de un comentario técnico
preparado por nuestro Departamento Técnico:
- http://www.cika.com/soporte/TechComm/CTC-021_ConexOper_PICSTART_Plus.pdf
-
http://www.cika.com/soporte/Information/Microchip/DevTools/PICSTARTPlus_UserGuide(DS51028d).pdf
Cika no
repara ICD2 ni dispone de información de service. Verifique el
correcto conexionado a su PC y la alimentación (de la
herramienta y del dispositivo bajo prueba) y el correcto seteo en el
MPLAB IDE. Para más información dispone de un
comentario técnico preparado por nuestro Departamento Técnico:
http://www.cika.com/soporte/TechComm/CTC-026_ConexOperICD2.pdf
http://www.cika.com/soporte/TechComm/CTC-026_Software.zip
Es muy
probable que haya sido habilitado el bit de protección de los
¨Configuration bits¨ en el momento de la grabación.
Esta acción puede inutilizar en forma permanente para próximas
grabaciones, tanto un micro flash como uno JW. Consulte la hoja de
datos de su dispositivo en particular, algunos dispositivos flash
permiten reutilización si se realiza un borrado total del
mismo.
Si el
MPLAB no permite seleccionar un determinado programador para un
determinado dispositivo (micro, etc.) es porque se trata de un
dispositivo no soportado por ese programador, es decir, esa versión
de MPLAB IDE no permite trabajar con ese dispositivo (micro, etc.)
con ese programador. Los programadores soportados para cada
dispositivo aparecen en verde al realizar la selección del
mismo.
Identifique su versión
de MPLAB IDE (fíjese en la barra de título del programa
o seleccione Help -> About MPLAB IDE) y obtenga una más
reciente que provea el firmware necesario para dar soporte a dicho
dispositivo, de la página web de Microchip.
La lista de dispositivos
soportados por cada programador se encuentra en los archivos README,
que se encuentran en el directorio READMES de la instalación
del MPLAB IDE, los cuales pueden ser consultados antes de bajar la
nueva versión de MPLAB IDE en la página web de
Microchip. Por ejemplo, para el PICSTART Plus, corresponde el archivo
"Readme for PICSTART Plus.txt".
Por lo
general, la misma errata que describe un problema y su posible
solución indica los date codes a observar para determinar si
aplica o no al micro que nos interesa.
Existen algunos micros que
poseen esta información de forma interna, como es el caso de
los 18F y algunos 16F. Las correspondientes hojas de datos explican
cómo leer la revisión, lo cual se realiza accediendo a
posiciones fijas de memoria en el micro, al momento de correr su
programa.
De todos
modos, si el micro en cuestión posee esta identificación
de forma interna, podrá leerla mediante el ICD2.
Por ejemplo:
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to MPLAB
ICD 2
Target Device PIC18F252
found, revision = c0
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 Ready
Si usted
utiliza programación en circuito, tenga presente que su
circuito puede llegar a ser una carga importante para el programador,
llegando a entorpecer o incluso impedir la correcta programación
de los chips, dando resultados intermitentes (a veces programa y a
veces no, se corta por la mitad, etc.).
Consulte la documentación
para el programador correspondiente y respete las reglas de diseño
que se le recomiendan, el no cargar excesivamente y/o no
polarizar incorrectamente los pines utilizados para programación
es una necesidad para el correcto funcionamiento de su programador.
En los micros que traen LVP
(Low Voltage Programming) activado por defecto (16F87x, por ejemplo)
el programador utiliza el método de programación por
tensión más elevada, y los micros pueden estar
configurados para la programación en baja tensión, lo
cual impide la correcta operación del programador. Asegúrese
de polarizar el pin PGM en el estado bajo. Consulte la hoja de datos
del micro para saber qué pin corresponde a PGM.
http://www.cika.com/soporte/Information/Microchip/DevTools/ICD2_UsersGuide(DS51331a).pdf
http://www.cika.com/soporte/Information/Microchip/DevTools/PM3_ICSP_DesignGuide(DS51474a).pdf -
Este
display está construido sobre la misma base del de 8
caracteres x 2 líneas. Por esta razón en la
inicialización deberá indicarse que el display es de 2
líneas y trabajar los caracteres a la derecha como una segunda
línea.
-
Debe
inicializarse el display, según el comando que figura en las
hojas de datos, para trabajar en dos líneas.
Este comando se envía
al inicializar el display, y para que funcione el display debe haber
sido reseteado correctamente, respetando el procedimiento descripto
en la hoja de datos
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/HD44780U.pdf
Normalmente
las antenas utilizadas con estos módulos son ACTIVAS
y por lo tanto requieren alimentación, en este caso de 5Vcc.
Esta alimentación se entrega a través del pin 1 del
módulo, indicado como “+5 Antenna PWR” o “Vant”,
según el módulo. Más información en
FAQ#7.9
Estos
módulos pueden funcionar con antenas pasivas o activas, por
dicha razón no incorporan alimentación para la antena
en su circuitería. Las antenas comercializadas por Cika son
ACTIVAS
y por lo tanto requieren alimentación. La misma deberá
ser provista insertando una tensión continua en el terminal de
RF, lo cual deberá hacerse mediante un inductor en serie para
evitar que la fuente cargue a la antena y anule la RF que ésta
entrega. Un valor de 33nH es suficiente. La tensión provista
dependerá de la antena, si ésta trabaja con 3,3V
recomendamos utilizar este valor. Más información en
FAQ#7.9
Los
módulos GPS no poseen protección contra cortocircuitos
en la antena, si usted inserta un cable en corto puede destruir la
circuitería de alimentación de la antena activa que se
halla en el módulo, si corresponde (módulos con
alimentación incorporada para antenas activas), tornándolo
inusable.
Si su
antena es activa, verifique haberla alimentado según el módulo
que utilice (FAQ#7.1
y FAQ#7.8)
Al margen de esto hay que
tener en cuenta que la antena tiene que estar en contacto visual con
el cielo y que al alimentar el módulo, éste tardará
alrededor de 10 minutos en adquirir posición. Este tiempo
puede variar y depende de la posición geográfica y
condiciones meteorológicas. Una vez que obtenga posición,
el módulo comenzará a entregar datos válidos en
forma automática sin ser necesario ningún seteo previo.
Si pasado este tiempo sigue
teniendo inconvenientes, verifique la instalación de antena,
el cable coaxil es delgado y puede presentar cortocircuitos o falsos
contactos si no es manejado delicadamente. Generalmente, una antena
en buen estado presenta una resistencia de alrededor de 60 ohms. El
módulo, a su vez, presentará una tensión similar
a la presente en el pin de laimentación (si corresonde) sobre
el terminal de antena, aún con la misma conectada.
La
impedancia de un capacitor de 100pF a 1,5GHz es de alrededor de 1
ohm. La inclusión o no de dicho capacitor no responde a fines
de adaptación de impedancia sino como refuerzo del bloqueo de
continua ante un circuito externo al módulo, como se observa
en los diagramas esquemáticos, dado que éste ya posee
un capacitor de bloqueo interno.
Si desea incluir este
capacitor, deberá mantener la impedancia de 50 ohms durante
todo el layout.
Cika sólo
vende módulos GPS a los cuales se conecta una antena y
entregan información de posición en protocolo NMEA0183
mediante señales lógicas a niveles TTL, destinado a
formar parte de otro equipo. identifique correctamente su producto,
cualquier reclamo referido a un producto que no sea éste,
deberá hacerlo al proveedor de dicho producto.
Si no logra obtener
posición, o tiene pérdidas esporádicas de
posición, verifique la instalación de antena (FAQ#
7.1), una vez verificada, compruebe la información que
entrega el módulo, la mayoría de los registros tienen
un campo que indica si la información es válida (buena
cantidad de satélites a la vista) o no.
Si
su implementación falla o se resetea, verifique que el
software identifique los campos de la información entregada
por el módulo utilizando los separadores que el protocolo
especifica, algunos módulos presentan la información
de forma distinta, pero siempre dentro de la especificación
del protocolo. Contar caracteres en vez
de buscar separadores es muy mala práctica, los campos dentro
del registro deben identificarse mediante el separador especificado
por el protocolo. El
protocolo no especifica longitud de los campos, la misma puede
cambiar entre diferentes tipos de módulos o diferentes
partidas del mismo tipo de módulo.
Tenga la precaución de dejar suficiente espacio en memoria
para el registro más extenso y a su vez para la conversión
de los campos más extensos. Verifique que el módulo
entrega la información con el protocolo y la velocidad
correctos, tiene información de cómo setear esto en la
hoja de datos correspondiente. Dado que éste no es un
producto para usuario final sino un módulo con tecnología
integrada destinado a formar parte de un equipo desarrollado por el
cliente o un tercero, le recordamos que la tensión de
alimentación del módulo deberá estar
correctamente filtrada y libre de ruidos y
descargas típicas en vehículos, respetando, además,
las condiciones de operación normales especificadas por el
fabricante en la hoja de datos. El circuito impreso deberá
prestar especial atención al desacople de masas y demás
“buenas prácticas” de diseño. Debido a
condiciones impropias de funcionamiento, ruido en la alimentación,
o descargas, es posible que el módulo ingrese a un estado no
válido en el cual puede dejar de entregar información
o entregar información marcada como “no válida”.
Esto es factible dado que se trata de un sistema microprocesado,
susceptible a ruidos y/o descargas. Ante esta situación, el
módulo dispone de un pin de reset, el cual hará que el
mismo reinicie su búsqueda de posición. No obstante,
ante determinadas condiciones extremas, el módulo puede dejar
de entregar información y no responder al pin de reset. Si
esto ocurre, reinicie el módulo eliminando y reaplicando la
tensión de alimentación. Estas situaciones no deberían
ocurrir en un sistema correctamente alimentado
y desacoplado en un ambiente no ruidoso, sin embargo, las
condiciones de operación en las que normalmente operan estos
sistemas no siempre es la ideal, y el developer deberá
tenerlo en cuenta, como con cualquier otro sistema microprocesado.
Consulte la FAQ #A.6
Si no recibe respuesta del
módulo, verifique que éste entrega la información
con el protocolo y la velocidad correctos, tiene información
de como setear esto en la hoja de datos correspondiente. Una rápida
inspección con osciloscopio le ayudará a determinar si
el módulo no entrega información o usted no la
entiende por tener el procesador seteado a otra velocidad o
protocolo. Si comprueba que el módulo no entrega información,
verifique que tenga correctamente cableadas todas las señales
del conector. Existen varios pines de alimentación y algunos
de control que deben ser tenidos en cuenta. Todos los pines de
alimentación deben estar unidos entre sí y conectados
a alimentación estable, limpia, y confiable;
todos los pines de masa deben estar unidos entre sí y
conectados a la masa del sistema (GND). No importa
que algunos módulos tengan estos pines unidos internamente,
otros módulos o partidas pueden no tenerlos, siga las
indicaciones de la hoja de datos. Finalmente, verifique que no está
forzando el pin de reset (PBRES) ni el pin SELECT, si lo hubiere.
Todos los pines marcados como reservados deben ser dejados sin
conexión, a menos que la hoja de datos especifique lo
contrario.
Si una vez
revisado todo tiene dudas sobre el funcionamiento del módulo,
puede traerlo con copia de la factura para que lo probemos en nuestro
laboratorio. Todos los reclamos comerciales que
necesite hacer los puede negociar con su vendedor.
Los datos
que usted visualiza por el port asincrónico corresponden al
envío periódico de información del módulo,
el cual no tiene por qué estar sincronizado con otros. Aun
cuando ambos tengan el mismo tiempo UTC internamente, pueden estar
enviando la información en distintos instantes.
La señal PPS es
la única forma de evaluar el tiempo UTC, ya que es la que
indica el "cambio de segundo". El "cero" del
valor en segundos que observa en el paquete NMEA corresponde al
flanco de inicio del pulso PPS.
De
todos modos, consulte la FAQ
#7.3
La
posición reportada por un módulo GPS, tiene un error
del orden de los Xm 2dRMS, según figura en la hoja de
datos.
La sigla
2dRMS significa “twice the distance root mean square”,
y es una forma de trasladar la operatoria en estadística de
dos dimensiones (variables aleatorias “latitud” y
“longitud”) a estadística de una dimensión
(variable aleatoria ”posición”). La matemática
involucrada es bastante complicada. La especificación Xm
2dRMS significa que existe una probabilidad del 95 al 98% de que el
valor reportado esté dentro de un círculo de radio X
metros, centrado en el valor correcto. Dicho de otro modo, entre el
95 y el 98% de las observaciones de posición dentro de un
tiempo razonablemente largo, arrojan un valor dentro de un círculo
de radio X metros. Aquí, 'razonablemente largo'
significa una cantidad considerable de observaciones bajo las
circunstancias posibles, lo que implica esperar al menos un par de
rotaciones de la constelación de satélites, es decir
más de un día. En síntesis, la posición
reportada no es necesariamente la 'real', sino que existe una
incertidumbre en la determinación de la posición de por
lo menos X metros, en todas direcciones. Esta especificación
no toma en cuenta la altura, la cual se infiere del modelo WGS-84, el
cual toma la Tierra como un elipsoide, teniendo mayor indeterminación
no acotada.
Si usted
requiere mayor exactitud, no por promediar valores o poner varios
módulos va a lograrlo. Lo que necesita es un sistema DGPS
(Differential GPS), que corrige la medición en base a datos
calculados desde una posición conocida. En algunas ciudades
del mundo existen bases que irradian esta información, sin
embargo Cika no posee mayor información al respecto, deberá
consultar con los organismos nacionales o provinciales
correspondientes.
De
todos modos, consulte la FAQ
#7.3
Los
módulos GPS comercializados por Cika no son un producto GPS
para usuario final sino un módulo con tecnología
integrada destinado a formar parte de un equipo desarrollado por el
cliente o un tercero, el cual se valdrá de la información
proporcionada por este módulo para realizar su tarea.
En los módulos
GPS 2000, FV12, ET-1xx y ET-2xx no existe ningún tipo de reloj
de tiempo real ni almacenamiento de posición ni sistema de
navegación interna en el módulo; cada vez que arranca
lo hace en cero, limpio, sin información de hora ni posición
previa. Sólo los módulos de la serie ET-3xx
poseen RTC (pero tampoco almacenan posición).
Si el módulo está
configurado para reportarse cada determinado tiempo (como viene
programado de fábrica, o como quedan algunos módulos si
no tienen supercap), comenzará a enviar mensajes NMEA0183.
Estos mensajes estarán marcados como “no válidos”
("void") hasta tanto el módulo obtenga posición,
es decir, encuentre la cantidad necesaria de satélites con
buena información para resolver su trabajo. Esto demora un
tiempo que depende de la posición geográfica, las
condiciones de visibilidad, la obtención o no de posición
previa, y la existencia o no de tensión de back-up.
En los módulos sin
RTC no hay registro de fecha ni de hora ni de posición
internos; el módulo reporta cálculos instantáneos,
no mantiene posición ni fecha ni hora ni nada internamente,
simplemente reporta lo que lee y calcula a cada momento, por lo que
si, en algún momento se interrumpe la visibilidad, reportará
datos impropios, lo cual puede observarse porque los mensajes están
marcados como “no válidos” ("void").
En los módulos con
RTC sólo se mantiene la información de fecha y hora,
no hay registro de posición interno y las consideraciones
anteriores son válidas para la posición.
Si bien algunos módulos
GPS poseen un capacitor de alto valor (supercap), que permite
mantener datos luego de quitada la tensión de alimentación;
lo que el módulo preserva son las efemérides
(características de posicionamiento de los satélites),
para poder encontrar más rápido los satélites
necesarios y poder tomar posición nuevamente en alrededor de
un minuto, una vez restablecida la alimentación y si las
condiciones de visibilidad lo permiten. Caso contrario, debe cargar
nuevamente la tabla de efemérides, lo cual puede demorar hasta
10 minutos. La existencia de este capacitor o la aplicación de
tensión de back-up no implican preservación de
información de posición ni de hora alguna, ya que,
nuevamente, no hay registro de fecha ni de hora ni de posición
internos; el módulo reporta cálculos instantáneos,
no mantiene posición ni fecha ni hora ni nada internamente,
simplemente reporta lo que lee y calcula a cada momento. Los módulos
con RTC, solamente mantienen la información de fecha y hora
(además de las efemérides).
Los
módulos GPS entregan un string en el formato que figura en la
correspondiente hoja de datos, en respuesta a un comando NMEA0183, ya
sea éste pidiendo información específica o
configurando al módulo para que entregue periódicamente
información.
Si la cadena es válida,
la información de fecha y posición corresponde al
cálculo de UTC y posición derivado de la resolución
del sistema de ecuaciones planteado por la cantidad de satélites
disponibles (y su información correspondiente).
Si la cadena no es válida,
la cantidad de satélites o la calidad de la información
recibida (Eb/N0, etc.) no es suficiente para resolver y la
información no es válida. Sin embargo, siempre se
entrega un string en respuesta a un comando o cada determinado
tiempo, según como esté configurado el módulo.
$GPRMC,235948.000,V,0000.0000,N,00000.0000,E,,,091102,,*1E
La 'V' indica
"void", cadena no válida
$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10
La 'A' indica OK.
A los
fines prácticos la información reportada cuando el
mensaje es "void" carece de sentido, se recomienda que su
aplicación mantenga un estado e ignore los datos de las
respuestas hasta recibir datos válidos. Es decir, ignore los
datos presentes en los mensajes $GPGGA, $GPGLL, $GPVTC, etc., hasta
obtener un mensaje $GPRMC válido.
Si su
aplicación requiere el mantenimiento de una posición
correcta en todo momento, deberá desarrollarlo como subsistema
de su aplicación, sincronizado con los datos provistos por el
módulo, aprovechando la diversidad de información
proporcionada en los comandos NMEA0183 soportados por el mismo.
Si su aplicación
requiere un RTC, deberá emplear un módulo con RTC o
desarrollarlo, de igual forma.
Los
módulos GPS comercializados por Cika no son un producto GPS
para usuario final sino un módulo con tecnología
integrada destinado a formar parte de un equipo desarrollado por el
cliente o un tercero, el cual se valdrá de la información
proporcionada por este módulo para realizar su tarea.
Todos los módulos
GPS transmiten la información de posición en formato
NMEA0183, el cual es un standard abierto. La hoja de datos del módulo
desglosa cada uno de los mensajes soportados y la forma de
configurarlo para alterar la periodicidad de los mismos, de ser
necesario. Con esta información, nuestros developers y
clientes desarrollan sus aplicaciones en base a estos módulos,
como por ejemplo sistemas de localización vehicular (AVL).
Excepto contados casos, no
existe ningún software asociado al módulo, y en el caso
que exista no provee ningún tipo de mapas o sistema de
localización, sino simplemente una forma rápida de
visualizar los mensajes NMEA0183.
Si
su interés es en software de mapas, deberá contactarse
con empresas que desarrollen o comercialicen software de
mapas, existe una amplia variedad en Internet. Los módulos no
incluyen software de mapas ni sistemas de localización, y
Cika no comercializa software de mapas ni sistemas de localización.
Si su interés es
en sistemas de localización, deberá contactarse con
empresas que desarrollen esta actividad, Cika no se dedica al
servicio de localización.
Si su interés es
adquirir equipos para armar sus sistemas de localización,
deberá contactarse con empresas que desarrollen este tipo de
equipos, como por ejemplo Trendtek S.R. L. (
http://www.trend-tek.com ).
Si
su interés es desarrollar equipos en base a módulos
GPS, puede solicitarnos un
desarrollo
Si bien
otros módulos como ET-102 permiten controlar el parpadeo
visible de un LED, los módulos ET-332 presentan en su salida
de 1PPS un pulso ascendente de 1us de duración. La forma
correcta de visualizar este pulso es primero detectar su presencia
observando el correcto gatillado de un osciloscopio (parpadeo cada un
segundo) del LED de trigger, y luego ajustar convenientemente la base
de tiempo para permitir la visualización de dicho evento.
Tenga en cuenta que a menos que se disponga de un osciloscopio de
almacenamiento, es muy difícil observar un evento de esta
naturaleza en un osciloscopio analógico.
Este IC
necesita un seteo luego de ser alimentado, sólo después
de realizarlo comenzará a oscilar el cristal. El detalle del
seteo se encuentra en las hojas de datos del dispositivo. No obstante
es muy probable que al colocar un osciloscopio en las patas del
cristal no se observe oscilación, debido a la carga ocasionada
por la capacidad de la punta de prueba y la entrada del instrumento.
Una forma de evitarlo es colocar en serie con la punta un capacitor
de alrededor de 5pF.
-
- http://www.cika.com/soporte/TechComm/CTC-013_HT1380.pdf
-
Muchos
dispositivos semiconductores son virtualmente imposibles de probar.
Un microcontrolador, por ejemplo, puede haber sido utilizado en algún
ambiente hostil, sujeto a descargas, y es posible que se haya dañado
una parte de la estructura interna. Para probar todas las
combinaciones posibles de periféricos, opciones, y secuencias
de programa, se demandaría demasiado tiempo, aun en el
hipotético caso de que fuera posible probarlo.
Asumiendo que sea posible
realizar una prueba, si el dispositivo muestra una falla,
generalmente no se puede determinar si éste nunca funcionó
o fue quemado por el usuario.
Aun asumiendo que el
dispositivo prueba fehacientemente funcionar de forma correcta, puede
tener daños latentes debido a descargas electrostáticas,
los cuales podrían manifestarse como una reducción de
la vida útil del dispositivo.
Por estas razones, la
mercadería no tiene cambio ni devolución. Todos los
reclamos comerciales que necesite hacer los puede negociar con su
vendedor.
http://www.cika.com/soporte/TechComm/ESD.pdf
Un tiempo
atrás, HOLTEK, realizó un cambio en la tecnología
de fabricación de estos CI. Luego de éste el
dispositivo se volvió más propenso a funcionar
incorrectamente en circuitos que, si bien no cumplen con las
especificaciones del fabricante en un 100%, con anterioridad operaban
sin mayores dificultades. Estos circuitos fueron y son, de ahi este
problema, muy comunes en control remoto de alarmas. En las hojas de
datos actuales del HT-12E figuran claramente identificados como un
ERROR COMÚN DE APLICACIÓN y en el mismo
documento se encuentra el circuito apropiado.
-
Verifique que su circuito
cumpla lo estipulado en la hoja de datos más reciente del
HT-12E
-
- http://www.cika.com/soporte/Information/Holtek/CONSUMER/2_12e.pdf
-
Partiendo
de la base de que los módulos funcionan correctamente, el
problema puede residir en la versión de Dynamic C utilizada
para compilar. Rabbit cambia la revisión del micro y tipo de
memoria flash cuando los cambios tecnológicos traen aparejada
una reducción en el costo del módulo. Si el Dynamic C
utilizado es una versión anterior a este cambio pueden
presentarse problemas al momento de la programación o del uso
de la flash, debido a que probablemente uno de ellos no esté
soportado, al ser un dispositivo más reciente que el software.
La solución es actualizar Dynamic C y recompilar. No obstante,
antes de concluir que se trata de este problema, verifique que está
RECOMPILANDO el soft CON EL MÓDULO CONECTADO por medio del
cable de programación.
Si una vez
revisado todo tiene dudas sobre el funcionamiento del módulo,
puede traerlo con copia de la factura para que lo probemos en nuestro
laboratorio. Todos los reclamos comerciales que
necesite hacer los puede negociar con su vendedor.
-
- http://www.cika.com/soporte/TechComm/CTC-015_RabbitNewCoreModules.pdf
Estos son
módulos ASK, por lo tanto siempre habrá alguna señal
en ¨Data Out¨; mientras no haya transmisión esta señal
será ruido. Al recibir una transmisión el comparador se
ajustará automáticamente y se obtendrá la señal
de forma correcta, pero mientras no la haya, picos ocasionales de
ruido ocasionan cambios de estado aleatorios del comparador. La forma
de detectar cuándo se trata de ruido o de una señal
válida es la inclusion de una serie de bits de inicio de
mensaje en el paquete de comunicación transmitido, a suerte de
preámbulo. En el caso del HT-12, muy utilizado con estos
modulos, el codificador ( HT-12E ) se encarga de generar estos bits y
el decodificador ( HT-12D ) de identificarlos.
-
- http://www.cika.com/soporte/TechComm/CTC-014_RFmodules.pdf
Estos son
receptores super-regenerativos, con un ancho de banda mínimo
de +-500KHz, y no existe ningún elemento que pueda
fijar/estabilizar la frecuencia de oscilación. Así
mismo, la presencia de grandes capacidades hacia el plano de tierra
(cuerpos metálicos, blindajes, antena, la mano del usuario),
pueden ocasionar corrimientos de índole similar. No está
de más ajustar la bobina si eso resuelve su problema
particular (asumiendo que el generador/transmisor usado como patrón
esté correctamente calibrado). De todos modos son receptores
no muy selectivos, y de buena prestación dado su precio tan
económico.
Si tiene dudas sobre el
funcionamiento del módulo, podemos compararlo con otros en
stock. Todos los reclamos comerciales que necesite hacer los puede
negociar con su vendedor.
-
- http://www.cika.com/soporte/TechComm/CTC-014_RFmodules.pdf
Tal cual
podría inferirse de la nomenclatura, se trata de un pin de
Enable/Disable, que permite activar o desactivar el transmisor, según
se la coloque en estado lógico alto ('1') o bajo ('0'),
respectivamente. La intención de la misma, es minimizar el
consumo en los momentos en los que no se necesita del transmisor.
Para funcionamiento permanente, esta patita puede conectarse
directamente a '1' lógico.
Las celdas
Peltier son elementos que aprovechan el efecto Peltier, es decir, la
generación de una diferencia térmica en respuesta a una
diferencia de potencial eléctrico. Las mismas vienen
especificadas en valores de tensión y corriente de trabajo
máximas, potencia calórica generada máxima, y
diferencia de temperatura máxima obtenible entre caras.
El producto se vende como
tal, y toda la mecánica de construcción de sistemas de
refrigeración o calefacción, así como también
todos los cálculos de la física de transferencia del
calor que deba realizar para saber si puede o no enfriar o calentar
un determinado volumen, fluido o elemento, corren por cuenta del
interesado.
La
documentación de Rabbit está en el directorio
<DC_PATH>\docs (ó docs\manuals, según
la versión). Allí están los manuales del usuario
de los micros, de los módulos, el manual de referencia de
Dynamic C con todas las funciones, y el manual de referencia de
TCP/IP.
Además, puede
acceder a esta información mediante la opción Online
Documentation del menu Help de Dynamic C.
A partir de la versión
8, también encontrará una tabla de referencia rápida
en la opción I/O Registers del menú Help;
y una descripción de las funciones de las bibliotecas de
Dynamic C en la opción Function Lookup del menú
Help. Posicionando el cursor sobre la función elegida
antes de seleccionar esta opción, obtendrá información
sobre dicha función.
-
Si lo desea, puede acceder
a toda la documentación online, en la página web de
Rabbit:
-
http://www.rabbitsemiconductor.com/docs/
-
El
directorio <DC_PATH>\samples tiene ejemplos de
utilización de las libraries. Las libraries están en el
directorio <DC_PATH>\libs, y están muy bien comentadas,
el código fuente es accesible y puede utilizarlo para aprender
o modificarlo para sus propósitos. Ej: el directorio
<DC_PATH>\samples\tcpip tiene ejemplos de networking,
<DC_PATH>\samples\tcpip\ping tiene ejemplos sobre cómo
hacer PING, etc.
Las versiones más
recientes de DC tienen más ejemplos y más libraries,
actualice a la última gratuita o compre la más reciente
si necesita algo que su versión no tiene y una más
reciente sí.
Una
descripción de qué hay en el directorio
<DC_PATH>\samples se encuentra en el roadmap correspondiente:
http://www.cika.com/soporte/Information/Rabbit/DynamicC/roadmap.pdf
-
- Una descripción
de qué hay en el directorio <DC_PATH>\samples\tcpip se
encuentra en el roadmap correspondiente:
http://www.cika.com/soporte/Information/Rabbit/DynamicC/tcpip-roadmap.pdf
-
- Dispone además
de:
-
Notas de aplicación
de Cika: http://www.cika.com/soporte/AppNotes/
Comentarios
Técnicos de Cika: http://www.cika.com/soporte/TechComm/
Las nuevas
versiones de Dynamic C suelen incorporar cambios en las bibliotecas
de funciones, como por ejemplo, hacer non-blocking una función
que no lo era. Encontrará más información en la
documentación (docs, samples) y las release notes. Si éste
es el caso, deberá hacer modificaciones a su código.
-
- http://www.cika.com/soporte/TechComm/CTC-017_UpgradesDynamicC.pdf
-
Además,
es probable que deba
realizar modificaciones en el programa, debido a cambios en las
bibliotecas que manejan la escritura en flash y el Flash File System.
Estos cambios pueden incluir tener que modificar el BIOS, reservando
un espacio en flash para alojar el File System.
-
- http://www.cika.com/soporte/TechComm/CTC-015_RabbitNewCoreModules.pdf
- http://www.cika.com/soporte/TechComm/CTC-019_RabbitModifBIOS_FS2.pdf
-
http://www.cika.com/soporte/TechComm/CTC-019_Software.zip
Hay casos
especiales como el del PIC16C57 en los cuales el programador nos dice
que está ¨non blank¨ cuando sí lo está.
En este caso es necesario levantar el pin 26 del micro y dejarlo en
el aire. De esta forma operará correctamente.
-
- Consulte la guía
del usuario del PSP y el archivo "Readme for PICSTART Plus.txt"
que se encuentra en el directorio READMES de la instalación
del MPLAB IDE correspondiente.
-
- http://www.cika.com/soporte/Information/Microchip/DevTools/PICSTARTPlus_UserGuide(DS51028d).pdf
- Para otros
programadores, consulte el README correspondiente en el mismo
directorio
Hay casos
especiales como el de los PIC16F87x en los cuales el programador
utiliza el método de programación por tensión
más elevada, y los micros pueden estar configurados para la
programación en baja tensión, lo cual impide la
correcta operación del PSP. En este caso es necesario colocar
un resistor de 10K desde el pin RB3 a masa. De esta forma operará
correctamente.
Por lo general, esto puede
aplicarse también a los demás micros que traen LVP (Low
Voltage Programming) activado por defecto. Si observa un problema
similar, asegúrese de polarizar el pin PGM en el estado bajo.
Consulte la hoja de datos del micro para saber qué pin
corresponde a PGM.
-
- Consulte la guía
del usuario del PSP y el archivo "Readme for PICSTART Plus.txt"
que se encuentra en el directorio READMES de la instalación
del MPLAB IDE correspondiente.
-
- http://www.cika.com/soporte/Information/Microchip/DevTools/PICSTARTPlus_UserGuide(DS51028d).pdf
- Para otros
programadores, consulte el README correspondiente en el mismo
directorio
Si el
display no funciona, o funciona en forma errática, por lo
general, el hecho es debido a que no se ha tenido en cuenta la
distribución de los parámetros característicos
del controlador (valores mínimos y máximos),
utilizándose solamente los valores típicos, o se ha
tomado un timing particular de un display, considerándose que
todos funcionan igual. Consulte la FAQ #A.6 para
información más detallada.
Si
su problema es solamente en presencia de ruido, (aunque se trate de
una partida en especial), es más probable que se trate de un
problema de desarrollo de hardware, generalmente asociado a los
mismos problemas típicos de todo sistema con
microprocesadores, en los cuales los ruidos e interferencias de
equipos adyacentes deben ser minimizados, la fuente de alimentación
estabilizada y correctamente desacoplada, y demás “buenas
prácticas” respetadas. Consulte las FAQ
#6.1
y FAQ
#A.6
respecto a las recomendaciones pertinentes.
Antes que
nada, verifique las condiciones de operación en el hardware
(FAQ #A.6)
Verifique que su programa
funcione correctamente y que no se esté disparando el WDT, que
maneja correctamente las interrupciones, retornos de subrutinas, etc,
etc, etc. Verifique las erratas (particularmente Microchip)(FAQ
#6.3)
El correcto diseño
del circuito impreso, respetando las “buenas prácticas”,
planos de tierra, y el desacople de todos los puntos conflictivos es
fundamental para el funcionamiento de cualquier sistema
microprocesado. La fuente de alimentación es otro punto
fundamental de todo buen desarrollo, ya que a través de ella
suele entrar gran parte del ruido, aunque esto depende mucho del
sistema, ya que el ruido puede ser captado por las trazas, los cables
de entrada, los cables de alimentación; conducido a través
de la misma fuente o los sensores, etc.
En la mayoría de los
casos, lo que se produce es un reset del procesador, por acción
del watchdog, situación que puede identificarse y actuar en
consecuencia para resolver el problema. La tarea a realizar consiste
en identificar la fuente de ruido, el modo de ingreso de ese ruido al
sistema, y la forma de trabajar para minimizarlo, actuando sobre cada
una de las formas identificadas en las cuales el ruido ingresa al
sistema. Es un proceso tedioso e iterativo, pero es la forma correcta
de resolver su problema.
Resumiendo: respete las
buenas prácticas de desacople y trazado de PCBs para minimizar
interferencias, agregue choques o lo que sea necesario. Incorpore al
circuito una buena fuente de alimentación, re-rutee las
tierras, coloque optoacopladores, considere el uso de blindajes si
corresponde, etc. No se trata de un problema del micro ni de la
partida, sino del aparato como unidad, y deberá modificarlo
hasta resolver o minimizar el problema.
El
spectrum spreader, presente en el R3000 y en los R2000C (IQ5T), está
diseñado para disminuir la generación de espúreas
en frecuencias de más allá de 100MHz. No afecta
espúreas de frecuencias inferiores.
Si está utilizando
un módulo Rabbit con circuitería externa asociada (en
la mayoría de los casos); el ruido puede estar generado por su
circuitería externa al módulo Rabbit, incluyendo
displays, otros micros, bobinas, transformadores, pistas largas
transportando señales de alta frecuencia, trazas con ángulos
abruptos (cerca de 90º), pistas con vueltas que hacen de
bobinas, etc. Incorpore planos de tierra, filtros, blindajes, cambie
trazas de lugar, rutee pistas de masa cerca de pistas críticas,
desacople puntos críticos, etc.
No se trata de un problema
del core module o del micro sino del aparato (su producto) como
unidad, y deberá modificarlo hasta resolver o minimizar el
problema. Los siguientes links proveen información y ayuda al
respecto.
-
- http://www.cika.com/soporte/TechComm/CTC-018_EMI-Rabbit.pdf
-
http://www.cika.com/soporte/Information/Rabbit/R2000DesignerHandbook.pdf
(cap. 3.4)
-
http://www.cika.com/soporte/Information/Rabbit/AppNotes/TN221.pdf
-
http://www.rabbitsemiconductor.com/products/ce_certification/index.shtml
Verifique
que su hardware respete las condiciones de operación
recomendadas por el fabricante (FAQ #A.6).
Verifique las erratas
(particularmente Microchip); si el micro no es muy reciente, es muy
probable que alguien ya haya reportado el defecto. Si no encuentra
nada similar, trate de aislar el problema y verificar que realmente
se trata de un defecto de hardware; es altamente probable que se
trate de un problema de software. Para aislar el problema,
trabaje solamente con el periférico que supuestamente tiene
el problema, desarrolle un programa muy simple para probarlo, evite
interrupciones y otros periféricos que pueden enmascarar el
verdadero problema. Si realmente aisló y comprobó
la existencia de un defecto en el dispositivo o su hoja de datos,
documente su hallazgo detalladamente:
listado del código
que muestra el defecto, en lo posible comentado, la menor cantidad
de líneas de código posible (ej: 5)
seteo de hardware y/o
software utilizado para aislar el problema
versiones de
compilador/assembler y/o libraries utilizadas, si corresponde
Envíe
la documentación por mail a soporte@cika.com para que podamos
verificarlo y si corresponde comunicarnos con el fabricante. Todos
los reclamos comerciales que necesite hacer los puede negociar con
su vendedor.
La
variación de luminosidad de CCFL es un tema complejo que
requiere la regulación de la corriente que circula por el
tubo. El uso inapropiado del CCFL acorta la vida útil de la
lámpara y deforma la luminosidad a lo largo del tubo. Cika no
dispone de componentes que permitan variar intensidad en esta
tecnología.
Si bien
los displays alfanuméricos “comunes” funcionan
perfectamente con una tensión cercana a los 0,6V; los displays
alfanuméricos con caracteres grandes suelen necesitar una
tensión negativa para ajustar el contraste. Esta tensión
deberá proveerse de forma externa, el display no tiene
generador de tensión negativa incluido (a menos, claro está,
que la hoja de datos indique lo contrario).
- El HT9032 tiene dos
salidas: una “cruda” (raw), DOUT y otra “cocida”
(cooked), DOUTC
DOUT es la salida del
demodulador y presenta todo lo que éste recupera, incluyendo
al pattern o preámbulo de sincronización presente en
V.23, la modulación utilizada para transmitir la información.
-
DOUTC es más
“inteligente”, y solamente entrega los datos propiamente
dichos, es decir, la información de Caller-ID en sí,
según la manda la compañía telefónica.
-
En cuanto a la
información de Caller-ID, la estructura de la misma y su
contenido es algo que debe solicitar a la compañía que
le provee el servicio teléfonico, Holtek y/o Cika no poseen
dicha información.
-
http://www.cika.com/soporte/Information/Holtek/COMM/9032.pdf
Consulte
la FAQ #6.5
El registro de control
referido es PxC (Port x Control), por ejemplo PAC para el port A, y
su funcionamiento es equivalente a los registros TRIS de Microchip
Holtek
ofrece un programador para OTP, dos programadores para MTP, y un
emulador en circuito:
HT-Writer (COTPWRITER00A):
es el programador para los OTP, puede funcionar conectado a la PC o
independiente. Posee un zócalo DIP del tipo ZIF (Zero
Insertion Force) y sólo soporta programación de
dispositivos puestos en su zócalo, es decir, fuera de
circuito. Para emplearlo con dispositivos de otro tipo de
encapsulado, existe una serie de tarjetas adaptadoras. El
programador es apto para bajos y medios niveles de producción..
Se conecta con la PC mediante un port serie.
Holtek M1 Writer (EW-M1):
es el programador para los MTP, puede funcionar conectado a la PC o
independiente. Posee un zócalo DIP del tipo ZIF (Zero
Insertion Force) para programación de dispositivos puestos en
su zócalo (fuera de circuito) y un conector con su
correspondiente cable para programación en circuito. Para
emplearlo con dispositivos de diversos encapsulados (diferentes a
DIP), existe una serie de tarjetas adaptadoras. El programador es
apto para bajos y medios niveles de producción.. Se conecta
con la PC mediante un port serie.
Holtek MTP ISP Cable
(CMTPCABLE0005A): es un programador de desarrollo para los MTP,
funciona conectado al puerto USB de una PC. Posee un conector con su
correspondiente cable para programación en circuito.
HT-ICE
(CICExxxxxx, TICExxxxxx): es un emulador en circuito, permite emular
micros en circuito mediante una placa adaptadora para la conexión
a la pcb. Se conecta con la PC mediante el port paralelo, aunque
existe un adaptador para conectarlo a un bus USB (CUSBICECABLE4A).
Existen dos versiones de HT-ICE:
CICExxxxxx: es la línea
nueva, incluye un zócalo ZIF para programación de
dispositivos MTP y OTP en encapsulado DIP. Para emplearlo con
dispositivos de otro tipo de encapsulado, existe una serie de
tarjetas adaptadoras
TICExxxxxx: es la línea
vieja, el usuario necesita además un programador OTP o MTP
para producción.
HT-IDE3000:
es el entorno integrado de desarrollo de software, funciona con el
HT-ICE o sin él, permitiendo emulación en circuito
(con HT-ICE) o simulación en PC (sin HT-ICE). Puede obtenerse
gratuitamente en la página de Holtek y provee macro
assembler, linker, y compilador Holtek C (versión reducida de
ANSI C, sin coma flotante). Para más información
consulte la guía del usuario y/o los tutorials.
Para
determinar qué versión de ICE incorpora la placa
adaptadora necesaria para un micro en particular, o qué placa
adaptadora es necesaria para soportar determinado encapsulado en el
programador, se recurre a la página web de Holtek (
http://www.holtek.com.tw/ ), donde puede buscarse el micro por sus
características y allí hay un link a las herramientas
de desarrollo necesarias.
Además, existe
soporte para estos micros en programadores universales como Labtool.
Si el chip
no está en stock, Cika puede hacer un pedido especial e
importarlo para el cliente. Ese trámite lo negocia con el
vendedor y la gente de comercio exterior. Para comenzar el trámite,
el cliente deberá contactarse con su vendedor y
remitirle una estimación de la cantidad que piensa
comprar y el plazo de entrega que necesita, para que ellos
puedan negociar, a su vez, una cantidad y un precio conveniente con
el proveedor de Cika.
Para
todo tipo de consultas solicitando asesoramiento por características
y/o modelos de los diversos productos de nuestro amplio portfolio,
comuníquese con su vendedor habitual; él podrá
asesorarlo sobre los diferentes modelos y tecnologías de
acuerdo a sus necesidades. Comuníquese con ventas al 4522-5466
ó a ventas@cika.com.
Cika es
distribuidor mayorista de componentes electrónicos. Si bien
contamos con Ingenieros de Aplicación (FAEs) y developers
altamente capacitados y experimentados, no podemos tener amplio
conocimiento sobre todos los productos y aplicaciones del mercado.
Nuestro soporte está limitado a los componentes que
comercializamos habitualmente y figuran en nuestra cartera de
productos; ésos son los productos que hemos evaluado y
disponemos de información técnica.
Si usted necesita
información sobre un sistema o aplicación particular,
deberá contactar al proveedor de dicho producto.
Si usted necesita
información sobre un componente en particular que Cika no
comercializa, deberá contactar al fabricante o distribuidor de
dicho producto.
Antes que
nada, los micros con interfaz USB de las líneas de micros que
comercializamos son periféricos USB, es decir, no son hosts,
es decir, solamente pueden ser manejados por una PC/Mac o equivalente
con interfaz USB; no es posible controlar periféricos USB con
estos micros.
Además, en estos
casos, el desarrollador debe:
aprender USB
aprender cómo el
host interactúa con el driver para la clase de servicio que
se vaya a usar
aprender cómo el
micro maneja USB
escribir una aplicación
en el host que interactúa con el driver
escribir una aplicación
en el micro que maneja USB y a través de esto se comunica con
el host
Por esta
razón, no disponemos de ningún modelo de éstos
en ninguna de las líneas.
Para
trabajar con USB, la opción que Cika le ofrece es emplear un
FT232 y cualquier micro de su agrado. El costo total es similar o
inferior al de los micros con interfaz USB, eligiendo uin micro que
supla los requerimientos de la aplicación.
El
FT232 se ve desde el host como un puerto serie, por lo cual es muy
simple interactuar con él, incluso dispone de libraries para
incluir en sus programas. Para más información consulte
la página del fabricante http://www.ftdichip.com/.
El FT232
se conecta al micro a los pines de la UART, lo que envíe desde
la PC o equivalente lo recibirá en la UART de su micro, y lo
que envíe por ésta lo recibirá en la PC. El
resto corre por cuenta de su imaginación y experiencia como
developer. Para más información consulte la CAN-025
En síntesis, con el
FT232, el desarrollador debe:
conectar un FT232B al
puerto serie del micro (2 cables)
instalar el driver en el
host (click)
abrir un puerto serie en
el host (igual que cualquier comunicación serie)
operar sobre la UART en el
micro, y están conectados (igual que cualquier comunicación
serie)
Puede
conocer nuestros precios de lista ingresando a nuestra página
web y realizando allí una consulta on-line http://www.cika.com
Para cotizaciones por
cantidades en especial, puede hacerlo también desde la página
web, o comunicándose con ventas.
En
general, para todo tipo de consultas que involucren precios y
disponibilidad, comuníquese con ventas al 4522-5466 ó a
ventas@cika.com,
o llame a su vendedor habitual.
Microchip
fabrica 9346 en diferentes tecnologías, correspondientes a
diversos valores de tensión de operación:
93AA46/56/66: de 1,8 a
5,5V
93LC46/56/66: de 2,5 a
5,5V (low power CMOS)
93C46/56/66: de 4,5 a 5,5V
(CMOS)
Cika
solamente comercializa del tipo LC (de 2,5 a 5,5V, low power CMOS)
Más allá de
este detalle, Microchip ofrece sus memorias en cuatro tipos de
operación diferentes, con sufijos distintivos:
A: organizadas en 8 bits
por palabra
B: organizadas en 16 bits
por palabra
C: con un pin denominado
ORG, que permite seleccionar la organización en
8 ó 16 bits por palabra
sin sufijo: similar a
la C pero de operación diferente. Estas memorias no
requieren el pulso de CS para comprobar el estado de busy/ready de
finalización del proceso de escritura/borrado.
Holtek
fabrica solamente 93LCx6 (93LC46/56/66), sin sufijos, con un
pin denominado ORG, que permite seleccionar la organización
en 8 ó 16 bits por palabra. Holtek dispone de diversos
encapsulados, con diferente pinout, el encapsulado con sufijo -A es
el que se corresponde con el “standard”. Cika
solamente comercializa estos encapsulados.
Otros
fabricantes tendrán a su vez sus respectivas variantes, las
cuales desconocemos dado que no las comercializamos.
En todo
circuito, es posible intercambiar memorias de Microchip por Holtek,
simplemente conectando el pin de ORG al potencial correspondiente:
para
reemplazar 93LCx6A
por HT93LCx6,
conectar el pin
ORG
a masa
para reemplazar 93LCx6B
por HT93LCx6, conectar el pin ORG a
Vcc ( o dejarlo libre, tiene un pull-up)
para
reemplazar 93LCx6C
por HT93LCx6,
conectar el pin
ORG
al circuito, como estaba
para reemplazar 93LCx6
por HT93LCx6, conectar el pin ORG al
circuito, como estaba; sin embargo, deberá modificarse el
firmware.
En cuanto
a la velocidad de operación, se aconseja analizar
cuidadosamente las hojas de datos. A grandes rasgos, las memorias
de Microchip pueden funcionar a 2MHz en todo el rango de
alimentación, mientras que las de Holtek soportan esa
velocidad de operación sólo a 5V, extendiendo todos
los tiempos de operación requeridos conforme la tensión
de alimentación disminuye. En gran cantidad de circuitos con
microcontroladores, donde el acceso a la memoria se realiza
controlando un pin de I/O con el microcontrolador, las velocidades de
operación son bajas y ambos chips resultan virtualmente
equivalentes en todo el rango de alimentación.
De todos modos, consulte
siempre las hojas de datos.
Los
módulos de RF comercializados por Cika son módulos
económicos en base a receptores generalmente regenerativos y
transmisores simples. Son los comúnmente utilizados en control
remoto, y no son aptos para el establecimiento de radioenlaces, y por
lo general tampoco para la comunicación de datos, a menos que
se estudie su funcionamento y se respeten sus características
particulares (ver FAQ #A.2).
El
alcance a obtener con estos módulos depende de características
como potencia de salida, ganancia de antena, atenuación por
espacio libre, sensibilidad del receptor. Primero y último
figuran en hoja de datos, pero los otros dos dependen de
características constructivas, lugar donde se utilizan,
cercanía con grandes objetos metálicos, etc (ver FAQ
#A.8).
Nunca dos transmisores de
igual frecuencia pueden transmitir al mismo tiempo en la misma zona
(excepto spread spectrum pero eso es otra cosa). La única
forma de usar la misma frecuencia es que transmitan de a uno por vez,
y eso se llama half-duplex. Si cada transmisor usa, por ejemplo, un
HT-12 (o equivalente) con un código distinto, lo único
que se va a recibir es una interferencia de ambas transmisiones, o en
el mejor de los casos sólo al que transmita más fuerte
y/o esté más cerca. La única forma de hacer
full-duplex puro es usar dos frecuencias diferentes
Además, deberá
tener en cuenta que cuando transmita, por cercanía pude que
sature al receptor que está al lado y no pueda recibir por
éste mientras envía datos al mismo tiempo; debería
usar dos canales lo suficientemente alejados en frecuencia, dadas las
características poco selectivas de los receptores. Los
sistemas que necesitan transmitir y recibir a la vez son diseñados
para esa función, y no se basan precisamente en módulos
regenerativos OOK de bajo costo.
La alternativa económica
para sistemas con comunicación en más de un sentido es
utilizar los TRW2.4G de Wenshing, que si bien siguen siendo
half-duplex, como son transceptores y manejan una dirección
por módulo, es posible hacer comunicación en ambos
sentidos, pero requiriendo micros para controlar al TRW-2.4G (no se
puede poner un HT-12, por ejemplo).
Nuestra recomendación
para comunicación confiable y eficiente es utilizar la línea
Digi RF.
Los
módulos Xtend son productos
no soportados.
- Si bien X-CTU
funciona en W98, para realizar upgrades de firmware se requiere XP o
superior.
El
alcance a obtener en cualquier enlace de RF depende de
características como potencia de salida, ganancia de antena,
atenuación por espacio libre, sensibilidad del receptor.
Primero y último figuran en hoja de datos, la potencia de
salida suele poder setearse, revise que la haya configurado
correctamente. La ganancia de antena la puede determinar de su patrón
de irradiación, observe que en los módulos XBee es
fuertemente dependiente de la orientación de los mismos y es
muy irregular, por lo que es de esperarse variaciones de unos 10dB.
La atenuación por espacio libre la puede determinar por medios
matemáticos, pero tenga en cuenta que esto asume línea
directa de visión (LOS), es decir, que ambas antenas se ven y
no hay obstáculos en las zonas principales de Fresnel. Si esto
no ocurre, existirá una fuerte atenuación adicional.
Por ejemplo, para obtener un alcance similar al teórico (LOS)
en 2.4 GHz se requiere ensayar con antenas a por lo menos 4m de
altura en un espacio totalmente abierto y despejado (sin nada entre
ambas antenas que sobresalga del nivel del suelo y por lo menos a
otros 4m a los costados).
El libro “Equisbí”,
publicado por Cika Electrónica, contiene mayor información
al respecto.
En el
libro “Equisbí”,
publicado por Cika Electrónica, se incluyen oscilogramas
demostrando el throughput y latencia obtenidos con módulos
XBee 802.15.4 y XBee ZB. Los mismos se determinaron mediante la
práctica como validación de un análisis teórico
anterior. Esto significa que si bien estos módulos no
fueron diseñados para thruput o streaming sino para redes de
sensores, bajo condiciones acotadas es posible obtener un thruput
razonable. Los cálculos y experiencias han sido realizados
por profesionales con amplia experiencia en el campo de las
comunicaciones de datos y el desarrollo de sistemas de
comunicaciones.
Si desea realizar su
propia experiencia, por favor siga las recomendaciones a
continuación:
Antes que nada, para poder
realizar una medición de performance de un sistema de
comunicaciones se debe conocer la teoría de éste en
particular y de éstos en general. Si no tiene experiencia
previa lea atentamente el libro recomendado y la bibliografía
que éste sugiere.
No envíe los datos
mediante un puerto USB de PC, la latencia y empaquetado de estos
puertos producen errores en la medición.
Respete las buenas
prácticas de diseño y el conexionado de las señales
de control de flujo. Necesitará control de flujo por hardware
pues el XBee le demandará detener el envío de datos
cuando se llene su buffer.
La
información generada por un nodo recorre la sección de
la red que deba recorrer, aprendiendo el camino para llegar al nodo
destino.
Una
red ZigBee consta de tres tipos de nodos:
Coordinador:
debe existir un coordinador en la red,
y sólo puede haber uno. Es el
nodo que da nombre a la red. No necesariamente debe ser el
concentrador de información de los datos que envíe la
aplicación del usuario, pero puede serlo.
Router:
se los utiliza para armar la red de transporte de información.
También pueden ser concentradores de información o
reportadores de eventos, mediciones, etc. El Coordinador es un
Router especial.
End-device:
pueden dormir periódicamente, economizando consumo. Por lo
tanto se los utiliza en los lugares
donde se requiere bajo consumo. No
repiten mensajes de otros, sólo transmiten los suyos y
reciben los que son para ellos, no forman parte de la red de
transporte pero pueden generar o concentrar información. La
red almacena los mensajes para ellos mientras duermen, por lo que no
es recomendable utilizarlos en lugares donde se requiere enviarles
mucha información o baja latencia.
Los
tres pueden transmitir información que ingresa por el puerto
serie a cualquier nodo que se configure como destinatario, los tres
pueden reportar información de sus pines de I/O (el
coordinador requiere firmware 2x8C o superior), los tres aceptan
comandos remotos y operar mediante éstos sobre sus pines de
I/O.
En el libro “Equisbí”,
publicado por Cika Electrónica, encontrará mayor
información
En la sección
sobre Comentarios Técnicos
encontrará también mayor información, entre
otros:
CTC-062_XBeeZBhowitworks.pdf
No todos
los kits son incompatibles entre sí...
Hay dos tipos de conectores
de programación, de diferente paso. Toda la línea 2000
(20xx/21xx/22xx/23xx) usa un conector con paso de 2mm. La línea
3000 es diferente: el RCM30xx y el RCM31xx usan el conector de 2mm, y
todos los demás modelos, incluyendo los más recientes,
usan un conector más chico, con paso de 1,27mm. Además,
la línea 2000 es de 5V y la 3000 es de 3,3V; los cables
actuales de 2mm usan un chip (Sipex) que funciona bien a 3V y puede
programar correctamente 2xxx ó 30xx/31xx, pero los más
viejitos usaban un equivalente del MAX232 y no funcionaban a 3V.
Resuelto el tema del cable,
el pinout de las diversas familias es diferente, pero guarda cierta
compatibilidad entre algunas de ellas, por ejemplo, una prototyping
board de RCM22xx puede alojar módulos 23xx (y viceversa), pues
el pinout es el mismo. RCM20xx y RCM21xx son incompatibles entre sí
y con las demás familias.
La serie 3000 tiene
compatibilidad de pinout entre las familias RCM30xx, RCM31xx, RCM32xx
y RCM33xx. Además, existe compatibilidad de pinout entre las
familias RCM36xx y RCM37xx. Debido a que cada familia tiene diversos
periféricos, puede que algunos pines no estén
disponibles en algunos módulos, y que algunas prototyping
boards los tengan asignados a otra tarea. Para determinar
correctamente esto, puede consultar el siguiente archivo:
http://www.cika.com/soporte/Information/Rabbit/CoreModules/RCM3xxxpinouts.pdf
Consulte los manuales del
usuario para mayor información o precisión.
Más
allá de esto, usted siempre puede resolver por su cuenta el
tema de dar alimentación al módulo y utilizar el cable
de programación correspondiente, pudiendo programar el módulo
en cuestión sin la necesidad de disponer de una prototyping
board. Para el caso del RCM3400, deberá resolver además
la conexión con el cable de programación, porque este
módulo no tiene pines de programación en el módulo.
Si tiene dudas, consulte
los manuales del usuario de las familias involucradas
-
Si lo desea, puede acceder
a toda la documentación online, en la página web de
Rabbit:
http://www.rabbitsemiconductor.com/docs/
Disponemos
de conectores hembra de paso 2mm (SMD y through-hole), lo cual cubre
programación y conexión de RCM2xxx, RCM30xx y RCM31xx;
y conexión de RCM32xx y RCM33xx. Puede que no existan todas
las combinaciones de tipo de montaje y cantidad de pines.
RCM36xx y RCM37xx utilizan
conectores “standard” de paso .1” (hembra para
pines)
Disponemos además de
conectores de paso 1,27mm para RCM34xx, que “fraccionándolos”
pueden servir para programación de éste y/o RCM32xx y
RCM37xx
Para otros
casos, consultar el manual del usuario para determinar el paso del
conector requerido.
Todos los
upgrades menores, es decir, dentro de la misma versión
(de A.xx a A.yy) son gratuitos. Caso contrario, para upgrades
mayores, es decir, pasando a una versión superior (de
A.xx a B.yy), deberá adquirirlo como producto nuevo.
Upgrades
menores (dentro de la misma versión)
Si compró Dynamic C
8 y le tocó versión 8.xx, puede bajar la 8.yy de la
página web sin cargo.
Si compró una
library (PPP, SNMP, zzz) y se le entregó versión A.xx,
puede bajar la versión A.yy de la web sin cargo.
En ambos casos, el programa
de instalación le va a pedir una licencia válida, y
deberá introducir la que tenía original: si se trata de
DC, la licencia de DC, si se trata de una library, la licencia de la
library. Para poder instalar un upgrade, deberá tener
instalado el original, es decir, es muy probable que lo que baja de
la página web de Rabbit no le permita instalar (no le acepta
la clave) a menos que tenga instalado previamente lo que obtuvo en CD
al hacer la compra.
Upgrades
mayores (entre diferentes versiones)
Si usted tiene DC8 y desea
DC9, debe adquirir el upgrade.
Si posee una library (PPP,
SNMP, zzz) A.xx y desea B.yy, deberá adquirir el upgrade.
Esto incluye el caso de
tener que actualizar una library por pedido de una versión
mayor de DC, por ejemplo, para pasar de DC8 a DC9, deberá
adquirir el upgrade de DC8 a DC9 y además, si tiene la library
de PPP, deberá adquirir el upgrade de esta última de
1.xx a 2.yy.
La tabla de
compatibilidades entre módulos y versiones de DC, está
a disposición de los usuarios en la página web de
Rabbit
Productos
anteriores
Generalmente, si tiene un
producto anterior (Dynamic C SE, Dynamic C Premier), se le permitirá
bajar la última versión de un producto equivalente, sin
cargo (por ejemplo: 7.32P para Premier y 7.31TSE para SE)
En todos los
casos, el upgrade gratuito lo puede bajar de:
http://www.rabbitsemiconductor.com/support/downloads/downloads_dc.shtml
Consulte a su vendedor por
precios y disponibilidad de los que sean con cargo.
Antes
que nada, verifique si no existe un módulo dentro de la misma
familia con mayor cantidad de memoria. El RCM2250, por
ejemplo, posee 512KB RAM y 512KB flash
Si no es así,
analice la posibilidad de utilizar algún otro módulo de
otra familia, la familia RCM3300, por ejemplo, incorpora soporte para
NAND flash y/o xD flash y 1MB de RAM.
http://www.cika.com/soporte/Information/Rabbit/TablaComparativaRabbit.pdf
También
dispone de la posibilidad de adquirir expansiones tipo SF10xx,
que incorporan una memoria flash SPI de hasta 16MB.
Si ninguna de estas
opciones le satisface, el procesador Rabbit permite acceso al bus de
datos y al de direcciones, con lo cual es perfectamente factible
realizar cualquier tipo de desarrollo para agregar cualquier tipo de
memoria. Tenga presente que mediante la MMU es posible direccionar
hasta 1MB, y cualquier memoria adicional deberá implementar
algún tipo de bank switching (mediante la MIU, puede manejar
de forma relativamente simple hasta 6MB). Si su necesidad es
solamente flash, podemos ofrecerle chips SPI compatibles en formato
MMC y los correspondientes zócalos. En ambos casos, queda a su
cargo el correspondiente desarrollo de hardware y software. Consulte
a su vendedor por precios y disponibilidad de los ítems
mencionados
De todos
los componentes que evaluamos y luego comercializamos, al momento de
evaluarlos, armamos un circuito de prueba mediante el cual los
ensayamos. Una vez terminada la evaluación se escribe una nota
de aplicación donde se comenta o aclara algo interesante que
no pueda inferirse fácilmente de la hoja de datos.
Una nota de aplicación
no es un producto comercial terminado, es una herramienta destinada a
un developer en la cual se desarrolla alguna aplicación
comercial de uno o varios componentes determinados. Las notas de
aplicación son circuitos que se han armado y/o software que se
ha desarrollado en Cika, y obviamente se ha comprobado su
funcionamiento dentro de las funcionalidades y características
de una nota de aplicación, lo cual se aclara y
explica en cada una de las mismas. Lo que esto significa es que
no se evalúan todas las combinaciones posibles de error que un
usuario inexperto puede introducir, ni todas las prestaciones
posibles que un producto comercial debería dar, sino que se
hace lo que se espera que una nota de aplicación haga: mostrar
las funcionalidades del componente y favorecer la comprensión
de la hoja de datos o equivalente.
Si bien
pueden existir errores u omisiones en cualquier documento o nota de
aplicación, las mismas son probadas antes de su publicación
y funcionan correctamente en el entorno corriente al momento de su
publicación.
Le sugerimos que lea
detenidamente las mismas y las relacionadas, y examine detalladamente
el código utilizado y las bibliotecas de funciones
involucradas (si las hubiere) si no lo puede hacer funcionar en su
entorno de trabajo.
Si
realmente está seguro de haber encontrado un error, repórtelo
detalladamente por mail (como indica la FAQ
#3.13) a soporte@cika.com y
procederemos a revisarlo.
Luego
de leer la FAQ#A.25,
comprenderá que si la nota de aplicación funciona sin
modificar, es altamente probable que el hecho de que deje de
funcionar luego de modificarla se deba a sus modificaciones. Revise
cuidadosamente lo que modificó y lo que se intentaba hacer en
la nota de aplicación, observe las señales con
osciloscopio si corresponde, revise la documentación. Si no
encuentra usted mismo el problema, consulte la FAQ#A.5.
Si
esto le sucede con un módulo nuevo que adquirió
recientemente y su compilador de siempre, consulte FAQ
#3.18 y
FAQ #3.2
Cuando experimente algún
inconveniente, trate de aislar el problema y verificar que realmente
se trata de un defecto de la herramienta provista, ya sea ésta
el compilador o una biblioteca de funciones; es altamente probable
que se trate de un problema del software siendo desarrollado o alguna
inconsistencia en la documentación.
Para aislar el problema,
trabaje solamente con el elemento que supuestamente tiene el
problema, desarrolle un programa muy simple para probarlo, evitando
interrupciones y otro tipo de servicios, funciones, y elementos que
podrían enmascarar el verdadero problema. Observe las señales
con osciloscopio si corresponde.
Si realmente está
seguro de haber encontrado un error, documente su hallazgo:
listado del código
que muestra el defecto, en lo posible comentado, la menor cantidad
de líneas de código posible
detalle del defecto
observado, log si es posible
seteo de hardware y/o
software utilizado para aislar el problema
versiones de compilador y
libraries utilizadas
Envíelo
por mail a soporte@cika.com y procederemos a revisarlo y contactar al
fabricante si corresponde.
Normativas
vigentes requieren cumplimentar una serie de requisitos para poder
importar fuentes de alimentación (productos que se conectan
ala red de 220V). A fin de mantener el precio del producto bajo, y
los tiempos de entrega cortos, importamos los kits sin fuente de
alimentación. Un kit de desarrollo es un producto para un
developer y éste generalmente dispone de una fuente de
alimentación o puede proveerse de una dadas las
especificaciones de la misma.
El
servicio meteorológico entrega información tomada en un
instante determinado en un lugar determinado. El sensor entrega
continuamente información tomada en el lugar donde usted lo
está utilizando. La medición de humedad en particular
es altamente susceptible a corrientes de aire, dado el contenido de
humedad del mismo, que es justamente lo que el sensor mide.
Si usted desea contrastar
un sensor, deberá disponer de una cámara adiabática
y estanca, también en su interior, y de un instrumento de
mayor precisión correctamente calibrado.
Dynamic C
es la herramienta standard de Rabbit que provee un compilador C y un
entorno de desarrollo (IDE), a un costo sumamente atractivo,
considerando que el kit de desarrollo más económico le
provee un módulo, una placa para prototipos, compilador C,
stack TCP/IP sin regalías, y un entorno de trabajo multitarea
cooperativo, a una fracción del costo de un compilador ANSI C
para cualquier otro procesador.
Si
por algún motivo usted no desea trabajar con Dynamic C,
dispone de compiladores ANSI C standard de otros proveedores,
como por ejemplo SoftTools, a
un costo similar al de otros compiladores ANSI C del mercado.
(Cika no comercializa ni da
soporte sobre este producto).
http://www.rabbittools.com/
Las
condiciones particulares de operación de cada servicio de cada
proveedor las tiene que consultar con el proveedor del servicio. Cika
no realiza homologaciones ni pruebas particulares, se trata de
módulos o kits de desarrollo, no de equipos terminados, y
usted deberá realizar las pruebas necesarias para determinar
si la aplicación que usted desarrolla cumple con sus objetivos
y requisitos. El kit viene con código fuente que usted puede
modificar a su gusto hasta satisfacer sus necesidades.
Para el contenido y
especificaciones de cada kit en particular, consulte la documentación
que acompaña al mismo.
Verifique
que su hardware respete las condiciones de operación
recomendadas por el fabricante y las buenas prácticas de
diseño (FAQ #A.6).
Trate de
aislar el problema y verificar que realmente se trata de un defecto
de hardware en el componente; es altamente probable que se trate
de un problema de diseño. Para aislar el problema, trabaje
solamente con la parte que supuestamente tiene el problema, evite
componentes periféricos que pudieran enmascarar el verdadero
problema. Si realmente aisló y comprobó la
existencia de un defecto en el dispositivo o su hoja de datos,
documente su hallazgo detalladamente:
cantidad ensayada
cantidad fallada
circuito esquemático
donde se utiliza el componente y/o donde se realiza el ensayo.
características del
ensayo o de la falla observada.
defecto
observado/parámetro no cumplido.
seteos de hardware y/o
software utilizado para aislar el problema, si corresponde.
Envíe
la documentación por mail a soporte@cika.com para que podamos
verificarlo y si corresponde comunicarnos con el fabricante. Todos
los reclamos comerciales que necesite hacer los puede negociar con
su vendedor.
Si
nunca antes trabajó con este chip/partida, luego de leer esto
consulte la FAQ
#A.15
El hecho de que antes
probablemente funcionaran bien, no significa que no puedan existir
algunos inconvenientes en el diseño, que resultan puestos en
evidencia por nuevas partidas, menos tolerantes a trabajar fuera de
las condiciones de operación recomendadas (ver HT-12
para un ejemplo).
Los productos
(semiconductores, módulos, displays, etc.) funcionan acorde a
como lo especifican las hojas de datos. Es posible que diferentes
partidas presenten diferente comportamiento fuera del rango de las
especificaciones, siendo más o menos tolerantes a trabajar
fuera de las condiciones normales de funcionamiento, ruidos,
interferencias, etc.
El fabricante únicamente
garantiza el funcionamiento dentro de las condiciones normales de
operación, especificadas en las hojas de datos. Es
responsabilidad del usuario garantizar que esas condiciones de
operación se respeten, libres de variaciones fuera de lo
tolerado, ruidos, e interferencias.
Si su producto presenta
características de operación dependientes de un tipo o
partida en especial, le recomendamos que revea y ajuste su diseño
acorde a las condiciones y especificaciones definidas en las hojas de
datos, para evitar futuros inconvenientes de esta índole.
Si bien algunas
arquitecturas, marcas, o a veces partidas, suelen ser más
tolerantes a trabajar en condiciones desfavorables, todas funcionan
correctamente si se respetan los valores recomendados en las hojas de
datos y las buenas prácticas de diseño. El diseño
de un buen circuito impreso es casi un arte y no es fácil
dominarlo; muchos developers contratan personal experimentado para el
diseño de impresos. Además, los sistemas con cristal
suelen ser más sensibles a las longitudes y distribución
de las trazas, particularmente en lo referente al oscilador. En
algunos casos, hasta es necesario considerar la aplicación de
blindajes. AL diseñar un circuito impreso, es menester prestar
especial atención al hecho de que en un circuito real, las
trazas, pines y conexiones son impedancias, vinculando no sólo
lo que se quiere conectar sino también los diversos
componentes entre sí.
Revise cuidadosamente que
su diseño respete todas las condiciones de operación
recomendadas en la hoja de datos (tensiones, corrientes, y
disipación, particularmente). Obtenga las hojas de datos más
corrientes, algunos fabricantes alteran levemente sus
especificaciones y si su diseño está muy exigido puede
hallarse comprometido. Revise las erratas.
Si el diseño en
papel cumple con todas estas condiciones, revise cuidadosamente el
circuito armado con osciloscopio, prestando especial atención
a transitorios e inestabilidad o variaciones en puntos donde no
debería haberlas. Es fundamental respetar las buenas
prácticas de desacople.
Si se trata de un
microprocesador, microcontrolador, o similar, verifique el software
(FAQ #6.3), y siga las recomendaciones respecto a
reset (FAQ #6.1), aun cuando esto no sea su
síntoma, es probable que la causa sea ruido.
Respete las buenas
prácticas de desacople, planos de tierra y trazado de PCBs
para minimizar ruidos e interferencias; considere el uso de blindajes
si corresponde. Si su problema es atribuible a ruido ingresando al
sistema, la tarea a realizar consiste en identificar la fuente de
ruido, el modo de ingreso de ese ruido al sistema, y la forma de
trabajar para minimizarlo, actuando sobre cada una de las formas
identificadas en las cuales el ruido ingresa al sistema. Es un
proceso tedioso e iterativo, pero es la forma correcta de resolver su
problema.
Verifique que la fuente de
alimentación funciona correctamente, incluso ante problemas de
ruido, es altamente probable que éste sea el punto de entrada,
los reguladores lineales comunes del tipo 78xx son conocidos por su
alta “permeabilidad al ruido”.
Si luego
de revisar esto, está seguro de que encontró un
problema de hardware atribuible al dispositivo, remítalo con
la información correspondiente (como recomienda la
FAQ #A.15)
a soporte@cika.com para que podamos verificarlo y si corresponde
comunicarnos con el fabricante. Todos los reclamos comerciales que
necesite hacer los puede negociar con su vendedor.
Si el
alcance de un determinado lector RFID no le satisface, usted puede:
Adquirir otro lector RFID
con diferentes características, consultando a su vendedor por
alternativas, precios, y disponibilidad.
Diseñar su propio
lector RFID.
Para
esta última opción, dispone de circuitos integrados
específicos como el EM4095 de EM Microelectronic-Marin.
Tenga presente que no se trata de un booster, el 4095
le resuelve el problema de RF, entregándole la salida de RF
demodulada (incluso puede usarlo para diseñar un
lector/escritor). Usted deberá implementar el lector completo
con su demodulador Manchester, y deberá extraer los bits de ID
entre la información cruda que incluye header y bits de
paridad. Cika puede proveerle hojas de datos, notas de aplicación,
y el formato de las tarjetas que comercializamos.
http://www.cika.com/soporte/Information/Semiconductores/CIlineales/EM4095.pdf
http://www.cika.com/soporte/Information/Semiconductores/CIlineales/AppNotes/AN404(EM4095).pdf
http://www.cika.com/soporte/Information/Tarjetas/Rfid/uem4100_tag_format.pdf
http://www.cika.com/soporte/Information/Semiconductores/CIlineales/AppNotes/AN404_Software.zip
Como
regla general, Cika no realiza demostraciones de aplicaciones o de
ninguno de sus productos, excepto aquéllos que dadas sus
características se encuentran alojados en nuestro show-room,
en placas de demostración construidas a tal fin.
Si
su duda es respecto al funcionamiento de un producto que está
llevando, en algunos casos podemos probarlo en frente del cliente en
mostrador, en otros casos no. Comprenderá que no podemos
vender componentes usados, por lo que la prueba se realiza solamente
del producto que usted está decidido a llevar, y solamente
para corroborar su normal funcionamiento, cargando alguna demo o
insertándolo en algún probador, cuando el costo y
características del producto lo justifiquen.
En cuanto a la
aplicabilidad o conveniencia de dicho producto para su aplicación
en particular, le recomendamos adquirir un kit de evaluación o
alguna cantidad mínima del producto y realizar las pruebas que
considere necesarias, dispone de nuestro departamento de Soporte
Técnico para cualquier consulta que necesite realizar.
Nuestro
departamento de Soporte Técnico atiende sus consultas en temas
técnicos referidos a los productos y fabricantes de la cartera
de productos de Cika, y tratará de resolver su problema o
inquietud, derivando la consulta al fabricante o developer si
corresponde. En todos los casos, usted se comunicará siempre
con Soporte Técnico, y se le entregará toda la
documentación que sea necesaria.
Para aquellos casos que
excedan los alcances de una consulta normal, en que el cliente
requiere un mayor grado de atención o capacitación,
disponemos de las siguientes alternativas:
Cursos,
workshops y seminarios: organizados periódicamente. Consulte
en la página web de Cika: http://www.cika.com/eventos,
o con su vendedor.
Atención
personalizada y asesoramiento de aplicación por nuestros
ingenieros: solicite presupuesto a su vendedor.
Desarrollos
a pedido: consulte a su vendedor
Para todas
aquellas consultas, dudas, e inquietudes no técnicas,
comuníquese con nuestro departamento de ventas
De todos
los componentes que evaluamos y luego comercializamos, al momento de
evaluarlos, armamos un circuito de prueba mediante el cual los
ensayamos. Una vez terminada la evaluación se escribe una nota
de aplicación donde se comenta o aclara algo interesante que
no pueda inferirse fácilmente de la hoja de datos.
En algunos casos, por
cuestiones de disponibilidad de tiempo o características y/o
requerimientos propios del producto, no nos es posible evaluarlo
correctamente. De igual modo, tampoco podemos probar dispositivos
adquiridos por el cliente ni contestar dudas o confirmar errores en
la documentación, dado que en la gran mayoría de los
casos son justamente ésos los motivos por los cuales hemos
decidido no dar soporte. Si hubiera sido posible confirmar nuestras
dudas y conseguir una mejor documentación, lo habríamos
hecho antes de colocar el producto a la venta. Esperamos se comprenda
esta situación, ya que hacemos todo lo posible por soportar
correctamente todos nuestros productos, y preferimos directamente no
soportar algunos, que dar un soporte a medias
- Tengo un PSP
y no tengo port serie
Usted
compra/posee un producto que funciona conectado al port serie de una
PC. Si su PC no dispone de un port serie, deberá adquirir
algún tipo de adaptador que le proporcione, de alguna forma un
port serie. Cika no vende productos de computación ni hace
pruebas de estos productos para comprobar si funcionan con
determinadas máquinas o con el PSP; sin embargo, podemos
ofrecerle una opción:
Usted
compra/posee un producto que funciona conectado al port serie de una
PC. Si su PC no dispone de un port serie, deberá adquirir
algún tipo de adaptador que le proporcione, de alguna forma un
port serie. En el caso particular de Rabbit, el cable de programación
utiliza las señales de interfaz para controlar y observar la
operación del micro, particularmente la señal DSR se
emplea para detectar la operación correcta. El tipo de
adaptador que utilice deberá proveer preferentemente todas las
señales de interfaz correspondientes a ambos sentidos (RTS,
CTS, DTR, DSR, DCD).
Cika no vende productos de
computación ni hace pruebas de estos productos para comprobar
si funcionan con determinadas máquinas o con el cable de
programación de Rabbit; sin embargo, podemos ofrecerle tres
opciones:
El
adaptador comercializado por Rabbit
(540-0070), que puede adquirir en Continea
(sólo para Rabbit)
El cable Carrot-USB, desarrollado por Cika/Continea, que puede
adquirir en Continea
El
adaptador Merlin, de Cavadevices,
un adaptador de desarrollo local probado por developers que
regularmente trabajan con nosotros.
El Rabbit
es un host TCP/IP de arquitectura abierta y dispone de los fuentes de
todo. El developer siempre puede diseñar un sistema
auto-upgradeable como le plazca, diseñando sus loaders y su
sistema para tal fin, o previéndolo en hardware.
Si su consulta es respecto
a que un programa standard cargue a otro programa standard:
La nota de aplicación
TN224 explica que no es posible hacer que un programa cargue a otro
programa de forma standard dado que se necesita el stack TCP/IP
funcionando para poder cargar al nuevo programa, y necesita borrar la
flash para poder cargarlo. Se asume que ambos programas bootearán
y correrán en flash dado que es un equipo que debe funcionar
independientemente.
En módulos con dos
flash, es posible hacer modificaciones para que un software resida en
una y se cargue en la otra.
http://www.cika.com/soporte/Information/Rabbit/AppNotes/TN224.pdf
Dispone
además de opciones de terceros:
http://shdesigns.org/rabbit/
(Cika no comercializa ni da
soporte sobre este producto)
Tenga
presente que dejar un sistema con el código expuesto a ser
modificado desde el exterior, en una red, implica la presencia de
riesgos de seguridad que no se hallaban presentes en un sistema que
sólo puede modificarse mediante la presencia física de
una persona en el mismo recinto que el sistema en cuestión,
como es el upgrade por puerto serie. Cika Electrónica no
dispone de expertos en Seguridad Informática y no puede
asesorarlo sobre este tema en particular.
El
Rabbit es antes que nada un microprocesador, y como todo
microprocesador, ejecuta instrucciones que lee de una memoria que no
está dentro del procesador. Nada impide que esa memoria pueda
ser leída, con o sin el procesador, para extraer el código.
Si su preocupación
es porque sospecha que sus competidores puedan estar copiándole
el programa, consulte con algún experto en el tema de qué
herramientas legales dispone.
Respecto a cómo
hacer más difícil una copia, puede recurrir a cientos
de artilugios como números de serie, dongles, diseñar
su propia placa y alterar el orden “esperado” de las
líneas de datos y/o direcciones, sumergirlo en epoxi, etc..
Tenga presente que dados tiempo y dinero necesarios, se puede hacer
ingeniería inversa de cualquier sistema, incluso de
microcontroladores con password.
Cika Electrónica no
dispone de expertos en Seguridad Informática, Ingeniería
Inversa, o temas legales, y no puede asesorarlo sobre este tema en
particular.
La
library de encripción es una herramienta destinada a
developers que venden código que forma parte de un proyecto de
terceros, y sirve para encriptar código fuente en forma de
libraries. El compilador toma ese código encriptado al momento
de compilar, es decir, permite que quien adquiere el código
así procesado pueda utilizarlo (compilar una aplicación
que lo usa) pero no verlo (leer el fuente). Esto no altera el código
final, que siempre debe estar en un formato que el micro pueda leer y
entender, es decir, debe tener los opcodes en el orden correcto.
Si la
versión del compilador Dynamic C que usted tiene es anterior a
la introducción del módulo que usted adquirió,
el compilador y las libraries no saben cómo trabajar con ese
módulo en particular, pues al momento de salir esa versión
de Dynamic C, ese módulo no existía.
Para resolver su problema,
usted tiene las siguientes opciones:
Actualizar
Dynamic C a una versión más reciente, a través
de la página web de Rabbit. Si no existe una versión
gratuita disponible, puede adquirir el upgrade (ver FAQ
#3.7). Consulte a su vendedor por
precios y disponibilidad
Realizar la compilación
en modo “targetless”, es decir, en Project -> Options
->Targetless -> Board Selection deberá elegir un módulo
de similares características al suyo, conocido por el
compilador. Esto soluciona problemas originados en las libraries de
networking (particularmente el chip Ethernet), pero puede que no se
aproveche la totalidad de la capacidad de memoria del módulo.
Para compilar, seleccione la opción Compile -> Compile to
.bin file, y luego transfiera el código mediante una utilidad
como RFU. Lamentablemente, no dispondrá de debugging.
Seguir el código de
la library donde se genera el error, y modificarla para que soporte
al nuevo módulo; dispone del código fuente de la misma
y conoce las características del módulo. Generalmente,
el problema se soluciona mediante una simple modificación en
alguna macro que hace referencia a un módulo similar.
Rabbit es
un procesador de 8 bits con 1MB de capacidad de direccionamiento de
memoria, soportado por un compilador C (Dynamic C) con soporte
multitarea cooperativo integrado y stack TCP/IP sin regalías
(royalty-free), debugger en circuito, y gran cantidad de bibliotecas
de funciones (libraries) y ejemplos (samples) con muchas aplicaciones
típicas resueltas; como servidores web, servidor y cliente
FTP, cliente de email, cliente DHCP, etc.
A su vez, dispone de
módulos de software que puede adquirir por separado,
destinados a cubrir tareas más específicas como PPP,
SNMP, SSL, etc.
Por lo general, implementar
una aplicación basada en estas libraries se reduce a analizar
las samples provistas y realizar las modificaciones particulares que
fueran necesarias, a gusto del desarrollador; dispone del código
fuente de todo como para adecuarlo a su criterio y necesidades.
Leyendo
el tutorial CTU-004,
Introducción a Rabbit, tendrá una idea más
acabada de las diferentes opciones, qué funciones están
provistas en Dynamic C y lo que se provee con cada kit. Consulte a su
vendedor por módulos más recientes, precios, y
disponibilidad.
El
tutorial CTU-001
le explica qué es y cómo funciona Dynamic C
El
tutorial CTU-002
le explica las características principales del Rabbit 2000
El
tutorial CTU-003
le explica las principales diferencias del Rabbit 3000 por sobre el
Rabbit 2000
Si lo
desea, puede adquirir alguno de los libros sobre el tema que figuran
en nuestra página
Ver FAQ
#3.4 por documentación
Ver FAQ
#3.14 por alternativas a Dynamic C
Ver FAQ
#3.6 por compatibilidad de conectores
entre kits
Ver FAQ
#3.10 por conectores
Para
compilar a un archivo, debe seleccionar la opción
Compile->Compile to .bin file.
Para cargarlo luego en un
módulo, deberá utilizar la utilidad RFU.
Comprenderá que el
compilador soporta muchos módulos y placas Z-World diferentes,
y cuando compila a un archivo no necesariamente el módulo en
cuestión debe estar conectado o ser el código generado
para éste en particular. La forma de seleccionar para qué
módulo se compila, cuando compila a un archivo, es
marcarlo en el menú Options->Project Options en la
solapa Targetless.
Todos los errores y
warnings que observa (obviamente asumiendo que su código se
hallaba ya depurado) se deben a que el módulo seleccionado no
dispone de algunas características que el programa requiere,
como por ejemplo chip Ethernet, capacidad de RAM y/o flash, etc.
Por igual razón, el
código puede compilar correctamente y luego no funcionar al
cargarse, o fallar solamente algunas secciones (grabación en
flash, networking, etc.).
Antes que
nada, identifique si el mensaje de error es de compilación
o runtime.
Los mensajes de error de
compilación aparecen en la ventana de mensajes, y
usualmente su descripción es suficiente como para ayudarle a
hallar la línea de programa donde hay un error de sintaxis. Si
aparecen varios mensajes de error relativos a una misma línea,
comience observando el último y analice todos para darse una
idea. La aparición de mensajes de error de compilación
se debe a errores de sintaxis u operaciones inválidas en el
programa.
Los mensajes de error en
runtime aparecen como requesters mientras se ejecuta el
programa, y son ocasionados por errores en tiempo de ejecución.
El sistema cuenta con algunas características que le permiten
interceptar algunas situaciones particulares y mostrar mensajes de
error, en vez de dejar que el código funcione por las suyas
(generalmente de forma errática). Entre las características
mencionadas se incluyen: chequeo de desborde del stack, acceso fuera
de los límites definidos en arrays, detección de
vectores de interrupción no inicializados. En algunos casos,
el mensaje es más que suficiente como para poder detectar la
línea de programa que ocasiona el problema. En otros, deberá
utilizar las herramientas con que cuenta, como ser ventanas de stack
trace, trace de funciones, debugging en assembler, etc. La
aparición de mensajes de error en runtime se debe a errores de
programación detectables por el debugger.
La aparición de
un requester indicando la finalización del programa, con
un código determinado, puede deberse a la inclusión de
la sentencia exit(), la finalización normal de la
ejecución del programa (carencia de un loop infinito), la
expiración de un watchdog (indicada por un código
especial).
La aparición de un
requester indicando la pérdida de comunicación con
el procesador, se debe a dicha causa, la cual puede ser
ocasionada por la desconexión intencional del sistema de
debugging (#nodebug en el código o la directiva nodebug
en la declaración de una función que demora demasiado o
no retorna), el reset intencional del procesador, o por el reset o
“cuelgue” del procesador debido a errores de
programación no detectables por el compilador.
Los
microprocesadores no tienen “compatibilidades” o tablas
de equivalencia, a menos que sean clones o miembros de una misma
familia, es decir, tengan una arquitectura similar o equivalente. Lo
que sí tienen es una serie de periféricos y capacidad
de memoria que pueden ser similares y en contados casos equivalentes,
pero que probablemente funcionarán de forma algo diferente y
su uso requerirá de estudio y ensayo. De más está
decir que el software desarrollado para uno no le servirá en
el otro, a menos, claro está, como dijéramos
anteriormente, que sean clones o miembros de una misma familia.
Además, siempre dentro de arquitecturas disímiles, el
uso de memoria suele ser totalmente diferente, y no resulta fácil
estimar cuánta memoria va a ocupar una aplicación en
una u otra arquitectura, a menos que se conozca con mucho grado de
detalle ambas arquitecturas.
Por estos motivos, y dado
que no tenemos know-how ni disponemos de hojas de datos ni manuales
del usuario de productos que no comercializamos, le pedimos que
especifique claramente qué particularidades desea
(periféricos, memoria, velocidad) y gustosamente le buscaremos
un micro de nuestra cartera de productos con esas características.
Los
microcontroladores sin salidas open-drain (la gran mayoría)
pueden utilizarse en buses de este tipo simulando el estado de open
drain poniendo al pin como entrada para la condición de '1'
(drain abierto) y poniéndolo como salida con el bit
correspondiente en estado lógico bajo, para la condición
de '0' (drain cerrado). Tenga la precaución de habilitar el
weak pull-up o colocar un pull-up externo en el bus.
De esta manera, debe dejar
siempre en '0' el bit correspondiente del port de salida, y operar
sobre el registro de control (TRIS en PIC). Si su programa ejecuta
operaciones del tipo read-modify-write sobre ese port de salida,
tenga presente que esto puede alterar el '0' en el registro de salida
al leerlo mientras es una entrada. Esto depende de la arquitectura de
I/O del procesador, y es válido para micros en los cuales
tanto entrada como salida se realizan sobre el mismo registro (PIC).
Displays
de una línea, de más de 8 caracteres:
Por lo general, los 8
caracteres de la derecha se ven desde el punto de vista del
programador como una segunda línea
caracteres 0 a 7: 0x00
a 0x07
caracteres 8 a 15: 0x40
a 0x47 (64 a 71 decimal)
Displays
de dos líneas, de cualquier longitud
línea 1: 0x00
línea 2: 0x40 (64
decimal)
Displays
de más de dos líneas, 20 caracteres por línea o
menos:
línea 1: 0x00
línea 2: 0x40 (64
decimal)
línea 3: 0x14 (20
decimal)
línea 4: 0x54 (84
decimal)
La serie
HCSxxx (HCS200, HCS300, HCS500, etc) corresponde a los productos
"Keeloq". Los mismos son encoders y decoders del tipo
hopping codes. La clave maestra (crypt key) de los encoders (una de
las que genera los diferentes códigos que se transmiten cada
vez que se activa el encoder) debe cargarse durante la producción,
junto con su número de serie, en memoria EEPROM interna. El
decoder HCS500 aprende un número limitado de encoders (7),
incluyendo su clave maestra, mediante un procedimiento descripto en
la hoja de datos correspondiente. La clave maestra no es transmitida,
sino que el decoder la deriva mediante un procedimiento, por razones
de seguridad, y la almacena en memoria EEPROM externa. Algunos otros
decoders deben ser programados, consulte las hojas de datos
correspondientes.
La programación en
producción se realiza mediante ProMate II y para el desarrollo
o evaluación dispone de kits de evaluación. Consulte a
su vendedor.
(DevTools Cross Reference,
Ordering Guide)
Si por
algún motivo desea realizar usted el encoder o el decoder
Keeloq, hay notas de aplicación como AN217, AN661, AN662,
AN663, disponibles en la página de Microchip, en las cuales
dice algo así como:
-------------
Notice:
This is a non-restricted
version of Application Note ANxxx which is available under the KEELOQ
License Agreement. The license agreement can be ordered from the
Microchip Literature Center as DS40149.
--------------
Lo cual significa que puede
solicitar a su vendedor el producto DS40149, el cual contiene todo
el soporte que ud. necesita. Se trata de un producto para usuarios
registrados, por razones obvias de seguridad.
Este es un producto no
standard, que no existe en stock, y debe ordenarse a Microchip,
firmando una licencia o similar (KEELOQ License Agreement), según
el grado de confidencialidad requerido. Si está realmente
interesado, consulte a su vendedor para realizar los trámites
necesarios.
Microchip
ofrece actualmente tres herramientas para programación:
El
PICSTART Plus tiene un zócalo DIP del tipo ZIF (Zero Insertion
Force) y sólo soporta programación de dispositivos
puestos en su zócalo, es decir, fuera de circuito. Es un
programador de desarrollo, y Microchip no recomienda ni
soporta su uso en producción. Se conecta con la PC
mediante un port serie.
El ICD2 es un debugger que
utiliza recursos de muchos de los micros nuevos. Puede programar en
circuito la gran mayoría de los micros flash. El ICD2 no es
un programador sino un debugger, sin embargo, para desarrollo,
puede resultar muy útil, dado su bajo costo. El debugging en
circuito funciona para una amplia mayoría de los nuevos micros
flash. Se conecta con la PC mediante un port serie o USB, tomando
alimentación del bus USB en este último caso.
El PM3 es un programador
de producción, puede programar en zócalo o en
circuito a la gran mayoría de los micros flash. Su diseño
es similar el ProMate II y utiliza una serie de headers para soportar
los diversos encapsulados. Mediante un adaptador, puede utilizar
headers del ProMate II. El usuario dispone además de la opción
de programar su dispositivo en circuito.
Los distintos headers y
adaptadores disponibles figuran en los folletos de venta
En todos
los casos, puede consultar si determinado micro está soportado
en el readme correspondiente a la versión de MPLAB IDE
que utiliza, ya sea en la página web de Microchip o en la
instalación (directorio readmes)
Todas las herramientas
modernas cuentan con capacidad de upgrade de firmware directamente
mediante su conexión con el MPLAB IDE, software que es
gratuito y puede obtener e instalar de la página web de
Microchip.
Microchip
ofrece actualmente dos herramientas para debugging/emulación
en circuito:
El ICD2 es
un debugger que utiliza recursos de muchos de los micros
nuevos. Puede programar y debuggear en circuito la gran mayoría
de los micros flash, sin embargo es una herramienta de bajo costo y
por ello limitada. Utiliza el micro original y simplemente realiza un
debugging reservando recursos del micro para comunicarse con el
MPLAB. El usuario debe reservar algunos pines y recursos para esta
función. El ICD2 se conecta con la PC mediante un port serie o
USB. Para la conexión USB, la alimentación del ICD2 se
toma del bus USB; en ambos casos, la alimentación del
circuito bajo prueba debe ser provista por el usuario.
La serie ICE está
formada por emuladores en circuito, dispositivo de alto costo
y altas prestaciones capaces de emular en tiempo real a una gran
mayoría de los micros de Microchip, sin necesitar de recursos
reservados.
Una tercera opción
es utilizar la capacidad de simulación del MPLAB IDE,
revisando las rutinas manualmente en el entorno de desarrollo. No
permite debugging en circuito pero es posible simular entradas y
observar salidas, y no posee costo alguno, ya que el MPLAB IDE es
gratuito y lo puede obtener e instalar de la página web de
Microchip.
En todos
los casos, puede consultar si determinado micro está soportado
en el readme correspondiente a la versión de MPLAB IDE
que utiliza, ya sea en la página web de Microchip o en la
instalación (directorio readmes)
Todas las herramientas
modernas cuentan con capacidad de upgrade de firmware directamente
mediante su conexión con el MPLAB IDE.
Puede
consultar si determinado micro está soportado en el readme
correspondiente a la versión de MPLAB IDE que utiliza, ya sea
en la página web de Microchip o en la instalación
(directorio readmes).
Consulte
la FAQ #2.1
si desea o necesita realizar un upgrade
Disponemos
de kits de desarrollo:
Programadores/Debuggers:
Debuging:
Estos micros incorporan
JTAG, lo que permite realizar debugging en circuito. El software de
programación de esta familia incorpora soporte para debugging,
ya sea en el kit de desarrollo o en circuito, y puede obtenerse en
forma gratuita de la página de Ramtron.
Además, es posible
utilizar cualquier ROM monitor de los disponibles para MCS51, con
mínimas modificaciones.
Assembler
y compiladores:
Estos micros son una
variante de MCS51, lo cual significa que usted puede utilizar
cualquier compilador o assembler del mercado para clones de
8051/8052. En particular, los entornos de desarrollo (IDE) de Keil
(uVision2) y Raisonance (RIDE) poseen soporte específico para
estos micros, pudiendo incluso configurarse para debugging en
circuito con Versa Mix. Puede obtener una versión reducida de
cualquiera de ambos de la página web de Ramtron (
http://www.ramtron.com ). Esta versión provee assembler,
compilador C, y linker, pero el compilador está limitado a un
tamaño máximo de código generado muy reducido.
Cika no comercializa software por el momento, por lo que no nos es
posible proveerle de la versión full.
Existe además
soporte para el compilador de dominio público SDCC, y
seguramente encontrará infinidad de otras opciones comerciales
y de dominio público. Si desea utilizar cualquier otro
compilador o entorno de trabajo, en la página web de Ramtron
dispone de include files que seguramente podrá utilizar para
el mismo.
Usted no
necesita ninguna herramienta de desarrollo, se trata de un modem GSM
y usted se comunica con el modem mediante comandos AT. Si lo desea,
puede adquirir un kit de desarrollo para poder conectar el módulo
de forma más fácil. Contacte a su vendedor.
Como
observará en la hoja de datos, y se recalca en la
documentación (comentario técnico) correspondiente,
necesita una fuente que pueda proveer los picos necesarios,
debidamente desacoplada, con la capacidad de corriente media que
especifica dicha documentación. Consulte a su vendedor,
disponemos de reguladores para esas necesidades.
Una
llamada CSD es una llamada de datos (Circuit Switched Data), es
decir, es como si el módulo fuera un modem y dialogara, a
través de un canal de voz, con otro modem. Alguien en la red
debe proveer la funcionalidad de modem, y eso lo hace la prestataria,
si decide hacerlo.
Las condiciones
particulares de operación de cada servicio de cada proveedor
las deberá consultar con el proveedor del servicio. Cika no
realiza homologaciones ni pruebas particulares, se trata de módulos
o kits de desarrollo, no de equipos terminados, y usted deberá
realizar las pruebas necesarias para determinar si la aplicación
que usted desarrolla cumple con sus objetivos y requisitos.
Cika no
realiza homologaciones, usted deberá contactar a las
prestatarias y realizar las pruebas que considere necesarias para
determinar si la aplicación que usted desarrolla funciona
sobre la o las mismas.
Verifique
que el módulo está siendo alimentado correctamente
Verifique que el chicote
de antena no esté doblado de forma abrupta, en ángulos
agudos, ya que esto puede quebrarlo internamente. Si bien una
medición con tester puede indicar continuidad, se trata de un
cable coaxial a cientos de megahertz, y la impedancia y atenuación
es lo importante.
Verifique que el chicote
de antena esté correctamente conectado al módulo (y a
la antena)
Verifique que la tarjeta
SIM que utiliza sea válida:
observe los mensajes que
el módulo da sobre la misma
consulte su estado
mediante comandos si corresponde
pruebe la tarjeta en un
celular.
Verifique
que tenga buena señal en ese lugar, pruebe en un lugar donde
sepa que hay buena cobertura
Espere
por lo menos un par de minutos, si bien es común que tome
señal de forma rápida, no es más que otro
equipo de la red celular y es común que demore más de
30 segundos en obtener señal.
Si esto
ocurre en una placa diseñada por usted, revise cuidadosamente
su hardware, particularmente la interfaz
con la SIM. Emplee conexiones cortas.
Si una vez
revisado todo tiene dudas sobre el funcionamiento del módulo,
puede traerlo con copia de la factura para que lo probemos en nuestro
laboratorio. Todos los reclamos comerciales que necesite hacer los
puede negociar con su vendedor.
El GPS
funciona de forma independiente al modem GSM.
Verifique
la alimentación de antena en el pin GPS_VANT,
en el caso de utilizar una antena activa como las que comercializa
Cika. Más información en FAQ#7.9
Consulte
otras FAQ sobre GPS.
Si una vez revisado todo
tiene dudas sobre el funcionamiento del módulo, puede traerlo
con copia de la factura para que lo probemos en nuestro laboratorio.
Todos los reclamos comerciales que necesite hacer los puede negociar
con su vendedor.
Los pines
GPIO no pueden ser utilizados por el usuario en un firmware standard.
No existe SDK, y para
solicitar un firmware especial se debe ordenar una cantidad realmente
importante de módulos, dado que esto se orienta a fabricantes
de celulares. Llegado el caso consulte a su vendedor.
El modem
SIM200 requiere, tal cual se indica en su manual de hardware, que se
coloque un capacitor de desacople en la alimentación de la
tarjeta SIM y una resistencia de pull-up en el pin de datos. Si se
siguen estas indicaciones, el modem funciona perfectamente con todas
las tarjetas SIM de todos las prestatarias.
El SIM340 también
requiere resistencia de pull-up, no así el capacitor de
desacople, mientras que SIM340C y SIM548 no requieren componentes
externos
El modo
transparente es una opción para poder tener una transmisión
de datos sobre GPRS pero con un comportamiento similar a una llamada
CSD, es decir, como si se tratara de un modem telefónico. En
este modo, el módulo no reconoce comandos AT, de igual modo
que un modem conectado no los reconoce. Para salir al modo comando,
es necesario ingresar la secuencia de caracteres '+++', precedida y
sucedida de un silencio de al menos 500ms. La diferencia en modo
transparente es que no debe haber un espacio mayor a 20ms entre
dichos caracteres. De igual modo, también es posible escapar
mediante la remoción de DTR, si se ha seteado AT&D1. Para
volver al modo transparente se utiliza el comando ATO, y para cortar
ATH0 o simplemente ATH, de igual modo que en una llamada CSD.
La
información sobre cualquier tipo de evento realizado por Cika
se encuentra en la página web de Cika, en la sección de
eventos: http://www.cika.com/eventos.
Allí encontrará toda la información existente, y
una dirección de email para realizar consultas adicionales, si
lo que usted busca no figura, o necesita mayor información.
Respecto a los cursos,
tanto las fechas como el temario, arancel, y forma de pago se
encuentran en dicha página.
Cika es
distribuidor mayorista de componentes electrónicos, no vende
productos terminados para aplicaciones finales, sólo
componentes. Algunos de estos componentes vienen en la forma de
módulos pre-armados que pueden ser utilizados a modo de
construcción “en bloques”, para lograr sistemas
bastante aptos como para emplearse en aplicaciones finales; tal es el
caso de los módulos Rabbit y sus accesorios (displays,
teclados, etc.). Esto tiene, obviamente, un costo, y por lo general,
suele ser mucho más económico, si se piensa en realizar
producción, realizar un desarrollo de hardware, reservándose
las opciones pre-armadas para desarrollos rápidos o soluciones
únicas.
La solución a una
aplicación tiene tres etapas:
Selección del
hardware a emplear: el cliente decide si utiliza módulos
pre-armados, solución rápida pero de costo más
elevado, o desarrolla un hardware para resolver esa aplicación
Desarrollo de hardware: un
ingeniero o developer crea un circuito eléctrico para esa
aplicación, a menos que se utilicen módulos
pre-armados
Desarrollo de software:
un ingeniero o developer escribe el código que resuelve la
aplicación en sí, es decir, las instrucciones para que
el hardware cumpla la función esencial para la cual fue
diseñado.
Selección
del hardware a emplear
Si desea hacer el
desarrollo de hardware usted mismo, o armar un equipo utilizando
módulos pre-armados, puede elegir el dispositivo que más
le agrade, por precio y prestaciones, de nuestra cartera de
productos. Consulte a su vendedor por más información y
asesoramiento, incluyendo precios y disponibilidad de stock. Cika le
ofrece información en forma de hojas de datos, notas de
aplicación y la posibilidad de consultar a nuestro
departamento de Soporte Técnico. Tenga en cuenta que quien
define el hardware es usted, y nuestros ingenieros sólo pueden
darle información genérica, guiarlo y/o asesorarlo;
quien elige, calcula, define, y diseña es usted. Si desea una
mayor asistencia de nuestros ingenieros en este campo, solicite un
presupuesto a su vendedor.
Desarrollo del
hardware
Si usted no tiene
experiencia en ese rubro, o prefiere concentrar sus esfuerzos en la
producción o una parte del proyecto, Cika le ofrece realizarle
el desarrollo de hardware. Se le asignará un developer y éste
estimará qué productos son más convenientes para
su aplicación y se lo indicará en el presupuesto. Por
supuesto que usted siempre puede solicitar que se haga con cualquier
producto en particular, si lo prefiere.
Un desarrollo de hardware
involucra las siguientes tareas:
Asignación de un
ingeniero o developer que estudia la aplicación con las
referencias del cliente
Diseño del circuito
eléctrico: selección de los componentes a emplear,
cálculos, etc.
Armado de prototipos
manuales, si es necesario probar algo de la tecnología
utilizada
Diseño
del circuito impreso
Armado de prototipos con
el circuito impreso definitivo
El arancel
fijado por el profesional que hace el desarrollo incluye y detalla
cada uno de estos aspectos. A su elección, usted puede, si así
lo desea, realizar independientemente algunas de estas tareas
Desarrollo del
software
Si desea hacer el
desarrollo de software usted mismo, Cika le ofrece información
en forma de notas de aplicación y la posibilidad de consultar
a nuestro departamento de Soporte Técnico. Tenga en cuenta que
quien define el software es usted, y nuestros ingenieros sólo
pueden darle información genérica, guiarlo y/o
asesorarlo; quien escribe código, define, y depura es usted.
Si desea una mayor asistencia de nuestros ingenieros en este campo,
solicite un presupuesto a su vendedor.
Si usted no tiene
experiencia en ese rubro, o prefiere concentrar sus esfuerzos en la
producción o una parte del proyecto, Cika le ofrece realizarle
el desarrollo de software. Se le asignará un developer que se
contactará con usted para definir claramente todos los
detalles, y recibirá un presupuesto por el desarrollo de
software, detallando las funciones que éste cumplirá.
Para
cotizar un desarrollo necesitamos una cierta precisión en
cuanto a la operabilidad y funcionalidad del equipo, a fin de estimar
la complejidad del software y hardware involucrado. A tal fin, le
pedimos que envíe un mail con detalles generales del proyecto
e información de contacto a soporte@cika.com para que podamos
derivarlo al ingeniero más calificado para su proyecto; él
se contactará con usted. De acuerdo a la cantidad estimada de
unidades que usted vaya a producir, se le calculará la oferta,
así que por favor no olvide este dato.
Evaluada
su información y asignado un developer, Cika evaluará
una propuesta y usted recibirá un presupuesto.
Si se trata de una modificación a un equipo existente, en la
cual su objetivo es reducir el costo de producción, puede ser
de mucha utilidad que nos indique el nivel de precio por unidad que
busca.
Nuestros developers e
ingenieros desarrollan regularmente productos para empresas del
grupo, y trabajan con empresas de primer nivel. Cualquier tipo de
información relevante que necesite respecto al developer,
podrá pedírsela cuando éste lo contacte.
Tal cual
figura en la sección correspondiente de VENTAS, Cika
Electrónica es una empresa que trabaja sólo para
Argentina, no realiza ventas ni envíos internacionales y por
ende no da soporte técnico fuera de la Argentina.
En
Brasil comuníquese con Cika Brasil
http://www.cikaeletronica.com
En el
resto del mundo, comuníquese con Kowatec
http://www.kowatec.com.
ALFANUMÉRICOS:
Todos los displays
alfanuméricos que trabaja Cika tienen un controlador
compatible con el HD44780U de Hitachi. Desde el punto de vista del
programador, los comandos son los mismos para todos los displays.
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/HD44780U.pdf
Cada
display en particular podrá tener un set de caracteres
diferente, y según el controlador puede que haya pequeñas
diferencias en las especificaciones eléctricas y de timing,
que no deberían notarse en aplicaciones normales. Más
información:
http://www.cika.com/soporte/TechComm/CTC-022_ControladoresLCDalfa.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/KS0066U.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/SED12782.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/ST7066U.pdf
GRÁFICOS:
Los displays gráficos
vienen en diversos modelos y cada modelo tiene un controlador
particular. No obstante, todos los displays gráficos que
tienen controlador, tienen uno compatible con uno de cinco
controladores diferentes: el HD61202 de Hitachi (ó KS0108 de
Samsung), el SED1335 (ó S1D13305) de Epson, el T6963 de
Toshiba, el LC7981 de Sanyo, y el SED1530 (ó S1D15300) de
Epson. En la mayoría de los casos, puede verse mirando el
display del lado componentes, aunque generalmente es el chip que
tiene la etiqueta puesta.
97x32: SED1530/S1D15300
128x64 (excepto -F):
HD61202/KS0108
128x64
-F: T6963
160x128: T6963
240x64 -A: LC7981
240x64 -E: T6963
240x128 -A: T6963
320x240: SED1335/S1D13305
(es lo mismo)
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/HD61202U.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/KS0108b.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/SED1330_5_6TechnicalManual.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/T6963C.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/LC7981.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/SED1530_31_32.pdf
http://www.cika.com/soporte/Information/LCDmodules/Controller_chips/S1D15300TechnicalManual.pdf
COLOR:
Los displays color que
comercializamos no tienen controlador, consulte las Notas de
Aplicación:
http://www.cika.com/soporte/AppNotes/CAN-031_LCDcolor.pdf
http://www.cika.com/soporte/AppNotes/CAN-032_LCDcolor-S1D13705-Rabbit.pdf
http://www.cika.com/soporte/AppNotes/CAN-033_LCDcolor-S1D13705-Rabbit.pdf
http://www.cika.com/soporte/AppNotes/CAN-034_LCDcolor-S1D13705-Rabbit.pdf
http://www.cika.com/soporte/AppNotes/CAN-035_LCDcolor-S1D13706-Rabbit.pdf
http://www.cika.com/soporte/AppNotes/CAN-036_LCDcolor-S1D13706-Rabbit.pdf
http://www.cika.com/soporte/AppNotes/CAN-037_LCDcolor-S1D13706-Rabbit.pdf
|