本文來自電子工程專輯。
上面是頑皮男孩一直在使用的485通信自動收發器電路。
不僅必須向您提供電路,而且還必須向您解釋電路原理。
測得的9600波特率不會有問題,但是115200的波特率就存在問題。
首先讓我們看一下普通的收發器電路。
普通的485電路,除了“將485芯片的RO引腳與RXD連接,而485芯片的DI引腳與TXD連接”之外,還將使用單片機的普通IO引腳連接至RE。
和DE引腳。
當單芯片計算機要發送數據時,它控制CTRL為高電平,并通過TXD發送數據。
當微控制器想要接收數據時,它控制CTRL為低電平,然后通過RXD接收回數據。
但是,自動發送和接收意味著不使用MCU引腳CTRL。
數據輸入時,數據將自動通過RXD傳遞到MCU,而當需要發送數據時,它將自動通過TXD發送出去。
即,僅需要連接單片機的RXD和TXD引腳,而無需使用單片機引腳來連接485芯片的DE RE引腳。
本文的第一張圖片是實現自動發送和接收的電路。
實際上,自動發送和接收電路有幾種連接方法。
今天,我們只研究我經常使用的那個。
許多人會使用此電路,但不了解其原理。
(是的,我在談論您!)因此,今天我將向您解釋每個組件的工作原理。
電阻器R1的作用:RXD將電阻器R1連接到485芯片的RO,其中R1用于限制電流和保護引腳。
R1的大小可以從330歐姆,470歐姆,560歐姆和1K中選擇。
電阻器R2,R3和晶體管Q1:電阻器R2,電阻器R3和NPN晶體管Q1構成典型的晶體管開關電路。
R3是限流電阻,最好為4.7K或10K。
R2是上拉電阻,可以選擇4.7K或10K。
為什么R3是4.7K的最佳選擇?我之前寫過一篇文章,并詳細提到了它。
主要原因是您需要了解在放大區,截止區和飽和區工作的晶體管的特性。
轉到Ruisheng.com并搜索“晶體管”。
有標題為“當使用三極管作為開關時如何選擇基本極限電流電阻”的文章。
NPN晶體管以高電平導通。
每個人都知道這一點。
當TXD為高電平時,晶體管導通,RE DE引腳接地,并進入接收模式。
當TXD為低電平時,晶體管截止,RE DE引腳連接至高電平,并進入發送模式。
電容器C1:C1是電源旁路電容器,用于為485芯片提供干凈的電源并使其穩定工作。
在設計電路板時,如果芯片沒有特殊要求,則需要在每個芯片旁邊放置一個0.1微法拉的電容器。
當進行PCB布線時,電容器與電源引腳之間的距離應在2mm之內。
電阻器R4和R5:R4是連接到B的下拉電阻器。
R5是連接到A的上拉電阻器。
為什么要這樣做,我將在下面討論,現在不是時候,請繼續往下看。
雙向齊納二極管D1,D2,D3:此處使用的雙向齊納二極管模型為SMAJ6.5CA。
它們的功能是將A和B引腳之間的電壓接地,并將A和B引腳之間的電壓限制在6.5V之內,以保護485芯片。
從SP3485芯片手冊獲得,AB的耐壓值在正負15V之內。
有些人很好奇,為什么他們要看這兩個參數?因為兩個引腳AB是驅動器輸出和接收器輸入。
請參見下圖:端子P1:用于連接需要與外部通信的A和B線。
(這似乎不必多說?。┈F在,每個組件的介紹已經完成,讓我們討論為什么可以實現自動發送和接收功能。
您最大的問題是:DI引腳最初連接到TXD,但是電路直接接地,那么發送的數據將始終為0?答案如下。
發送數據的過程:發送數據使用微控制器的TXD引腳,即數據顯示在TXD引腳上。
例如,如果您要發送數據0x55,則將其以二進制格式寫為0x01010101,TXD引腳將使用高電平和低電平依次反射1和0。
當TXD發送0時,晶體管未導通,DE連接到高電平,并進入傳輸模式,485芯片會將DI的電平反映到AB引腳并輸出,因為DI接地,所以AB引腳將發送0。
您看,當TXD發送時