This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SN65HVS885:奇怪的输入数据

Guru**** 2460850 points
Other Parts Discussed in Thread: SN65HVS885

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/630716/sn65hvs885-weird-input-data

部件号:SN65HVS885

我正在尝试与覆盆子PI 3沟通
输入由12伏驱动,LED连接到LED驱动器。

SPI连接上的数据很奇怪。
例如,如果LED上有120作为二进制,则SPI输出上有126。
如果我添加2126,则保持不变。
取出2个,它将火箭发射到80。
我无法预测。
我正在运行SPI
mode0 (但已尝试所有4个)
8位数据高度
在CE输入之前,先将LD输入向下和向上拉。
我不知道我做错了什么。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Tahir,

    我们没有Raspberry Pi 3示意图。 是否可以将我们作为参考? 然后我们可以更好地理解您关于SN65HVS885的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。


    SPI0 miso连接到SN65HVS885的引脚23
    SPI0 MOSI连接到引脚27  
    SPI0 SCLK连接到引脚25
    SPI0 CS0连接到引脚24
    引脚29 GPIO 5也连接到引脚26
    我真的没有一个示意图,但我希望这已经足够了。

    我需要为正在构建的编码器读卡器提供此接口,我需要使用SPI或i2c进行输入读数。
    (我知道编码器只使用2个输入,但我也使用另一个芯片进行高速读取,它提供8位输出)

    从我的试验中获得  
    -如果我将1个输入调高,则读数全部正确。  按第8个按钮,第8位将变为高,依此类推。
    -如果我同时按一个较小的位和一个较高的位,则较高的位位置是正确的,但较小的位在较大的位位置亮起。
    例如
    只需按第7个按钮  ,输出为第7位
    然后,同时按第2个按钮和第7  ,输出为  第7位和第3位。

    另外,如果同时按下前4个按钮  ,则前4位将会变高
    但如果我只按下第3个按钮,则只有第1个位的输出会变低。 2 3 4仍然较高。
    LED驱动器正确时,从SPI读取的输出I错误。

    我在所有4种SPI模式中都尝试过此操作。
    还尝试将sn65hvs885上的SPI数据输入提高到数据表中所说的高,但我获得的数据要忙得多。

    而且,很抱歉,我不能完全理解您在示意图中的意思,我希望这是好的。
    另一方面,我与这块芯片并不是特别不可分割的,所以如果有人知道另一个芯片,我可以用这种方式,那就很好了。

    同时感谢您的回答。 希望有人会说你把它张贴在错误的地方或其他地方:)

    编辑:我注意到,很难想象问题的发生,所以我制作了一个小视频并张贴在youtube上,
    www.youtube.com/watch

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Tahir,

    感谢您为我录制视频,以便快速捕捉您需要的内容。 此外,您的系统级方框图也足够了。 我请求使用原理图,因为我假设您使用的是原理图,而不是系统级方框图。

    我怀疑这很可能是按下开关时出现的恢复问题。 下面是从逻辑低到逻辑高的任何电压波形示例。 您可以看到切换窗口。  

    如果DB0和DB1现在接地,请同时浮动。 DB0和DB1浮动意味着将应用最大内部反跳滤波器。   

    我想提出另一个问题。 您通过SPI读取SN65HVS885的频率如何? 当您按下开关时,SN65HVS885是否可能在恢复期间锁定错误的数据,同时SPI读取 错误的数字? 换言之,我觉得在您的应用程序中,您可能需要不断地通过SPI读取并更新LCD上的数据。   

    出于我的好奇,您是否对其他设备持开放态度? TI具有 SN65HVS885的后续器件。 我认为它可以为您的设计节省很多,并且可以处理您的CPU监控活动。 我认为唯一的挑战是设备本身不是很容易配置,但它具有许多功能。 优点是我们有GUI和EVM。 您可以在GUI上配置所有寄存器并操作设备。 以下是链接

     

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    再次感谢您的回答,
    DB0浮动,DB1连接至GND。

    您还可以在视频中看到,右侧的红色LED指示灯是LD输入,每次变为LOW (低)时,SPI都会读取输入值。
    大约每秒10次。 我尝试放慢速度/加快速度,但没有结果。

    我对其他设备持开放态度,但这种设备似乎非常全面。

    不是在我制造的这台机器上,但我一定会尝试这台机器。 如果我能成功完成这一步,我将制作一个3维版本,我可以在那里使用24个输入。

    虽然我想我会把这个芯片称为“退出”,然后用图片来制作它。

    我仍然不知道是编程/设计问题还是芯片本身问题。

    感谢大家的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Tahir,

    从目前为止提供的所有信息来看,我无法判断哪个部件不正确。 在我们放弃这项调查之前,我最后要做的实验是在出现错误读数时捕获SPI上的波形。 因此,您可以确定是机械开关和SN65HVS885电路问题还是软件控制问题。