关于ADS1298R与ARM上位机连接的问题
时间:10-02
整理:3721RD
点击:
各位TI的工程师和同行朋友,大家好。
我上个月刚转岗负责公司移动式心电图机产品的研发工作,使用的方案是:ADS1298R采集芯片加AM3358 CPU,由于我之前从来没接触过硬件开发的工作,目前在ads1298r 和 上位机的spi连接方面遇到一点问题,描述如下,请指导:
- 前端采集:TI官方的ADS1298 PDK with MMB0 开发套件
- 上位机:BeagleBone Black开发板(AM3358)
- 操作系统:使用 Ti 提供的 SDK 编译来的 linux
- SPI总线已经使用 DeviceTree 方式开启,系统开机后在 /dev 目录下已经自动注册了 spidev1.0 这个设备。短接beaglebon black开发板的spi 的DIN和DOUT接口,使用 linux kernel 自带的spidev_test 程序自发自收测试通过
- 已经使用PC端的评估软件配合MMB0板子和心电模拟器输出了正常的心电波形。
问题描述:
- ADS1298PDK文档中描述有PWDN针脚设置:JP5跳线帽默认未安装,此时,PWDN针脚受控于J5针脚,我看到J5针脚组并未焊接引脚。看来调试用的MMB0板子上的DSP也没有与之连接,是不是我在开发测试时也不用将PWDN与ARM端连接?同时我看到 ADS1298文档(Rev.K)中第85页的芯片启动流程中有 “set PWDN=1”的提示,于是我就懵了。PWDN到底该如何处置?
- 关于 DRDY 的连接:我从文档中知道DRDY是一个输出信号,当DRDY电平变低,新的转换数据准备就绪。我理解DRDY线应该接到ARM板的GPIO口上,可以用轮循的方式监听DRDY,然后执行后续的操作。这样理解对不对?如果不对,应该怎样处理DRDY线的连接?
- ADS1298文档(Rev.K)第9.6.1.4小节:“在连续读取数据模式下,DOUT输出线同样表示新数据什么时候可用。使用此功能可将设备和系统控制器之间的连接数降到最少”,也就是说可以不使用DRDY?
- 关于 CLKSEL:我的理解:ADS1298R芯片有一个片内的晶振,但同时也可以选择使用外部的晶振。在ADS1298文档(Rev.K)中第85页的芯片启动流程中,芯片上电后第一步要操作的就是配置CLKSEL。如果要使用外部晶振的话,需要 “set CLKSEL=0” , 在 MMB0板子上的 JP23跳线 默认状态就是 “set CLKSEL=0” ,那我在开发阶段是不是可以也不用管这个设置?
- 如果我只使用MMB0板子给上层的ADS1298R开发板供电而不插USB线到PC,然后从上层的ADS1298R ECGFE板子的 J3 引脚组与ARM板的SPI相应接口连接,能否正常工作? MMB0只上电不插USB线的情况下会不会影响芯片的工作或者影响ARM端和芯片的通信?
问题综述:我是不是可以只将ADS1298R评估板的四根SPI信号线、1根DRDY信号线总共5根线与ARM上位机连接就可以实现对芯片进行配置、控制、采集数据呢?(使用START、RESET命令代替对 START、RESET针脚的操作)
ADS1298 的 SPI 接口提供了 WAKEUP,STANDBY, RESET, START , STOP 的命令, 那么这些功能都可以在命令中实现, 你可以先验证一下