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