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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的TMS320VC5402的HPI通信設(shè)計

          基于單片機的TMS320VC5402的HPI通信設(shè)計

          作者: 時間:2013-02-07 來源:網(wǎng)絡(luò) 收藏

          3.2 程序設(shè)計要點

          上面講到,P3.5作為的發(fā)送請求信號,當無數(shù)據(jù)發(fā)送時為高電平,當為低電平時則表示想要發(fā)送數(shù)據(jù),向總線仲裁器申請使用總線,總線仲裁器判斷當前誰可以使用總線,然后通過外中斷0中斷DSP處理器,同時通過口告知DSP當前可以使用總線的單片機,最終由DSP通過XF管腳集中控制單片機的總線使用權(quán)。單片機在獲取總線使用權(quán)并發(fā)送完數(shù)據(jù)后,向HPI的控制寄存器的DSPINT位寫1,用中斷通知DSP。在單片機需接收數(shù)據(jù)時,DSP首先設(shè)置XF腳,選擇由哪個單片機接收,然后設(shè)置腳為低,通過中斷告知單片機進行接收。單片機從HPI口接收時也應(yīng)置P3.5為低,以便保持總線仲裁器的單片機選擇信號與XF腳一致。

          在對單片機編程時需要注意以下幾點:(1)由于兩個單片機共享總線,為保證相互之間不會干擾,沒有使用總線的單片機P1口必須處于高阻態(tài)。根據(jù)P1口的內(nèi)部結(jié)構(gòu),單片機不使用總線時,往P1口寫入0xFF即可達到這一目的。(2)由于P1口作為控制/數(shù)據(jù)信號復(fù)用口,故編程時,對每次HPI口操作,先在P1口送出控制信號,接著設(shè)置P1.0產(chǎn)生低→高的跳變,把控制HPI口的P1.1~P1.4信號鎖存到FPGA內(nèi)部的鎖存器,這時P1口才能作為數(shù)據(jù)端口,在P3.7產(chǎn)生一低跳變后,發(fā)起一次數(shù)據(jù)傳遞。(3)編程時,應(yīng)防止單片機被同時要求對HPI口進行收、發(fā)操作。這可以依據(jù)實際情況,靈活地進行處理,限于篇幅,不再贅述。

          4總線仲裁器的設(shè)計

          總線仲裁器的功能主要是根據(jù)單片機P3.5的總線請求信號,選擇當前可以使用總線的單片機,仲裁器的設(shè)計需做到單片機能夠公平競爭總線使用權(quán)。在兩個單片機競爭總線的情況下,用一個簡單的狀態(tài)機即可達到目的。狀態(tài)機state僅有兩個狀態(tài)S0和S1,P3.5為高電平時,不申請總線,狀態(tài)機保持原狀態(tài);P3.5為低電平時,則根據(jù)當前請求總線的單片機,狀態(tài)機轉(zhuǎn)換到相應(yīng)的狀態(tài)。如單片機同時申請使用總線,則保持當前的狀態(tài)不變。下面給出狀態(tài)轉(zhuǎn)換表(S0表示選擇單片機1,S1表示選擇單片機2):

          state, MCU1_P3.5, MCU2_P3.5 => state;

          S0, 0, x => S0;

          S0, 1, 0 => S1;

          S0, 1, 1 => S0;

          S1, x, 0 => S1;

          S1, 0, 1 => S0;

          S1, 1, 1 => S1;

          當狀態(tài)機有狀態(tài)變換時,用FPGA產(chǎn)生一個脈寬約為1μs的低電平脈沖。這一信號接DSP外中斷腳,用于中斷DSP,并且將狀態(tài)機的當前狀態(tài)通過腳告知DSP,指明正在請求使用總線的單片機。

          此外,如前所述,FPGA內(nèi)部還設(shè)置一鎖存器,由P1.0的高跳變將P1口送出的HPI口控制信號鎖存。至于控制的兩個P3.7信號,在FPGA內(nèi)部只需將兩信號相與即可。

          4 單片機與微機串口的硬件連線

          在IBM PC/XT微機系統(tǒng)中,其串口符合RS-232C接口標準。為提高抗干擾能力,RS-232C標準采用負邏輯,低電平在-5V~-15V之間(通常用-12V表示)為邏輯“1”,高電平在+5V~+15V之間(通常用+12V表示)為邏輯“0”。上述電平稱為EIA電平,它與TTL電平和CMOS電平不同。為了使AT89C2051能與微機進行串行通信,可以利用MAX232完成RS-232C電平與TTL電平的相互轉(zhuǎn)換。

          單片機程序在完成對串口的工作模式和波特率設(shè)置等初始化過程后,即可開始與串口通信。通信方式有查詢方式和中斷方式兩種。由于查詢方式需CPU不斷查詢標志位,程序效率不高,故在單片機操作比較繁忙時通常采用中斷方式,具體的編程應(yīng)用這里不再介紹。

          介紹了通過FPGA芯片作為總線仲裁器,實現(xiàn)微機雙串口各自通過AT89C2051與DSP HPI口通信的設(shè)計方法。該電路與采用專用芯片的電路相比,并不顯得復(fù)雜,比較實用。由于與DSP存儲器之間的數(shù)據(jù)交換完全由單片機發(fā)起,DSP就可以從數(shù)據(jù)的傳遞中解脫出來,去完成更復(fù)雜的控制和運算。實踐證明,這一電路能很好地達到我們的設(shè)計要求,在異步數(shù)據(jù)傳輸速率為9600bps情況下,可以可靠地實現(xiàn)微機雙串口與DSP之間的通信。

          參考文獻:

          [1].AT89C2051datasheethttp://www.dzsc.com/datasheet/AT89C2051_.html.
          [2].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
          [3].TL16C550datasheethttp://www.dzsc.com/datasheet/TL16C550_.
          [4].TTLdatasheethttp://www.dzsc.com/datasheet/TTL_1174409.html.
          [5].MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_1074207.html.


          上一頁 1 2 下一頁

          關(guān)鍵詞: 單片機 MS320VC5402 HPI通信

          評論


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