共2条
1/1 1 跳转至页
有人用一条口线进行串口通讯的吗???
问
有人用一条口线进行串口通讯的吗???下位机用一条线的,不过它可以自学波特率!1硬件是怎么样接,请指教!!我看别人在处理的时候用了个四路的rs232芯片和一些运放\与门等的!是不是没有这样麻烦的?有没有简单的!
答 1: 先把两边的TXD线与,并连至自己的RXD初始化:
下位机初始化以前只侦听不收发,一旦校准过波特率发生器,在听到上位机发的探询码之后回应应答.
上位机开始的时候发N个连续的同步字符(一般是55H)用来校准下位机的波特率,之后跟一个探询字符,然后停顿一个预定的延迟,若在该延迟中能收到下位机的应答,说明同步成功了.若收不到,则延迟之后继续重复N个连续同步字符+探询字符的数据,循环直到收到应答
通信:
时分共用----类似令牌
两机采取"对山歌"的对话方式,上位机发"我(上位机)唱"后跟固定时间长度的一帧数据(或等长时间的空闲),下位机在上位机发言期间只听不说,只有在上位机发言时间之后才立刻跟答"我(下位机)唱",之后的原理和上位机相同,这样一根线就可以以帧长为单位分割成双方通话的时间,如果有人要唱的太长超过一帧,那也要分割到下一帧唱,不能超过发言时间.要注意的是,通话各方在发言的时候要关闭自己的接收中断.
该方案优点是杜绝冲突,一句是一句,缺点是时间利用率低,没话方的空闲时间被白白浪费,且硬件上要占用一个定时器作为"闹钟"(呵呵,自己发明的名词,就是为对方和自己的发言时间掐算时间,时间一到自然切换通话方向)
抢占发言----ALOHA方式
主要是要处理好冲突的问题,对于点对点方式就简单了,只要有冲突,一概下位机闭嘴,怎么检测冲突,把自己发的和自己收的进行异或,如果结果不为0,就视为冲突,冲突之后下位机彻底闭嘴,上位机重新发言.发言方先发起始字符声明线路被自己占用,说完后发终止字符声明释放了线路.任何方侦听到非自己发的起始字符
都压抑住说话的欲望,直到线路重新被当前说话者释放
优点,时间利用率高点,节省掉上面方法所说的做"闹钟"的定时器.缺点是遇到两个话多的人往往那个说的长的更有优势,耽误另一方及时通报重要情况,且容易假死,也就是双方都以为线路是忙的,不敢说话,这个可以用随机发送结束码来重新对线路状态进行置位.
还有很多方法,万变不离其宗.你也可以参考I2C的模式,改动一下.
再启发你一下,电话的全双工通话也使用2线,它使用了消侧音的电桥来滤出对方信号,不过那是模拟的线路.其实你也可以对数字信号"消侧音",不过不是用电桥,是用异或门 答 2: 理论上说,因为可以模式串行通用,那么单线可以使用半双工方式一根线,显然就只能(当然必然能)实现半双工串口,而这个与自动波特识别没有联系。
自动波特识别需要用标识码进行判别波特,这个philips有一个相关的文档可以参考的。
答 1: 先把两边的TXD线与,并连至自己的RXD初始化:
下位机初始化以前只侦听不收发,一旦校准过波特率发生器,在听到上位机发的探询码之后回应应答.
上位机开始的时候发N个连续的同步字符(一般是55H)用来校准下位机的波特率,之后跟一个探询字符,然后停顿一个预定的延迟,若在该延迟中能收到下位机的应答,说明同步成功了.若收不到,则延迟之后继续重复N个连续同步字符+探询字符的数据,循环直到收到应答
通信:
时分共用----类似令牌
两机采取"对山歌"的对话方式,上位机发"我(上位机)唱"后跟固定时间长度的一帧数据(或等长时间的空闲),下位机在上位机发言期间只听不说,只有在上位机发言时间之后才立刻跟答"我(下位机)唱",之后的原理和上位机相同,这样一根线就可以以帧长为单位分割成双方通话的时间,如果有人要唱的太长超过一帧,那也要分割到下一帧唱,不能超过发言时间.要注意的是,通话各方在发言的时候要关闭自己的接收中断.
该方案优点是杜绝冲突,一句是一句,缺点是时间利用率低,没话方的空闲时间被白白浪费,且硬件上要占用一个定时器作为"闹钟"(呵呵,自己发明的名词,就是为对方和自己的发言时间掐算时间,时间一到自然切换通话方向)
抢占发言----ALOHA方式
主要是要处理好冲突的问题,对于点对点方式就简单了,只要有冲突,一概下位机闭嘴,怎么检测冲突,把自己发的和自己收的进行异或,如果结果不为0,就视为冲突,冲突之后下位机彻底闭嘴,上位机重新发言.发言方先发起始字符声明线路被自己占用,说完后发终止字符声明释放了线路.任何方侦听到非自己发的起始字符
都压抑住说话的欲望,直到线路重新被当前说话者释放
优点,时间利用率高点,节省掉上面方法所说的做"闹钟"的定时器.缺点是遇到两个话多的人往往那个说的长的更有优势,耽误另一方及时通报重要情况,且容易假死,也就是双方都以为线路是忙的,不敢说话,这个可以用随机发送结束码来重新对线路状态进行置位.
还有很多方法,万变不离其宗.你也可以参考I2C的模式,改动一下.
再启发你一下,电话的全双工通话也使用2线,它使用了消侧音的电桥来滤出对方信号,不过那是模拟的线路.其实你也可以对数字信号"消侧音",不过不是用电桥,是用异或门 答 2: 理论上说,因为可以模式串行通用,那么单线可以使用半双工方式一根线,显然就只能(当然必然能)实现半双工串口,而这个与自动波特识别没有联系。
自动波特识别需要用标识码进行判别波特,这个philips有一个相关的文档可以参考的。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 | |
【分享评测,赢取加热台】使用8051单片机驱动WS2812被打赏40分 | |
【换取逻辑分析仪】rtthread添加RRH62000传感器驱动-基于野火启明6M5被打赏48分 | |
换逻辑分析仪+Verilog多输入门被打赏27分 |