<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C8051F120與RS422總線的時(shí)鐘同步技術(shù)

          C8051F120與RS422總線的時(shí)鐘同步技術(shù)

          作者: 時(shí)間:2010-02-23 來(lái)源:網(wǎng)絡(luò) 收藏

            引 言

            由于指令的速度不斷加快,單片機(jī)在各個(gè)方面的性能大為提高,比如多個(gè)單片機(jī)之間的。Silicon Labs公司的C8051F系列單片機(jī)的執(zhí)行速度最高可以達(dá)到100MIPS,這使得更高精度的成為可能。是一個(gè)在多單片機(jī)相互配合時(shí)經(jīng)常遇到的問(wèn)題,主要有兩種同步方式——絕對(duì)同步和相對(duì)同步。絕對(duì)同步是指各個(gè)控制器和一個(gè)標(biāo)準(zhǔn)的時(shí)間進(jìn)行同步,比如北京時(shí)間、華盛頓時(shí)間等等;而相對(duì)時(shí)鐘同步是指各個(gè)單片機(jī)和一個(gè)相對(duì)穩(wěn)定的時(shí)鐘進(jìn)行同步,與外界的時(shí)間沒(méi)有聯(lián)系。本文主要針對(duì)總線組成的網(wǎng)絡(luò)的高精度時(shí)鐘同步問(wèn)題,提出了一種相對(duì)時(shí)鐘同步解決方案。

            1 整體框架結(jié)構(gòu)

            網(wǎng)絡(luò)中,多個(gè)單片機(jī)的連接如圖1所示。這是一個(gè)典型的“一主多從”式結(jié)構(gòu):主單片機(jī)通過(guò)向從單片機(jī)發(fā)送命令,實(shí)現(xiàn)管理功能;從單片機(jī)主要執(zhí)行具體的功能,比如數(shù)據(jù)采集、D/A轉(zhuǎn)換輸出等。為了使多個(gè)單片機(jī)能夠同步工作,需要一種同步方式,所以從單片機(jī)不但要實(shí)現(xiàn)各自的具體功能,而且還要能夠進(jìn)行多個(gè)單片機(jī)的時(shí)鐘同步。本方案設(shè)計(jì)了從單片機(jī)的幾種工作狀態(tài)。R和T分別表示R+、R-和T+、T-。

          RS422網(wǎng)絡(luò)中

            2 從單片機(jī)的狀態(tài)機(jī)

            本文重點(diǎn)介紹系統(tǒng)時(shí)鐘同步功能的實(shí)現(xiàn),但是在實(shí)際應(yīng)用過(guò)程中,該系統(tǒng)必定要實(shí)現(xiàn)其他的功能,比如數(shù)據(jù)采集、模擬量輸出等。主單片機(jī)的作用是控制從單片機(jī)工作,所以要使從單片機(jī)具有不同的工作狀態(tài)。本文設(shè)計(jì)了3種工作狀態(tài):準(zhǔn)備態(tài)、時(shí)鐘同步態(tài)、工作態(tài)。3種工作狀態(tài)之間的相互轉(zhuǎn)換過(guò)程如圖2所示。圖中,①代表主單片機(jī)向從單片機(jī)發(fā)送“工作”命令;②代表主單片機(jī)向從單片機(jī)發(fā)送“時(shí)鐘同步”命令;③代表主單片機(jī)向從單片機(jī)發(fā)送“工作態(tài)向時(shí)鐘同步態(tài)轉(zhuǎn)換”命令;④代表主單片機(jī)向從單片機(jī)發(fā)送“時(shí)鐘同步態(tài)向工作態(tài)轉(zhuǎn)換”命令。

          3種工作狀態(tài)之間的相互轉(zhuǎn)換過(guò)程

            準(zhǔn)備態(tài)是從單片機(jī)上電后的工作狀態(tài),當(dāng)主單片機(jī)向某一從單片機(jī)發(fā)送“是否準(zhǔn)備好”命令后,若從單片機(jī)回復(fù)“準(zhǔn)備好”,則說(shuō)明從設(shè)備已經(jīng)處于準(zhǔn)備好的狀態(tài),可以向時(shí)鐘同步態(tài)和工作態(tài)進(jìn)行轉(zhuǎn)換。如果從單片機(jī)處于工作態(tài),主單片機(jī)發(fā)送“工作態(tài)向時(shí)鐘同步態(tài)轉(zhuǎn)換”命令,則從時(shí)鐘進(jìn)入時(shí)鐘同步態(tài);如果從單片機(jī)處于時(shí)鐘同步態(tài),主單片機(jī)發(fā)送“時(shí)鐘同步態(tài)向工作態(tài)轉(zhuǎn)換”命令,則從單片機(jī)由時(shí)鐘同步態(tài)轉(zhuǎn)換到工作態(tài)。

            3 時(shí)鐘同步設(shè)計(jì)的基本原理

            本方案采用多個(gè)單片機(jī)組成網(wǎng)絡(luò)。單片機(jī)具有高達(dá)100MIPS的執(zhí)行速度,也就是1μs可以執(zhí)行100條單周期指令,所以定時(shí)器定時(shí)1μs可以達(dá)到1%的精度。而RS4.22總線組成的網(wǎng)絡(luò)是“一主多從”式結(jié)構(gòu),網(wǎng)絡(luò)中每個(gè)設(shè)備都有自己的時(shí)鐘,時(shí)鐘采用定時(shí)器實(shí)現(xiàn),1μs觸發(fā)一次。主設(shè)備和從設(shè)備的時(shí)鐘偏差產(chǎn)生有兩個(gè)原因;一是某些隨機(jī)因素產(chǎn)生的誤差;二是由于晶振的運(yùn)行速度不同引起的誤差,此誤差的產(chǎn)生主要受溫度的影響,而溫度又是由工作環(huán)境來(lái)決定的。本文采用相對(duì)時(shí)鐘同步的方法來(lái)減小這種誤差的影響。

            該方法分為2步:

           ?、僦髟O(shè)備每2 s進(jìn)行一次時(shí)鐘同步。主設(shè)備首先發(fā)送報(bào)文master_a(該報(bào)文本身不含發(fā)送時(shí)間),之后再發(fā)送一幀帶有該報(bào)文發(fā)送時(shí)間信息的報(bào)文master_b。這樣,從設(shè)備可以分析出主設(shè)備的同步報(bào)文的發(fā)送時(shí)間T1和接收時(shí)間T2(如無(wú)特殊標(biāo)注,文中所涉及的時(shí)間變量都是以μs為單位的)。從設(shè)備再發(fā)送一個(gè)報(bào)文slave_c,并記下這個(gè)報(bào)文的發(fā)送時(shí)間T3,主設(shè)備接到該報(bào)文后記下接收時(shí)間T4,并把T4發(fā)給從設(shè)備,從設(shè)備就有了T1、T2、T3、T4的值。由于主設(shè)備和從設(shè)備都采用同一波特率進(jìn)行串行通信,所以只要保證主設(shè)備的報(bào)文和從設(shè)備的報(bào)文發(fā)送的字節(jié)數(shù)相同,就可以看成主設(shè)備和從設(shè)備的發(fā)送時(shí)間和接收時(shí)間是相同的,即圖3中的T1、T2、T3、T4四點(diǎn)構(gòu)成的是等腰梯形。所以主設(shè)備和從設(shè)備之間的時(shí)間偏差:

          公式

          T1

            從設(shè)備的時(shí)間T_Slave減去從設(shè)備和主設(shè)備之間的偏差△,即校正后的時(shí)間。但此時(shí)校正后的結(jié)果只是改變從設(shè)備的時(shí)鐘誤差,并沒(méi)有改變從時(shí)鐘的時(shí)鐘頻率。隨著時(shí)間的增長(zhǎng),這個(gè)誤差就又會(huì)出現(xiàn),因此想要減小這個(gè)誤差必須采用進(jìn)一步的方法。

           ?、谶M(jìn)行時(shí)鐘頻率的校正。單片機(jī)的指令速度很快(可達(dá)100MIPS),這就為單片機(jī)應(yīng)用內(nèi)部定時(shí)器實(shí)現(xiàn)頻率可調(diào)時(shí)鐘創(chuàng)造了有利條件。本文多次測(cè)量從設(shè)備和主設(shè)備之間的時(shí)間誤差來(lái)求取平均值,作為主從時(shí)鐘在規(guī)定時(shí)間內(nèi)的從設(shè)備和主設(shè)備之間的誤差,通過(guò)這個(gè)誤差來(lái)修正從設(shè)備的時(shí)鐘頻率。具體做法為:測(cè)量5次從設(shè)備和主設(shè)備之間的偏差△1~△5,采用平均值濾波法得到的結(jié)果△z作為2 s的時(shí)間偏差。

          公式

            其中,t代表1μs內(nèi)時(shí)鐘的偏差量,單位是0.01 μs。只須修改定時(shí)器的相應(yīng)寄存器,就可以達(dá)到調(diào)整時(shí)鐘頻率的目的。

            4 系統(tǒng)的硬件連接

            各個(gè)單片機(jī)采用RS422總線進(jìn)行互聯(lián),形成一個(gè)“一主多從”的結(jié)構(gòu)。RS422接口電路如圖4所示。接口芯片采用Maxim公司的MAX489,其中DI、RO連接在C8051F120單片機(jī)的串口上,用端子J將各個(gè)RS422的各路信號(hào)引出。

          RS422接口電路

            5 時(shí)鐘同步軟件設(shè)計(jì)

            時(shí)鐘同步部分的軟件設(shè)計(jì)包括主、從單片機(jī)的工作過(guò)程,以及頻率可調(diào)時(shí)鐘部分和時(shí)鐘校準(zhǔn)部分的實(shí)現(xiàn),但不包括狀態(tài)轉(zhuǎn)換功能的實(shí)現(xiàn)。

            編者注:主從機(jī)程序略。

            結(jié) 語(yǔ)

            時(shí)鐘同步問(wèn)題是多單片機(jī)同步工作面臨的一個(gè)重要問(wèn)題。本文針對(duì)RS422網(wǎng)絡(luò)的時(shí)鐘同步工作問(wèn)題,提出了一種相對(duì)時(shí)鐘同步解決方案;并應(yīng)用單片機(jī)片內(nèi)定時(shí)器設(shè)計(jì)了一個(gè)頻率可調(diào)時(shí)鐘,在沒(méi)有增加硬件成本的前提下,明顯地減小了不同單片機(jī)之間的時(shí)鐘偏差。



          關(guān)鍵詞: C8051F120 時(shí)鐘同步 RS422

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();