一種具有主從自適應功能的CPCI通用處理模塊設計
掩碼具體含義如下,例如在0xF中寫入0x821F131F,0x13對應為下行基地址寄存器1的掩碼,含義為基地址掩碼最高有效位(MSB)的位置。例如掩碼0x13表示掩碼的最高為在第19位。基地址0x93100000和掩碼0x13的關系見圖4,配置后地址范圍為0x9310 0000~0x931F FFFF。本文引用地址:http://www.104case.com/article/148131.htm
3 綜合嵌入式平臺中CPCI通用處理模塊工作方案
在CPCI底板總線上插有多個模塊時,這時需要同時考慮主模塊和從模塊的協同工作。針對提出的基于PCI6466的具有主從自適應功能的CPCI通用處理模塊,考慮工作方案為:CPCI通用處理模塊作為主模塊時,主模塊的PCI6466工作在透明橋方式,這時由于從模塊的PCI6466工作在非透明模式,所以需要由主模塊在從模塊PCI6466的次端配置從模塊的上行基地址和下行翻譯地址,同時從模塊需要對自己的上行翻譯地址和下行基地址進行配置。
為了使系統中主從模塊對CPCI訪問空間的配置更加智能,在系統上電時,主模塊向從模塊的基地址寄存器寫入0xFFFF FFFF,然后讀出,根據讀出數據中0b1的個數確定從模塊需要多少存儲器空間。然后自行分配相應大小空間并將基地址寫入基地址寄存器。
需要考慮的一點是,具有自適應功能的CPCI通用處理模塊由于要在系統槽和外設槽2種插槽中使用,所以一般情況下都是直接將PCI6466配置成初端先啟動或次端先啟動,并不會通過考慮模塊具體的使用來設置到底是初端先啟動還是次端先啟動。這樣帶來的問題是,插入系統槽和外設槽的模塊被同時配置成初端先啟動時,若主模塊在上電復位結束后即訪問CPCI總線對各個從模塊的次端進行配置,但從模塊的PCI-PCI橋接器配置成初端先啟動,即從模塊操作系統啟動后,對橋的初端進行配置后,次端才能進行配置。
造成的結果是,主控模塊上電復位后訪問從模塊的次端,CPCI總線被拉死,程序停止執行,看門狗復位有效,復位整個系統。主模塊再次訪問從模塊,CPCI再次被拉死,反復復位。這時就需要操作主控模塊待從模塊配置完成后再對從模塊進行配置,防止系統被拉死。
4 結語
本設計提出的基于PCI6466的具有主從自適應功能的CPCI通用處理模塊在具體的應用環境中具有很大的便利性,能夠方便地應用在CPCI底板總線的系統槽和外設槽中,同時針對一些可能出現的問題做針對性的處理,為CPCI系統提供了一種通用的、具有主從自適應功能的通用處理模塊的解決方案。
評論