|
MPC8272是Motorola公司2004年推出的第2代PowerQUICC通信處理器。該通信處理器采用MPC603e核心處理器,核心處理器工作頻率達400 MHz,外部總線工作頻率達100 MHz,總線支持32位地址,64位數據位寬操作。另外該通信處理器內嵌一個32位RISC處理器的通信處理模塊,集成有MAC、FCC、SMC、 ATM、HDLC、UART、T1、USB、PCI等設備通信接口,以及1個60x總線接口連接通用外圍設備,非常適用于通信控制領域的應用。 1 通信處理器MPC8272讀寫時序 MPC8272總線對外部器件的讀、寫訪問是通過存儲器控制模塊來實現的,存儲器控制模塊生成8個外部存儲器地址空間片選信號CSO~CS7,每個片選信號對應2個主要控制寄存器BR和OR,用它們來定義片選信號所定義的地址空間和對等待狀態數、讀寫選通信號的建立時間、激活時間、保持時間等的設置。 MPC8272對外部器件數據讀、寫時序如圖1、圖2所示。其中tc是外部總線工作時鐘Clock的時鐘周期,tRC和tWC分別是讀寫指令周期,tW是讀寫指令周期內插入的Clock時鐘周期。當不使用外部輸入信號TA(數據傳輸確認信號)時,插入的時鐘周期數由0R寄存器的SCY值確定,其值最大為 15個時鐘周期;當使用外部輸入信號TA時,插入的時鐘周期數由其確定;當輸入信號TA變低時(即外設數據準備好時),處理器即可完成此次數據的讀寫操作。 MPC8272的外部總線工作頻率可達100 MHz。當讀寫指令周期不插入時鐘周期時,其外部總線指令周期為2個時鐘周期——20 ns,外部總線速率最高可達(50×N)Mbps(其中N為總線數據位寬)。該速率對于一般通用外設來說是很高的,需調整OR寄存器的SCY值以降低總線速率與外設進行讀寫操作。插入最大15個時鐘周期時,外部總線指令周期最大為17個時鐘周期——170 ns,此時外部總線速率最低為(5.8×N)Mbps,該速率滿足常用外設的總線讀寫要求。對于通信的一些特殊外設,如交換網絡電路MT90826、雙口 RAM IDT71V321、數字信號處理器TMS320VC5416等接口,需采用處理器MPC8272的外部數據傳輸確認信號TA并設計相應的外部硬件等待邏輯電路進一步降低總線速率或動態插入任何數目的等待時鐘周期tW,以避免數據讀寫沖突,提高處理器總線效率和數據傳輸可靠性。
2 外設讀寫時序分析 作為語音通信產品,嵌入式處理器主要外設的工作是:話音交換矩陣完成話音交換;DSP完成DTMF收發號、FSK來電號碼顯示以及會場話音融合等;雙口RAM完成嵌入式處理器與其他處理器間的數據通信;顯示器用于參數設置或功能顯示等。各外設的總線接口具有讀、寫周期長且不確定等特點,不能直接與MPC8272總線連接,需設計相應的外部硬件電路以滿足外設的讀寫時序要求。以下分別對各外設接口進行介紹。 MT90826是卓聯公司開發的4 096×4 096通道無阻塞大型話音交換矩陣電路,支持2.048 Mbps、4.096 Mbps、8.192Mbps和16.384.Mbps等ST—BUS格式數據流。電路采用順序寫入控制讀出交換機理,每個輸出通道對應一個連接寄存器。嵌入式處理器通過在輸出通道的連接寄存器中寫入輸入通道的地址,完成輸入與輸出通道話音數據流的交換。嵌入式處理器對MT90826的讀寫操作是否完成,可通過MT90826的數據傳輸確認信號DTA指示,其時序如圖3所示。當DTA信號在片選周期內由高變低后,表示嵌入式處理器可以結束本次總線的讀寫操作了。tAKD時間長短并不確定,其最大值為240 ns,最小值為0。
在一個系統中,可能存在多片數字信號處理器TMS320VC5416,它們分別完成 DTMF收發號、FSK來電號碼顯示和會場話音融合等功能。TMS320VC5416采用8位HPI接口與嵌入式處理器進行數據交換,其通信原理與兩個處理器之間采用雙口RAM進行數據通信相似,即兩處理器共享一段內存空間,分不同時間對其讀寫操作。當處理器1正在對一個內存地址操作(讀或寫),而處理器2也需對其進行操作(寫或讀)時,此時輸出忙占用信號,處理器2需等待忙占用信號結束后才能完成本次寫或讀操作。TMS320VC5416與雙口RAM IDT71V321的不同之處在于:嵌入式處理器操作IDT71V321是直接內存操作,而嵌入式處理器操作TMS320VC5416是通過HPI接口地址、數據寄存器間接操作TMS320VC5416的內存空間的。另外,TMS320VC5416的HPI接口忙信號HRDY為高電平有效,IDT71V321接口忙信號BUSY為低電平有效。HRDY和BUSY信號的產生均具有隨機性,且隨著總線操作頻率的增加而加大;忙等待時間 tRDY和tBUSY也具有不確定性,與其通信的處理器運行速度的快慢有關,讀寫時序如圖4所示。
VGGl2864E是北京維信諾科技有限公司開發的128×64點陣OLED顯示模塊,讀寫時序如圖5所示。該OLED模塊的使能信號E的周期tEC最小為1 000 ns(相當于固定1 Mbps的總線速率),使能信號脈沖寬度tEH、tEL最小為450 ns。嵌入式處理器MPC8272若采用總線方式直接控制0LED模塊,則MPC8272的讀、寫周期最大值為170 ns,其讀、寫時序不能滿足該OLED模塊的要求,需設計相應的外部硬件等待邏輯電路來擴展MPC8272的讀、寫周期時長,以滿足OLED模塊的要求。
3 總線適配設計 快速嵌入式處理器與慢速外設的總線適配方法大致有3種:降低外部總線頻率、調整片選控制寄存器時鐘周期數和使用外部輸入確認信號TA(Intel處理器名為數據準備好信號RDY,三星處理器名為總線周期延長請求信號nwait,它們的工作原理相同)。 降低嵌入式處理器外部總線頻率可加長總線數據傳輸周期,達到與低速外設匹配的目的,但大大降低了處理器的利用率和效率。該方法不可取。 調整嵌入式處理器片選控制寄存器的插入時鐘周期數,可以滿足總線周期固定且不大于處理器外部總線周期的外設的要求,但不能滿足總線周期不確定和大于處理器外部總線周期的外設的要求。例如,MPC8272的外部總線工作頻率為100 MHz,外部總線指令周期最大為170 ns,可以滿足總線周期小于170 ns的外設的要求,但不能與0LED模塊(周期為l000 ns)連接。由于TMS320VC5416和IDT71V321接口的不確定性,其總線也不能與嵌入式處理器總線直接連接,需使用其外部輸入確認信號TA 并設計外部邏輯電路進行適配,以滿足穩定、可靠的外部總線讀寫需要,其硬件連接如圖6所示。MT90826數據總線接口為16位寬,設置MPC8272的片選CS4為16位寬與其匹配;其他外設數據總線均為8位寬,共用MPC8272的片選CS5,并與高位地址線A18、A17進行地址譯碼產生其他外設的片選使能信號。CPLDEPM3064的詳細設計如圖7所示。
圖7中,TA_N是MPC8272的數據傳輸確認信號,低電平有效,而DSP HPI接口數據準備好信號HRDY高電平有效,因此須反向;雙口RAM忙指示信號(即數據未準備好)BUSY_N低電平有效,須反向;OLED_RDY_N是當外部總線為100 MHz時(SCLK為100MHz外部總線時鐘輸入),插入cnt=100個時鐘周期(等待狀態為1μs)后的數據準備好信號,低電平有效。功能模塊 RDY_N的相關VHDL描述如下:
這里由于采用了CPLD芯片,因此只需修改VHDL程序中參數cnt的值,就可方便地調整等待狀態的時長,如O.5 μs、2μs、3μs、4μs等,使用非常簡單、快捷。定制固定1 Mbps總線速率時,只需將該片選的cnt值設為100,即等待狀態時長為1μs。 4 總結 嵌入式處理器MPC8272內存控制模塊和總線外部TA數據傳輸確認輸人信號,為其與常用外設和慢速外設通信的時序匹配設計提供了方便。本文給出了 MPC8272與各種外設的時序匹配方法。該方法提高了嵌入式處理器的總線效率和數據傳輸的穩定性及可靠性,并已在實際工程應用中正常使用,具有很強的適用性和通用性。 參考文獻 1. Freescale Semiconductor MPC8272 PowerQUICCII Family Reference Manual,Rev.2 2. Zarlink Semiconductor MT90826 Data Sheet 3. Texal Instruments TMS320VC5416 Fixed-Point Digital Signal Processor Data Manual 4. IDT Semiconductor IDT71V321 Data Sheet 作者:江西聯創通信有限公司 蔡錦華 來源:單片機與嵌入式系統應用 2009 (2) |