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