首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道嵌入式系统中的主从微控制器已经准备好通过通信总线传输数据

如何知道嵌入式系统中的主从微控制器已经准备好通过通信总线传输数据
EN

Stack Overflow用户
提问于 2015-12-14 23:52:55
回答 1查看 128关注 0票数 1

我的嵌入式系统有两个微控制器:主要的和次要的。两者都会在时间上启动。这两个控制器之间有大量的数据传输。在控制器之间传输数据之前,它们应该已启动并运行。主服务器如何知道辅助服务器已启动并正在运行,反之亦然?请提供方法。

我已经实现了GPIO切换方法。但是需要更好的方法。

我的GPIO握手方法:主控制器和辅助控制器共享两个GPIO。对于两个控制器,一个GPIO将被输入,另一个将被输出。比方说,GPIO 'A‘是主节点的输出,次要节点是输入,GPIO 'B’是次要节点的输出,主节点是输入。理想情况下,GPIO状态为高。两个控制器都使用GPIO发出信号通知对方它们的就绪状态。一旦主控制器启动并准备好参与数据传输,它就会关闭GPIO 'A‘并在任何数据传输之前轮询GPIO 'B’。一旦辅助控制器启动,它将拉下另一个GPIO 'B‘,以通知主控制器它已准备就绪。次要设备还会检测GPIO 'A‘,以在参与数据传输之前检查主要设备是否已启动并正在运行。当次要引导先于主要引导时,也会发生同样的情况。

这种方法的缺点是:必须有两个GPIO专门用于握手。我缺少GPIO。

请提供更好的替代方案。谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-12-17 16:30:42

如果我想知道我的通信是否有效(连接器已插入,参与者已启动并正在运行...)我在我的协议中包含了一些检查数据的方法。

如果通信是双向的,则发送控制器期望来自接收控制器的预定义应答。如果答案丢失/错误,我知道一定有问题。

例如,I2C包括ACK位。如果他们不来,我知道我的沟通伙伴没有在听。

SPI有两行: out和in。如果您发送,请永久检查哪些数据正在传入。如果无效,则中止。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34271271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档