当前位置: 首页 > wzjs >正文

企业标识设计企业关键词优化公司

企业标识设计,企业关键词优化公司,thinksns网站开发,现有什么网站可以做网上批发一、简介 之前介绍过一个UART转AHB模块,这个代码的框架有个好处,就是FPGA内总线接口比较容易修改成其他总线接口。下图是UART转AHB模块中子模块uart_ahb_mst的框图,主要有三个状态机: (1) UART_RX_FSM将接收…

一、简介

  之前介绍过一个UART转AHB模块,这个代码的框架有个好处,就是FPGA内总线接口比较容易修改成其他总线接口。下图是UART转AHB模块中子模块uart_ahb_mst的框图,主要有三个状态机:
(1) UART_RX_FSM将接收的UART数据解析出命令,地址和数据存入到RX_FIFO;
(2) UART_TX_FSM将读命令返回的读数据从TX_FIFO中读出,并按照字节输出;
(3) AHB_FSM将RX_FIFO中的命令,地址和数据取出按AHB格式去读写寄存器,再将读返回数据存入到TX_FIFO中。
  因此,只要将AHB_FSM按APB总线时序修改,其他模块可以不动,就能实现UART转APB总线接口。
在这里插入图片描述

二、简介

  APB(Advance Peripheral Bus)也是一种常用的FPGA内部总线接口。接口保留APB接口中的主要端口,描述如下。
在这里插入图片描述
  写传输时序图如下图,主机在T1时刻把所要访问的地址,命令和数据全部放到APB总线上。在T2时刻,从机发现自己的PSEL信号为高,PWRITE为高,就知道主机选择它来处理数据的写操作,此时从机内部准备好处理数据的准备动作,在T3时刻,从机完成总线上数据采样并进行内部数据处理。
在这里插入图片描述

  读传输时序图如下图,主机在T1时刻把所要访问的地址,命令全部放到APB总线上。在T2时刻,从机发现自己的PSEL信号为高,PWRITE为低,就知道主机选择它来读操作,并将读取的数据放到APB总线上,在T3时刻,主机完成总线上读数据采样。
在这里插入图片描述

三、模块介绍

  仿真工程可以从此地址下载https://download.csdn.net/download/cjie221/90497735
  如下图是UART转APB模块的功能框图。与之前介绍过一个UART转AHB模块类似。主要分两部分,uart_slv_top模块和uart_apb_mst模块。
在这里插入图片描述

1. uart_slv_top模块

  uart_slv_top模块相当于UART的从设备,接收从上位机发送过来的串行指令数据,转成字节数据和数据使能信号。框图和主要端口如下图。
在这里插入图片描述

  此模块与UART转AHB中模块一样,其中uart_rxs用2个计数器,一个计每个bit位的时钟数,另一个计bit位数,1个开始位,8个数据位,一个停止位,共10位。然后将串行8个数据位转成并行输出并加上数据有效指示信号。
  uart_txs同样也是用2个计数器实现数据转换,一个计每个bit位的时钟数,另一个计bit位数。在tx_rdy信号为高时,等待tx_wrreq请求信号和数据,然后拉低tx_rdy信号,表示发送模块正在忙,待串行数据传输完,再拉高tx_rdy。

2. uart_apb_mst模块

  uart_apb_mst模块接收uart_slv_top模块发送过来的rx_data数据,解析出读写命令和地址,再转成APB总线接口输出控制APB slave从模块。如果是读命令,还要将读回的寄存器值转成tx_wrreq请求信号和数据送给uart_slv_top模块。
框图和主要端口如下图。
在这里插入图片描述

四、实际仿真过程

  如下图所示是testbench框图,除uart_apb_mst_top模式是被测试模块,其他模块是测试激励和相关辅助模块。
在这里插入图片描述

  uart_cmd_trans模块主要有两个作用,一是负责将如下字符转成ASCII 码输出。

define CHAR_SPACE      8'h20
`define CHAR_R_UP       8'h52
`define CHAR_r_LO       8'h72
`define CHAR_W_UP       8'h57
`define CHAR_w_LO       8'h77
`define CHAR_0          8'h30
`define CHAR_1          8'h31
`define CHAR_2          8'h32
`define CHAR_3          8'h33
`define CHAR_4          8'h34
`define CHAR_5          8'h35
`define CHAR_6          8'h36
`define CHAR_7          8'h37
`define CHAR_8          8'h38
`define CHAR_9          8'h39
`define CHAR_A_UP       8'h41
`define CHAR_B_UP       8'h42
`define CHAR_C_UP       8'h43
`define CHAR_D_UP       8'h44
`define CHAR_E_UP       8'h45
`define CHAR_F_UP       8'h46
`define CHAR_a_LO       8'h61
`define CHAR_b_LO       8'h62
`define CHAR_c_LO       8'h63
`define CHAR_d_LO       8'h64
`define CHAR_e_LO       8'h65
`define CHAR_f_LO       8'h66 

  二是产生寄存器读写测试指令。可根据自己需要,修改指令数量和内容
localparam N = 4;//instruction number, must match with actual memory depth
assign memc[0] = "R 0000000a ";
assign memc[1] = “W 0000000a 00001234”;
assign memc[2] = "R 00000004 ";
assign memc[3] = "R 0000000a ";

  写寄存器命令格式W 地址 数据,例如:W 0000000a 00001234
  读寄存器命令格式R 地址,例如:R 00000004
  命令,地址和数据之间用1个空格隔开,命令w和r,大小写都可以。地址和数据都用32位的十六进制表示,不用加0x前缀。

  uart_mst_top模块将ASCII 码转成UART格式串行输出,模拟上位机的UART端口。
  仿真波形如下图所示。
在这里插入图片描述

结语

  通过ModelSim仿真,我们能够确认UART转APB转换模块的功能,满足预期设计。并且如有需要FPGA内总线接口也比较容易改成其他总线接口。

http://www.dtcms.com/wzjs/528393.html

相关文章:

  • 网站搭建策划书免费建站的网站
  • 视频网站做短视频怎么用网络推广业务
  • 用动物做网站名称怎么样推广自己的公司
  • 做seo的网站百度seo策略
  • 遂宁市住房与城乡建设厅网站百度口碑官网
  • 做网站推广哪家好肇庆网站制作软件
  • 求人做网站全球搜索引擎排名
  • 天津建设工程竣工备案公示网站关键字搜索
  • wordpress点播主题上海seo网站推广公司
  • 搭建商城网站b站推广网站2024年
  • 山西建设执业注册中心网站提高工作效率的软件
  • 做mg动画赚钱网站百度指数介绍
  • 网站由哪三部分组成百度竞价排名事件分析
  • 做简单的网站首页上饶seo博客
  • 如何建设好英文网站最近10条重大新闻
  • 做商品二维码检测的网站网站排名提高
  • 美国专门做特卖的网站百度ai助手入口
  • wordpress丰富搜索页seo高效优化
  • 免费在线做高考试题的网站优化新十条
  • 个人怎么做网站软文代写平台
  • 网站建设多少钱十年乐云seo免费宣传网站
  • wordpress流量快来客seo
  • 0基础学做网站教程重庆百度推广的代理商
  • 电影网站这么做关键词社交媒体推广
  • 北京海淀房管局网站引擎搜索技巧
  • 建网站的公司浩森宇特如何做平台推广
  • 做响应式网站设计做图怎么搞市场策划方案
  • 合肥网站建设优化今日重要新闻
  • 天猫秘券网站怎么做微信朋友圈广告投放收费标准
  • 公司网站怎么修改长春网站优化