PIC 使能485/422_Part2.1使能485_Tx_Only

news/2024/7/24 5:49:44 标签: 笔记, 嵌入式硬件, 单片机

1.需求

工作中需要把目前设备的单向232转为485/422模式,实现双向通讯,目前查找相关资料。突然想到一件事,我是否能让232现有的单向上发线同时连工控机的tx,rx,然后靠协议,来定时切换PIC一侧的tx rx?PIC可能不支持这个,对吧? check 一下:pinmux如果能把一个io口既可以配成rx,也可以配成tx就可以。。。我觉得这不可能,放弃。只有485有这种半双工能力。

2.工控机端

我的usb接口是一款422、485兼容设备,看看电平规格吧。它的VCC是+5V,似乎可以。它用的是CH340做协议转换,这个片子似乎可以同时支持3种规格的串口协议。

2.1 usb-485/422接口设备测试

说明书中,提及设备本身测试的时候,似乎是按422的线序的, TX+ <-> RX+ ,Tx- <->Rx-我现在的需求是要能让两根差分线实现双向通讯。据说485的方向识别是个问题。

485的自发自收可以短接Tx+,Rx+吗? =>check。实测电平值在2.85V(差分线之间)。短接似乎不可能,成对的Tx Rx反相,短接后,理想情况,信号会拉至0.我的接口设备VCC无电压,不知道是不是出错,或者商家就没有引出这个管脚。

485标准:发送器A、B之间的逻辑1安排在+2~+6V;负电平在-2~-6V,是另一个逻辑状态;接收端认为+200mV以上都算1,-200 mV以下都算0

485在接收端,会变成反逻辑,我不知道这个反转是怎么回事。485,422一个全双工,一个半双工,只有这一点区别。电平较RS232降低,说是为了避免接口烧毁。

由上图可知:485标准的发送电压下限是Vpp = 3.0V,我的这款设备几乎是卡着这个下限做的,也兼容了TTL电平。

2.2 CH340支持485半工收发吗?

暂不考虑,往前推进。

3. PIC端

PIC的串行通信模块,叫EUSART,也叫SCI

  1. E ...........enhanced 增强
  2. U...........universal 多功能
  3. S|A ....... syn, asyn 同步和异步
  4. R|T ........recv, transmit,首发

Tx,Rx Pin对应的IO口的TRIS位是用来控制Tx,Rx的自动换向的。它需要强制设置为1。标志着由eusart模块来接管它的方向控制:

 TRIS是控制端口的三态的.所以,这才是半双工的意思,你要自己切?不对:

所以,这件事看起来毫无难度,只要把Tx,Rx的TRIS位使能,然后让设备的Tx Rx分别接至工控机的Tx+Rx+,Tx-Rx-,就OK了?

4.着手编码

先尝试切至485  tx模式,这样可以提高信号输出抗干扰能力。

再检查一下:

4.1  uart_ttl tx only => 485tx

这是Tx+Tx-,设备一侧的发送。再次检测电平匹配:

上位机侧+5V(一端Tx+,一端Tx-)

单片机IO口:

输出在4.3~0.6之间,可以。 

 器件一侧我配成了同步master tx only。看看能不能通:

4.2 乱码排错

我把设备发送,和工控机测发送的波形采集了一下:

工控机侧Tx:

设备侧Tx:

两者同时设置为115200波特率时,上位机一侧的实际频率是116736;PIC一侧是113581,但是PIC看起来完全是时钟数据:检查后发现,配置为485模式,不能将eusart设置为同步模式,同步模式会输出时钟和数据两根线,485不是这种协议。

 注意对于485模式,MCC,PINMUX配置出的管脚是Tx1 |Rx1。

修改MCC配置:

 最终效果:


http://www.niftyadmin.cn/n/394889.html

相关文章

统信UOS系统开发笔记(二):国产统信UOS系统搭建Qt开发环境安装Qt5.12

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/130984263 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

零基础入门网络安全必看的5本书籍(附书单pdf)

作为一个Java转行网络安全的过来人&#xff0c;我深知自学时的种种不易&#xff0c;同时也经常有粉丝朋友问我&#xff1a;刚入门应该怎么学、有哪些书籍推荐等问题&#xff0c;今天我就把我自己的学习书单分享给大家&#xff0c;希望对大家有帮助&#xff01; 一、5本必读书籍…

windows下PC端小程序抓包--FiddlerCharles

目录 引言 【背景说明】 【操作说明】 【总结】 引言 大家好&#xff0c;你是否曾经遇到过想要抓取Windows下PC端小程序的网络请求数据&#xff0c;但不知道该用什么工具呢&#xff1f; 今天我要介绍的Fiddler和Charles两款工具&#xff0c;可帮助你轻松切入小程序网络请…

微信小程序开发实战 ②④(自定义 TabBar练习)

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; 微信小程序 &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f4…

【Python】列表 List ② ( 使用下标索引访问列表 | 正向下标索引 | 反向下标索引 | 嵌套列表下标索引 | 下标索引越界错误 )

文章目录 一、使用下标索引访问列表1、下标索引用法2、正向下标索引3、反向下标索引4、代码示例 - 列表下标索引基本用法 二、嵌套列表下标索引1、嵌套列表下标索引简介2、代码示例 - 嵌套列表下标索引 三、下标索引越界错误 一、使用下标索引访问列表 1、下标索引用法 在 Pyth…

k8s istio 集成 多版本应用服务 和 网格监测

说明 博客文章地址:https://blog.taoluyuan.com/posts/istio-getting-started/ 本主要是内容: 使用 istioctl 安装 istio采用 istio 官方提供 的 应用bookinfo,实现多版本的服务应用部署istio 网关 gateway,vs,dr 的基本使用利用监测工具 prometheus,grafana,jaeger 查看 ist…

【红队靶场】暗月五月考核靶场sunday

红队靶场 &#x1f389;B站配套视频&#xff1a;【顺手挂个三连呗】 https://www.bilibili.com/video/BV1xu4y1Z71y/?share_sourcecopy_web&vd_source0e30e09a4adf6f81c3038fa266588eff&#x1f525;系列专栏&#xff1a;红队靶场 &#x1f389;欢迎关注&#x1f50e;点赞…

移动端的轮播图

效果 技术选取 前端框架用的是vue3&#xff0c;使用的组件库为element-plus以及vant4 引入element-plus和vant4 安装element-plus cnpm install element-plus --save 安装按需导入 cnpm install -D unplugin-vue-components unplugin-auto-import 安装Vant cnpm i vant 按…