0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

明德扬PCIE开发板系列XILINX-K7试用体验-第二篇

明德扬科技01 来源:明德扬科技01 作者:明德扬科技01 2023-11-29 15:39 次阅读

本文为明德扬原创文章,转载请注明出处!作者:Vito

明德扬PCIE开发板系列XILINX-K7试用体验-第二篇

第二周的试用计划是实现常见低速协议(UARTI2C,SPI)的FPGA工程,记录自己实现的过程,包括协议基本理解,实现思路,仿真调试,上板验证4个流程。虽然低速协议相对简单,但是每次自己动手写又会发现之前没有注意到的问题,又能从中巩固自己的逻辑思维;这些看似简单的低速协议是后续所有高速接口协议的基础,只有基础牢靠,在后续的进阶应用中才会游刃有余。特别是对于我这样的FPGA新人来说,基础是重中之重。

下面开始介绍我的低速协议的实现情况。

协议理解

UART真的算是最经典的通信协议之一了吧,特别是在产品设计调试阶段,串口几乎成了一个必备的功能。硬件信号简单,2根信号线(TX,RX),当然不同设备连接时还需要一根共地线;3根线就能实现数据传输了。协议数据格式如下图所示
image.png

数据收发过程分为:空闲,起始位,数据位,校验位(可选),停止位。对于异步的设备来说,怎样知道每一位传输的时间宽度呢?这是通过波特率来指定的。事先双方先约定好传输的波特率是多少就可以了,当然除了波特率,一般数据位长度,奇偶校验,停止位长度都是要2方确定好,不然就无法正确通信了。

实现思路

本次实现FPGA和上位机通信的串口工程,连接如下图所示;具体功能是利用PC的串口工具向usb转串口模块发送随机数据,FPGA通过接收usb转串口模块的数据并进行解析,并将解析的串口数据发回usb转串口;通过查看PC上的接收数据和发送数据是否一致。

根据上述功能需求,进行模块划分设计,如下图所示
image.png

根据模块划分,下面就需要明确模块的接口信号,这里为了举例就只列出tx和rx的接口信息。这里总结一下接口信号的思路:时钟复位以及tx/rx信号就不说了,这里还加了握手信号,增加每一帧数据收发的可靠性,在处理一帧数据时不会被下一帧数据到来中断而导致混乱。
image.png

image.png

信号接口设计完成之后就是每个模块代码的编写了,这里我就简单总结一下tx和rx设计思路。对于发送模块:握手逻辑如果收到应用层一帧数据的有效信号,拉低ready信号,同时拉高发送数据的标志位。当发送标志位置1,发送计数器开始计数一帧数据的个数,直到一帧数据的周期数记完并清零,表示一帧数据发送完成;于此同时,tx信号根据发送计数器值依次将应用层的并行数据移位送出。对于接收模块:当检测到rx信号的下降沿之后,接收计数器开始计数,计数值为一帧数据的周期长度;并根据计数值移位采样rx数据,转化成并行数据,并拉高valid有效信号,表示一帧数据的接收过程。

仿真调试
编写完串口驱动模块之后,需要进行仿真调试,下面是仿真波形。
image.png

仿真激励中,发送数据给的是1,2,3……255 数据,可以看到图中紫色部分为收发数据的波形,可以看到收发数据一致,因此仿真调试ok。

上板验证

在实际应用中,需要考虑更多的非理想环境。1.罪魁祸首就是异步时钟问题,运行时间越长,所累积的时钟误差就会越来越大;所以很可能运行一段时间就会出现错误数据,因此需要加上时钟矫正减少时钟累积误差,解决办法就是用高频时钟采集rx信号,当检测到一次数传输时再打开串口接收时钟,当发送完成之后再将串口接收时钟关闭从而解决累积偏差。2.收发数据时有时一帧数据还没有处理完成,可是下一帧数据已经到来,如果不缓存就会出现丢帧的问题,因此在应用层增加了一个fifo,用于缓存来不及处理的数据。

我之前看原理图底板上是有FT232usb转串行的芯片的,但是好像只连接了JTAG接口,电脑并没有识别到串口号,所以我只能在扩展口找2个IO了。翻遍了原理图和手册都没有找到一个XS11的引脚对应关系,没办法只能先通过原理图猜测信号所对应的实际引脚位置,好在我手边有万用表,然后通过测量知道了实际对应位置,希望之后将一些接口的实际信号做一个图示,自己找信号位置太麻烦了。。。这里我挑了2个IO:J23/J24作为uart的tx 和rx,连接一个usb转串口模块,然后连接电脑,实际连接如下图所示。image.png
image.png

下载bitstream之后,打开电脑串口软件,定时一直发送数据,观察收发数据是否一致,测试结果如下图所示。
image.png
可以看到,经过一段时间的连续运行,收发数据量一致,且结果正确。因此该串口工程上板成功。

