迪文科技论坛

 找回密码
 立即注册
搜索
查看: 209|回复: 1

【分享】T5L测试:DGUS变量的写周期

[复制链接]

12

主题

20

回帖

181

积分

注册会员

Rank: 2

积分
181
发表于 2022-5-18 12:24:21 | 显示全部楼层 |阅读模式
T5L属于双核架构,GUI核不开放这个就不说了。51核与GUI核之间通过DGUS变量传递数据。此外,该变量区还有128KB可以由51核独享。
CAN通讯缓冲区用的也是这块RAM。
做CAN通讯时,实测了一下该RAM的访问速度。仅测试了读速度,为4字节连续读。
void read_dgus4byte(uint32_t addr,uint8_t* buf,uint16_t len)
{   
        ADR_H = addr>>16;
        ADR_M = addr>>8;
        ADR_L = addr;
        ADR_INC = 0x01;
        RAMMODE = 0xAF;                                                                                // 读操作
        while(!APP_ACK);        
        
        while(len>0)
        {   
                APP_EN=1; while(APP_EN==1);               
                *buf++ = DATA3;
                *buf++ = DATA2;
                *buf++ = DATA1;
                *buf++ = DATA0;
                len--;        
        }
        RAMMODE = 0x00;
}

时间计数器采用了Timer1,定时周期1us。
void sys_timer1_isr()        interrupt 3
{
        // 重新装载周期值
        TH1 = Time1_1us>>8;        TL1 = Time1_1us;
        sys_tickus ++;                                                                                // 系统us滴答计数器
}

CAN通讯时,对读DGUS变量做测试。
        sys_tickus=0; TR1 = 1;        
        // .读出0xFF:0068 -0xFF:006B的CAN相关数据
       read_dgus4byte(0xFF0068, d, 40);        
       TR1 = 0;

测试结果如下,变量个数单位=4字节:
4    25us
8    40us
40  160us
小结:
数据吞吐量较大时,DGUS变量RAM读速率基本为1us/字节。该指标可作为GUIS变量访问时间开销的一个简单参考。

回复

使用道具 举报

0

主题

751

回帖

8370

积分

论坛元老

Rank: 8Rank: 8

积分
8370
发表于 2022-5-18 15:02:53 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-4-6 12:19 , Processed in 0.061458 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表