恭喜,你发布的帖子
发布于 2024-01-30 15:40:52
11楼
感谢分享,不错尝试,以前看到过西门子官方论文集上有用S7-300的IO模拟通讯的文章。
摘抄几个数字模拟通讯方面的信息:
串口通讯一般有串口专用模块或CPU本体带”固件”的串口IO:安全冗余做的好的串口模块即使是9600波特率,模块要运行在10Mbps(这个需要很好的ADC/DAC才能做到)左右才能安全冗余的识别9600下的每个二进制高低电平;一般的非安全冗余的简易串口模块(绝大部分串口模块底层固件机制)采用半周期(接收开始后延时波特率倒数一半去读)读取端口电平,保证每次大概在中间读一次。
对于安全冗余模块:比如9600波特率传一个字符,比如这个字符是9或其它个数的高低电平,而实际上根据不同的CPU弥补异步时钟差异以及干扰处理机制,CPU对每个高低电平要确认XX倍(比如16倍也就是在更低的时序下对某个电平确认16次其中如果有XX次比如13次是高电平3次低电平那么默认这是高电平,默认3次低电平是由于时钟差异或干扰造成的忽略不计,(时钟差异是指两台CPU约定同样是9600也是有差异的,这3次低电平的时钟差异是将上一位或者下一位真正的低电平读到本次这个位上来了,而实际上本次这个位是高电平) 可以想象这很难出错码,但这也说明串口很难传很长的信息一般限定在250个字符左右,除非分段校验发送拼凑长信息,接收方分段解析拼凑执行,这时网口的优势就体现出来了。
模拟量在数字通讯中的应用-摘抄自模拟CMOS教材:
请填写推广理由:
分享
只看
楼主