【好书共读——《电子硬件工程师入职图解手册》分享】——第三章RS485分享、第四章.
<div class='showpostmsg'><p><strong>第三章RS485总线介绍:</strong></p><p>1.简介:</p>
<p>RS485是一种常用的串行通信标准,通常用于在工业控制系统、自动化设备、仪器仪表等领域进行数据传输。RS485标准定义了一种差分信号传输方式,可实现在远距离(最多1200米)和高噪声环境下可靠地传输数据。</p>
<p>2.常用通信方式</p>
<p>RS485通常采用半双工或全双工通信方式,支持多点通信,即多个设备可以共享同一条通信总线。在RS485总线上,数据通过差分信号的形式传输,一对信号线分别代表逻辑“1”和逻辑“0”,这种差分传输方式有助于提高抗干扰能力。</p>
<p>3.RS485特点</p>
<p>RS485具有较高的数据传输速率,通常可达10 Mbps,但实际应用中通常会根据具体情况选择合适的通信速率。总的来说,RS485是一种稳定可靠、适用于工业环境的串行通信标准,在工业控制和自动化领域得到广泛应用。</p>
<p>在之前的学习试验中,常用的使用USART的串口通信,单片机的编程中很少涉及到具体的硬件电路参数,如纹波、干扰和屏蔽、电缆的参数等。</p>
<p>在选择RS485线缆时,需要考虑以下几个方面:传输距离:RS485支持较长的传输距离,但不同线缆类型的传输距离可能会有所不同。一般而言,采用双绞线或屏蔽双绞线可以实现较长的传输距离,最多可达1200米。线缆类型:常用的RS485线缆类型包括双绞线(twisted pair)和屏蔽双绞线(shielded twisted pair)。双绞线具有良好的抗干扰性能,适合在工业环境中使用。而屏蔽双绞线则在双绞线的基础上增加了屏蔽层,提供更好的抗干扰能力。线径:线径越大,线缆的传输能力和抗干扰能力通常越强。因此,在选择RS485线缆时,可以根据实际需求选择合适的线径,以确保良好的信号传输效果。屏蔽:在噪声较高的环境下,选择带有屏蔽层的线缆可以提供更好的抗干扰能力。屏蔽层可以有效地阻隔外部电磁干扰对传输信号的影响。运行环境:根据实际工作环境的特点,选择适合的线缆外皮材料和防护等级,以确保线缆的耐用性和适应性。</p>
<p>作为基础的电子信息工程专业学生,阅读这本书相比课程的数电、模电来说更加接近实践环节,有时进行试验时经常出现的诡异现象在这本书中也找到了答案,看书之前觉得两个设备间电路连上了没断就是可以的,看了之后发现电路设计电子硬件竟然有这么多需要考虑的问题。</p>
<p>RS485的素具链路链接方式如图所示:</p>
<p> </p>
<div style="text-align: left;"></div>
<div style="text-align: left;">平时的试验只会用到1主1从设备,本书的RS485介绍了1主多从的方式和方法,在后续的试验中可以进一步学习测试,改变了我对RS485总线的理解。</div>
<div style="text-align: left;">这里分享一部分自己的串口通信代码:</div>
<div style="text-align: left;">
<pre>
<code class="language-cpp">/*
* 初始化UART0
* 115200,8N1,无流控
*/
void uart0_init(void)
{
GPHCON|= 0xa0; // GPH2,GPH3用作TXD0,RXD0
GPHUP = 0x0c; // GPH2,GPH3内部上拉
ULCON0= 0x03; // 8N1(8个数据位,无较验,1个停止位)
UCON0 = 0x05; // 查询方式,UART时钟源为PCLK
UFCON0= 0x00; // 不使用FIFO
UMCON0= 0x00; // 不使用流控
UBRDIV0 = UART_BRD; // 波特率为115200
}
/*
* 发送一个字符
*/
void putc(unsigned char c)
{
/* 等待,直到发送缓冲区中的数据已经全部发送出去 */
while (!(UTRSTAT0 & TXD0READY));
/* 向UTXH0寄存器中写入数据,UART即自动将它发送出去 */
UTXH0 = c;
}
/*
* 接收字符
*/
unsigned char getc(void)
{
/* 等待,直到接收缓冲区中的有数据 */
while (!(UTRSTAT0 & RXD0READY));
/* 直接读取URXH0寄存器,即可获得接收到的数据 */
return URXH0;
}</code></pre>
<p>代码是RS232在使用USB转TTL的方式进行串口通信的代码,硬件开发板也可以通过修改跳线将数据传输模式修改为RS485.</p>
<p>本书的第三章篇幅占全书近一半,详细的介绍RS485的技术细节,包括电缆、信号完整性、电缆选择、故障案例等,非常具备实践指导价值。同时,RS485作为常用程度非常高的通信总线,非常建议新电子工程师详细阅读学习,加强电子技术的风险杜绝、故障排查能力。</p>
<p> </p>
<p><strong>第四章设备硬件复位知识:</strong></p>
<p>硬件复位部分介绍了单片机、ARM、FPGA等的复位介绍,还有看门狗的介绍。</p>
<p>现在的单片机教程很多都会在单片机启动时默认关闭看门狗,有一些不太理解在实际的项目开发中,真的需要管理看门狗吗?还是也和教程中一样默认关闭?</p>
<p>通过学习第四章,我详细的学习了硬件复位的相关知识,但是目前确实用的不多,就不多分享了。希望各位大佬分享下项目经验,是否需要使用看门狗。</p>
</div>
<p> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>感谢分享,RS485可以同时接多设备,但由于没有明确的主从通信规则,所以多设备通信时会有冲突的情况,除非从应用层解决这个问题,否则还是用CAN好</p>
<p>标记一下,后面用到了好学习学习,非常感谢分享,好人一生平安!</p>
<p>RS485具有较高的数据传输速率,通常可达10 Mbps</p>
<p>在实际产品使用中,比如工业应用领域,RS485基本不会设置超过115200,尤其户外应用场合,很多都是设置为9600</p>
<p>感谢楼主分享,新人入门,向前辈学习,还望前辈多多指导<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="48" /></p>
页:
[1]