社区
嵌入开发(WinCE)
帖子详情
为何会出现这种变态的485设计? (需要用GPIO来控制收发)
WvW
2011-08-30 10:12:00
大家好!
为何会出现需要用GPIO来控制485收发这种变态的设计?
难道别人写个串口程序, 还要去控制一下GPIO, 这样设计通用性不强啊.
这种设计有什么用途?
悲剧的是, 我们公司以前设计的就是这样的.
...全文
2653
27
打赏
收藏
为何会出现这种变态的485设计? (需要用GPIO来控制收发)
大家好! 为何会出现需要用GPIO来控制485收发这种变态的设计? 难道别人写个串口程序, 还要去控制一下GPIO, 这样设计通用性不强啊. 这种设计有什么用途? 悲剧的是, 我们公司以前设计的就是这样的.
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fanrusen
2014-05-11
打赏
举报
回复
好贴,赞一个,good!
harktrip
2011-09-09
打赏
举报
回复
[Quote=引用 23 楼 wvw 的回复:]
引用 22 楼 harktrip 的回复:
怎麼這個會是問題???
485本來就是需要個控制發送和接收!!!
做個啥自動判斷--->這是最不入流的,大學生為了展現自己的技術而做的設計!
各位還是學生嗎?產品要不要量產?要不要賣人的?
-_-
怎么能这么说? 下面这种工业设计挺多的:
使用工控机, 安装XPE, 然后接 有源232/485转换器, 下面接485设备.
……
[/Quote]
這就是一般學生一知半解的地方了
那些轉換器,一樣有切換的功能.
是靠原本全232中的CTS線作為切換
WvW
2011-09-08
打赏
举报
回复
dddddddddddddddddddddddddd
bjtea
2011-09-08
打赏
举报
回复
1)以前的485芯片,例如75176,RS485,MAX485,都是需要用I/O口来切换;
2)也有人自己搞个充放电的延时电路,当CPU的TXD持续为高之后,自动切换。为了怕误动作(还要照顾低波特率情况),设置的延时较长,所以,影响了对立即返回信号的接收。正如大家抱怨的那样,很不靠谱;
3)看了一下MAX13487器件手册(出版日期是2007年,所以应是新产品),发现该芯片对485的电路做了改造,A线上接上拉电阻,B线上接下拉电阻;
4)在此基础上,当485芯片输出高电平时,只要Uab>0.2伏,芯片就自动切换到开路状态,释放了AB线,并通过上拉和下拉电阻来维持线路上的高电平;低电平时情况不变,与原来的485芯片一致;
5)有了3)和4),MAX13487实际上,在每一字节发送后,都会自动切换到输入状态。因此,就不在需要I/O来切换了。
总的感觉,该芯片厂家适应了工程和市场的需求,而且最近10来年在中国发展太迅速了。
WvW
2011-09-07
打赏
举报
回复
[Quote=引用 16 楼 gooogleman 的回复:]
用硬件实现自动的了,看以前别人板卡都是,这样租不合理的。做实验还可以。
我用周立功带隔离的那个。嘿嘿。
[/Quote]
为什么最不合理? 能说说理由吗?
WvW
2011-09-07
打赏
举报
回复
[Quote=引用 22 楼 harktrip 的回复:]
怎麼這個會是問題???
485本來就是需要個控制發送和接收!!!
做個啥自動判斷--->這是最不入流的,大學生為了展現自己的技術而做的設計!
各位還是學生嗎?產品要不要量產?要不要賣人的?
[/Quote]
-_-
怎么能这么说? 下面这种工业设计挺多的:
使用工控机, 安装XPE, 然后接 有源232/485转换器, 下面接485设备.
-这种系统里面, 哪里会有手动控制串口的收发? 不都是转换器在那里转换 收发, 放到系统缓冲队列里面去. 这些系统也很稳定 实时啊?
嵌入式系统也一样吧
harktrip
2011-09-07
打赏
举报
回复
怎麼這個會是問題???
485本來就是需要個控制發送和接收!!!
做個啥自動判斷--->這是最不入流的,大學生為了展現自己的技術而做的設計!
各位還是學生嗎?產品要不要量產?要不要賣人的?
woshi_ziyu
2011-09-06
打赏
举报
回复
[Quote=引用 18 楼 ttapi 的回复:]
显然寄希望于自动换向的没有吃过工业现场的亏,呵呵
[/Quote]
不懂
WvW
2011-09-06
打赏
举报
回复
[Quote=引用 18 楼 ttapi 的回复:]
显然寄希望于自动换向的没有吃过工业现场的亏,呵呵
[/Quote]
此话怎讲? 我用在工业里面, 每隔10毫秒, 发送一次查询, 好像也挺正常。
照你的意思,别人的工控机,232-》232、485转换器=》线缆=》现场设备
这种方式就会很吃亏?
ttapi
2011-09-05
打赏
举报
回复
显然寄希望于自动换向的没有吃过工业现场的亏,呵呵
arm7000
2011-09-02
打赏
举报
回复
这是本身485协议决定的,你看485芯片,有收发的引脚,自然要有GPIO口来控制,你也可以选择象MAX13487这样的芯片,自动切换收发方向。至于通用性的问题,485用在单片机上,可以直接用IO口来控制。如果用在wince上,收发的切换就要由底层驱动来作,默认在接收状态,要发送时才进入发送状态,发送完改为接收状态。上层的应用软件不会有什么区别,还是象串口一样去使用。由于是单工操作,必须靠协议保证不会出现多个同时发的冲突现象。
很多wince板,在使用485时,如果使用普通485芯片就要改串口驱动,如果使用max13487芯片,串口的驱动就不用改。
bjtea
2011-09-02
打赏
举报
回复
为了进行切换,需要两个条件:1)知道是最后字节;2)最后字节已经移位出去。
用I/O实现切换(可以底层来实现),当然是最快的;
因为,只有用户才知道是最后字节,并且在最后一字发送出去之后,让底层根据TX中断,进行切换;
gooogleman
2011-09-02
打赏
举报
回复
用硬件实现自动的了,看以前别人板卡都是,这样租不合理的。做实验还可以。
我用周立功带隔离的那个。嘿嘿。
ttapi
2011-09-02
打赏
举报
回复
显然手动控制的更可靠。
RS485上常用的MODBUS协议,在数据帧间都会有个T3.5的时间间隔,足够你换向的。
ffeige1984
2011-09-01
打赏
举报
回复
COM1 COM2 应该带有硬件流控功能 所以可以自己识别数据发送和接收,COM3 没用硬件流控功能 所以只能用IO来控制数据发送和接收。
WvW
2011-09-01
打赏
举报
回复
[Quote=引用 10 楼 northcan 的回复:]
检测电路是需要代价吧,只做1,2,留下3,为了节省成本?
这不需要增加什么成本吧,据说用个 NOR 就可以识别了。。。
原因不是节省成本,自动切换485状态的这种方式,不知道楼主经过长时间的测试没有。
这个也是存在问题的。
除了我在9楼说的那种情况(“发送之后必须立即转为接收,时间稍有延迟,就有数据丢失”)
之外。其实用GPIO控制485收发更加可靠。
自动切换485的那……
[/Quote]
自动检测电路我倒没发现有什么问题。检测电路 应该会比 用GPIO控制要快速, 问题要少的多吧。
WvW
2011-09-01
打赏
举报
回复
[Quote=引用 9 楼 northcan 的回复:]
稍微改一下电路,485就可以自动切换收发状态了。
楼主公司以前的用一个GPIO来控制485收发状态
这种方式会给应用层程序员编写程序带来麻烦
首先不说这个485收发状态需要一个函数接口来控制GPIO切换不说。
这种做法是有延时的。
有的时候有这样一种需求,比如你们公司的WinCE设备需要外接一个485设备。
比如某某仪表。而两边的应用程序需要一个协议的握手信号。
也就是说WinCE……
[/Quote]
为何这么ARM 厂商, 都有这种设计呢? 是不是大家一开始抄袭, 抄袭一个 错误的东西, 然后变成流行了?
northcan
2011-09-01
打赏
举报
回复
检测电路是需要代价吧,只做1,2,留下3,为了节省成本?
这不需要增加什么成本吧,据说用个 NOR 就可以识别了。。。
原因不是节省成本,自动切换485状态的这种方式,不知道楼主经过长时间的测试没有。
这个也是存在问题的。
除了我在9楼说的那种情况(“发送之后必须立即转为接收,时间稍有延迟,就有数据丢失”)
之外。其实用GPIO控制485收发更加可靠。
自动切换485的那种电路方式不是很稳定。以前我们很多客户反应过这个问题。
相关电路原理也很简单,网上很多。
所以在很多情况下,GPIO控制收发的这种方式如果可以满足要求的话,还是可以用的。
“我用的板子就是这样的, COM1 COM2的485都是这样, 可为何COM3的485要设计成手动切换的”
这个估计是公司最后采用的中庸之策。
northcan
2011-09-01
打赏
举报
回复
稍微改一下电路,485就可以自动切换收发状态了。
楼主公司以前的用一个GPIO来控制485收发状态
这种方式会给应用层程序员编写程序带来麻烦
首先不说这个485收发状态需要一个函数接口来控制GPIO切换不说。
这种做法是有延时的。
有的时候有这样一种需求,比如你们公司的WinCE设备需要外接一个485设备。
比如某某仪表。而两边的应用程序需要一个协议的握手信号。
也就是说WinCE应用程序发送一个指令给485仪表,而仪表马上返回一个回复数据。
这个时候WinCE要立即接收到仪表返回来的数据,以确定连接是否畅通。
但问题就出在WinCE应用程序在发送数据之后,需要调用一个接口函数,通过底层的GPIO切换收发状态。
这个时间就完蛋了。等状态切换之后,仪表返回来的数据已经接收不全了。
WvW
2011-09-01
打赏
举报
回复
upup
加载更多回复(7)
uart、rs232、rs
485
、usb的关系及使用模型
资料 名称 链接 备注 uart与usb对比分析 http://www.elecfans.com/emb/jiekou/20171206595422_a.html usb、uart区别 UART与USB为什么速度差那么多 https://bbs.csdn.net/topics/360155810 usb、uart区别 UART\RS232与RS
485
的关系 https://...
宇树A1电机折腾笔记
笨笨的宇树A1电机,转起来真要命
HiChatBox水下探测防水结构
设计
HiChatBox通过双O型圈冗余、细牙螺纹锁紧、FKM氟橡胶材料及三级线缆防护,实现30米深水IP68密封。结合霍尔传感器状态检测与内部防凝露
设计
,确保高压、腐蚀、温变环境下的长期可靠性,支持重复拆装维护。
步进、闭环步进与伺服电机选型指南:一张表看懂核心差异
在工业自动化运动
控制
领域,电机选型是设备
设计
的关键环节。步进电机以开环
控制
为基础,通过脉冲驱动实现精准位移,结构简单且成本低廉;闭环步进在此基础上引入编码器反馈,解决了丢步隐患;伺服电机则采用闭环矢量
控制
与高分辨率编码器,实现高速高精度动态响应。理解三者从开环到全闭环的
控制
原理,有助于工程师根据负载特性、速度与精度要求匹配最优方案。典型应用场景涵盖3D打印、非标自动化、机械手和CNC等。本文梳理步进、闭环步进与伺服的核心差异,提供一张选型对照表,帮助快速决策。
MODBUS协议调试实战:从RTU报文到寄存器映射全解析
工业自动化系统中,设备间的可靠通信依赖于成熟的串行通信协议。RS
485
总线因其抗干扰能力强、支持多点组网,成为现场设备互联的主流物理层选择;而MODBUS作为应用层协议,以简单、开放著称,自1979年诞生以来始终占据工业设备通信的核心地位。理解MODBUS RTU的报文结构、功能码和CRC校验机制,是嵌入式工程师进行设备调试的基础。文章从报文级解析出发,详细拆解读/写寄存器交互流程,分析RTU与TCP的差异,并结合Modbus Poll/Modbus Slave等工具,系统梳理从物理链路、串口参数到寄存器映
嵌入开发(WinCE)
19,524
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章