日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復(fù)
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

求助,關(guān)于單片機之間的通信問題

請問各位大俠,像下圖1這樣連接,通信正常(可以接收和發(fā)送),說明程序和硬件沒問題吧?但如果把圖1的光耦(801 P521 GR)換成圖2的接法(光耦由發(fā)送端換到接收端),就通信不上了?請問這是什么原因呢?光耦我用導(dǎo)線把它引出來接,這方便我更換,且保證光耦是同一個光耦.我分析了好幾天了,實在是找不出問題的根源啊!!電源我加多了下個“派”型漓濾了,電阻等參數(shù)我也換過了,但就是不行!真是極度郁悶啊!!
還有一個問題,就是把圖1的光耦換成(746 P521 GB)的話同樣是通信不上!!理論上來講這兩個光耦可以互換啊!!



                        圖1



                        圖2
謝謝各位,急救啊!!
全部回復(fù)(10)
正序查看
倒序查看
whatcall
LV.5
2
2008-11-03 18:20
首先我覺得你這電路信號隔離的不完整(是不是還沒設(shè)計完,只是先試驗一下?)
從理論上來說可能是可以的,不過光耦兩側(cè)的電路特性畢竟不一樣.單片機的發(fā)送引腳需不需要上拉?驅(qū)動能力?你先解決電源的問題就偏離了主題.TXD和RXD的信號才是關(guān)鍵嘛.最有效的調(diào)試方法是用示波器看RXD TXD 波形,需要注意的一點是對于UART接口來說,電平的有效狀態(tài)是低電平,當(dāng)通信處于閑置時,引腳是高電平.因此先看看邏輯對不對,邏輯正確的話再觀察波形的邊沿是否滿足要求.這樣解決問題是比較合理的.
當(dāng)然如果你手邊沒有示波器,只好先用萬用表量一下無通信數(shù)據(jù)時各引腳狀態(tài)是否正常?有通信時,用交流檔測量有無一定的交流電壓(這個電壓取決于通信的間隔和數(shù)據(jù),可以定期發(fā)送0xFF、0x55、0x00觀察不同的數(shù)據(jù)電壓是否不同). 另外可以降低波特率試驗.
0
回復(fù)
2008-11-03 22:26
@whatcall
首先我覺得你這電路信號隔離的不完整(是不是還沒設(shè)計完,只是先試驗一下?)從理論上來說可能是可以的,不過光耦兩側(cè)的電路特性畢竟不一樣.單片機的發(fā)送引腳需不需要上拉?驅(qū)動能力?你先解決電源的問題就偏離了主題.TXD和RXD的信號才是關(guān)鍵嘛.最有效的調(diào)試方法是用示波器看RXDTXD波形,需要注意的一點是對于UART接口來說,電平的有效狀態(tài)是低電平,當(dāng)通信處于閑置時,引腳是高電平.因此先看看邏輯對不對,邏輯正確的話再觀察波形的邊沿是否滿足要求.這樣解決問題是比較合理的.當(dāng)然如果你手邊沒有示波器,只好先用萬用表量一下無通信數(shù)據(jù)時各引腳狀態(tài)是否正常?有通信時,用交流檔測量有無一定的交流電壓(這個電壓取決于通信的間隔和數(shù)據(jù),可以定期發(fā)送0xFF、0x55、0x00觀察不同的數(shù)據(jù)電壓是否不同).另外可以降低波特率試驗.
嗯,老兄你說的沒錯,剛開始時我的電路是三路都隔離的,但通信不上,于是我就把隔離電路全去掉,這樣就能通信成功了.所以我排除了程序上的問題.就一路一路來隔離看看到底是那里出了問題,結(jié)果就是我開貼所說的一樣,即只隔離TXD時可以通信,TXD和RXD都隔離或只隔離RXD時就不行了.所以才想不透啊,理論上這個很容易分析,但理論跟實際就是差別那么大啊!!!!

還有,我用示波器測過成功通信時的波形,大概了解通信的原理和邏輯電平.當(dāng)我只隔離RXD端時,發(fā)送端的波形很正常,即跟正常時的波形基本一致,只是接收端一直保持高電平(理論上不隔離時能通信,波形正常,即可證明那里能接收到數(shù)據(jù),為什么一接上隔離電路就沒波形了呢,想不通???)

最原始的原理圖如下,但這樣通信不成功,所以才一分別測試500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/71/2992531225722405.jpg');}" onmousewheel="return imgzoom(this);">
0
回復(fù)
2008-11-03 22:38
正常通信時TXD引腳的波形如下(采用掃描的)
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/71/2992531225722786.gif');}" onmousewheel="return imgzoom(this);">

