Home
Baje la nota de aplicación en PDF
Contents
1. Bank 0 bsf DAT DATA 1 goto sndbit Env a un mensaje Cargar previamente la direcci n en address y el mensaje en message trw_sendpacket call trw_settx movlw TRW_ADDRESS_LEN TRW_DATA_LEN bytes direci n datos movwf bytcntr movlw txbuffer Inicializa puntero buffer conjunto movwf FSR ts11l movf INDF W lee byte del buffer call trw_write_byte env a al m dulo incf FSR f siguiente decfsz bytcntr f loop goto tsl11l beT CE CE 0 return Obtiene un mensaje Devuelve 7 W 0 gt no recibi nada W 0xFF gt hay un mensaje en el buffer trw_getpacket btfss DR packet retlw 0 NO bcf CE CE 0 movlw TRW_DATA_LEN bytes mensaje movwf bytcntr movlw message Inicializa puntero movwf FSR tgl1 call trw_read_byte Obtiene byte en W movwf INDF almacena en buffer incf FSR f siguiente decfsz bytcntr f loop goto tgl1l retlw 0OxFF CAN 046 3 CAN 046 Wenshing TRW 2 4G con PIC Setea direcci n a quien transmitir Llamar con el n mero de remoto en W 0 en este caso hay uno s lo cargado el master trw_address movwf bytcntr salva W movlw HIGH addresses parte alta de la tabla movwf PCLATH movf bytcntr W reupera W call addresses obtiene direci n en memoria de la direcci n del remoto movwf addrptr la salva clrf bytcntr movlw address Inicializa puntero movwf FSR tall movlw HIGH addresses parte alta de la tabla movwf PCLATH call get
2. getconfig addwf PCL f retlw 0x8E retlw 0x08 retlw 0x1C retlw 0xC0 retlw 0xC0 retlw 0xBB retlw OxBB retlw 0OxBB retlw 0OxBB retlw 0OxBB retlw 0x13 retlw 0x25 retlw 0x46 retlw 0x79 retlw 0x8A retlw 0xA3 retlw 0x4F retlw 0x14 CS 1 parte alta de la direcci n de la tabla obtiene byte de configuraci n en W lo escribe en el TRW 18 bytes repite CS 0 LOCAL ADDRESS A continuaci n un par de rutinas para enviar y recibir un mensaje N tese como para insertar la direcci n antes del mensaje a transmitir hemos definido los dos buffers contiguos El proceso de direccionamiento lo CAN 046 CAN 046 Wenshing TRW 2 4G con PIC hacemos copiando la direcci n desde una tabla la cual tambi n debe cumplir los requisitos mencionados en el p rrafo anterior La rutina de recepci n indica si vuelve con las manos vac as o trayendo un paquete seg n el valor de W esto nos permitir realizar otras tareas mientras esperamos un mensaje Habilita tranmisi n trw_settx bef CE CE 0 nop bsf CS Ccs 1 bsf STATUS RPO Bank 1 bcf DATT DATA output bcf STATUS RPO Bank 0 bcf DAT DATA 0 nop nop sndbit bsf SCK CIK 1 nop bcf SCK CIK 0 bsf STATUS RPO Bank 1 bsf DATT DATA input bcf STATUS RPO Bank 0 bcf CS z Careg nop bsf CE CE 1 return Habilita recepci n trw_setrx bcf CE CE 0 nop bsf CS z CS 1 bsf STATUS RPO Bank 1 bcf DATT DATA output bcf STATUS RPO
3. CAN 046 Wenshing TRW 2 4G con PIC Cika Nota de Aplicaci n CAN 046 z T tulo Wenshing TRW 2 4G con PIC E CAAutor Sergio R Caprile Senior Engineer Revisiones Fecha Comentarios 0 02 11 05 En la CAN 045 les presentamos los m dulos transceptores TRW 2 4G de Wenshing transceivers que operan en la banda de 2 4GHz con capacidad de direccionamiento y selecci n de canal de comunicaciones En esta oportunidad portamos el c digo a PIC con lo cual podemos emplearlos para implementar econ micos remotos que se encargan de tomar una medici n y reportarla al master cuando ste lo requiere por ejemplo Desarrollo propuesto Vamos a implementar una peque a especie de biblioteca de funciones que se ocupe de enviar y recibir mensajes utilizando estos m dulos para lo cual comenzaremos por desarrollar rutinas para escribir y leer un byte en el m dulo Env a un byte Dato en W trw_write_byte movwf dat Guarda en dat movlw 8 8 bits movwf bitcntr bsf STATUS RPO Bank 1 bcf DATT DATA output bcf STATUS RPO Bank 0 twb11 ELT dat f C MSB el MSB va primero bcf SCK CIK 0 bsf DAT DATA 1 ser o no ser btfss STATUS C si hay carry adivin correctamente bcf DAT sino DATA 0 nop bsf SCK CLIK 1 decfsz bitcntr f goto twb11 bet SGE CIK 0 bsf STATUS RPO Bank 1 bsf DATT DATA input bcf STATUS RPO Bank 0 return Recibe un byte Devuel
4. addr obtiene byte de la direcci n en W movwf INDF lo guarda en el buffer incf FSR f siguiente posici n en buffer incf addrptr f siguiente byte de la direci n incf bytcntr f cuenta n mero de bytes movlw TRW_ADDRESS_LEN bytes subwf bytcntr W btfss STATUS Z goto tall loop return debe ser 0xY00 sino hay que modificar el c digo trwdata CODE 0x200 getaddr movf addrptr W addresses addwf PCL f retlw LOW addrs1 2 2 addresses es 0x201 suma a PCL a partir de 0x202 retlw LOW addrs2 2 lis addrsl retlw 0x21 retlw 0x43 retlw 0x65 retlw 0x87 retlw 0OxA9 y addrs2 Ct Dado que se trata de un medio de acceso m ltiple en el cual no tenemos detecci n de portadora ni de colisiones es menester arbitrar de alg n modo la comunicaci n para minimizar retransmisiones y lograr confirmar que la informaci n llega a destino La forma m s simple suele ser tener un sistema configurado como master el cual interroga a los remotos y obtiene respuesta de ellos Si la pregunta del master no llega a destino ste la retransmitir Si la respuesta del remoto no llega el master retransmitir la pregunta Los remotos deber n estar preparados para recibir varias veces la misma pregunta sin ofenderse Con esta filosof a desarrollamos un peque o programita de ejemplo que ante una petici n contesta El master quien pregunta en nuestro caso se realiz con un Rabbit aprovechando la CAN 045 con la feliz y pac f
5. ica coexistencia de ambos remotos Rabbit y PIC Nada impide empero que el avezado lector construya su master con PIC si as lo desea call TXdelay Espera al inicio antes de call trw_init inicializar el m dulo call trw_address direcci n del master main call trw_setrx Habilita recepci n mw4msg call trw_getpacket Hay mensajes iorlw 0 chequea respuesta btfsc STATUS Z goto mw4msg no loop call TXdelay da al master tiempo de habilitar Rx el Rabbit de la CAN 045 espera 3ms luego de Tx ac va el proceso necesario para obtener la respuesta si gt 3ms no hace falta demora movlw A prepara ACK movwf message movlw C movwf message 1l CAN 046 4 CAN 046 Wenshing TRW 2 4G con PIC movlw K movwf message 2 eliri garl call goto message 3 trw_sendpacket contesta TXdelay espera para que salga el paquete de Tx main Las rutinas desarrolladas fueron escritas teniendo en cuenta las especificaciones del fabricante para 4MHz de clock La cantidad de calls anidadas se comprob para un PIC16F630 Para otras aplicaciones se sugiere al interesado revisar que se cumplan los tiempos detallados en el manual del usuario del TRW 2 4G y la cantidad de calls permitidos por el hardware stack del PIC utilizado El archivo adjunto contiene la totalidad de los listados CAN 046
6. ve el dato en W trw_read_byte clrf dat DATA 0 movlw 8 8 bits movwf bitcntr Erbi bsf SCK CIK 1 nop rrf DATPORT W lee el dato en C rif dat f y lo introduce en dat MSB primero bcf sck CIK 0 decfsz bitcntr f goto trb11 movf dat W return Como habr n deducido la selecci n de los pines a emplear se realiza mediante macros las cuales pueden redefinirse dentro del programa DAT debe ser el LSB de otro modo hay que modificar el programa CAN 046 1 define DAT PORTA 0 define DATPORT PORTA define DATT TRISA 0 define SCK PORTA 1 define CE PORTA 2 tdefine DR PORTA 3 tdefine CS PORTA 4 Packet lenght in bytes fdefine TRW_DATA_LEN 24 Address lenght in bytes fdefine TRW_ADDRESS_LEN 5 trwvars UDATA_SHR dat RES 1 bitcntr RES 1 bytcntr RES 1 addrptr RES 1 MUST BE CONTIGUOUS txbuffer address RES TRW_ADDRESS_LEN message RES TRW_DATA_LEN CAN 046 Wenshing TRW 2 4G con PIC Luego seguimos por el proceso de inicializaci n La configuraci n deseada la guardamos como una tabla Como las tablas no deben cruzar un espacio de 256 program words en realidad la definimos en una posici n fija y segura de memoria Inicializa el TRW 2 4G trw_init bsf CS clrf bytcentr ti11 movlw HIGH getconfig movwf PCLATH movf bytcntr W call getconfig call trw_write_byte incf bytcentr f movlw 18 subwf bytcntr wW bt ss STATUS Z goto till bcf CS return trwdata CODE 0x200 r
Download Pdf Manuals
Related Search
Related Contents
(第2版) [PDF 1769KB] Poli Bracket W082 flat panel wall mount The harman Exception woodburning Fireplace Insert Harman Kardon AVR80 User's Manual Horaires des premiers et derniers trains CD FR Manual FINAL.indd ELEC - Web del clubYBR 125 Copyright © All rights reserved.
Failed to retrieve file