![串行通信接口_第1頁](http://file4.renrendoc.com/view/0351f03a757ab99f9e4b72dbe5d5575e/0351f03a757ab99f9e4b72dbe5d5575e1.gif)
![串行通信接口_第2頁](http://file4.renrendoc.com/view/0351f03a757ab99f9e4b72dbe5d5575e/0351f03a757ab99f9e4b72dbe5d5575e2.gif)
![串行通信接口_第3頁](http://file4.renrendoc.com/view/0351f03a757ab99f9e4b72dbe5d5575e/0351f03a757ab99f9e4b72dbe5d5575e3.gif)
![串行通信接口_第4頁](http://file4.renrendoc.com/view/0351f03a757ab99f9e4b72dbe5d5575e/0351f03a757ab99f9e4b72dbe5d5575e4.gif)
![串行通信接口_第5頁](http://file4.renrendoc.com/view/0351f03a757ab99f9e4b72dbe5d5575e/0351f03a757ab99f9e4b72dbe5d5575e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022/9/271第8章 串行通信接口8.1 串行通信基礎(chǔ)知識(shí)8.2 S3C2410串行接口 8.3 串行通信舉例8.4 IIS串行數(shù)字音頻接口2串行通信的特點(diǎn): 在串行通信中,只用一根通信線在一個(gè)方向上傳輸信息,這根線上既要傳送數(shù)據(jù)信息又要傳送聯(lián)絡(luò)信息,這是串行通信的首要特點(diǎn)。為了能夠識(shí)別在一根線上串行傳送的信息流中,哪一部分是聯(lián)絡(luò)信息,哪一部分是數(shù)據(jù)信息,就需要通信雙方事先作出一系列的通信約定,這就是協(xié)議。因此,串行通信的第二個(gè)特點(diǎn)是它的信息格式必須事先用協(xié)議約定。8.1 串行通信基礎(chǔ)知識(shí)2022/9/2738.1 串行通信基礎(chǔ)知識(shí)串行數(shù)據(jù)傳送模式單工半雙工 全雙工 2022/9/274
2、8.1 串行通信基礎(chǔ)知識(shí)串行通信方式 異步串行通信方式 異步式傳輸把每一個(gè)字符當(dāng)作獨(dú)立的信息來傳送,并按照一固定且預(yù)定的時(shí)序傳送,但在字符之間卻取決于字符與字符的任意時(shí)序。而一個(gè)完整的字符傳送,包含一個(gè)起始位以及所欲傳送的字符,加上校驗(yàn)位和停止位。 異步通信必須遵循的3項(xiàng)規(guī)定:幀格式 波特率 校驗(yàn)位 2022/9/2758.1 串行通信基礎(chǔ)知識(shí)串行通信方式 異步串行通信方式 幀格式 2022/9/2768.1 串行通信基礎(chǔ)知識(shí)串行通信方式 異步串行通信方式 波特率:波特率就是傳送數(shù)據(jù)位的速率,用位/秒(bit/s)表示。例如,數(shù)據(jù)傳送的速率為120字符/秒,每幀包括10個(gè)數(shù)據(jù)位,則傳送波特率為
3、: 10 位/字符120字符/秒=1200位/秒=1200波特2022/9/2778.1 串行通信基礎(chǔ)知識(shí)串行通信方式 異步串行通信方式 校驗(yàn)位:由于對字符傳送做正確性檢查,可以分為奇校驗(yàn)和偶校驗(yàn)。奇校驗(yàn)就是字符中有奇數(shù)個(gè)“1”,該位置1,否則為0;偶校驗(yàn)就是字符中有偶數(shù)個(gè)“1”,該位置1,否則為0。 2022/9/2788.1 串行通信基礎(chǔ)知識(shí)串行通信方式 異步串行通信方式 異步通信是按字符傳輸時(shí),每傳送一個(gè)字符是用起始位來通知收方,以此來重新核對收發(fā)雙方同步。一幀數(shù)據(jù)的各位代碼間的時(shí)間間隔是固定的,而相鄰兩幀的數(shù)據(jù)其時(shí)間間隔是不固定的。在異步通信的數(shù)據(jù)傳送中,傳輸線上允許空字符。每個(gè)字符傳
4、送時(shí),必須前面加一起始位,后面加上1、1.5或2位停止位。例如ASCII碼傳送時(shí),一幀數(shù)據(jù)的組成是:前面1個(gè)起始位,接著7位ASCII編碼,再接著一位奇偶校驗(yàn)位,最后一位停止位,共10位。2022/9/2798.1 串行通信基礎(chǔ)知識(shí)串行通信方式 同步串行通信方式 同步串行通信方式中一次連續(xù)傳輸一塊數(shù)據(jù)(常稱之為信息幀),開始前使用同步字符作為同步的依據(jù)。字符塊之后再加入適當(dāng)?shù)腻e(cuò)誤檢測數(shù)據(jù)才傳送出去。采用同步通信時(shí),在傳輸線上沒有字符傳輸時(shí),要發(fā)送專用的“空閑”字符或同步字符,其原因是同步傳輸字符必須連續(xù)傳輸,不允許有間隙,所以,同步串行通信方式傳輸效率高。但電路結(jié)構(gòu)復(fù)雜,對硬件要求高。 誤碼檢
5、測一般采用CRC(循環(huán)冗余校驗(yàn))校驗(yàn)法 。10串行接口概述1. 串行接口基本功能 串行接口基本功能如下圖所示。112. 異步串行通信接口基本結(jié)構(gòu) 異步串行通信接口也稱為異步接收發(fā)送器,簡稱UART,典型的異步通信接口(UART基本結(jié)構(gòu))。123.異步串行通信接口的錯(cuò)誤 下面簡單介紹異步串行通信常見的錯(cuò)誤。(1)奇偶校驗(yàn)錯(cuò) 在約定奇偶檢查的情況下,接收到的字符奇偶狀態(tài)和約定不符。(2)幀出錯(cuò) 一個(gè)字符從起始位到停止位的總數(shù)有誤。(3)溢出錯(cuò) 若先接收的字符尚未被MPU讀取,后面的字符又傳送過來,則產(chǎn)生溢出錯(cuò)誤。2022/9/27138.1 串行通信基礎(chǔ)知識(shí)RS-232C串行通信接口 RS-232
6、C是由美國電子工業(yè)協(xié)會(huì)(Electronic Industries Association, EIA)于1969年制定的一種串行通信接口標(biāo)準(zhǔn),并被推薦為串行通信接口的國際標(biāo)準(zhǔn),得到了廣泛應(yīng)用。EIA把RS-232C定義為:“在數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間使用串行二進(jìn)制數(shù)據(jù)交換的接口”。RS-2323C標(biāo)準(zhǔn)包括了接口的機(jī)械特性、電氣信號(hào)特征和交換功能特征。它用于連接2種設(shè)備:數(shù)據(jù)終端設(shè)備和數(shù)據(jù)通信設(shè)備。 2022/9/27148.1 串行通信基礎(chǔ)知識(shí)RS-232C串行通信接口RS-232C接口信號(hào) 2022/9/27158.1 串行通信基礎(chǔ)知識(shí)RS-232C串行通信接口RS
7、-232C接口電氣規(guī)格 計(jì)算機(jī)系統(tǒng)外圍接口一般采用TTL標(biāo)準(zhǔn),即以+5V代表邏輯“1”,而接地電壓代表邏輯“0”,而RS-232C以+12V的電壓視為邏輯“0”,-12V的電壓視為邏輯“1”。所以,串行接口電路中需要將TTL標(biāo)準(zhǔn)與RS-232C標(biāo)準(zhǔn)之間進(jìn)行電平轉(zhuǎn)換。 16信號(hào)線的連接1. 遠(yuǎn)距離連接 遠(yuǎn)距離連接需要加調(diào)制解調(diào)器MODEM,如下圖所示。 公用電話網(wǎng)172. 近距離連接 近距離連接不用MODEM,如下圖所示。DSRDTRRTSCTS18 由于RS-232-C接口標(biāo)準(zhǔn)出現(xiàn)較早,難免有不足之處,主要有以下四點(diǎn): (1) 接口的信號(hào)電平值較高,易損壞接口電路的芯片,又因?yàn)榕cTTL 電平不
8、兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接。 (2) 傳輸速率較低,在異步傳輸時(shí),波特率為20Kbps。 (3) 接口使用一根信號(hào)線和一根信號(hào)返回線而構(gòu)成共地的傳輸形式, 這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。 (4) 傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺,實(shí)際上也只能 用在50米左右。 2022/9/27198.1 串行通信基礎(chǔ)知識(shí)RS-422和RS-485標(biāo)準(zhǔn) RS-422和RS-485都是在RS-232C的基礎(chǔ)上發(fā)展起來的串行數(shù)據(jù)接口標(biāo)準(zhǔn),都是由EIA制定并發(fā)布的。 RS-422 RS-485RS-422是為彌補(bǔ)RS-232C的不足而提出的,主要是為了改進(jìn)RS-232
9、C通信距離短、速率低的缺點(diǎn),RS-422定義了一種“平衡”通信接口,將速率提高到10Mb/s,傳輸距離延長到1220m(速率低于100kb/s時(shí)),并允許在一條總線上連接最多10個(gè)接收器。 為擴(kuò)展應(yīng)用范圍,EIA又于1983年在RS-422基礎(chǔ)上制定了RS-485標(biāo)準(zhǔn),它增加了總線上設(shè)備的個(gè)數(shù),定義了在最大設(shè)備個(gè)數(shù)情況下的電氣特性(以保證足夠的信號(hào)電壓)和雙向通信的能力(允許多個(gè)發(fā)送器連接到同一條總線上),同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍,后命名為TIA/EIA-485-A標(biāo)準(zhǔn)。 RS-485邏輯“1”以兩線間的電壓差為+2+6v表示;邏輯“0”以兩線間的電壓差為-
10、2-6v表示。接口信號(hào)電平比RS-232-C降低了,就不易損壞接口電路的芯片, 且該電平與TTL電平兼容,可方便與TTL 電路連接。RS-485最大的通信距離約為1219M,最大傳輸速率為10Mbps,傳輸速率與傳輸距離成反比,在100Kbps的傳輸速率下,才可以達(dá)到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。因RS-485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等優(yōu)點(diǎn)使其成為首選的串行接口2022/9/27202022/9/27218.2 S3C2410串行接口S3C2410內(nèi)部具有3個(gè)獨(dú)立的UART控制器,每個(gè)UART通道包含2個(gè)16位的接收和發(fā)送FIFO,數(shù)據(jù)接收
11、和發(fā)送的波特率可編程。UART也可實(shí)現(xiàn)紅外(IR)接收和發(fā)送。串行數(shù)據(jù)包括1位或2位停止位, 5位、6位、7位或8位數(shù)據(jù)位和1位奇偶校驗(yàn)位。RxD0,TxD0,RxD1,TxD1,RxD2和TxD2可以工作在中斷模式或DMA模式。通道0,1和2包含了IrDA 1.0和16位FIFO。通道0和1擁有nRTS0,nCTS0,nRTS1和nCTS1信號(hào)。支持發(fā)送和接收握手協(xié)議。2022/9/27228.2 S3C2410串行接口S3C2410 UART結(jié)構(gòu) 2022/9/27238.2 S3C2410串行接口S3C2410 UART工作原理 S3C2410 UART的基本工作包括數(shù)據(jù)發(fā)送,數(shù)據(jù)接收,
12、自動(dòng)流控制,中斷/DMA請求產(chǎn)生,波特率產(chǎn)生,回環(huán)模式和紅外模式。 數(shù)據(jù)發(fā)送 發(fā)送的數(shù)據(jù)幀是可編程的,包含一位起始位,58位數(shù)據(jù)位,一位可選的校驗(yàn)位和12位的停止位,這些可以在線路控制寄存器(ULCONn)中指定。發(fā)送器也可以產(chǎn)生一個(gè)暫停狀態(tài),將輸出在一個(gè)幀的時(shí)間內(nèi)強(qiáng)制為邏輯0。當(dāng)前幀發(fā)送完后,才能發(fā)送產(chǎn)生暫停。在暫停狀態(tài)結(jié)束后,可以繼續(xù)發(fā)送FIFO中的數(shù)據(jù)(或繼續(xù)發(fā)送無FIFO模式下發(fā)送保持寄存器中的數(shù)據(jù))。2022/9/27248.2 S3C2410串行接口S3C2410 UART工作原理 數(shù)據(jù)接收接收器在接收數(shù)據(jù)的同時(shí)檢測溢出錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、幀錯(cuò)誤和暫停錯(cuò)誤。每種錯(cuò)誤都可以設(shè)置相應(yīng)的
13、錯(cuò)誤標(biāo)志位。溢出錯(cuò)誤是指在前面數(shù)據(jù)被讀取之前,剛收到的數(shù)據(jù)覆蓋了前面的數(shù)據(jù)。奇偶校驗(yàn)錯(cuò)誤是指接收端對接收到的數(shù)據(jù)進(jìn)行校驗(yàn)時(shí)產(chǎn)生了與發(fā)送端不同的校驗(yàn)標(biāo)志。幀錯(cuò)誤是指接收到的數(shù)據(jù)沒有一個(gè)有效的停止位。暫停錯(cuò)誤是指RxDn維持邏輯0的時(shí)間超過了一個(gè)幀的時(shí)間長度。2022/9/27258.2 S3C2410串行接口S3C2410 UART工作原理 自動(dòng)流控制流控制指的是數(shù)據(jù)流控制。當(dāng)數(shù)據(jù)在兩個(gè)串口之間傳輸時(shí),常常會(huì)由于接收端數(shù)據(jù)處理來不及,造成接收緩沖區(qū)滿,此時(shí)發(fā)送端如果繼續(xù)發(fā)送數(shù)據(jù),接收端就會(huì)丟失數(shù)據(jù)。流控制可以解決這個(gè)問題。S3C2410的UART0和UART1通過nRTS和nCTS信號(hào)支持自動(dòng)流
14、控制。也可以設(shè)置為無自動(dòng)流控制功能。S3C2410的UART2 不支持自動(dòng)流控制功能。 2022/9/27268.2 S3C2410串行接口S3C2410 UART工作原理 中斷/DMA請求產(chǎn)生 S3C2410 的每一個(gè)UART有7個(gè)狀態(tài)(發(fā)送/接收/錯(cuò)誤)信號(hào):溢出錯(cuò)誤奇偶校驗(yàn)錯(cuò)誤幀錯(cuò)誤暫停錯(cuò)誤接收緩沖數(shù)據(jù)準(zhǔn)備就緒發(fā)送緩沖空和發(fā)送移位器空每種狀態(tài)都可以在UTRSTATn或UERSTATn寄存器中的相應(yīng)標(biāo)志位設(shè)置。2022/9/27278.2 S3C2410串行接口S3C2410 UART工作原理 中斷/DMA請求產(chǎn)生對于以上7個(gè)狀態(tài)中的4個(gè)錯(cuò)誤狀態(tài),如果控制寄存器(UCONn)中的錯(cuò)誤中斷請
15、求使能位置1,發(fā)生任何一個(gè)錯(cuò)誤時(shí)都會(huì)引起中斷,再通過查詢UERSTATn寄存器來確定具體發(fā)生了哪一類錯(cuò)誤,然后進(jìn)行相應(yīng)的錯(cuò)誤處理。在FIFO模式下, 如果UCONn寄存器中接收方式位置1,意味著采用中斷或輪詢方式接收數(shù)據(jù), 當(dāng)接收器將接收到的數(shù)據(jù)傳送到FIFO并且數(shù)量達(dá)到了接收FIFO的接收門限值, 就會(huì)產(chǎn)生接收中斷。在非FIFO模式下,如果允許接收中斷或輪詢,接收到的數(shù)據(jù)從接收移位寄存器傳送到接收保持寄存器后,將產(chǎn)生接收中斷。2022/9/27288.2 S3C2410串行接口S3C2410 UART工作原理 中斷/DMA請求產(chǎn)生在FIFO模式下, 如果UCONn寄存器中發(fā)送方式位置1,意味
16、著采用中斷或輪詢方式發(fā)送數(shù)據(jù), 當(dāng)發(fā)送器將發(fā)送數(shù)據(jù)從發(fā)送FIFO傳送到移位器中并且發(fā)送FIFO中的數(shù)據(jù)數(shù)量達(dá)到了發(fā)送FIFO的發(fā)送門限值,就會(huì)產(chǎn)生發(fā)送中斷。在非FIFO模式下,如果允許發(fā)送中斷或輪詢,發(fā)送保持寄存器將數(shù)據(jù)發(fā)送到移位器后,將產(chǎn)生發(fā)送中斷。如果UCONn寄存器中發(fā)送方式和接收方式的DMAn位都置1,那么接收和發(fā)送完成后將產(chǎn)生DMAn請求,執(zhí)行DMA操作,而不是中斷請求。2022/9/27298.2 S3C2410串行接口S3C2410 UART工作原理 波特率產(chǎn)生 波特率產(chǎn)生器提供時(shí)鐘給發(fā)送器和接收器。波特率的時(shí)鐘源可以選擇為S3C2410的內(nèi)部系統(tǒng)時(shí)鐘或UCLK,也就是分頻源可以
17、通過設(shè)置UCONn中的時(shí)鐘選擇位來選擇。波特率時(shí)鐘是由時(shí)鐘源除以16和一個(gè)由UART波特率分頻系數(shù)寄存器(UBRDIVn)指定的16位分頻系數(shù)產(chǎn)生的。當(dāng)使用S3C2410的內(nèi)部系統(tǒng)時(shí)鐘時(shí),UBRDIVn中的分頻系數(shù)由下式計(jì)算得出: UBRDIVn=(int)(PCLK/(bps*16)-1這里的分頻系數(shù)必須是從1到216 -1。當(dāng)使用時(shí)鐘源UCLK時(shí),UBRDIVn中的分頻系數(shù)由下式計(jì)算得出: UBRDIVn=(int)(UCLK/(bps*16)-1這里的分頻系數(shù)必須是從1到216 -1,并且UCLK必須要小于PCLK。2022/9/27308.2 S3C2410串行接口S3C2410 UA
18、RT工作原理 波特率產(chǎn)生 例如,如果串口波特率是115200bps,PCLK或UCLK為40MHz,則UBRDIVn中的分頻系數(shù)為: UBRDIVn=(int)((40000000/(115200*16)-1 =(int)(21.7)-1 =202022/9/27318.2 S3C2410串行接口S3C2410 UART工作原理 回環(huán)模式 回環(huán)模式主要用來對S3C2410 的UART提供測試,為解決通信連接中的錯(cuò)誤提供輔助手段。這種模式從結(jié)構(gòu)上使UART中RXD和TXD之間直接連接。這種模式下,發(fā)送數(shù)據(jù)通過RXD被接收器接收,以便處理器驗(yàn)證每一個(gè)串行口的內(nèi)部發(fā)送和接收數(shù)據(jù)的正確性。這種模式可以
19、通過設(shè)置UCONn寄存器的反饋位來實(shí)現(xiàn)。2022/9/27328.2 S3C2410串行接口S3C2410 UART工作原理 紅外模式 S3C2410 UART模塊支持紅外(IR)發(fā)送和接收,可以通過設(shè)置UART線路控制寄存器(ULCONn)中的紅外模式位來選擇。IR發(fā)送時(shí),數(shù)據(jù)中的邏輯1不發(fā)送脈沖,邏輯0發(fā)送脈沖,發(fā)送的脈沖寬度是通常串口發(fā)送數(shù)據(jù)位的3/16。IR接收時(shí),接收器檢測到通常串口數(shù)據(jù)位3/16的脈沖寬度作為邏輯0值,檢測到?jīng)]有脈沖作為邏輯1值。2022/9/27338.2 S3C2410串行接口S3C2410 UART專用寄存器S3C2410 UART專用寄存器主要包括:線路控制
20、寄存器(ULCON0,ULCON1和 ULCON2)控制寄存器(UCON0,UCON1 和 UCON2)FIFO控制寄存器(UFCON0,UFCON1和UFCON2)MODEM控制寄存器(UMCON0和UMCON1)發(fā)送接收狀態(tài)寄存器(UTRSTAT0,UTRSTAT1和UTRSTAT2)錯(cuò)誤狀態(tài)寄存器(UERSTAT0,UERSTAT1和UERSTAT2)FIFO狀態(tài)寄存器(UFSTAT0,UFSTAT1和UFSTAT2)MODEM狀態(tài)寄存器(UMSTAT0和UMSTAT1)發(fā)送緩存寄存器(UTXH0,UTXH1和UTXH2)接收緩存寄存器(URXH0,URXH1和URXH2)波特率分頻系數(shù)
21、寄存器(UBRDIV0, UBRDIV1和UBRDIV2) 2022/9/27348.2 S3C2410串行接口S3C2410 UART專用寄存器UART線路控制寄存器( ULCON0、ULCON1和ULCON2 ) ULCON0、ULCON1和ULCON2寄存器描述 寄存器地址讀/寫描述復(fù)位值ULCON00 x50000000R/WUART通道0線路控制寄存器0 x00ULCON10 x50004000R/WUART通道1線路控制寄存器0 x00ULCON20 x50008000R/WUART通道2線路控制寄存器0 x002022/9/2735ULCON0、ULCON1和ULCON2寄存器相
22、應(yīng)位描述 ULCONn位描述復(fù)位值保留70紅外模式6指示是否使用紅外模式。0:正常操作模式1:紅外接收發(fā)送模式0校驗(yàn)?zāi)J?:3指示UART發(fā)送和接收操作中校驗(yàn)位的產(chǎn)生和校驗(yàn)類型。0 xx:不進(jìn)行校驗(yàn)100:奇校驗(yàn)101:偶校驗(yàn)110:強(qiáng)制為1111:強(qiáng)制為0000停止位數(shù)目2指示幀結(jié)束的停止位有幾位。0:每幀一位1:每幀兩位0Word Length1:0指示每幀發(fā)送和接收的數(shù)據(jù)位有多少位。00:5位01:6位10:7位11:8位002022/9/27368.2 S3C2410串行接口S3C2410 UART專用寄存器UART控制寄存器 (UCON0,UCON1 和 UCON2) UCON0、U
23、CON1和UCON2寄存器描述 寄存器地址讀/寫描述復(fù)位值UCON00 x50000004R/WUART通道0控制寄存器0 x00UCON10 x50004004R/WUART通道1控制寄存器0 x00UCON20 x50008004R/WUART通道2控制寄存器0 x002022/9/2737UCON0、UCON1和UCON2寄存器相應(yīng)位描述 字段名 位意 義 初值 Clock Selection10波特率時(shí)鐘源選擇。0:PCLK;1:UCLK0Tx Int Type9發(fā)送中斷請求類型。0 :脈沖型;1:電平0Rx Int Type8接收中斷請求類型。0 :脈沖型;1:電平0Rx Time
24、OV Ena7接收超時(shí)中斷控制。0:禁止;1:允許0Rx ERR Int Ena6接收錯(cuò)誤中斷控制。0:禁止;1:允許0Loopback Mode5回送模式控制。0 = 正常操作;1 = 回送模式 0Send Break Signal4發(fā)送暫停 (中止)信號(hào)控制。 0 = 正常傳輸;1 = 發(fā)送暫停信號(hào)(全為0) 0Transmit Mode3:2 發(fā)送/接收模式控制。00:禁止發(fā)送/接收; 01:中斷或查詢模式;10:UART0、2用DMA0、DMA3;11:UART1用DMA100Receive Mode1:00038FIFO控制寄存器(UFCON)Register Address R/W
25、 Description Reset Value UFCON00 x50000008 R/W UART0 FIFO控制寄存器0 x00UFCON10 x50004008 R/W UART1 FIFO控制寄存器0 x00UFCON20 x50008008 R/W UART2 FIFO控制寄存器0 x0039FIFO控制寄存器字段名 位意 義 初值 Tx FIFO Tri Level7:6 Tx FIFO的觸發(fā)條件設(shè)置。 00:空; 01:減少到4字節(jié);10:減少到8字節(jié);11:減少到12字節(jié)00Rx FIFO Tri Level5:4 Rx FIFO的觸發(fā)條件設(shè)置。 00:增加到4字節(jié); 01:
26、增加到8字節(jié); 10:增加到12字節(jié);11 :增加到16字節(jié)00reserved3保 留0Tx FIFO Reset2 Tx FIFO清除控制。0:正常;1:清零0Rx FIFO Reset1 Rx FIFO清除控制。0:正常;1:清零0FIFO Enable0 FIFO應(yīng)用控制。 0:失能;1:使能040MODEM控制寄存器(UMCON)Register Address R/W Description Reset Value UMCON00 x5000000C R/W UART0 FIFO控制寄存器0 x00UMCON10 x5000400C R/W UART1 FIFO控制寄存器0 x00
27、reserved0 x5000800C - 保留-字段名 位意 義 初值 reserved7:5保留(為0)000Auto Flow Control (AFC)4 自動(dòng)流控制。 0:一般方式;1:自動(dòng)流控制0reserved3:1保留(為0)000Request to Send0 nRTS引腳信號(hào)控制。 0:nRTS 為 高電平;1:nRTS為低電平,有效。041發(fā)送/接收狀態(tài)寄存器(UTRSTAT)Register Address R/W Description Reset Value UTRSTAT00 x50000010 RUART0狀態(tài)寄存器0 x06UTRSTAT10 x500040
28、10 RUART1狀態(tài)寄存器0 x06UTRSTAT20 x50008010 RUART2狀態(tài)寄存器0 x06字段名 位意 義 初值 Transmitter empty2 發(fā)送器空狀態(tài)位。 0:發(fā)送器非空 1:發(fā)送器(發(fā)送緩沖器和移位器)空。1Transmitbuffer empty1 發(fā)送緩沖器空狀態(tài)位。 0:非空;1:空 在非FIFO模式,激發(fā)中斷或DMA請求1Receive buffer data ready0 接收緩沖器狀態(tài)位。 0:空;1:有數(shù)據(jù) 在非FIFO模式,激發(fā)中斷或DMA請求042Rx錯(cuò)誤狀態(tài)寄存器(UERSTAT)Register Address R/W Descript
29、ion Reset Value UERSTAT00 x50000014 RUART0Rx錯(cuò)誤狀態(tài)寄存器0 x0UERSTAT10 x50004014 RUART1Rx錯(cuò)誤狀態(tài)寄存器0 x0UERSTAT20 x50008014 RUART2Rx錯(cuò)誤狀態(tài)寄存器0 x0字段名 位意 義 初值 Break Detect 3 暫停信號(hào)狀態(tài)。 0:無暫停信號(hào); 1:收到暫停信號(hào)(產(chǎn)生中斷請求)0Frame Error2 幀錯(cuò)誤狀態(tài)位。 0:無幀錯(cuò)誤; 1:有幀錯(cuò)誤(產(chǎn)生中斷請求)0Parity Error 1 奇偶校驗(yàn)錯(cuò)誤狀態(tài)。0:無奇偶校驗(yàn)錯(cuò) 1:有奇偶校驗(yàn)錯(cuò)誤(產(chǎn)生中斷請求)0Overrun Err
30、or0 溢出錯(cuò)誤狀態(tài)位。 0:無溢出錯(cuò)誤; 1:溢出錯(cuò)誤(產(chǎn)生中斷請求)043FIFO狀態(tài)寄存器(UFSTAT)Register Address R/W Description Reset Value UFSTAT00 x50000018 RUART0 FIFO狀態(tài)寄存器0 x00UFSTAT10 x50004018 RUART1 FIFO狀態(tài)寄存器0 x00UFSTAT20 x50008018 RUART2 FIFO狀態(tài)寄存器0 x00字段名 位意 義 初值 Reserved15:10 保留(為0)0Tx FIFO Full9 發(fā)送FIFO滿狀態(tài)。 0:未滿; 1:滿0Rx FIFO Ful
31、l8 接收FIFO狀態(tài)位。 0:未滿; 1:滿0Tx FIFO Count7:4 發(fā)送FIFO中數(shù)據(jù)的數(shù)目,字節(jié)單位。0Rx FIFO Count3:0 接收FIFO中數(shù)據(jù)的數(shù)目,字節(jié)單位。044MODEM狀態(tài)寄存器(UMSTAT)Register Address R/W Description Reset Value UMSTAT00 x5000001C RUART0 Modem狀態(tài)寄存器0 x0UMSTAT10 x5000401C RUART1 Modem狀態(tài)寄存器0 x0Reserved0 x5000801C R保留-字段名 位意 義 初值 Reserved3 保留(為0)0Delta
32、CTS 2 nCTS引腳信號(hào)自上次CPU讀后變化狀態(tài)。 0:未改變;1:已改變。0Reserved1 保留(為0)0Clear to Send0 nCTS引腳信號(hào)狀態(tài)。 0:nCTS為高 電平;1:nCTS引腳為低電平,有效。045發(fā)送緩沖寄存器(UTxH)Register Address R/W Description Reset Value UTxH00 x50000020(L)0 x50000023(B)W(byte)UART0 發(fā)送緩沖寄存器-UTxH10 x50004020(L)0 x50004023(B)W (byte)UART1發(fā)送緩沖寄存器-UTxH20 x50008020(L
33、)0 x50008023(B)W (byte)UART2發(fā)送緩沖寄存器-字段名 位意 義 初值 Tx DATAn7:0 UARTn發(fā)送的一個(gè)字節(jié)數(shù)據(jù)-46接收緩沖寄存器(URxH)Register Address R/W Description Reset Value URxH00 x50000024(L)0 x50000027(B)R(byte)UART0 接收緩沖寄存器0 x00URxH10 x50004024(L)0 x50004027(B)R (byte)UART1接收緩沖寄存器0 x00URxH20 x50008024(L)0 x50008027(B)R (byte)UART2接收緩
34、沖寄存器0 x00字段名 位意 義 初值 Rx DATAn7:0 UARTn接收的一個(gè)字節(jié)數(shù)據(jù)。-47波特率除數(shù)寄存器(UBRDIV)Register Address R/W Description Reset Value UBRDIV00 x50000028 R/WUART0 波特率除數(shù)寄存器-UBRDIV10 x50004028 R/WUART1 波特率除數(shù)寄存器-UBRDIV20 x50008028 R/WUART2 波特率除數(shù)寄存器-字段名 位意 義 初值 UBRDIV15:0 波特率除數(shù)值。UBRDIVn 0-2022/9/27488.3 串行通信舉例RS-232C接口設(shè)計(jì) MAX3
35、232實(shí)現(xiàn)2路3線串口電平轉(zhuǎn)換 T1IN/T2IN:TTL/CMOS INPUT; R1OUT/R2OUT:TTL/CMOS OUTPUTR1IN/R2IN:RS-232 INPUT; T1OUT/T2OUT:RS-232 OUTPUT49RS-232C接口設(shè)計(jì) MAX3232實(shí)現(xiàn)1路5線串口電平轉(zhuǎn)換 50RS-232C接口設(shè)計(jì) MAX3232實(shí)現(xiàn)1路5線串口電平轉(zhuǎn)換 上圖是一個(gè)1路5線的RS-232接口電路。電路中所采用的電平轉(zhuǎn)換電路芯片為MAX3232,S3C2410芯片的UART0相關(guān)引腳(即:TxD0、RxD0、nRTS0、nCTS0)經(jīng)過MAX3232電平轉(zhuǎn)換后連接到DB9型的插座上
36、。這樣就可以使用S3C2410芯片內(nèi)部的UART0部件來控制符合RS-232標(biāo)準(zhǔn)的串行通信。 51S3C2410 UART使用舉例 例:編寫一程序,使用S3C2410的UART2進(jìn)行串行數(shù)據(jù)收發(fā),要求用脈沖請求中斷的方式、使用收/發(fā)FIFO,8個(gè)數(shù)據(jù)位、1個(gè)停止位、不校驗(yàn),波特率為125kbps。設(shè)PCLK為50MHz。(提示:主程序?qū)ART2初始化、引腳配置、中斷初始化等,并進(jìn)行一次發(fā)送;中斷服務(wù)程序進(jìn)行數(shù)據(jù)收發(fā),并且清除中斷請求標(biāo)志和中斷服務(wù)標(biāo)志)解:(1)計(jì)算波特率除數(shù):由公式: UBRDIVn=(int)(CLK/( f B*16) 1 這里: CLK=PCLK=50MHz, f B
37、 = 125kb/s計(jì)算得: UBRDIVn=25 -1=24(2)UART2控制寄存器:線路控制寄存器: ULCON2=0b 0 000 0 11=0 x03含義:非紅外、不校驗(yàn)、 1個(gè)停止位、 8個(gè)數(shù)據(jù)位52控制寄存器: UCON2=0b 0 0 0 0 1 0 0 01 01=0 x05含義:選PCLK、發(fā)/收中斷脈沖請求、關(guān)閉接收超時(shí)中斷、允許接收錯(cuò)誤中斷、不回送、不發(fā)送暫停信號(hào)、發(fā)/收用中斷方式。FIFO控制寄存器:UFCON2=0b 10 01 0 0 0 1=0 x91含義:發(fā)/收FIFO選8字節(jié)觸發(fā)、保留位為0、不復(fù)位發(fā)/收FIFO、使能FIFO。(3)引腳配置 需要設(shè)置TxD
38、2、RxD2,它們對應(yīng)GPH6、GPH7,在GPH配置寄存器GPHCON中的位置為:0b 1 0 1 0 方法:GPHCON= GPHCON&(0 xF12)|(0 xA12)53(4)中斷寄存器設(shè)置中斷模式寄存器:INTMOD&=(115)INT_UART2位于第15位,將UART2設(shè)置為IRQ中斷中斷屏蔽寄存器:INTMSK&=(115) 中斷優(yōu)先級(jí)寄存器PRIORITY:不設(shè)置,使用固定優(yōu)先級(jí)。子中斷屏蔽寄存器:INTSUBMSK&=(76) INT_ERR2、INT_TXD2、INT_RXD2位于子中斷屏蔽寄存器中的8、7、6位。(5)在中斷服務(wù)程序中對寄存器的操作清除中斷標(biāo)志寄存器相
39、應(yīng)位:SRCPND&=(115)清除中斷服務(wù)寄存器相應(yīng)位:INTPND&=(115) (6)程序此略(UART編程詳見下一節(jié))。2022/9/27548.3 串行通信舉例RS-232C接口設(shè)計(jì)串口初始化 例8.1:下面以UART0為例,說明串口初始化函數(shù)。該函數(shù)雖然設(shè)計(jì)成通用的串口初始化函數(shù),即對UART0、UART1、UART2均可以初始化,但本例子中只給出UART0和UART1初始化對應(yīng)的代碼,對于UART2的初始化代碼未給出。與UART1初始化代碼類似,只不過涉及的寄存器不同而已。/* 功能:初始化串口(不使用FIFO,不產(chǎn)生接收錯(cuò)誤中斷) 參數(shù):Uartnum:選擇UART0/UART
40、1/UART2(0/1/2) parity: 選擇奇偶校驗(yàn)方式(0:無校驗(yàn),4:奇校驗(yàn),5:偶校驗(yàn)) stop: 選擇停止位(0:1位停止位,1:2位停止位) data: 選擇數(shù)據(jù)位(0:5位,1:6位,2:7位,3:8位) baud: 波特率2022/9/2755*/void rs232_Init(INT8U com ,INT32U parity ,INT32U stop ,INT32U data ,int baud)if(Uartnum =0) /初始化UART0 rGPHCON=(rGPHCON&0 xffffff00)|0 xaa; /設(shè)置GPH端口為UART rUFCON0=0 x0
41、; /不使用FIFO rUMCON0=0 x0; /禁止自動(dòng)流控制 rULCON0=(parity3)|(stop2)|(data); /8個(gè)數(shù)據(jù)位,1個(gè)停止位,奇偶校驗(yàn)位;/不采用紅外線傳輸模式 rUCON0=0 x205; /當(dāng)Tx緩沖為空時(shí),以電平信號(hào)觸發(fā)發(fā)送中斷請求/當(dāng)Rx緩沖有數(shù)據(jù)時(shí),以脈沖信號(hào)觸發(fā)接收中斷請求/禁止超時(shí)中斷,禁止產(chǎn)生接收出錯(cuò)狀態(tài)的中斷請求/禁止回環(huán)模式,禁止發(fā)送暫停信號(hào),發(fā)送數(shù)據(jù)操作按中斷方式/接收數(shù)據(jù)操作按中斷方式 rUBRDIV0=(int)(PCLK/(baud*16)-1 ; /設(shè)置波特率 rINTMSK=rINTMSK&(BIT_GLOBAL|BIT_UR
42、XD0); /開中斷 pISR_URXD0=(int)rxCharDone_0; /設(shè)置中斷入口 8.3 串行通信舉例RS-232C接口設(shè)計(jì)串口初始化 2022/9/2756*/else if (Uartnum =1) /UART1的初始化 rUFCON1=0 x0; rUMCON1=0 x0; rULCON1=(parity3)|(stop2)|(data); rUCON1=0 x205; rUBRDIV0=(int)(PCLK/(baud*16)-1 ;else / UART2的初始化與UART1類似,略 8.3 串行通信舉例RS-232C接口設(shè)計(jì)串口初始化 2022/9/2757例8.2
43、 發(fā)送和接收程序 /* 功能:字符發(fā)送 參數(shù):Uartnum:選擇UART0/UART1/UART2(0/1/2) data:要發(fā)送的字符 */*字符發(fā)送程序Uart_SendByte*/#define WrUTXH0 (ch) ( * (volatile unsigned char * ) 0 x50000020)=(unsigned char)(ch)#define WrUTXH1 (ch) ( * (volatile unsigned char *) 0 x50004020)=(unsigned char)(ch)#define WrUTXH2 (ch) ( * (volatile un
44、signed char *) 0 x50008020)=(unsigned char)(ch)8.3 串行通信舉例RS-232C接口設(shè)計(jì)發(fā)送和接收2022/9/2758void Uart_SendByte (INT8U Uartnum , INT8U data) if (Uartnum =0) /UART0 while (rUTRSTAT0 & 0 x2);/當(dāng)發(fā)送數(shù)據(jù)緩沖區(qū)不空,執(zhí)行下一條指令 Delay(2); WrUTXH0 (data); else if (Uartnum =1) while (rUTRSTAT1 & 0 x2);/UART1 Delay(2); WrUTXH1 (da
45、ta); 8.3 串行通信舉例RS-232C接口設(shè)計(jì)發(fā)送和接收else if (Uartnum =2) while (rUTRSTAT2 & 0 x2);/UART2 Delay(2); WrUTXH2 (data); 2022/9/2759/* 功能:字符接收 參數(shù):Uartnum:選擇UART0/UART1/UART2(0/1/2) *Revdata:接收字符Uart_GetByte:正確接收 */*字符接收程序Uart_GetByte*/#define RdURXH0 ( ) (*(volatile unsigned char *) 0 x50000024)#define RdURXH1
46、 ( ) (*(volatile unsigned char *) 0 x50004024)#define RdURXH2 ( ) (*(volatile unsigned char *) 0 x50008024)8.3 串行通信舉例RS-232C接口設(shè)計(jì)發(fā)送和接收2022/9/2760char Uart_GetByte(char*Revdata,int Uartnum) int i=0; if (Uartnum =0) /UART0 while(Rutrstat0 &0 x1);/讀接收數(shù)據(jù) *Revdata=RdURXH0( ); return TRUE; else (Uartnum =1
47、) /UART1 while(rUTRSTAT1 & 0 x1); *Revdate=RdURXH1( ); return TRUE; 8.3 串行通信舉例RS-232C接口設(shè)計(jì)發(fā)送和接收else (Uartnum =2) /UART2 while(rUTRSTAT2 & 0 x1); *Revdate=RdURXH2( ); return TRUE; 2022/9/27618.4 IIS串行數(shù)字音頻接口概念 IIS(Inter-IC Sound bus, 集成電路內(nèi)置音頻總線)又稱I2S,是飛利浦公司提出的串行數(shù)字音頻總線協(xié)議。目前很多音頻芯片和MCU都提供了對IIS的支持,是工業(yè)領(lǐng)域或嵌入
48、式系統(tǒng)領(lǐng)域常采用的音頻總線之一。信號(hào)IIS 總線一般有4根信號(hào)線,他們是:IISDI串行數(shù)據(jù)輸入線。IISDO串行數(shù)據(jù)輸出線。IISLRCK左/右聲道選擇線。IISCLK串行數(shù)據(jù)位時(shí)鐘線。2022/9/27628.4 IIS串行數(shù)字音頻接口連接方式 IIS總線接口是典型的主從模式,但在IIS總線上最多只能有一個(gè)主設(shè)備,由它產(chǎn)生時(shí)鐘信號(hào)IISLRCK和IISCLK。數(shù)據(jù)總是在時(shí)鐘的觸發(fā)下從發(fā)送端流向接收端。2022/9/27638.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的結(jié)構(gòu)2022/9/27648.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的結(jié)構(gòu)BRFC:指總線
49、接口、寄存器區(qū)和狀態(tài)機(jī)??偩€接口邏輯和FIFO訪問由該狀態(tài)機(jī)控制。IPSR:指兩個(gè)5位預(yù)分頻器IPSR_A和IPSR_B,一個(gè)預(yù)分頻器作為IIS總線接口的主時(shí)鐘發(fā)生器,另一個(gè)預(yù)分頻器作為外部CODEC的時(shí)鐘發(fā)生器。TxFIFO和RxFIFO:指兩個(gè)64字節(jié)的FIFO,發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)寫入TxFIFO;接收數(shù)據(jù)時(shí),數(shù)據(jù)從RxFIFO讀取。SCLKG:指IISCLK發(fā)生器,由主設(shè)備產(chǎn)生該串行位時(shí)鐘。CHNC:指左/右聲道通道發(fā)生器和狀態(tài)機(jī),用于產(chǎn)生并控制IISCLK和IISLRCK。SFTR:指16位移位寄存器。發(fā)送時(shí),并行數(shù)據(jù)移入SFTR并轉(zhuǎn)換成串行數(shù)據(jù)輸出;接收時(shí),輸入的串行數(shù)據(jù)移入SFTR并
50、轉(zhuǎn)換成并行數(shù)據(jù)。2022/9/27658.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器 利用S3C2410A I2S總線接口實(shí)現(xiàn)音頻數(shù)據(jù)接收和發(fā)送時(shí),首先要對IIS總線接口的相關(guān)寄存器進(jìn)行正確的配置。這些寄存器包括:IIS控制寄存器(IISCON)IIS模式寄存器(IISMOD)IIS分頻寄存器(IISPSR)IIS FIFO控制寄存器(IISFCON)IIS FIFO寄存器(IISFIFO) 2022/9/27668.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS控制寄存器(IISCON) IISCON寄存器描述 寄存器地址讀/寫描述復(fù)位值
51、IISCON0 x55000000R/WIIS控制寄存器0 x 1002022/9/27678.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS控制寄存器(IISCON) IISCON寄存器相應(yīng)位描述 IISCONn位描述復(fù)位值左/右聲道選擇(只讀)80:左聲道;1:右聲道1發(fā)送FIFO就緒標(biāo)志(只讀)70:發(fā)送FIFO空;1:發(fā)送FIFO不空0接收FIFO就緒標(biāo)志(只讀)60:接收FIFO滿;1:接收FIFO未滿0發(fā)送DMA服務(wù)請求50:禁止;1:使能0接收DMA服務(wù)請求40:禁止;1:使能0發(fā)送通道空閑命令3在空閑狀態(tài),IISLRCK無效(暫停發(fā)送)。0:不空閑;
52、1:空閑0接收通道空閑命令2在空閑狀態(tài),IISLRCK無效(暫停接收)。0:不空閑;1:空閑0IIS預(yù)分頻器10:無效;1:使能0IIS接口00:無效(停止);1:使能(啟動(dòng))02022/9/27688.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS模式寄存器(IISMOD) IISMOD寄存器描述 寄存器地址讀/寫描述復(fù)位值IISMOD0 x55000004R/WIIS模式寄存器0 x 0002022/9/27698.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS模式寄存器(IISMOD) IISMOD寄存器相應(yīng)位描述 IISMODn位
53、描 述復(fù)位值主/從模式選擇80:主模式(IISLRCK和IISCLK為輸出模式)1:從模式(IISLRCK和IISCLK為輸入模式)0發(fā)送/接收模式選擇7:600:不傳輸;01:接收模式10:發(fā)送模式;11:發(fā)送和接收模式00左/右聲道的激活電平50:左聲道為低(右通道為高);1:左聲道為高(右通道為低)0串口格式40:IIS格式;1:MSB-justified格式0每個(gè)聲道的串行數(shù)據(jù)位30:8位;1:16位0主時(shí)鐘頻率選擇20:256 fs;1.384 fs(fs:采樣頻率)0串行時(shí)鐘頻率選擇1:000:16 fs;01:32 fs;10:48 fs;11:N/A002022/9/27708
54、.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS分頻寄存器(IISPSR)IISPSR分頻寄存器描述寄存器地址讀/寫描述復(fù)位值IISPSR0 x55000008R/WIIS分頻寄存器0 x 0002022/9/27718.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS分頻寄存器(IISPSR)IISPSR分頻寄存器相應(yīng)位描述IISPSRn位描 述復(fù)位值預(yù)分頻控制A9:5數(shù)據(jù)值范圍:031注:預(yù)分頻器A使用內(nèi)部主時(shí)鐘,并且除數(shù)因子為N+100000預(yù)分頻控制B4:0數(shù)據(jù)值范圍:031注:預(yù)分頻器B使用外部時(shí)鐘,并且除數(shù)因子為N+100000
55、2022/9/27728.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS FIFO控制寄存器(IISFCON)IISFCON 控制寄存器描述寄存器地址讀/寫描述復(fù)位值IISFCON0 x4800000CR/WIIS FIFO控制寄存器0 x 00002022/9/27738.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS FIFO控制寄存器(IISFCON)IISFCON 控制寄存器相應(yīng)位描述IISFCONn位描 述復(fù)位值發(fā)送FIFO訪問模式選擇150:正常模式;1:DMA模式0接收FIFO訪問模式選擇140:正常模式;1:DMA模式0發(fā)
56、送FIFO使能位130:禁止;1:使能0接收FIFO使能位120:禁止;1:使能0發(fā)送FIFO數(shù)據(jù)計(jì)數(shù)值(只讀)11:6數(shù)據(jù)計(jì)數(shù)值:032000000接收FIFO數(shù)據(jù)計(jì)數(shù)值(只讀)5:0數(shù)據(jù)計(jì)數(shù)值:0320000002022/9/27748.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS FIFO寄存器(IISFIFO) IISFIFO寄存器描述寄存器地址讀/寫描述復(fù)位值IISFIFO0 x48000010R/WIIS FIFO寄存器0 x00002022/9/27758.4 IIS串行數(shù)字音頻接口S3C2410中IIS總線接口的相關(guān)寄存器IIS FIFO寄存器(I
57、ISFIFO) IISFIFO寄存器相應(yīng)位描述IISFIFOn位描 述復(fù)位值FENTRY15:0IIS接收和發(fā)送的數(shù)據(jù)0 x00002022/9/27768.4 IIS串行數(shù)字音頻接口IIS接口總線格式 IIS總線數(shù)據(jù)格式 MSB-justified(MSB-調(diào)整)總線數(shù)據(jù)格式2022/9/27778.4 IIS串行數(shù)字音頻接口IIS接口總線格式 IIS總線數(shù)據(jù)格式 IIS總線包含4條信號(hào)線: IISDI、IISDO、IISLRCK和IISCLK,其中IISLRCK和IISCLK信號(hào)由主設(shè)備產(chǎn)生。串行數(shù)據(jù)以2的補(bǔ)碼發(fā)送,首先發(fā)送最高位。首先發(fā)送最高位是因?yàn)榘l(fā)送方和接收方可以有不同的字長度。MS
58、B-justified(MSB-調(diào)整)總線數(shù)據(jù)格式 MSB-justified格式與IIS總線格式結(jié)構(gòu)相同,唯一不同的是,IISLRCK無論什么時(shí)候一旦有變化,MSB-justified格式要求發(fā)送器總是發(fā)送下一個(gè)字的最高位。2022/9/27788.4 IIS串行數(shù)字音頻接口IIS接口總線格式 IIS總線數(shù)據(jù)格式和 MSB-justified(MSB-調(diào)整)總線數(shù)據(jù)格式圖 2022/9/27798.4 IIS串行數(shù)字音頻接口IIS接口應(yīng)用舉例音頻接口電路設(shè)計(jì)2022/9/27808.4 IIS串行數(shù)字音頻接口IIS接口應(yīng)用舉例音頻錄放的編程實(shí)例在使用IIS總線接口發(fā)送和接收音頻數(shù)據(jù)時(shí),首先要
59、啟動(dòng)IIS操作,傳輸數(shù)據(jù)結(jié)束后應(yīng)結(jié)束IIS操作。啟動(dòng)IIS操作,需要執(zhí)行如下過程:允許IISFCON寄存器的FIFO;允許IISFCON寄存器的DMA請求;允許IISFCON寄存器的啟動(dòng)。結(jié)束IIS操作,需要執(zhí)行如下過程:禁止IISFCON寄存器的FIFO,如果還想發(fā)送FIFO的剩余數(shù)據(jù),跳過這一步;禁止IISFCON寄存器的DMA請求;禁止IISFCON寄存器的啟動(dòng)。2022/9/27818.4 IIS串行數(shù)字音頻接口IIS接口應(yīng)用舉例音頻錄放的編程實(shí)例例8.3:本實(shí)例實(shí)現(xiàn)了對語音的實(shí)時(shí)錄制和實(shí)時(shí)播放功能。該功能主要是通過函數(shù)IIS_RxTx(void)來實(shí)現(xiàn)的,具體代碼如下: Void I
60、IS_RxTx ( void ) Unsigned int I; Unsigned short * rxdata; Rx_Done=0; Tx_Done=0; /由于使用DMA方式進(jìn)行語音錄放,因此這里需要注冊DMA中斷PISR_DMA2= ( unsigned ) TX_Done;PISR_DMA1= ( unsigned ) TX_Done;rINTMSK & = ( BIT_DMA1 );rINTMSK & = ( BIT_DMA2 );rxdata= ( unsigned short * ) malloc ( 0 x80000 ) ; /384 KBfor ( i= 0 ; i 0 x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程施工勞務(wù)分包合同社會(huì)責(zé)任履行協(xié)議
- 2025年度合同擔(dān)保業(yè)務(wù)流程優(yōu)化指南
- 紅河云南紅河市紅河縣公安局招聘警務(wù)輔助人員筆試歷年參考題庫附帶答案詳解
- 百色2025年廣西百色市西林縣民政局招聘4人筆試歷年參考題庫附帶答案詳解
- 甘肅2025年甘肅省公安廳招聘輔警45人筆試歷年參考題庫附帶答案詳解
- 武漢2025年湖北武漢理工大學(xué)思想政治理論課教師(輔導(dǎo)員專項(xiàng))招聘筆試歷年參考題庫附帶答案詳解
- 平頂山2024年河南平頂山市委機(jī)構(gòu)編制委員會(huì)辦公室所屬事業(yè)單位招聘3人筆試歷年參考題庫附帶答案詳解
- 2025年中國二位三通電控?fù)Q向閥市場調(diào)查研究報(bào)告
- 2025至2031年中國防爆敲擊呆扳手行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年膠囊沖填機(jī)項(xiàng)目可行性研究報(bào)告
- 中國香蔥行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報(bào)告2024-2034版
- 婦科惡性腫瘤免疫治療中國專家共識(shí)(2023)解讀
- 2024年浪潮入職測評(píng)題和答案
- 小班數(shù)學(xué)《整理牛奶柜》課件
- 中考語文真題雙向細(xì)目表
- 我國新零售業(yè)上市公司財(cái)務(wù)質(zhì)量分析-以蘇寧易購為例
- 青島版三年級(jí)下冊科學(xué)25.小改變大效率教學(xué)課件
- 藥品集采培訓(xùn)課件
- 股骨干骨折教學(xué)演示課件
- 動(dòng)靜脈內(nèi)瘺血栓
- 朗誦《詩頌風(fēng)華》
評(píng)論
0/150
提交評(píng)論