我正在设计灵活的模块 - 模块总线。
基本上,每个模块都有一个可能位于PIC24 / PIC32系列上的微控制器。
总线将通过RJ11连接器运行,并且价格便宜。
它需要以下功能: - 没有主/从配置但仲裁(如CAN) - 自动寻址 - 可以翻转的2或1根电线 - 正确的数据速率。
最初的想法是使用带有第三条线的I2C总线进行寻址。虽然由于布线原因,如果线路交叉并且I2C芯片模块在引脚上有硬位置,总线应支持重新分配线路。
SPI显然不是解决方案。 CAN模块可以工作,但8字节的限制和收发器的需要是非常烦人的。 LIN需要掌握。
现在我正在寻找一种方法,以某种方式将UART模块用于环回模式,因为PPS可以重新分配引脚。
另一种解决方案是从头开始创建一个总线并对所有内容进行编码,但这将非常耗时。
有经验和解决方案吗?
由于
答案 0 :(得分:1)
我知道这不是一个完全正确的答案,但我正在使用带有选择线的SPI总线,这些选择线运行一个背板连接器,在每个板上移动一个点(所以0总是选择它自己,1选择下面的板和上面的5板)这个背板与最多6个PIC32相连,所有PIC32都连接到一个SPI。现在你要做的是使用一个字来控制动作而不是选择行(使用3行),当检测到右门信号时,PIC知道接下来的几个字是为了它。只是一个想法...