你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

用STM32的SPI对外部SSI信号进行采集

[复制链接]
www1111111 提问时间:2018-3-13 21:10 /
旋转磁式编码器AS5154B(12位)的绝对接口使用SSI同步串行接口传输数据  stm32里面怎么用SPI采集编码器绝对接口返回的数据呢  但由于SPI仅有8位和16位数据模式,怎样才能正确采集呢  SPI需要怎样配置?如果SPI采集不了,仅用IO口是否可以模拟时钟信号,软件上写SSI协议,这样的话采集效率是不是会降低?新手求指导。。



SSI时序

SSI时序

SPI时序

SPI时序
收藏 评论6 发布时间:2018-3-13 21:10

举报

6个回答
www1111111 回答时间:2018-3-15 19:29:49
toofree 发表于 2018-3-14 01:31
你单路器件应该用这个波形。

嗯嗯 以后注意严谨
www1111111 回答时间:2018-3-15 19:26:06
toofree 发表于 2018-3-14 01:08
没用过也没查到AS5154B的资料。(刚查到,在下一楼层附件)
之前我写过SSI FPGA程序,但是可能每家的SSI都 ...

嗯CSn是片选信号  谢谢提醒  我加油弄  搞好分享一波
七哥 回答时间:2018-3-14 01:31:05

你单路器件应该用这个波形。
傲游截图20180314012848.jpg

你给的时序图是多片级联的时序。
傲游截图20180314012922.jpg

AS5145_Datasheet_EN_v7.pdf (903.42 KB, 下载次数: 41)

评分

参与人数 1蝴蝶豆 +5 收起 理由
zero99 + 5

查看全部评分

七哥 回答时间:2018-3-14 01:08:14
本帖最后由 toofree 于 2018-3-14 01:32 编辑

没用过也没查到AS5154B的资料。(刚查到,在下一楼层附件)
之前我写过SSI FPGA程序,但是可能每家的SSI都不太一样吧。我之前用的是时钟和数据都是差分线,没有片选信号。结束信号是靠时钟消失固定时间来区分的。

对应你的这个时序的话,你的CSn是独立的片选信号吗,如果是的话,就可以用SPI搞。
你的完整的一帧是19位(0到18),你可以采24位(3个字节),然后把最后5位舍弃。
片选有效到时钟输出的延时TCLKFE,自己用软件延时搞定。3字节传输完成后把CSn撤掉。

原理明白了以后,用IO模拟也可以搞。

旋转位置编码器一般是,只要你随时读数,都是最新的位置。

MrJiu 回答时间:2018-3-13 23:31:56
SSI协议不太了解,百度了一下,好像也是串口通信的。。。不过,我觉得是否合适,应该先去了解SSI协议怎么实现的,有哪些需要注意的地方。。。楼上的说用PWM实现,我觉得不太可靠,因为PWM的精度控制太空难了。。。特别是发送特定个数的时钟波形,难度不是一般的大!!!

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

feixiang20 回答时间:2018-3-13 21:44:48
将pwm的输出作为SSI的clk信号,同时将clk信号与arm的某一个pin短路,那么通过软件来寻找下降沿,当下降沿的时候,将数据采集进来。看到有人这么理解不知道对不对。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版