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