毕业论文再次修改版- 副本 - 图文(6)
图5.1 FPGA逻辑关系图1
图5.2 FPGA逻辑关系图2
其中,各个模块说明如下: (1) ctr:MCU 接口模块
端口说明:clk,400M时钟输入,用于对MCU控制信号采样 cs:片选 rst:复位 wr:写数据信号 rd:读数据信号
第 25 页 (共41 页)
data[7..0]:数据总线 address[3..0]:地址总线
fifo_wren:写发送FIFO数据使能信号 fifo_wr:写发送FIFO数据时钟信号 sed_data[7..0]:写入发送FIFO数据总线
fifo_rden:读接收FIFO数据使能信号 fifo_rd:读接收FIFO数据时钟信号 rev_data[7..0]:读接收FIFO数据总线
作用:完成于MCU的接口及对内部数据读写的控制
(2)send_fifo:发送FIFO
端口说明:data[7..0],发送FIFO数据总线 wrreq:发送FIFO写数据使能 wrclk:发送FIFO写数据时钟 rdreq:发送FIFO读数据使能 rdclk:发送FIFO读数据时钟 q[7..0]:发送FIFO数据输出 rdempty:发送FIFO空标志 作用:用于存入MCU写入的数据 (3)S485_4B5B:发送模块 端口说明:clk,发送模块主时钟 Rst:复位
empty:发送FIFO空标志判断 indata[7..0]:读发送FIFO数据输入 rd:发送FIFO读 rden:发送FIFO读使能 txd_reg:数据发送端
作用:当判断MCU对发送FIFO写入数据后,则将数据发送出去(内部自动加数据帧头帧尾)
第 26 页 (共41 页)
发送数据波特率由该模块的输入主时钟决定 BAUD = CLK/10。 (4)S485_4B5B_RECV:接收模块 端口说明:clk :接收模块主时钟 rst:复位 rxd:数据接收端 wren:接收FIFO写使能 wr:接收FIFO写 q: 接收FIFO输入数据
作用:接收数据,并写入接收FIFO,供MCU读收到的数据(自动按帧头帧尾解码,实现帧同步)
接收数据波特率由该模块的输入主时钟决定 BAUD = CLK/10。
(5)rev_fifo:接收FIFO 端口说明:data[7..0]; wrreq:接收FIFO写数据使能 wrclk:接收FIFO写数据时钟 rdreq:接收FIFO读数据使能 rdclk:接收FIFO读数据时钟 q[7..0] :接收FIFO数据输出 作用:存储接收到的数据。
2、FPGA端发送流程
FPGA端发送流程如下:
第 27 页 (共41 页)
图5.3 RS485发送流程图
CPU写FIFO流程:首先触发1ms定时器,判断“启动发送”标志位是否等于0,若等于0,则判断CPU将数据写入FIFO,最后“启动发送”等于1再返回1ms定时器;若判断“启动发送”标志位不等于0,则判断1ms定时是否完成,若完成就向上层报告发送超时,最后再返回定时器重新执行,若判断1ms定时没有完成,则是返回再次判断“启动发送”标志位时候等于0。
FPGA发送流程:首先清除FIFO,然后判断“启动发送”标志位是否等于1,若等于1,就将FIFO数据加帧头帧尾并发送“启动发送”为0,最后再清除FIFO,继续循环;若清除FIFO后判断“启动发送”标志位不等于1,则再次返回“启动发送”标志位是否等于1。
3、FPGA端接收流程
FPGA端接收流程如下:
图5.4 RS485接收流程图
CPU读FIFO流程:首先进入中断服务,CPU接收到中断信号,将数据从FIFO读出,之后读取校验标志并校验标志,FPGA发出信号“接收完成”等于0,再向上层提供数据缓冲区以及校验等标志位,完成数据读取之后,中断返回,结束。
FPGA接收流程:FPGA处于空闲状态,首先判断“接收完成”是否等于0,若不等于0,则继续判断“接收完成”时候等于1;而等于0,则可以得知“正在接收”等于
第 28 页 (共41 页)
1,并开始接收数据并校验相应位标志,然后判断接收是否完成,若没有完成则继续判断数据是否完成;若完成接收,则数据进入接收FIFO,CPU对其读取,给出“正在接受”等于0和“接收完成”等于1的信号,最后返回到判断“接收完成”是否等于0,一次循环。
4、LPC3250驱动程序设计
由于CPU把FPGA当做外部存储器使用,因此需要对FPGA端的IO进行读写,而且读数据的条件需要利用中断实现,所以本驱动程序分成LPC3250驱动程序分为IO的驱动和中断两部分。
首先看LPC3250的物理地址定义:
0x8000 0000 to 0xFFFF FFFF:Off-Chip Memory;Two dynamic memory banks, 512 MB each;
0x8000 0000 - 0x9FFF FFFF: EMC_DYCS0_N 0xA000 0000 - 0xBFFF FFFF: EMC_DYCS1_N Four static memory banks, 16 MB each: 0xE000 0000 - 0xE0FF FFFF: EMC_CS0 0xE100 0000 - 0xE1FF FFFF: EMC_CS1 0xE200 0000 - 0xE2FF FFFF: EMC_CS2 0xE300 0000 - 0xE3FF FFFF: EMC_CS3
由于在访问FPGA作为外部RAM区时,使用的是EMC_CS3作为片选,因此地址段应该是0xE300 0000开始。 (1)IO驱动程序设计
定义FPGA端寄存器: #define FPGA_DATA_REG1
FPGA_REG(0x00) //数据寄存器 FPGA_REG(0x01) //接收计数寄存器高 FPGA_REG(0x02) //接收计数寄存器低 FPGA_REG(0x03) //累加和 FPGA_REG(0x04) //保留 FPGA_REG(0x05) //波特率寄器高 FPGA_REG(0x06) //波特率寄器低 FPGA_REG(0x07) //控制寄存器 FPGA_REG(0x08) //数据寄存器
#define FPGA_RCV_COUNT_H_REG1 #define FPGA_RCV_COUNT_L_REG1 #define FPGA_CHECK_SUM_REG1 #define FPGA_RESERVED_REG1
#define FPGA_BAUND_RATE_H_REG1 #define FPGA_BAUND_RATE_L_REG1 #define FPGA_CTRL_REG1 #define FPGA_DATA_REG2
第 29 页 (共41 页)
…… 此处隐藏:1081字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




