|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
新想法! |
| 作者:ywjxx 欄目:技術(shù)交流 |
數(shù)字電路中通常使用0或1高低電平來(lái)表示兩種狀態(tài),但要表示高阻狀態(tài)用什么值來(lái)表示呢?假如我們要用MCU來(lái)檢測(cè)其I/O口是否懸空要使用怎樣的方法來(lái)處理呢? |
| 2樓: | >>參與討論 |
| 作者: HWM 于 2006/12/29 9:51:00 發(fā)布:
高阻為“不定值” |
|
| 3樓: | >>參與討論 |
| 作者: thw 于 2006/12/29 10:02:00 發(fā)布:
這個(gè)。。。 檢測(cè)的話就是輸入口,輸入口是不允許懸空的 |
|
| 4樓: | >>參與討論 |
| 作者: ywjxx 于 2006/12/29 11:05:00 發(fā)布:
難道就真的沒(méi)有辦法嗎? 真的沒(méi)有辦法確定高阻狀態(tài)?無(wú)法使用MCU來(lái)確定其輸入腳是否懸空? |
|
| 5樓: | >>參與討論 |
| 作者: awey 于 2006/12/29 11:26:00 發(fā)布:
方法: 通過(guò)一個(gè)大電阻(幾M歐),加0時(shí)此腳為0,加1時(shí)此腳為1 |
|
| 6樓: | >>參與討論 |
| 作者: chunyang 于 2006/12/29 12:43:00 發(fā)布:
可以用MCU的模擬比較器或AD輸入引腳來(lái)進(jìn)行判別 |
|
| 7樓: | >>參與討論 |
| 作者: mikesullen 于 2006/12/29 13:36:00 發(fā)布:
不知樓主想做什么? 感覺(jué)這不是什么問(wèn)題呀? |
|
| 8樓: | >>參與討論 |
| 作者: ywjxx 于 2006/12/29 20:57:00 發(fā)布:
我是想用在無(wú)線遙控解碼用的! 是為了增加地址碼,因?yàn)橐话阄覀僆/O口只能識(shí)別高低電平,例如我用的MCU只有多的8只腳供我使用當(dāng)做地址碼.如果每只引腳只有高低電平兩種狀態(tài)的話,那我的地址碼只能設(shè)256個(gè)唯一的地址,如果我引用高阻狀態(tài)即引腳懸空這種狀態(tài)的話,那我每個(gè)引腳就有三種狀態(tài)了,可以設(shè)6561個(gè)唯一的地址,可以節(jié)省不少的I/O口啊! |
|
| 9樓: | >>參與討論 |
| 作者: tyw 于 2006/12/29 21:33:00 發(fā)布:
編碼器有三態(tài)功能呀 不過(guò)這個(gè)第三態(tài)不容易通過(guò)安防測(cè)試 |
|
| 10樓: | >>參與討論 |
| 作者: 赤鑄 于 2006/12/29 22:34:00 發(fā)布:
如awey所說(shuō) 檢測(cè)三態(tài)就是對(duì)口進(jìn)行“弱驅(qū)動(dòng)”,也就是通過(guò)電阻(5k~50k 都差不多,幾 M 似乎太大)驅(qū)動(dòng),同時(shí)檢測(cè)其實(shí)際電平: 如果源是低阻的,電平由源決定,與弱驅(qū)動(dòng)狀態(tài)無(wú)關(guān) 如果源是高阻的,電平由弱驅(qū)動(dòng)決定 所以只要由弱驅(qū)動(dòng)各輸出一次 L 和 H,再讀回狀態(tài),就可以作出判斷了 但這種方法有漏洞:源狀態(tài)在這期間必須穩(wěn)定,如果源狀態(tài)是變化的,而且恰好和你的弱驅(qū)動(dòng)同步(不能排除這種巧合),就會(huì)作出錯(cuò)誤判斷 而且從上面可以發(fā)現(xiàn)一個(gè)致命的問(wèn)題:這種方法需要兩個(gè)口,一個(gè)輸出弱驅(qū)動(dòng),一個(gè)讀入!兩個(gè)口本來(lái)可以輸入 4 種狀態(tài)的…… |
|
| 11樓: | >>參與討論 |
| 作者: 赤鑄 于 2006/12/29 22:37:00 發(fā)布:
也可以只用一個(gè)口 也就是利用一個(gè)小電容短時(shí)維持端口狀態(tài),讓雙向 I/O 口分別輸出 H 和 L,并立即讀回。 這種方案讓人感覺(jué)不太可靠,而且影響信號(hào)的速度 |
|
| 12樓: | >>參與討論 |
| 作者: mikesullen 于 2007/1/3 13:56:00 發(fā)布:
其實(shí)就是IO擴(kuò)展。。 IO擴(kuò)展的方法很多,對(duì)你來(lái)說(shuō)主要是選擇低成本的,加點(diǎn)電阻,電容,應(yīng)該是可以的,類(lèi)似于樓上的說(shuō)法。。。 |
|
| 13樓: | >>參與討論 |
| 作者: ywjxx 于 2007/1/4 8:16:00 發(fā)布:
各位樓上的朋友們,我已有方法檢測(cè)了且已通過(guò)驗(yàn)證! MCU檢測(cè)I/O口是否懸空(即高阻狀態(tài))不需要加任何外部元件,只要利用MCU內(nèi)部的上拉或下拉電阻就可以了,我已經(jīng)驗(yàn)證過(guò)沒(méi)問(wèn)題的,完全可以檢測(cè)出I/O口是外接高電平,或低電平,或引腳懸空三種狀態(tài). |
|
| 14樓: | >>參與討論 |
| 作者: xwj 于 2007/1/4 8:41:00 發(fā)布:
反正“三態(tài)功能”是需要一堆東西配合才能檢測(cè)的, 要么片內(nèi)有,要么片外加 不同單片機(jī)IO口能配置的功能不一樣的: 有的IO固定上拉 有的IO上拉可關(guān)斷 有的IO上拉、下拉都可關(guān)斷接通 專用的編碼器IC可以在片內(nèi)集成懸空時(shí)的偏置和檢測(cè)電路 因此 能否檢測(cè)和用什么方法檢測(cè) 對(duì)于不同IC是不能一概而論的 要么片內(nèi)有,要么片外加些電路,“三態(tài)功能”并不是多難的事 但要檢測(cè)“懸空”,那就要看IC內(nèi)有什么了 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |