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