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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)

          基于FPGA的PXA270外設(shè)時(shí)序轉(zhuǎn)換接口設(shè)計(jì)

          作者: 時(shí)間:2010-03-19 來源:網(wǎng)絡(luò) 收藏

            圖3為COM20020的時(shí)序原理圖,從時(shí)序分析可得出如下設(shè)計(jì)方案:DIR用于指示操作是讀還是寫,DIR=‘1’為讀,否則為寫。在操作前先對(duì)DIR 賦值;在EN有效時(shí)選擇CS,CLK的下一次上升沿變?yōu)橛行?。這樣是給寫操作對(duì)COM20020數(shù)據(jù)總線準(zhǔn)備數(shù)據(jù)之用,不影響讀操作;DS選擇在CS有效的下一個(gè)CLK上升沿變?yōu)橛行?,但在CS無效前兩個(gè)時(shí)鐘周期給出上升沿,以滿足“片選信號(hào)CS必須先于DS至少5 ns,并且只能在DS無效之后恢復(fù)為高電平”,并且DS中間應(yīng)有至少60ns的時(shí)鐘寬度,因而保持3個(gè)CLK周期有效。圖4為CommandGenerator時(shí)序仿真圖。采用計(jì)數(shù)器進(jìn)行時(shí)序同步。以下給出VHDL源代碼。

          COM20020的時(shí)序原理圖

          CommandGenerator時(shí)序仿真圖

            圖5為批數(shù)據(jù)從WRRAM向外設(shè)傳送的連續(xù)時(shí)鐘產(chǎn)生和自動(dòng)地址生成原理圖。其中,lpm_counter0為帶有異步清零和進(jìn)位信號(hào)的增計(jì)數(shù); AutoAccessDataNumsOnce在EN='1'時(shí),產(chǎn)生一次批傳送時(shí)鐘,根據(jù)COM20020的長(zhǎng)短數(shù)據(jù)包傳送要求,在CCESSTYPE =‘1’時(shí)傳送長(zhǎng)數(shù)據(jù)包(512 B),否則傳送短數(shù)據(jù)包(256 B)。FRE信號(hào)同時(shí)提供WRRAM的rdclock和lpm_counter0的clock信號(hào)。

          批數(shù)據(jù)從WRRAM向外設(shè)傳送的連續(xù)時(shí)鐘產(chǎn)生和自動(dòng)地址生成原理圖

            圖6為一次批數(shù)據(jù)向RAM中寫,而后啟動(dòng)DMA傳輸,將數(shù)據(jù)從RAM送至COM20020的時(shí)序仿真。在WRCLOCK上升沿時(shí),RAM將datain總線上的數(shù)據(jù)存儲(chǔ)到WR_AD-DRESS所指向的字節(jié)地址空間,WRCLOCK信號(hào)是由的WE信號(hào)與分配給RAM的片選信號(hào)(高電平有效)相與而得。對(duì)RAM進(jìn)行模擬寫時(shí)必須確保AUTOWREN無效(低電平);在檢驗(yàn)數(shù)據(jù)DMA傳輸?shù)腞AM輸出環(huán)節(jié),WRCLOCK應(yīng)不再出現(xiàn)上升沿信號(hào),以防RAM同時(shí)讀寫造成輸出不定值。此外,每個(gè)數(shù)據(jù)從outputdata端口輸出時(shí),CS、DS在一定延時(shí)后(1個(gè)CLK時(shí)鐘周期)給時(shí)序產(chǎn)生留足夠時(shí)間。需說明:COM20020內(nèi)部有2 K字節(jié)的RAM空間,用于存放待發(fā)送或已接收的數(shù)據(jù)包,在向RAM中寫數(shù)據(jù)包前,指定該數(shù)據(jù)包的存放位置,然后將COM20020中的指針自動(dòng)移動(dòng)位置 1,則只需連續(xù)的向該RAM中寫數(shù)據(jù),而不必給出地址信號(hào)。

          批數(shù)據(jù)讀寫時(shí)序

            3.3 對(duì)外設(shè)指定寄存器操作

            對(duì)外設(shè)指定寄存器操作比批數(shù)據(jù)傳送實(shí)現(xiàn)簡(jiǎn)單,只需將操作次數(shù)降為1次,并對(duì) COM20020的A2~A0提供相應(yīng)的地址即可。指定寄存器操作將數(shù)據(jù)存儲(chǔ)在RAM的高512字節(jié)空間,并且只占用其中低8個(gè)字節(jié),在編程時(shí),需確保送入RAM的地址與命令寄存器中的RAM存儲(chǔ)地址COMMANDBYTE[2..0]相對(duì)應(yīng)。

            4 結(jié)論

            本設(shè)計(jì)解決ARCNET協(xié)議專用器件應(yīng)用于列車通信網(wǎng)絡(luò)中的時(shí)序匹配問題,實(shí)現(xiàn)了PXA270處理器與COM20020的時(shí)序轉(zhuǎn)換。此外,對(duì)擴(kuò)展其他總線訪問類型提供了參考框架,可通過修改CommandGenerator中COM20020時(shí)序,實(shí)現(xiàn)不同外設(shè)總線訪問類型的擴(kuò)展;修改 AutoAccessDataNun-sOnce中的ACCESSTYPE,可配置批數(shù)據(jù)操作的數(shù)據(jù)種類。


          上一頁(yè) 1 2 下一頁(yè)

          評(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); })();