众所周知,XILINX-Kin[te]x系列以性价比著称,在高性能低功耗的前提下,价格也相对较低,目前市场上不存在缺货的情况,所以当使用量大的时候,价格也会更有优势。所以在研发工作中,

这个款核心板是非常适用于二次开发和产品使用的。明德扬推出0元试用核心板活动正在进行中,可以联系客服黄老师参加:13316124179(微信同号)
wKgZomVcHi6ASLokAAIDEFMcS_0856.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593267
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119388
  • 开发板
    +关注

    关注

    25

    文章

    4437

    浏览量

    94073
  • Kintex-7
    +关注

    关注

    1

    文章

    27

    浏览量

    15943
收藏 人收藏

    评论

    相关推荐

    明德点拨FPGA课程分享---第八章 明德模板

    明德模板汇总命令1. 明德设计模板汇总前面已经介绍了多个明德的模板,本视频将所有的模板汇总
    发表于 11-27 15:30

    【小e开发板试用体验】“开发快”系列第二篇(功能初体验)

    `刚刚考完试后,我就迫不及待的打开连接了"小e“,来看看它的功能初体验。按照初体验的步骤:1:我们连上开发板的USB接口,将屏幕旁的总开关拨到ON端,将跳线帽盖在OLEO的白色跳线
    发表于 01-05 12:22

    开发快小e开发平台试用进程大汇总(2016.1.11日已更新)

    记录1.【小e开发板试用体验】“开发快”系列之第一(开箱有礼)【16/1/4】2. “开发快”
    发表于 01-05 14:50

    【CANNON试用体验】开箱贴

    ,HTS221温湿度计,磁力计,低功耗蓝牙芯片等,还有一些常见的接口,I2C,SPI,UART,USB,TF卡槽,按键等,可扩展能力很强,这贴试用先到这,过几天发第二篇试用
    发表于 01-31 22:59

    硬件电路及系统设计入门宝典-第二篇

    不少朋友问道系列后续部分内容,这里就不卖关子了,直接把第二篇分享出来:第三还在写作中,完成后也会分享给大家。希望大家继续支持“超硬工程师”。
    发表于 08-06 19:00

    至芯科技之altera 系列FPGA教程 第二篇 软件的安装

    至芯科技之altera 系列FPGA教程 第二篇 软件的安装
    发表于 08-11 03:14

    明德】倾情分享海量FPGA设计技巧学习资料 转

    1.如何在MODELSIM中仿真ISE的IP核明德分享的在MODELSIM中仿真带IP核的XILINX工程方法,一步步教你怎么添加仿真库,怎么实现ISE的IP核的仿真详细步骤。2.红外
    发表于 03-27 19:20

    明德至简设计法资料大全

    明德FPGA01 时序约束步骤http://v.youku.com/v_show/id_XMjg3NjY2ODU0MA==.html?spm=a2hzp.8253869.0.0潘文明至简设计法系列
    发表于 07-27 17:05

    【NanoPi Duo开发板试用体验】2、连接WIFI

    体验的第二篇:2、连接WIFI此次试用的NanoPi Duo开发板具有WIFI模块,可以实现WIFI无线上网,下面简单介绍其接入网络的简单步骤1、查看网络设备列表nmcli dev 效果如下:注:如果列出
    发表于 10-14 17:01

    推荐一款FPGA多功能入门开发板

    明德mp801开发板明德2018年推出的新款教学用,该
    发表于 10-22 17:58

    TLA7-EasyEVM是基于Xilinx Artix-7系列FPGA处理器开发板

    1.开发板简介基于Xilinx Artix-7系列FPGA处理器;FPGA芯片型号为XC7A100T-2FGG484I,NOR FLASH
    发表于 09-04 11:33

    基于Xilinx Artix-7系列FPGA的开发板处理器/NOR FLASH

    前言TLA7-EVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心
    发表于 09-23 16:27

    Xilinx Kintex-7系列FPGA的开发板SATA/PCIe接口

    前言TLK7-EVM是一款由广州创龙基于Xilinx Kintex-7系列FPGA自主研发的核心+底板方式的
    发表于 09-24 14:39

    TLK7-EVM基于Xilinx Kintex-7系列FPGA的开发板处理器和NOR FLASH

    前言TLK7-EVM是一款由广州创龙基于Xilinx Kintex-7系列FPGA自主研发的核心+底板方式的
    发表于 09-24 16:46

    今天分享 PCIE高速接口XILINX.ISE教程

    开发板测试:1、 安装windrive 2、LED状态显示 3、测试读写 PCIE开发板介绍:1、原理图介绍 PCIE TLP协议介绍:1、分析存储器写报文结构 2、分析存储器读报文
    发表于 02-14 09:50