專利名稱:無時鐘同步信號單片機實現(xiàn)homebus總線通信的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種異步通信方式,具體地說,涉及一種無時鐘同步信號單片機實現(xiàn) H0MEBUS總線通信的方法。
背景技術(shù):
80年代末,由于通信與信息技術(shù)的發(fā)展,出現(xiàn)了對住宅中各種通信、家電、安保設(shè)備通過總線技術(shù)進行監(jiān)視、控制與管理的商用系統(tǒng)。當(dāng)時日本正處于住宅建造過剩,房產(chǎn)市場低迷的時期,日本建設(shè)省在推進智能建筑概念時,抓住用于住宅的總線技術(shù)為契機, 提出了家庭總線系統(tǒng)概念(HBS,Home Bus System),郵政省與通產(chǎn)省于1986年組織曰本電子機械工業(yè)協(xié)會與電波技術(shù)協(xié)會共同組建HBS標準委員、在1988年9月制定了 HBS標準。由于其雙絞線通信方式具有無極性連接,對于需要現(xiàn)場安裝的制冷設(shè)備尤為重要,另外其拓撲結(jié)構(gòu)簡單,所以被廣泛用于日本各大企業(yè)的電器產(chǎn)品中,并且也逐漸應(yīng)用到國內(nèi)各個電器生產(chǎn)廠家。但由于HomeBus收發(fā)器匪1192或匪1007接收的異步通信信息,必須經(jīng)過同步時鐘調(diào)制。由于單片機發(fā)向HomeBus收發(fā)器MM1192或MM1007的異步通信數(shù)據(jù),必須經(jīng)過同步時鐘的調(diào)制。所以目前能夠在異步通信同時輸出同步時鐘的單片機,只有瑞薩電子中的 H8系列芯片和富士通的部分芯片支持。而由于HomeBus無極性、差分信號、長距離以及抗干擾性等優(yōu)點,使得HomeBus在商用空調(diào)領(lǐng)域有著廣闊的應(yīng)用前景。而HomeBus對芯片異步通信時具有同步時鐘的要求, 使得我們選擇單片機范圍大大縮小,無論從成本上還是從芯片功能的選擇上都大大受限于 H8和富士通系列單片機。目前還沒有解決HomeBus同步時鐘的完善方法,其他的兩種方式都是非常具有局限性的,一種是用同步方式,另一種是用定時器模擬同步時鐘。其中同步方式一個字節(jié)的數(shù)據(jù)必須拆分成三個字節(jié)的同步數(shù)據(jù)進行發(fā)送,分別模擬起始位、數(shù)據(jù)位、校驗位和停止位。并且在發(fā)送的同時無法同步接收,要想實現(xiàn)同發(fā)同收只能用兩個通信端口,一個同步發(fā)送的同時另一個端口實現(xiàn)同步接收,只能用兩個通信端口實現(xiàn)一路通信功能。另外在接收數(shù)據(jù)時必須將同步方式轉(zhuǎn)換為異步接收方式才能正確接收。這種方式即增加了軟件的復(fù)雜度又浪費了硬件資源,同時通信的可靠性和容錯率大大降低。另一種用定時器模擬同步時鐘的方式,也存在致命的缺點。用定時器實現(xiàn)同步時鐘,必須設(shè)定一個時間間隔非常小的定時器,例如9. 6K的通信速率(其他通信速率以此類推),設(shè)計的同步時鐘就是19. 2K,即定時間隔時間為52us。52us意味著如果單指令周期命令為lus,只能在執(zhí)行52條單指令周期指令,就必須執(zhí)行一次中斷,這樣大量的時間都在中斷中,同時還必須計算好進中斷壓棧造成的時間延時。再就是要解決模擬時鐘與發(fā)送數(shù)據(jù)
3的同步問題。從理論上講用這種方法為了處理通信時鐘幾乎不能執(zhí)行其他指令,否則就會出現(xiàn)模擬的同步時鐘出現(xiàn)偏差和不同步現(xiàn)象。這也就決定了本方法是無法實現(xiàn)的。
發(fā)明內(nèi)容
本發(fā)明克服上述缺陷,提供了一種用不具有同步時鐘輸出異步通信的單片機,在異步通信時用單片機內(nèi)部PWM信號模擬出同步時鐘信號,實現(xiàn)HomeBus總線通信,從而可以隨意的選擇單片機實現(xiàn)HomeBus通信,而不必局限于H8系列和富士通系列單片機的無時鐘同步信號單片機實現(xiàn)H0MEBUS總線通信的方法。本發(fā)明的無時鐘同步信號單片機實現(xiàn)H0MEBUS總線通信的方法的技術(shù)方案是這樣的單片機設(shè)置為具有PWM輸出功能的單片機,單片機的RXD、T)(D、PWM端口分別和 H0MEBUS的RXD、TXD, SCK端口連接,其包括下列步驟
1開機啟動單片機初始化;
2通信端口初始化;
3設(shè)置異步通信的起始位、數(shù)據(jù)、校驗位和停止位;
4設(shè)置單片機的異步通信波特率;
5設(shè)置單片機的PWM引腳輸出波特率為異步通信波特率的2倍;
6:PWM輸出啟動;
7檢測總線是否空閑,如果不空閑等待隨機時間再檢測,如果空閑,進入步驟8
8=PWM輸出同步,同時開啟異步發(fā)送;
9檢驗接收發(fā)送的數(shù)據(jù)是否一致,如果不一致,進入重發(fā)狀態(tài),回步驟7,如果一致進入步驟10:
10檢驗發(fā)送是否結(jié)束,如果結(jié)束,就返回等待下次發(fā)送,如果沒有結(jié)束,就回步驟7繼續(xù)發(fā)送其他數(shù)據(jù)。單片機的異步通信波特率設(shè)置,設(shè)置單片機的異步通信波特率和PWM輸出信號的通信速率,且PWM輸出信號的通信速率為異步通信速率的2倍。異步通信保持每個時刻PWM信號和異步通信發(fā)送數(shù)據(jù)信號同步。本發(fā)明的將單片機的通信口設(shè)置成異步發(fā)送和接收方式,設(shè)置起始位,奇偶校驗位和停止位。將PWM輸出引腳設(shè)置成PWM輸出方式,同時PWM的頻率設(shè)置成異步通信波特率的2倍。由于本發(fā)明利用單片機內(nèi)部硬件PWM資源實現(xiàn)了時鐘信號的輸出,需要解決的關(guān)鍵點就是,利用單片機內(nèi)部資源產(chǎn)生PWM,同時實現(xiàn)每次數(shù)據(jù)發(fā)送時PWM信號和T)(D信號起始位的同步,即在每次發(fā)送時將PWM進行重新復(fù)位,將PWM計數(shù)器的計數(shù)值清零,進入初始發(fā)送狀態(tài),從而實現(xiàn)了通信時鐘和數(shù)據(jù)發(fā)送的同步。因為設(shè)置成異步接收發(fā)送方式,所以在異步發(fā)送的同時可以檢測發(fā)送的數(shù)據(jù)是否正確,實現(xiàn)了 HomeBus的同發(fā)同收形式。節(jié)省了硬件資源,實現(xiàn)了同步方式無法實現(xiàn)的一個通信端口無法同發(fā)同收的缺點。同時這種方式節(jié)省了軟件資源,PWM波的產(chǎn)生完全有芯片內(nèi)部資源實現(xiàn),避免了用定時器模擬同步時鐘頻繁進中斷的致命缺點。
圖1是本發(fā)明的無時鐘同步信號單片機實現(xiàn)H0MEBUS總線通信的方法的方框圖。
具體實施例方式實施例1
本發(fā)明的無時鐘同步信號單片機實現(xiàn)H0MEBUS總線通信的方法的過程是這樣的,單片機設(shè)置為具有PWM輸出功能的單片機,單片機的RXD、T)(D、PWM端口分別和H0MEBUS的RXD、 TXD, SCK端口連接,開機啟動;通信端口初始化;設(shè)置起始位、數(shù)據(jù)、校驗位和停止位;設(shè)置異步通信波特率;設(shè)置PWM引腳輸出波特率為通信波特率的2倍;PWM輸出啟動;檢測總線是否空閑,如果不空閑等待隨機時間再檢測,如果空閑,進入下一步PWM輸出同步,同時開啟異步發(fā)送;檢驗接收發(fā)送的數(shù)據(jù)是否一致,如果不一致,進入重發(fā)狀態(tài),回步驟7,如果一致進入下一步。檢驗發(fā)送是否結(jié)束,如果結(jié)束,就返回等待下次發(fā)送,如果沒有結(jié)束,就回步驟7繼續(xù)發(fā)送其他數(shù)據(jù)。本實施例設(shè)置1為起始位、8位數(shù)據(jù)、1為校驗位、1位停止位,單片機的異步通信波特率為4. 8K,PWM引腳輸出波特率為通信波特率為9. 6K。本發(fā)明就是用不具有同步時鐘輸出異步通信的單片機,在異步通信時用單片機內(nèi)部PWM信號模擬出同步時鐘信號,實現(xiàn)HomeBus總線通信,從而可以隨意的選擇單片機實現(xiàn) HomeBus通信,而不必局限于H8系列和富士通系列單片機,這也是本專利解決的主要問題。實施例2:
本實施例和實施例1的區(qū)別在于,本實施例的單片機的異步通信波特率為9. 6K,PWM引腳輸出波特率為通信波特率為19.觀。實施例3:
本實施例和實施例1的區(qū)別在于,本實施例的單片機的異步通信波特率為19. 2K,PWM 引腳輸出波特率為通信波特率為38. 4K。
權(quán)利要求
1.一種無時鐘同步信號單片機實現(xiàn)H0MEBUS總線通信的方法,其特征在于,單片機設(shè)置為具有PWM輸出功能的單片機,單片機的RXD、T)(D、PWM端口分別和H0MEBUS的RXD、T)(D、 SCK端口連接,其包括下列步驟1 開機啟動單片機初始化;2:通信端口初始化;3設(shè)置異步通信的起始位、數(shù)據(jù)、校驗位和停止位;4設(shè)置單片機的異步通信波特率;5設(shè)置單片機的PWM引腳輸出波特率為異步通信波特率的2倍;6:PWM輸出啟動;7檢測總線是否空閑,如果不空閑等待隨機時間再檢測,如果空閑,進入步驟8 8=PWM輸出同步,同時開啟異步發(fā)送;9檢驗接收發(fā)送的數(shù)據(jù)是否一致,如果不一致,進入重發(fā)狀態(tài),回步驟7,如果一致進入步驟10:10檢驗發(fā)送是否結(jié)束,如果結(jié)束,就返回等待下次發(fā)送,如果沒有結(jié)束,就回步驟7繼續(xù)發(fā)送其他數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的無時鐘同步信號單片機實現(xiàn)H0MEBUS總線通信的方法,其特征在于,設(shè)置單片機的異步通信波特率和PWM輸出信號的通信速率,且PWM輸出信號的通信速率為異步通信速率的2倍。
3.根據(jù)權(quán)利要求1所述的無時鐘同步信號單片機實現(xiàn)H0MEBUS總線通信的方法,其特征在于,異步通信保持每個時刻PWM信號和異步通信發(fā)送數(shù)據(jù)信號同步。
全文摘要
本發(fā)明涉及一種異步通信方式,具體地說,涉及一種無時鐘同步信號單片機實現(xiàn)HOMEBUS總線通信的方法,提供了一種用不具有同步時鐘輸出異步通信的單片機,在異步通信時用單片機內(nèi)部PWM信號模擬出同步時鐘信號,實現(xiàn)HomeBus總線通信,從而可以隨意的選擇單片機實現(xiàn)HomeBus通信,而不必局限于H8系列和富士通系列單片機的無時鐘同步信號單片機實現(xiàn)HOMEBUS總線通信的方法,單片機設(shè)置為具有PWM輸出功能的單片機,單片機的RXD、TXD、PWM端口分別和HOMEBUS的RXD、TXD、SCK端口連接,這種方式節(jié)省了軟件資源,PWM波的產(chǎn)生完全有芯片內(nèi)部資源實現(xiàn),避免了用定時器模擬同步時鐘頻繁進中斷的致命缺點。
文檔編號H04L7/00GK102447600SQ20111025602
公開日2012年5月9日 申請日期2011年9月1日 優(yōu)先權(quán)日2011年5月27日
發(fā)明者張俊喜, 張獻林, 曹銳, 李希志 申請人:青島海信日立空調(diào)系統(tǒng)有限公司