Page 976 - 3-2
P. 976

9.  소프트웨어 작성하기
            1) FPGA  관련 소스
              ***************** <Main Module> ***************************************
            module Main(clk,rst,uart_rxd,step_clk,
                                            dir, enable, door_power,led,step_gnd);


            input clk,rst;
            input uart_rxd; // 수신
            output step_gnd = 0;
            output step_clk;
            output [7:0]led;
            output [1:0]door_power;
            output [1:0]dir; // 방향 설정
            output [1:0]enable; //0 으로 되야 함


            wire rs232_en;
            wire [7:0]rx_data;
            wire [1:0]door_open;
            wire [2:0]state;
            wire [1:0]current_sector;


            assign led[2:0] = ~state;
            assign led[7:6] = current_sector;


            rx1 U0(clk,rst,uart_rxd,rx_data,rs232_en);
            Step_Motor U1(clk, rst, rs232_en, rx_data, step_clk,
                                              dir, enable, door_open,state,current_sector);
            door U2(clk, rst, door_open, door_power);
            endmodule


              ***************** <rx1 Module> ***************************************

            //  수신 OK -  받는 것
            module rx1 (clk,reset,rxd,rx_data,rs232_en);



            input clk, reset, rxd;

            output reg rs232_en;
            output [7:0] rx_data;

            parameter baud_rate = 5208; // = 54MHz / 9600bps
            parameter CLOCKS_WAIT_FOR_RECEIVE = 5208 / 2;



            reg [7:0]       rx_data; // 수신데이터 저장하는 레지스터

            reg [7:0]   rx_data_buffer; //rxd 에서 수신된 데이터를 임시로 저장하기 위한 레지스터


                                                         - 976 -
   971   972   973   974   975   976   977   978   979   980   981