任毅
摘要 在單片機通信技術應用中,紅外線通信技術、?I2C總線通信技術、串口通信技術都是單片機常用的通信技術。單片機在工作中不僅是程序對輸入、輸出端口的控制,還要將數據和相關設備進行通信。筆者從單片機常用的幾種通信技術做了介紹和分析,幾種通信方式各具特點,選擇一種更符合工作場景需求的通信方式才是最佳的通信方式。
【關鍵詞】單片機通信技術 紅外線通信 I2C總線通信 串口通信
隨著生產技術水平的不斷提高,電子產品朝著微型化、智能化的方向迅速發展,工業機器人、智能家居、互聯網+等技術改變了人們的工作和生活方式,單片機迎來了高速的發展。在智能化的通信時代,單片機更要密切的和周邊設備進行有效的通信,紅外線通信方式、總線通信方式、串口通訊方式都是單片機通信技術的常用方式。
1 紅外通信技術
紅外線通信技術是利用了紅外線的發射、接收技術,實現了遠距離、無線控制,它有著設計簡單、價格便宜等優點。
紅外線是一種電磁波,波長在750 nm到1 mm之間。紅外遙控器由鍵盤、振蕩器、單片機和紅外遙控器使用紅外發光二極管(IRLED)產生紅外線,紅外發光二極管組成。鍵盤用于輸入指令,振蕩器產生可靠的頻率穩定的信號,單片機檢測鍵盤上按鍵的狀態,并對紅外信號進行調制,由發光二極管發出紅外線。
紅外接收器將接收到的紅外線轉換成電信號,然后交給單片機進行解碼,從而接收到紅外線遙控器發送的數據或指令,達到用紅外遙控器控制單片機工作的目的。紅外線電磁波不能被遮擋,也不能穿透房間,然而墻壁和天花板會反射紅外線,由于電子產品中紅外線的編碼一般會不同,不會對同房間相鄰設備造成干擾。紅外線接收頭可按入單片機普通I/O端口上,利用程序進行端口掃描通信,成本低、電路簡單、具有性價比高的特點,現廣泛應用于家用電子產品中。
2 12C總線通信技術
12C總線是由飛利浦公司開發的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。主器件用于啟動總線傳送數據,并產生時鐘以開放傳送的器件,此時任何被尋址的器件均被認為是從器件在總線上主和從、發和收的關系不是恒定的,而取決于此時數據傳送方向。如果主機要發送數據給從器件,則主機首先尋址從器件,然后主動發送數據至從器件,最后由主機終止數據傳送;如果主機要接收從器件的數據,首先由主器件尋址從器件,然后主機接收從器件發送的數據,最后由主機終止接收過程。在這種情況下主機負責產生定時時鐘和終止數據傳送。
I2C總線中只需要一根數據線和一根時鐘線,總線接口已經集成在芯片內部,不需要特殊的接口電路,SCL(串行時鐘線)和SDA(串行數據線)都是雙向I/O線,接口電路為開漏輸出,需通過上拉電阻接電源VCC。I2C總線簡化了硬件電路PCB布線,降低了系統成本,提高了系統可靠性。在單片機中用兩只I/O端口分別作為時鐘線SCL和數據線SDA,通過單片機內部程序去控制兩端口對I2C總線上的設備進行啟動、器件尋址、數據傳輸、應答、停止等時序控制,從而對I2C總線上的器件進行通信。單片機應用電路中,24008系列存儲器中就是利用I2C總線控制技術實現的。
I2C總線是一個真正的多主機總線,如果兩個或多個主機同時初始化數據傳輸,可以通過沖突檢測和仲裁防止數據破壞,每個連接到總線上的器件都有唯一的地址,任何器件既可以作為主機也可以作為從機,但同一時刻只允許有一個主機。數據傳輸和地址設定由軟件設定,非常靈活。總線上的器件增加和刪除不影響其他器件正常工作。
3 串口通信技術
串行通信是指設備通信時按位(bit)發送和接收二進制數據的通信方式。單片機用串口RXD、RXD端口、地線和其它設備串口進行通信,由于串口通信是異步的,端口能夠在一根線上發送數據同時在另一根線上接收數據。串行通信方式使用的數據線少,在通信中可以節約通信成本,但其傳輸速度比并行傳輸低。串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗等。對于兩個進行通信的端口,這些參數必須匹配,單片機和其它通信設備才能準確的進行通信。目前常用的串口通信方式有RS-232C、RS-485等。
3.1 上位機PC和單片機的通信
上位機是可以直接發出控制命令的計算機。下位機是直接控制設備獲取設備狀況的控制器,如單片機。上位機發出命令給下位機,下位機得到指令后控制對應設備工作,同時將傳感器等采集到的數據反饋給上位機,上位機以實現對檢測量的實時監控,如屏幕上顯示各種信號變化(液壓,水位,溫度、工作狀態等)信息。由于上位機PC串口的電平與單片機串口的邏輯電平不同,兩者之間不能直接連接,需使用RS-232C接口芯片MAX232進行電平轉換。MAX232不僅解決了電平匹配的問題,還可以增大通信距離。但如果要使用更高的通信速率和更遠的距離,可以使用RS-485接口和MAX485驅動芯片來實現。如果電腦上沒有串口接口,可使用USB轉串口連接線,實現上位機和單片機串口的通訊。上位機可以通過VB、C#等編程語言編寫上位機程序,上位機以良好的操作介面方便操作。下位機可以用C語言編程,將單片機連接的各種傳感器采集到的數據,傳遞給上位機,上位機可以實時監控到傳感器采集到的數據和控制終端設備的運行狀態。上位機PC和單片機的通信,上位機圖形介面操作簡單直觀,但不便于移動,常使用于設備相對固定的場合。
3.2 藍牙設備和單片機的通信
藍牙通信技術是一種支持設備短距離通信(一般是10m之內)的低功耗、低成本無線電技術。能在包括移動電話、PDA、無線耳機、筆記本電腦、相關外設等眾多設備之間進行無線信息交換。它利用短程無線鏈路取代專用電纜,不但免去相互之間連接的麻煩,而且便于人們在室內或戶外流動操作。具有廣泛的應用前景,正受到全球各界的廣泛關注。藍牙技術己從萌芽期進入了壯大發展期,在無線通信、消費類電子和汽車電子以及工業控制領域得到廣泛的應用。類電子和汽車電子以及工業控制領域得到廣泛的應用。藍牙接收集成電路由和射頻(RF)、基帶(BB)和鏈路管理(LM)構成。在單片機終端采用藍牙接收集成模塊常有四個接線端,兩個端口接電源,通信端口中RXD與單片機TXD相連,通信端口中TXD與單片機RXD相連,即讀寫端應交叉連接。在單片機端還應編寫程序控制藍牙集成電路,實現單片機和藍牙集成電路的通信。由于藍牙可以無線通信,故常應用于移動終端的控制,如智能家居中手機終端的APP軟件通過藍牙功能,可以連接到藍牙集成電路中,藍牙集成電路的串口可以將信息傳送到單片機,實現了手機終端可以直接對單片機及控制電路進行有效的控制,實現了手機藍牙和單片機的串口間的通信,常用于智能家居的控制。
在自動化、智能化快速發展的今天,單片機朝著更高、更快的方向發展,新型傳感器的出現,新技術的變革都促進了單片機通信技術的飛躍。在單片機應用方案的設計中,穩壓性、傳輸速率、性價比等都是需要重點考慮的因素,只用這樣才能設計出較好的項目方案。