RXD引腳的波形跟上面的差不多,只是比較疏一點(因為我發(fā)是地幾個單元發(fā),收只是跟自己地址相符時才收)

通信不上時,TXD引腳的波形也正常,只是RXD就一直保持高電平.
0
回復(fù)
whatcall
LV.5
5
2008-11-04 18:42
@小心有毒
正常通信時TXD引腳的波形如下(采用掃描的)[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/71/2992531225722786.gif');}"onmousewheel="returnimgzoom(this);">RXD引腳的波形跟上面的差不多,只是比較疏一點(因為我發(fā)是地幾個單元發(fā),收只是跟自己地址相符時才收)通信不上時,TXD引腳的波形也正常,只是RXD就一直保持高電平.
我想你可以沿著這個思路測下去.
不要只盯著單片機的引腳,順著信號的來源和去向測一下.你用通信好不好來形容過于粗略.你的系統(tǒng)中MCU是主機嗎?TXD一直正常不奇怪,因為就是單片機的輸出嘛,RXD的引腳一直為高說明無有效輸入信號.用示波器看看通信鏈路上的幾個點:
TXD->發(fā)送光耦次側(cè)(即RS485 收發(fā)器的D腳)-> A,B間差分電壓->485 A,B間差分電壓->接收光耦的原邊(即RS85收發(fā)器的R腳)->RXD.
這樣問題很容易找出來. 如果仍然不能解決,使能端的電平再看看.就這么幾個器件,不復(fù)雜.

不過照你的描述,問題的產(chǎn)生就是因為RXD的隔離造成的,因此建議首先檢查RXD隔離的兩端信號是否匹配,我覺得 光耦的 RS85收發(fā)器的R腳邏輯信號八成是正確的,可能是兩邊的電阻值選擇不當(dāng).
0
回復(fù)
2008-11-05 08:55
@小心有毒
嗯,老兄你說的沒錯,剛開始時我的電路是三路都隔離的,但通信不上,于是我就把隔離電路全去掉,這樣就能通信成功了.所以我排除了程序上的問題.就一路一路來隔離看看到底是那里出了問題,結(jié)果就是我開貼所說的一樣,即只隔離TXD時可以通信,TXD和RXD都隔離或只隔離RXD時就不行了.所以才想不透啊,理論上這個很容易分析,但理論跟實際就是差別那么大啊!!!!還有,我用示波器測過成功通信時的波形,大概了解通信的原理和邏輯電平.當(dāng)我只隔離RXD端時,發(fā)送端的波形很正常,即跟正常時的波形基本一致,只是接收端一直保持高電平(理論上不隔離時能通信,波形正常,即可證明那里能接收到數(shù)據(jù),為什么一接上隔離電路就沒波形了呢,想不通???)最原始的原理圖如下,但這樣通信不成功,所以才一分別測試[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/71/2992531225722405.jpg');}"onmousewheel="returnimgzoom(this);">
把R13改成2K以上試試
0
回復(fù)
cuixin
LV.3
7
2008-11-09 15:06
不知道你的通信速度是多大?光偶是有延時的,而且非常大特別是關(guān)斷的時候,你好好看521的手冊,另外你的程序中的讀取的時間等.
0
回復(fù)
2008-11-12 18:52
你改大R13試了嗎?我遇到過這種事,加大R13就解決了,光耦輸出相當(dāng)一個電阻,當(dāng)有輸入時,輸出導(dǎo)通,但有較大電阻,電流較大時,會有較大壓降,所以不能正常工作,加大R13,減小集電結(jié)電流,集電結(jié)電壓會降低,系統(tǒng)才能正常工作.
0
回復(fù)
ketjin
LV.3
9
2008-11-25 20:55
電阻沒優(yōu)化,看看521的手冊吧,或者你速度太快,應(yīng)當(dāng)用高速的
0
回復(fù)
ketjin
LV.3
10
2008-11-25 20:58
813的基極大概200多
C集的忘了
可在9600
0
回復(fù)
ketjin
LV.3
11
2008-11-25 20:59
@小心有毒
正常通信時TXD引腳的波形如下(采用掃描的)[圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/71/2992531225722786.gif');}"onmousewheel="returnimgzoom(this);">RXD引腳的波形跟上面的差不多,只是比較疏一點(因為我發(fā)是地幾個單元發(fā),收只是跟自己地址相符時才收)通信不上時,TXD引腳的波形也正常,只是RXD就一直保持高電平.
拉開看,很難看
0
回復(fù)
發(fā)