请教6678 SRIO物理层要解决哪些问题LINK初始化的问题

电话: 025-
传真: 025-
地址:南京紫金(江宁)科技社区
当前位置: >
高速6678开发板卡 多核6678板卡CameraLink_K7+FMC6678板卡
面向嵌入式微型化视觉图像领域,DSP采用TI公司最新一代 Keystone多核C66x系列TMS320C6678,具有10G处理能力;FPGA采用Xilinx公司的Kintex-7(K7)系列 XC7K325T-2FFG900I,具有326,080逻辑单元。系统由两块核心板块&&FPGA板块和DSP板块组成,FPGA扩展有2路Full Camera Link接口(可通过跳线设置,将其配置为4路Base Camera Link接口),其中一路为输入,一路为输出;DSP板为我们已经大规模成熟应用FMC6678板块。两块板卡通过FMC接口连接,相机的图像数据先从 Camera Link接口传输至FPGA板,FPGA对其进行预处理,然后通过FMC接口上的RapidIO传输至DSP板块。
支持Basler、Teledyne Dalsa、PointGrey、e2v、Vieworks、JAI等国际主流CameraLink相机的全速接入,提供FPGA端的Camera Link相机驱动软件,以及DSP CCS图像处理算法包,并提供基于OpenMP的简易化CCS二次开发框架和典型例程,同时提供上位机C#调试软件程序。客户只需要有C语言基础即可根据 项目需求进行智能图像算法开发和系统应用软件开发。可用于缺陷检测、尺寸测量、色选、运动目标检测跟踪、字符识别等智能图像处理分析等。
典型应用方案1
典型应用方案2
大分辨率图像处理:微米级显微视觉、手机平板缺陷检测、汽车零配件质量检测、印刷质量检测、生物医学影像处理等。
高速图像处理:高铁电弧弓实时检测、汽车用钢板检测等、高速JPEG压缩。
三维成像:精密测量、反求工程、机器人视觉定位与引导。
无人机:侦察影像处理、自主视觉导航、图像压缩传输、敏感目标自动识别、多传感器图像融合。
导弹:地形匹配、景象匹配、目标分类。
声呐:声学成像与增强处理、声学图像恢复、危险目标识别(如水雷)、相控阵三维摄像声纳系统。
&&&&&&&DSP具有8个TMS320C66x&核,可达10G处理能力;每核具有32KB L1P,32KB L1D,512KB
&&&&&& L2;具有4MB Shared L2。
&&&&&&&移植完备的LWIP网络协议栈,每路网口具有&60MB/s的带宽,采用EDMA图像收发方式有
&&&&&& 效节省了CPU资源。是目前带宽最高、性能最优的网络底层驱动程序解决方案。
&&&&&&&2路Full Camera Link接口(可通过跳线设置,将其配置为4路Base Camera Link接口),其
&&&&&& 中一路为输入,一路为输出。
&&&&&&&支持Basler、Teledyne Dalsa、PointGrey、e2v、Vieworks、JAI等国际主流CameraLink相
&&&&&& 机和Gige相机的全速接入。
&&&&&&&完整的数据高速接入通路:相机的图像数据通过Camera Link接口进入FPGA,缓存在DDR3,
&&&&&& 做预处理后,通过RapidIO接口传输至DSP,DSP做智能分析后可将结果通过RS232/RS485或
&&&&&& 者千兆以太网输出。
&&&&&&&完整的数据高速输出通路:DSP对图像数据处理完之后也可通过RapidIO接口传输至FPGA,
&&&&&& FPGA通过CameraLink接口输出至其他设备。
&&&&&&&简洁的CCS二次开发环境,采用OpenMP进行任务调度和并行程序设计,与采用VC++开发基
&&&&&& 本类似,方便用户快速上手。
&&&&&&&提供Xilinx ISE开发环境和FPGA源代码,包括RapidIO的IP CORE,方便客户进行自主开发。
&&&&&&&提供多个典型算法的例程(边缘提取、字符识别、尺寸计算等),客户可借鉴使用。
DSP板卡外设接口
&&&&&&&1024MB DDR3-1333存储器。
&&&&&&&64MB EMIF NAND Flash存储器。
&&&&&&&16MB SPI NOR Flash存储器。
&&&&&&&128KB I2C EEPROM for booting。
&&&&&&&2个千兆网络接口,每路带宽&60MB/s。
&&&&&&&一路RS485接口,可配置成RS232接口。
&&&&&&&4位用户拨码开关。
&&&&&&&6个LED指示灯。
&&&&&&&3个复位按键。
&&&&&&&3输入、3输出带光耦隔离的IO口。
&&&&&&&HyperLink - 50Gbaud Operation,全双工。
&&&&&&&调试接口:60pin EMU和14pin JTAG,支持XDS560v2、XDS560、XDS510等仿真器。
&&&&&&&FMC扩展接口: 4线SRIO 2.1-5 Gbaud Per Lane全双工。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2线PCIe Gen2-5 Gbaud Per Lane全双工。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&22对差分对扩展线。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1路SPI接口、2对差分时钟线。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&可扩展4路千兆网相机接口和4路Camera-Link相机接口。
FPGA板卡外设接口
&&&&&&&256MB DDR3-1333存储器。
&&&&&&&128MB NAND Flash存储器。
&&&&&&&ESATA接口。
&&&&&&&3路RS422。
&&&&&&&CameraLink接口:两路BASE模式输入或一路FULL模式输入。
&&&&&&&CameraLink接口:两路BASE模式输出或一路FULL模式输出。
&&&&&&&1个复位按键。
&&&&&&&1个Flash配置指示灯。
&&&&&&&调试接口:6pin JTAG,支持Xilinx 的SEED-CABLE USB II仿真器。
&&&&&&&FMC扩展接口: 4线SRIO 2.1-5 Gbaud Per Lane全双工。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2线PCIe Gen2-5 Gbaud Per Lane全双工。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2路GPIO。
&&&&&&&板卡大小为170mm&80mm。
&&&&&&&板卡功率20W。
&&&&&&&供电:DC5~12V/4A,纹波:&12%。
&&&&&&&储存温度:-20℃~+70℃。
&&&&&&&工作温度:商业级0℃~+70℃,工业级 -40℃~+85℃。
&&&&&&&工作湿度:10%~80%。
&&&&&&&完整的启动配置程序,Boot程序固化在I2C EEPROM中,上电自动引导存储在NAND
&&&&&& FLASH的应用程序。
&&&&&&&提供DDR3、IO、RS232、Ethernet、Rapid IO、HyperLink、PCIe等外设的驱动程序。
&&&&&&&移植完备的Lwip协议栈,支持TCP、UDP、IP传输协议。可实现双网络的同时收发,每路带宽
&&&&&& &60MB/s。
&&&&&&&CameraLink输入输出测试程序。
&&&&&&&DDR3测试验证程序。
&&&&&&&SRIO通信测试程序。
图像算法例程
&&基于OpenMP实现了多个典型应用的多核调度和并行算法设计例程:
&&&&&&&中值滤波、边缘提取、二值化等。
&&&&&&&条形码识别(Code128格式)。
&&&&&&&尺寸测量、缺陷检测、色选。
&&&&&&&视觉定位(选配)。
上位机软件
&&&&&&&采用C#开发,提供框架的源代码。
&&&&&&&具有功能:一键式DSP应用程序烧写;视频图像接收、显示与发送;DSP寄存器状态查询;
&&&&&&&&&&&&&&&&&&&&&&&SQL Server数据库管理;H.264/JPEG编解码。
中国科学院(自动化所、微电子所、声学所、长春光机所、上海技物所),航天(三院8358所、二院23所),中船(713所、719所)浙江大学、清华大学、北京理工大学、江南大学、内蒙古科技大学、南京理工大学、西安电子科大。
1.提供的技术参考文档有哪些
面向CameraLink接口的Kintex-7与TMS320C6678视觉图像处理系统产品手册
面向CameraLink接口的Kintex-7与TMS320C6678视觉图像处理系统快速使用说明
面向CameraLink接口的Kintex-7与TMS320C6678视觉图像处理系统硬件设计说明
面向CameraLink接口的Kintex-7与TMS320C6678视觉图像处理系统软件开发说明
2.你们的硬件系统可以接入哪些厂家的CameraLink相机
&&&&&&支持Basler、Teledyne Dalsa、PointGrey、e2v、Vieworks、JAI等国际主流CameraLink相机的全速接入,提供FPGA端的Camera Link相机驱动软件。
&&&&&&CameraLink是一种专门针对机器视觉应用领域的串行通信协议,使用LVDS(低压差分信号)传输。其信号可分为四种:电源信号、视频 数据信号、相机控制信号、串行通信信号。视频数据信号为CameraLink的核心,由5对差分信号组成,视频发送端将28位的数据信号和一位时钟信号按 7:1比例转换成5对差分信号进行传输,接收端使用Channel Link芯片(例如DS90CR288A)将5对差分信号转换成28位数据信号和一位时钟信号,28位的数据信号包括4位视频控制信号(帧同步信号、行同 步信号、数据有效信号、时钟信号)和24位图像数据信号。相机控制信号被定义为相机的输入信号和图像采集卡的输出信号,用于控制相机。此外还定义了2对 LVDS线缆用来实现相机与图像采集卡之间的异步串行通信控制,至少支持9600的波特率。
&&&&&&CameraLink支持三种视频传输模式:Base、Medium、Full。Base模式为基本模式,包含4对相机控制差分信号、5对数 据差分信号和两对异步串行通信差分信号,一根线缆传输;Medium模式有4对相机控制差分信号、10对数据差分信号、两对异步串行通信差分信号,需要两 个CameraLink机械接口,一根线缆传输;Full模式需要15对数据差分信号、4对相机控制信号,同样需要两个CameraLink机械接口,两 根线缆传输。Base的有效数据带宽为1.6Gbps,Medium的有效数据带宽为3.6Gbps,Full的有效数据带宽为4.8Gbps。在 Base模式下,在每个时钟像素里发送28bits数据,包含4bits图像使能信号和24bits图像数据,需要一片Channel Link芯片进行信号转换。在Full模式下,在每个时钟像素里可发送68bits数据,其中包含4bits图像使能信号和64bits图像数据,需要3 片Channel Link芯片进行信号转换。
3.系统如何通过RapidIO实现图像数据在DSP与FPGA间的高速传输
(1)硬件互联及配置方面
&&&&&&SRIO的一对收发差分信号对构成一个全双工的通信通道,可以工作在1.25Gbps、2.5Gbps、3.125Gbps的波特率。在使用 1个通道进行通信时为1x模式,而同时使用4个通道进行通信时为4x模式。本系统采用单通道波特率3.125Gbps,4x工作模式,因此通信带宽可高达 12.5Gbps。
(2)数据传输控制及计算资源消耗方面
&&&&&&SRIO的数据传输是基于请求和响应事务的。包是系统中端点器件间的基本通信单元。在SRIO协议的众多传输事务中,最为关键重要的就是NREAD事务、NWRITE事务及DOORBELL事务。通过SRIO包的这几种事务处理可以实现互联器件间的数据传输。
&&&&&&NREAD事务和NWRITE事务所产生的数据包为Direct I/O包,Doorbell事务对应Doorbell包。在TMS320C6678内部,对Direct I/O包和Doorbell包的传输控制模块分成LSU(Load/Store Unit)控制单元和MAU(Memory Access Unit)控制单元。LSU用于实现Direct I/O包,Doorbell包的发送,MAU则负责它们的接收。Direct I/O包内包含了数据本地DSP地址、目标设备ID及数据在目标设备上需要保存或读取的地址,DSP通过配置总线对发送端口配置一系列MMR作为传输描述 符,在包传输之前硬件自动把它们加在包头。启动SRIO传输后由DMA实现数据从DSP内部存储空间到SRIO发送端口缓冲区的传输,处理器参与的仅仅是 配置过程,而在真正的数据搬移过程全由DMA完成。并且包信息中包含了接收端口的ID及地址信息,当有Direct I/O数据包到达DSP时,数据在接收端口由MAU模块自动DMA到包头信息指定的地址空间,对用户来说完全是透明的。所以,TMS320C6678在通 过SRIO与FPGA通信时,数据在传输过程中不需要处理器参与,完全由DMA实现。
&&&&&&因此,DSP与FPGA建立通信链路并进行数据传输的流程如下:DSP的SRIO端口首先进行初始化,包括使能端口,配置端口工作模式,设计 和使能PLL模块,设置设备ID及数据传输速率。在初始化完成后,通过循环查询SRIO端口状态寄存器来判断链路连接的成功与否。链路连接成功后,就可以 进行读写和门铃操作。如FPGA通过写操作向DSP发送完一帧数据后,立即再发送一个Doorbell包,doorbell包在DSP上产生一个系统中断 告知CPU数据到达。DSP 的CPU开始处理FPGA发送过来的数据。DSP也可以向FPAG发送简短的Doorbell包来通知FPGA一些信息。
&&&&&&本系统采用具有较少的引脚数,超高的通信带宽,超低的CPU资源消耗等优点的SRIO将DSP与FPGA互联,使系统在在数据交互、任务切换、算法分解、计算负载均衡等方面具有较强的适应性、可扩展性。
4.与工控机+CameraLink采集卡比较具有哪些优势
工控机+CameraLink采集卡
我们的系统
CameraLink采集卡一般为PCI-e接口,稳定性难于保证。
CameraLink FPGA采集板与DSP处理板通过FMC连接,稳定性极高
数据吞吐量
数据链路长,容易受到瓶颈限制和传输延时的影响。
数据链路短,可实现高速数据的实时传输与处理。
4U/6U 体积庞大
140mm&80mm,比手掌稍微大些
需要外接扩展卡,降低了稳定性。
板上自带多种外设,无须外扩。
Windows,Linux
结论:我们的系统
(1)适合用于体积、功耗及稳定性要求极高的环境。
(2)超强运行能力让DSP可普及用于工业视觉领域。
(3)在超高速图像处理和大分辨率图像处理领域具有领先优势。
5.你们的系统可扩展哪些底板和接口
&&&&&&我们的系统可扩展带有4x模式下的SRIO 、2x模式下的PCIE和2个GPIO接口的FMC接口底板。
6.你们的产品是如何销售定价的
&&&&&&我们的产品分成三类,按不同类别和采购数量定价,对于批量客户,我们板卡的成本要优于同性能的工控机,具体价格我们欢迎来电和邮件咨询。
与TI和Xilinx原装开发板类似,用于学习和评估XC7K325T和TMS320C6678。
Cameralink_K7和FMC6678板卡各一块;12V/5A DC电源一个; 带扣网线一条;串口线一条;U盘一个(内有TI和Xilinx安装文件,可一键安装建立开发环境,自主编写的上位机管理软件,详细的软硬件使用说明文档, 驱动和例程可从TI官网和Xilinx官网下载)
视觉图像版
用户可在板卡上实现Gige/CameraLink相机的图像输入、图像算法处理,以及结果输出等功能,实现视觉产品的快速开发。
在上述基础上,增加: 图像系统软硬件开发框架,用环形缓冲区可流程化实现图像的输入、处理和输出;三个基于OpenMP的图像算法例程,极具参考价值;提供Basler、 Teledyne Dalsa、PointGrey、e2v、Vieworks、JAI等国际主流CameraLink相机或者Gige相机的驱动软件;提供LWIP双网口 软件包,可调用API实现TCP、UDP通信;提供Rapidio接口的FPGA端和DSP端例程,实现处理器间图像数据的高速传输;提供FPGA端典型 图像预处理算法供参考设计。
系统定制版
为客户设计个性化视觉算法,直接提供完整的视觉系统。
在上述基础上,增加: 根据客户需求,为客户量身定制图像智能算法和硬件系统,可提供源代码、电路原理图、使用说明书等资料。
7.你们的技术支持和售后服务如何实施
可以直接与我们电话联系、发送QQ消息或者发送电子邮件,我们将以最快的速度与您沟通,帮助您解决问题,让你们的产品早日上市。
详细介绍/chanpin/gsxhbk/
南京研维信息技术有限公司
版权所有 Copyright ©
电话:025-
工信部备案号:苏ICP备号-3
公安机关备案号:苏公网安备 24号
南京研维是一家集工控机生产与销售为一体的知名工控机供应商,公司面向全国销售,RPC610工控机,RICH300工控机,品牌包含、凌华工控机、华北工控机等,产品100%均为厂家正品原装销售,全国包邮一台也批发,订购热线,也提供工业计算机客制化ODM服务,告诉我们一个需求,研维还您一个全面科学的产品定制方案。C6678开发,SRIO初始化问题 - C6000(TM)多核 - 德州仪器在线技术支持社区
C6678开发,SRIO初始化问题
发表于5月前
<input type="hidden" id="hGroupID" value="32"
& & 工程师您好,我们开发C6678,为了实现它和FPGA通信,之前在你们的帮助下SRIO接口测试程序通过,能够打印&port_ok!&,当我们把MAC层工程代码移植到该接口测试版本里后,即加上总体软件初始化后,程序运行会卡在SRIO硬件初始化程序中,具体位置如下图示:且main()中位于SRIO初始化函数位置之前的Cache、PLL初始化函数里相关信息的打印函数均没有打印出来(程序单步执行时,经过了各函数中的printf()函数,但没有打印出来)。&/p>
&p>&a href=&/cfs-file.ashx/__key/communityserver-discussions-components-files/53/5224.1.png&>&img src=&/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/53/5224.1.png& border=&0& alt=& &>&/a>&/p>
&p>& & 当注释掉总体软件初始化程序后,程序卡在:如下方代码中注释位置,但Cache、PLL初始化函数里相关信息的打印函数均可以打印出来。&/p>
&p>void unlock_mem_prot_regs()&br>{&br>&br> &br> /*1. Write a 1 to the KEYR field in the MPLKCMD register. This resets some internal&br> status for the MPLK0 through the MPLK3 registers.*/&br> gpCGEM_regs-&MPLKCMD = (1&&CSL_CGEM_MPLKCMD_KEYR_SHIFT);&/p>
&p>/*2. Write the unlock key to MPLK0 through the MPLK3 registers. The hardware&br> compares the written value with the stored key value. Software must write to all&br> four registers exactly once. The writes can arrive in any order.*/&br> for(i=0; i&4; i++)&br> {&br> gpCGEM_regs-&MPLK[i] = mem_prot_key[i];&br> }&/p>
&p>/*3. Write a 1 to the UNLOCK field in the MPLKCMD register. If the key written in&br> step 2 matches the stored key, the hardware disengages the lock. If the key written&br> in step 2 does not match, the hardware signals an exception. The hardware&br> reports the fault address as the address of the MPLKCMD register.*/&br> gpCGEM_regs-&MPLKCMD = (1&&CSL_CGEM_MPLKCMD_UNLOCK_SHIFT);&/p>
&p>/*wait to make sure it is unlocked*/&br> while(1==(gpCGEM_regs-&MPLKSTAT&CSL_CGEM_MPLKSTAT_LK_MASK)); & &/*程序卡住的位置*/&br>}&/p>
&p>& & 起初我们猜想是我们工程代码中全局变量动态分配的内存空间和cmd中为DDR、SRIO等操作的内存空间冲突,于是在程序运行暂停后观察了全局变量的起始地址,即为我为DDR_far分配的内存起始地址,难道是内存空间分配不够还是有什么其他可能性?请您为我们指导一下,谢谢啦!&/p>&div style=&clear:&>&/div>" />
C6678开发,SRIO初始化问题
此问题尚无答案
All Replies
& & 工程师您好,我们开发C6678,为了实现它和FPGA通信,之前在你们的帮助下SRIO接口测试程序通过,能够打印&port_ok!&,当我们把MAC层工程代码移植到该接口测试版本里后,即加上总体软件初始化后,程序运行会卡在SRIO硬件初始化程序中,具体位置如下图示:且main()中位于SRIO初始化函数位置之前的Cache、PLL初始化函数里相关信息的打印函数均没有打印出来(程序单步执行时,经过了各函数中的printf()函数,但没有打印出来)。
& & 当注释掉总体软件初始化程序后,程序卡在:如下方代码中注释位置,但Cache、PLL初始化函数里相关信息的打印函数均可以打印出来。
void unlock_mem_prot_regs(){
/*1. Write a 1 to the KEYR field in the MPLKCMD register. This resets some internal status for the MPLK0 through the MPLK3 registers.*/ gpCGEM_regs-&MPLKCMD = (1&&CSL_CGEM_MPLKCMD_KEYR_SHIFT);
/*2. Write the unlock key to MPLK0 through the MPLK3 registers. The hardware compares the written value with the stored key value. Software must write to all four registers exactly once. The writes can arrive in any order.*/ for(i=0; i&4; i++) { gpCGEM_regs-&MPLK[i] = mem_prot_key[i]; }
/*3. Write a 1 to the UNLOCK field in the MPLKCMD register. If the key written in step 2 matches the stored key, the hardware disengages the lock. If the key written in step 2 does not match, the hardware signals an exception. The hardware reports the fault address as the address of the MPLKCMD register.*/ gpCGEM_regs-&MPLKCMD = (1&&CSL_CGEM_MPLKCMD_UNLOCK_SHIFT);
/*wait to make sure it is unlocked*/ while(1==(gpCGEM_regs-&MPLKSTAT&CSL_CGEM_MPLKSTAT_LK_MASK)); & &/*程序卡住的位置*/}
& & 起初我们猜想是我们工程代码中全局变量动态分配的内存空间和cmd中为DDR、SRIO等操作的内存空间冲突,于是在程序运行暂停后观察了全局变量的起始地址,即为我为DDR_far分配的内存起始地址,难道是内存空间分配不够还是有什么其他可能性?请您为我们指导一下,谢谢啦!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
探花12280分
不知道您说的系统总体初始化代码是什么呢,SYS PLL这些配置是必需的,SRIO 驱动程序未正常初始化的原因很多,从您上面描述来看,建议先检查下SRIO PLL配置,看是否你们加入自己代码后相较于之前测试通过的SRIO测试工程在SRIO CLK, SYS CLK这块有没有变化?
上述内容如果回答了您的问题,请点击标签栏&是&按钮。您的轻轻一点,会帮助我们更好的管理论坛内容,谢谢!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
& & 工程师您好,我们查了一下:如果将代码、数据或者堆栈等分配到了DDR中,在目标配置文件中需要加载GEL文件。我们因为代码中全部变量大,就将.far定义在DDR中,我们加载了GEL文件之后,初始化正常,但是收不到来自物理层的GPIO中断了,这会是什么原因呢?
You have posted to a forum that requires a moderator to approve posts before they are publicly available.&#xe621; 上传我的文档
&#xe602; 下载
&#xe60c; 收藏
该文档贡献者很忙,什么也没留下。
&#xe602; 下载此文档
正在努力加载中...
基于TMS320C6678的SRIO接口设计
下载积分:633
内容提示:基于TMS320C6678的SRIO接口设计
文档格式:PDF|
浏览次数:5|
上传日期: 19:05:55|
文档星级:&#xe60b;&#xe612;&#xe612;&#xe612;&#xe612;
全文阅读已结束,如果下载本文需要使用
&#xe71b; 633 积分
&#xe602;下载此文档
该用户还上传了这些文档
基于TMS320C6678的SRIO接口设计
官方公共微信您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
SRIO网络的设计与应用.ppt68页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:150 &&
SRIO网络的设计与应用.ppt
你可能关注的文档:
··········
··········
* 7.3 C6678 DirectIO数据传输 Load/Store 寄存器2 7.3 C6678 DirectIO数据传输 C6678 DirectIO的特点 SrcID_MAP选用16个RIO_DEVICEID_REGn的内容作为SOURCE ID,针对多核应用; C6678的LSU一次最多可发送1MB,效率高(C6455为4KB) C6678具有32组shadow register,每个LSU可对应若干组shadow register,可同时启动多组传输设置; 具有具有LCB和LTID,可区别对同一LSU不同shadow register的操作及其返回结果; 当传输不成功的时候,具有RESTART和Flush的功能。
7.3 Doorbell中断的实现 初始化Doorbell中断 与一般的中断初始化基本相同 有8个INTDST,分别为0~7,它们可选择的中断事件为20,21和22,通过INTMUX选择具体的中断号 需要额外设置的寄存器: DOORBELL0_ICCR:Interrupt Condition Clear Register DOORBELL0_ICRR:Interrupt Condition Routing Registers INTDST0_RATE_CNTL:Interrupt Rate Control Register
7.3 Doorbell中断的实现 发送Doorbell中断 在LSU_reg5中设定Packettype 0xA0; 在LSU_reg5的Drbll Info中添加信息;
Doorbell中断服务子程序 与普通中断服务子程序相同 通过DOORBELL0_ICCR清除中断标志 通过设置INTDSTn_RATE_CNTL以便及时响应下一个中断 8 基于SRIO互联的系统实例 SAR-GMTI处理机 8 基于SRIO互联的系统实例 ISAR实时成像处理机 8 基于SRIO互联的系统实例 图像处理子系统―实物照片 8 基于SRIO互联的系统实例 图像处理子系统―原理框图 * * The RapidIO Gen 2 ecosystem has grown to encompass many DSP, FPGA, NPU, and processor vendors.
* * * * * * * * * * * * * * * * * The interrupt conditions are programmable to select the interrupt output that will be driven. Each condition is independently programmable to use any of the interrupt destinations supported by the device. For example, a quad core device may support four CPU servicing interrupt destinations, one per core
INTDST0 for Core0, INTDST1 for Core1, INTDST2 for Core2, and INTDST3
正在加载中,请稍后...7290人阅读
设计的板子到了SRIO调试阶段了,在板子上,一片V6和两片6678通过4XSRIO互联,中间没有Switch,总算搞定了相互之间的通信。
&&首先,感谢Ti论坛提供的SRIO程序范例,但是其硬件平台是EVM板,更多的只能用于loopback测试,但是可以在其基础上修改。
1.初始化DSP的SRIO,主要是对SerDes进行配置,然后是Lane和Speed的配置,最后需要等待FPGA的LinK建立,我们在建立时候碰到一点困难,每次建立并不都是4X,一直没有找到问题,我们使用了一个别的办法来保证link为4X。
2.数据发送,DSP上提供的数据发送方法主要有两种,DirectIO和Message,主要区别为DirectIO需要TX和RX双方知道地址映射关系,而Message是通过Message中mail信息得到数据需要保存的地址,我们使用的为DirectIO方法,6678上提供了8组LSU来进行DirectIO数据发送,每个LSU有6个寄存器,当5th寄存器写完后,数据会发送出去,第6个寄存器主要用于检测当前的LSU状态。LSU还有16(32)个影子寄存器
3.SWRITE/NWRITE/NREAD:对DSP来说,初始化完SRIO后,FPGA便可以通过SRIO来发送数据,但是要注意,Designer并不知道什么时候FPGA会发送数据,所以通常会先发送一个DoorBell信息来告知DSP,FPGA要发送数据了,DoorBell可以触发中断,对于NREAD来说,FPGA发送这个命令后,DSP会自动的将请求的数据发送出去,Designer也并不知道数据发送出去,这些都需要DoorBell来支持。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:355668次
积分:3885
积分:3885
排名:第7925名
原创:12篇
转载:350篇
评论:42条
(3)(8)(2)(1)(4)(3)(8)(2)(2)(20)(3)(1)(1)(5)(6)(44)(35)(20)(1)(5)(4)(9)(11)(1)(1)(4)(6)(11)(72)(43)(13)(13)

我要回帖

更多关于 初始化电脑出现问题 的文章

 

随机推荐