<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2008-09-23 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

  電信網(wǎng)和因特網(wǎng)是兩大網(wǎng)絡(luò )系統,必然存在兩個(gè)網(wǎng)絡(luò )數據或信息的互通問(wèn)題,例如:VoIP、混合視頻會(huì )議等新業(yè)務(wù)。E1接口和以太網(wǎng)接口分別是電信網(wǎng)和因特網(wǎng)使用最為普遍的接入端口,設計一個(gè)嵌入式網(wǎng)關(guān)設備,通過(guò)這兩種端口將兩大網(wǎng)絡(luò )連接起來(lái)就顯得尤為迫切、重要。本文介紹的AT91RM9200處理器處理能力強、接口豐富,內部集成了同步串口和以太網(wǎng)接口,是嵌入式小型網(wǎng)關(guān)控制器的理想選擇。

2 AT91RM9200和DS21554

  AT91RM9200內部集成了一個(gè)ARM920T―ARM Thumb處理器,在180 MHz時(shí)鐘時(shí)運行速度高達200 MI/s;內部有16 KB的數據Cache、16 KB指令Cache、寫(xiě)緩沖區、全功能的MMU(存儲器管理單元);片內帶有調試通道的仿真器、16 KB的SRAM和128 KB的ROM,支持SDRAM、SRAM、Burst Flash,無(wú)縫連接CompactFlashTM,SmartMediaTM和NAND Flash;增強型的時(shí)鐘產(chǎn)生器和電源管理控制器,包括周期性中斷、看門(mén)狗和帶有報警中斷的實(shí)時(shí)時(shí)鐘;帶有8個(gè)優(yōu)先級、可單個(gè)屏蔽中斷源、7個(gè)外部中斷源和一個(gè)快速中斷源;122個(gè)可編程I/O引腳(多功能復用);20通道DMA(直接存儲器存取)控制器;10/100 Base-T型以太網(wǎng)控制器及介質(zhì)無(wú)關(guān)接口MII,全速USB 2.0接口(12 Mb/s,2主1從),3個(gè)同步串行控制器(SSC),4個(gè)通用同步/異步串口(USART),主機/從機串行外設接口(SPI),兩線(xiàn)接口(TWI),兩個(gè)3通道16位定時(shí)/計數器(TC)。超強的處理能力和豐富的接口使得該處理器廣泛應用于各種嵌入式通信和控制系統中,尤其是同步串口和以太網(wǎng)接口,使其可以作為網(wǎng)關(guān)設備核心處理器。

  電信網(wǎng)中數據以TDM(時(shí)分復用)形式傳輸,采用E1幀結構,相應網(wǎng)絡(luò )接口包括電氣接口和幀結構,符合ITU-T的G.703/G.704規范或者國標GB7611。DS21554是一個(gè)符合該規范的E1成幀器集成電路,內部集成了線(xiàn)路接口和成幀器,其主要性能有:符合規范的完整PCM30/32 E1收發(fā)器:內含一個(gè)64 KB緩沖器的HDLC控制器;8 bit并行控制器接口;提供隨路信令(CAS)、共路信令(CCS)和CRC4幀格式;回環(huán)測試功能;HDB3編碼的線(xiàn)路接口等。線(xiàn)路接口支持75 Ω同軸電纜或者120 Ω雙絞線(xiàn)連接;背板接口可以根據需要在主、從模式下工作,提供同步接收、發(fā)送數據信號(RSER/TSER),收發(fā)幀定位信號(RSYNC/TSSYNC),收發(fā)時(shí)鐘信號(RSYSCLK/TSYSCLK);四個(gè)DS21554可以實(shí)現背板信號菊花鏈連接,提供8192 KB/s字節復用同步數據流。

