
電腦常用接口知識點介紹第二講::RS-232、RS-485、I2C、SPI、CAN、1-WIRE
五、RS-232: 1、RS-232概述,RS-232接口符合美國電子工業聯盟(EIA)制定的串行數據通信的接口標準,原始編號全稱是EIA-RS-232(簡稱232,RS232)。它被廣泛用于計算機串行接口外設連接,連接電纜和機械、電氣特性、信號功能及傳送過程。2、RS-232電平邏輯,RS-232不同于TTL的電平邏輯,為負邏輯,負12V代表高電平邏輯1,正12V代表低電平邏輯0,電壓也有標準范圍。高電平,邏輯1,-15V to -3V;低電平,邏輯0,+3V to +15;除了TTL和RS232,常見的還有一個CMOS電平標準,電壓范圍如下:3、DB9接口定義, 一般用的最多的是RXD、TXD、GND,三個信號。工業場合還會用到DB-25的RS232,DB9和DB25接口可以轉換。4、USB轉RS-232,USB轉232,可以先將USB轉換為TTL,再將TTL轉換為RS232,當然市面上也有很多USB直接轉RS232的線材,線材內部集成轉換電路,淘寶上某USB轉RS232用的兩個芯片是FT232和SP213。5、TTL和RS-232互轉,單片機接口一般是TTL電平,如果接232電平的外設,就需要加TTL轉RS232的模塊,轉換方向是雙向的。TTL和RS232電平互相轉換最常用的芯片是MAX232和SP3232。
六、RS-485:1、RS-485概述,RS-485和RS-232一樣,都是串行通信標準,現在的標準名稱是TIA/EIA-485-A,習慣稱為RS-485標準,RS-485彌補了RS-232通信距離短,速率低的缺點。RS-485和RS-232單端傳輸不一樣,是差分傳輸,使用一對雙絞線,其中一根線定義為A,另一個定義為B。2、RS-485電平邏輯, RS-485是差分傳輸,一般收發器內部是一個發送器加一個收發器組成。對于使能信號,字母上面加一橫的為低電平有效,不加的為高電平有效。當驅動器使能引腳為邏輯高時,差分輸出和遵循數據輸入處的邏輯狀態。處的邏輯高導致A轉為高,B轉為低。在這種情況下,定義為的差分輸出電壓為正。當為低時,輸出狀態反轉,變高,變低,為負。當低時,兩個輸出都變成高阻抗。在這種情況下,與處的邏輯狀態是不相關的。當接收器使能引腳邏輯低時,接收器被激活。當定義為的差分輸入電壓為正且高于正輸入閾值時,接收機輸出變高。當為負且低于負輸入閾值,接收機輸出變低。如果在和之間,則輸出不確定。當為邏輯高或懸空時,接收機輸出為高阻抗,的大小和極性無關。RS-485電平邏輯說明很多收發器的標準達到甚至超過TIA/EIA-485A規范,在實際使用中,以器件的SPEC參數為主。3、TTL和RS-485轉換,TTL轉成RS-485很常見,收發器芯片市面上很多,比如MAX485,用起來也很簡單,一般左邊接MCU的GPIO,用來控制。4、RS-232和RS-485轉換,RS-232和RS-485之間可以轉換,一個方法是RS-232轉換成TTL,再由TTL轉換為RS-485,當然也有芯片支持將RS-232支持轉換成RS-485,雙向轉換。
七、IIC: 1、IIC概述,IIC總線是由Philips公司開發的一種簡單、雙向二線制同步串行總線,IIC只需要兩根線進行通信,SDA(串行數據線)和SCL(串行時鐘線),同一時刻可以單主機多從機或單主機單從機,I2C總線上的任意設備都可以當主機,一般主機是MCU,當有多個主機時,會通過總線仲裁的方式選出一個主機,其他退出作從機。2、IIC速率,標準模式:100Kbit/s,快速模式:400Kbit/s,高速模式:3.4Mbit/s.
八、SPI: 1、SPI概述,SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線,SPI的速率比I2C高,一般可以到幾十Mbps,不同的器件當主機和當作從機的速率一般不同。2、SPI信號線,MISO – Master Input Slave Output,主設備數據輸入,從設備數據輸出;MOSI – Master Output Slave Input,主設備數據輸出,從設備數據輸入;SCLK – Serial Clock,時鐘信號,由主設備產生;CS – Chip Select,從設備使能信號,由主設備控制;3、SPI典型應用,SPI最典型的應用是單主機單從機。
九、CAN: 1、CAN概述,CAN是Controller Area Network的簡稱,是一種有效支持分布式控制或實時控制的串行通信網絡,現在是汽車網絡的標準協議。2、CAN電平邏輯,
電平 |
邏輯 |
總線Value |
顯性電平 |
0 |
CAN_H=3.5V,CAN_L=1.5V |
隱性電平 |
1 |
CAN_H=2.5V,CAN_L=2.5V |