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
    +关注

    关注

    1635

    文章

    21837

    浏览量

    608329
  • Xilinx
    +关注

    关注

    71

    文章

    2173

    浏览量

    122830
  • 开发板
    +关注

    关注

    25

    文章

    5210

    浏览量

    99119
  • Kintex-7
    +关注

    关注

    1

    文章

    27

    浏览量

    16102
收藏 人收藏

    评论

    相关推荐

    【作品合集】龙芯2K0300蜂鸟开发板试用精选

    】第三 龙芯2K0300蜂鸟--驱动OLED【龙芯2K0300蜂鸟试用
    发表于 09-10 18:17

    【米尔-Xilinx XC7A100T FPGA开发板试用】+01.开箱(zmj)

    【米尔-Xilinx XC7A100T FPGA开发板试用】+01.开箱(zmj) 1.感谢 感谢米尔电子和电子发烧友提供的此次试用机会,可
    发表于 11-12 15:45

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

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

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

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

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

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

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

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

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

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

    运放中的那些坑——第二篇

    运放中的那些坑——第二篇
    的头像 发表于 08-31 11:37 1.5w次阅读
    运放中的那些坑——<b class='flag-5'>第二篇</b>

    明德PCIE高速传输解决方案

    明德PCIE高速传输方案积累了丰富的技术,传输的带宽利用率可达到90%以上,延迟可达到理论的最低延迟值。
    发表于 04-13 10:36 993次阅读
    <b class='flag-5'>明德</b><b class='flag-5'>扬</b><b class='flag-5'>PCIE</b>高速传输解决方案

    明德XILINX-K7核心7K325 410T工业级

    明德MP5650核心-工业级 KINTEX-7 FPGA 芯片325T/410T 相对较低的成本实现超高的性能
    的头像 发表于 07-02 11:43 5079次阅读
    <b class='flag-5'>明德</b><b class='flag-5'>扬</b><b class='flag-5'>XILINX-K7</b>核心<b class='flag-5'>板</b><b class='flag-5'>7K</b>325 410T工业级

    明德mdyFmcAd9653-ADC系列采集说明书

    mdyFmcAD9653 是由明德科教研发的多通道、高分辨率和高采样率的 ADC 系列
    发表于 07-05 15:25 4次下载

    明德mdyFmcAd9653-ADC系列采集说明书

    mdyFmcAD9653是由明德科教研发的多通道、高分辨率和高采样率的ADC系列,该系列包括如下型号。
    的头像 发表于 10-12 10:33 4113次阅读

    【时擎科技AT1000开发板试用体验】时擎科技AT1K DEV开发板开箱

    本文来源电子发烧友社区,作者:jf_46793279, 帖子地址: https://bbs.elecfans.com/jishu_2289322_1_1.html AT1K DEV 开发板 开箱
    的头像 发表于 11-22 14:34 1232次阅读
    【时擎科技AT1000<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>体验】时擎科技AT1<b class='flag-5'>K</b> DEV<b class='flag-5'>开发板</b>开箱

    第二第二期免费开发板试用开始了

    大家好,第二第二期免费开发板试用开始了,细节如下:1第二第二
    的头像 发表于 08-26 09:29 719次阅读
    <b class='flag-5'>第二</b>批<b class='flag-5'>第二</b>期免费<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>开始了

    明德K7核心试用体验-第一

    本文为明德原创文章,转载请注明出处!作者:Vito 明德核心试用体验-第一
    的头像 发表于 11-21 11:05 643次阅读
    <b class='flag-5'>明德</b><b class='flag-5'>扬</b><b class='flag-5'>K7</b>核心<b class='flag-5'>板</b><b class='flag-5'>试用</b>体验-第一<b class='flag-5'>篇</b>