上海婦科疾病研究所 上海女性不孕醫(yī)院 上海引產(chǎn)醫(yī)院 無(wú)痛引產(chǎn)痛不痛 上海人流醫(yī)院 白癜風(fēng)治療醫(yī)院 上海小兒腦癱醫(yī)院 上海女子醫(yī)院
辰东完美世界有声小说,绝色狂妃 仙魅 小说

国产精品无码毛片AV_亚洲毛片精品在线_全球黄色短视频在线免费观看_亚洲一区二区爱av_成年人免费观看网址_欧美美女性爱喷水网址_亚洲毛片av无码不卡_国产无码视频在线观看_高清国语自产拍在线播放_女人午夜免费黄片

用戶(hù)名: 密碼:
主頁(yè) 設(shè)為首頁(yè) 加入收藏
      產(chǎn)品中心       技術(shù)中心       下載中心        社區(qū)新聞        誠(chéng)聘英才       大學(xué)計(jì)劃        關(guān)于我們       技術(shù)論壇
  您的當(dāng)前位置:ADSP開(kāi)源社區(qū) >> 技術(shù)中心 >> SHARC 今天是:
技術(shù)中心  
SigmaDSP
SHARC
A2B音頻總線(xiàn)
Blackfin
ADI操作系統(tǒng)
ADSP-218X
TigerSAHRC
ADI DSP仿真器
產(chǎn)品導(dǎo)航
ADI DSP仿真器
SigmaDSP開(kāi)發(fā)板
ADI A2B總線(xiàn)開(kāi)發(fā)板
SHARC DSP開(kāi)發(fā)板
銷(xiāo)售網(wǎng)絡(luò)
SHARC  
SHARC系列UART接口介紹
[ 作者:admin ] [ 來(lái)源:ADSP開(kāi)源社區(qū) ] [ 發(fā)布時(shí)間:2012-3-19 ]

轉(zhuǎn)載happysaisai的博客

DSP具有很強(qiáng)的數(shù)據(jù)處理能力使其在高速數(shù)字信號(hào)處理方面得到廣泛的應(yīng)用。通用異步接收發(fā)送器(UART)是異步串行通訊設(shè)備,它能在發(fā)射機(jī)的末端將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),并在接收機(jī)的末端將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。該設(shè)備可以實(shí)現(xiàn)EIA-232E(也稱(chēng)作RS-232)標(biāo)準(zhǔn)的全雙工串行通信鏈路。

TI的很多DSP產(chǎn)品不帶有UART接口,為了實(shí)現(xiàn)串行通信,很多情況下都要用軟件對(duì)相應(yīng)的接口編程來(lái)模擬異步串口。而ADSP-21369芯片有2個(gè)UART,支持串口數(shù)據(jù)的全雙工傳輸,兩個(gè)專(zhuān)用DMA通道和異步傳輸。UART功能原理框圖如下圖所示。

 UART功能原理框圖

UART Functional Block Diagram

典型的UART數(shù)據(jù)幀如下圖所示,它包含一個(gè)起始位、數(shù)據(jù)位和一個(gè)停止位。奇偶校驗(yàn)位用于檢驗(yàn)數(shù)據(jù)錯(cuò)誤,可以設(shè)置為偶校驗(yàn)或奇校驗(yàn)。一幀(不包含起始位、停止位和奇偶校驗(yàn)位)中的數(shù)據(jù)長(zhǎng)度從5到8位之間變化。每幀停止位的數(shù)目可以編程為1或2。考慮到所有的情況,一個(gè)UART數(shù)據(jù)幀的長(zhǎng)度在7到12位之間變化。幀的起始位為低有效,在下降沿檢測(cè);停止位為高有效,在上升沿檢測(cè)。對(duì)于某次通信發(fā)送端和接收端的波特率必須相同。

UART數(shù)據(jù)幀

UART data frame

  1. 同步效應(yīng)

