




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 基于基于ARM的的 嵌入式嵌入式系統(tǒng)原理及應用系統(tǒng)原理及應用 劉彥文劉彥文 編著編著 2017年年2月月 第 第10章章 微處理器片內(nèi)串行傳輸模塊微處理器片內(nèi)串行傳輸模塊 高等院校信息技術規(guī)劃教材高等院校信息技術規(guī)劃教材 本課件的配套教材本課件的配套教材 基于基于ARM的的嵌入式嵌入式系統(tǒng)原理及應用系統(tǒng)原理及應用 劉彥文劉彥文 清華大學出版社 2017/2 第第10章章 微處理器片內(nèi)微處理器片內(nèi) 串行傳輸模塊串行傳輸模塊 10.1 UART 10.1.1 串行異步通信基礎 串行、異步、全雙工通信 并行通信與串行通信 n計算機與計算機、計算機與外設之間通信方式 可以分為并行通信與串行通信兩種。
2、如圖10.1 所示,并行通信在一個時間單位,或者說一次 傳輸,數(shù)據(jù)線D7-D0同時傳輸8位(bit)數(shù)據(jù); 而串行通信一次傳輸,在發(fā)送數(shù)據(jù)線上只傳輸1 位(bit)數(shù)據(jù)。 圖10.1 并行通信與串行通信 同步、異步傳輸 n串行通信分為同步傳輸、異步傳輸兩種方式。 n同步傳輸要求在發(fā)送方和接收方使用同一個同 步時鐘信號,也就是說每傳送1位數(shù)據(jù),需要使 用另外的同步線傳輸一次同步時鐘信號。 n異步傳輸發(fā)送方和接收方?jīng)]有共同的同步時鐘 信號。發(fā)送方可以在任何時候隨時發(fā)送,接收 方一直在監(jiān)聽并接收信息,雙方各自使用自己 的時鐘信號。由于異步傳輸電路實現(xiàn)相對簡單, 使用較為廣泛。 單工、半雙工、全雙工
3、n串行通信的三種傳輸方式,如圖10.2所示。 n單工指的是數(shù)據(jù)傳輸方向是固定的,只能從一 方(A)送往另一方(B)。 n半雙工雙方均具備發(fā)送和接收數(shù)據(jù)的能力,但 只有一條傳輸線,盡管可以雙向傳輸,但同一 時刻只能一方(A)發(fā)送,另一方(B)接收。 經(jīng)過切換線路,然后才能由B方發(fā)送,A方接收。 n全雙工指雙方均具備發(fā)送、接收能力,發(fā)送和 接收的數(shù)據(jù)分別在兩條不同的線路上傳輸。全 雙工傳輸使用較為廣泛。 圖10.2 串行通信的三種傳輸方式 傳輸率、波特率、數(shù)據(jù)的幀格式 傳輸率、波特率 n傳輸率指每秒傳輸多少位(bit),傳輸率通常 也稱波特率。在計算機中,傳輸率與波特率的 含義是相同的。但在最初的
4、定義上,傳輸率指 每秒傳輸多少位,而波特率是指每秒傳輸?shù)碾x 散信號的個數(shù)。離散信號是指不均勻的、不連 續(xù)的、也不相關的信號。在計算機中,只有兩 種離散信號0和1,所以波特率與每秒傳輸位數(shù) 相同。在某些采用脈沖調(diào)制的設備中,允許取4 種相位,這時傳輸率與波特率是不相同的。 常用的波特率有:9600、19200、38400波特等。 數(shù)據(jù)的幀格式 n串行異步通信數(shù)據(jù)的幀格式,也稱數(shù)據(jù)格式、 字符格式,見圖10.3。 n串行異步通信發(fā)送方和接收方,在開始通信前 要將雙方的波特率設置為同一個數(shù)值,并且設 置數(shù)據(jù)的幀格式為相同格式,然后才能開始傳 輸數(shù)據(jù)。 n一幀數(shù)據(jù)通常由1位起始位(低電平)、58位 數(shù)
5、據(jù)位、1位奇校驗/偶校驗或無校驗位、1位停 止位(高電平)組成。幀與幀之間的空閑位為 高電平。 圖10.3 串行異步通信數(shù)據(jù)的幀格 式 n程序可以對通用異步收發(fā)器(UART)設置波特 率及數(shù)據(jù)的幀格式。假定此處設置波特率為 1200,數(shù)據(jù)位為7位,奇校驗(1位),停止位 1位。那么一幀數(shù)據(jù)共10位(含起始位)。每一 位傳輸時長為1/1200,約為0.833ms。 nCPU將發(fā)送數(shù)據(jù)以字節(jié)為單位送往UART,UART 自動添加起始位、形成奇校驗位后,連同7位數(shù) 據(jù)位按幀格式規(guī)定的次序1位1位發(fā)送,最后發(fā) 送停止位。 n在接收方,UART一直檢測接收線路什么時間從 高電平(發(fā)送方停止位或空閑位)變
6、為低電平, 一但出現(xiàn)低電平,認為收到了發(fā)送方的起始位, 然后再次檢測,又測到低電平,確認為起始位; 否則認為是干擾信號。如果是干擾信號,重新 開始檢測。當確認為起始位后,每隔0.833ms 讀取下一位,直到應該出現(xiàn)停止位的時間,檢 測到高電平,表示一幀數(shù)據(jù)接收完畢。 n接收端總是在每一幀頭部即起始位,進行一次 重新定位。 UART電路模塊 n通用異步收發(fā)器(Universal Asynchronous Receiver and Transmitter,UART)電路模塊, 有的集成在微處理器芯片內(nèi)部,如S3C2410A中 包含了UART;有的集成為一個單獨的芯片,如 Intel 8251A,與
7、8086/8088微處理器配套使用。 電平/邏輯轉(zhuǎn)換 n如果將UART的TxD輸出引腳由電纜直接連接到 另一個UART的RxD輸入引腳,當電纜線長度大 于0.5m時,標準TTL的輸出信號(TxD)傳輸?shù)?對方(RxD)會變得不可靠,通常的方法是連 接線路驅(qū)動器(line driver),如MC1488發(fā)送 器及MC1489接收器、MAX3232收發(fā)器等。 n使用線路驅(qū)動器時,在20kbps的速率下,建議 最大傳輸距離不超過17m。 n使用線路驅(qū)動器連接兩個UART的電路圖,見圖 10.4。 圖10.4 線路驅(qū)動器的使用 n圖10.4中,UART的輸入、輸出是TTL電平信號, 經(jīng)過線路驅(qū)動器后,
8、變成RS-232C電平信號。 另外,RS-232C傳輸?shù)男盘柺菍ART信號經(jīng)過 反相的信號。與RS-232C相關的內(nèi)容詳見10.1.3 節(jié)。 調(diào)制解調(diào)器 n在計算機網(wǎng)絡普及以前,串行異步通信使用很 廣泛。為了使串行異步通信信號能夠遠距離傳 輸,或者通過電話線傳輸,曾經(jīng)廣泛地使用過 調(diào)制解調(diào)器(modem)。調(diào)制解調(diào)器是由調(diào)制 器和解調(diào)器兩部分組成的。圖10.5是串行異步 通信使用MODEM互連的一個例子。 圖10.5 串行異步通信使用MODEM互連舉例 n用一個信號控制另一個信號的某個參數(shù)(例如: 幅值、頻率、相位),使其隨之變化的過程稱 為調(diào)制。這兩個信號分別叫做調(diào)制信號和被調(diào) 制信號。被
9、調(diào)制信號經(jīng)調(diào)制后稱為已調(diào)制信號。 從已調(diào)制信號中還原出被調(diào)制信號的過程稱為 解調(diào)。 n對于發(fā)送,調(diào)制器把數(shù)字信號變成模擬信號 (例如,把數(shù)字“1”調(diào)制成2400Hz的正弦波 信號,把數(shù)字“0”調(diào)制成1200Hz的正弦波信 號)送到傳輸線路上。在接收端,解調(diào)器把模 擬信號還原成數(shù)字信號。 10.1.2 S3C2410A UART組成及操作 UART組成 n位于S3C2410A芯片內(nèi)部的通用異步收發(fā)器提供 了三個獨立的異步串行I/O(Serial I/O,SIO) 端口(或通道)。每個端口能夠基于中斷或基 于DMA方式操作。換句話說,UART能夠產(chǎn)生中 斷或DMA請求,用來在CPU(或內(nèi)存)與UA
10、RT 之間傳輸數(shù)據(jù)。UART各通道也支持查詢方式在 UART與CPU之間傳輸數(shù)據(jù)。使用系統(tǒng)時鐘時, UART能夠支持位傳輸速率最高達到230kbps。 如果外設為UART提供時鐘UEXTCLK,那么 UART能夠以更高的速度操作。 n每個UART通道含有兩個16字節(jié)的FIFO(First In First Out,先進先出)寄存器,一個用于發(fā) 送數(shù)據(jù),一個用于接收數(shù)據(jù)。 n可以對S3C2410A UART如下參數(shù)通過編程設置: 波特率;通常方式或紅外(Infra Red,IR)發(fā) 送/接收方式;1位或2位停止位;58位數(shù)據(jù)位; 奇偶校驗方式。 n如圖10.6所示,每個UART通道含有一個波特率
11、 發(fā)生器,一個發(fā)送器,一個接收器和一個控制 單元。波特率發(fā)生器使用PCLK或UEXTCLK時鐘。 發(fā)送器和接收器各有一個16字節(jié)的FIFO(即緩 沖區(qū))寄存器和移位器。在FIFO方式,要發(fā)送 的數(shù)據(jù)先寫入發(fā)送FIFO寄存器,然后自動復制 到發(fā)送移位器,通過發(fā)送數(shù)據(jù)引腳TxDn移位輸 出;而接收數(shù)據(jù)從接收數(shù)據(jù)引腳RxDn輸入并移 位,然后從接收移位器自動復制到接收FIFO寄 存器。 圖10.6 帶FIFO的UART框圖 n圖10.6中,在FIFO方式,每個緩沖區(qū)寄存器的 全部16字節(jié)用作FIFO寄存器。在非FIFO方式, 僅僅每個緩沖區(qū)寄存器中的1字節(jié)用作保持寄存 器。 n在非FIFO方式,要發(fā)
12、送的數(shù)據(jù)先寫入發(fā)送保持 寄存器,然后自動復制到發(fā)送移位器,通過 TxDn引腳移位輸出;要接收的數(shù)據(jù)通過RxDn引 腳輸入并移位,然后從移位器自動復制到接收 保持寄存器。 S3C2410A中的UART有以下特點: RxD0、TxD0、RxD1、TxD1、RxD2、TxD2可 以基于中斷或基于DMA方式操作,也可以基于 查詢方式操作; UART通道0、1和2支持紅外通信協(xié)議IrDA1.0、 以及16字節(jié)FIFO; UART通道0和1帶有nRTS0、nCTS0、nRTS1和 nCTS1。 UART使用的引腳信號 UART主要操作 nUART主要操作包括數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、RS- 232C接口、紅外方
13、式等內(nèi)容。 數(shù)據(jù)發(fā)送 n發(fā)送數(shù)據(jù)幀格式是可編程的。一幀數(shù)據(jù)由1位起 始位,58位數(shù)據(jù)位,1位可選擇的奇/偶校驗 位或無校驗位、1位或2位停止位組成。 數(shù)據(jù)接收 n與數(shù)據(jù)發(fā)送一樣,接收的數(shù)據(jù)幀格式也是可編 程的。由1位起始位,58位數(shù)據(jù)位,1位可選 擇的奇/偶校驗位或無校驗位、1位或2位停止位 組成。接收器能夠檢測溢出錯誤(overrun error)和幀錯誤(frame error)。 溢出錯誤指示接收器收到的舊數(shù)據(jù)還沒有被讀 走,新收到的數(shù)據(jù)覆蓋了這個舊數(shù)據(jù)。 幀錯誤指示收到的數(shù)據(jù)沒有合法的停止位。 RS-232C接口 n如果用戶要通過RS-232C連接UART到調(diào)制解調(diào) 器接口,nRTS、
14、nCTS、nDSR、nDTR、nDCD 和nRI信號是需要的,但是UART不支持這么多 的信號。在這種情況下,用戶應該使用通用I/O 端口(GPIO),由軟件控制產(chǎn)生這些信號。 紅外方式 nS3C2410A UART模塊支持紅外(Infra Red,IR) 方式發(fā)送和接收數(shù)據(jù),可以在UART線控制寄存 器ULCONn中通過設置紅外方式位指定。圖10.7 給出了紅外方式功能模塊圖。圖中編碼器、解 碼器集成在S3C2410A中。 圖10.7 IrDA功能模塊圖 n在紅外發(fā)送方式,當發(fā)送數(shù)據(jù)位是0時,發(fā)送脈 沖寬度是通常方式(非紅外方式)串行發(fā)送一 位時長的3/16。在紅外接收方式,接收器必須 檢出
15、這個3/16的脈沖,并識別作為0,詳見圖 10.8、圖10.9、圖10.10。 圖10.8 串行I/O幀定時圖(通常方式) 圖10.9 紅外發(fā)送方式幀定時圖 圖10.10 紅外接收方式幀定時圖 10.1.3 S3C2410A UART與RS-232C接口連接舉例 (見383-384) 10.1.4 S3C2410A UART與紅外收發(fā)器連接舉例 (見385-386) 10.2 IIC總線接口總線接口 10.2.1 IIC總線接口概述 n IIC(Intel Integrated Circuit)總線一般稱為內(nèi) 部集成電路總線,也寫作I2C或I2C。IIC總線是 20世紀80年代初由飛利浦公司發(fā)
16、明的一種雙向 同步串行總線,是目前較為常用的一種串行總 線??偩€接口可以做成專用芯片,也可以集成 在微處理器內(nèi)部,如S3C2410A微處理器內(nèi)部就 集成了IIC總線接口模塊。IIC總線可以與許多設 備連接,如圖10.14所示。 圖10.14 IIC總線連接示意圖 nIIC總線數(shù)據(jù)傳送速率在標準模式下為100kb/s; 快模式下為400kb/s;高速模式下為3.4Mb/s。 nIIC總線僅有兩條信號線:SDA(Serial Data Line,串行數(shù)據(jù)線)是數(shù)據(jù)信號線,SCL (Serial Clock Line,串行時鐘線)是時鐘信號 線,另外設備之間還要連接一條地線,圖10.14 中未畫出地
17、線。 n與IIC總線連接的設備,使用集電級/漏級開路門 電路,以“線與”(Wired-AND)方式分別連 接到SDA、SCL線上,SDA和SCL線要外接上拉 電阻,如圖10.14所示。 n連接到IIC總線上的設備可以分為總線主設備和 總線從設備。 n總線主設備是能夠發(fā)起傳輸、發(fā)出從設備地址 和數(shù)據(jù)傳輸方向標識、發(fā)送或接收數(shù)據(jù)、能夠 產(chǎn)生時鐘同步信號、能夠結束傳輸?shù)脑O備???線主設備也稱總線主、主設備。 n總線從設備是能被主設備尋址、接收主設備發(fā) 出的數(shù)據(jù)傳輸方向標識、接收主設備送來的數(shù) 據(jù),或者給主設備發(fā)送數(shù)據(jù)的設備。總線從設 備也稱從設備。 nIIC總線是一個真正的多主(multi-mast
18、er)總 線,總線上可以連接多個總線主設備,也可以 連接多個總線從設備,如圖10.15所示。 n圖10.15中沒有畫出上拉電阻,在實際使用IIC 總線時,應該連接上拉電阻。 n每一個連接在IIC總線上的設備,在系統(tǒng)中都被 分配了一個唯一的地址。地址用7位二進制數(shù)表 示。擴展的IIC總線允許使用10位地址。設備地 址用7位表示時,地址為0000000的一般用于發(fā) 出通用呼叫,也稱總線廣播。 圖10.15 多主IIC總線結構 nIIC總線被設計成多主總線結構,多個主設備中 的任何一個,可以在不同時刻起到主控設備的 作用,因此不需要一個全局的主控設備在SCL上 產(chǎn)生時鐘信號。只有傳輸數(shù)據(jù)的主設備驅(qū)動
19、SCL。 當總線空閑時,SDA和SCL同時為高電平。 nIIC多主總線接口中含有沖突檢測機制,保證了 多個主設備同時要求發(fā)送數(shù)據(jù)時,只能有一個 主設備占有總線,不會造成數(shù)據(jù)沖突。 n當兩個主設備試圖同時改變SDA和SCL到不同電 平時,集電級/漏級開路門電路能夠防止電路發(fā) 生錯誤,但是每一個主設備在傳送時必須監(jiān)聽 總線狀態(tài),以確保傳輸數(shù)據(jù)之間不會互相影響。 n當一個總線主設備試圖發(fā)送數(shù)據(jù)到一個從設備 時,主設備必須先送出從設備的7位地址和1位 表示傳輸方向的二進制數(shù),0表示寫,數(shù)據(jù)傳輸 方向是由主設備到從設備。 n當一個總線主設備試圖讀出一個從設備的數(shù)據(jù) 時,主設備必須先送出從設備的7位地址和
20、1位 表示傳輸方向的二進制數(shù),1表示讀,數(shù)據(jù)傳輸 方向是由從設備到主設備。 n總線主設備數(shù)據(jù)傳輸基本狀態(tài)及轉(zhuǎn)換如圖10.16 所示。 圖10.16 總線主設備數(shù)據(jù)傳輸基本狀態(tài)圖 10.2.2 S3C2410A IIC總線接口特點 IIC總線接口特點 nS3C2410A微處理器支持一個多主IIC總線串行 接口。一條雙向串行數(shù)據(jù)線(SDA)和一條串 行時鐘線(SCL),在連接到IIC總線上的總線 主設備和外部設備(總線從設備)之間傳輸信 息。S3C2410A片內(nèi)IIC接口既可以作為總線主 設備,也可以作為總線從設備。SDA和SCL線是 雙向總線。 n在多主IIC總線模式,多個S3C2410A芯片中
21、每一 個的IIC,能夠接收由從設備發(fā)送來的串行數(shù)據(jù), 或發(fā)送串行數(shù)據(jù)給從設備。主S3C2410A IIC能夠 啟動或停止IIC總線的數(shù)據(jù)傳輸。在S3C2410A中, 標準的總線仲裁過程用于IIC總線。 n當IIC總線空閑時,SDA和SCL兩條線都應該是高 電平。 n當SCL穩(wěn)定在高電平,SDA從高電平變到低電平, 能夠啟動開始條件;而SDA從低電平變到高電平 能夠啟動停止條件,參見圖10.18。 n開始和停止條件總是由主設備產(chǎn)生。開始條件 之后總線上傳輸?shù)牡谝蛔止?jié)數(shù)據(jù)中的7位是地址 值,能夠確定總線主設備所選擇的從設備,另 外一位確定傳輸?shù)姆较蚴亲x還是寫,參見圖 10.19。 n送到SDA線上
22、的每個數(shù)據(jù)以字節(jié)為單位,為8位。 在總線傳輸期間發(fā)送或接收的字節(jié)數(shù)沒有限制。 數(shù)據(jù)先從最高有效位(Most-Significant Bit, MSB)發(fā)送,每一字節(jié)之后應該立即被跟隨一 個響應(ACKnowledge,ACK)位,參見圖 10.19。 IIC總線接口用到的S3C2410A引腳信號 nIIC總線接口用到的引腳信號有: IICSDA,IIC總線數(shù)據(jù); IICSCL,IIC總線時鐘。 10.2.3 S3C2410A IIC總線接口組成及操作方式中 的功能關系 IIC總線接口組成框圖 nS3C2410A微處理器IIC總線接口組成框圖見圖 10.17。 nSDA數(shù)據(jù)線和SCL時鐘線也稱為
23、IICSDA和IICSCL。 nPCLK為系統(tǒng)時鐘信號。IICCON、IICSTAT、 IICADD、IICDS均為特殊功能寄存器。 nS3C2410A微處理器IIC總線數(shù)據(jù)傳輸速率支持 標準模式和快模式。 圖10.17 IIC總線接口組成框圖 IIC總線接口操作方式中的功能關系 nS3C2410A IIC總線接口有4種操作方式,分別是 主/發(fā)送方式、主/接收方式、從/發(fā)送方式和從/ 接收方式。 n這些操作方式中的功能關系描述如下: 開始條件和停止條件 n當IIC總線接口處于非激活狀態(tài)時,它通常處于 從方式。換句話說,在SDA線上檢出開始條件 之前,接口應在從方式。當時鐘信號SCL為高電 平,
24、SDA從高電平變?yōu)榈碗娖?,開始條件能夠 被啟動,接口狀態(tài)被改變成主方式,在SDA線 上的數(shù)據(jù)傳輸能夠被啟動,并且SCL信號產(chǎn)生。 n開始條件(start condition)和停止條件(stop condition)見圖10.18。 圖10.18 開始條件和停止條件 n開始條件能夠傳輸一字節(jié)串行數(shù)據(jù)通過SDA線, 而停止條件能夠終止數(shù)據(jù)傳輸。停止條件是在 SCL為高電平,SDA從低電平變?yōu)楦唠娖綍r出現(xiàn)。 開始和停止條件總是由主設備產(chǎn)生。當開始條件 被產(chǎn)生,IIC總線忙;當停止條件后幾個時鐘周 期之后,IIC總線被釋放。 n當主設備啟動開始條件后,它應該發(fā)送一個從設 備地址,用于通知從設備。一字
25、節(jié)的地址域由 7 位地址和1位傳輸方向標識(讀或?qū)懀┙M成。 n主設備通過發(fā)送一個停止條件表示結束傳輸操 作。如果主設備要再次傳輸數(shù)據(jù)到從設備,它 應該產(chǎn)生另一個開始條件,并且含有從設備地 址和讀寫標識。 數(shù)據(jù)傳輸格式 n發(fā)送到SDA線上的每個字節(jié)長度是8位。每次傳 輸?shù)淖止?jié)數(shù)沒有限制。第一字節(jié)跟隨開始條件 并且含有地址和讀寫標識。地址和讀寫標識由 主設備發(fā)送。每字節(jié)后應跟隨1位響應位ACK。 數(shù)據(jù)或地址的最高有效位MSB總是被首先發(fā)送。 n帶有7位地址的IIC總線接口數(shù)據(jù)傳輸格式詳見 圖10.19。 圖10.19 帶有7位地址的IIC總線接口數(shù)據(jù)傳輸格式 n圖10.19中S表示開始條件,P表示
26、停止條件,A 表示響應位ACK。圖中淺色部分表示由主設備 傳輸?shù)綇脑O備,深色部分表示由從設備傳輸?shù)?主設備。 n圖10.20表示IIC總線上的數(shù)據(jù)傳輸過程。 圖10.20 在IIC總線上的數(shù)據(jù)傳輸 ACK信號傳輸 n為了結束1字節(jié)傳輸,接收器應該發(fā)送1個ACK 位給發(fā)送器。ACK脈沖應該出現(xiàn)在SCL線上第9 個時鐘脈沖期間。主設備產(chǎn)生這個時鐘脈沖, 請求傳送ACK位。在此期間發(fā)送器釋放SDA線 (使SDA線為高電平),接收器驅(qū)動SDA線為低 電平,表示ACK信號。 nACK位傳送功能能夠被允許或禁止,可以通過 軟件設置特殊功能寄存器IICCON的bit7實現(xiàn)。 n在IIC總線上的響應信號見圖1
27、0.21。 圖10.21 IIC總線上的響應信號 讀寫操作 n在發(fā)送方式,也就是寫方式,一個數(shù)據(jù)被IIC總 線接口傳輸后,IIC總線接口將等待,直到多主 IIC總線發(fā)送/接收數(shù)據(jù)移位寄存器IICDS被CPU 寫入新的數(shù)據(jù)。在新的數(shù)據(jù)寫入之前,SCL線保 持低電平。新數(shù)據(jù)寫入后,SCL線被釋放。 S3C2410A通過中斷識別當前數(shù)據(jù)傳輸是否完成。 CPU收到中斷請求后,應該寫一個新的數(shù)據(jù)到 IICDS寄存器。 n在接收方式,一個數(shù)據(jù)被IIC總線接口接收后, IIC總線接口將等待,直到IICDS寄存器被CPU讀 出。在這個新的數(shù)據(jù)被CPU讀出前,SCL線保持 低電平。CPU從IICDS寄存器讀出這
28、個新的數(shù)據(jù) 后,SCL線被釋放。S3C2410A通過中斷識別新 的數(shù)據(jù)接收已經(jīng)完成。CPU收到中斷請求后, 應該從IICDS寄存器讀出數(shù)據(jù)。 總線仲裁過程 n總線仲裁發(fā)生在SDA線上,用于阻止在總線上兩 個主設備的競爭。如果一個主設備在SDA線上送 出高電平,并且這個主設備檢測到另一個主設備 在SDA線上送出的是低電平,它將不啟動數(shù)據(jù)傳 輸,因為當前在總線上的電平不代表它自己的電 平。仲裁過程將延續(xù)到SDA線變成高電平。 n當多個主設備同時在SDA線上送出低電平,每個 主設備應該評估主設備權是否分配給自己。為了 達到這個目的,每一個主設備應該檢測地址位。 n由于每個主設備要送出一個從地址,它也
29、同時 檢測在SDA線上的地址位信號。因為在SDA線上 保持低電平的能力比保持高電平的能力更強 (開路門電路線與的原因),所以如果一個主 設備在第一個地址位送出低電平,而另一個主 設備維持高電平,在這種情況下,兩個主設備 都檢測在總線上是否為低電平。這時發(fā)送地址 位為低電平并檢測到低電平的主設備獲得主設 備權,而發(fā)送地址位為高電平并檢測到低電平 的主設備將不再傳送。如果兩個主設備送出的 第一位地址同時為低電平,則對第二位地址進 行仲裁,依此類推。 中止條件(abort condition) n如果一個從設備的接收器不能對從設備的地址 確認,沒有產(chǎn)生響應信號ACK,并保持SDA線為 高電平,在這種
30、情況下,主設備應該產(chǎn)生停止 條件并且中止(abort)傳輸。 n如果主設備是接收方,主設備接收器要中止 (abort)傳輸,它應該發(fā)出信號,結束從設備 的傳輸操作。方法是在收到從設備最后一個字 節(jié)數(shù)據(jù)后不產(chǎn)生ACK信號應答,然后從設備發(fā) 送器應該釋放SDA線,允許主設備產(chǎn)生停止條 件。 配置IIC總線 n為了控制SCL的頻率,在IICCON寄存器中4位預 分頻的值能被編程。另外,IIC總線接口地址被 存放在IIC總線地址寄存器IICADD中。 10.2.4 S3C2410A IIC總線接口4種操作方式 nS3C2410A微處理器IIC總線接口有4種操作方式: 主/發(fā)送方式; 從/接收方式; 主
31、/接收方式; 從/發(fā)送方式。 n在主/發(fā)送方式時,首先要指定從地址,即接收 方(從設備)的地址,這個地址要由主設備發(fā) 送出去,傳送到從設備,所以在主/發(fā)送方式時, 首先要由處理器將從地址寫入IIC總線發(fā)送/接收 數(shù)據(jù)移位寄存器IICDS中。 n在從/接收方式時,IIC總線地址寄存器IICADD 內(nèi)容,是由處理器寫入的,并且在從設備中保 存的,是從設備自己的地址。當處在從/接收方 式的設備,從IIC總線收到從地址時,保存在 IICDS寄存器中,與自己的IICADD寄存器中的 從地址比較,判斷收到的地址是否是自己的地 址。如果是,該從設備接收由主設備發(fā)送來的 數(shù)據(jù)。 n在多主IIC總線系統(tǒng)中,主設
32、備也可以處在接收 方式,因此要指定的從地址是從設備發(fā)送方的 地址,這個地址要由主設備發(fā)送出去,傳送到 從設備,所以在主/接收方式時,從地址要寫入 IIC總線發(fā)送/接收數(shù)據(jù)移位寄存器IICDS中。 n當處在從/發(fā)送方式的設備,收到這個地址時, 保存在IICDS寄存器中,要與IICADD寄存器中 自己的地址比較,判斷收到的地址是否是自己 的地址,如果是,從設備發(fā)送數(shù)據(jù),主設備接 收數(shù)據(jù)。 10.3 IIS總線接口總線接口 10.3.1 常用IIS總線接口概述 n目前許多數(shù)字電子產(chǎn)品,如便攜式CD機、手機、 MP3、VCD、DVD和數(shù)字電視機等,都使用了數(shù) 字音頻系統(tǒng)。 nIIS(Intel-IC
33、Sound)總線一般稱為集成電路 內(nèi)部聲音總線,也寫作I2S或I2S(由于 S3C2410A英文資料中,IIS在相關引腳信號和 文字描述中使用了不同的寫法,如IIS、I2S或 I2S,本章也沿用這些寫法)。 nIIS總線源于SONY和PHILIPS等公司共同提出的 一個串行數(shù)字音頻總線協(xié)議,許多音頻編解碼器 (CODEC)和微處理器都提供了對IIS總線的支 持。 nIIS總線只傳輸音頻數(shù)據(jù),其他信號(如控制信 號)必須另外單獨傳輸。 n為了盡可能減少芯片引腳數(shù),通常IIS只使用3 條串行總線(不同芯片可能會有所不同),3條 線分別是: 提供分時復用功能的數(shù)據(jù)線SD,SD傳輸數(shù)據(jù)時 由時鐘信號同
34、步控制,且以字節(jié)為單位傳輸, 每字節(jié)的數(shù)據(jù)傳輸從左邊的二進制位MSB開始; 字段選擇線WS,WS為0或1表示選擇左聲道或 右聲道; 時鐘信號線SCK,能夠產(chǎn)生SCK信號的設備稱為 主設備,從設備引入SCK作為內(nèi)部時鐘使用。 nIIS總線接口支持通常的IIS和MSB-justified (MSB調(diào)整IIS)兩種數(shù)據(jù)格式。 10.3.2 S3C2410A IIS總線接口概述 IIS總線接口應用舉例 nS3C2410A內(nèi)部集成了IIS總線接口模塊,圖 10.22是S3C2410A與PHILIPS公司數(shù)字音頻串行 輸入/輸出接口芯片UDA1341TS連接的一個例子。 n圖10.22中UDA1341TS
35、是一個低成本、小尺寸、 低功耗、高性能的立體聲音頻編解碼器,支持 IIS和L3兩種接口。片內(nèi)有音頻數(shù)據(jù)使用的A/D 轉(zhuǎn)換器和D/A轉(zhuǎn)換器。 n芯片提供了兩個麥克風輸入通道,分別連接到 VINL1和VINR1、VINL2和VINR2引腳。 n芯片提供了一路輸出,通過VOUTR和VOUTL與 揚聲器連接。 n片內(nèi)配置了可編程增益放大器和自動增益控制 器,揚聲器音量可以編程調(diào)節(jié)或進入靜音狀態(tài); 在ADC路徑上,還提供了可編程濾波器、混頻 器等。 圖10.22 S3C2410A與UDA1341TS連接 n圖10.22中S3C2410A與UDA1341TS的連線由兩 組接口組成。 n一組是IIS總線接口
36、,在S3C2410A端信號是: CDCLK(CODEC系統(tǒng)時鐘); I2SSCLK(IIS總線串行時鐘); I2SLRCK(IIS總線聲道選擇時鐘); I2SSDI(IIS總線串行數(shù)據(jù)輸入); I2SSDO(IIS總線串行數(shù)據(jù)輸出)。 n另一組是L3總線接口,在S3C2410A端連接到 GPG10、GPG8、GPG9,在UDA1341TS端連接 到L3DATA(L3總線數(shù)據(jù),輸入/輸出)、 L3MODE(L3總線模式,輸入)、L3CLOCK (L3總線時鐘,輸入)。 S3C2410A IIS總線接口特點 nS3C2410A微處理器中的IIS總線接口能被用于 實現(xiàn)一個CODEC接口,連接外部帶有
37、8位或16 位立體聲CODEC IC,如mini-disc和其它便攜的 設備。IIS支持IIS總線數(shù)據(jù)格式和MSB-justified 數(shù)據(jù)格式。IIS總線接口對FIFO存取提供了DMA 傳輸方式和通常傳輸方式。它能夠同時發(fā)送和 接收數(shù)據(jù),或只發(fā)送數(shù)據(jù),或只接收數(shù)據(jù)。 IIS總線接口用到的S3C2410A引腳信號 n用到的引腳信號有:I2SLRCK、I2SSDO、 I2SSDI、I2SSCLK和CDCLK。另外,可以使用 GPIO中的GPG10、GPG8和GPG9引腳與L3總線 對應引腳連接,也可以使用其他端口引腳與L3 總線對應引腳連接,作為L3總線的信號線。 10.3.3 S3C2410A
38、 IIS總線接口組成和發(fā)送/接收方 式 IIS總線接口組成框圖 nS3C2410A微處理器IIS總線接口組成框圖見圖 10.23。 n在圖10.23中,BRFC表示總線接口、寄存器組 和狀態(tài)機??偩€接口邏輯和FIFO存取由狀態(tài)機 控制。 nIPSR_A和IPSR_B是兩個5位的預分頻器。一個 用于IIS總線接口的主時鐘發(fā)生器,另一個用于 外部CDCLK時鐘發(fā)生器。 圖10.23 IIS總線接口組成框圖 n送數(shù)據(jù)時,數(shù)據(jù)被寫入TxFIFO;接收數(shù)據(jù)時, 從RxFIFO讀出數(shù)據(jù)。TxFIFO和RxFIFO長度各為 64字節(jié)。 nSCLKG稱為主I2SSCLK產(chǎn)生器,在主方式時,串 行位時鐘由主時鐘
39、產(chǎn)生。 nCHNC表示聲道發(fā)生器和狀態(tài)機。由聲道狀態(tài)機 產(chǎn)生并控制I2SSCLK和I2SLRCK。 nSFTR表示16位移位寄存器。在發(fā)送方式,并行 數(shù)據(jù)被移位串行輸出;在接收方式,串行數(shù)據(jù) 移位輸入形成并行數(shù)據(jù)。 IIS總線接口發(fā)送/接收方式 只發(fā)送或只接收方式 只發(fā)送或只接收方式可以采用通常(normal)傳 輸方式或DMA傳輸方式。 通常傳輸方式 在IIS控制寄存器IISCON中,有兩個標志位分別 表示發(fā)送FIFO準備好或接收FIFO準備好。這兩 個標志位能夠用于確定CPU寫或讀FIFO的時間。 當CPU以這種方式發(fā)送或接收FIFO數(shù)據(jù)時,串 行數(shù)據(jù)能被送出或接收。 DMA傳輸方式 在這
40、種方式下,由DMA控制器控制發(fā)送或接收 FIFO的存取。在發(fā)送或接收方式,DMA服務請 求自動地由發(fā)送或接收FIFO準備好標志去產(chǎn)生。 同時發(fā)送和接收方式同時發(fā)送和接收方式 在這種方式下,IIS總線接口能同時發(fā)送和接收 數(shù)據(jù)。 10.3.4 S3C2410A IIS音頻串行接口數(shù)據(jù)格式 IIS總線格式 n與S3C2410A連接的IIS總線中,除了系統(tǒng)時鐘 CDCLK外的4條線,分別是串行數(shù)據(jù)輸入I2SSDI、 串行數(shù)據(jù)輸出I2SSDO、左右聲道選擇時鐘 I2SLRCK和串行時鐘I2SSCLK。能夠產(chǎn)生 I2SLRCK和I2SSCLK時鐘信號的設備是主設備。 n串行數(shù)據(jù)以2的補碼格式傳輸,先傳送
41、MSB。先 傳送MSB是由于發(fā)送器和接收器可能有不同的字 長。發(fā)送器無需知道接收器能夠處理的位數(shù),接 收器也無需知道發(fā)送器發(fā)送的位數(shù)。 n當系統(tǒng)的一個字的長度比發(fā)送器的一個字的長 度更長時,系統(tǒng)的數(shù)據(jù)中的每個字的低有效位 被截掉(低有效位數(shù)據(jù)被設置為0),作為發(fā)送 數(shù)據(jù)。如果接收器收到的位數(shù),比接收器一個 字的長度更長時,接收器LSB(Least Significant Bit,最低有效位)以后的位被忽略。 如果接收器收到的位數(shù)比它的字的長度短,那 么缺省的位在內(nèi)部被置為0。最高有效位有固定 的位置,而最低有效位取決于字長。在 I2SLRCK改變后經(jīng)過1個時鐘周期之后,發(fā)送器 發(fā)送下一個字的最
42、高有效位,見圖10.24。 n串行數(shù)據(jù)通過發(fā)送器發(fā)送,雖然同步可以使用 時鐘信號的后沿(從高到低)或前沿(從低到 高),然而在串行時鐘信號的前沿,串行數(shù)據(jù) 必須被鎖存到接收器。由于這個限制,傳輸數(shù) 據(jù)被同步只能使用時鐘信號的前沿。 n左右聲道選擇線指示正在傳輸?shù)臄?shù)據(jù)所在的聲 道。I2SLRCK能夠在串行時鐘信號的后沿或前 沿改變,而它的長度不需要對稱。在從設備, I2SLRCK信號在時鐘信號的前沿被鎖存。 I2SLRCK在最高有效位被傳送的前一個周期改 變。 MSB(LEFT)JUSTIFIED數(shù)據(jù)格式 MSB(left)justified數(shù)據(jù)格式與IIS總線有基本 相同的數(shù)據(jù)格式,與IIS總
43、線數(shù)據(jù)格式不同之處 是下一個字的最高有效位在I2S LRCK改變后發(fā) 送,見圖10.24。 圖10.24 IIS總線格式和MSB(left)justified數(shù)據(jù)格式 10.4 SPI總線接口總線接口 10.4.1 常用SPI總線接口概述 nSPI(Serial Peripheral Interface)一般稱為串 行外設接口,是Motorola在其MC68HCxx微處理 器系列中定義的一種標準接口,實現(xiàn)了一個串 行同步協(xié)議,目前在嵌入式系統(tǒng)中得到了廣泛 的應用。SPI采用同步、全雙工串行傳輸技術, 業(yè)內(nèi)也稱為同步串行總線接口。 nSPI允許計算機與計算機、微處理器與外設之間 串行同步通信???/p>
44、以與SPI通信的外設有:ADC、 DAC、LCD、LED、外置閃存、網(wǎng)絡控制器等等。 另外還有許多廠家生產(chǎn)的多種標準外圍器件可 以與SPI接口。通信時,雙方要規(guī)定好一個為主 設備,另一個(或多個)為從設備。主設備也 允許選擇工作在主方式或從方式。當帶有SPI接 口的兩個計算機之間通信時,通常每個計算機 的SPI允許選擇使用主方式或從方式。 n計算機與計算機、微處理器與外設使用SPI總線 連接舉例見圖10.25和圖10.26。 圖10.25 計算機與計算機使用SPI總線連接 圖10.26 微處理器與外設使用SPI總線連接 n連接在SPI總線上的多個從設備,某一時刻只有 一個,即被主設備選中的那個從設備,能與主 設備通信。其他未被選中的從設備不能與主設 備通信。 n通信中主設備和被選中的從設備使用同一個時 鐘,主設備創(chuàng)建并發(fā)送時鐘信號(以下簡稱時 鐘),從設備接收時鐘,主設備和從設備使用 同一個時鐘將數(shù)據(jù)送出和鎖存。 nMotorola SPI總線通常包含4條I/O線。 nSS(Slave Select):從設備
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 火災應急預案培訓制度(3篇)
- 2025年法學概論考試的知識掌握方式與試題及答案
- 2025年科技進步對戰(zhàn)略影響試題及答案
- 行政法與社會資本的關系探討試題及答案
- 2025年信息技術應用能力試題及答案
- 2025年法學概論的實務考察及試題及答案
- 行政法學重要時事考題及答案
- 開源軟件項目2025年考試試題及答案
- 2025年網(wǎng)絡管理資格考核試題及答案
- 2025二手筆記本電腦轉(zhuǎn)讓合同
- 安措費清單完整版本
- 人教版五年級數(shù)學下冊全冊分層作業(yè)設計含答案
- 民法典企業(yè)宣講會
- 學校減免校服政策方案
- 企業(yè)管理中的組織行為學
- 培訓課件 -華為鐵三角工作法完全解密
- 貨物儲存、運輸環(huán)節(jié)的質(zhì)量保證措施
- 三對三籃球賽記錄表
- 配電柜例行檢驗報告1
- 小學生成長主題班會 只爭朝夕不負韶華-勵志主題 課件 (共27張PPT)
- 市職業(yè)技能培訓工作調(diào)研報告
評論
0/150
提交評論