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