完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
本帖最后由 一只耳朵怪 于 2018-6-21 09:31 编辑
最近在做spi驱动开发,目前按照StarterWare中对spi模块配置之后,没有时钟输出。请问这可能是什么原因? Ps:我使用的是am3354,配置为Master,Single Channel,使用的是SPI1,使用普通的GPIO作为片选引脚; 还有个疑问就是SPI1模块使用channel0是可以的吧? 谢谢各位! |
|
相关推荐
14个回答
|
|
|
starterware中的SPI接口用的是spi0,你是参考spi0对spi1进行配置的么?
|
|
|
|
|
|
是的,参考SPI 0。 |
|
|
|
|
|
仿真查看相关时钟源的寄存器,可以检查 MCSPI_SYSCONFIG 的 位 CLOCKACTIVITY,还有跟SPI相关的时钟域是否都开启了
|
|
|
|
|
uuwufydsw 发表于 2018-6-21 02:09 恩 没有时钟 SPICLK 的这个问题解决了。是因为CS引脚,之前使用的是GPIO,不知道为什么会有问题。 现在换成了SPI1 的 CS0引脚。 但是现在的问题是可以读到数据,只是 SPI 读取到的数据错位了(每次数据中1的个数是相同的,并且和0的组合方式也是相同的),具体如下: '0b10110000000000010010000000000000' '0b01011000000000001001000000000000' '0b00000000000100100000000010110000' '0b00000000010010000000000000101100' 这是为什么? Ps: 时钟极性和相位和从设备设置的是相同的。 |
|
|
|
|
脑洞大赛9 发表于 2018-6-21 02:26 请问你的SPI 1接的是什么SPI设备? |
|
|
|
|
|
marvell 8686的 wifi 模块 从设备的时序设置:数据位-16,POL-High,PHA-Even 主设备和从设备的时序设置是相同的 |
|
|
|
|
|
你再仔细检查下SPI驱动配置这部分吧,spi0 是按照SPI FLASH配置的时序,估计还是工作模式配置的有点问题。 |
|
|
|
|
|
谢谢!确实是配置的原因。 我把时钟线配置成PullUp上拉模式,而从设备这边是要求时钟线在常态保持低电平。从而引起了数据的错位。 |
|
|
|
|
|
|
|
|
|
|
|
参考】 http://processors.wiki.ti.com/index.php/AM335x_PSP_User%27s_Guide |
|
|
|
|
|
你好,我的现在默认是这个脚:MCASP0_ACLKX 怎么配置成SPI1_SCLK这个功能呢? 是在mux33xx.c里面么? |
|
|
|
|
|
在这个文件Board-am335xevm.c ,里面有很多引脚的定义,比如uart * pinmux for profibus */ static struct pinmux_config profibus_pin_mux[] = [ ["uart1_rxd.pr1_uart0_rxd_mux1", OMAP_MUX_MODE5 | AM33XX_PIN_INPUT], ["uart1_txd.pr1_uart0_txd_mux1", OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT], ["mcasp0_fsr.pr1_pru0_pru_r30_5", OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT], [NULL, 0], ]; |
|
|
|
|
uuwufydsw 发表于 2018-6-21 04:14 am3352 的结出来的两个spi,spi0 spi1,做成驱动设备后,用收发短接,自测都成功了。但是还是有疑惑,因为我看到驱动中有个mcspi,不知道这个驱动和我的这两个spi有什么差别呢? 是在源文件 spi-omap2-mcspi.c中 还有我用的是spi.c和spidev.c 不知道这个mcspi跟我用的spi有什么差别? 因为我在编内核的时候 --- SPI support │ │ │ │ │ │ *** SPI Master Controller Drivers *** │ │ │ │ < > Altera SPI Controller │ │ │ │ < > Utilities for Bitbanging SPI masters │ │ │ │ < > GPIO-based bitbanging SPI Master │ │ │ │ < > OpenCores tiny SPI │ │ │ │ <*> McSPI driver for OMAP │ │ │ │ < > Xilinx SPI controller common module │ │ │ │ < > DesignWare SPI controller core support │ │ │ │ *** SPI Protocol Masters *** │ │ │ │ <*> User mode SPI device driver support │ │ │ │ < > Infineon TLE62X0 (for power switching) 看到有个 McSPI driver for OMAP |
|
|
|
|
testd011 发表于 2018-6-21 04:29 spi 我们TI内部把它叫做Mcspi,没什么区别的,要在我们的芯片使能spi,就需要 http://processors.wiki.ti.com/index.php/AM335x_McSPI_Driver%27s_Guide |
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:58 , Processed in 1.117440 second(s), Total 99, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1840