黃建剛, 張 敏, 羅正華
(成都大學 信息科學與工程學院, 四川 成都 610106)
?
支持多點遠距離通信的RS-232串行總線系統
黃建剛, 張 敏, 羅正華
(成都大學 信息科學與工程學院, 四川 成都 610106)
針對RS-232標準的單端接口信號、抗干擾能力弱、速率低、通信距離短、只能實現點對點通信且沒有自我檢測功能等問題,提出一種支持多點遠距離通信的RS-232串行總線系統.通過升級單端信號為差分信號,增加沖突檢測電路、載波偵聽電路與總線控制電路等,配合成熟的標準的沖突檢測和回退算法,不僅解決了RS-232標準存在的問題,提高了信號抗干擾能力和傳送速率,增加了通信距離,而且實現了多個RS-232設備間的相互通信及總線的自我檢測功能.
多點通信;自我檢測;差分信號;RS-232標準
隨著計算機科學和通信技術的不斷發展,RS-232接口因簡單、方便且成本低而得到廣泛應用[1-3].目前,RS-232接口已經集成到很多的處理器中,用于實現不同板卡、不同模塊甚至不同機架、不同設備間的通信,比如,嵌入式CPU和主流計算機中均集成了RS-232.然而,RS-232標準存在的問題限制了其通信能力和應用領域,比如,接口信號是單端信號,抗干擾能力弱,通信距離短、速率低,只能實現點對點之間的通信,不能實現多點與多點之間的通信,沒有規范總線的檢測標準,缺乏自我檢測功能等等.針對此類問題,本研究提出了一種支持多點遠距離通信的RS-232串行總線系統,并詳細介紹了系統的工作原理和實現方式.
本研究提出的支持多點遠距離通信的RS-232串行總線系統通過在原有RS-232接口的基礎上增加以下電路來實現多點遠距離通信,具體包括:
1)增加串口接口電路,將單端信號改變為差分信號,解決單端信號抗干擾能力弱及通信距離短的問題.信號質量得以保證,傳輸距離得到延長,同時提高了數據傳送速率,從而提高了系統的性能.
2)增加沖突檢測電路、載波偵聽電路、總線轉換電路和輸出三態控制電路,同時采用成熟的標準CSMA/CA(載波偵聽多址訪問/沖突檢測)算法[4],解決RS-232僅支持點對點通信而不支持多點對多點通信的問題,實現多個RS-232設備相互通信的能力.
3)增加環回檢測電路,實現總線的自我檢測功能,提高總線的維護能力.環回檢測電路可同時應用于通信方式的控制,使本總線系統可以支持半雙工和全雙工通信,也支持主從方式通信和平等方式通信.
2.1x-堅持CSMA/CD算法
CSMA/CD是由IEEE 802.3[4]標準規定的用于以太網通信的一種傳輸媒介接入控制算法,稱為載波偵聽多址接入/沖突避免算法.利用成熟的標準x-堅持CSMA/CD算法進行總線接入的控制,從而降低算法風險,提高算法可靠性與系統穩定性.以p-堅持CSMA/CD為例,其算法流程圖如圖1所示.
2.2 硬件設計
系統的硬件部分由RS-232串行差分總線和位于各個通信節點上的相關電路組成.RS-232差分總線系統框圖如圖2所示.系統中,差分總線由接收(receive,RX)和發送(transmit,TX)組成,主控器(micro-controller,MC)和節點(Node)掛接于差分總線上,MC與其他Node的收發交叉連接.MC和Node的串行總線部分的硬件功能框圖分別如圖3和圖4所示.
圖3和圖4中,與本系統相關的電路包括:環回控制電路、串口接口電路、輸出三態控制電路、沖突檢測電路、載波偵聽電路和保護電路.環回控制電路也可以放在Node上實現.

圖1p-堅持CSMA/CD流程圖

圖2 RS-232差分總線系統框圖

圖3 主控器(MC)串行總線硬件功能框圖

圖4 節點(Node)串行總線硬件功能框圖
3.1 實現功能
3.1.1 多點通信功能.
根據保護電路送過來的允許輸出信號ENO,輸出三態控制電路可以實現串行發送信號的高阻態控制.把不發送數據的MC或Node從RS-232差分總線上隔離,且不影響總線上數據的傳送.把發送數據的MC或Node接入到RS-232差分總線上,實現數據的傳送.
3.1.2 遠距離傳輸能力.
RS-232的收、發信號通過串口接口電路,把原來的單端信號轉換為差分信號,提高了信號的抗干擾能力,能夠把傳送距離延長至原來10倍以上.在確保一定誤碼率的情況下,信號質量的提高也能使數據的傳送速率提高10倍以上.
3.1.3 自我檢測功能.
系統的總線自檢測原理如圖5所示,以MC模塊的電路為例,當環回控制電路在CPU的控制下,將RS-232差分總線的RX和TX連接在一起后,CPU在TXM信號線上發送的數據將通過環回電路回送到RXM接收信號線上,因此CPU可以對接收到的數據與發送出去的數據進行對比,以此判斷總線功能是否正常.

