AT91RM9200處理器同步串口SSC的特性分析與應用
電信網和因特網是兩大網絡系統,必然存在兩個網絡數據或信息的互通問題,例如:VoIP、混合視頻會議等新業務。E1接口和以太網接口分別是電信網和因特網使用最為普遍的接入端口,設計一個嵌入式網關設備,通過這兩種端口將兩大網絡連接起來就顯得尤為迫切、重要。本文介紹的AT91RM9200處理器處理能力強、接口豐富,內部集成了同步串口和以太網接口,是嵌入式小型網關控制器的理想選擇。
2 AT91RM9200和DS21554
AT91RM9200內部集成了一個ARM920T—ARM Thumb處理器,在180 MHz時鐘時運行速度高達200 MI/s;內部有16 KB的數據Cache、16 KB指令Cache、寫緩沖區、全功能的MMU(存儲器管理單元);片內帶有調試通道的仿真器、16 KB的SRAM和128 KB的ROM,支持SDRAM、SRAM、Burst Flash,無縫連接CompactFlashTM,SmartMediaTM和NAND Flash;增強型的時鐘產生器和電源管理控制器,包括周期性中斷、看門狗和帶有報警中斷的實時時鐘;帶有8個優先級、可單個屏蔽中斷源、7個外部中斷源和一個快速中斷源;122個可編程I/O引腳(多功能復用);20通道DMA(直接存儲器存取)控制器;10/100 Base-T型以太網控制器及介質無關接口MII,全速USB2.0接口(12 Mb/s,2主1從),3個同步串行控制器(SSC),4個通用同步/異步串口(USART),主機/從機串行外設接口(SPI),兩線接口(TWI),兩個3通道16位定時/計數器(TC)。超強的處理能力和豐富的接口使得該處理器廣泛應用于各種嵌入式通信和控制系統中,尤其是同步串口和以太網接口,使其可以作為網關設備核心處理器。
電信網中數據以TDM(時分復用)形式傳輸,采用E1幀結構,相應網絡接口包括電氣接口和幀結構,符合ITU-T的G.703/G.704規范或者國標GB7611。DS21554是一個符合該規范的E1成幀器集成電路,內部集成了線路接口和成幀器,其主要性能有:符合規范的完整PCM30/32 E1收發器:內含一個64 KB緩沖器的HDLC控制器;8 bit并行控制器接口;提供隨路信令(CAS)、共路信令(CCS)和CRC4幀格式;回環測試功能;HDB3編碼的線路接口等。線路接口支持75 Ω同軸電纜或者120 Ω雙絞線連接;背板接口可以根據需要在主、從模式下工作,提供同步接收、發送數據信號(RSER/TSER),收發幀定位信號(RSYNC/TSSYNC),收發時鐘信號(RSYSCLK/TSYSCLK);四個DS21554可以實現背板信號菊花鏈連接,提供8192 KB/s字節復用同步數據流。
3 SSC特性分析
AT91RM9200提供三個獨立的同步串行控制器(SSC)與外部器件進行同步通信。它支持音頻和電信應用中常用的串行同步通信協議,如I2S、短幀同步、長幀同步方式等。
每個SSC包含獨立的接收器、發送器以及一個時鐘分頻器。發送器/接收器分別有三個信號引腳:數據TD/RD信號、時鐘TK/RK信號及幀同步。TF/RF信號,由于這些引腳與通用I/O引腳復用,初始化程序必須配置使其在SSC模式下工作;每幀最多由16個32位字組成,可編程設定為自動啟動或在幀同步信號檢測到不同事件時啟動。SSC與內部兩個32位專用外設數據直接存取控制器PDC(Pe-ripheral DMA Controller)通道連接,可在沒有處理器干涉的情況下進行連續的高速率數據傳輸。初始化程序配置使每幀為16個16位半字即每幀32字節,與E1幀對應;串口發送/接收時鐘由其工作模式決定,從模式時,TK/RK和TF/RF均為輸入端子,由外部提供時鐘和幀定位型號。主模式時,TK/RK和TF/RF均為輸出端子,對E1成幀器提供時鐘和幀定位信號,此時,時鐘信號TK/RK來源非常靈活。
內部發送時鐘TCLK(接收時鐘RCLK)來源非常靈活,可以來自處理器主時鐘MCK經SSC分頻后得到的分頻時鐘D_CLK、TK引腳(RK引腳)或者RCLK(TCLK),如圖1所示。處理器內部主時鐘MCK通過初始化程序配置時鐘選擇器、預分頻器和分頻器得到MCK,再經過SSC分頻器使得分頻時鐘D_CLK為2.048 Mb/s,如圖2所示。主模式下幀定位信號TF/RF也非常靈活,通過配置相關寄存器,可以使其為正脈沖或者負脈沖,脈沖寬度可以調節,與發送/接收信號的相位關系也可以靈活調整,能夠與標準的E1成幀器背板信號直接連接。數據流中可以發送或者接收一個特定標記數據(幀同步數據),類似于E1幀結構中的幀同步數據。每幀起始位置可以通過寄存器設置,幀脈沖生效后,數據起始位置與時鐘信號有關,主要有4種模式:連續、TK/RK上升或下降沿觸發、TK/RK高或低電平觸發、TK/RK電平變化或沿跳變觸發,如圖3所示,接收起始模式與發送類似。


發送數據或者接收數據幀格式由發送器幀模式寄存器(SSC_TFMR)以及接收器幀模式寄存器(SSC_RFMR)編程設定,可以分別設置的參數有:
啟動數據傳輸條件;
幀脈沖前沿到第一個數據位的延時;
數據長度(DATLEN);
每幀傳輸的數據數(DATNB);
幀同步數據寄存器長度(FSLEN);
比特意義:高位或低位在前(MSBF)。
上述設置可以配置SSC同步串口每幀長度最大為512位長,由于E1幀格式每幀固定長度8×32位=256位,因此,配置適當SSC相關寄存器不僅可以保證SSC同步串口與E1接口時鐘、幀脈沖、收/發數據等時序一致,而且數據幀格式也能保持一致。
評論