嵌入式處理器MPC8272與外設的總線適配
1 通信處理器MPC8272讀寫時序
MPC8272總線對外部器件的讀、寫訪問是通過存儲器控制模塊來實現(xiàn)的,存儲器控制模塊生成8個外部存儲器地址空間片選信號CSO~CS7,每個片選信號對應2個主要控制寄存器BR和OR,用它們來定義片選信號所定義的地址空間和對等待狀態(tài)數(shù)、讀寫選通信號的建立時間、激活時間、保持時間等的設置。 MPC8272對外部器件數(shù)據(jù)讀、寫時序如圖1、圖2所示。其中tc是外部總線工作時鐘Clock的時鐘周期,tRC和tWC分別是讀寫指令周期,tW是讀寫指令周期內(nèi)插入的Clock時鐘周期。當不使用外部輸入信號TA(數(shù)據(jù)傳輸確認信號)時,插入的時鐘周期數(shù)由0R寄存器的SCY值確定,其值最大為 15個時鐘周期;當使用外部輸入信號TA時,插入的時鐘周期數(shù)由其確定;當輸入信號TA變低時(即外設數(shù)據(jù)準備好時),處理器即可完成此次數(shù)據(jù)的讀寫操作。
MPC8272的外部總線工作頻率可達100 MHz。當讀寫指令周期不插入時鐘周期時,其外部總線指令周期為2個時鐘周期——20 ns,外部總線速率最高可達(50×N)Mbps(其中N為總線數(shù)據(jù)位寬)。該速率對于一般通用外設來說是很高的,需調整OR寄存器的SCY值以降低總線速率與外設進行讀寫操作。插入最大15個時鐘周期時,外部總線指令周期最大為17個時鐘周期——170 ns,此時外部總線速率最低為(5.8×N)Mbps,該速率滿足常用外設的總線讀寫要求。對于通信的一些特殊外設,如交換網(wǎng)絡電路MT90826、雙口 RAMIDT71V321、數(shù)字信號處理器TMS320VC5416等接口,需采用處理器MPC8272的外部數(shù)據(jù)傳輸確認信號TA并設計相應的外部硬件等待邏輯電路進一步降低總線速率或動態(tài)插入任何數(shù)目的等待時鐘周期tW,以避免數(shù)據(jù)讀寫沖突,提高處理器總線效率和數(shù)據(jù)傳輸可靠性。

2 外設讀寫時序分析
作為語音通信產(chǎn)品,嵌入式處理器主要外設的工作是:話音交換矩陣完成話音交換;DSP完成DTMF收發(fā)號、FSK來電號碼顯示以及會場話音融合等;雙口RAM完成嵌入式處理器與其他處理器間的數(shù)據(jù)通信;顯示器用于參數(shù)設置或功能顯示等。各外設的總線接口具有讀、寫周期長且不確定等特點,不能直接與MPC8272總線連接,需設計相應的外部硬件電路以滿足外設的讀寫時序要求。以下分別對各外設接口進行介紹。
MT90826是卓聯(lián)公司開發(fā)的4 096×4 096通道無阻塞大型話音交換矩陣電路,支持2.048 Mbps、4.096 Mbps、8.192Mbps和16.384.Mbps等ST—BUS格式數(shù)據(jù)流。電路采用順序寫入控制讀出交換機理,每個輸出通道對應一個連接寄存器。嵌入式處理器通過在輸出通道的連接寄存器中寫入輸入通道的地址,完成輸入與輸出通道話音數(shù)據(jù)流的交換。嵌入式處理器對MT90826的讀寫操作是否完成,可通過MT90826的數(shù)據(jù)傳輸確認信號DTA指示,其時序如圖3所示。當DTA信號在片選周期內(nèi)由高變低后,表示嵌入式處理器可以結束本次總線的讀寫操作了。tAKD時間長短并不確定,其最大值為240 ns,最小值為0。

在一個系統(tǒng)中,可能存在多片數(shù)字信號處理器TMS320VC5416,它們分別完成 DTMF收發(fā)號、FSK來電號碼顯示和會場話音融合等功能。TMS320VC5416采用8位HPI接口與嵌入式處理器進行數(shù)據(jù)交換,其通信原理與兩個處理器之間采用雙口RAM進行數(shù)據(jù)通信相似,即兩處理器共享一段內(nèi)存空間,分不同時間對其讀寫操作。當處理器1正在對一個內(nèi)存地址操作(讀或寫),而處理器2也需對其進行操作(寫或讀)時,此時輸出忙占用信號,處理器2需等待忙占用信號結束后才能完成本次寫或讀操作。TMS320VC5416與雙口RAM IDT71V321的不同之處在于:嵌入式處理器操作IDT71V321是直接內(nèi)存操作,而嵌入式處理器操作TMS320VC5416是通過HPI接口地址、數(shù)據(jù)寄存器間接操作TMS320VC5416的內(nèi)存空間的。另外,TMS320VC5416的HPI接口忙信號HRDY為高電平有效,IDT71V321接口忙信號BUSY為低電平有效。HRDY和BUSY信號的產(chǎn)生均具有隨機性,且隨著總線操作頻率的增加而加大;忙等待時間 tRDY和tBUSY也具有不確定性,與其通信的處理器運行速度的快慢有關,讀寫時序如圖4所示。

VGGl2864E是北京維信諾科技有限公司開發(fā)的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種:降低外部總線頻率、調整片選控制寄存器時鐘周期數(shù)和使用外部輸入確認信號TA(Intel處理器名為數(shù)據(jù)準備好信號RDY,三星處理器名為總線周期延長請求信號nwait,它們的工作原理相同)。
降低嵌入式處理器外部總線頻率可加長總線數(shù)據(jù)傳輸周期,達到與低速外設匹配的目的,但大大降低了處理器的利用率和效率。該方法不可取。
調整嵌入式處理器片選控制寄存器的插入時鐘周期數(shù),可以滿足總線周期固定且不大于處理器外部總線周期的外設的要求,但不能滿足總線周期不確定和大于處理器外部總線周期的外設的要求。例如,MPC8272的外部總線工作頻率為100 MHz,外部總線指令周期最大為170 ns,可以滿足總線周期小于170 ns的外設的要求,但不能與0LED模塊(周期為l000 ns)連接。由于TMS320VC5416和IDT71V321接口的不確定性,其總線也不能與嵌入式處理器總線直接連接,需使用其外部輸入確認信號TA 并設計外部邏輯電路進行適配,以滿足穩(wěn)定、可靠的外部總線讀寫需要,其硬件連接如圖6所示。MT90826數(shù)據(jù)總線接口為16位寬,設置MPC8272的片選CS4為16位寬與其匹配;其他外設數(shù)據(jù)總線均為8位寬,共用MPC8272的片選CS5,并與高位地址線A18、A17進行地址譯碼產(chǎn)生其他外設的片選使能信號。CPLDEPM3064的詳細設計如圖7所示。
評論