圖5 總線自檢測原理圖
3.1.4 總線工作方式.
如果環回控制電路將RX和TX連接在一起(見圖5),則邏輯上RX和TX成為1根總線.總線上所有的MC/Node都處于平等地位,此時,總線工作在半雙工平等通信方式下.此模式支持MC與多個Node之間,以及任意Node之間的通信.如果環回控制電路將RX和TX斷開,則邏輯上RX和TX成為2根獨立的總線.由于MC的TX與其他Node的RX相連接,MC的RX與其他Node的TX相連接,此時,MC可以與其他任意Node進行全雙工通信.
當各個Node要發送數據時,可以采用2種接入方式,即主從接入方式與競爭接入方式.在主從接入方式下,不需要CSMA/CD算法,總線的控制權由MC掌握,各個Node的發送時機也由MC控制,通過MC輪詢各個Node是否有數據需要傳送來實現總線的接入控制;在競爭接入方式下,MC不主動發輪詢操作,而是由所有的Node通過CSMA/CD算法對總線控制權進行競爭.
3.2 實現方式
系統的軟件的實現可以采用C語言或其他語言;硬件電路可以由成熟的芯片實現,也可以由FPGA/CPLD實現.
3.2.1p-堅持CSMA/CD算法軟件示例.
//程序基于8051等單片機編寫
//回退算法程序示例
//程序中預先設定的p值是CSMA-p.
bit Bus-Status(void)
{ uchar i;
Watch-Dog=ON;//清看門狗
Watch-Dog=OFF;
Bus-State-ptr=( uchar xdata * ) STATECS;
Bus-Status=*Bus-State-ptr;//獲取載波偵聽電路給出的總線狀態信號
if(Status) return((bit)0);//如果總線忙,返回;
if(rand()<=CSMA-p) return((bit)1);//如果總線閑,并且x
else
{for(i=0;i<=20;i++);Watch-Dog=ON;Watch-Dog=OFF;return((bit)0); }
}
//總線自我檢測程序示例
void Test-Bus(void)
{ data uchar i;
bit Err-Flag=FALSE;
Control-ptr=(uchar xdata *)CONTROLCS;
putout(″Waiting for checking BUS… 主站蜘蛛池模板: 国产成人精品在线1区| 91久久性奴调教国产免费| 色婷婷亚洲综合五月| 少妇精品网站| 精品久久久久久中文字幕女| 永久天堂网Av| 亚洲日韩精品无码专区97| 中文字幕色在线| 亚洲天堂免费在线视频| 无码专区国产精品第一页| 在线观看91香蕉国产免费| 亚洲三级视频在线观看| 亚洲天堂免费在线视频| 1769国产精品视频免费观看| 国产欧美日韩资源在线观看| 亚洲,国产,日韩,综合一区| 亚洲第一黄色网址| 就去色综合| 国产精品久久久久鬼色| 色妞永久免费视频| 亚洲精品第五页| 日本欧美精品| 国产一区自拍视频| 台湾AV国片精品女同性| 亚洲成人播放| 中文字幕日韩视频欧美一区| 99尹人香蕉国产免费天天拍| 午夜福利在线观看成人| 亚洲男人的天堂在线观看| 婷婷激情亚洲| 在线观看免费人成视频色快速| 亚洲高清在线播放| 日韩毛片基地| yjizz视频最新网站在线| 亚洲男人的天堂网| 成年A级毛片| 熟女视频91| 婷婷色中文网| 国产午夜无码专区喷水| 久久精品波多野结衣| 99在线观看精品视频| 亚洲成年人片| 国产欧美精品一区二区 | 色综合热无码热国产| 欧美精品亚洲精品日韩专区| 日本91在线| 黄色免费在线网址| 国产精品毛片一区| 喷潮白浆直流在线播放| 国产区精品高清在线观看| 最新无码专区超级碰碰碰| 國產尤物AV尤物在線觀看| 久久一本精品久久久ー99| 国产91丝袜在线播放动漫| 中文字幕自拍偷拍| 青青久久91| 国产精品hd在线播放| 欧美人与牲动交a欧美精品| 国产拍揄自揄精品视频网站| 国产原创演绎剧情有字幕的| 国产真实乱人视频| 国产精品任我爽爆在线播放6080| 亚洲精品桃花岛av在线| 无码丝袜人妻| 欧美一级专区免费大片| 免费黄色国产视频| 精品国产电影久久九九| 婷婷色中文| 亚州AV秘 一区二区三区| 国产极品美女在线| 国产女人爽到高潮的免费视频| 久久香蕉国产线看观看亚洲片| 精品国产Av电影无码久久久| 久久综合九色综合97婷婷| 日本午夜在线视频| 最新国产网站| 久久精品电影| 国产精品区视频中文字幕| 最新国产网站| 欧美一级在线看| 欧美成人精品一区二区| 国产成人AV综合久久|