关于ALTERA的FPGA的弱上拉问题
筆者在使用的過程中發現FPGA的IO口如果作為輸入端口的話,默認是懸浮輸入,這樣檢測到值就可能在1、0之間跳動。例如,筆者做的事4*4鍵盤的掃描,沒有設置若上拉的時候,總會出現錯誤的按鍵值。后來筆者猜想可能是懸浮輸入引起的,但是硬件電路又不能不允許在改變了,所以只能去需找軟件上的解決方法,這時候有人建議筆者去設置弱上拉電阻。最后經過弱上拉設置之后問題解決了。經過查找筆者找到這樣的一段話:
Altera與Xilinx內部提供的上下拉一般是弱的,也就是電阻都比較大,這樣電流比較小,充電比較慢,導致上下拉的速度比較緩慢。這樣做的好處,一是提供了上下拉供開漏電路使用,另一方面因為比較弱,可以由FPGA外面的電路來提供強下拉將其override掉。如果內部比較強,則不方便將其減弱。
筆者遇到兩種情況:1)FPGA在上電瞬間內部邏輯還沒有配置好之前,IO口是處于弱上拉的,這種弱上拉對我們來說,有可能不是我們想要的,這時候就可以通過加下拉電阻的方法將其拉下來,這個電阻一般在2~10k左右。2)像筆者在剛開始描述的那樣,需要一個上拉電阻,我們就需要手動去設置了。這樣看來弱上拉就是非常有用的啦。
筆者在此介紹兩種設置IO口為弱上拉的方法:
第一種:(Qii版本:11.0)
1、在Qii軟件中選擇Assignments,然后選擇Assignment Editor。
2.接下來進入如下圖所示界面,注意在右邊選擇I/O Features選項。
?
3、選中后出現下圖所示界面,然后雙擊擊To的位置的下面,
4、出現如下圖所示按鈕,點擊按鈕
5.按照下圖所示順序添加需要弱上拉的引腳,選擇完成后點擊“OK”,所需引腳就添加上了,
6.接下來需要對給引腳進行配置了,如下圖所示對該引腳進行配置 。
7.配置完成之后重新編譯,在工程文件下的*.qsf文件中就能發現這樣一句話:
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to fm
這句話表明,fm這個引腳已經設置為弱上拉了。
?
第二種方法:
?
我們可以直接在TCL腳本文件中將fm這個管教直接配置成弱上拉。
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to fm
?
第一種方法如果熟練的話,對于比較多的管教來說操作起來是相當方便的。第二種方法也比較實用。
轉載于:https://www.cnblogs.com/zhezhe1988/p/3866637.html
總結
以上是生活随笔為你收集整理的关于ALTERA的FPGA的弱上拉问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迪杰斯特拉--- 模板(求最短路径/输出
- 下一篇: Android获取状态栏、标题栏、屏幕高