• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于TMS320F2812的GPIO總線在多路多位開關(guān)中的應(yīng)用

      2014-03-16 05:51:10陜西凌云電器集團有限公司設(shè)計所宋彥博郭秋謀范以訓(xùn)
      電子世界 2014年7期
      關(guān)鍵詞:中斷總線矩陣

      陜西凌云電器集團有限公司設(shè)計所 宋彥博 郭秋謀 范以訓(xùn)

      1.引言

      對于復(fù)雜多路多位旋轉(zhuǎn)或按鍵開關(guān),傳統(tǒng)上使用微控制器(MCU)的I/O引腳對開關(guān)狀態(tài)進行監(jiān)測,這種方法需要占用MCU大量的I/O引腳,浪費了MCU有限的硬件資源,同時也給軟件編程帶來了諸多不便。TMS320F2812是TI公司的一款用于工業(yè)控制和數(shù)據(jù)處理的高性能、低功耗、具有較高性價比的DSP芯片。與傳統(tǒng)的MCU比較,TMS320F2812具有更快的速度、更高的效率和更強大的數(shù)據(jù)處理能力。它可在150MHz主頻下工作,提供56個通用GPIO引腳。本文結(jié)合工程應(yīng)用實際,使用矩陣電路連接形式,結(jié)合軟件編程,實現(xiàn)了TMS320F2812的GPIO總線對多路多位開關(guān)的動態(tài)監(jiān)測,減少了硬件資源的浪費,降低了軟件開銷。

      2.硬件電路設(shè)計

      TMS320F2812具有6組通用目的GPIO總線的數(shù)字量I/O引腳,它們大部分是多功能復(fù)用引腳,即這些I/O引腳既可以作為通用數(shù)字I/O口,也可以作為特殊功能口(如SCI、SPI、CAN等),可以根據(jù)設(shè)計需要,通過GPxMUX寄存器將各I/O引腳配置為數(shù)字I/O模式或者其他模式。如果引腳工作在數(shù)字I/O模式,還可以通過GPxDIR寄存器配置這些數(shù)字I/O引腳的方向,即是是輸入引腳還是輸出引腳。本文介紹對多路多位旋轉(zhuǎn)開關(guān)的動態(tài)監(jiān)測,需要將GPIOB總線的引腳配置為數(shù)字I/O模式,引腳方向根據(jù)實際接線關(guān)系配置為輸入或輸出。TMS320F2812采用低電壓供電,所有I/O引腳電壓為3.3V,它的輸入電平均為TTL電平,輸出電平均為3.3V的CMOS電平,輸入端不允許5V電壓輸入。所以在電路設(shè)計時,數(shù)字I/O引腳的上拉電阻電壓需要選擇3.3V。

      一般開關(guān)硬件電路的搭建,需要根據(jù)監(jiān)測的開關(guān)狀態(tài)個數(shù)以及可利用的I/O引腳,確定其電路連接形式,如直接連接,還是矩陣連接方式。對于普通的單路多位旋轉(zhuǎn)開關(guān),通常采取如圖1所示的連接方式進行直接掃描監(jiān)測。

      圖1 直接連接

      圖1中用GPIOB0~GPIOB9監(jiān)測旋轉(zhuǎn)開關(guān)S1的10個狀態(tài)位,此種連接方式只需將所用到的I/O引腳配置為數(shù)字輸入口,讀取I/O引腳電平,開關(guān)選通的那個狀態(tài)位將接地為低電平,由此判斷出開關(guān)的狀態(tài)。該方式一個I/O引腳只能判斷開關(guān)的一種狀態(tài),但當需要實現(xiàn)對多個旋轉(zhuǎn)開關(guān)監(jiān)測時,其效率將顯得非常低,可能出現(xiàn)I/O引腳不夠用的情況。

      為了提高I/O引腳的利用率,減少硬件資源浪費。實現(xiàn)對多路多位的旋轉(zhuǎn)開關(guān)監(jiān)測,電路中可以將I/O引腳復(fù)用,并采取矩陣連接的方式。即用N條引腳構(gòu)成行線,M條引腳構(gòu)成列線,行、列的交叉便構(gòu)成了N×M的矩陣,能夠監(jiān)測N×M個狀態(tài)位,其所需的I/O引腳僅為N+M個?;谝陨戏治?,本文結(jié)合工程應(yīng)用實際,設(shè)計實現(xiàn)6路旋轉(zhuǎn)開關(guān)共計45個(即:1路10位,1路9位,2路7位,2路6位)狀態(tài)位的監(jiān)測。

      具體的實現(xiàn)方法是:將GPIOB的16個I/O引腳分成兩組,用10個I/O引腳復(fù)用來監(jiān)測每個旋轉(zhuǎn)開關(guān)的狀態(tài)位構(gòu)成行線,用6個I/O引腳來選擇具體的旋轉(zhuǎn)開關(guān)構(gòu)成列線,設(shè)計為10×6的矩陣連接方式,它最多可以監(jiān)測60個狀態(tài)位。將各個旋轉(zhuǎn)開關(guān)的狀態(tài)位分別接入DSP的10個行線I/O引腳,各開關(guān)的軸端分別接入一個PNP型三極管,三極管的集電極接開關(guān)的軸端,發(fā)射極接地,基極分別接DSP的6個列線I/O引腳,配置行線I/O引腳為數(shù)字輸入端,列線I/O引腳為數(shù)字輸出端。即:配置GPIOB0~GPIOB9為輸入,GPIOB10~GPIOB15為輸出。將輸入I/O引腳接3.3V的上拉電阻。其硬件連接如圖2所示。

      圖2 矩陣連接

      當需要判斷旋轉(zhuǎn)開關(guān)S1的狀態(tài)時,將GPIOB10口輸出為低電平,其他輸出口為高電平,此時只有接S1的三極管A0選通,讀取行線I/O引腳電平,開關(guān)選通的那個狀態(tài)位將接地為低電平,其他仍為高電平,由此便判斷出開關(guān)的狀態(tài)。按此方法可以依次判斷出其他旋轉(zhuǎn)開關(guān)的狀態(tài)。

      3.軟件設(shè)計實現(xiàn)

      根據(jù)系統(tǒng)實際情況,軟件對多路多位開關(guān)監(jiān)測方式的實現(xiàn)可以采取隨機掃描方式和定時中斷掃描方式,當選用定時器中斷方式時,需要占用TMS320F2812內(nèi)部的一個定時器。在隨機掃描方式中,CPU完成某特定任務(wù)后,即執(zhí)行開關(guān)狀態(tài)位掃描程序,逐路進行掃描,確定每一路開關(guān)的狀態(tài),然后根據(jù)開關(guān)的狀態(tài),執(zhí)行相應(yīng)的操作。在執(zhí)行操作過程中不理睬旋轉(zhuǎn)開關(guān)的輸入,直到操作執(zhí)行完成,再次進行掃描判斷監(jiān)測。定時中斷掃描方式與隨機掃描方式基本相同,只是利用CPU內(nèi)的定時器中斷,每隔固定時間掃描各路旋轉(zhuǎn)開關(guān)狀態(tài)位。其流程如圖3所示。

      不管是通過隨機掃描還是定時中斷掃描,其開關(guān)掃描部分的軟件編碼都一樣,隨機掃描可以根據(jù)實際應(yīng)用情況將開關(guān)掃描程序放在主函數(shù)或子函數(shù)中執(zhí)行,定時中斷掃描可以放在定時器中斷中執(zhí)行。編寫開關(guān)掃描程序時需要注意的是,行線讀數(shù)據(jù),必須在列線發(fā)送完開關(guān)掃描數(shù)據(jù)字之后執(zhí)行。

      圖3 軟件流程圖

      經(jīng)過以上分析,用C語言對開關(guān)掃描函數(shù)的編碼如下:

      4.結(jié)束語

      在實際使用中,本文提到的設(shè)計方法對多路多位旋轉(zhuǎn)開關(guān)的鍵位狀態(tài)判斷準確、可靠、穩(wěn)定。該方法具有電路連接簡單,硬件占用資源少,軟件實現(xiàn)容易,編程靈活等優(yōu)點。通過對GPIO總線的合理使用,有效地節(jié)約了軟硬件資源,對含有多路多位開關(guān)監(jiān)測的硬件系統(tǒng)小型化,提供了一種思路和方法;同時,此種方法對于其他擁有GPIO總線的DSP芯片應(yīng)用,也具有很好的借鑒意義。

      [1]任潤柏,周荔丹,姚鋼編著.TMS320F28x源碼解讀[M].2010,7.

      [2]孫麗明編著.TMS320F2812原理及其C語言程序開發(fā)[M].2008,12.

      猜你喜歡
      中斷總線矩陣
      基于PCI Express總線的xHC與FPGA的直接通信
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      初等行變換與初等列變換并用求逆矩陣
      矩陣
      南都周刊(2015年4期)2015-09-10 07:22:44
      矩陣
      南都周刊(2015年3期)2015-09-10 07:22:44
      矩陣
      南都周刊(2015年1期)2015-09-10 07:22:44
      多通道ARINC429總線檢查儀
      基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計
      河南科技(2014年16期)2014-02-27 14:13:22
      泗水县| 汕尾市| 甘德县| 海丰县| 陆丰市| 海伦市| 玉龙| 黔南| 左权县| 新竹县| 彩票| 蒲江县| 乐安县| 双桥区| 罗田县| 徐闻县| 寿光市| 敦煌市| 嫩江县| 石林| 宝鸡市| 广宁县| 茶陵县| 峡江县| 长宁区| 紫云| 万年县| 吴江市| 嘉峪关市| 石渠县| 湖北省| 永吉县| 克拉玛依市| 二连浩特市| 肥乡县| 鄂州市| 故城县| 佛山市| 天祝| 海盐县| 阳东县|