国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3185|回復(fù): 2
打印 上一主題 下一主題

漫談stm32 gpio

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2014-6-26 10:02:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

在網(wǎng)上看到的一遍文章,覺的不錯(cuò),分享給大家
單片的輸入輸出不叫GPIO,僅僅是個(gè)io,稍微復(fù)雜點(diǎn)的就是串口,至于后面那些增強(qiáng)的1t的帶da的單片機(jī),都不屬于入門學(xué)習(xí)范圍.那些東西都是為了低成本而存在,對(duì)學(xué)習(xí)沒有任何作用.只要初學(xué)者入門了,所有片內(nèi)外設(shè)都非常簡(jiǎn)單的搞定.本文是一片基礎(chǔ)學(xué)習(xí)文章.入門者的精神食糧.


    理解gpio不僅僅是會(huì)配置寄存器,因?yàn)楹枚嗳烁静恢兰拇嫫魅绾闻渲?如果不信的話那回答我這個(gè)問題,stm32的io頻率到底該配置成多少M(fèi)hz?


    上面這張圖是來自stm32的中文版手冊(cè).我對(duì)這些模塊進(jìn)行了簡(jiǎn)單的標(biāo)注.下面我就從外到內(nèi)進(jìn)行分析信號(hào)的流向以及每一部分存在/屏蔽的意義.


   先看上半部分,就是io的I,input,輸入功能.信號(hào)從io引腳流入,首先被保護(hù)二極管q/r進(jìn)行鉗位.那就舉一個(gè)例子,假定vdd是3.3v,那么二極管有0.7v的壓降,那么io引腳的高電平就不能超過3.3+0.7v=4v只要超過4v那么就會(huì)有很大的電流從保護(hù)二極管流過,信號(hào)的內(nèi)阻就會(huì)承擔(dān)比較大的電壓,使io引腳的電壓最高鉗位到4v.上面分析的是對(duì)于過高的電平.q二極管導(dǎo)通.r二極管關(guān)閉,所以不用分析.對(duì)于io出現(xiàn)負(fù)電壓,這個(gè)時(shí)候q二極管是關(guān)閉的需要分析下面的r二極管.r二極管保持io引腳電平不低于vss-0.7v.至于為什么會(huì)出現(xiàn)這種情況,暫時(shí)不做分析,如果你看過示波器的振鈴信號(hào).就明白了.給大家留一個(gè)問題,如何消除振鈴信號(hào)?
    對(duì)于正常的數(shù)字信號(hào),就進(jìn)入了o/p電阻的控制范圍.上下拉電阻的作用又是什么,什么時(shí)候需要上下拉? 上拉電阻就是在信號(hào)和vdd直接接引ig電阻,經(jīng)驗(yàn)值在10k左右.對(duì)于一個(gè)5v的信號(hào),能夠最大提供0.5ma的電流.首先聊一個(gè)開漏輸出,就是iic使用的信號(hào).這種信號(hào)的兩個(gè)狀態(tài)是Z高阻態(tài)和0低電平,無法提供高電平的.加入一個(gè)上拉電阻,就能在z態(tài)的時(shí)候,信號(hào)線為高電平vdd, 0態(tài)的時(shí)候信號(hào)線為0.上拉電阻承擔(dān)整個(gè)vdd電壓.也就是說z態(tài)的時(shí)候上拉電阻無電流通過,功耗基本為0,而0態(tài)的時(shí)候上拉電阻功率為vdd*vdd/r,在低功耗設(shè)計(jì)的時(shí)候這一個(gè)電阻的功耗需要考慮.默認(rèn)狀態(tài)需要保持電阻在功耗0的狀態(tài).當(dāng)然對(duì)于stm32這種片內(nèi)控制的上下拉,直接關(guān)掉,讓其浮空.就會(huì)降低功耗.但是有可能信號(hào)也失去了意義無法喚醒cpu.慎重嚴(yán)肅考慮.上拉電阻的意義就是給總線灌入一定電流,提高總線從0到1跳變的速度.有些信號(hào)驅(qū)動(dòng)能力不足的時(shí)候,會(huì)提供信號(hào)的高電平驅(qū)動(dòng)能力.包括電壓和電流.相反,減緩了下降沿的速度,降低了低電平的驅(qū)動(dòng)能力.在設(shè)計(jì)的時(shí)候多用歐姆定律計(jì)算.包括功耗.電阻究竟該用多大.


