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.

[参考译文] Linux/CC2530:CC2530:使用 SPI 与主机处理器进行串行连接

Guru**** 2611005 points
Other Parts Discussed in Thread: CC2530, Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/593620/linux-cc2530-cc2530-serial-interfacing-with-host-processor-using-spi

器件型号:CC2530
Thread 中讨论的其他器件: Z-stack

工具/软件:Linux

您好!

  我正在研发 Z-stack Linux 网关应用和 CC2530F256、在基于 IMX6的定制板上使用 Z-stack Home 自动化配置文件。 由于所有 UART 都在我们的电路板上占用空间、我们需要使用 SPI 接口将 CC2530与主机处理器相连。

我在 IAR 的编译器选项中使用宏 CC2530_MK 和 HAL_SPI=true 来编译 ZNP 映像。

在 Z-stack Linux 网关应用端、我在 NPI_Gateway.cfg 中进行了以下更改:

[端口]

端口=2533

[器件]

#deviceKey=0;UART

deviceKey=1;SPI

#DEVPATH="/dev/ttymxc2;UART/CDC

DEVPATH="/dev/spidev1.0;UART

[GPIO_SRDY.GPIO]

value="/sys/class/gpio/gpio124/value

Direction="/sys/class/gpio/gpio124/direction

ACTIVE_HIGH_LOW_=1;(低电平有效=0、高电平有效=1)

[GPIO_MRDY.GPIO]

value="/sys/class/gpio/gpio134/value

Direction="/sys/class/gpio/gpio134/direction

ACTIVE_HIGH_LOW_=1;(低电平有效=0、高电平有效=1)

[uart]

速度=115200;速度

FlowControl=0;1=启用0=禁用

[SPI]

速度=500000;设置默认速度500kHz

[日志]

log="./NpirlnxLog.txt";用于记录所有事件/错误的文件

在 IMX6器件树中、两个引脚配置为 SRDY 和 MRDY 的 GPIO。

为了与 SPI 连接、我使用了具有器件条目的通用 SPI 驱动器/dev/spidev1.0. SPI 接口使用示波器进行验证、工作正常。

用于 SPI 模式的 CC2530的当前引脚配置为:

  P0_4 -> SSN

  P0_5 -> SCK

  P0_3 -> MOSI

  P0_2 -> MISO

  P1_4 -> MRDY

  P1_5 -> SRDY

在运行脚本时进行上述更改后,会发生 zigbeeHAgw 错误并重新启动。

以下是错误的日志:

zigbeeHAgw bbb

在 ARM 上运行 zigbeegw.scr

跳过 ZigBee 复位

启动 ZigBee 网关子系统

deviceKey = 1(1)  

DEVPATH ='/dev/spidev1.0 '

LogPath ='./NpiLnxLog.txt'

[CONFIG]错误,强制 GPIO GPIO_SRDY.GPIO 缺少键'EDGE'

(笑声) 释放内存(RET -1)

无法打开设备... 正在退出

NPI 于 2017年5月4日14:03:51 UTC 开始(pid 801)

连接:连接被拒绝

[ZSTACKZNP_Srvr/main] fatal:appMain>连接 NPI 服务器失败。 正在退出...

由于 SPI 接口已启动并正常工作、我认为需要对 Z-Stack / CC2530进行一些更改。

我对上述配置有以下疑问:

在 ZNP 固件方面、是否需要对 SPI 进行任何其他编译器选项更改或包含文件?

2.我还想知道在 Z-stack Linux 网关应用方面是否需要进行任何其他更改?

在 NPIGateway.cfg 中、引脚 GPIO_SRDY.GPIO 和 GPIO_MRDY.GPIO 在 IMX6 DTS 中配置为 GPIO、并按连接到 CC2530

  P1_4 -> MRDY

  P1_5 -> SRDY

  GPIO_SRDY 电平转换器、 GPIO_MRDY 电平转换器、 GPIO_RESET.GPIO、                是否 需要 GPIO_RESET.LEVEL_SHUTERR?

  它们需要如何从 IMX6连接到 CC2530?

  应如何配置它们?

4.由于 AM 使用通用 SPI 驱动程序,是否需要在通用 spidev 端进行与 SRDY / MRDY 相关的任何更改?