查看: 5839|回复: 6

[求助] LPC54608 SPI接口如何操作底层CS SCK驱动

[复制链接]

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
发表于 2017-12-2 17:52:06 | 显示全部楼层 |阅读模式
目前用LPC54608的SPI接口控制外设数据读取,但是外设需要 deassert /CS and idle SCK 至少200ms,确保外设接口有一定延时。
但是我在主函数中是调用的是 SPI_MasterTransferNonBlocking(SPI_MASTER, &handle, &xfer)这个函数,SDK参考lpcxpresso54608\driver_examples\spi\interrupt_b2b_transfer\master这个例子。但是例子中底层cs,SCK这些操作已经封装好,这个我该怎么去修改?

我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
 楼主| 发表于 2017-12-4 16:35:00 | 显示全部楼层
自己顶一个
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25481
最后登录
2025-9-9
发表于 2017-12-5 10:21:41 | 显示全部楼层
楼主你好!
这个SPI波形是你提到的SDK的实际波形:
50.jpg
你看下,你具体需要控制哪部分时间?CS是一直拉低的。
回复 支持 反对

使用道具 举报

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
 楼主| 发表于 2017-12-5 11:45:03 | 显示全部楼层
小恩GG 发表于 2017-12-5 10:21
楼主你好!
这个SPI波形是你提到的SDK的实际波形:

如图,在读数据之前,CS信号拉高和CLK空闲的时间至少要200ms。另外,我在运行上述的demo时,发现SPI波特率设置超过6M后,就会出现通讯错误。我将MISO和MOSI短接,进行自发自收。
  config->baudRate_Bps = 6000000U时,结果如下:
config->baudRate_Bps = 7000000U时,结果如下:

LPC54608 的SPI接口bps可支持最大多MHz?


spi.png

6M

6M

7M

7M
回复 支持 反对

使用道具 举报

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
 楼主| 发表于 2017-12-5 15:15:19 | 显示全部楼层
你好,我如果想自己控制CS信号,读之前拉低,读完后拉高。那么在引脚配置pin-mux那块,是把它配置成GPIO呢还是SPI-CS?
另外SPI  master 初始化那块还需要配置
SPIMasterConfig.sselNum = (spi_ssel_t)SPI_SSEL0吗?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    连续签到: 1 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5649
    最后登录
    2021-12-22
    发表于 2017-12-6 09:12:58 | 显示全部楼层
    自己控制CS信号,读之前拉低,读完后拉高。那么在引脚配置pin-mux,因为是自己操作CS.   应该 配置成GPIO

    我印象中 好像 cs低后或高前,或者说frame前或后,可以设置某种延迟,自己仔细看下说明手册查查吧。
    如果可以,配置下,用示波器看看效果....
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    61

    主题

    233

    帖子

    7

    高级会员

    Rank: 4

    积分
    750
    最后登录
    2021-1-25
     楼主| 发表于 2017-12-6 09:18:47 | 显示全部楼层
    okwh 发表于 2017-12-6 09:12
    自己控制CS信号,读之前拉低,读完后拉高。那么在引脚配置pin-mux,因为是自己操作CS.   应该 配置成GPIO

    ...

    好的,谢谢!
    那SPI  master 初始化这块如何配置呢?
    SPIMasterConfig.sselNum = (spi_ssel_t)SPI_SSEL0
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-10 01:07 , Processed in 0.103658 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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