<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種具有主從自適應(yīng)功能的CPCI通用處理模塊設(shè)計(jì)

          一種具有主從自適應(yīng)功能的CPCI通用處理模塊設(shè)計(jì)

          作者: 時(shí)間:2013-01-18 來源:網(wǎng)絡(luò) 收藏

          掩碼具體含義如下,例如在0xF中寫入0x821F131F,0x13對(duì)應(yīng)為下行基地址寄存器1的掩碼,含義為基地址掩碼最高有效位(MSB)的位置。例如掩碼0x13表示掩碼的最高為在第19位。基地址0x93100000和掩碼0x13的關(guān)系見圖4,配置后地址范圍為0x9310 0000~0x931F FFFF。

          本文引用地址:http://www.ex-cimer.com/article/148131.htm

          c.JPG



          3 綜合嵌入式平臺(tái)中CPCI工作方案
          在CPCI底板總線上插有多個(gè)模塊時(shí),這時(shí)需要同時(shí)考慮主模塊和從模塊的協(xié)同工作。針對(duì)提出的基于的具有主從自適應(yīng)功能的CPCI,考慮工作方案為:CPCI作為主模塊時(shí),主模塊的工作在方式,這時(shí)由于從模塊的工作在非透明模式,所以需要由主模塊在從模塊PCI6466的次端配置從模塊的上行基地址和下行翻譯地址,同時(shí)從模塊需要對(duì)自己的上行翻譯地址和下行基地址進(jìn)行配置。
          為了使系統(tǒng)中主從模塊對(duì)CPCI訪問空間的配置更加智能,在系統(tǒng)上電時(shí),主模塊向從模塊的基地址寄存器寫入0xFFFF FFFF,然后讀出,根據(jù)讀出數(shù)據(jù)中0b1的個(gè)數(shù)確定從模塊需要多少存儲(chǔ)器空間。然后自行分配相應(yīng)大小空間并將基地址寫入基地址寄存器。
          需要考慮的一點(diǎn)是,具有自適應(yīng)功能的CPCI通用處理模塊由于要在系統(tǒng)槽和外設(shè)槽2種插槽中使用,所以一般情況下都是直接將PCI6466配置成初端先啟動(dòng)或次端先啟動(dòng),并不會(huì)通過考慮模塊具體的使用來設(shè)置到底是初端先啟動(dòng)還是次端先啟動(dòng)。這樣帶來的問題是,插入系統(tǒng)槽和外設(shè)槽的模塊被同時(shí)配置成初端先啟動(dòng)時(shí),若主模塊在上電復(fù)位結(jié)束后即訪問對(duì)各個(gè)從模塊的次端進(jìn)行配置,但從模塊的PCI-PCI橋接器配置成初端先啟動(dòng),即從模塊操作系統(tǒng)啟動(dòng)后,對(duì)橋的初端進(jìn)行配置后,次端才能進(jìn)行配置。
          造成的結(jié)果是,主控模塊上電復(fù)位后訪問從模塊的次端,被拉死,程序停止執(zhí)行,看門狗復(fù)位有效,復(fù)位整個(gè)系統(tǒng)。主模塊再次訪問從模塊,CPCI再次被拉死,反復(fù)復(fù)位。這時(shí)就需要操作主控模塊待從模塊配置完成后再對(duì)從模塊進(jìn)行配置,防止系統(tǒng)被拉死。

          4 結(jié)語
          本設(shè)計(jì)提出的基于PCI6466的具有主從自適應(yīng)功能的CPCI通用處理模塊在具體的應(yīng)用環(huán)境中具有很大的便利性,能夠方便地應(yīng)用在CPCI底板總線的系統(tǒng)槽和外設(shè)槽中,同時(shí)針對(duì)一些可能出現(xiàn)的問題做針對(duì)性的處理,為CPCI系統(tǒng)提供了一種通用的、具有主從自適應(yīng)功能的通用處理模塊的解決方案。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();