新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AT91RM9200處理器同步串口SSC的特性分析與應用

        AT91RM9200處理器同步串口SSC的特性分析與應用

        作者: 時間:2016-12-02 來源:網絡 收藏


        專用外設數據直接存取控制器PDC(PeripheralDMA Controller)用于UART、USART、SSC、SPI、MC等片上串行外設與片內、片外存儲器間傳輸數據。使用外設數據直接存取控制器能夠提高數據傳輸能力,減輕處理器運行負擔。這樣顯著降低了外設與存儲器之間數據傳輸所需的時鐘周期數,因此也提高了微控制器的性能,使處理器工作更有效。PDC通道是成對構建的,每對對應一個指定的外設。通道中一個負責接收、另一個負責發送。PDC用戶接口集成在每個外設存儲空間中,它包括:1個32位存儲器指針寄存器、1個16位傳輸計數寄存器、1個32位寄存器(用作下個存儲器指針)、1個16位寄存器(用作下個傳輸計數)。

        外設使用發送與接收信號觸發PDC傳輸,在傳輸數據過程中,相應的外設產生一個傳輸結束中斷請求結束本次傳輸。三個獨立的SSC同步串口對應三對PDC。

        PDC與SSC傳輸數據特性為:存儲器到SSC的傳輸需一個主機時鐘周期,SSC到存儲器間的傳輸需兩個主機時鐘周期。

        配置PDC通道可以控制各個通道的數據傳輸,PDC通道的用戶接口集成在與其對應的SSC外設接口上(偏移0x100)。

        每個SSC包含4個32位指針寄存器(RPR、RNPR、TPR及TNPR)與4個16位計數寄存器(RCR、RNCR、TCR及TNCR)。緩沖器的大小(傳輸數據數量)在內部16位傳輸計數寄存器中配置,可在任意時刻讀取每個通道待傳輸數據的大小。通過定義存儲器訪問的首地址位置,在32位存儲器指針配置存儲器基地址,可在任意時刻讀取下一次傳輸的存儲空間位置和待傳輸的數目。PDC有專門的狀態寄存器指示各通道傳輸是否使能,各通道工作狀態指示位于SSC狀態寄存器中。設置PDC傳輸控制寄存器的TXTEN/TXTDIS與RXTEN/RXTDIS位可使能和(或)禁用傳輸,這些控制位使能時,可以安全讀取指針及計數寄存器,在讀取的過程中不會有危險。

        每個PDC通道有一個內部的32位存儲器指針,每個存儲器指針可指向存儲空間的任意位置(片上存儲器或外部總線接口存儲器)。根據傳輸類型的不同(字節、半字或字),外設傳輸的存儲器指針以1、2或4增加。若PDC工作時對存儲器指針重新編程,傳輸地址改變,在新地址執行PDC傳輸。

        每個PDC通道有一個內部16位傳輸計數器用來計算已傳輸塊的大小。每次數據傳輸完成后計數器減一。當計數器到零時,傳輸完成,PDC停止傳輸數據。若下一個計數寄存器(Next Counter Regis-ter)等于零,PDC禁用觸發并激活相關的外設結束標志。若PDC工作時修改計數器值,PDC使用新值開始計數。每個通道中,有兩個狀態位來標識傳輸結束,這些位直接映射到外設狀態寄存器。當寫入一個計數器寄存器(計數器或下次計數器)時,外設結束標志自動清零。

        當SSC接收到一個外部字符時,它向PDC發送一個接收就緒信號,PDC再向系統總線請求訪問,當訪問得到許可,PDC開始讀取外設接收保持寄存器(RHR)并觸發存儲器寫操作。每次傳輸后,相關PDC存儲器指針遞增,而待傳輸數目遞減。當達到存儲器塊大小時,向外設發送一個信號并停止傳輸。對于發送數據傳輸,處理過程與上述相反。

        4 同步串口SSC的典型應用

        SSC同步串口特性決定了AT91RM9200不僅可以用于工業控制領域,而且可以很方便地用于電信設備。它能夠直接與I2S總線接口的音頻編解碼器、符合電話接口的PCM編解碼器連接,如圖4所示。更主要的是,它可以提供三個獨立接口,直接和電信應用中的E1接口連接,高性能內核ARM920T可處理高速同步數據流。因此,借助于內部提供的10M/100Mb/s以太網接口,將AT91RM9200作為E1與以太網轉換的網關核心處理器是一個理想的選擇。



        在網關應用中,SSC包含獨立的接收器、發送器及時鐘分頻器。每個發送器及接收器分別有3個信號引腳:數據TD/RD信號、時鐘TK/RK信號及幀同步TF/RF信號,可以直接與E1成幀器DS21554的背板對應信號連接。網關可以在主、從兩種模式下工作,主模式時,DS21554不需要跟蹤上級同步時鐘;從模式時,跟蹤上級同步時鐘。前者,同步串口SSC不需要單獨時鐘電路,配置AT91RM9200 SSC寄存器,使SSC接口工作在主動模式,產生時鐘和幀定位信號,提供給DS21554,也可以直接將TK/TF連接到RCK/RSY,同時斷開RK/RF。若為后者,網關為一個電信系統中的終端,通過配置寄存器使SCC接口工作在被動方式,TK/TF/RK/RF和TCK/TSS/RSS/RCK一樣,均為輸入信號端子,提取接收時鐘,通過鎖相環同步后產生時鐘和幀定位信號。不論哪種形式,配置時鐘信號均為2 048 kHz,32個時鐘周期出現一個幀定位信號以滿足E1幀格式,參考器件手冊,可以通過調整DS21554和AT91RM9200寄存器設置,使得SSC信號時序和E1成幀器背板信號時序匹配。根據實際需求,三個SSC同步串口可以同時連接三個E1成幀器,考慮到音視頻數據流量和以太網有效吞吐能力,有效數據量達2 Mb/s~6Mb/s,可滿足不同應用的音視頻數據傳輸,如圖5所示。



        5 結束語

        基于ARM內核的處理器是目前嵌入式系統的主流,但是,同時內置同步串口和10 Mb/s~100 Mb/s以太網接口的ARM處理器為數卻很少。AT91RM9200處理器集成了同步串口和以太網控制器,是一款高性能處理器。本文重點分析了該處理器的同步串口特性,介紹其具體應用。采用此器件,筆者實現了VoIP網關設備,性能穩定,可靠性高而且成本低。

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 保山市| 论坛| 新民市| 云浮市| 象山县| 景谷| 宿松县| 岑巩县| 昭通市| 呼伦贝尔市| 红河县| 太仓市| 江阴市| 苏尼特左旗| 北川| 镇宁| 永登县| 博兴县| 博爱县| 宁南县| 商河县| 登封市| 长垣县| 富裕县| 乌拉特中旗| 彰化县| 封开县| 黑河市| 云阳县| 北宁市| 宣威市| 博客| 巨野县| 犍为县| 洪洞县| 阳信县| 兴安县| 蒙自县| 九龙县| 甘德县| 双柏县|