打印
[Actel FPGA]

UART发送模块,接收模块

[复制链接]
1549|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LPC300|  楼主 | 2010-1-17 11:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本程序发送模块与接收模块分开来写,波特率为9600,当然也可以由用户自行设置
现象:用串口精灵送向FPGA发一个0~7的自然数,在串口精灵返回的值比你输入的值大2
(程序是基于周立功公司的fusion_startkit板子,有这块板的朋友可以直接下载程序)
具体功能如下:
/******UART_send.v************************
**模块名称:UART_send
**功能描述:UART串口发送程序
module  UART_send(
                   //input
                    clk,       //时钟
                    rst,       //高电平复位
                    WR,        //写信号
                    Datain,
                   //output
                    clkout,    //输出时钟
                    TXD,       //UART发送引脚
                    TI         //发送中断
                  );
............
/********************波特率发生进程*****************************************************/
parameter  frequency_in=48000000;               //输入时钟
parameter  baud_rate   =9600;                   //设置波特率
parameter  cout=frequency_in/baud_rate;          //根据具体时钟和波特率设置分频系数(5000)
..
.
串口send使用 :  本模块有三个输入,三个输出
                其中clk为输入时钟(采用48M)
                    rst高电平复位,平时工作状态为"0"
                    WR 高电平时写入要发送的字节
                       低电平(下降沿开始)发送数据
                    Datain为8位输入数据
                    clkout为输出备用时钟=波特率
                    TXD,       //UART发送引脚
                    TI         //发送中断标志位,当TI=1表示发送完毕,或者等待状态(等待新的字节输入)
//***********************************************************************************************
/************************* UART_rec.v**********************************
**模块名称:UART_rec
**功能描述:UART串口接收模块,接收采样率为波特率的的16倍
module UART_rec(
                 //input
                  clk,
                  RXD,
                 //output
                 clkout,
                 Dataout,               
                 RI
               );
当RI=1,表示接收完一个字节,告诉你可以再接收下一个字节,RXD为接收管脚,不过采样时钟=16*9600;
因为要对每个BIT进行16次采样,具体价绍请看程序

Compile report:
===============
    CORE                     Used:    267  Total:  13824   (1.93%)
    IO (W/ clocks)           Used:      3  Total:    119   (2.52%)
    Differential IO          Used:      0  Total:     58   (0.00%)
    GLOBAL (Chip+Quadrant)   Used:      1  Total:     18   (5.56%)
    PLL                      Used:      0  Total:      2   (0.00%)
    RAM/FIFO                 Used:      0  Total:     24   (0.00%)
    Low Static ICC           Used:      0  Total:      1   (0.00%)
    FlashROM                 Used:      0  Total:      1   (0.00%)
    User JTAG                Used:      0  Total:      1   (0.00%)
    RC oscillator            Used:      0  Total:      1   (0.00%)
    XTL oscillator           Used:      0  Total:      1   (0.00%)
    NVM                      Used:      0  Total:      2   (0.00%)
    AB                       Used:      0  Total:      1   (0.00%)
    AnalogIO                 Used:      0  Total:     46   (0.00%)
    VRPSM                    Used:      0  Total:      1   (0.00%)
    No-Glitch MUX            Used:      0  Total:      2   (0.00%)
Global Information:
    Type            | Used   | Total
    ----------------|--------|-------------
    Chip global     | 1      | 6  (16.67%)
    Quadrant global | 0      | 12 (0.00%)

相关帖子

沙发
LPC300|  楼主 | 2010-2-24 16:31 | 只看该作者
围观的人好少啊!可怜啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

107

主题

525

帖子

0

粉丝