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

查看: 3186|回復: 2
打印 上一主題 下一主題

漫談stm32 gpio

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2014-6-26 10:02:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

在網上看到的一遍文章,覺的不錯,分享給大家
單片的輸入輸出不叫GPIO,僅僅是個io,稍微復雜點的就是串口,至于后面那些增強的1t的帶da的單片機,都不屬于入門學習范圍.那些東西都是為了低成本而存在,對學習沒有任何作用.只要初學者入門了,所有片內外設都非常簡單的搞定.本文是一片基礎學習文章.入門者的精神食糧.


    理解gpio不僅僅是會配置寄存器,因為好多人根本不知道寄存器如何配置.如果不信的話那回答我這個問題,stm32的io頻率到底該配置成多少Mhz?


    上面這張圖是來自stm32的中文版手冊.我對這些模塊進行了簡單的標注.下面我就從外到內進行分析信號的流向以及每一部分存在/屏蔽的意義.


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


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


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


寫道這里,圖解gpio就結束了.把中間的兩個復雜的問題總結一下答案.
1. 振鈴信號 2.gpio的頻率
振鈴信號是因為電路的阻抗匹配出問題導致.也就是信號線上的電感電容導致了信號的震蕩.這個震蕩與信號的跳變間隔基本無關.但跳變間隔長的信號,對振鈴不敏感而已.因為他們有更多的采樣時間.在工業級總線上可以多次采樣求平均值來扛干擾.震蕩信號 與跳變的邊沿有關.跳變邊沿的頻率約為信號反轉頻率的10倍.就是一個1k的串口信號,跳變頻率大約在10k級別.所以2.gpio的頻率是1振鈴信號的產生原因之一.既然是之一,那么,就可以通過修改它來減少振鈴信號.提高信號的穩定程度.并且減少干擾.那么對于小于200K的時鐘來說,設置2M時鐘即可.對于小于1M的信號,設置10M輸出即可.對于5M以下的信號,設置50Mhz,對于5M以上的信號,也只能設置50Mhz,這時候,你要去考慮信號邊沿的斜率是不是能滿足你的需要了.例如io頻率在48M的時候,波形可能已經不是漂亮的方波了.但是不代表這個信號是不能用的.要看你的接收方是不是認可這種信號.當然,這里我也不用多說了,遇到這種問題的人,都知道如何解決.只不過沒法找到萬能的解決辦法.嵌入式、STM32專業實訓QQ754634522

沙發
發表于 2014-9-9 15:38:43 | 只看該作者
謝謝樓主分享寶貴經驗。
板凳
 樓主| 發表于 2014-9-10 11:13:05 | 只看該作者
想學習STM32的朋友可聯系郭老師Q754634522
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级成人a毛片免费播放 | 四大菩萨谁最厉害排第一位 | 在线播放免费播放av片 | 中文字幕一区二区三区在线播放 | 91插插插网站 | 中文字幕日韩一区二区 | 国产精品一区二区在线观看完整版 | 福利国产视频 | 99在线看 | 日韩一区二区久久久久久 | 一级片手机在线 | 欧美一级淫片漂亮的老师 | 一级做a爱片特黄在线观看免费看 | 爱人体147在线视频 爱情综合症泰剧在线观看全集 | 亚洲清色 | 国产精品成人免费综合 | 手机看片国产免费现在观看 | 久久青青草原精品国产麻豆 | 国产一区二区三区久久精品 | 女人18毛片一级毛片在线 | 欧美性猛交xxxxx免费看 | 99精品国产兔费观看久久99 | 日本aⅴ在线观看 | 日本韩国欧美一区 | 一区二区三区高清视频在线观看 | 看黄a大片 免费 | 九九99香蕉在线视频免费 | 9984四虎永久免费网站 | 国产亚洲第一 | 中国国产一级毛片视频 | 91热成人精品国产免费 | 亚洲性69影院在线观看 | 四虎884| 黄片一级毛片 | 岛国午夜精品视频在线观看 | 男人天堂b | 丁香婷婷在线 | 国产激情视频在线播放 | 色视频免费在线观看 | 在线观看香蕉免费啪在线观看 | 国产精品日韩欧美一区二区三区 |