• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

AG32引腳的上下拉的實(shí)現(xiàn)及驅(qū)動(dòng)能力設(shè)置

04/14 07:14
503
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

對(duì)于MCU開發(fā)者,端口的上下拉再熟悉不過了。硬件的設(shè)計(jì)人員也會(huì)特別關(guān)注每一個(gè)引腳的上電默認(rèn)電平。但是AG32的大部分端口在程序加載前是floating狀態(tài)的。復(fù)位結(jié)束后,FPGA的配置程序開始從flash里加載,加載時(shí)間隨著程序的大小略有區(qū)別,一般在20mS,也就是說,在上電復(fù)位后到端口上下拉起效,至少還有20多mS的不定狀態(tài)。很多開發(fā)人員往往因?yàn)檫@短暫的20mS,導(dǎo)致系統(tǒng)無法啟動(dòng),或者進(jìn)入一個(gè)未知的狀態(tài)。因此,一般建議設(shè)計(jì)人員對(duì)上電電平有要求的引腳外加適當(dāng)?shù)纳?a class="article-link" target="_blank" href="/baike/519050.html">下拉電阻。AG32內(nèi)部的上下拉電阻的阻值在40k左右。

AG32的上下拉在ASF文件里配置,

比如給PIN96設(shè)置上拉:

set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to PIN_96

或者

set_instance_assignment -name CFG_KEEP -to PIN_96 2'b10 -extension

這兩種方法效果一樣,可以只用其中一種。如果兩個(gè)都用,那就是同時(shí)用兩個(gè)40k電阻上拉,相當(dāng)于20k上拉。

如果給PIN96設(shè)置下拉,則使用以下方式:

set_instance_assignment -name CFG_KEEP -to PIN_96?2'b01 -extension

設(shè)置下拉就一種方法,也就是只能40k下拉。

從上面也可以看出,AG32的上下拉是通過改變CPLD里的配置來實(shí)現(xiàn)的。也就是說,AG32如果要?jiǎng)討B(tài)改變上下拉,那就比較麻煩。MCU需要通過FCB接口(FPGA CONTROL BLOCK)來重新配置CPLD。AGM提供了官方例程,但是客戶用的比較少,因此這里也不介紹了。如果有需要的,我們可以微信探討。

同樣,在某些場合,開發(fā)者需要增強(qiáng)端口驅(qū)動(dòng)能力,以此來增加可靠性,增加抗干擾能力。這同樣也在ASF文件里配置。

如增強(qiáng)PIN96的驅(qū)動(dòng)能力到16mA:

set_instance_assignment -name CURRENT_STRENGTH -to PIN_96 16MA

驅(qū)動(dòng)能力最高可以到32mA, 2mA一個(gè)step。

相比其它MCU,?AG32在這方面設(shè)置起來的確麻煩一點(diǎn),開發(fā)者需要注意一下。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