Download MCP3204 24x64 A0 A1 A2 WP SDA SCL P6 IRQ MOSI MISO CLK

Document related concepts
no text concepts found
Transcript
CTC-033, BL233B, I2C+SPI+I/O+2wire
Comentario técnico: CTC-033
Componente: BL233B, I2C+SPI+I/O+2wire
Autor: Depto. Técnico Cika Electrónica
Revisiones Fecha
Comentarios
0 24/10/05
El BL233B es un chip basado en PIC de 18 pines que provee la capacidad de actuar como interfaz I2C, SPI, ó
1-wire, conectándose con el host mediante una interfaz serie asincrónica. Con comandos ASCII simples, es
posible operar con memorias o periféricos I2C, SPI ó 1-wire sin necesidad de usar un micro con soporte para
ellos, o ponerse a desarrollar el protocolo. Incluso, mediante un traslador de nivel, es posible operarlo desde
una PC con software gratuito provisto por el fabricante, o también vía USB con el agregado de un chip como el
FT232BM. Los pines, además, pueden operarse indistintamente como I/O.
Debido la posibilidad de grabarle "macros" que almacena en su memoria EEPROM, es posible asignarle una
tarea que cumple por sí solo, reportando los resultados por la interfaz serie.
El ejemplo a continuación utiliza el siguiente circuito:
+5V
MCP3204
MOSI
MISO
CLK
CS
ANA
Ins
SPI2
2 MOSI SCL1
1 MISO SDA1
3 CLK
P6
P5
IRQ
24x64
SCL
SDA
WP
A0
A1
A2
TxD RxD
14.7456MHz
comandos
57600bps
respuestas
Enviando un string ASCII por RxD, recibiremos la respuesta por TxD. A continuación, damos los ejemplos
empleados para probar este circuito, que observados conjuntamente con la lectura de la hoja de datos del
BL233B, darán una idea rápida de cómo utilizarlo.
Para leer 64 bytes desde el inicio de la EEPROM:
G1 SA0 00 00 R40P
Para escribir Hola al inicio de la EEPROM y ver que escribió:
SA0 00 00 484F4B41 T0D0A SA0 00 00 R04P
Para leer el switch:
CTC-033
1
CTC-033, BL233B, I2C+SPI+I/O+2wire
? devuelve el status byte, el bit 4 es IRQ
Para encender y apagar el LED (sin activar el CS de SPI)
O20 -> prende
O60 -> apaga
previamente se debe configurar los pines como salidas:
O609F
Para leer la entrada 1 del MCP3204:
G9P O40 Y W60 R03 O60
dado que éste es un ADC de 12-bits, se debe descartar el último nibble pues leemos MSB-first
CTC-033
2