完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-21 10:20 编辑
求助,用am3352芯片,内核使用3.2.0,使用内核自带的spidev驱动,还有应用程序spidev_test.c,实现spi通信,读取的芯片是陀螺仪芯片crm100,发送命令是6个字节:28 00 00 00 00 D7,但返回来的数据是不正常的。后来用示波器看了mosi引脚输出(也就是主CPU发送给从机芯片的信号),看到发送过去的波形,每隔一个字节(也就是8位),就会有一个间断拉高,不知道是不是每个字节发送会有间隔,使用ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);函数发送,现在数据返回不正常,不知道是不是因为发送的每个字节数据有间隔,造成从芯片识别数据错误,是spidev驱动有问题吗?还是硬件引起的毛刺? 请大神们帮帮忙啊 急啊!! |
|
相关推荐
6个回答
|
|
SPI test这个应用程序只是一个最简单的测试程序,实际应用也要看你的SPI设备所要求的工作时序是什么,看看要不要对应修改SPI的驱动层。
|
|
|
|
344868615qq 发表于 2018-6-21 04:58 您好: 看到您是TI的员工,我满心喜悦,您一定有着大神的实力!!我这边现在有几个疑问? 1、335x配置里面的spi1_d0和spi1_d1哪一个是spi的输出和输入,为什么名称是d0和d1?两个都可以设置为输入输出吗?为什么默认的spi配置都将时钟spi1_sclk、spi输入输出、spi片选信号spi1_cs0都设置为输入AM33XX_INPUT_EN??不是应该输入就配置为输入,输出就配置为输出吗?? 2、AM33XX_PULL_ENBL、AM33XX_PIN_OUTPUT、AM33XX_PULL_UP、AM33XX_PIN_INPUT_PULLDOWN、AM33XX_PIN_OUTPUT_PULLUP这些引脚的功能可以在哪里查看到他们的对应功能,都有些什么不同吗?? 3、现在我的问题是选择用spi的片选引脚spi1_cs0功能,但是好像无法正常驱动芯片,而我把这个引脚配置成普通IO的方式,置高低电平去控制从机芯片就正常了,是spi的片选引脚spi1_cs0驱动电流不够?还是spi1_cs0的配置不对啊?我的配置是这样的: static struct pinmux_config spi1_pin_mux[] = [ ["mcasp0_aclkx.spi1_sclk", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN], //spi's direction seems reverse from the reference. our test confirm that. ["mcasp0_fsx.spi1_d0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN], ["mcasp0_axr0.spi1_d1", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN], ["mcasp0_ahclkr.spi1_cs0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN], [NULL, 0], ]; spi1_cs0配置为AM33XX_INPUT_EN这样对吗?我试过配置为AM33XX_PIN_OUTPUT,但也是不行。到底怎么样的配置才正确啊?? 难道335x的spi引脚有缺陷?? 问题有点多,恳求细心查看,能够一一回复我,让我能从这片迷雾中释然清醒……小弟不胜感激啊!! |
|
|
|
60user138 发表于 2018-6-21 05:11 引脚功能请参考AM335x TRM的Figure 5-94。 现在SDK里的SPI配置都是按照SPI FLASH去配置的,这块验证功能是没有问题的。也有客户用SPI连接过FPGA,需要在底层配置改些东西。 |
|
|
|
344868615qq 发表于 2018-6-21 05:21 你好: 我现在正在使用am3352中spi通讯,主要是am3352和fpga通过spi进行通讯,am3352作为从设备,fpga作为主设备, 请问一下内核自带打驱动能不能实现这种通信方式? spi slave怎么配置? static struct pinmux_config spi1_pin_mux[] = [ ["mcasp0_aclkx.spi1_sclk", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN], ["mcasp0_fsx.spi1_d0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN], ["mcasp0_axr0.spi1_d1", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN], ["mcasp0_ahclkr.spi1_cs0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN ], [NULL, 0], ]; 以上是我配置的管教,需不需要做写其他设置? 恳求细心查看,回复我,…小弟不胜感激啊!! |
|
|
|
344868615qq 发表于 2018-6-21 05:21 你好: 我现在正在使用am3352中spi通讯,主要是am3352和fpga通过spi进行通讯,am3352作为从设备,fpga作为主设备, 请问一下内核自带打驱动能不能实现这种通信方式? spi slave怎么配置? static struct pinmux_config spi1_pin_mux[] = [ ["mcasp0_aclkx.spi1_sclk", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN], ["mcasp0_fsx.spi1_d0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN], ["mcasp0_axr0.spi1_d1", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN], ["mcasp0_ahclkr.spi1_cs0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN ], [NULL, 0], ]; 以上是我配置的管教,需不需要做写其他设置? 恳求细心查看,回复我,…小弟不胜感激啊!! |
|
|
|
di579595 发表于 2018-6-21 05:48 你的SPI slave 模式配置好了吗? TI都不带理会这个问题的 |
|
|
|
只有小组成员才能发言,加入小组>>
2916个成员聚集在这个小组
加入小组163 浏览 0 评论
380 浏览 1 评论
574 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
823 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
685 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
120浏览 29评论
608浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
286浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
237浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
92浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-8 04:38 , Processed in 0.973727 second(s), Total 87, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号