3 SSC特性分析

  AT91RM9200提供三個(gè)獨立的同步串行控制器(SSC)與外部器件進(jìn)行同步通信。它支持音頻和電信應用中常用的串行同步通信協(xié)議,如I2S、短幀同步、長(cháng)幀同步方式等。

  每個(gè)SSC包含獨立的接收器、發(fā)送器以及一個(gè)時(shí)鐘分頻器。發(fā)送器/接收器分別有三個(gè)信號引腳:數據TD/RD信號、時(shí)鐘TK/RK信號及幀同步。TF/RF信號,由于這些引腳與通用I/O引腳復用,初始化程序必須配置使其在SSC模式下工作;每幀最多由16個(gè)32位字組成,可編程設定為自動(dòng)啟動(dòng)或在幀同步信號檢測到不同事件時(shí)啟動(dòng)。SSC與內部?jì)蓚€(gè)32位專(zhuān)用外設數據直接存取控制器PDC(Pe-ripheral DMA Controller)通道連接,可在沒(méi)有處理器干涉的情況下進(jìn)行連續的高速率數據傳輸。初始化程序配置使每幀為16個(gè)16位半字即每幀32字節,與E1幀對應;串口發(fā)送/接收時(shí)鐘由其工作模式?jīng)Q定,從模式時(shí),TK/RK和TF/RF均為輸入端子,由外部提供時(shí)鐘和幀定位型號。主模式時(shí),TK/RK和TF/RF均為輸出端子,對E1成幀器提供時(shí)鐘和幀定位信號,此時(shí),時(shí)鐘信號TK/RK來(lái)源非常靈活。

  內部發(fā)送時(shí)鐘TCLK(接收時(shí)鐘RCLK)來(lái)源非常靈活,可以來(lái)自處理器主時(shí)鐘MCK經(jīng)SSC分頻后得到的分頻時(shí)鐘D_CLK、TK引腳(RK引腳)或者RCLK(TCLK),如圖1所示。處理器內部主時(shí)鐘MCK通過(guò)初始化程序配置時(shí)鐘選擇器、預分頻器和分頻器得到MCK,再經(jīng)過(guò)SSC分頻器使得分頻時(shí)鐘D_CLK為2.048 Mb/s,如圖2所示。主模式下幀定位信號TF/RF也非常靈活,通過(guò)配置相關(guān)寄存器,可以使其為正脈沖或者負脈沖,脈沖寬度可以調節,與發(fā)送/接收信號的相位關(guān)系也可以靈活調整,能夠與標準的E1成幀器背板信號直接連接。數據流中可以發(fā)送或者接收一個(gè)特定標記數據(幀同步數據),類(lèi)似于E1幀結構中的幀同步數據。每幀起始位置可以通過(guò)寄存器設置,幀脈沖生效后,數據起始位置與時(shí)鐘信號有關(guān),主要有4種模式:連續、TK/RK上升或下降沿觸發(fā)、TK/RK高或低電平觸發(fā)、TK/RK電平變化或沿跳變觸發(fā),如圖3所示,接收起始模式與發(fā)送類(lèi)似。



  發(fā)送數據或者接收數據幀格式由發(fā)送器幀模式寄存器(SSC_TFMR)以及接收器幀模式寄存器(SSC_RFMR)編程設定,可以分別設置的參數有:

啟動(dòng)數據傳輸條件;

幀脈沖前沿到第一個(gè)數據位的延時(shí);

數據長(cháng)度(DATLEN);

每幀傳輸的數據數(DATNB);

幀同步數據寄存器長(cháng)度(FSLEN);

比特意義:高位或低位在前(MSBF)。

  上述設置可以配置SSC同步串口每幀長(cháng)度最大為512位長(cháng),由于E1幀格式每幀固定長(cháng)度832位=256位,因此,配置適當SSC相關(guān)寄存器不僅可以保證SSC同步串口與E1接口時(shí)鐘、幀脈沖、收/發(fā)數據等時(shí)序一致,而且數據幀格式也能保持一致。

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

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

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

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

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

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

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

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

4 同步串口SSC的典型應用

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

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

5 結束語(yǔ)

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



關(guān)鍵詞: 設計 arm PDC 設備 串口

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>