專利名稱:用單片機(jī)完成無(wú)極性485通信功能的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于單片機(jī)應(yīng)用技術(shù),涉及RS-485串行總線接口通信技術(shù)。
背景技術(shù):
RS-485是一種通用串口通信總線,RS-485總線通信模式由于具有結(jié)構(gòu)簡(jiǎn)單、價(jià) 格低廉、通信距離和數(shù)據(jù)傳輸速率適當(dāng)?shù)忍攸c(diǎn),被廣泛應(yīng)用于儀器儀表、智能化傳感器 集散控制、樓宇控制、監(jiān)控報(bào)警等領(lǐng)域。但RS-485芯片通信引腳有AB極性之分,通信 模式要求必須A-A、B-B連接,否則系統(tǒng)將無(wú)法正常工作,這在實(shí)際使用中帶給現(xiàn)場(chǎng)施 工諸多麻煩。RS-485其實(shí)是一個(gè)被強(qiáng)化了接口功能的比較器和線路驅(qū)動(dòng)器的組合,而單片 機(jī)、特別是帶比較器的單片機(jī),具有RS-485的全部硬件基礎(chǔ),將此類單片機(jī)的硬件設(shè)備 通過(guò)軟件調(diào)整,完全可以模擬出RS-485功能。
發(fā)明內(nèi)容
本發(fā)明的目的使用單片機(jī)模擬完成RS-485功能,并使通信引腳無(wú)極性。本發(fā)明所提供的技術(shù)方案是使用單片機(jī)和比較器組合或帶比較器的單片機(jī)模 擬完成。用單片機(jī)的兩個(gè)具有推挽輸出和高阻狀態(tài)的引腳,模擬RS-485的通信引腳, 將外加比較器或內(nèi)部比較器的輸入引腳與之并聯(lián),外部比較器的輸出連接到單片機(jī)的另 一輸入引腳,再用單片機(jī)的另外四個(gè)引腳分別模擬RS-485的數(shù)據(jù)I/O引腳和收發(fā)控制引 腳。軟件設(shè)計(jì)上,單片機(jī)模擬的RS-485在接收狀態(tài)時(shí),設(shè)置通信引腳為高阻態(tài),檢 測(cè)比較器的輸出,當(dāng)比較器輸出為0,且持續(xù)時(shí)間超過(guò)一定時(shí)間時(shí),則令模擬RS-485的 數(shù)據(jù)輸出引腳為1,而后當(dāng)檢測(cè)到比較器的輸出變化時(shí),一律取反輸出到模擬RS-485的 數(shù)據(jù)輸出引腳。如果此時(shí),模擬RS-485進(jìn)入發(fā)射狀態(tài),設(shè)置通信引腳為推挽輸出狀態(tài), 檢測(cè)到模擬RS-485的數(shù)據(jù)輸入為1,則令與比較器反向輸入并聯(lián)的引腳為1,與比較器正 向輸入并聯(lián)的引腳為0;檢測(cè)到模擬RS-485的數(shù)據(jù)輸入為0,則令與比較器反向輸入并 聯(lián)的引腳為0,與比較器正向輸入并聯(lián)的引腳為1。如果模擬RS-485在接收狀態(tài)時(shí),檢測(cè)到比較器輸出為1,且持續(xù)時(shí)間超過(guò)一定 時(shí)間時(shí),則令模擬RS-485的數(shù)據(jù)輸出引腳為1,而后當(dāng)檢測(cè)到比較器的輸出變化時(shí),一 律直接輸出到模擬RS-485的數(shù)據(jù)輸出引腳。如果此時(shí),模擬RS-485進(jìn)入發(fā)射狀態(tài),設(shè) 置通信引腳為推挽輸出狀態(tài),檢測(cè)到模擬RS-485的數(shù)據(jù)輸入為1,則令與比較器反向輸 入并聯(lián)的引腳為0,與比較器正向輸入并聯(lián)的引腳為1 ;檢測(cè)到模擬RS-485的數(shù)據(jù)輸入 為0,則令與比較器反向輸入并聯(lián)的引腳為1,與比較器正向輸入并聯(lián)的引腳為0。本發(fā)明的有益效果;當(dāng)前RS-485芯片接線需要區(qū)分AB,給實(shí)際大規(guī)模組裝生 產(chǎn)帶來(lái)諸多不便,也增加了不少人為現(xiàn)場(chǎng)施工事故。本發(fā)明將消除RS-485芯片接線錯(cuò)誤 問(wèn)題,使RS-485通信設(shè)備安裝更簡(jiǎn)單、可靠,大規(guī)模生產(chǎn)使用更方便。
具體實(shí)施例方式選擇PHILIPS的P89LPC900系列之P89LPC901單片機(jī)做原料,設(shè)計(jì)無(wú)極性 RS-485芯片。這是一款S08封裝的八個(gè)引腳單片機(jī),5個(gè)引腳功能可以自定義,內(nèi) 部自帶比較器,引腳推挽狀態(tài)輸出20ma以上,非常符合模擬RS-485的需要。選定 P89LPC901單片機(jī)的P0.4、P0.5做RS-485的通信引腳(其中P0.4連接內(nèi)部比較器的正 向輸入,設(shè)定P0.5連接內(nèi)部比較器的反向輸入),P3.1做數(shù)據(jù)輸出,P3.0做接收使能, P1.5做發(fā)射使能,P1.2做數(shù)據(jù)輸入。軟件設(shè)計(jì),首先初始化P0.5、P0.4、P3.0、P1.5、P1.2設(shè)置成接收高阻態(tài),
P3.1設(shè)置成開(kāi)漏輸出且為1,設(shè)置P0.5連接內(nèi)部比較器的反向輸入。而后,檢測(cè)收發(fā)使 能端P3.0和P1.5,當(dāng)P3.0 = 0,P1.5 = 0時(shí),模擬RS-485在接收狀態(tài),檢測(cè)比較器的 輸出,當(dāng)比較器輸出為0,且持續(xù)時(shí)間超過(guò)1秒時(shí),則令數(shù)據(jù)輸出引腳P3.1為1,而后當(dāng) 檢測(cè)到比較器的輸出變化時(shí),一律取反輸出到數(shù)據(jù)輸出引腳P3.1。如果此時(shí),檢測(cè)到發(fā) 射使能P1.5=l,則進(jìn)入發(fā)射狀態(tài),設(shè)置通信引腳P0.4、P0.5為推挽輸出狀態(tài),檢測(cè)到 數(shù)據(jù)輸入P1.2 = l,則令與比較器反向輸入連接的引腳P0.5 = l,與比較器正向輸入連接 的引腳P0.4 = 0;檢測(cè)到數(shù)據(jù)輸入P1.2 = 0,則令與比較器反向輸入連接的引腳P0.5 = 0,與比較器正向輸入連接的引腳P0.4 = 1。當(dāng)P3.0 = 0,P1.5 = 0,模擬RS-485在接收狀態(tài),檢測(cè)到比較器輸出為1,且 持續(xù)時(shí)間超過(guò)1秒時(shí),則令數(shù)據(jù)輸出引腳P3.1為1,而后檢測(cè)到比較器的輸出變化時(shí),一 律直接輸出到數(shù)據(jù)輸出引腳P3.1。如果此時(shí),檢測(cè)到發(fā)射使能P1.5= 1,則進(jìn)入發(fā)射狀 態(tài),設(shè)置通信引腳P0.4、P0.5為推挽輸出狀態(tài),檢測(cè)到數(shù)據(jù)輸入P1.2= 1,則令與比較 器反向輸入連接的引腳P0.5 = 0,與比較器正向輸入連接的引腳P0.4 = l;檢測(cè)到數(shù)據(jù)輸 入P1.2 = 0,則令與比較器反向輸入連接的引腳P0.5 = l,與比較器正向輸入連接的引腳 P0.4 = 0。通過(guò)印刷線路板可以調(diào)整P89LPC901的引腳與RS-485引腳完全兼容。以上所述是本發(fā)明的優(yōu)選實(shí)施方案,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人 員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾 也視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.用單片機(jī)完成無(wú)極性485通信功能,其特征是兩條通信輸出引腳沒(méi)有極性之分。
2.權(quán)項(xiàng)1所述的用單片機(jī)完成無(wú)極性485通信功能,其進(jìn)一步特征是使用單片機(jī)和 比較器組合或帶比較器的單片機(jī)模擬完成。
3.根據(jù)權(quán)項(xiàng)1-2所述的用單片機(jī)完成無(wú)極性485通信功能,其進(jìn)一步特征是用單片 機(jī)的兩個(gè)具有推挽輸出和高阻狀態(tài)的引腳,模擬RS-485的通信引腳,將外加比較器或內(nèi) 部比較器的輸入引腳與之并聯(lián),外部比較器的輸出連接到單片機(jī)的另一輸入引腳,再用 單片機(jī)的另外四個(gè)引腳分別模擬RS-485的數(shù)據(jù)I/O引腳和收發(fā)控制引腳。
4.根據(jù)權(quán)項(xiàng)1-3所述的用單片機(jī)完成無(wú)極性485通信功能,其進(jìn)一步特征是軟件 設(shè)計(jì)上,單片機(jī)模擬的RS-485在接收狀態(tài)時(shí),設(shè)置通信引腳為高阻態(tài),檢測(cè)比較器的 輸出,當(dāng)比較器輸出為0,且持續(xù)時(shí)間超過(guò)一定時(shí)間時(shí),則令模擬RS-485的數(shù)據(jù)輸出引 腳為1,而后當(dāng)檢測(cè)到比較器的輸出變化時(shí),一律取反輸出到模擬RS-485的數(shù)據(jù)輸出引 腳。
5.根據(jù)權(quán)項(xiàng)1-4所述的用單片機(jī)完成無(wú)極性485通信功能,其進(jìn)一步特征是軟件設(shè) 計(jì)上,單片機(jī)模擬的RS-485在接收狀態(tài)時(shí),檢測(cè)到比較器輸出為0,且持續(xù)時(shí)間超過(guò)一 定時(shí)間,如果此時(shí),模擬RS-485進(jìn)入發(fā)射狀態(tài),設(shè)置通信引腳為推挽輸出狀態(tài),檢測(cè)到 模擬RS-485的數(shù)據(jù)輸入為1,則令與比較器反向輸入并聯(lián)的引腳為1,與比較器正向輸入 并聯(lián)的引腳為0,檢測(cè)到模擬RS-485的數(shù)據(jù)輸入為0,則令與比較器反向輸入并聯(lián)的引腳 為0,與比較器正向輸入并聯(lián)的引腳為1。
6.根據(jù)權(quán)項(xiàng)1-3所述的用單片機(jī)完成無(wú)極性485通信功能,其進(jìn)一步特征是軟件設(shè) 計(jì)上,如果模擬RS-485在接收狀態(tài)時(shí),檢測(cè)到比較器輸出為1,且持續(xù)時(shí)間超過(guò)一定時(shí) 間時(shí),則令模擬RS-485的數(shù)據(jù)輸出引腳為1,而后當(dāng)檢測(cè)到比較器的輸出變化時(shí),一律 直接輸出到模擬RS-485的數(shù)據(jù)輸出引腳。
7.根據(jù)權(quán)項(xiàng)1-3和權(quán)項(xiàng)6所述的用單片機(jī)完成無(wú)極性485通信功能,其進(jìn)一步特征 是軟件設(shè)計(jì)上,單片機(jī)模擬的RS-485在接收狀態(tài)時(shí),檢測(cè)到比較器輸出為1,且持續(xù) 時(shí)間超過(guò)一定時(shí)間,如果此時(shí),模擬RS-485進(jìn)入發(fā)射狀態(tài),設(shè)置通信引腳為推挽輸出狀 態(tài),檢測(cè)到模擬RS-485的數(shù)據(jù)輸入為1,則令與比較器反向輸入并聯(lián)的引腳為0,與比較 器正向輸入并聯(lián)的引腳為1,檢測(cè)到模擬RS-485的數(shù)據(jù)輸入為0,則令與比較器反向輸入 并聯(lián)的引腳為1,與比較器正向輸入并聯(lián)的引腳為0。
全文摘要
用單片機(jī)完成無(wú)極性485通信功能,涉及單片機(jī)應(yīng)用技術(shù)和RS-485通信接口。使用單片機(jī)和比較器組合或帶比較器的單片機(jī)模擬完成RS-485功能,通過(guò)軟件的設(shè)計(jì),使模擬RS-485通信引腳無(wú)極性。本發(fā)明設(shè)計(jì)的芯片將完全模擬RS-485芯片,將消除RS-485芯片接線錯(cuò)誤問(wèn)題。適用于低速RS-485通信場(chǎng)合。
文檔編號(hào)H01R13/66GK102013600SQ200910189970
公開(kāi)日2011年4月13日 申請(qǐng)日期2009年9月4日 優(yōu)先權(quán)日2009年9月4日
發(fā)明者劉愛(ài)民 申請(qǐng)人:劉愛(ài)民