CC2564B的UART问题
我现在在用CC2564B的chip做产品的蓝牙,现在CC2564B通过5-wires UART与CPU通信。 但是当UART使用频繁的时候CPU会当机:
我测量了CC2564B_RTS和CPU_TX,发现CC2564B_RTX一直是低电平,也就是看起来CC2564B的芯片并没有发出流控的信号。
又测量了CPU_RTS和CC2564B_TX,是满足正常的时序要求的。 所以现在看来CC2564B并没有流控的机制,想问一下哪里可以设置CC2564B流控的enable和disable吗?
Haidong,
感谢你选用CC2564!
CC2564B的UART其实很简单,就是个标准的4线UART,但是CTS和RTS还兼顾了和HOST进行低功耗模式交互的一个角色。
所以可以从以下着手:
1. 确保用的是最新的service pack, 下载地址:http://processors.wiki.ti.com/index.php/CC256x_Downloads
2. 确保你的host添加了低功耗模式的协议:http://processors.wiki.ti.com/index.php/CC256x_eHCILL_Low_Power_Protocol
3. 如果不用低功耗模式的话,你需要修改service pack, 把其中的
Send_HCI_VS_Sleep_Mode_Configurations 0xFD0C, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 100 修改成
Send_HCI_VS_Sleep_Mode_Configurations 0xFD0C, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 100
关闭低功耗模式试试看。修改工具可以在这里下载:http://software-dl.ti.com/dsps/forms/self_cert_export.html?prod_no=TI_Wireless_Tools_3.0.2.1.exe&ref_url=http://downloads.ti.com/ecs/esd/WiLink 用wireless tool里面的 HCITester进行修改。
当然,上面只是一种猜测,有可能是低功耗模式的影响。
2564的UART没有关闭流控的选项,但是其本身的UART fifo是很深的,不用流控也能工作,虽然不推荐。你可以试一下吧CTS和RTS都接地。
Hi Y:
非常感谢你的回复,这几天一直忙于其它的事情没有看你的回复,我试过了再来确认问题解决没有
再次感谢!
Hello Y:
还有一个问题,“CC2564B的CTS和RTS还兼顾了和HOST进行低功耗模式交互的一个角色”,我想问一下,这个低功耗模式是指BLE吗?还是只CC2564B特有的一个工作模式?
据我所知我们应该没有在HOST添加低功耗模式的协议,但是我们会进行BLE的开发。