當(dāng)兩個(gè)UART通信時(shí),發(fā)送端和接收端按數(shù)據(jù)發(fā)送的波特率工作。發(fā)送端以給定的波特率發(fā)送數(shù)據(jù),接收端檢測(cè)到幀的起始位之后開(kāi)始以同樣的波特率對(duì)數(shù)據(jù)采樣。因?yàn)榻邮斩瞬恢罃?shù)據(jù)幀何時(shí)到來(lái),所以這種通信方式被稱(chēng)作異步通信。因?yàn)榻邮斩艘獧z測(cè)幀的起始位,接收端的邏輯要比發(fā)送端復(fù)雜。

由通信協(xié)議可知,接收端產(chǎn)生的接收時(shí)鐘頻率是波特率的16倍。圖4.3所示是接收端使用的同步數(shù)據(jù)幀的協(xié)議。當(dāng)數(shù)據(jù)信號(hào)從停止位或空閑狀態(tài)過(guò)渡時(shí),接收端在低有效起始位的下降沿檢測(cè)幀的起始位。在起始位的下降沿,接收端將其時(shí)鐘計(jì)數(shù)器復(fù)位并在8個(gè)時(shí)鐘周期后找到起始位的重點(diǎn)。在中點(diǎn)對(duì)起始位重采樣以便驗(yàn)證之前檢測(cè)到的下降沿不是噪聲或干擾。在16個(gè)時(shí)鐘周期之后對(duì)下一位采樣,也就是下圖中的D0位的中點(diǎn)。

UART同步效果

UART synchronization effects

因?yàn)閁ART接收器在每一幀的開(kāi)始重新同步,前面幀的采樣錯(cuò)誤(除了停止位之外)不會(huì)累加。因此,采樣錯(cuò)誤只限于一個(gè)數(shù)據(jù)幀,與整個(gè)發(fā)送數(shù)據(jù)無(wú)關(guān)。經(jīng)常由于接收時(shí)鐘和接收數(shù)據(jù)幀的同步錯(cuò)誤而導(dǎo)致采樣錯(cuò)誤。該錯(cuò)誤會(huì)影響整個(gè)幀,它將數(shù)據(jù)位的采樣點(diǎn)移到更靠近過(guò)渡邊沿的地方。由于這些過(guò)渡邊沿上升和下降緩慢,該錯(cuò)誤可能導(dǎo)致數(shù)據(jù)檢測(cè)錯(cuò)誤。過(guò)渡邊沿的緩慢上升和下降是發(fā)送電纜的高阻抗導(dǎo)致的。當(dāng)停止位被采樣為低而不是高時(shí),幀錯(cuò)誤就出現(xiàn)了。因?yàn)樘幚砥鞫说腢ART波特率由處理器的外部時(shí)鐘產(chǎn)生,所需的波特率產(chǎn)生可能不精確。這會(huì)進(jìn)一步導(dǎo)致發(fā)送端的時(shí)序變化,在接收端就可能出現(xiàn)采樣錯(cuò)誤。

       2、編程技巧

(1)全雙工DMA

因?yàn)閁ART是一個(gè)全雙工外設(shè),發(fā)送器和接收器同時(shí)工作并相互獨(dú)立。當(dāng)在環(huán)路模式中進(jìn)行全雙工DMA時(shí)(在這里發(fā)送器的輸出與接收器的輸入相連),要保證UART的接收端在使能發(fā)送端之前被使能,以避免接收端的數(shù)據(jù)丟失。

匯編代碼見(jiàn)附錄A。

(2)UART中斷

在I/O模式下使能UART中斷需要兩步。在I/O模式中用UART中斷要謹(jǐn)慎,因?yàn)樗闹袛啾焕壋梢粋(gè)單一的接收中斷。首先要將UART中斷映射為中斷向量表中的中斷之一。通過(guò)對(duì)DAI中斷控制寄存器編程或?qū)ART映射到任何一個(gè)外設(shè)中斷源,直接使用DAI中斷。這可以通過(guò)改變外設(shè)中斷優(yōu)先級(jí)控制寄存器的UART中斷的默認(rèn)設(shè)置來(lái)實(shí)現(xiàn),即選擇UART接收中斷。UART0和UART1的接收中斷選定值分別對(duì)應(yīng)0x13和0x14。

