STM32 PROFIBUS——DP
哪位大神,做过STM32软件模拟 ProfiBus DP的? 手撸出来了么 ProfiBus DP 协议有较高的实时性要求 ProfiBus DP 用 STM32 软件模拟挺有挑战的,主要是时序要求严格,你是想做主站还是从站? 我之前看过相关资料,STM32 直接模拟 ProfiBus DP 需要精准的时序控制,建议用定时器和 DMA 来优化数据收发。 这个协议对时序要求很高,单纯用软件模拟难度不小,你考虑过用 FPGA 或者专用 ASIC 芯片来辅助吗? 如果是从站,可能还好一些,可以用 USART 结合中断 + DMA 来实现,主站的话就要更精确的时序控制了。 你可以试试用 STM32 的 USART 实现 PROFIBUS DP 的物理层,然后通过中断和状态机模拟协议栈。 这个协议和 MODBUS RTU 有点类似,但时序更严格,STM32 软件模拟可能要配合高精度定时器才行。 你可以看看 Siemens 的 DP 规范文档,或者找找开源协议栈,比如 FreeDP,看能不能适配 STM32。 你打算用裸机开发还是基于 RTOS?如果是 RTOS,可以用任务调度来确保时序稳定。 ProfiBus DP 对通讯错误处理要求也很高,你的 STM32 是打算单独实现协议,还是打算借助已有库? 你有没有试过用 STM32F4 的高级定时器 + DMA 来控制 USART?这样可以减少 CPU 负担,提高时序精度。
页:
[1]