共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电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 |