線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3512
推到 Plurk!
推到 Facebook!

如何實作單晶片與多個RS232裝置溝通?

答題得分者是:暗黑破壞神
killop
一般會員


發表:14
回覆:17
積分:11
註冊:2003-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-11 22:33:04 IP:140.116.xxx.xxx 未訂閱
HI ALL 如果說我要用一個單晶片(ex:8051)來接收3~4個裝置 這些裝置都是以"RS232"溝通的 在8051接收資料後整理再用RS232傳給別台電腦 我記得8051只有一個UART 這樣的話一顆8051做得到嗎? 如下圖 RS232 ====== 傳送/接收資訊 ====== <===>裝置一(如壓力計) 電腦 |<===============>| 8051 |<===>裝置二(如溫度計) ====== RS232 ====== <===>裝置三(其他裝置) Yu-Hung 發表人 - killop 於 2005/10/11 23:13:25 發表人 - killop 於 2005/10/11 23:15:20 發表人 - killop 於 2005/10/11 23:17:09

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-11 22:57:53 IP:203.203.xxx.xxx 未訂閱
可以. 用多工器的概念去切就好. 透過程式去控制現在跟那個裝置通訊, 什麼時候傳回給電腦. 51 都使用同一個 UART, 用其他I/O去切換. 程式流程要很清楚.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
killop
一般會員


發表:14
回覆:17
積分:11
註冊:2003-09-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-11 23:10:27 IP:140.116.xxx.xxx 未訂閱
抱歉 圖在排版時亂掉了 恩 主要是其他的溝通裝置都是商用產品 他要什麼時候傳 其實我不知道 我只知道鮑率跟每秒傳幾次(大約...說明書上寫的) 都傳固定長度字串 例如"$ABCDE,123,123" 有其他文件說可用普通IO寫程式模擬來增加RS232 不過我沒辦法辨識哪個裝置正在傳遞@@ 單一個RS232我有做過 只是一遇到多個裝置 如何配置電路就不清楚了 大大可以提供簡圖嗎?
DavidLo
高階會員


發表:17
回覆:225
積分:168
註冊:2004-07-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-11 23:31:56 IP:218.169.xxx.xxx 未訂閱
Hello! 可以使用UART(16C550)擴充RS232埠. 我曾經試過擴充到12埠. 8051 -> 1 port only. 8051 UART -> 2 port. 8051 2 UARTs ->3 port. . . . Best Regards!
mymj
版主


發表:132
回覆:486
積分:608
註冊:2002-10-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-12 00:00:20 IP:59.104.xxx.xxx 未訂閱
利用rs-485 rs-422 rs-423來作只要有一個rs-232連上一個rs-422如果其他要連接的是rs-422那一次可以連16個左右,如果是rs-232那就需要換成rs-422 參考這篇文章http://www.bb-elec.com/bb-elec/literature/tech/485appnote.pdf 這是晶片的技術資料ftp://ic.laogu.com/download/max491.pdf
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-12 08:56:29 IP:59.104.xxx.xxx 未訂閱
引言: 如下圖 RS232 ====== 傳送/接收資訊 ====== <===>裝置一(如壓力計) 電腦 |<===============>| 8051 |<===>裝置二(如溫度計) ====== RS232 ====== <===>裝置三(其他裝置)
你的那些裝置會”聽話”嗎? 如果會就換成 RS485 然後51去下”裝置一”給那些裝置。然後只有裝置一回應壓力數值。 這樣一直輪詢。。。。。。 如果不會聽話。那你要如何知道誰在拉準位?
killop
一般會員


發表:14
回覆:17
積分:11
註冊:2003-09-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-12 09:14:56 IP:140.116.xxx.xxx 未訂閱
引言:
引言: 如下圖 RS232 ====== 傳送/接收資訊 ====== <===>裝置一(如壓力計) 電腦 |<===============>| 8051 |<===>裝置二(如溫度計) ====== RS232 ====== <===>裝置三(其他裝置)
你的那些裝置會”聽話”嗎? 如果會就換成 RS485 然後51去下”裝置一”給那些裝置。然後只有裝置一回應壓力數值。 這樣一直輪詢。。。。。。 如果不會聽話。那你要如何知道誰在拉準位?
恩 商用產品的設計中本來就沒有交握訊號 他就是固定多久發送一字串而已 主要之前用電腦接收時 有用USB 1轉4 RS232這種東西 所以COM1,2,3,4是獨立的實體 只要程式寫好 就會收資料並顯示出來~~這是我做過確定沒問題的 只是如果想用單晶片來做的話 他又沒有那麼多的UART實體 的確是蠻困擾的~~可能就是要像DavidLo大大說的 去擴充rs232埠 正在研究中 沒碰過的東西還真的不好懂~~^^
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-10-12 09:18:41 IP:61.66.xxx.xxx 未訂閱
試試這個    89C51單片机I/O口模擬串行通信 軟件模擬串口RS232 http://www.emouze.com/download.htm    Software Implementation of Asynchronous Serial I/O http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1490&filterID=396     
引言: 有其他文件說可用普通IO寫程式模擬來增加RS232 不過我沒辦法辨識哪個裝置正在傳遞@@
這是什麼意思啊? 哪個UART收到資料就是哪個裝置 不是嗎

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-10-12 09:30:44 IP:211.22.xxx.xxx 未訂閱
可以考慮一下 CAN-BUS, 只要2條線, 並接就可以了. 可以接很多Device....汽車工業最早用的.現在很多工業也在用了.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-09-08 18:31:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!