我一直试图使用外部微处理器作为引导加载程序来编程CY8C5868 AXI-LP032。PSoC没有以任何合理的方式响应。我有几个问题:
1。为什么我不能使用P156和P15—7针作为从机(分别为SCL和SDA)?
2。板上的拉力每1K有点强。然而,这还不高于PSoC或主机的当前能力。这就是问题所在吗?
三。我遵循AN60317附注“PSoC 3和PSoC 5LP I2C Bootloader”。在该注释中,它显示了将从属设备设置为固定函数、硬件和任意引脚。我把它连接到P156和7针,并锁定它们。后来,我认为如果没有使用正常的I2C专用引脚,就指定固定函数是没有意义的,所以我用软件地址解码和内部时钟将它改为UDB(虽然我不知道为什么我必须为一个从……指定时钟)。但它的行为完全相同的设置。我在这里做错事了吗?
下面是痕迹。注意,在发送地址(4)之后,故障不是ACK。但是在ACK周期结束时有一个非常小的脉冲。我不知道这是什么,除非PSoC正在尝试ACK,但已经晚了,或者可能是我的主机没有按时发布数据线。但是,即使启动加载设备没有启用,这也会发生,所以我不知道是什么原因造成的。
另外一件事。顶部跟踪导致PSOC5的外部中断,该中断只调用BooLoad AbjyLoad()。中断被触发并进入引导。但是,即使引导加载失败,PSoC也不会重新启动应用程序。指定了5秒超时。重新设置PSoC会再次启动应用程序。
只是不知道从哪里去。希望有人能帮上忙。
问候,Russ
以上来自于百度翻译
以下为原文
I've been trying to use an external microprocessor as a bootloader host to program a CY8C5868AXI-LP032. The PSoC does not respond in any reasonable manner. I have several questions:
1. Is there any reason why I cannot use the P15-6 and P15-7 pins for the slave (as SCL and SDA respectively)?
2. The pull ups on the board are a little strong at 1k each. Still this is not above the current capability of the PSoC, or of the host. Could that be the problem?
3. I am following the AN60317 appnote "PSoC 3 and PSoC 5LP I2C Bootloader." In that note it shows setting up the slave as fixed function, hardware, and any pins. I connected it to the P15-6 and 7 pins and locked them. Later I thought that it did not make sense to specify fixed function if not using the normal I2C specific pins, so I changed it to UDB with software address decode and internal clock (although I don't know why I should have to specify a clock for a slave...). But it behaves exactly the same with either setup. Am I doing something wrong here?
Below are the traces. Note that the failure is no ACK after the address (4) is sent. But there is a very small pulse near the end of the ACK period. I have no idea what that is unless the PSoC is trying to ACK but is late, or maybe my host is not releasing the data line on time. But this happens even when the boot loadable device is not enabled, so I don't know what causes it.
Another thing. The top trace causes an external interrupt of the PSoC5, That interrupt just calls Bootloadable_load (). The interrupt is getting triggered and it is entering boot. However, even though the bootload fails, the PSoC never restarts the application. There is a 5 second timeout specified. Resetting the PSoC does get the app started again.
Just don't know where to go from here. Hope someone can help.
Regards, Russ