[学习笔记] 【杰发科技AC7802x测评】7 简解SPI配置与时序输出效果

[复制链接]
2135|3
 楼主| 6552918 发表于 2023-7-5 23:22 | 显示全部楼层 |阅读模式
#申请原创# #技术资源#[url=home.php?mod=space&uid=760190]@21小跑堂 [/url]
今天想用AC7802X的SPI测试个模块的,仔细研究了一下AC7802X的SPI,发现SPI还是挺有自己特色的,现将我的一些测试结果和大家分享一下。
本测试仅对我认为与其他家MCU的SPI有区别的地方进行了展示,共性就不再介绍了
我们先看看初始化部分内容
f49dbd9983bccd0ba0429f4c9dada6f9
初始化中的几个时间量的对应关系
628a129ec5848c4d6dbf25425bd6e6ef
测试操作如下
e99b31877087d904c35574579df53bd7
时钟频率确实能到2M(/*! 初始化SPI参数,波特率 = 2Mbps = (F_BCLK / (SCK_LOW+1 + SCK_HIGH+1)).*/)
d33447428705c7a3b2410704b090a786
我分别将片选建立时间和片选保持时间改小,看一下效果
350b6709a600547475309b9cab50b7b3
a98e90a1dee96e0d1e89575a996cec9f
我将时钟改为最大8M参数,看一下
1347b6cdc9ba314567b354aab641fbaa
时钟也确实能到8M
85969e6877d4355bcd30c2912bd3ecd8
为了测试两条数据间最短时间间隔,我将代码修改如下
d5236f5b7df85c6036120e493a5269bb
csIdle为4时
4e75d3779960a1085aa0b47fc193704d
csIdle时间为7.16us
e7e14b67a2164fe76f7927e6360a8b73
csIdle为0时
5f1469ba8fe84b566eb390fe68fcc0f0
csIdle时间依然为7.16us,为什么没变化呢?有一种可能是代码执行的时间要远大与csIdle时间。
e7e14b67a2164fe76f7927e6360a8b73
接下来我们看看CS模式的差异
eef8cc155f007e2d42fa30d7535099ab
配置如下
dc615848e281d286d8f24f66d7d549ac
测试程序如下
49f8f72575dcc9e87fb8c9d186a96b93
运行效果
f1c062a88f0099b961549c45e7c4ff6d
再来看看另外的模式
5985bd74a55d8b0c657f9d7d564fe452
f1a9680e470d6cd43dc81cebbd7f8ca9
可以看到在一次传输中的每个字节完成后片选信号都会自动回复到高电平,再下一个字节传输时再输出为低电平,实现了真正的硬件片选控制。
cc898d0454e9dcc51966b587694a91f9
至此,我认为比较有特点的地方,时序就暗示完了,**对大家有所帮助!!

chenjun89 发表于 2023-7-10 09:02 来自手机 | 显示全部楼层
详细总结的帖子,学习了。
拉风的小牛皮 发表于 2023-7-18 10:19 | 显示全部楼层
3073664b5f68218d58.png
CSIDLE 时间猜想是对的,连续模式下如上图。
 楼主| 6552918 发表于 2023-7-18 11:24 | 显示全部楼层
拉风的小牛皮 发表于 2023-7-18 10:19
CSIDLE 时间猜想是对的,连续模式下如上图。

从测试效果来看,库函数还有较大的优化空间,现在是挺方便,但执行效率不高。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:北京汇冠触摸技术有限公司/电子工程师
简介:电子工程师,嵌入式应用爱好者。

102

主题

1290

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部