Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sección: “B”
2020
ÍNDICE
1. Objetivos................................................................................................................................2
2. Fundamento teórico................................................................................................................3
3. Resultados............................................................................................................................11
4. Conclusiones........................................................................................................................19
5. Referencias bibliográficas....................................................................................................19
1. Objetivos
2. Fundamento teórico
Para la comunicación serial con el DSP se tiene muchos caminos, veamos algunas
Instruments:
partir de entonces cuando debe leer las señales de la línea. También, se tiene un
transmisión:
un nivel lógico alto entre -3V y -15V y para un nivel lógico bajo tendrán una
tensión entre +3V y +15V, siendo los más comunes los de +12V y -12V (según
norma RS – 232). Las conexiones que se usarán entre los conectores macho y
TXD RXD
DTR DSR
DSR DTR
RTS CTS
CTS RTS
MASA MASA
Las configuraciones que se usarán para la comunicación serial, son las siguientes:
El formato que sigue la comunicación serial en el DSP, bien puede seguir una
línea (un camino) o dos líneas (dos caminos), lo cual se muestra en la siguiente
figura:
la siguiente figura:
recepción.
(SCIRXST, bit 6) pasa a alto para indicar que un nuevo carácter ha sido recibido.
limpiado.
6. El bit RXENA es traído abajo para desactivar el receptor. Los datos continúan
para ser ensamblados en RXSHF pero no es transferido al registro del búfer del
receptor.
la siguiente figura:
Figura 6: Modo de señales de emisión para la comunicación serial TX.
1. El bit TXENA (SCICTL1, bit 1) pasa a alto, lo que permite que el transmisor
envíe datos.
TXRDY baja.
está listo para un segundo carácter (TXRDY pasa a alto) y solicita una
6. El bit TXENA pasa a nivel bajo para desactivar el transmisor; el SCI termina
proceso. El selector puede detectar hasta 6 tipos de monedas programables. Puede ser
el sensor analiza la moneda y genera pulsos de salida con una duración configurable
selector utiliza variables como el diámetro, peso, velocidad de caída para determinar
selector a tus proyectos es muy sencillo; solo necesitas una fuente de 12V y una
entrada digital con interrupción. Cuando el selector detecte una moneda valida,
pulsos enviados es utilizando Interrupciones por flanco de subida (rising edge), de esa
Modelo: CH-926
Voltaje de alimentación: 12 V DC
Corriente de trabajo: 50 mA
Diámetro de la moneda: 15 mm ~ 29 mm
Material: Plástico
Consiste de una ventana principal donde encontraremos los diferentes productos que se
podrán ofrecer, botones donde podremos seleccionar los pesos deseados y calcular el precio
a pagar.
Botón seleccionador de
producto
Botón resumen de
Cuadro de texto para compra
peso seleccionado
Igualmente se observa el botón Pagar, el cual nos redirige a otra ventana donde se nos muestra un
resumen de compra.
Figura 9: Pantalla programada 2 del HMI.
Empezando por la comunicación serial que se realizará con en DSP, mediante la función
Transmitir () se ingresa como parámetro una cadena de bytes, los cuales serán enviados al
DSP uno por uno.
Para recibir lo datos, dado el caso se acordó que solo se hará recepción de un byte, por lo
que creamos una función Recibir_pago (), la cual regresa un valor entero.
Para el funcionamiento del HMI en que se seleccionaran diferentes alimentos con sus
respectivos pesos, se crea una clase Producto donde se podrán guardar datos necesarios para
realizar la transacción.
Para el iniciar la transmisión hacia el DSP, tenemos el botón CALCULAR, que no solo realiza
el cálculo del precio sino contiene el código para convertir los datos a enviar al DSP así como
de inicializar la función de transmisión.
Por otro lado, tenemos el botón PAGAR que envía un byte de reconocimiento al DSP para
activar el envío de datos del DSP al HMI, guardar los valores de transacción en una variable
tipo Producto, y abrir una nueva ventana donde se muestra el resumen de compra.
3.2. Programa del DSP
A) Código de monitorF28335.c
#include "stdlib.h"
#include "DSP2833x_Device.h"
#include "monitorF28335.h"
const float mipi=3.1415926535897932384626433832795;
Uint16 LoopCount;
Uint16 SendChar;
Uint16 ReceivedChar;
int onoff=0;
float producto=0;
float precio=0;
float peso=0;
float preciototal=0;
float dinero=0;
int pagar;
Uint32 estado_ope=0;
Uint32 dinero_rec=0;
void AddrCant(void);
Uint32 Direccion=0;
int16 *memoria=0;
Uint32 Cantidad=0;
Uint32 tempref=0;
int caso=0;
Uint32 j=0;
int i;
void IniciarSerial(void)
{
scia_fifo_init(); // Inicializa el FIFO del SCI
scia_init(); // Inicializa el lazo de iteración
SendChar = 0;
}
void IteraSerial(void)
{
while(SciaRegs.SCIFFRX.bit.RXFFST ==0) {
return;
}; // espera por XRDY =1
ReceivedChar = SciaRegs.SCIRXBUF.all; //se lee el byte
SendChar=ReceivedChar; //se guarda en una variable
scia_xmit(SendChar); //se retransmite como ECO para que la PC sepa
caso=ReceivedChar; // se decodifica
case 6:
//1/2
peso=0.5;
break;
case 7:
//1
peso=1;
break;
case 8:
//1.5
peso=1.5;
break;
case 9:
//2
peso=2;
break;
case 10:
//2.5
peso=2.5;
break;
case 11:
//3
peso=3;
break;
case 12:
//3.5
peso=3.5;
break;
case 13:
//4
peso=4;
break;
case 14:
//4.5
peso=4.5;
break;
case 15:
//5
peso=5;
break;
case 16:
//5.5
peso=5.5;
break;
case 17:
//5.5
pagar=1;
break;
// Dinero de recibido
case 18:
//dinero
for (i=0;i<4;i++){
while(SciaRegs.SCIFFRX.bit.RXFFST ==0) { } //esperar a XRDY =1
ReceivedChar = SciaRegs.SCIRXBUF.all; //Leer byte del buffer
scia_xmit(ReceivedChar);// Enviar ECO
dinero_rec=(estado_ope<<8)+ReceivedChar; // Dirección
}
break;
// Estado de la operación
case 19:
//estado
for (i=0;i<4;i++){
while(SciaRegs.SCIFFRX.bit.RXFFST ==0) { } //esperar a XRDY =1
ReceivedChar = SciaRegs.SCIRXBUF.all; //Leer byte del buffer
scia_xmit(ReceivedChar);// Enviar ECO
estado_ope=(estado_ope<<8)+ReceivedChar; // Dirección
}
break;
};
preciototal=peso*precio;
//dinero=FuncionqueleeDinero();
//dinero_rec=FuncionqueleeDineroUint32();
if(dinero>0){
if(dinero>=preciototal){
if(pagar==1){
estado_ope=1;
//FuncionDeoperación(producto,peso);
//sleep(1000);
//terminar operación
}
}
}
// Refresco de variables
estado_ope=0;
pagar=0;
dinero=0;
preciototal=0;
peso=0;
precio=0;
producto=0;
B) Código de lab3.c
#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
#include "lab3.h"
#include "monitorF28335.h"
void main(void)
{
DINT; //deshabilita interrupciones
DRTM; //deshabilita interrupciones real time mode
InitSysCtrl(); //inicializa el sistema como PLL,clocks,watcgdog
InitSciaGpio(); // inicializa los pines scia para ser usados con su función
sci
InitPieCtrl(); //inicializa el apoyo de interrupción de periféricos
IER = 0x0000; //limpia máscara de interrupciones
IFR = 0x0000; //limpia bandera de interrupciones
InitPieVectTable(); //inicializa tabla de interrupciones por defecto
EINT; //habilita interrupciones
ERTM;
IniciarSerial(); //Inicialización de los parámetros del puerto serial A
do{ //hacer loop por lo menos una vez
IteraSerial(); //Rutina de espera del puerto serial
}while(1); //Itera infinitamente
}
3.3. Diagrama de flujo
sistema.
Figura 7: Diagrama electrónico
4. Conclusiones
Además, es una de las más eficientes en el envío de información entre una DSP y una
nos permiten la interacción directa con los consumidores. Es por ello que el sistema
selector de monedas CH-926 es una gran opción por su bajo costo y fácil
funcionamiento.
Se concluye que una pantalla HMI con sistema operativo de Windows Embedded es
una opción ideal para el presente proyecto por su bajo costo, compatibilidad directa
con programa de Visual Studio, y por sus posibles aplicaciones en Internet de las
cosas.
5. Referencias bibliográficas
http://bibing.us.es/proyectos/abreproy/11199/fichero/Volumen+I%252F3+-
+Interfaz+PC-DSP.pdf
http://www.scielo.org.co/scielo.php?script=sci_arttext&pid=S1692-
17982014000100004
http://www.ijera.com/papers/Vol3_issue4/JY3717961800.pdf
Interface (SCI).