I/O模式下的第二步是在UART中斷使能寄存器(UARTxIER)中設(shè)置相應(yīng)的位以使能UART中斷。在所有UART設(shè)置(比如字長(zhǎng)、奇偶校驗(yàn)等)之后要從內(nèi)部使能中斷,因?yàn)樵诎l(fā)送模式下,一旦在UARTxIER寄存器對(duì)發(fā)送緩沖為空位使能,就會(huì)產(chǎn)生中斷。如果在其他的UART設(shè)置之前對(duì)該位使能,在發(fā)送中斷服務(wù)例程中的發(fā)送數(shù)據(jù)不會(huì)遵循以后通過(guò)編程對(duì)UART的設(shè)置,會(huì)導(dǎo)致通信錯(cuò)誤。在DMA模式中,對(duì)發(fā)送或接收DMA按照I/O模式步驟1中的介紹使能相應(yīng)的中斷就可以了。在DMA模式下,用戶(hù)不需要使用UARTxIER寄存器使能發(fā)送或接收中斷。但是對(duì)于奇偶校驗(yàn)錯(cuò)誤、溢出錯(cuò)誤、幀錯(cuò)誤或地址檢測(cè)錯(cuò)去引起的線(xiàn)狀態(tài)中斷,即使在DMA模式下,也要在UARTxIER寄存器中設(shè)置相應(yīng)的中斷位。

在VisualDSP++中運(yùn)行或單步調(diào)試代碼時(shí),如果使用了UART中斷,不要打開(kāi)UART寄存器窗口(UART寄存器窗口對(duì)外設(shè)的中斷狀態(tài)有影響)。如果打開(kāi)了該窗口會(huì)清除中斷鎖存器,仿真器會(huì)不斷的對(duì)這些寄存器進(jìn)行讀操作。

3. 與PC通信

與PC通信要保證UART的內(nèi)部編程設(shè)置和串口調(diào)試助手的COM端口的配置相匹配。與PC通信的UART初始化過(guò)程代碼如下。程序中對(duì)UART的設(shè)置和圖4.4中對(duì)串口調(diào)試助手的配置相匹配。

void initUART( )

{

       /* 設(shè)置UART0的波特率*/      

       *pUART0LCR = UARTDLAB;

// 使能Divisor Latch High/Low 寄存器(UARTxDLL,UARTxDLLH)來(lái)設(shè)置波特率

*pUART0DLL = 0x1c;    

    *pUART0DLH=0x02;

    //除數(shù)值為0x21c = 540,時(shí)鐘頻率為331.776MHz 的情況下,波特率為19200

    /* 配置UART0 LCR寄存器*/

    *pUART0LCR = UARTWLS8|            // 字長(zhǎng)為8

                    UARTPEN|           // 奇校驗(yàn)

                    UARTSTB ;          // 2個(gè)停止位

    *pUART0RXCTL = UARTEN;      //使能UART0 接收模式

    *pUART0TXCTL = UARTEN;      //使能UART0傳送模式

    xmitUARTmessage(welcomemessage,sizeof(welcomemessage));   //傳送歡迎信息

}

 串口調(diào)試助手的設(shè)置

Configuring of serial debugging assistant

聯(lián)系我們 | 關(guān)于我們 | 免責(zé)聲明 | 誠(chéng)征英才 | 友情鏈接
Copyright 2019 All rights reserved  本網(wǎng)頁(yè)版權(quán)屬Open ADSP所有
北京海淀區(qū)中關(guān)村大街32號(hào)新中發(fā)市場(chǎng)3659 郵編100100
電話(huà) 18611096839 
粵ICP備14035876號(hào)-1