K元件,呵呵.這個(gè)是個(gè)很有意思的東西.其實(shí)這里的每一個(gè)元件都有意思,否則 2個(gè)電阻2個(gè)二極管就不需要寫上面的兩大段了.首先名稱是ttl肖特基觸發(fā)器,不就是個(gè)帶門限的觸發(fā)器嘛.首先ttl是指他的參考是ttl電平不是cmos電平,這里寫詳細(xì)了大家也會(huì)混亂.ttl電平我解釋一下,TTL輸出高電平>2.4V,輸出低電平<0.4V。最小輸入高電平和最大輸入低電平:輸入高電平>=2.0V,輸入低電平<=0.8V,噪聲容限是0.4V。也就是說b模擬輸入,是直接從io引入,并且與c數(shù)字部分進(jìn)行了隔離.數(shù)字部分使用ttl電平的觸發(fā)器進(jìn)行了緩沖,這個(gè)緩沖有時(shí)候也被稱為buff,但是buff并不全是觸發(fā)器.觸發(fā)器的延時(shí)在5-10ns之間.當(dāng)然i和c會(huì)同時(shí)獲取ttl肖特基觸發(fā)器的輸出,觸發(fā)器也對(duì)信號(hào)的驅(qū)動(dòng)能力進(jìn)行了提高,至于是c還是d來消費(fèi)掉這個(gè)信號(hào),就看你io配置成什么功能了.


    對(duì)于GPIO的o, output,就從左向右進(jìn)行分析.首先是信號(hào)的生成,其一是寄存器,由cpu來操作.e和f共兩種操作,e是單次操作只能設(shè)置寄存器的某些位為1,或者清除某些位為0,影響部分bit,而f是直接將輸出寄存器改變,影響 全部bit.對(duì)于j是硬件控制器自動(dòng)生成信號(hào)流,這里就不用詳述了.控制輸出前面的梯形是選擇器,選擇其中的一路有效.無效的一路cpu也可以操作.但是毫無意義.很多人都是在這個(gè)坑里出不來,我做了一些操作,但是io不聽話.對(duì)于控制輸出和m/n兩個(gè)管子共同生成高低電平的切換.當(dāng)然,這里會(huì)有一個(gè)死區(qū)控制.別看這芯片原理圖這么畫,就認(rèn)為是這么簡(jiǎn)單設(shè)計(jì).如果用橋電路控制電機(jī)就會(huì)掉坑里.因?yàn)閳D上的控制框是有死區(qū)控制的.并且能控制好.控制不好就會(huì)出現(xiàn)跳變的時(shí)候io功率很大.對(duì)于電機(jī)橋電路來說.就是直接燒壞驅(qū)動(dòng)芯片.做輸出的時(shí)候,上下拉電阻都是斷開的.但是保護(hù)二極管沒有斷開.這里提出一個(gè)問題,雖然是輸出,信號(hào)會(huì)過充嗎?大家自己去考慮.專業(yè)STM32學(xué)習(xí)QQ754634522


寫道這里,圖解gpio就結(jié)束了.把中間的兩個(gè)復(fù)雜的問題總結(jié)一下答案.
1. 振鈴信號(hào) 2.gpio的頻率
振鈴信號(hào)是因?yàn)殡娐返淖杩蛊ヅ涑鰡栴}導(dǎo)致.也就是信號(hào)線上的電感電容導(dǎo)致了信號(hào)的震蕩.這個(gè)震蕩與信號(hào)的跳變間隔基本無關(guān).但跳變間隔長(zhǎng)的信號(hào),對(duì)振鈴不敏感而已.因?yàn)樗麄冇懈嗟牟蓸訒r(shí)間.在工業(yè)級(jí)總線上可以多次采樣求平均值來扛干擾.震蕩信號(hào) 與跳變的邊沿有關(guān).跳變邊沿的頻率約為信號(hào)反轉(zhuǎn)頻率的10倍.就是一個(gè)1k的串口信號(hào),跳變頻率大約在10k級(jí)別.所以2.gpio的頻率是1振鈴信號(hào)的產(chǎn)生原因之一.既然是之一,那么,就可以通過修改它來減少振鈴信號(hào).提高信號(hào)的穩(wěn)定程度.并且減少干擾.那么對(duì)于小于200K的時(shí)鐘來說,設(shè)置2M時(shí)鐘即可.對(duì)于小于1M的信號(hào),設(shè)置10M輸出即可.對(duì)于5M以下的信號(hào),設(shè)置50Mhz,對(duì)于5M以上的信號(hào),也只能設(shè)置50Mhz,這時(shí)候,你要去考慮信號(hào)邊沿的斜率是不是能滿足你的需要了.例如io頻率在48M的時(shí)候,波形可能已經(jīng)不是漂亮的方波了.但是不代表這個(gè)信號(hào)是不能用的.要看你的接收方是不是認(rèn)可這種信號(hào).當(dāng)然,這里我也不用多說了,遇到這種問題的人,都知道如何解決.只不過沒法找到萬能的解決辦法.嵌入式、STM32專業(yè)實(shí)訓(xùn)QQ754634522

沙發(fā)
發(fā)表于 2014-9-9 15:38:43 | 只看該作者
謝謝樓主分享寶貴經(jīng)驗(yàn)。
板凳
 樓主| 發(fā)表于 2014-9-10 11:13:05 | 只看該作者
想學(xué)習(xí)STM32的朋友可聯(lián)系郭老師Q754634522

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久草国产精品 | 欧美一区二区三区视频在线观看 | 天天擦天天干 | 成人精品第一区二区三区 | 成年男女免费视频网站 | 91久久国产精品视频 | 欧美在线高清 | 国产高清黄色 | 亚洲视频在线一区二区三区 | 八戒八戒影视免费观看动漫 | 黄色片视频在线播放 | 亚洲免费一级片 | 亚洲免费黄色网 | 中文字幕一区2区3区 | 国产欧美大片 | 99色亚洲| 日本v在线| 国产精品日韩在线观看 | 亚洲va视频| 久久国产精品1区2区3区网页 | 日本v视频 | 中文字幕欧美日韩高清 | 欧美精品xxx | 精品手机在线视频 | 国内一级一级毛片a免费 | 七月丁香色婷婷综合激情 | aⅴ视频在线免播放观看 | 天天综合在线视频 | 国产特黄特色a级在线视频 国产特黄特色a级在线视 | 国产高清一级毛片在线不卡 | 无限免费观看下载在线 | 日韩高清专区 | 欧美成人免费网在线观看 | 日韩片在线观看 | 精品国产三级在线观看 | 永久免费观看午夜视频在线 | 精品成人在线视频 | 午夜亚洲一区二区福利 | 国产自产视频在线观看香蕉 | 亚洲欧洲尹人香蕉综合 | av短片 |