TMS320C6678开发笔记---SRIO例程1

TMS320C6678开发笔记---SRIO例程1 15节  SRIO例程
参考⽂档:(系列博客,对官⽅SRIO⼿册的中⽂解释)
创龙提供的SRIO中⽂参考资料《C66x串⾏快速输⼊输出(SRIO)⽤户指南.pdf》
TI官⽅资料《Serial Rapid IO (SRIO) User Guide.pdf》
节  K1_STK_v1.1回环测试例程
K1_STK_v1.1 中参考⽂档:(建议看⼀下)
《KeyStone_1_SRIO_STK_User's_Guide.doc》---理解SRIO回环测试原理
仿真不能定位到main函数
下图的platform和XDCtools有直接关系,版本要对应
节  回环测试⽅法
Digital loopback Test(外部不需要接线)
Serdes loopback test(外部不需要接线)
External loopback test(外部需要接线)
节  创龙例程SYSBIOS_SRIO_Device01分析
硬件信息介绍
板卡上有4颗DSP6678,每颗6678的SRIO连接到桥⽚1848。
⼯程介绍
SYSBIOS_SRIO_Device01与SYSBIOS_SRIO_Device02配合使⽤完成SRIO数据传输,Device01主动向Device02 Nwrite写数据,Device02通过写数据的最后⼀个字节判断是否Nwrite完成,然后Device02将收到的数据乘10后,将数据通过Nwrite写回到Device01,Device01也通过写数据的最后⼀个字节判断是否Nwrite完成,循环上述过程。
半轴套管拉压机
⼯程编译
/*
* CCSv7 IDE
* 7.4
*
* 依赖组件版本为
* - XDCTools 3.50.5.12-core *
* - NDK 2.25.1.11 *
* - SYS/BIOS 6.52.0.12 *
* - UIA 2.20.0.02 *
* - Tronlong.DSP.C6000.C66x
*/
SRIO初始化代码如下:
void SRIOInit()
{
// 使能外设
PSCModuleControl(SOC_PSC_0_REGS, HW_PSC_SRIO, PSC_MDCTL_NEXT_ENABLE, PSC_POWERDOMAIN_SRIO, PSC_PDCTL_NEXT_ON);    // 禁⽤ SRIO 及 SRIO Block
SRIOGlobalDisable();
int i;
for(i = 0; i <= 9; i++)
{
SRIOBlockDisable(i);
}
// 设置 Boot Complete 为 0 以便可以修改 SRIO 所有寄存器包括只读(Read Only)寄存器
SRIOBootCompleteSet(SRIO_Disable);
// 使能 SRIO 及 SRIO Block
SRIOGlobalEnable();
led大功率天花灯for(i = 0; i <= 9; i++)
{
SRIOBlockEnable(i);
}
// 配置 SRIO Lane ⼯作模式
SRIOModeSet(0, SRIO_Normal);
SRIOModeSet(1, SRIO_Normal);
座便器结构
SRIOModeSet(2, SRIO_Normal);
SRIOModeSet(2, SRIO_Normal);
SRIOModeSet(3, SRIO_Normal);
// 使能⾃动优先级提升
SRIOAutomaticPriorityPromotionEnable();
// 设置 SRIO VBUS 预分频为 44.7 到 89.5
SRIOPrescalarSelectSet(0);
// 解锁关键寄存器
KickUnlock();
// 配置 SRIO SerDes 时钟(156.25Mhz x 16 = 2.5GHz)
SRIOSerDesPLLSet(0x81); // 5G
/电磁铁开关
/ 配置 SRIO SerDes 发送 / 接收
// 数据率 5Gbps(8B/10B)
SRIOSerDesTxSet(0, 0x001C8F95);    //0x00180795  0x001C8F95
SRIOSerDesTxSet(1, 0x001C8F95);
SRIOSerDesTxSet(2, 0x001C8F95);
SRIOSerDesTxSet(3, 0x001C8F95);
SRIOSerDesRxSet(0, 0x00468495);    //0x00440495  0x00468495
SRIOSerDesRxSet(1, 0x00468495);
SRIOSerDesRxSet(2, 0x00468495);
SRIOSerDesRxSet(3, 0x00468495);
// 等待 SRIO SerDes 锁定
while(!(SRIOSerDesPLLStatus() & 0x1));
// 锁定关键寄存器
KickLock();
// 设置设备信息
SRIODeviceInfoSet(DEVICE_ID1_8BIT, 0x50, DEVICE_REVISION);
// 设置组织信息
SRIOAssemblyInfoSet(DEVICE_ASSEMBLY_ID, DEVICE_ASSEMBLY_VENDOR_ID, DEVICE_ASSEMBLY_REVISION, DEVICE_ASSEMBLY_INFO);    // PE 特性配置
光伏板安装SRIOProcessingElementFeaturesSet(0x20000199);
// 配置源及⽬标操作
SRIODestinationOperationsSet(0x0004FDF4);
SRIODestinationOperationsSet(0x0000FC04);
// 设置 SRIO 设备 ID
SRIODeviceIDSet(DEVICE_ID1_8BIT, DEVICE_ID1_16BIT);
// 配置 TLM 基本路由信息
SRIOTLMPortBaseRoutingSet(SRIO_Port0, 1, SRIO_Enable, SRIO_Enable, SRIO_Disable);
SRIOTLMPortBaseRoutingPatternMatchSet(SRIO_Port0, 1, DEVICE_ID2_8BIT, 0xFF);
// 配置端⼝ PLM
// 配置 PLM 端⼝ Silence Timer
SRIOPLMPortSilenceTimerSet(SRIO_Port0, 0x2);
// 使能端⼝
SRIOInputPortEnable(SRIO_Port0);
SRIOOutputPortEnable(SRIO_Port0);
/
/ 配置 PLM 端⼝ Discovery Timer
SRIOPLMPortDiscoveryTimerSet(SRIO_Port0, 0x2);
// 配置端⼝ Write Reception Capture
SRIOPortWriteRxCapture(SRIO_Port0, 0x0);
// 配置端⼝连接超时
SRIOPortLinkTimeoutSet(0x000FFF);
// 端⼝ Master 使能
SRIOPortGeneralSet(SRIO_Enable, SRIO_Enable, SRIO_Disable);
// 清除 Sticky Register 位
SRIORegisterResetControlClear();
// 设置端⼝写 ID
SRIOPortWriteTargetDeviceID(0, DEVICE_ID2_8BIT, SRIO_ID_8Bit);
// 设置数据流最⼤传输单元(MTU)
SRIODataDtreamingLogicalLayerControl(64);
// 配置端⼝路由模式
SRIOPLMPathModeControl(SRIO_Port0, SRIO_Mode4_1_4x);
// 设置 LLM Port IP 预分频
SRIOServerClockPortIPPrescalar(0x1F);
// 使能外设
SRIOPeripheralEnable();
// 配置完成
SRIOBootCompleteSet(SRIO_Enable);
SRIOBootCompleteSet(SRIO_Enable);
// 检查端⼝是否就绪
while(SRIOPortOKCheck(SRIO_Port0) != TRUE);
}
main函数中接收数据部分代码,以Device02介绍
程序运⾏⽅法:
结晶器铜管1. 将SYSBIOS_SRIO_Device01加载到dsp0的0核,SYSBIOS_SRIO_Device02加载到dsp1 的0核
2. 先运⾏dsp1的SYSBIOS_SRIO_Device02,在运⾏dsp0的SYSBIOS_SRIO_Device01
console打印信息如下:
device01 与device02的0x90000000内存值均为如下图:

本文发布于:2024-09-21 13:52:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/196333.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:完成   信息   是否   寄存器   设置   配置   版本
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议