用户工具

站点工具


基于usart的arm与fpga通信实验

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
基于usart的arm与fpga通信实验 [2019/12/21 11:27]
zhangzheng
基于usart的arm与fpga通信实验 [2022/03/22 10:29] (当前版本)
sean
行 1: 行 1:
-[[http://www.cnblogs.com/xiaomagee/p/7518919.html]]+|  **银杏科技有限公司旗下技术文档发布平台** ​ |||| 
 +|技术支持电话|**0379-69926675-801**||| 
 +|技术支持邮件|Gingko@vip.163.com||| 
 +^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ 
 +|  V1.0  |  2020-07-01 ​ |  gingko ​ |  初次建立 ​ |  
 + 
 +===== 实验十二: UART通信实验 ===== 
 + 
 +==== 一、 实验目的与意义 ==== 
 +  - 掌握UART协议及实现方法。 
 +  - 掌握QuartusII的使用方法。 
 +==== 二、 实验设备及平台 ==== 
 +  - iCore4 双核心板[[https://item.taobao.com/item.htm?​spm=a1z10.1-c-s.w4004-22598974120.15.5923532fsFrHiE&​id=551864196684|点击购买]]。 
 +  - iTool3(串口TTL)[[https:​//item.taobao.com/​item.htm?​id=554869837940|点击购买]]。 
 +  - Blaster(或相同功能)仿真器。 
 +  - Micro USB线缆。 
 +  - Keil MDK 开发平台。 
 +  - Quartus开发平台。 
 +  - 电脑一台。 
 +==== 三、 实验原理 ==== 
 +  * UART(通用异步收发器)是一种通用串行数据总线,用于异步通信,可实现全双工传输和接收,是做硬件开发时常用的一种硬件接口。USART(通用同步异步收发器)在UART的基础上增加了同步功能,即USART是UART的增强型,异步通信的时候和UART没有区别。 ​     
 +  * UART通信具有两根信号线,一根用于发送数据,一根用于接收数据。然而数据的传输是按照字节进行传输的,因此在发送时需要将并行数据转换成串行数据,接收时需要将串行数据转换成并行数据。 
 +  * UART通信传输是以帧位单位的,每帧数据有4部分构成:起始位、数据位、奇偶校验位和停止位。以8位字长的串口发送数据帧为例,其帧协议如图16.1所示,从图中可以看到,初始状态时,传输线上为高电平,在持续一个比特的低电平之后,是发送的有效数据。之后是至少一个比特高电平的停止位。 
 +{{ :​icore4:​icore4_fpga_12_1.png?​direct |图12-1}} 
 +  * 在UART通信中有一个重要的参数,即波特率,它表征了串口的传输速度,表示1秒内传输的二进制位的个数,波特率越大速度越快,反之,越慢。 
 +  * UART接线原则:RX←—→TX,​TX←—→RX。 
 +  * 本实验通过FPGA建立的USART模块对外提供RXD、TXD接口,与STM32的TXD、RXD串口I/​O相连接,Commix串口精灵与STM32连接,实现三者之间的通信。本实验中,Commix串口精灵向STM32发送数据,STM32的RXD端口接收数据,然后,通过TXD端口把数据发送至FPGA,STM32起到一个桥梁作用。程序运行后,FPGA定时向STM32发送数据,经过STM32发送至串口精灵显示出来。下图为实验原理图。 
 +{{ :​icore4:​icore4_fpga_12_2.png?​direct&​600 |图12-2}} 
 +==== 五、实验步骤 ==== 
 + 
 +  * 1.把仿真器与iCore4的SWD调试口连接(直接相连或者通过转换器相连); 
 +  * 2.将USB-Blaster与iCore4的JTAG调试口相连; 
 +  * 3.将跳线帽插在USB_UART; 
 +  * 4.把iCore4(USB_UART)通过Micro USB线与计算机相连,为iCore3供电; 
 +  * 5.打开Commix串口精灵,​找到对应端口打开。操作如下图。 
 +图12-3 
 +{{ :​icore4:​icore4_fpga_12_4.png?​direct |图12-4}} 
 +  * 6.打开QuartusII开发环境,并打开实验工程; 
 +{{ :​icore4:​icore4_fpga_12_5.png?​direct |图12-5}} 
 +  * 7.将FPGA程序下载至iCore4上; 
 +  * 8.打开Keil MDK开发环境,并打开实验工程; 
 +{{ :​icore4:​icore4_fpga_12_6.png?​direct |图12-6}} 
 +  * 9.将ARM程序烧录到iCore4上; 
 +  * 10.在串口精灵上输入串口命令,观察实验现象; 
 + 
 +==== 六、实验现象 ==== 
 + 
 +  * 按照下表发送串口命令,输入对应的命令并发送后,对应的FPGA和ARM灯亮,同时,串口精灵上定时接显示:GINGKO\CR。 
 + 
 +|串口发送命令格式 |ARM_LED现象 |FPGA_LED现象| 
 +|ledr\cr\lf |红灯亮 |红灯亮| 
 +|ledb\cr\lf |蓝灯亮 |蓝灯亮| 
 +|ledg\cr\lf |绿灯亮 |绿灯亮| 
 + 
基于usart的arm与fpga通信实验.1576898843.txt.gz · 最后更改: 2019/12/21 11:27 由 zhangzheng