欢迎来到天天文库
浏览记录
ID:27521260
大小:482.00 KB
页数:12页
时间:2018-12-04
《Nexys3学习手记8:FT232之高速UART.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Nexys3学习手记8:FT232之高速UART 继续上一节的工程,这里要接着在XPS上扩展一个UART外设,配合板载的USB2UART芯片FT232R做个高速串口传输测试。首先打开上一个ISE工程,然后双击顶层模块下的mycpu模块即可开启硬件开发平台XPS,如图1所示。 图1点击进入XPS传说中XPS上提供了两个AXI总线对应的UART外设IP核,如图2所示,即UART16550-style和UART-Lite。本节要添加的名为UART-Lite的外设,故名思意便是精简的小身板UART外设,几番接触下来,果然如此,对于
2、复杂的UART使用这个Lite版还确实难堪大任,不过对于我们的实验学习还是多多益善,简单才容易玩转嘛,哈哈。 图2UART外设双击图2的AXIUART(Lite)选项,弹出配置页面如图3所示,明白人一眼就知道,这里可设置其波特率、传输数据位和校验位等。除此以外,基本没有可以设置的选择项了,Lite就Lite在此,硬件中必须一次性设置好固定的UART传输模式,软件无法灵活的编程更改。不过据说这个UART-Lite是开源的,感兴趣朋友不妨去研究一下,把这个Lite改造得很强大也是个很不错的活儿。 图3UART-Lite外设配置
3、页面点击图3右上角的pdf小图标便可查看此外设的说明文档axi_uartlite_ds741.pdf。如图4所示,UART-Lite的功能框图中示意改外设包含了4个最基本的软件可访问的寄存器,即数据接收寄存器(ReceiveDataFIFO)、数据发送寄存器(TransmitDataFIFO)、状态寄存器(StatusRegister)和控制寄存器(ControlRegister)。 图4UART-Lite功能框图在完成UART-Lite的配置后,点击OK,便会弹出如图5所示的串口。采用默认设置,意为UART-Lite外设的
4、AXI总线接口能够自动和系统的MicroBlaze处理器上的片内AXI总线接口相匹配。 图5例化和连接IP核添加好新的外设组件,需要重新点击XPS的菜单HardwareàGenerateNetlist生成新的网表。新的Netlist成功生成后,回到ISE查看mycpu.xmp下对应的ViewHDLInstanTIaTIonTemplate,此时相比原来的工程多了两个信号接口axi_uartlite_0_RX_pin和axi_uartlite_0_TX_pin,即UART-Lite的收发信号。 图6系统例化模板重新编辑并例化
5、顶层文件,修改后的顶层代码如下:moduletestled(clk,rst_n,led,uart_rx,uart_tx);inputclk;//100MHzinputrst_n;//低电平复位信号output[7:0]led;//连接到LED指示灯inputuart_rx;//UART数据接收outputuart_tx;//UART数据发送wireclk_100m;//clocking输出100MHzwireclk_50m;//clocking输出50MHzwireclk_25m;//clocking输出25MHzwirecl
6、k_12m5;//clocking输出12.5MHzwireclk_locked;//clocking输出完成标志位//---------------------------------------------------//IP核ClockingWizard例化//-----------BeginCuthereforINSTANTIATIONTemplate---//INST_TAGmyclockinguut_myclocking(//Clockinports.CLK_IN1(clk),//IN//Clockoutports
7、.CLK_OUT1(clk_100m),//OUT.CLK_OUT2(clk_50m),//OUT.CLK_OUT3(clk_25m),//OUT.CLK_OUT4(clk_12m5),//OUT//Statusandcontrolsignals.RESET(!rst_n),//IN.LOCKED(clk_locked));//OUT//INST_TAG_END------EndINSTANTIATIONTemplate---------//-------------------------------------------
8、--------//例化mysoc系统(*BOX_TYPE=“user_black_box”*)mysocuut_mysoc(.RESET(rst_n),.LEDS_TRI_O(led),.clock_generator_0_CLKIN_pin(clk_100m),.axi_
此文档下载收益归作者所有