999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TMS320F2812的GPIO總線在多路多位開關中的應用

2014-03-16 05:51:10陜西凌云電器集團有限公司設計所宋彥博郭秋謀范以訓
電子世界 2014年7期

陜西凌云電器集團有限公司設計所 宋彥博 郭秋謀 范以訓

1.引言

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

2.硬件電路設計

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

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

圖1 直接連接

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

為了提高I/O引腳的利用率,減少硬件資源浪費。實現對多路多位的旋轉開關監測,電路中可以將I/O引腳復用,并采取矩陣連接的方式。即用N條引腳構成行線,M條引腳構成列線,行、列的交叉便構成了N×M的矩陣,能夠監測N×M個狀態位,其所需的I/O引腳僅為N+M個。基于以上分析,本文結合工程應用實際,設計實現6路旋轉開關共計45個(即:1路10位,1路9位,2路7位,2路6位)狀態位的監測。

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

圖2 矩陣連接

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

3.軟件設計實現

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

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

圖3 軟件流程圖

經過以上分析,用C語言對開關掃描函數的編碼如下:

4.結束語

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

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

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

主站蜘蛛池模板: 成人午夜福利视频| 五月天综合网亚洲综合天堂网| 72种姿势欧美久久久大黄蕉| 91视频区| 青青草国产一区二区三区| 精品少妇人妻一区二区| 特级aaaaaaaaa毛片免费视频| 精品亚洲欧美中文字幕在线看| 91麻豆精品国产高清在线| 国产亚洲欧美在线人成aaaa| 欧美成人午夜影院| 91无码网站| 好久久免费视频高清| 直接黄91麻豆网站| 夜夜操国产| 国产成人亚洲精品色欲AV| 毛片网站免费在线观看| 在线毛片网站| 中文字幕欧美日韩高清| 玩两个丰满老熟女久久网| 亚洲中文字幕久久无码精品A| 人妻无码AⅤ中文字| 亚洲日韩精品无码专区| 日韩高清成人| 在线欧美a| 无码电影在线观看| 自偷自拍三级全三级视频| 91青青草视频| 亚洲日本在线免费观看| 国模粉嫩小泬视频在线观看| 第九色区aⅴ天堂久久香| 视频二区亚洲精品| 国产精品午夜电影| 国产色婷婷| 国产亚洲第一页| 亚洲欧美日韩中文字幕在线一区| 久久香蕉国产线看观看亚洲片| 国产国产人在线成免费视频狼人色| 久久成人免费| 亚洲无码高清一区二区| 国产成人欧美| 日韩黄色精品| 亚洲AV无码一区二区三区牲色| 日韩欧美国产成人| 99热这里只有精品2| 亚洲欧美日韩中文字幕在线| 又爽又大又黄a级毛片在线视频| 国产a v无码专区亚洲av| 午夜日b视频| 亚洲国产高清精品线久久| 亚洲欧洲免费视频| 日韩毛片免费视频| 爽爽影院十八禁在线观看| 国产精品伦视频观看免费| 亚洲欧洲AV一区二区三区| 亚洲电影天堂在线国语对白| 色婷婷在线播放| 日本黄色不卡视频| 国产精品免费电影| 久久黄色影院| 欧美人与牲动交a欧美精品 | 国产免费观看av大片的网站| 天天综合天天综合| 久久免费视频6| 成人免费网站久久久| 精品国产乱码久久久久久一区二区| 亚洲无码免费黄色网址| 午夜不卡福利| 97国产在线观看| 9966国产精品视频| 国产精品福利导航| 狼友视频国产精品首页| 无码不卡的中文字幕视频| 精品自窥自偷在线看| 国产在线一区视频| 亚洲免费三区| 一本一道波多野结衣av黑人在线| 亚洲最猛黑人xxxx黑人猛交 | 免费a级毛片视频| A级毛片无码久久精品免费| 尤物亚洲最大AV无码网站| 国产经典免费播放视频|