芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 5493|回复: 3

【求助】请教SDRAM与串口数据传输的实现思路

[复制链接]
  • TA的每日心情
    开心
    2018-9-15 10:23
  • 5

    主题

    8

    帖子

    35

    积分

    新手上路

    Rank: 2

    积分
    35
    发表于 2018-9-24 20:45:11 | 显示全部楼层 |阅读模式
    请教一下有关从串口输入数据到SDRAM再从串口传出,如何做?
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-29 15:57
  • 13

    主题

    246

    帖子

    3625

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    3625
    发表于 2018-9-24 21:37:06 | 显示全部楼层
    本帖最后由 fzwwj95 于 2018-9-24 21:54 编辑

    楼主这里“再从串口传出”的串口和”从串口输入”的串口是同一个串口吗
    另外标题不合格已修改
    QQ图片20180924215337.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-15 10:23
  • 5

    主题

    8

    帖子

    35

    积分

    新手上路

    Rank: 2

    积分
    35
     楼主| 发表于 2018-9-24 21:48:29 | 显示全部楼层
    fzwwj95 发表于 2018-9-24 21:37
    楼主这里“再从串口传出”的串口和”从串口输入”的串口是同一个串口吗
    ...

    我最近在做sdram存储模块,我想加两个串口模块,下面是我的顶层模块,我注释叹号的几个信号(标红)不知道该怎么连接?求大神指教!!!
    module sdram_uart(
            Clk50M,
            Rst_n,
            Uart_rx,
            
            Sd_Clk,
            Sd_Sa,
            Sd_Ba,
            Sd_Cs_n,
            Sd_Cke,
            Sd_Ras_n,
            Sd_Cas_n,
            Sd_We_n,
            Sd_Dq,
            Sd_Dqm,
            
            Uart_tx
    );
    `include        "Sdram_Params.h"
    parameter Baud_set=3'd4;
    input Clk50M;
    input Rst_n;
    input Uart_rx;

    output[`ASIZE-1:0]  Sd_Sa;      //SDRAM地址总线  
    output[`BSIZE-1:0]  Sd_Ba;      //SDRAMBank地址   
    output              Sd_Cs_n;    //SDRAM片选信号        
    output              Sd_Cke;     //SDRAM时钟使能
    output              Sd_Clk;     //SDRAM时钟信号
    output              Sd_Ras_n;   //SDRAM行地址选
    output              Sd_Cas_n;   //SDRAM列地址选
    output              Sd_We_n;    //SDRAM写使能  
    inout [`DSIZE-1:0]  Sd_Dq;      //SDRAM数据总线
    output[`DSIZE/8-1:0]Sd_Dqm;     //SDRAM数据掩码
    output Uart_tx;                                                //串口发送

    wire                Clk;        //SDRAM控制器时钟
    wire                Wr_en;      //写SDRAM使能信号   
    wire [7:0]          Wr_data;    //写SDRAM数据
    wire                Rd_en;      //读SDRAM使能信号
    wire [7:0]   Rd_data;    //读SDRAM数据
    wire                sdram_clk;  //SDRAM时钟信号
    wire TX_Done;
    reg send_en;
    //SDRAM时钟信号
    assign Sd_Clk = sdram_clk;


    //时钟模块PLL例化
            pll pll(
               .areset(!Rst_n),
                    .inclk0(Clk50M),
                    .c0(Clk),
                    .c1(sdram_clk)
            );
    //串口接收模块例化
            uart_byte_rx uart_byte_rx(
                    .Clk(Clk50M),
                    .Rst_n(Rst_n),
                    .Rs232_rx(Uart_rx),
                    .Baud_set(Baud_set),

                    .Data_byte(Wr_data),
                    .Rx_done(Wr_en)
            );
            uart_byte_tx uart_byte_tx(
            .Clk(Clk50M),
            .Rst_n(Rst_n),
            .send_en(send_en),//!!!
            .baud_set(Baud_set),
            .Data_Byte(Rd_data),

            .Rs232_Tx(Uart_tx),
            .Tx_Done(Tx_Done),
            .uart_state()
    );
    //SDRAM控制器模块例化
            sdram_control_top sdram(               
                    .Clk(Clk),
                    .Rst_n(Rst_n),
                    .Sd_clk(sdram_clk),
                   
                    .Wr_data(Wr_data),   
                    .Wr_en(Wr_en),              
                    .Wr_addr(0),            
                    .Wr_max_addr(8),        
                    .Wr_load(!Rst_n),        
                    .Wr_clk(Clk50M),        
                    .Wr_full(),        
                    .Wr_use(),        
                   
                    .Rd_data(Rd_data),           
                    .Rd_en(1),                //        !!!        
                    .Rd_addr(0),                        
                    .Rd_max_addr(8),
                    .Rd_load(!Rst_n),//!!!        
                    .Rd_clk(Clk50M),        
                    .Rd_empty(),        
                    .Rd_use(),        
                   
                    .Sa(Sd_Sa),
                    .Ba(Sd_Ba),
                    .Cs_n(Sd_Cs_n),
                    .Cke(Sd_Cke),
                    .Ras_n(Sd_Ras_n),
                    .Cas_n(Sd_Cas_n),
                    .We_n(Sd_We_n),
                    .Dq(Sd_Dq),
                    .Dqm(Sd_Dqm)
            );

            
    endmodule
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-26 16:19
  • 1

    主题

    10

    帖子

    66

    积分

    初级会员

    Rank: 3Rank: 3

    积分
    66
    发表于 2018-10-16 16:23:47 | 显示全部楼层
    请问楼主这个问题解决了吗                                                                                               
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-3-29 22:00 , Processed in 0.120096 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表