基于MPC8280的PCI驅(qū)動設(shè)計方案
本文引用地址:http://m.butianyuan.cn/article/255894.htm
MPC8280被動引起的PCI內(nèi)存空間讀寫,即由外部PCI主機(jī)(PCI Master)通過PCI對MPC8280發(fā)起PCI內(nèi)存空間讀寫,MPC8280側(cè)地址譯碼流程如圖6所示。MPC8280在收到外部發(fā)起的PCI數(shù)據(jù)傳輸時,會判斷PCI總線上的地址是否落在寄存器定義的PCIInbound空間或是落于PIMMR空間。若是,就根據(jù)寄存器配置,對外部PCI總線上的地址進(jìn)行譯碼,然后判斷譯碼后的地址是否落在PCI內(nèi)存空間,若落于PCI內(nèi)存空間,則進(jìn)行數(shù)據(jù)操作,并設(shè)置Devsel信號,否則將進(jìn)行60x總線操作。
2.4 I/O空間讀寫設(shè)計
PCI的I/O空間讀寫流程可參見內(nèi)存空間讀寫流程,其與內(nèi)存空間讀寫的不同在于:在配置時,對應(yīng)的InBound空間和OutBound空間配置為I/O空間,AD[31:0]中所有bit為其提供一個完整的地址,AD[1:0]用來產(chǎn)生Devsel信號和本次傳輸中最低有效的字節(jié)數(shù);而內(nèi)存空間地址譯碼只使用AD[31:2],這說明內(nèi)存空間操作時,每次操作傳送4 Byte數(shù)據(jù),操作后地址將遞增4,以備進(jìn)行后續(xù)傳送。
3 結(jié)束語
PCI初始化配置完畢后,CPU通過線程調(diào)用PCI配置空間讀寫函數(shù)對外部的交換芯片進(jìn)行輪詢探測,正確獲取了BCM56514的設(shè)備ID為B514,成功發(fā)現(xiàn)BCM56514芯片,進(jìn)而對BCM56514進(jìn)行了配置和管理,并通過調(diào)用PCI內(nèi)存空間讀寫函數(shù)和I/O空間讀寫函數(shù)對BCM56514的內(nèi)存空間和I/O空間進(jìn)行了讀寫測試,實現(xiàn)了與BCM56514的數(shù)據(jù)信息交互,為實現(xiàn)MPC8280在大容量路由交換領(lǐng)域得到成熟應(yīng)用提供了接口驅(qū)動支持。
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
交換機(jī)相關(guān)文章:交換機(jī)工作原理
三相異步電動機(jī)相關(guān)文章:三相異步電動機(jī)原理
評論