共2条
1/1 1 跳转至页
问
4.为什么在RS-485/RS-422构成的通信网络中,传输数据包时经常出现多出一个数据或少一个数据的现象?
一般在点-多点通信系统中会经常出现这个问题, 归纳出现的原因大致如下:
1) 在半双工通信中,一般可以通过禁止RS-485收发器接收使能或UART内部的接收使能,以保证不出现自发自收,进而减少CPU的开销。当数据发送完成后,RS-485接收器和内部UART将回到允许接收状态而发送器将关闭,在此状态切换过程中,可能出现RS-485接收器输出低电平跳变,而此时UART已经允许接收,从而导致多接收一个字节。
正确处理方法应该为:从接收状态向发送状态转换时,先禁止内部UART的接收使能,再打开接口的发送器使能,然后,允许内部UART的发送使能,开始发送数据;从发送状态向接收状态转换时,先禁止内部UART的发送使能,再关闭接口的发送使能(如果接口的接收使能被禁止,则紧跟着打开接口的接收使能),在延时2至4个NOP指令后,才打开内部UART的接收使能。
2)对于大多数UART来说,内部发送缓冲器"空"会产生中断或置对应的标志位,但此时数据不一定真的发送完成,因为数据有可能还在输出移位寄存器中。如果仅靠发送缓冲的状态来判断一包数据是否发送完成,从而决定是否关闭内部UART的发送使能和接口的发送使能,则这个数据包的最后一个字节将不会发送到总线上,以致对方会少接收一个字节。此类问题会出现在MAX3100、MAX3140和PIC系列单片机等类似情况的UART中,请用户应用中注意此类问题。
5.MAX232/MAX202接口输出的电平为何比计算机输出的RS-232电平低?
答:由于计算机内部的RS-232接口多数采用±12V供电的接口芯片,而MAX232/MAX202及其它多数Maxim的RS-232接口都是采用单电源(+3.3V或+5V)供电,由内部的电荷泵电路(倍压和倍压反相两种方式)产生接口所需的电源,这样就简化了电源设计。由于工作在倍压和倍压反相的电荷泵输出电压最高为±2×Vin(空载时),且带载能力有限,不管怎样,多数Maxim接口驱动器还是能够保证幅值在±5V以上,以满足RS-232接口端±3V的接收门限值。 答 1: 好样的!
一般在点-多点通信系统中会经常出现这个问题, 归纳出现的原因大致如下:
1) 在半双工通信中,一般可以通过禁止RS-485收发器接收使能或UART内部的接收使能,以保证不出现自发自收,进而减少CPU的开销。当数据发送完成后,RS-485接收器和内部UART将回到允许接收状态而发送器将关闭,在此状态切换过程中,可能出现RS-485接收器输出低电平跳变,而此时UART已经允许接收,从而导致多接收一个字节。
正确处理方法应该为:从接收状态向发送状态转换时,先禁止内部UART的接收使能,再打开接口的发送器使能,然后,允许内部UART的发送使能,开始发送数据;从发送状态向接收状态转换时,先禁止内部UART的发送使能,再关闭接口的发送使能(如果接口的接收使能被禁止,则紧跟着打开接口的接收使能),在延时2至4个NOP指令后,才打开内部UART的接收使能。
2)对于大多数UART来说,内部发送缓冲器"空"会产生中断或置对应的标志位,但此时数据不一定真的发送完成,因为数据有可能还在输出移位寄存器中。如果仅靠发送缓冲的状态来判断一包数据是否发送完成,从而决定是否关闭内部UART的发送使能和接口的发送使能,则这个数据包的最后一个字节将不会发送到总线上,以致对方会少接收一个字节。此类问题会出现在MAX3100、MAX3140和PIC系列单片机等类似情况的UART中,请用户应用中注意此类问题。
5.MAX232/MAX202接口输出的电平为何比计算机输出的RS-232电平低?
答:由于计算机内部的RS-232接口多数采用±12V供电的接口芯片,而MAX232/MAX202及其它多数Maxim的RS-232接口都是采用单电源(+3.3V或+5V)供电,由内部的电荷泵电路(倍压和倍压反相两种方式)产生接口所需的电源,这样就简化了电源设计。由于工作在倍压和倍压反相的电荷泵输出电压最高为±2×Vin(空载时),且带载能力有限,不管怎样,多数Maxim接口驱动器还是能够保证幅值在±5V以上,以满足RS-232接口端±3V的接收门限值。 答 1: 好样的!
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |