資料介紹
本連載共分6期,將介紹單片機外設功能的結構及使用方法。本期學習的串行通信是單片機重要的作用之一,就是與單片機外部的外圍設備進行信息交換。此時,串行通信起到非常重要的作用。
單片機與外圍設備的連接:并行和串行
單片機是嵌入式設備的“頭腦”,其與作為嵌入式設備的“手和腳”是各種外圍設備(輸入輸出設備等)連接。單片機應該怎樣與這些外圍設備連接才好呢?比如,我們來考慮一下將傳感器與單片機連接的情況。如果使用本連載第1期中介紹的“GPIO”的話,從傳感器向單片機傳送8位信號時需要使用8個引腳。這種傳送模式被稱為并行(并行通信)模式(圖1―左)。但是,僅一個傳感器就需要連接8個引腳,確實太可惜了 ,是否還有連接更少的引腳就能達到同樣目的的方法呢?
此時,可使用串行傳送模式(串行通信)。 “串行”的意思就是直列或直線。通過并行傳送模式(Parallerl Transferring Mode)中需要8個引腳才能實現的通信,在串行傳送模式(Serial Transfer Mode)中,由于可以以排成一直線的模式進行傳送,所以僅需一個引腳就夠了(圖1―右)。由于在單片機內部是通過并行模式來進行信號交換,所以還需將通過串行模式傳送來的信號轉換為并行模式(串行并行轉換)。相反,從單片機向與單片機串行連接的外圍設備傳送的信號也需要將信號從并行模式轉換為串行模式(并行串行轉換)。瑞薩電子的單片機RX63N是通過被稱為SCI(Serial Communication Interface,串行通信接口)的單元進行這些轉換的。例如,使一個引腳對應1位 的char型變量進行信息交換的是并行通信(Parallel communication),而一個引腳以時分(time division)按每1位進行信息交換的就是串行通信(Serial Communication)。
由于串行連接僅使用少數引腳便可進行,所以,近年來多被用于單片機和外圍設備之間的連接。GPIO除了用于將驅動電機的信號及 LED閃爍等軟件操作結果的信號輸出時以外,還被用于通過開關或ON/OFF輸出的傳感器的輸入等。
通過UART便可簡單地使用串行通信
由于電特性的不同,以及用于進行通信協(xié)議的規(guī)定不同,串行通信具有多種方式,其中,最易于使用的應該是“異步通信模式”了。僅需用信號線將單片機和外圍設備連接起來便可使用,所以在單片機與動作監(jiān)視器用的終端之間進行通信時、以及單片機與無線LAN用模塊進行通信時使用。
在異步通信模式的串行通信狀態(tài)下,一字節(jié)的文字信息※1在“開始位”(Start bit,意味著開始發(fā)送)和“停止位”(Stop bit,意味著停止發(fā)送)之間發(fā)送(圖2)。由此,無需 I2C(Inter-Integrated Circuit,內部集成電路)”及“SPI(Serial Peripheral Interface,串行外設接口)”等時鐘信號線(但在其他的串行通信模式中這些時鐘信號線是必需的,以對發(fā)送和接收的時序進行同步)。另外,還可追加用于檢查數據是否已正常發(fā)送的“奇偶校驗位(Parity bit)※2”。
此通信方式所使用的通信用器件被稱為UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器),在瑞薩電子的單片機--RX63N中內置了支持此功能的SCI(串行通信接口)。
(※1)異步串行通信狀態(tài)下,一般都是從“最低有效位(LSB: Least Significant Bit),即最低二進制數位”開始進行發(fā)送的。
(※2)奇偶校驗位(Parity bit):在發(fā)送時按一定量的數據(在SCI中為7位或8位)中所具有“1”(或“0”)的個數為奇數個時定為“1”,為偶數個時定為“0”的奇偶校驗位(使偶校驗(Even Parity Check)、數據及奇偶校驗位中所包括的“1”的數量成為偶數個的方法),并通過與接收側進行校驗,以檢測出數據通信中的錯誤。反之,如果“1”(或“0”)的個數為奇數時定為“0”,為偶數時定為“1”的方法被稱為奇校驗(Odd Parity Check)。
圖2:異步串行通信
在異步通信中,能實現按“單片機→外圍設備”或“外圍設備→單片機”的方向確保數據信號專用的信號線時,被稱為全雙工通信。另一方面,將通過1根信號線來切換通信方向的方式稱為半雙工通信。全雙工方式時需要2根信號線,可同時進行發(fā)送和接收。半雙工方式時僅需1根信號線,但必須在發(fā)送和接收之間進行切換(圖3)。
圖3:全雙工通信和半雙工通信
嘗試向單片機和電腦之間進行通信!
下面,我們通過GR-SAKURA來試用樣本程序。本期我們試著通過可在電腦上運行的終端軟件和GR-SAKURA之間進行通信。也就是試用從終端軟件發(fā)送出“?”(半角問號)后就有“GR-SAKURA”的字符串被傳送回來的程序(圖4)。為了確認該程序的動作狀況,需在電腦上安裝終端軟件。如在Windows系統(tǒng)下可使用免費軟件—TeraTerm,而在Mac系統(tǒng)下建議使用該系統(tǒng)標準配備的軟件—Terminal。
該樣本程序使用了GR-SAKURA的櫻花程序庫“串行通信(Serial Class)”。該程序庫支持全雙工異步通信。
在程序的第8行中,對經由USB的通信進行設定。第13行的Serial.read()是用于設定在串行通信中讀取從電腦發(fā)送過來的數據,在讀取“?”(半角問號)時,就將“GR-SAKURA”字符串傳送回來。如果換作是GR-SAKURA中 所搭載的RX63N單片機來進行處理的話,就是:SCI將電腦傳送來的串行信號轉換為并行信號,再由CPU對“?”進行識別后判斷輸出“GR-SAKURA”字符串,之后 再通過SCI將并行信號轉換為串行信號后發(fā)送到電腦上。
雖然只是非常簡單的程序,但是由此便可實現在GR-SAKURA和電腦之間進行文字信息的交換。本期我們介紹的是固定字符串,但也可發(fā)送GR-SAKURA的處理結果。請大家也作嘗試!
(僅英文版)
圖4:樣本程序:從Terminal輸入“?”后,將傳送回“GR-SAKURA”的信息。
※//~為注釋符,不會影響程序的運行
※本程序僅用于說明程序的原理,并不具有在實際使用時所需的對策。?
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 8位PIC單片機上的通用異步收發(fā)器(UART)
- UART詳解
- STM32-UART通信
- UART通用異步收發(fā)傳輸器的程序和工程文件合集免費下載 1次下載
- AT89S51單片機串行口的詳細資料介紹 13次下載
- 51單片機的IO口如何模擬串行通信實現方法詳細說明 2次下載
- 51單片機串口通信的原理和結構及程序等資料合集免費下載
- 使用51單片機的UART口發(fā)送一個字符的資料和程序免費下載
- 使用51單片機與計算機進行異步串行通信的實戰(zhàn)資料說明
- 使用51單片機實現異步串行雙機通信多字節(jié)傳輸的C語言程序免費下載
- PIC32通用異步收發(fā)傳輸器的詳細中文資料概述
- 通用異步收發(fā)器(UART 21次下載
- uart映射代碼 4次下載
- 通用異步收發(fā)器(UART) 15次下載
- pic單片機與pc機異步串行通信的設計
- 簡單認識UART串行通信協(xié)議 2200次閱讀
- 基于STM32模擬UART串口通信 1703次閱讀
- UART通用異步收發(fā)傳輸器簡述 1043次閱讀
- 通用異步收發(fā)器簡介 1643次閱讀
- UART通用異步收發(fā)傳輸器簡介 1913次閱讀
- UART串口通信協(xié)議詳解 7434次閱讀
- UART通用異步收發(fā)器與I2C總線 1656次閱讀
- 設計基于FPGA的串行通用異步收發(fā)器 1040次閱讀
- 基于Verilog的UART串行通信接口電路設計 2461次閱讀
- 設計基于FPGA的串行通用異步收發(fā)器 884次閱讀
- 單片機串行口介紹,8051單片機的通信方式 1.6w次閱讀
- 電視uart接口干什么的 1.2w次閱讀
- UART和RS-232、RS-422、RS-485的聯系和區(qū)別 1.9w次閱讀
- 單片機與PLC之間的串行通信實現 3.2w次閱讀
- UART學習總結:如何判斷一幀數據收完 7266次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論