Академический Документы
Профессиональный Документы
Культура Документы
Nacional
Unidad Profesional Interdisciplinaria
D
INTRODUCCION.
En esta prctica se realizaran tres ejercicios, con el fin de mostrar el funcionamiento de la
comunicacin por rs232 utilizando la tarjeta nexys 2.
MARCO TEORICO.
COMUNICACIN POR RS232
El protocolo RS-232 es una norma o estndar mundial que rige los parmetros de uno de los
modos de comunicacin serial. Por medio de este protocolo se estandarizan las velocidades de
transferencia de datos, la forma de control que utiliza dicha transferencia, los niveles de voltajes
utilizados, el tipo de cable permitido, las distancias entre equipos, los conectores, etc.
Adems de las lneas de transmisin (Tx) y recepcin (Rx), las comunicaciones seriales poseen
otras lneas de control de flujo (Hands-hake), donde su uso es opcional dependiendo del
dispositivo
a
conectar.
A nivel de software, la configuracin principal que se debe dar a una conexin a travs de puertos
seriales. RS-232 es bsicamente la seleccin de la velocidad en baudios (1200, 2400, 4800, etc.), la
verificacin de datos o paridad (parida par o paridad impar o sin paridad), los bits de parada luego
de cada dato(1 2), y la cantidad de bits por dato (7 8), que se utiliza para cada smbolo o
carcter
enviado.
transmitirse los datos de una forma serie asncrona son necesarias una serie de seales
adicionales, que se definen en la norma. Las tensiones empleadas estn comprendidas
entre
+15/-15
voltios.
Puerta serial full dplex para comunicacin punto a punto a una distancia no superior a 30
metros. Desde 3 hilos hasta 19 hilos.
Este protocolo est disponible en los puertos seriales de la mayora de las computadoras
personales (PC).
PIN No.
Carrier Detect
Receive Data
Transmit Data
Signal Ground
Request To Send
Clear To Send
Ring Indicator
Seales de la RS-232.
Clear To Send (CTS) Afirmado por el mdem despus de recibir la seal de RTS
indica que la computadora puede transmitir.
Data Terminal Ready (DTR) Esta lnea de seal es afirmada por la computadora, e
informa al mdem que la computadora est lista para recibir datos.
Data Set Ready (DSR) Esta lnea de seal es afirmada por el mdem en respuesta a
una seal de DTR de la computadora. La computadora supervisa el estado de esta
lnea despus de afirmar DTR para descubrir si el mdem esta encendido.
Receive Signal Line Detect (RSLD) Esta lnea de control es afirmada por el mdem e
informa a la computadora que se ha establecido una conexin fsica con otro
mdem. A veces se conoce como detector de portadora (CD). sera un error que
una computadora transmita informacin a un mdem si esta lnea no esta
prendida, es decir si la conexin fsica no funciona.
Transmit Data (TD) es la lnea por donde el dato se transmite de un bit a la vez
Receive Data (RD) es la lnea por donde el dato se recibe de un bits a la vez.
OBJETIVO.
El objetivo de esta prctica es realizar tres ejercicios que involucran el uso de la
comunicacin rs232, para esto se utilizara la tarjeta nexys 2.
DESARROLLO.
Para el primer ejercicio mostrado a continuacin utilizamos una hyperterminal versin de
Windows xp en donde configuramos diferentes parmetros como son los baudios, bits de
paridad, bits de datos, entre otros, como se muestra en la figura 1, para despus verificar los
datos enviados por la fpga cuando se activa el selector.
Cdigo empleado
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity serial is
Port ( datos : in STD_LOGIC_VECTOR (7 downto 0);
clk : in std_logic;
salida : out STD_LOGIC);
end serial;
architecture Behavioral of serial is
signal cont: std_logic_vector(11 downto 0);
signal frecuencia: std_logic;
signal cont2: std_logic_vector(3 downto 0);
begin
process (clk, cont, frecuencia)
begin
if (clk'event and clk = '1') then
cont<= cont+1;
if cont = "101000101100" then
frecuencia <= not frecuencia;
cont<="111111111111";
end if;
end if;
end process;
process (frecuencia)
begin
end Behavioral;
Declaracion de pines
net datos(0) loc=G18;
net datos(1) loc=H18;
net datos(2) loc=K18;
net datos(3) loc=K17;
net datos(4) loc=L14;
net datos(5) loc=L13;
net datos(6) loc=N17;
net datos(7) loc=R17;
net salida loc=P9;
net clk loc=B8;
Codigo empleado
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity tx is
Port ( clk,RST: in STD_LOGIC;
Rx: in STD_LOGIC;
Dout : out STD_LOGIC_VECTOR (7 downto 0));
end tx;
architecture Behavioral of tx is
type EdoRx is (EsperaRX, Empieza, FlancoDato, CargaRX, ParaRX, ErrorRX);
signal RXFSM : EdorX:= EsperaRX;
signal Top16, TopRX : std_logic;
signal Rx_Reg : std_logic_vector(9 downto 0);
signal RxRdyi, ClrDiv, RxErr : std_logic;
begin
---relog base
process (RST, CLK)
variable div16: integer range 0 to 325 ;
begin
if RST='1' then
Top16 <= '0';
Div16 := 0;
elsif rising_edge(CLK) then
Top16 <= '0';
end if;
end process;
process (RST, CLK)
variable RxBitCnt: integer range 0 to 8 ;
begin
if RST='1' then
Rx_Reg <= (others => '0');
Dout <= (others => '0');
RxBitCnt := 0;
RxFSM <= EsperaRX;
RxRdyi <= '0';
ClrDiv <= '0';
RxErr <= '0';
elsif rising_edge(CLK) then
ClrDiv <= '0';
if RxRdyi = '1' then
RxErr <= '0';
RxRdyi <= '0';
end if;
case RxFSM is
when EsperaRX =>
RxBitCnt := 0;
if Top16 = '1' then
if Rx = '0' then
RxFSM <= Empieza;
ClrDiv <='1';
else
RxFSM <= EsperaRX;
end if;
else
RxFSM <= EsperaRX;
end if;
when Empieza =>
if TopRx = '1' then
if Rx = '1' then
RxFSM <= ErrorRx;
else
RxFSM <= FlancoDato;
end if;
end if;
when FlancoDato =>
if TopRx = '1' then
if RxBitCnt = 8 then
RxFSM <= ParaRx;
else
RxFSM <= CargaRx;
end if;
else
RxFSM <= FlancoDato;
end if;
3.- Implementar en una FPGA la comunicacin serial (transmisin-recepcin) de tal manera que
tenga la posibilidad de tener varias velocidades de operacin y configuracin, como incluir bit de
paridad, configuracin de bits de parada y configuracin de bits transmitidos. Los datos a
transmitir se controlaran con una seria de switch. Y con un botn pulsador de enviar, la recepcin
se verificara con leds, recordar incluir los controles de configuracin. Esto se verificara con la
ayuda de una hypertelminal.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity serial is
Port ( datos : in STD_LOGIC_VECTOR (7 downto 0);
clk : in std_logic;
salida : out STD_LOGIC;
RST: in STD_LOGIC;
Rx: in STD_LOGIC;
Dout : out STD_LOGIC_VECTOR (7 downto 0));
end serial;
architecture Behavioral of serial is
begin
-------------------------------------------------------------------------------------------------------------
--Estado maquina
--Rx_FSM:
process (RST, CLK)
variable RxBitCnt: integer range 0 to 8 ;
begin
if RST='1' then
Rx_Reg <= (others => '0');
Dout <= (others => '0');
RxBitCnt := 0;
RxFSM <= EsperaRX;
RxRdyi <= '0';
ClrDiv <= '0';
RxErr <= '0';
elsif rising_edge(CLK) then
ClrDiv <= '0';
if RxRdyi = '1' then
RxErr <= '0';
RxRdyi <= '0';
end if;
case RxFSM is
when EsperaRX =>
RxBitCnt := 0;
if Top16 = '1' then
if Rx = '0' then
RxFSM <= Empieza;
ClrDiv <='1';
else
CONCLUSIONES.
Mata Mireles Hctor Omar.
En esta prctica se aplic la teora vista en clase sobre la comunicacin rs232, el cual resulta muy
importante debido a que muchos de los proyectos involucran este tipo de comunicacin de rs232
tanto de transmisin como de recepcin, tambin utilizadas en los microcontroladores o avrs ya
sea por el mdulo de bluetooth o por el conector DB9.
Sandoval Mendoza Manuel
En la siguiente prctica se pudo observar la implementacin de la comunicacin serial a travs de
la programacin en el entorno VHDL y se enfatiz su importancia en proyectos que requieran la
transferencia de datos o el monitoreo de un proceso.
BIBLIOGRAFIA.
http://rdedatos.tripod.com/rs232.htm