新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 利用MSM7512B的PC機和單片機遠程通信

利用MSM7512B的PC機和單片機遠程通信

作者: 時間:2012-02-09 來源:網(wǎng)絡 收藏

是一款單片F(xiàn)SK調(diào)制解調(diào)器。他符合ITUT V.23標準,可以支持1200 b/s半雙工或1 200 b/s收/75 b/s發(fā)全雙工2種數(shù)據(jù)傳輸方式。用于控制或單向數(shù)據(jù)比較方便,這樣的系統(tǒng)往往執(zhí)行端由小巧的組成,處理控制端由計算機組成。如通過網(wǎng)絡的抄表,報警,檢測和遠程在系統(tǒng)編程。但如果需要經(jīng)過模擬接入網(wǎng)的遠程雙向數(shù)據(jù),問題就不簡單了。這就引出了如何 進行機和之間的遠程問題。

本文引用地址:http://butianyuan.cn/article/172148.htm

1通信方案與模式

通信方案應由具體應用決定。當機和要通過公共電話交換網(wǎng)進行通信時,由于MSM7512B沒有附加其他功能電路,因此在發(fā)起連接端需要加接撥號電路,在應答連接端需要加接振鈴檢測電路。如果連接請求是由計算機發(fā)起的,其通信方案可如圖1所示。

MSM7512B的14,15腳 MOD1,MOD2是通信工作模式控制。當MOD2=0,MOD1=0時,芯片處于發(fā)送模式,只能以1 200 b/s向外發(fā)送數(shù)據(jù);而MOD2=0,MOD1=1時,處于接收模式,可以以1 200 b/s的速率接收數(shù)據(jù),也可以以75 b/s的速率發(fā)送數(shù)據(jù)??上SM7512B沒有一種模式可以以75 b/s接收數(shù)據(jù),因此當機端和單片機端都采用MSM7512B時,無法用全雙工發(fā)送接收數(shù)據(jù)。

18.jpg

然而計算機與單片機之間的數(shù)據(jù)傳輸是雙向的,如果沒有應答確認,通信過程就難以為續(xù)。這就引出了如何用2個MSM7512B以物理層的半雙工實現(xiàn)鏈路層雙向通信的問題。也就是說,一方使用MOD2=0,MOD1=0,另一方使用MOD2=0,MOD1=1,并且這2種模式需要在通信過程中不斷轉(zhuǎn)換。

2模式轉(zhuǎn)換中必須注意的問題

根據(jù)以上提出的設計方案,通過單向的通信測試發(fā)現(xiàn)兩個方向的單工模式都是可行的。但這并不意味著半雙工通信一定可行,當在連接建立后的通信過程中改變調(diào)制解調(diào)器模式從而改變收發(fā)方向時,接收的數(shù)據(jù)就會時而正確時而不正確。顯然,在通信過程中轉(zhuǎn)變模式是一個值得探討的問題。經(jīng)過多次反復的測試和分析,發(fā)現(xiàn)雙機的MSM7512B都處于接收狀態(tài)時,也就是兩者都不發(fā)送數(shù)據(jù)時,一方居然能接收到一些奇怪的數(shù)據(jù)。這說明如果一方已經(jīng)從發(fā)送模式轉(zhuǎn)換為接收模式而另一方還沒來得及轉(zhuǎn)換,通信雙方將同時處于接收狀態(tài)(見圖2),而這時模擬信道上信號為零,其上的噪聲被MSM7512B誤認為是信號加以接收,從而導致一些干擾數(shù)據(jù)的產(chǎn)生進而影響正常通信。

19.jpg

為此需制定新的通信時序,用以保證在通信過程中雙方不可能同時出現(xiàn)在接收狀態(tài),也就是雙方或者都處于發(fā)送狀態(tài),或者一發(fā)一收。圖3表示了這種新的通信時序中PC方發(fā)數(shù)據(jù),單片機方發(fā)應答的情形。其中Td是數(shù)據(jù)傳輸時延,Tc是MSM7512B模式轉(zhuǎn)換時延,T1、T2為避免雙方同時處于接收狀態(tài)而設置的人為延遲。單片機方的保存數(shù)據(jù)僅在接收到正確的幀后操作,而若是在等待接收重傳幀時則不操作,所需時間為Tsave。同樣,PC方的裝載數(shù)據(jù)也是在發(fā)送新幀時操作,而重傳幀時也無需操作,所需時間為Tload。

