你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
xiaoshen-372360 发表于 2018-11-6 08:54 Modbus-RTU - Can-open
程序卡死在vPortFree函数中
STM8AF6213 LIN通讯问题
STM32H7B0 CAN发送异常
STM32H750如何搭配88E6320來使用?
硬件的spi单线传输怎么读写寄存器。
STM8AF6266 LIN通讯实例
STM32L4R9最大支持SD卡的容量是?支持SDXC 64G卡吗?
有使用过芯讯通的A7680C这个4G模块吗?
ST60系列可以使用OFDM调制进行发射接收吗?
STM32F103的LIN Break问题
DMX是能过串口发送DMX信号对DMX灯具进行控制,如舞台灯光之类的灯具一般都是DMX信号的,可做到灯光快速变化
ArtNet-DMX 就好像是网络版DMX灯光控制协议,通过网络传输ArtNet协议,终端控制设备再将ArtNet信号转换成DMX信号,进行灯具控制
DALI 协议也是一种国际常用的灯光控制协议,主要用用家居照明,商业场所照明,可对照明设备进行控制,监测,在一些高级酒店等商业场所终端照明设备会用到此类协议的照明设备,但跟主控制室的通信不一定是DALI协议的,可能有KNX之类的其它协议转换,因为没用过KNX协议,就不作介绍了
点评
协议是自己根据业务需求制定的
从大类来分:下发、上报、心跳(判在线与状态)
CAN协议因为数据位只有8个字节,信息比较多的时候只能分段发
从信息的完整闭环来看,控制下发的必须要有回复,超时算无回复错误,还要监控回复数据与预期是否一致,如不一致需要判为反馈出错。
出错后的处理:最有效的就是重启下面的执行节点,节点设置独立看门狗,所以重启实际上是触发禁止喂狗,就是重启了。重启后等一个时间间隔(预期重启时间)重发一次指令,如果再出错就报严重错误。
大概觉得有用的经验就这些。
点评
点评
点评
点评
Modbus-RTU 是按照国标自己写的,国标上都有指导说明,写起来很简单,CAN-OPEN是直接在网上找的资料移植的,调试的过程还是比较艰辛,
点评
点评
USART、IIC、SPI(SSP)、USB这些都是常见的协议,有个和SPI很像的SSI协议。还有以太网、Modbus、profibus等在工业上应用较广泛,LIN、FlexRay、CAN在汽车上应用也很广泛。目前我用的最多的还是CAN,在此基础上形成的应用层协议是有J1939、CANOpen和DeviceNet,其实只要把11898标准搞清楚,至于在这个基础之上的应用层就很不复杂了。以太网还在研究中,在此基础之上的协议族太多了,在感慨协议设计人员的nb的同时,也真心觉得这玩意儿体系太庞大了。
关于CANOpen,见http://www.can-cia.org/canopen/,下面有SDO、PDO等几个协议。
点评
IIC:传感器、驱动模块等等
SPI:eeprom、TF卡、SD卡
CAN:车载产品、OBD
FSMC:与FPGA的通讯
USB:虚拟串口
协议的话就很多了,大部分是因应不同外设所定制的专用协议,但是硬件层都是不会改变的,改变的都是软件层的协议,不过IIC还是用软件模拟的更多
点评
模拟SPI,还是用的很爽的,驱动过申请的铁电RAM片子和存字库用的Flash AT45DB321
感觉I2C比较难,用现成的模拟I2C程序驱动过MPU6050,获取到3轴的相关信息
公司产品有用到CAN和USB,都是使用片内的控制器完成底层
点评
点评
使用的协议有,RS485,CAN,LIN,SPI,I2C
RS485协议,在STM32上移植FREEMODUBUS协议从机,实现MOEBUS通信,接到上位机实现双工通信,这个协议栈主要移植的部分是串口中断,串口配置和定时器。通常是自己定义协议通过RS485来通信。
SPI和I2C根据硬件来匹配,和芯片有关。
CAN和LIN使用中也是根据自定义的协议来做,使用开源的协议栈不多。
点评