Xilinx FPGA入门连载65:基于UART发送的RTC读取 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1jGjAhEm 1 功能简介 如图所示,本实例通过IIC接口定时读取RTC中的时、分、秒寄存器,同时将时、分、秒数据通过UART发送到PC上的串口调试助手进行实时的显示。 2 模块划分 本实例模块划分如图所示。 ● Iic_controller.v模块产生IIC读写的时序。 ● Rtc_controller.v模块产生RTC寄存器的读写控制,将读写信号连接到iic_controller.v模块实现底层的读写。 ● Rtc_top.v模块衔接iic_controller.v模块和rtc_controller.v模块。 ● Speed_tx.v模块产生串口波特率的分频以及相关控制信号。 ● My_uart_tx.v模块产生发送到PC的UART数据协议,即并串转换处理。 ● Tx_bridge.v模块判断当前的RTC读出秒数据是否有变化,若发送变化则产生一个发送到PC的字符串。 3 板级调试连接好下载线,给SP6开发板供电(供电的同时也连接好了UART)。 打开ISE,进入iMPACT下载界面,将本实例工程下的sp6.bit文件烧录到FPGA中在线运行。 双击如图所示的“串口调试器”,。 如图所示,打开串口调试器后,选择串口为COM10(我们前面在硬件管理器中新识别到的COM口,实验者应以自己电脑识别到的COM口为准),设置波特率为9600,数据位为8,校验位为None,停止位为1。点击“打开串口”。尤其注意“接收字符”下面的“十六进制”不要勾选。 如图所示,当我们点击完“打开串口”,其显示字符就变成了“关闭串口”。 此时我们看到“接收字符”下面不断有时间地址的一串时、分、秒信息打印出来。这组不断更新的数据就是我们从RTC芯片中读取的时间信息。
|