20.jpg

在正常收發(fā)情況下(無重傳),對單片機而言,一收到來自計算機的數(shù)據(jù),緊接著就改變?yōu)榘l(fā)模式,但改變?yōu)榘l(fā)模式后并不立即發(fā)應答,而要延遲T1時間等待計算機準備好收狀態(tài)再發(fā)應答。單片機發(fā)完應答后也不能立即轉(zhuǎn)換為收模式,而應延遲T2時間保證計算機方在此之前已轉(zhuǎn)移為發(fā)送模式。如果是確認應答,就保存數(shù)據(jù),然后轉(zhuǎn)為收模式,如果是否認應答,直接轉(zhuǎn)為收模式。對計算機端而言,狀態(tài)轉(zhuǎn)移過程類似。即計算機一收到來自單片機的應答立即改變?yōu)榘l(fā)模式,如果是確認應答,裝載下一組數(shù)據(jù),然后延遲T1時間等待單片機準備好接收狀態(tài)再發(fā)數(shù)據(jù)。如果是否認應答,直接延遲T1時間等待單片機準備好接收狀態(tài),然后重發(fā)數(shù)據(jù)。計算機發(fā)完數(shù)據(jù)后也不能立即轉(zhuǎn)換為收模式,而應延遲T2時間保證單片機方在此之前已轉(zhuǎn)移為發(fā)送應答模式。顯然,在鏈路對稱的情況下,假定裝載數(shù)據(jù)和保存數(shù)據(jù)時間相同,應有T1>T2。

那么如何確定T1,T2呢?為了保證在通信過程中雙方不能同時出現(xiàn)在接收狀態(tài)(也就是雙方或者都處于發(fā)送狀態(tài),或者一發(fā)一收),則不難得出如下關系式:

21.jpg

因為Tsave和Tload都與具體的幀長度有關,即與機器速率有關,例如單片機處理數(shù)據(jù)要慢于PC機,因此幀越長,保存數(shù)據(jù)時間就越大于裝載數(shù)據(jù)時間,為保證正確的模式轉(zhuǎn)換,T1隨之增加。所以延時值即T1,T2的取值在數(shù)據(jù)傳輸速率一定時也要依具體的數(shù)據(jù)長度而定。通過實驗得出當幀長度為54字節(jié)時T1,T2的取值為100 ms,50ms比較合理。而幀長度為100字節(jié)時T1,T2的取值為200 ms、100 ms比較合理。針對其他長度的T1,T2的選取可以用試湊法,測試多組數(shù)據(jù)比較選取較好的。選取的原則就是在保證數(shù)據(jù)傳輸可以正常進行的前提下選取較小值。

3傳輸效率

從圖3的時序圖可以看出如下關系:

設幀長度為N1字節(jié),應答長度為N2字節(jié),數(shù)據(jù)傳輸速率為Rb/s。當每字節(jié)10個碼元時,傳輸一段數(shù)據(jù)的總耗時Ts為
Ts≈2T1+2Tc+2Td+[(N1+N2)×10/R]×1 000 (ms)(3)

其中Td與路徑長度和媒介有關,Tc與調(diào)制解調(diào)芯片有關,一般均較小。由于傳輸效率與傳輸時間成反比,因此在N1,N2,R取值一定時,式(3)表明傳輸效率主要由T1決定,即T1選取越小傳輸效率越高。注意到延時T2是為了保證通信過程中,在收方轉(zhuǎn)變?yōu)榘l(fā)送模式之前,發(fā)方仍處于發(fā)送模式,同時也要保證在對方數(shù)據(jù)發(fā)出之前轉(zhuǎn)變?yōu)榻邮漳J?,他的選取只要滿足關系式(1)即可,表面上看與傳輸效率無關,但由于T1受到T2的制約,所以隱含著對T2的要求。由此可見,合理選取模式轉(zhuǎn)換的人為延遲時間T1和T2,是提高傳輸效率的關鍵所在。

采用以上方案,PC機和單片機之間就都可以使用MSM7512B正確地進行遠程數(shù)據(jù)的發(fā)送和接收了。




評論


相關推薦

技術專區(qū)

關閉