1 |
2 |
erwing |
-------------------------------------------------------------------------------
|
2 |
|
|
-------------------------------------------------------------------------------
|
3 |
|
|
-- Politecnico di Torino
|
4 |
|
|
-- Dipartimento di Automatica e Informatica
|
5 |
|
|
-------------------------------------------------------------------------------
|
6 |
|
|
-------------------------------------------------------------------------------
|
7 |
|
|
--
|
8 |
|
|
-- Title : EPC Class1 Gen2 RFID Tag constants
|
9 |
|
|
--
|
10 |
|
|
-- File name : epc_tag.vhd
|
11 |
|
|
--
|
12 |
|
|
-- Description : EPC tag package
|
13 |
|
|
--
|
14 |
3 |
erwing |
-- Authors : Erwing R. Sanchez <erwing.sanchez@polito.it>
|
15 |
2 |
erwing |
--
|
16 |
|
|
-------------------------------------------------------------------------------
|
17 |
|
|
-------------------------------------------------------------------------------
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
library IEEE;
|
21 |
|
|
use IEEE.STD_LOGIC_1164.all;
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
package EPC_TAG is
|
25 |
|
|
|
26 |
|
|
constant MASKLENGTH : integer := 256;
|
27 |
|
|
|
28 |
|
|
subtype Rec_Out_T is std_logic_vector(31 downto 0);
|
29 |
|
|
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
-- type CommandInternalCode_t is (cmd_NULL, cmd_QueryRep, cmd_Ack, cmd_Query, cmd_QueryAdjust,
|
33 |
|
|
-- cmd_Select, cmd_Nak, cmd_ReqRN, cmd_Read, cmd_Write, cmd_Kill,
|
34 |
|
|
-- cmd_Lock, cmd_Access, cmd_BlockWrite, cmd_BlockErase, cmd_Invalid);
|
35 |
|
|
|
36 |
|
|
subtype CommandInternalCode_t is std_logic_vector(3 downto 0);
|
37 |
|
|
|
38 |
|
|
constant cmd_NULL : std_logic_vector(3 downto 0) := "0000";
|
39 |
|
|
constant cmd_QueryRep : std_logic_vector(3 downto 0) := "0001";
|
40 |
|
|
constant cmd_Ack : std_logic_vector(3 downto 0) := "0010";
|
41 |
|
|
constant cmd_Query : std_logic_vector(3 downto 0) := "0011";
|
42 |
|
|
constant cmd_QueryAdjust : std_logic_vector(3 downto 0) := "0100";
|
43 |
|
|
constant cmd_Select : std_logic_vector(3 downto 0) := "0101";
|
44 |
|
|
constant cmd_Nak : std_logic_vector(3 downto 0) := "0110";
|
45 |
|
|
constant cmd_ReqRN : std_logic_vector(3 downto 0) := "0111";
|
46 |
|
|
constant cmd_Read : std_logic_vector(3 downto 0) := "1000";
|
47 |
|
|
constant cmd_Write : std_logic_vector(3 downto 0) := "1001";
|
48 |
|
|
constant cmd_Kill : std_logic_vector(3 downto 0) := "1010";
|
49 |
|
|
constant cmd_Lock : std_logic_vector(3 downto 0) := "1011";
|
50 |
|
|
constant cmd_Access : std_logic_vector(3 downto 0) := "1100";
|
51 |
|
|
constant cmd_BlockWrite : std_logic_vector(3 downto 0) := "1101";
|
52 |
|
|
constant cmd_BlockErase : std_logic_vector(3 downto 0) := "1110";
|
53 |
|
|
constant cmd_Invalid : std_logic_vector(3 downto 0) := "1111";
|
54 |
|
|
|
55 |
|
|
|
56 |
|
|
-- subtype CommandTransmitter_t is std_logic_vector(2 downto 0)
|
57 |
|
|
constant trmcmd_Null : std_logic_vector(2 downto 0) := "000";
|
58 |
|
|
constant trmcmd_Send : std_logic_vector(2 downto 0) := "001";
|
59 |
|
|
constant trmcmd_SendError : std_logic_vector(2 downto 0) := "010";
|
60 |
|
|
constant trmcmd_SendRData : std_logic_vector(2 downto 0) := "011";
|
61 |
|
|
constant trmcmd_SendRHandler : std_logic_vector(2 downto 0) := "100";
|
62 |
|
|
|
63 |
|
|
|
64 |
|
|
end EPC_TAG;
|
65 |
|
|
|