ARM DesignStart复杂外设与中断实验概要1.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM DesignStart复杂外设与中断实验概要1

实验目的和要求 使用ARM公司提供的DesignStart IP核构建简单的MCU。 设计程序存储器,数据存储器,ISP引导存储器等。 设计UART外设,可配置通信速率和帧格式,带有多个标志位和中断。 设计GPIO外设,具有引脚数量,输入输出模式可配置的端口。 实验器材 XC6SLX9 FPGA实验板。 Xilinx ISE14.7,Keil MDK5,DesignStart开发包,串口调试助手。 实验内容 UART外设功能与设计 (1)UART各寄存器 地址偏移 寄存器名 复位值 0x0 DATA 不定值 0x4 CTRL 0x0010 0x8 BAUD 0x0000 a.由于数据长度支持7~9位,所以DATA寄存器为7~9位 b.CTRL寄存器结构与功能 位 15 14 13 12 11 10 9 8 位名 rbne_irq_en rbf_irq_en tbnf_irq_en tbe_irq_en rbne_event_flag rbf_event_flag tbnf_event_flag tbe_event_flag 功能 接收缓冲非空中断使能位(1使能,0失能) 接收缓冲满中断使能位(1使能,0失能) 发送缓冲非满中断使能位(1使能,0失能) 发送缓冲空中断使能位(1使能,0失能) 接收缓冲非空事件标志位(1事件发生,0无) 接收缓冲满事件标志位(1事件发生,0无) 发送缓冲非满事件标志位(1事件发生,0无) 发送缓冲空事件标志位(1事件发生,0无) 位 7 6 5 4 3 2 1 0 位名 frame_error parity_error uart_en data_len parity_sel stop_len 功能 帧错误(1错误,0否) 校验错误(1错误,0否) uart使能(1使能,0失能) 数据长度(00:7b,01:9b,1x:8b) 停止位长度(0:1b,1:2b) c.BAUD寄存器,波特率baud按照下面的公式计算 式中,fclk为UART时钟频率,Vbaud为BAUD寄存器的值。例如,UART时钟频率11.0592MHz,波特率9600,则BAUD寄存器的值为144. UART由收发模块uart_rxtx,FIFO缓冲模块fifo_buf等组成。VHDL代码如下: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity AHB_UART is port( --SLAVE SELECT HSEL : IN STD_LOGIC; --GLOBAL CLOCK AND \RESET HCLK : IN STD_LOGIC; HRESETn : IN STD_LOGIC; --ADDRESS, CONTROL AND WRITE DATA HADDR : IN STD_LOGIC_VECTOR(31 DOWNTO 0); HTRANS : IN STD_LOGIC_VECTOR(1 DOWNTO 0); HWDATA : IN STD_LOGIC_VECTOR(31 DOWNTO 0); HWRITE : IN STD_LOGIC; HREADY : IN STD_LOGIC; --TRANSFER RESPONSE AND READ DATA HREADYOUT : OUT STD_LOGIC; HRDATA : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); --Serial Port Signals rxd : in std_logic;--Input from UART txd : out std_logic;--Output to UART --UART Interrupt uart_irq : out std_logic--Interrupt ); end AHB_UART; architecture behavior of AHB_UART is component uart_rxtx is--UART收发模块 Port( clk : in STD_LOGIC; rstn : in STD_LOGIC; sel : in STD_LOGIC; baud_div : in STD_LOGIC_VECTOR(15 downto 0); datlen_sel : in STD_LOGIC_VECTOR(1 downto 0);--7-9 bits pari

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档