SRIO学习
文章平均质量分 87
润星晓晔
没有困难创造困难也要向前冲!
展开
-
SRIO学习(三)——SRIO包
SRIO Functional DescriptionSRIO包在讲SRIO包之前,有必要了解一下SRIO的构造层次。 SRIO分为三个层次,分别是逻辑层,传输层和物理层。逻辑层 确定终端处理传输的协议,包括包的格式。传输层 定义了在系统中正确路由信息包的寻址方案。物理层 包含设备级的接口信息,如电气特性、错误管理数据和基本的流量控制数据。传输层与逻辑层和物理层是上下原创 2016-09-06 21:39:22 · 16822 阅读 · 3 评论 -
TMS320C6678DSP SRIO通道和频率设置
基于很多朋友问DSP的SRIO具体通道怎样配置为1X,2X,4X,并且怎样设置相应速率的情况,本文给出几个实际配置例子,大家可以根据相应例子对照自身需求进行修改,基础例程仍旧是我之前在SRIO系列博客中提到的srio_loopback.c。6678 参考时钟是250M时,怎样将SRIO配置为4X,3.125G详细参数:参考时钟:250M相关寄存器:PRESCALAR_SRV_CLK(0...原创 2019-05-14 14:24:22 · 5329 阅读 · 2 评论 -
FPGA+DSP SRIO通信(四)——中断系统(二)
“It doesn’t matter where you are, you are nowhere compared to where you can go.” 经过上一篇博客FPGA+DSP SRIO通信(四)——中断系统(一)的学习,我们已经可以将FPGA端产生的doorbell中断变成INTDST,也就是系统中断,接下来要做的就是使系统中断和主机中断**相互关联起来,再将主机中断和...原创 2018-05-22 23:01:06 · 6353 阅读 · 8 评论 -
FPGA+DSP SRIO通信(四)——中断系统(一)
这学期一直在忙项目的事情,没什么时间写博客,最近过年闲下来,会把之前欠的内容补上。 目录1、6678的中断系统1.1、系统事件1.2、SRIO中断和系统事件有何关系?怎样将这两者联系映射起来?1.3、doorbell_info bit到系统事件的映射(本文的基础是FPGA能向DSP发送doorbell类型的包。)从上一节FPGA+DSP SRIO通...原创 2018-02-05 15:26:33 · 8965 阅读 · 2 评论 -
FPGA+DSP SRIO通信(一)——DSP端参数设置(通道)
经过漫长的探索之后,博主发现关于TI的板子调试和开发要遵循的规律,称其为潜规则也不为过。 1、文档 文档是程序的基础,是思想和灵魂,所以文档的阅读必须认真,但由于所有的TI文档都是英文,非英语母语者读起来非常不通畅。我说说我的方法:使用谷歌翻译。不是硬着头皮逐句看,看不懂了再翻译,这非常耗费时间,往往看了后面忘了前面。我给出的方法是大段翻译,直接粘贴到谷歌翻译中,在遇到晦涩的部分时再原创 2017-04-19 18:56:45 · 22984 阅读 · 18 评论 -
FPGA+DSP SRIO通信(三)——基于LSU的数据传输
之前的配置中我们知道如何配置通道速率、设置deviceID。 也就是马路已经铺设好了,我们应该造车了。 搏一搏,单车变摩托! SRIO不是单车,而是摩托车,我们需要搏一搏,把这个摩托车造出来,在我们已经铺设好的高速路上飞驰。目录一、LSU寄存器基本介绍二、LSU传输流程三、LSU方式_发送代码的实现下面提及的关于LSU寄存器的详细知识,在我的以下两篇博客中...原创 2017-05-15 22:29:48 · 11867 阅读 · 19 评论 -
FPGA+DSP SRIO通信(二)——DSP端参数设置(DEVICEID)
FPGA+DSP SRIO通信(二)——DSP端参数设置(DEVICEID)上回书说到,我们已经配置好了FPGA和DSP通信的通道速率,但是在调试时总是不知道怎样设置deviceID,本节就来说说,DSP端的deviceID怎么配置。首先附上官方给出的基于CSL的SRIO配置程序,该程序和上一章所用到的程序是同一个。device_srio_loopback.c对于DEVICEID的设置:1、DEVI原创 2017-05-03 20:19:39 · 8725 阅读 · 6 评论 -
SRIO学习(七)——Direct I/O 操作(二)
Direct I/O 操作(二)【上回书说到,LSU的CC位能够表示正在进行的传输的状态。】中断和LSU释放LSU的CC位能够表示正在进行的传输的状态,自然也能显示出执行过程中的错误,而且一点出错,与这些错误有关的中断将迅速被上报给CPU。在上报处理阶段没有提交新的任务。错误上报给CPU后,LSU只有在以下几种情况下才会被释放:CPU对restart或者flush位进行写原创 2016-09-30 14:43:21 · 8835 阅读 · 2 评论 -
SRIO学习(六)——Direct I/O 操作(一)
Direct I/O 操作框架流程direct I/O(加载/存储)模块是所有传出的direct I/O packets(direct I/O 包)的来源。通过direct I/O包,Rapid I/O包包含了目标设备上数据的存储地址和读取地址。direct I/O 需要RapidIO源设备包含目标设备的本地存储器地址列表。一旦地址列表建立,RapidIO源控制器就利用这些数据来计算目标地址原创 2016-09-20 20:34:20 · 11117 阅读 · 1 评论 -
SRIO学习(一)——外设数据流
SRIO Functional Description外设数据流外设数据流概念SRIO是一个外部驱动的从模块,但能够在dsp上扮演主模块的角色,意思就是他能够直接向dsp推送所需的数据而不需要产生中断或者通过DMA。这有一个好处就是减少来中断数量,减少来与只读中断的握手时间,并将EDMA释放给其他任务。SRIO确定数据包(packet)的有效载荷(payload)最高有256个字节,很多时候,数据的原创 2016-09-04 10:09:17 · 17157 阅读 · 8 评论 -
SRIO学习(二)——SRIO结构
SRIO结构【写在前面:在学习SRIO后续知识时发现有很多概念很难理解,查资料发现我对SRIO构架那部分学习太过敷衍,特此用一篇博文来学习交流一下SRIO构架。】RapidIO层次构建SRIO模块由三层构建而成。逻辑层 确定终端处理传输的协议,包括包的格式。传输层 定义了在系统中正确路由信息包的寻址方案。物理层 包含设备级的接口信息,如电气特性、错误管理数据和基本的流量控制数据。传输层与逻辑层和物理原创 2016-09-06 21:51:05 · 34825 阅读 · 9 评论 -
SRIO学习(五)——SerDes Macro(串行解串宏)
SerDes宏和其配置SRIO通过允许一个可扩展的非专有接口,为我们提供了许多好处。这个接口就是SerDes。通过使用SerDes宏,可以与外设交流,并且外设都可以扩充带宽。同一个外设可以用在V1.2版本的RapidIO 接口协议的四个频率下:1.25、2.5、3.125和5Gbps。这样就可以在整个系统中有一个协议就足够了,可以选择性地选取带宽。这种做法消除了使用用户自带协议的情况,减短原创 2016-09-18 19:37:24 · 8061 阅读 · 1 评论 -
SRIO学习(四)——SRIO管脚
SRIO Functional DescriptionSRIO管脚【SRIO管脚部分官方文档给的信息较少,只有一个表格,不过笔者会对表格里的描述进行详细解析】SRIO设备管脚是基于Current-Mode Logic (CML)【电流模式逻辑】的高速差分信号,传输和接收信号的缓存自身都包含有时钟恢复区域。参考时钟输入是不纳入SerDes宏的,参考时钟使用的是差分缓存输入的,原创 2016-09-10 14:08:59 · 7369 阅读 · 1 评论 -
TMS320C6678 DSP单双网口切换 + 千兆/百兆网速切换
关于网络模块的配置在ti论坛有很多讨论,但是问题很多很杂,很难从里面获取有效信息,我根据调板经验将关于本文主题的内容整理出来,供大家讨论参考,希望我在这上面浪费的时间能为大家节省时间。如何使helloworld_evmc6678l工程支持双网口(或支持port 0)由于pdk6678_1_1_2_x中默认的网络驱动是关于port1的配置,要使程序同时支持两个网口(或支持port0),可以...原创 2019-05-14 14:34:00 · 4616 阅读 · 3 评论